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 --- ABOUT-NLS | 1379 + ChangeLog | 39903 ++++++++++++++++++ INSTALL | 5 +- MAINTAINERS | 3 - Makefile | 730 - Makefile.am | 153 + Makefile.in | 8161 ++++ NEWS | 130 + aclocal.m4 | 1248 + app-icons/Makefile.am | 41 + app-icons/Makefile.in | 755 + app-icons/shotwell-source.svg | 5248 --- apport/shotwell.py | 7 - autogen.sh | 37 + build-aux/compile | 347 + build-aux/config.guess | 1441 + build-aux/config.rpath | 684 + build-aux/config.sub | 1813 + build-aux/depcomp | 791 + build-aux/install-sh | 508 + build-aux/ltmain.sh | 11156 +++++ build-aux/missing | 215 + chkver | 119 - common.am | 19 + config.h.in | 98 + configure | 19682 ++++++++- configure.ac | 202 + help/Makefile.am | 24 +- help/Makefile.in | 639 + help/cs/cs.stamp | 0 help/cs/edit-adjustments.page | 49 + help/cs/edit-crop.page | 44 + help/cs/edit-date-time.page | 19 + help/cs/edit-enhance.page | 16 + help/cs/edit-external.page | 31 + help/cs/edit-nondestructive.page | 19 + help/cs/edit-redeye.page | 25 + help/cs/edit-rotate.page | 26 + help/cs/edit-straighten.page | 27 + help/cs/edit-undo.page | 21 + help/cs/formats.page | 27 + help/cs/import-camera.page | 31 + help/cs/import-f-spot.page | 19 + help/cs/import-file.page | 23 + help/cs/import-memorycard.page | 31 + help/cs/index.page | 47 + help/cs/organize-event.page | 53 + help/cs/organize-flag.page | 24 + help/cs/organize-rating.page | 27 + help/cs/organize-remove.page | 42 + help/cs/organize-search.page | 33 + help/cs/organize-tag.page | 41 + help/cs/organize-title.page | 17 + help/cs/other-files.page | 100 + help/cs/other-missing.page | 21 + help/cs/other-multiple.page | 21 + help/cs/other-plugins.page | 18 + help/cs/raw.page | 24 + help/cs/running.page | 23 + help/cs/share-background.page | 17 + help/cs/share-export.page | 32 + help/cs/share-print.page | 18 + help/cs/share-send.page | 16 + help/cs/share-slideshow.page | 22 + help/cs/share-upload.page | 34 + help/cs/view-displaying.page | 26 + help/cs/view-information.page | 17 + help/cs/view-sidebar.page | 34 + help/de/de.po | 406 +- help/de/de.stamp | 0 help/de/edit-adjustments.page | 49 + help/de/edit-crop.page | 45 + help/de/edit-date-time.page | 19 + help/de/edit-enhance.page | 16 + help/de/edit-external.page | 53 + help/de/edit-nondestructive.page | 20 + help/de/edit-redeye.page | 25 + help/de/edit-rotate.page | 26 + help/de/edit-straighten.page | 27 + help/de/edit-undo.page | 21 + help/de/formats.page | 33 + help/de/import-camera.page | 32 + help/de/import-f-spot.page | 20 + help/de/import-file.page | 23 + help/de/import-memorycard.page | 31 + help/de/index.page | 47 + help/de/organize-event.page | 59 + help/de/organize-flag.page | 34 + help/de/organize-rating.page | 28 + help/de/organize-remove.page | 44 + help/de/organize-search.page | 62 + help/de/organize-tag.page | 93 + help/de/organize-title.page | 19 + help/de/other-files.page | 131 + help/de/other-missing.page | 21 + help/de/other-multiple.page | 21 + help/de/other-plugins.page | 27 + help/de/raw.page | 45 + help/de/running.page | 23 + help/de/share-background.page | 21 + help/de/share-export.page | 35 + help/de/share-print.page | 18 + help/de/share-send.page | 16 + help/de/share-slideshow.page | 22 + help/de/share-upload.page | 32 + help/de/view-displaying.page | 26 + help/de/view-information.page | 17 + help/de/view-sidebar.page | 34 + help/el/edit-adjustments.page | 49 + help/el/edit-crop.page | 44 + help/el/edit-date-time.page | 19 + help/el/edit-enhance.page | 16 + help/el/edit-external.page | 31 + help/el/edit-nondestructive.page | 19 + help/el/edit-redeye.page | 25 + help/el/edit-rotate.page | 26 + help/el/edit-straighten.page | 27 + help/el/edit-undo.page | 21 + help/el/el.stamp | 0 help/el/formats.page | 27 + help/el/import-camera.page | 31 + help/el/import-f-spot.page | 19 + help/el/import-file.page | 23 + help/el/import-memorycard.page | 31 + help/el/index.page | 47 + help/el/organize-event.page | 53 + help/el/organize-flag.page | 24 + help/el/organize-rating.page | 27 + help/el/organize-remove.page | 42 + help/el/organize-search.page | 41 + help/el/organize-tag.page | 68 + help/el/organize-title.page | 18 + help/el/other-files.page | 100 + help/el/other-missing.page | 21 + help/el/other-multiple.page | 21 + help/el/other-plugins.page | 18 + help/el/raw.page | 24 + help/el/running.page | 23 + help/el/share-background.page | 21 + help/el/share-export.page | 35 + help/el/share-print.page | 23 + help/el/share-send.page | 16 + help/el/share-slideshow.page | 22 + help/el/share-upload.page | 34 + help/el/view-displaying.page | 26 + help/el/view-information.page | 17 + help/el/view-sidebar.page | 34 + help/es/edit-adjustments.page | 61 + help/es/edit-crop.page | 57 + help/es/edit-date-time.page | 31 + help/es/edit-enhance.page | 28 + help/es/edit-external.page | 61 + help/es/edit-nondestructive.page | 32 + help/es/edit-redeye.page | 37 + help/es/edit-rotate.page | 38 + help/es/edit-straighten.page | 39 + help/es/edit-undo.page | 33 + help/es/es.po | 3899 +- help/es/es.stamp | 0 help/es/formats.page | 45 + help/es/import-camera.page | 43 + help/es/import-f-spot.page | 33 + help/es/import-file.page | 35 + help/es/import-memorycard.page | 43 + help/es/index.page | 59 + help/es/organize-event.page | 71 + help/es/organize-flag.page | 46 + help/es/organize-rating.page | 40 + help/es/organize-remove.page | 54 + help/es/organize-search.page | 69 + help/es/organize-tag.page | 80 + help/es/organize-title.page | 31 + help/es/other-files.page | 114 + help/es/other-missing.page | 33 + help/es/other-multiple.page | 33 + help/es/other-plugins.page | 33 + help/es/raw.page | 57 + help/es/running.page | 39 + help/es/share-background.page | 33 + help/es/share-export.page | 47 + help/es/share-print.page | 35 + help/es/share-send.page | 28 + help/es/share-slideshow.page | 34 + help/es/share-upload.page | 46 + help/es/view-displaying.page | 38 + help/es/view-information.page | 29 + help/es/view-sidebar.page | 46 + help/hu/edit-adjustments.page | 49 + help/hu/edit-crop.page | 45 + help/hu/edit-date-time.page | 19 + help/hu/edit-enhance.page | 16 + help/hu/edit-external.page | 53 + help/hu/edit-nondestructive.page | 20 + help/hu/edit-redeye.page | 25 + help/hu/edit-rotate.page | 26 + help/hu/edit-straighten.page | 27 + help/hu/edit-undo.page | 21 + help/hu/formats.page | 33 + help/hu/hu.stamp | 0 help/hu/import-camera.page | 32 + help/hu/import-f-spot.page | 21 + help/hu/import-file.page | 23 + help/hu/import-memorycard.page | 31 + help/hu/index.page | 47 + help/hu/organize-event.page | 59 + help/hu/organize-flag.page | 34 + help/hu/organize-rating.page | 28 + help/hu/organize-remove.page | 44 + help/hu/organize-search.page | 41 + help/hu/organize-tag.page | 68 + help/hu/organize-title.page | 18 + help/hu/other-files.page | 112 + help/hu/other-missing.page | 21 + help/hu/other-multiple.page | 21 + help/hu/other-plugins.page | 27 + help/hu/raw.page | 45 + help/hu/running.page | 27 + help/hu/share-background.page | 21 + help/hu/share-export.page | 35 + help/hu/share-print.page | 23 + help/hu/share-send.page | 16 + help/hu/share-slideshow.page | 22 + help/hu/share-upload.page | 34 + help/hu/view-displaying.page | 26 + help/hu/view-information.page | 17 + help/hu/view-sidebar.page | 34 + help/pt_BR/edit-adjustments.page | 55 + help/pt_BR/edit-crop.page | 50 + help/pt_BR/edit-date-time.page | 25 + help/pt_BR/edit-enhance.page | 22 + help/pt_BR/edit-external.page | 32 + help/pt_BR/edit-nondestructive.page | 25 + help/pt_BR/edit-redeye.page | 31 + help/pt_BR/edit-rotate.page | 32 + help/pt_BR/edit-straighten.page | 33 + help/pt_BR/edit-undo.page | 27 + help/pt_BR/formats.page | 33 + help/pt_BR/import-camera.page | 37 + help/pt_BR/import-f-spot.page | 25 + help/pt_BR/import-file.page | 29 + help/pt_BR/import-memorycard.page | 37 + help/pt_BR/index.page | 53 + help/pt_BR/organize-event.page | 59 + help/pt_BR/organize-flag.page | 30 + help/pt_BR/organize-rating.page | 33 + help/pt_BR/organize-remove.page | 48 + help/pt_BR/organize-search.page | 39 + help/pt_BR/organize-tag.page | 47 + help/pt_BR/organize-title.page | 23 + help/pt_BR/other-files.page | 106 + help/pt_BR/other-missing.page | 27 + help/pt_BR/other-multiple.page | 27 + help/pt_BR/other-plugins.page | 24 + help/pt_BR/pt_BR.po | 4750 ++- help/pt_BR/pt_BR.stamp | 0 help/pt_BR/raw.page | 30 + help/pt_BR/running.page | 29 + help/pt_BR/share-background.page | 23 + help/pt_BR/share-export.page | 38 + help/pt_BR/share-print.page | 24 + help/pt_BR/share-send.page | 22 + help/pt_BR/share-slideshow.page | 28 + help/pt_BR/share-upload.page | 38 + help/pt_BR/view-displaying.page | 32 + help/pt_BR/view-information.page | 23 + help/pt_BR/view-sidebar.page | 40 + help/shotwell.1 | 62 + help/sv/edit-adjustments.page | 49 + help/sv/edit-crop.page | 44 + help/sv/edit-date-time.page | 19 + help/sv/edit-enhance.page | 16 + help/sv/edit-external.page | 31 + help/sv/edit-nondestructive.page | 19 + help/sv/edit-redeye.page | 25 + help/sv/edit-rotate.page | 26 + help/sv/edit-straighten.page | 27 + help/sv/edit-undo.page | 21 + help/sv/formats.page | 27 + help/sv/import-camera.page | 31 + help/sv/import-f-spot.page | 19 + help/sv/import-file.page | 23 + help/sv/import-memorycard.page | 31 + help/sv/index.page | 47 + help/sv/organize-event.page | 53 + help/sv/organize-flag.page | 24 + help/sv/organize-rating.page | 27 + help/sv/organize-remove.page | 42 + help/sv/organize-search.page | 41 + help/sv/organize-tag.page | 68 + help/sv/organize-title.page | 18 + help/sv/other-files.page | 100 + help/sv/other-missing.page | 21 + help/sv/other-multiple.page | 21 + help/sv/other-plugins.page | 18 + help/sv/raw.page | 24 + help/sv/running.page | 23 + help/sv/share-background.page | 21 + help/sv/share-export.page | 35 + help/sv/share-print.page | 23 + help/sv/share-send.page | 16 + help/sv/share-slideshow.page | 22 + help/sv/share-upload.page | 34 + help/sv/sv.stamp | 0 help/sv/view-displaying.page | 26 + help/sv/view-information.page | 17 + help/sv/view-sidebar.page | 34 + icons/Makefile.am | 54 + icons/Makefile.in | 614 + icons/faces-tool.png | Bin 0 -> 6626 bytes icons/many-faces.png | Bin 0 -> 764 bytes icons/one-face.png | Bin 0 -> 546 bytes icons/shotwell-16.png | Bin 0 -> 884 bytes icons/shotwell.png | Bin 0 -> 884 bytes import.am | 54 + m4/appdata-xml.m4 | 90 + m4/ax_check_enable_debug.m4 | 124 + m4/ax_generate_changelog.m4 | 99 + m4/ax_is_release.m4 | 69 + m4/ax_require_defined.m4 | 37 + m4/gettext.m4 | 420 + m4/gsettings.m4 | 83 + m4/iconv.m4 | 271 + m4/intlmacosx.m4 | 56 + m4/lib-ld.m4 | 119 + m4/lib-link.m4 | 777 + m4/lib-prefix.m4 | 224 + m4/libtool.m4 | 8388 ++++ m4/ltoptions.m4 | 437 + m4/ltsugar.m4 | 124 + m4/ltversion.m4 | 23 + m4/lt~obsolete.m4 | 99 + m4/nls.m4 | 32 + m4/pkg.m4 | 214 + m4/po.m4 | 453 + m4/progtest.m4 | 91 + m4/yelp.m4 | 219 + misc/Makefile.am | 32 + misc/Makefile.in | 592 + misc/org.yorba.shotwell-extras.gschema.xml | 2 +- misc/org.yorba.shotwell.gschema.xml | 10 +- misc/shotwell-viewer.desktop.head | 14 - misc/shotwell-viewer.desktop.in.in | 15 + misc/shotwell.appdata.xml | 34 - misc/shotwell.appdata.xml.in | 60 + misc/shotwell.convert | 105 - misc/shotwell.desktop.head | 15 - misc/shotwell.desktop.in.in | 17 + plugins/Makefile | 33 - plugins/Makefile.plugin.mk | 80 - plugins/common/Makefile | 20 - plugins/common/RESTSupport.c | 9226 ++++ plugins/common/RESTSupport.vala | 3 + plugins/common/Resources.c | 417 + plugins/common/Resources.vala | 22 +- plugins/plugins.mk | 40 - plugins/shotwell-data-imports/FSpotDatabase.c | 555 + .../shotwell-data-imports/FSpotDatabaseBehavior.c | 2085 + plugins/shotwell-data-imports/FSpotDatabaseTable.c | 992 + plugins/shotwell-data-imports/FSpotImporter.c | 5345 +++ plugins/shotwell-data-imports/FSpotImporter.vala | 8 +- plugins/shotwell-data-imports/FSpotMetaTable.c | 1461 + plugins/shotwell-data-imports/FSpotMetaTable.vala | 2 +- .../shotwell-data-imports/FSpotPhotoTagsTable.c | 524 + .../shotwell-data-imports/FSpotPhotoTagsTable.vala | 2 +- .../FSpotPhotoVersionsTable.c | 2440 ++ .../FSpotPhotoVersionsTable.vala | 2 +- plugins/shotwell-data-imports/FSpotPhotosTable.c | 3295 ++ .../shotwell-data-imports/FSpotPhotosTable.vala | 2 +- plugins/shotwell-data-imports/FSpotRollsTable.c | 995 + plugins/shotwell-data-imports/FSpotRollsTable.vala | 4 +- plugins/shotwell-data-imports/FSpotTableBehavior.c | 102 + plugins/shotwell-data-imports/FSpotTagsTable.c | 1169 + plugins/shotwell-data-imports/FSpotTagsTable.vala | 12 +- plugins/shotwell-data-imports/Makefile | 32 - plugins/shotwell-data-imports/SqliteSupport.c | 644 + plugins/shotwell-data-imports/VersionNumber.c | 1053 + .../org.gnome.Shotwell.Imports.gresource.xml | 6 + .../shotwell-data-imports/shotwell-data-imports.c | 356 + plugins/shotwell-plugin-common.h | 382 + plugins/shotwell-plugin-common.vapi | 139 + plugins/shotwell-plugin-dev-1.0.h | 900 + plugins/shotwell-plugin-dev-1.0.vapi | 401 + .../shotwell-publishing-extras/GalleryConnector.c | 13000 ++++++ .../GalleryConnector.vala | 20 +- plugins/shotwell-publishing-extras/Makefile | 34 - .../shotwell-publishing-extras/RajcePublishing.c | 11473 +++++ .../RajcePublishing.vala | 11 +- .../shotwell-publishing-extras/TumblrPublishing.c | 8413 ++++ .../TumblrPublishing.vala | 16 +- .../shotwell-publishing-extras/YandexPublishing.c | 5224 +++ .../YandexPublishing.vala | 5 +- .../gallery3_authentication_pane.glade | 245 - .../gallery3_authentication_pane.ui | 245 + .../gallery3_publishing_options_pane.glade | 282 - .../gallery3_publishing_options_pane.ui | 282 + ....gnome.Shotwell.Publishing.Extras.gresource.xml | 15 + .../rajce_authentication_pane.glade | 150 - .../rajce_authentication_pane.ui | 150 + .../rajce_publishing_options_pane.glade | 275 - .../rajce_publishing_options_pane.ui | 275 + .../shotwell-publishing-extras.c | 504 + .../tumblr_authentication_pane.glade | 132 - .../tumblr_authentication_pane.ui | 132 + .../tumblr_publishing_options_pane.glade | 167 - .../tumblr_publishing_options_pane.ui | 167 + .../yandex_publish_model.glade | 175 - .../yandex_publish_model.ui | 175 + plugins/shotwell-publishing/FacebookPublishing.c | 11997 ++++++ .../shotwell-publishing/FacebookPublishing.vala | 8 +- plugins/shotwell-publishing/FlickrPublishing.c | 10304 +++++ plugins/shotwell-publishing/FlickrPublishing.vala | 15 +- plugins/shotwell-publishing/Makefile | 37 - plugins/shotwell-publishing/PicasaPublishing.c | 7773 ++++ plugins/shotwell-publishing/PicasaPublishing.vala | 8 +- plugins/shotwell-publishing/PiwigoPublishing.c | 11929 ++++++ plugins/shotwell-publishing/PiwigoPublishing.vala | 17 +- plugins/shotwell-publishing/YouTubePublishing.c | 4475 ++ plugins/shotwell-publishing/YouTubePublishing.vala | 7 +- .../facebook_publishing_options_pane.glade | 243 - .../facebook_publishing_options_pane.ui | 243 + .../flickr_pin_entry_pane.glade | 101 - .../shotwell-publishing/flickr_pin_entry_pane.ui | 101 + .../flickr_publishing_options_pane.glade | 183 - .../flickr_publishing_options_pane.ui | 183 + .../org.gnome.Shotwell.Publishing.gresource.xml | 17 + .../picasa_publishing_options_pane.glade | 263 - .../picasa_publishing_options_pane.ui | 263 + .../piwigo_authentication_pane.glade | 175 - .../piwigo_authentication_pane.ui | 175 + .../piwigo_publishing_options_pane.glade | 314 - .../piwigo_publishing_options_pane.ui | 314 + plugins/shotwell-publishing/shotwell-publishing.c | 524 + .../youtube_publishing_options_pane.glade | 137 - .../youtube_publishing_options_pane.ui | 137 + plugins/shotwell-transitions/BlindsEffect.c | 828 + plugins/shotwell-transitions/ChessEffect.c | 769 + plugins/shotwell-transitions/CircleEffect.c | 524 + plugins/shotwell-transitions/CirclesEffect.c | 658 + plugins/shotwell-transitions/ClockEffect.c | 638 + plugins/shotwell-transitions/CrumbleEffect.c | 857 + plugins/shotwell-transitions/FadeEffect.c | 493 + plugins/shotwell-transitions/Makefile | 25 - plugins/shotwell-transitions/SlideEffect.c | 614 + plugins/shotwell-transitions/SquaresEffect.c | 704 + plugins/shotwell-transitions/StripesEffect.c | 713 + .../org.gnome.Shotwell.Transitions.gresource.xml | 6 + .../shotwell-transitions/shotwell-transitions.c | 1086 + .../shotwell-transitions/shotwell-transitions.vala | 3 +- ..._common_libshotwell_plugin_common_la_vala.stamp | 1 + ...ata_imports_shotwell_data_imports_la_vala.stamp | 1 + ...extras_shotwell_publishing_extras_la_vala.stamp | 1 + ...ll_publishing_shotwell_publishing_la_vala.stamp | 1 + ..._transitions_shotwell_transitions_la_vala.stamp | 1 + po/Makefile.in.in | 483 + po/Makevars | 78 + po/POTFILES.in | 188 +- po/POTFILES.skip | 0 po/Rules-quot | 58 + po/af.gmo | Bin 0 -> 18594 bytes po/af.po | 2 +- po/ar.gmo | Bin 0 -> 108398 bytes po/as.gmo | Bin 0 -> 127065 bytes po/ast.gmo | Bin 0 -> 40889 bytes po/ast.po | 1 - po/bg.gmo | Bin 0 -> 48084 bytes po/bg.po | 1 - po/bn.gmo | Bin 0 -> 4278 bytes po/bn.po | 1 - po/bn_IN.gmo | Bin 0 -> 43469 bytes po/bn_IN.po | 1 - po/boldquot.sed | 10 + po/bs.gmo | Bin 0 -> 88711 bytes po/ca.gmo | Bin 0 -> 85440 bytes po/ca.po | 5143 ++- po/cs.gmo | Bin 0 -> 92120 bytes po/da.gmo | Bin 0 -> 77388 bytes po/de.gmo | Bin 0 -> 122907 bytes po/de.po | 7541 ++-- po/el.gmo | Bin 0 -> 122080 bytes po/en@boldquot.header | 25 + po/en@quot.header | 22 + po/en_GB.gmo | Bin 0 -> 71983 bytes po/en_GB.po | 1 - po/eo.gmo | Bin 0 -> 1273 bytes po/es.gmo | Bin 0 -> 113804 bytes po/es.po | 7434 ++-- po/et.gmo | Bin 0 -> 75056 bytes po/et.po | 1 - po/eu.gmo | Bin 0 -> 86155 bytes po/fi.gmo | Bin 0 -> 78756 bytes po/fr.gmo | Bin 0 -> 92059 bytes po/gd.gmo | Bin 0 -> 102510 bytes po/gl.gmo | Bin 0 -> 81757 bytes po/gu.gmo | Bin 0 -> 123122 bytes po/gu.po | 5 +- po/he.gmo | Bin 0 -> 129335 bytes po/he.po | 7611 ++-- po/hi.gmo | Bin 0 -> 112192 bytes po/hi.po | 1 - po/hr.gmo | Bin 0 -> 54126 bytes po/hr.po | 1 - po/hu.gmo | Bin 0 -> 91078 bytes po/ia.gmo | Bin 0 -> 964 bytes po/id.gmo | Bin 0 -> 89624 bytes po/id.po | 7606 ++-- po/insert-header.sin | 23 + po/it.gmo | Bin 0 -> 76686 bytes po/it.po | 1 - po/ja.gmo | Bin 0 -> 90993 bytes po/kk.gmo | Bin 0 -> 103855 bytes po/km.gmo | Bin 0 -> 1445 bytes po/kn.gmo | Bin 0 -> 122235 bytes po/ko.gmo | Bin 0 -> 88905 bytes po/ky.gmo | Bin 0 -> 3575 bytes po/lt.gmo | Bin 0 -> 92257 bytes po/lv.gmo | Bin 0 -> 76985 bytes po/lv.po | 1 - po/mk.gmo | Bin 0 -> 66429 bytes po/mk.po | 1 - po/ml.gmo | Bin 0 -> 143208 bytes po/ml.po | 1 - po/mr.gmo | Bin 0 -> 120078 bytes po/mr.po | 1 - po/nb.gmo | Bin 0 -> 83803 bytes po/nl.gmo | Bin 0 -> 81791 bytes po/nn.gmo | Bin 0 -> 9612 bytes po/nn.po | 3 +- po/oc.gmo | Bin 0 -> 84521 bytes po/or.gmo | Bin 0 -> 125044 bytes po/or.po | 1 - po/pa.gmo | Bin 0 -> 114346 bytes po/pa.po | 1 - po/pl.gmo | Bin 0 -> 128293 bytes po/pl.po | 7871 ++-- po/pt.gmo | Bin 0 -> 94558 bytes po/pt.po | 7309 ++-- po/pt_BR.gmo | Bin 0 -> 122243 bytes po/pt_BR.po | 7891 ++-- po/quot.sed | 6 + po/remove-potcdate.sin | 19 + po/ro.gmo | Bin 0 -> 93672 bytes po/ru.gmo | Bin 0 -> 118871 bytes po/ru.po | 1002 +- po/shotwell.pot | 5939 +++ po/sk.gmo | Bin 0 -> 99849 bytes po/sk.po | 7814 ++-- po/sl.gmo | Bin 0 -> 82115 bytes po/sl.po | 1 - po/sr.gmo | Bin 0 -> 124686 bytes po/sr@latin.gmo | Bin 0 -> 94280 bytes po/sr@latin.po | 2 +- po/stamp-po | 1 + po/sv.gmo | Bin 0 -> 86754 bytes po/ta.gmo | Bin 0 -> 148654 bytes po/te.gmo | Bin 0 -> 124390 bytes po/th.gmo | Bin 0 -> 60803 bytes po/th.po | 1 - po/tr.gmo | Bin 0 -> 84211 bytes po/uk.gmo | Bin 0 -> 117430 bytes po/vi.gmo | Bin 0 -> 88378 bytes po/zh_CN.gmo | Bin 0 -> 74954 bytes po/zh_HK.gmo | Bin 0 -> 75294 bytes po/zh_HK.po | 2 +- po/zh_TW.gmo | Bin 0 -> 79419 bytes publish-extra.am | 55 + publish.am | 57 + shotwell-plugin-dev-1.0.m4 | 11 - shotwell.am | 215 + shotwell_vala.stamp | 1 + 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 + src_plugins_libplugin_la_vala.stamp | 1 + thumbnailer.am | 10 + thumbnailer/shotwell-video-thumbnailer.c | 784 + thumbnailer_shotwell_video_thumbnailer_vala.stamp | 1 + transition.am | 50 + ui/Makefile.am | 29 + ui/Makefile.in | 588 + ui/events_directory.ui | 1 + ui/import.ui | 1 + ui/media.ui | 1 + ui/offline.ui | 1 + ui/photo.ui | 1 + ui/set_background_dialog.glade | 120 - ui/set_background_dialog.ui | 120 + ui/set_background_slideshow_dialog.glade | 175 - ui/set_background_slideshow_dialog.ui | 175 + ui/shotwell.glade | 1645 - ui/shotwell.ui | 1645 + ui/trash.ui | 1 + unitize.mk | 29 - units.mk | 35 - vapi/libraw.vapi | 2 +- 858 files changed, 950147 insertions(+), 45322 deletions(-) create mode 100644 ABOUT-NLS create mode 100644 ChangeLog delete mode 100644 MAINTAINERS delete mode 100644 Makefile create mode 100644 Makefile.am create mode 100644 Makefile.in create mode 100644 aclocal.m4 create mode 100644 app-icons/Makefile.am create mode 100644 app-icons/Makefile.in delete mode 100644 app-icons/shotwell-source.svg delete mode 100644 apport/shotwell.py create mode 100755 autogen.sh create mode 100755 build-aux/compile create mode 100755 build-aux/config.guess create mode 100755 build-aux/config.rpath create mode 100755 build-aux/config.sub create mode 100755 build-aux/depcomp create mode 100755 build-aux/install-sh create mode 100644 build-aux/ltmain.sh create mode 100755 build-aux/missing delete mode 100755 chkver create mode 100644 common.am create mode 100644 config.h.in create mode 100644 configure.ac create mode 100644 help/Makefile.in create mode 100644 help/cs/cs.stamp create mode 100644 help/cs/edit-adjustments.page create mode 100644 help/cs/edit-crop.page create mode 100644 help/cs/edit-date-time.page create mode 100644 help/cs/edit-enhance.page create mode 100644 help/cs/edit-external.page create mode 100644 help/cs/edit-nondestructive.page create mode 100644 help/cs/edit-redeye.page create mode 100644 help/cs/edit-rotate.page create mode 100644 help/cs/edit-straighten.page create mode 100644 help/cs/edit-undo.page create mode 100644 help/cs/formats.page create mode 100644 help/cs/import-camera.page create mode 100644 help/cs/import-f-spot.page create mode 100644 help/cs/import-file.page create mode 100644 help/cs/import-memorycard.page create mode 100644 help/cs/index.page create mode 100644 help/cs/organize-event.page create mode 100644 help/cs/organize-flag.page create mode 100644 help/cs/organize-rating.page create mode 100644 help/cs/organize-remove.page create mode 100644 help/cs/organize-search.page create mode 100644 help/cs/organize-tag.page create mode 100644 help/cs/organize-title.page create mode 100644 help/cs/other-files.page create mode 100644 help/cs/other-missing.page create mode 100644 help/cs/other-multiple.page create mode 100644 help/cs/other-plugins.page create mode 100644 help/cs/raw.page create mode 100644 help/cs/running.page create mode 100644 help/cs/share-background.page create mode 100644 help/cs/share-export.page create mode 100644 help/cs/share-print.page create mode 100644 help/cs/share-send.page create mode 100644 help/cs/share-slideshow.page create mode 100644 help/cs/share-upload.page create mode 100644 help/cs/view-displaying.page create mode 100644 help/cs/view-information.page create mode 100644 help/cs/view-sidebar.page create mode 100644 help/de/de.stamp create mode 100644 help/de/edit-adjustments.page create mode 100644 help/de/edit-crop.page create mode 100644 help/de/edit-date-time.page create mode 100644 help/de/edit-enhance.page create mode 100644 help/de/edit-external.page create mode 100644 help/de/edit-nondestructive.page create mode 100644 help/de/edit-redeye.page create mode 100644 help/de/edit-rotate.page create mode 100644 help/de/edit-straighten.page create mode 100644 help/de/edit-undo.page create mode 100644 help/de/formats.page create mode 100644 help/de/import-camera.page create mode 100644 help/de/import-f-spot.page create mode 100644 help/de/import-file.page create mode 100644 help/de/import-memorycard.page create mode 100644 help/de/index.page create mode 100644 help/de/organize-event.page create mode 100644 help/de/organize-flag.page create mode 100644 help/de/organize-rating.page create mode 100644 help/de/organize-remove.page create mode 100644 help/de/organize-search.page create mode 100644 help/de/organize-tag.page create mode 100644 help/de/organize-title.page create mode 100644 help/de/other-files.page create mode 100644 help/de/other-missing.page create mode 100644 help/de/other-multiple.page create mode 100644 help/de/other-plugins.page create mode 100644 help/de/raw.page create mode 100644 help/de/running.page create mode 100644 help/de/share-background.page create mode 100644 help/de/share-export.page create mode 100644 help/de/share-print.page create mode 100644 help/de/share-send.page create mode 100644 help/de/share-slideshow.page create mode 100644 help/de/share-upload.page create mode 100644 help/de/view-displaying.page create mode 100644 help/de/view-information.page create mode 100644 help/de/view-sidebar.page create mode 100644 help/el/edit-adjustments.page create mode 100644 help/el/edit-crop.page create mode 100644 help/el/edit-date-time.page create mode 100644 help/el/edit-enhance.page create mode 100644 help/el/edit-external.page create mode 100644 help/el/edit-nondestructive.page create mode 100644 help/el/edit-redeye.page create mode 100644 help/el/edit-rotate.page create mode 100644 help/el/edit-straighten.page create mode 100644 help/el/edit-undo.page create mode 100644 help/el/el.stamp create mode 100644 help/el/formats.page create mode 100644 help/el/import-camera.page create mode 100644 help/el/import-f-spot.page create mode 100644 help/el/import-file.page create mode 100644 help/el/import-memorycard.page create mode 100644 help/el/index.page create mode 100644 help/el/organize-event.page create mode 100644 help/el/organize-flag.page create mode 100644 help/el/organize-rating.page create mode 100644 help/el/organize-remove.page create mode 100644 help/el/organize-search.page create mode 100644 help/el/organize-tag.page create mode 100644 help/el/organize-title.page create mode 100644 help/el/other-files.page create mode 100644 help/el/other-missing.page create mode 100644 help/el/other-multiple.page create mode 100644 help/el/other-plugins.page create mode 100644 help/el/raw.page create mode 100644 help/el/running.page create mode 100644 help/el/share-background.page create mode 100644 help/el/share-export.page create mode 100644 help/el/share-print.page create mode 100644 help/el/share-send.page create mode 100644 help/el/share-slideshow.page create mode 100644 help/el/share-upload.page create mode 100644 help/el/view-displaying.page create mode 100644 help/el/view-information.page create mode 100644 help/el/view-sidebar.page create mode 100644 help/es/edit-adjustments.page create mode 100644 help/es/edit-crop.page create mode 100644 help/es/edit-date-time.page create mode 100644 help/es/edit-enhance.page create mode 100644 help/es/edit-external.page create mode 100644 help/es/edit-nondestructive.page create mode 100644 help/es/edit-redeye.page create mode 100644 help/es/edit-rotate.page create mode 100644 help/es/edit-straighten.page create mode 100644 help/es/edit-undo.page create mode 100644 help/es/es.stamp create mode 100644 help/es/formats.page create mode 100644 help/es/import-camera.page create mode 100644 help/es/import-f-spot.page create mode 100644 help/es/import-file.page create mode 100644 help/es/import-memorycard.page create mode 100644 help/es/index.page create mode 100644 help/es/organize-event.page create mode 100644 help/es/organize-flag.page create mode 100644 help/es/organize-rating.page create mode 100644 help/es/organize-remove.page create mode 100644 help/es/organize-search.page create mode 100644 help/es/organize-tag.page create mode 100644 help/es/organize-title.page create mode 100644 help/es/other-files.page create mode 100644 help/es/other-missing.page create mode 100644 help/es/other-multiple.page create mode 100644 help/es/other-plugins.page create mode 100644 help/es/raw.page create mode 100644 help/es/running.page create mode 100644 help/es/share-background.page create mode 100644 help/es/share-export.page create mode 100644 help/es/share-print.page create mode 100644 help/es/share-send.page create mode 100644 help/es/share-slideshow.page create mode 100644 help/es/share-upload.page create mode 100644 help/es/view-displaying.page create mode 100644 help/es/view-information.page create mode 100644 help/es/view-sidebar.page create mode 100644 help/hu/edit-adjustments.page create mode 100644 help/hu/edit-crop.page create mode 100644 help/hu/edit-date-time.page create mode 100644 help/hu/edit-enhance.page create mode 100644 help/hu/edit-external.page create mode 100644 help/hu/edit-nondestructive.page create mode 100644 help/hu/edit-redeye.page create mode 100644 help/hu/edit-rotate.page create mode 100644 help/hu/edit-straighten.page create mode 100644 help/hu/edit-undo.page create mode 100644 help/hu/formats.page create mode 100644 help/hu/hu.stamp create mode 100644 help/hu/import-camera.page create mode 100644 help/hu/import-f-spot.page create mode 100644 help/hu/import-file.page create mode 100644 help/hu/import-memorycard.page create mode 100644 help/hu/index.page create mode 100644 help/hu/organize-event.page create mode 100644 help/hu/organize-flag.page create mode 100644 help/hu/organize-rating.page create mode 100644 help/hu/organize-remove.page create mode 100644 help/hu/organize-search.page create mode 100644 help/hu/organize-tag.page create mode 100644 help/hu/organize-title.page create mode 100644 help/hu/other-files.page create mode 100644 help/hu/other-missing.page create mode 100644 help/hu/other-multiple.page create mode 100644 help/hu/other-plugins.page create mode 100644 help/hu/raw.page create mode 100644 help/hu/running.page create mode 100644 help/hu/share-background.page create mode 100644 help/hu/share-export.page create mode 100644 help/hu/share-print.page create mode 100644 help/hu/share-send.page create mode 100644 help/hu/share-slideshow.page create mode 100644 help/hu/share-upload.page create mode 100644 help/hu/view-displaying.page create mode 100644 help/hu/view-information.page create mode 100644 help/hu/view-sidebar.page create mode 100644 help/pt_BR/edit-adjustments.page create mode 100644 help/pt_BR/edit-crop.page create mode 100644 help/pt_BR/edit-date-time.page create mode 100644 help/pt_BR/edit-enhance.page create mode 100644 help/pt_BR/edit-external.page create mode 100644 help/pt_BR/edit-nondestructive.page create mode 100644 help/pt_BR/edit-redeye.page create mode 100644 help/pt_BR/edit-rotate.page create mode 100644 help/pt_BR/edit-straighten.page create mode 100644 help/pt_BR/edit-undo.page create mode 100644 help/pt_BR/formats.page create mode 100644 help/pt_BR/import-camera.page create mode 100644 help/pt_BR/import-f-spot.page create mode 100644 help/pt_BR/import-file.page create mode 100644 help/pt_BR/import-memorycard.page create mode 100644 help/pt_BR/index.page create mode 100644 help/pt_BR/organize-event.page create mode 100644 help/pt_BR/organize-flag.page create mode 100644 help/pt_BR/organize-rating.page create mode 100644 help/pt_BR/organize-remove.page create mode 100644 help/pt_BR/organize-search.page create mode 100644 help/pt_BR/organize-tag.page create mode 100644 help/pt_BR/organize-title.page create mode 100644 help/pt_BR/other-files.page create mode 100644 help/pt_BR/other-missing.page create mode 100644 help/pt_BR/other-multiple.page create mode 100644 help/pt_BR/other-plugins.page create mode 100644 help/pt_BR/pt_BR.stamp create mode 100644 help/pt_BR/raw.page create mode 100644 help/pt_BR/running.page create mode 100644 help/pt_BR/share-background.page create mode 100644 help/pt_BR/share-export.page create mode 100644 help/pt_BR/share-print.page create mode 100644 help/pt_BR/share-send.page create mode 100644 help/pt_BR/share-slideshow.page create mode 100644 help/pt_BR/share-upload.page create mode 100644 help/pt_BR/view-displaying.page create mode 100644 help/pt_BR/view-information.page create mode 100644 help/pt_BR/view-sidebar.page create mode 100644 help/shotwell.1 create mode 100644 help/sv/edit-adjustments.page create mode 100644 help/sv/edit-crop.page create mode 100644 help/sv/edit-date-time.page create mode 100644 help/sv/edit-enhance.page create mode 100644 help/sv/edit-external.page create mode 100644 help/sv/edit-nondestructive.page create mode 100644 help/sv/edit-redeye.page create mode 100644 help/sv/edit-rotate.page create mode 100644 help/sv/edit-straighten.page create mode 100644 help/sv/edit-undo.page create mode 100644 help/sv/formats.page create mode 100644 help/sv/import-camera.page create mode 100644 help/sv/import-f-spot.page create mode 100644 help/sv/import-file.page create mode 100644 help/sv/import-memorycard.page create mode 100644 help/sv/index.page create mode 100644 help/sv/organize-event.page create mode 100644 help/sv/organize-flag.page create mode 100644 help/sv/organize-rating.page create mode 100644 help/sv/organize-remove.page create mode 100644 help/sv/organize-search.page create mode 100644 help/sv/organize-tag.page create mode 100644 help/sv/organize-title.page create mode 100644 help/sv/other-files.page create mode 100644 help/sv/other-missing.page create mode 100644 help/sv/other-multiple.page create mode 100644 help/sv/other-plugins.page create mode 100644 help/sv/raw.page create mode 100644 help/sv/running.page create mode 100644 help/sv/share-background.page create mode 100644 help/sv/share-export.page create mode 100644 help/sv/share-print.page create mode 100644 help/sv/share-send.page create mode 100644 help/sv/share-slideshow.page create mode 100644 help/sv/share-upload.page create mode 100644 help/sv/sv.stamp create mode 100644 help/sv/view-displaying.page create mode 100644 help/sv/view-information.page create mode 100644 help/sv/view-sidebar.page create mode 100644 icons/Makefile.am create mode 100644 icons/Makefile.in create mode 100644 icons/faces-tool.png create mode 100644 icons/many-faces.png create mode 100644 icons/one-face.png create mode 100644 icons/shotwell-16.png create mode 100644 icons/shotwell.png create mode 100644 import.am create mode 100644 m4/appdata-xml.m4 create mode 100644 m4/ax_check_enable_debug.m4 create mode 100644 m4/ax_generate_changelog.m4 create mode 100644 m4/ax_is_release.m4 create mode 100644 m4/ax_require_defined.m4 create mode 100644 m4/gettext.m4 create mode 100644 m4/gsettings.m4 create mode 100644 m4/iconv.m4 create mode 100644 m4/intlmacosx.m4 create mode 100644 m4/lib-ld.m4 create mode 100644 m4/lib-link.m4 create mode 100644 m4/lib-prefix.m4 create mode 100644 m4/libtool.m4 create mode 100644 m4/ltoptions.m4 create mode 100644 m4/ltsugar.m4 create mode 100644 m4/ltversion.m4 create mode 100644 m4/lt~obsolete.m4 create mode 100644 m4/nls.m4 create mode 100644 m4/pkg.m4 create mode 100644 m4/po.m4 create mode 100644 m4/progtest.m4 create mode 100644 m4/yelp.m4 create mode 100644 misc/Makefile.am create mode 100644 misc/Makefile.in delete mode 100644 misc/shotwell-viewer.desktop.head create mode 100644 misc/shotwell-viewer.desktop.in.in delete mode 100644 misc/shotwell.appdata.xml create mode 100644 misc/shotwell.appdata.xml.in delete mode 100644 misc/shotwell.convert delete mode 100644 misc/shotwell.desktop.head create mode 100644 misc/shotwell.desktop.in.in delete mode 100644 plugins/Makefile delete mode 100644 plugins/Makefile.plugin.mk delete mode 100644 plugins/common/Makefile create mode 100644 plugins/common/RESTSupport.c create mode 100644 plugins/common/Resources.c delete mode 100644 plugins/plugins.mk create mode 100644 plugins/shotwell-data-imports/FSpotDatabase.c create mode 100644 plugins/shotwell-data-imports/FSpotDatabaseBehavior.c create mode 100644 plugins/shotwell-data-imports/FSpotDatabaseTable.c create mode 100644 plugins/shotwell-data-imports/FSpotImporter.c create mode 100644 plugins/shotwell-data-imports/FSpotMetaTable.c create mode 100644 plugins/shotwell-data-imports/FSpotPhotoTagsTable.c create mode 100644 plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c create mode 100644 plugins/shotwell-data-imports/FSpotPhotosTable.c create mode 100644 plugins/shotwell-data-imports/FSpotRollsTable.c create mode 100644 plugins/shotwell-data-imports/FSpotTableBehavior.c create mode 100644 plugins/shotwell-data-imports/FSpotTagsTable.c delete mode 100644 plugins/shotwell-data-imports/Makefile create mode 100644 plugins/shotwell-data-imports/SqliteSupport.c create mode 100644 plugins/shotwell-data-imports/VersionNumber.c create mode 100644 plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml create mode 100644 plugins/shotwell-data-imports/shotwell-data-imports.c create mode 100644 plugins/shotwell-plugin-common.h create mode 100644 plugins/shotwell-plugin-common.vapi create mode 100644 plugins/shotwell-plugin-dev-1.0.h create mode 100644 plugins/shotwell-plugin-dev-1.0.vapi create mode 100644 plugins/shotwell-publishing-extras/GalleryConnector.c delete mode 100644 plugins/shotwell-publishing-extras/Makefile create mode 100644 plugins/shotwell-publishing-extras/RajcePublishing.c create mode 100644 plugins/shotwell-publishing-extras/TumblrPublishing.c create mode 100644 plugins/shotwell-publishing-extras/YandexPublishing.c delete mode 100644 plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade create mode 100644 plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui delete mode 100644 plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui create mode 100644 plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml delete mode 100644 plugins/shotwell-publishing-extras/rajce_authentication_pane.glade create mode 100644 plugins/shotwell-publishing-extras/rajce_authentication_pane.ui delete mode 100644 plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui create mode 100644 plugins/shotwell-publishing-extras/shotwell-publishing-extras.c delete mode 100644 plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade create mode 100644 plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui delete mode 100644 plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui delete mode 100644 plugins/shotwell-publishing-extras/yandex_publish_model.glade create mode 100644 plugins/shotwell-publishing-extras/yandex_publish_model.ui create mode 100644 plugins/shotwell-publishing/FacebookPublishing.c create mode 100644 plugins/shotwell-publishing/FlickrPublishing.c delete mode 100644 plugins/shotwell-publishing/Makefile create mode 100644 plugins/shotwell-publishing/PicasaPublishing.c create mode 100644 plugins/shotwell-publishing/PiwigoPublishing.c create mode 100644 plugins/shotwell-publishing/YouTubePublishing.c delete mode 100644 plugins/shotwell-publishing/facebook_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing/facebook_publishing_options_pane.ui delete mode 100644 plugins/shotwell-publishing/flickr_pin_entry_pane.glade create mode 100644 plugins/shotwell-publishing/flickr_pin_entry_pane.ui delete mode 100644 plugins/shotwell-publishing/flickr_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing/flickr_publishing_options_pane.ui create mode 100644 plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml delete mode 100644 plugins/shotwell-publishing/picasa_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing/picasa_publishing_options_pane.ui delete mode 100644 plugins/shotwell-publishing/piwigo_authentication_pane.glade create mode 100644 plugins/shotwell-publishing/piwigo_authentication_pane.ui delete mode 100644 plugins/shotwell-publishing/piwigo_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing/piwigo_publishing_options_pane.ui create mode 100644 plugins/shotwell-publishing/shotwell-publishing.c delete mode 100644 plugins/shotwell-publishing/youtube_publishing_options_pane.glade create mode 100644 plugins/shotwell-publishing/youtube_publishing_options_pane.ui create mode 100644 plugins/shotwell-transitions/BlindsEffect.c create mode 100644 plugins/shotwell-transitions/ChessEffect.c create mode 100644 plugins/shotwell-transitions/CircleEffect.c create mode 100644 plugins/shotwell-transitions/CirclesEffect.c create mode 100644 plugins/shotwell-transitions/ClockEffect.c create mode 100644 plugins/shotwell-transitions/CrumbleEffect.c create mode 100644 plugins/shotwell-transitions/FadeEffect.c delete mode 100644 plugins/shotwell-transitions/Makefile create mode 100644 plugins/shotwell-transitions/SlideEffect.c create mode 100644 plugins/shotwell-transitions/SquaresEffect.c create mode 100644 plugins/shotwell-transitions/StripesEffect.c create mode 100644 plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml create mode 100644 plugins/shotwell-transitions/shotwell-transitions.c create mode 100644 plugins_common_libshotwell_plugin_common_la_vala.stamp create mode 100644 plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp create mode 100644 plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp create mode 100644 plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp create mode 100644 plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp create mode 100644 po/Makefile.in.in create mode 100644 po/Makevars delete mode 100644 po/POTFILES.skip create mode 100644 po/Rules-quot create mode 100644 po/af.gmo create mode 100644 po/ar.gmo create mode 100644 po/as.gmo create mode 100644 po/ast.gmo create mode 100644 po/bg.gmo create mode 100644 po/bn.gmo create mode 100644 po/bn_IN.gmo create mode 100644 po/boldquot.sed create mode 100644 po/bs.gmo create mode 100644 po/ca.gmo create mode 100644 po/cs.gmo create mode 100644 po/da.gmo create mode 100644 po/de.gmo create mode 100644 po/el.gmo create mode 100644 po/en@boldquot.header create mode 100644 po/en@quot.header create mode 100644 po/en_GB.gmo create mode 100644 po/eo.gmo create mode 100644 po/es.gmo create mode 100644 po/et.gmo create mode 100644 po/eu.gmo create mode 100644 po/fi.gmo create mode 100644 po/fr.gmo create mode 100644 po/gd.gmo create mode 100644 po/gl.gmo create mode 100644 po/gu.gmo create mode 100644 po/he.gmo create mode 100644 po/hi.gmo create mode 100644 po/hr.gmo create mode 100644 po/hu.gmo create mode 100644 po/ia.gmo create mode 100644 po/id.gmo create mode 100644 po/insert-header.sin create mode 100644 po/it.gmo create mode 100644 po/ja.gmo create mode 100644 po/kk.gmo create mode 100644 po/km.gmo create mode 100644 po/kn.gmo create mode 100644 po/ko.gmo create mode 100644 po/ky.gmo create mode 100644 po/lt.gmo create mode 100644 po/lv.gmo create mode 100644 po/mk.gmo create mode 100644 po/ml.gmo create mode 100644 po/mr.gmo create mode 100644 po/nb.gmo create mode 100644 po/nl.gmo create mode 100644 po/nn.gmo create mode 100644 po/oc.gmo create mode 100644 po/or.gmo create mode 100644 po/pa.gmo create mode 100644 po/pl.gmo create mode 100644 po/pt.gmo create mode 100644 po/pt_BR.gmo create mode 100644 po/quot.sed create mode 100644 po/remove-potcdate.sin create mode 100644 po/ro.gmo create mode 100644 po/ru.gmo create mode 100644 po/shotwell.pot create mode 100644 po/sk.gmo create mode 100644 po/sl.gmo create mode 100644 po/sr.gmo create mode 100644 po/sr@latin.gmo create mode 100644 po/stamp-po create mode 100644 po/sv.gmo create mode 100644 po/ta.gmo create mode 100644 po/te.gmo create mode 100644 po/th.gmo create mode 100644 po/tr.gmo create mode 100644 po/uk.gmo create mode 100644 po/vi.gmo create mode 100644 po/zh_CN.gmo create mode 100644 po/zh_HK.gmo create mode 100644 po/zh_TW.gmo create mode 100644 publish-extra.am create mode 100644 publish.am delete mode 100644 shotwell-plugin-dev-1.0.m4 create mode 100644 shotwell.am create mode 100644 shotwell_vala.stamp 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 create mode 100644 src_plugins_libplugin_la_vala.stamp create mode 100644 thumbnailer.am create mode 100644 thumbnailer/shotwell-video-thumbnailer.c create mode 100644 thumbnailer_shotwell_video_thumbnailer_vala.stamp create mode 100644 transition.am create mode 100644 ui/Makefile.am create mode 100644 ui/Makefile.in delete mode 100644 ui/set_background_dialog.glade create mode 100644 ui/set_background_dialog.ui delete mode 100644 ui/set_background_slideshow_dialog.glade create mode 100644 ui/set_background_slideshow_dialog.ui delete mode 100644 ui/shotwell.glade create mode 100644 ui/shotwell.ui delete mode 100644 unitize.mk delete mode 100644 units.mk diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 0000000..1551426 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,1379 @@ +1 Notes on the Free Translation Project +*************************************** + +Free software is going international! The Free Translation Project is a +way to get maintainers of free software, translators, and users all +together, so that free software will gradually become able to speak many +languages. A few packages already provide translations for their +messages. + + If you found this 'ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU 'gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU 'gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work on translations can contact the appropriate team. + +1.1 INSTALL Matters +=================== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU 'gettext'. Other packages have their own ways to +internationalization, predating GNU 'gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU 'gettext' functions. Installers may use special +options at configuration time for changing the default behaviour. The +command: + + ./configure --disable-nls + +will _totally_ disable translation of messages. + + When you already have GNU 'gettext' installed on your system and run +configure without an option for your new package, 'configure' will +probably detect the previously built and installed 'libintl' library and +will decide to use it. If not, you may have to to use the +'--with-libintl-prefix' option to tell 'configure' where to look for it. + + Internationalized packages usually have many 'po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at 'configure' time by using the +'--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable 'LINGUAS' +may be set, prior to configuration, to limit the installed set. +'LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +1.2 Using This Package +====================== + +As a user, if your language has been installed for this package, you +only have to set the 'LANG' environment variable to the appropriate +'LL_CC' combination. If you happen to have the 'LC_ALL' or some other +'LC_xxx' environment variables set, you should unset them before setting +'LANG', otherwise the setting of 'LANG' will not have the desired +effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is +an ISO 3166 two-letter country code. For example, let's suppose that +you speak German and live in Germany. At the shell prompt, merely +execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in +'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your +'.login' or '.profile' file, once and for all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of 'LL_CC', with 'LL' denoting the +language and 'CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are used, +such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales +supported by your system for your language by running the command +'locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' +for the purpose of message handling, but you still need to have 'LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather read +translations in German than English for when Swedish is not available, +set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from 'no' to 'nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under 'nb' and some older ones under 'no', it's recommended +for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and +older translations are used. + + In the 'LANGUAGE' environment variable, but not in the 'LANG' +environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to +denote the language's main dialect. For example, 'de' is equivalent to +'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese +as spoken in Portugal) in this context. + +1.3 Translating Teams +===================== + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +'http://translationproject.org/', in the "Teams" area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +'-request' appended. For example, speakers of Swedish can send a +message to 'sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate _actively_ +in translations, or at solving translational difficulties, rather than +merely lurking around. If your team does not exist yet and you want to +start one, or if you are unsure about what to do or how to get started, +please write to 'coordinator@translationproject.org' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. + +1.4 Available Packages +====================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of Jun 2014. +The matrix shows, in regard of each package, for which languages PO +files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs + +---------------------------------------------------+ + a2ps | [] [] [] | + aegis | | + anubis | | + aspell | [] [] [] | + bash | [] [] [] | + bfd | | + binutils | [] | + bison | | + bison-runtime | [] | + buzztrax | [] | + ccd2cue | | + ccide | | + cflow | | + clisp | | + coreutils | [] [] | + cpio | | + cppi | | + cpplib | [] | + cryptsetup | [] | + datamash | | + denemo | [] [] | + dfarc | [] | + dialog | [] [] [] | + dico | | + diffutils | [] | + dink | [] | + direvent | | + doodle | [] | + dos2unix | | + dos2unix-man | | + e2fsprogs | [] [] | + enscript | [] | + exif | [] | + fetchmail | [] [] | + findutils | [] | + flex | [] | + freedink | [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | [] | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] [] | + gjay | | + glunarclock | [] [] [] | + gnubiff | [] | + gnubik | [] | + gnucash | () () [] | + gnuchess | | + gnulib | [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] | + gprof | [] | + gramadoir | | + grep | [] [] [] | + grub | [] | + gsasl | | + gss | | + gst-plugins-bad | [] | + gst-plugins-base | [] [] [] | + gst-plugins-good | [] [] [] | + gst-plugins-ugly | [] [] [] | + gstreamer | [] [] [] [] | + gtick | [] | + gtkam | [] [] | + gtkspell | [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] | + hello | [] | + help2man | | + help2man-texi | | + hylafax | | + idutils | | + iso_15924 | [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + iso_639_5 | | + jwhois | | + kbd | [] | + klavaro | [] [] [] [] [] | + latrine | | + ld | [] | + leafpad | [] [] [] [] | + libc | [] [] [] | + libexif | () | + libextractor | | + libgnutls | [] | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | | + libiconv | [] [] | + libidn | [] | + liferea | [] [] [] [] | + lilypond | [] [] | + lordsawar | [] | + lprng | | + lynx | [] [] | + m4 | [] | + mailfromd | | + mailutils | | + make | [] | + man-db | [] [] | + man-db-manpages | | + midi-instruments | [] [] [] | + minicom | [] | + mkisofs | [] | + myserver | [] | + nano | [] [] [] | + opcodes | | + parted | [] | + pies | | + popt | [] | + procps-ng | | + procps-ng-man | | + psmisc | [] | + pspp | [] | + pushover | [] | + pwdutils | | + pyspread | | + radius | [] | + recode | [] [] [] | + recutils | | + rpm | | + rush | | + sarg | | + sed | [] [] [] | + sharutils | [] | + shishi | | + skribilo | | + solfege | [] | + solfege-manual | | + spotmachine | | + sudo | [] [] | + sudoers | [] [] | + sysstat | [] | + tar | [] [] [] | + texinfo | [] [] | + texinfo_document | [] | + tigervnc | [] | + tin | | + tin-man | | + tracgoogleappsa... | | + trader | | + util-linux | [] | + ve | | + vice | | + vmm | | + vorbis-tools | [] | + wastesedge | | + wcd | | + wcd-man | | + wdiff | [] [] | + wget | [] | + wyslij-po | | + xboard | | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +---------------------------------------------------+ + af am an ar as ast az be bg bn bn_IN bs ca crh cs + 4 0 2 5 3 11 0 8 23 3 3 1 54 4 73 + + da de el en en_GB en_ZA eo es et eu fa fi fr + +--------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] [] | + aegis | [] [] [] [] | + anubis | [] [] [] [] [] | + aspell | [] [] [] [] [] [] [] | + bash | [] [] [] | + bfd | [] [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] [] [] [] [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | [] [] [] [] | + ccd2cue | [] [] [] | + ccide | [] [] [] [] [] [] | + cflow | [] [] [] [] [] | + clisp | [] [] [] [] [] | + coreutils | [] [] [] [] [] | + cpio | [] [] [] [] [] | + cppi | [] [] [] [] [] | + cpplib | [] [] [] [] [] [] | + cryptsetup | [] [] [] [] [] | + datamash | [] [] [] [] | + denemo | [] | + dfarc | [] [] [] [] [] [] | + dialog | [] [] [] [] [] [] [] [] [] | + dico | [] [] [] [] | + diffutils | [] [] [] [] [] [] | + dink | [] [] [] [] [] [] | + direvent | [] [] [] [] | + doodle | [] [] [] [] | + dos2unix | [] [] [] [] [] | + dos2unix-man | [] [] [] | + e2fsprogs | [] [] [] [] [] | + enscript | [] [] [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] () [] [] [] [] [] | + findutils | [] [] [] [] [] [] [] [] | + flex | [] [] [] [] [] [] | + freedink | [] [] [] [] [] [] [] [] | + fusionforge | [] [] [] | + gas | [] [] [] | + gawk | [] [] [] [] [] | + gcal | [] [] [] [] | + gcc | [] [] | + gdbm | [] [] [] [] [] | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] | + gjay | [] [] [] [] | + glunarclock | [] [] [] [] [] | + gnubiff | () [] [] () | + gnubik | [] [] [] [] [] | + gnucash | [] () () () () () () | + gnuchess | [] [] [] [] | + gnulib | [] [] [] [] [] [] [] | + gnunet | [] | + gnunet-gtk | [] | + gold | [] [] [] | + gphoto2 | [] () [] [] | + gprof | [] [] [] [] [] [] | + gramadoir | [] [] [] [] [] | + grep | [] [] [] [] [] [] [] | + grub | [] [] [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | [] () [] [] [] | + gtkam | [] () [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] | + guix | [] [] | + guix-packages | | + gutenprint | [] [] [] [] | + hello | [] [] [] [] [] [] [] [] | + help2man | [] [] [] [] [] [] [] | + help2man-texi | [] [] [] | + hylafax | [] [] | + idutils | [] [] [] [] [] | + iso_15924 | [] () [] [] () [] () | + iso_3166 | [] () [] [] [] [] () [] () | + iso_3166_2 | [] () () () | + iso_4217 | [] () [] [] [] () [] () | + iso_639 | [] () [] [] () [] () | + iso_639_3 | () () () | + iso_639_5 | () () () | + jwhois | [] [] [] [] [] | + kbd | [] [] [] [] [] [] | + klavaro | [] [] [] [] [] [] [] | + latrine | [] () [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] [] () [] [] | + libextractor | [] | + libgnutls | [] [] [] [] | + libgphoto2 | [] () [] | + libgphoto2_port | [] () [] [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] [] [] | + libidn | [] [] [] [] [] | + liferea | [] () [] [] [] [] [] | + lilypond | [] [] [] [] [] [] | + lordsawar | [] [] | + lprng | | + lynx | [] [] [] [] [] [] | + m4 | [] [] [] [] [] [] | + mailfromd | [] | + mailutils | [] [] [] [] | + make | [] [] [] [] [] | + man-db | [] [] [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] [] [] [] | + minicom | [] [] [] [] [] | + mkisofs | [] [] [] | + myserver | [] [] [] [] | + nano | [] [] [] [] [] [] [] | + opcodes | [] [] [] [] [] | + parted | [] [] [] | + pies | [] | + popt | [] [] [] [] [] [] | + procps-ng | [] [] | + procps-ng-man | [] [] | + psmisc | [] [] [] [] [] [] [] | + pspp | [] [] [] | + pushover | () [] [] [] | + pwdutils | [] [] [] | + pyspread | [] [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] | + recutils | [] [] [] [] | + rpm | [] [] [] [] [] | + rush | [] [] [] | + sarg | [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] [] [] | + skribilo | [] [] | + solfege | [] [] [] [] [] [] [] [] | + solfege-manual | [] [] [] [] [] | + spotmachine | [] [] [] [] | + sudo | [] [] [] [] [] [] | + sudoers | [] [] [] [] [] [] | + sysstat | [] [] [] [] [] [] | + tar | [] [] [] [] [] [] [] | + texinfo | [] [] [] [] [] | + texinfo_document | [] [] [] [] | + tigervnc | [] [] [] [] [] [] | + tin | [] [] [] [] | + tin-man | [] | + tracgoogleappsa... | [] [] [] [] [] | + trader | [] [] [] [] [] [] | + util-linux | [] [] [] [] | + ve | [] [] [] [] [] | + vice | () () () | + vmm | [] [] | + vorbis-tools | [] [] [] [] | + wastesedge | [] () | + wcd | [] [] [] [] | + wcd-man | [] | + wdiff | [] [] [] [] [] [] [] | + wget | [] [] [] [] [] [] | + wyslij-po | [] [] [] [] | + xboard | [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] [] | + +--------------------------------------------------+ + da de el en en_GB en_ZA eo es et eu fa fi fr + 120 130 32 1 6 0 94 95 22 13 4 103 136 + + ga gd gl gu he hi hr hu hy ia id is it ja ka kk + +-------------------------------------------------+ + a2ps | [] [] [] [] | + aegis | [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] | + bfd | [] [] | + binutils | [] [] [] | + bison | [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | | + ccd2cue | [] | + ccide | [] [] | + cflow | [] [] [] | + clisp | | + coreutils | [] [] [] | + cpio | [] [] [] [] [] [] | + cppi | [] [] [] [] [] | + cpplib | [] [] | + cryptsetup | [] | + datamash | | + denemo | [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] | + dink | [] | + direvent | [] | + doodle | [] [] | + dos2unix | [] [] | + dos2unix-man | | + e2fsprogs | [] | + enscript | [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] | + findutils | [] [] [] [] [] [] [] | + flex | [] | + freedink | [] [] [] [] | + fusionforge | | + gas | [] | + gawk | [] () [] | + gcal | | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] | + gettext-tools | [] [] [] | + gjay | [] | + glunarclock | [] [] [] [] [] [] | + gnubiff | [] [] () | + gnubik | [] [] [] | + gnucash | () () () () () [] | + gnuchess | | + gnulib | [] [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] [] | + grep | [] [] [] [] [] [] [] | + grub | [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] | + gst-plugins-base | [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] [] | + hello | [] [] [] [] [] | + help2man | [] [] [] | + help2man-texi | | + hylafax | [] | + idutils | [] [] | + iso_15924 | [] [] [] [] [] [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | [] [] | + iso_4217 | [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + iso_639_5 | | + jwhois | [] [] [] [] | + kbd | [] [] [] | + klavaro | [] [] [] [] [] | + latrine | [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] () | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | | + libgnutls | [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] [] [] | + libidn | [] [] [] [] | + liferea | [] [] [] [] [] | + lilypond | [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | | + mailutils | | + make | [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] [] [] [] | + minicom | [] [] [] | + mkisofs | [] [] | + myserver | [] | + nano | [] [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] | + pies | | + popt | [] [] [] [] [] [] [] [] [] [] | + procps-ng | | + procps-ng-man | | + psmisc | [] [] [] [] | + pspp | [] [] | + pushover | [] | + pwdutils | [] | + pyspread | | + radius | [] | + recode | [] [] [] [] [] [] [] | + recutils | | + rpm | [] | + rush | [] | + sarg | | + sed | [] [] [] [] [] [] [] | + sharutils | | + shishi | | + skribilo | [] | + solfege | [] [] | + solfege-manual | | + spotmachine | | + sudo | [] [] [] [] | + sudoers | [] [] [] | + sysstat | [] [] [] | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] [] | + tigervnc | | + tin | | + tin-man | | + tracgoogleappsa... | [] [] [] [] | + trader | [] [] | + util-linux | [] | + ve | [] | + vice | () () | + vmm | | + vorbis-tools | [] [] | + wastesedge | () | + wcd | | + wcd-man | | + wdiff | [] [] [] | + wget | [] [] [] | + wyslij-po | [] [] [] | + xboard | | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] | + +-------------------------------------------------+ + ga gd gl gu he hi hr hu hy ia id is it ja ka kk + 35 2 47 4 8 2 53 69 2 6 80 11 86 58 0 3 + + kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl + +--------------------------------------------------+ + a2ps | [] [] | + aegis | [] | + anubis | [] [] [] | + aspell | [] [] | + bash | [] [] | + bfd | | + binutils | | + bison | [] | + bison-runtime | [] [] [] [] [] [] | + buzztrax | | + ccd2cue | | + ccide | [] [] | + cflow | [] | + clisp | [] | + coreutils | [] [] | + cpio | [] | + cppi | | + cpplib | [] | + cryptsetup | [] | + datamash | [] [] | + denemo | | + dfarc | [] [] | + dialog | [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] | + dink | [] | + direvent | [] | + doodle | [] | + dos2unix | [] [] | + dos2unix-man | [] | + e2fsprogs | [] | + enscript | [] | + exif | [] [] | + fetchmail | [] | + findutils | [] [] | + flex | [] | + freedink | [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] [] | + gettext-runtime | [] [] | + gettext-tools | [] | + gjay | | + glunarclock | [] [] | + gnubiff | [] | + gnubik | [] [] | + gnucash | () () () () () () () [] | + gnuchess | [] [] | + gnulib | [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] | + gprof | [] [] | + gramadoir | [] | + grep | [] [] | + grub | [] [] [] | + gsasl | [] | + gss | | + gst-plugins-bad | [] [] | + gst-plugins-base | [] [] [] | + gst-plugins-good | [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | [] [] | + gtick | [] | + gtkam | [] [] | + gtkspell | [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] | + hello | [] [] [] | + help2man | [] | + help2man-texi | | + hylafax | [] | + idutils | [] | + iso_15924 | () [] [] | + iso_3166 | [] [] [] () [] [] [] [] [] [] | + iso_3166_2 | () [] | + iso_4217 | () [] [] [] | + iso_639 | [] [] () [] [] [] [] | + iso_639_3 | [] () [] | + iso_639_5 | () | + jwhois | [] [] | + kbd | [] | + klavaro | [] [] | + latrine | | + ld | | + leafpad | [] [] [] [] [] | + libc | [] [] | + libexif | [] | + libextractor | [] | + libgnutls | [] [] | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | [] | + libiconv | [] [] | + libidn | [] | + liferea | [] [] [] | + lilypond | [] | + lordsawar | | + lprng | | + lynx | [] | + m4 | [] | + mailfromd | | + mailutils | | + make | [] [] | + man-db | [] | + man-db-manpages | [] | + midi-instruments | [] [] [] [] [] [] [] | + minicom | [] | + mkisofs | [] | + myserver | | + nano | [] [] [] | + opcodes | [] | + parted | [] | + pies | | + popt | [] [] [] [] [] | + procps-ng | | + procps-ng-man | | + psmisc | [] | + pspp | [] [] | + pushover | | + pwdutils | [] | + pyspread | | + radius | [] | + recode | [] [] | + recutils | [] | + rpm | [] | + rush | [] | + sarg | | + sed | [] [] | + sharutils | [] | + shishi | | + skribilo | | + solfege | [] [] | + solfege-manual | [] | + spotmachine | [] | + sudo | [] [] | + sudoers | [] [] | + sysstat | [] [] | + tar | [] [] [] | + texinfo | [] | + texinfo_document | [] | + tigervnc | [] | + tin | | + tin-man | | + tracgoogleappsa... | [] [] [] | + trader | [] | + util-linux | [] | + ve | [] | + vice | [] | + vmm | [] | + vorbis-tools | [] | + wastesedge | [] | + wcd | [] | + wcd-man | [] | + wdiff | [] | + wget | [] [] | + wyslij-po | [] | + xboard | [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +--------------------------------------------------+ + kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl + 5 11 4 6 0 13 22 3 3 3 4 11 2 40 1 124 + + nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr + +--------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] | + aegis | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] [] [] [] | + bash | [] [] [] [] [] | + bfd | [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | | + ccd2cue | [] | + ccide | [] [] [] | + cflow | [] [] | + clisp | [] | + coreutils | [] [] [] [] | + cpio | [] [] [] | + cppi | [] [] [] | + cpplib | [] [] [] | + cryptsetup | [] [] | + datamash | [] [] | + denemo | | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] | + dico | [] | + diffutils | [] [] | + dink | | + direvent | [] [] | + doodle | [] [] | + dos2unix | [] [] [] [] | + dos2unix-man | [] [] | + e2fsprogs | [] | + enscript | [] [] [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] [] | + freedink | [] [] [] [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | | + gcc | | + gdbm | [] [] [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] [] | + gjay | [] | + glunarclock | [] [] [] [] [] [] | + gnubiff | [] | + gnubik | [] [] [] [] | + gnucash | () () () () [] | + gnuchess | [] [] | + gnulib | [] [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] | + grep | [] [] [] [] [] [] | + grub | [] [] [] [] [] | + gsasl | [] [] [] | + gss | [] [] [] [] | + gst-plugins-bad | [] [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] | + hello | [] [] [] [] [] [] | + help2man | [] [] [] [] | + help2man-texi | [] | + hylafax | | + idutils | [] [] [] | + iso_15924 | [] () [] [] [] [] | + iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | + iso_3166_2 | [] () [] | + iso_4217 | [] [] () [] [] [] [] [] | + iso_639 | [] [] [] () [] [] [] [] [] [] | + iso_639_3 | [] () | + iso_639_5 | () [] | + jwhois | [] [] [] [] | + kbd | [] [] | + klavaro | [] [] [] [] [] | + latrine | [] | + ld | | + leafpad | [] [] [] [] [] [] [] [] [] | + libc | [] [] [] | + libexif | [] () [] | + libextractor | [] | + libgnutls | [] | + libgphoto2 | [] | + libgphoto2_port | [] [] [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] [] | + liferea | [] [] [] [] () [] [] | + lilypond | | + lordsawar | | + lprng | [] | + lynx | [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] | + make | [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] [] | + midi-instruments | [] [] [] [] [] [] [] [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | [] [] | + nano | [] [] [] [] [] [] | + opcodes | | + parted | [] [] [] [] [] [] | + pies | [] | + popt | [] [] [] [] [] [] | + procps-ng | [] | + procps-ng-man | [] | + psmisc | [] [] [] [] | + pspp | [] [] | + pushover | | + pwdutils | [] | + pyspread | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + recutils | [] | + rpm | [] | + rush | [] [] [] | + sarg | [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] | + shishi | [] [] | + skribilo | | + solfege | [] [] [] | + solfege-manual | [] [] | + spotmachine | [] [] | + sudo | [] [] [] [] [] [] | + sudoers | [] [] [] [] | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] [] | + tigervnc | [] | + tin | [] | + tin-man | | + tracgoogleappsa... | [] [] [] [] | + trader | [] | + util-linux | [] [] | + ve | [] [] [] | + vice | | + vmm | | + vorbis-tools | [] [] [] | + wastesedge | | + wcd | | + wcd-man | | + wdiff | [] [] [] [] [] | + wget | [] [] [] [] | + wyslij-po | [] [] [] [] | + xboard | [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + +--------------------------------------------------+ + nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr + 7 3 1 6 114 1 12 83 32 80 3 38 45 7 94 + + sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK + +---------------------------------------------------+ + a2ps | [] [] [] [] [] | + aegis | [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] | + binutils | [] [] [] | + bison | [] [] [] [] | + bison-runtime | [] [] [] [] [] [] | + buzztrax | [] [] [] | + ccd2cue | [] [] [] | + ccide | [] [] [] [] | + cflow | [] [] [] [] | + clisp | | + coreutils | [] [] [] [] | + cpio | [] [] [] [] [] | + cppi | [] [] [] [] | + cpplib | [] [] [] [] [] | + cryptsetup | [] [] [] | + datamash | [] [] [] | + denemo | | + dfarc | [] | + dialog | [] [] [] [] [] [] | + dico | [] | + diffutils | [] [] [] [] [] | + dink | | + direvent | [] [] | + doodle | [] [] | + dos2unix | [] [] [] [] | + dos2unix-man | [] [] [] | + e2fsprogs | [] [] [] [] | + enscript | [] [] [] [] | + exif | [] [] [] [] [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] | + freedink | [] [] | + fusionforge | | + gas | [] | + gawk | [] [] | + gcal | [] [] | + gcc | [] [] | + gdbm | [] [] | + gettext-examples | [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] | + gjay | [] [] | + glunarclock | [] [] [] [] | + gnubiff | [] [] | + gnubik | [] [] [] [] | + gnucash | () () () () [] | + gnuchess | [] [] | + gnulib | [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] [] | + grep | [] [] [] [] [] | + grub | [] [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] | + gst-plugins-bad | [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] | + guix | [] | + guix-packages | | + gutenprint | [] [] [] [] | + hello | [] [] [] [] [] [] | + help2man | [] [] [] | + help2man-texi | [] | + hylafax | [] | + idutils | [] [] [] | + iso_15924 | [] () [] [] () [] | + iso_3166 | [] [] () [] [] () [] [] [] | + iso_3166_2 | () [] [] () [] | + iso_4217 | [] () [] [] () [] [] | + iso_639 | [] [] [] () [] [] () [] [] [] | + iso_639_3 | [] () [] [] () | + iso_639_5 | () [] () | + jwhois | [] [] [] [] | + kbd | [] [] [] | + klavaro | [] [] [] [] [] [] | + latrine | [] [] | + ld | [] [] [] [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] () | + libextractor | [] [] | + libgnutls | [] [] [] [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | () [] [] [] | + liferea | [] [] [] [] [] | + lilypond | [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] | + m4 | [] [] [] | + mailfromd | [] [] | + mailutils | [] | + make | [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] | + midi-instruments | [] [] [] [] [] [] | + minicom | [] [] | + mkisofs | [] [] [] | + myserver | [] | + nano | [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] [] | + pies | [] [] | + popt | [] [] [] [] [] [] [] | + procps-ng | [] [] | + procps-ng-man | [] | + psmisc | [] [] [] [] | + pspp | [] [] [] | + pushover | [] | + pwdutils | [] [] | + pyspread | [] | + radius | [] [] | + recode | [] [] [] [] | + recutils | [] [] [] | + rpm | [] [] [] [] | + rush | [] [] | + sarg | | + sed | [] [] [] [] [] | + sharutils | [] [] [] | + shishi | [] [] | + skribilo | [] | + solfege | [] [] [] | + solfege-manual | [] | + spotmachine | [] [] [] | + sudo | [] [] [] [] | + sudoers | [] [] [] | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] | + tigervnc | [] [] | + tin | [] | + tin-man | | + tracgoogleappsa... | [] [] [] [] [] | + trader | [] | + util-linux | [] [] [] | + ve | [] [] [] [] | + vice | () () | + vmm | | + vorbis-tools | [] [] | + wastesedge | | + wcd | [] [] [] | + wcd-man | [] | + wdiff | [] [] [] [] | + wget | [] [] [] | + wyslij-po | [] [] | + xboard | [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + +---------------------------------------------------+ + sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK + 91 1 4 3 0 13 50 113 1 126 7 1 95 7 + + zh_TW + +-------+ + a2ps | | 30 + aegis | | 9 + anubis | | 19 + aspell | | 28 + bash | [] | 21 + bfd | | 9 + binutils | | 12 + bison | [] | 18 + bison-runtime | [] | 38 + buzztrax | | 8 + ccd2cue | | 8 + ccide | | 17 + cflow | | 15 + clisp | | 10 + coreutils | | 20 + cpio | | 20 + cppi | | 17 + cpplib | [] | 19 + cryptsetup | | 13 + datamash | | 11 + denemo | | 4 + dfarc | | 16 + dialog | [] | 42 + dico | | 6 + diffutils | | 21 + dink | | 9 + direvent | | 10 + doodle | | 12 + dos2unix | [] | 18 + dos2unix-man | | 9 + e2fsprogs | | 14 + enscript | | 21 + exif | | 26 + fetchmail | | 19 + findutils | | 28 + flex | [] | 19 + freedink | | 23 + fusionforge | | 3 + gas | | 5 + gawk | | 12 + gcal | | 7 + gcc | | 4 + gdbm | | 10 + gettext-examples | [] | 40 + gettext-runtime | [] | 34 + gettext-tools | [] | 24 + gjay | | 8 + glunarclock | [] | 27 + gnubiff | | 9 + gnubik | | 19 + gnucash | () | 7 + gnuchess | | 10 + gnulib | | 23 + gnunet | | 1 + gnunet-gtk | | 1 + gold | | 7 + gphoto2 | [] | 19 + gprof | | 21 + gramadoir | | 14 + grep | [] | 31 + grub | | 21 + gsasl | [] | 19 + gss | | 17 + gst-plugins-bad | | 14 + gst-plugins-base | | 27 + gst-plugins-good | | 32 + gst-plugins-ugly | | 34 + gstreamer | [] | 31 + gtick | | 19 + gtkam | | 24 + gtkspell | [] | 48 + guix | | 3 + guix-packages | | 0 + gutenprint | | 15 + hello | [] | 30 + help2man | | 18 + help2man-texi | | 5 + hylafax | | 5 + idutils | | 14 + iso_15924 | [] | 23 + iso_3166 | [] | 58 + iso_3166_2 | | 9 + iso_4217 | [] | 28 + iso_639 | [] | 46 + iso_639_3 | | 10 + iso_639_5 | | 2 + jwhois | [] | 20 + kbd | | 16 + klavaro | | 30 + latrine | | 7 + ld | [] | 15 + leafpad | [] | 40 + libc | [] | 24 + libexif | | 9 + libextractor | | 5 + libgnutls | | 13 + libgphoto2 | | 9 + libgphoto2_port | [] | 19 + libgsasl | | 18 + libiconv | [] | 29 + libidn | | 17 + liferea | | 29 + lilypond | | 11 + lordsawar | | 3 + lprng | | 3 + lynx | | 19 + m4 | [] | 22 + mailfromd | | 4 + mailutils | | 6 + make | | 19 + man-db | | 14 + man-db-manpages | | 9 + midi-instruments | [] | 43 + minicom | [] | 17 + mkisofs | | 13 + myserver | | 9 + nano | [] | 29 + opcodes | | 12 + parted | [] | 21 + pies | | 4 + popt | [] | 36 + procps-ng | | 5 + procps-ng-man | | 4 + psmisc | [] | 22 + pspp | | 13 + pushover | | 6 + pwdutils | | 8 + pyspread | | 6 + radius | | 9 + recode | | 31 + recutils | | 9 + rpm | [] | 13 + rush | | 10 + sarg | | 4 + sed | [] | 34 + sharutils | | 12 + shishi | | 7 + skribilo | | 4 + solfege | | 19 + solfege-manual | | 9 + spotmachine | | 10 + sudo | | 24 + sudoers | | 20 + sysstat | | 22 + tar | [] | 30 + texinfo | | 17 + texinfo_document | | 11 + tigervnc | | 11 + tin | [] | 7 + tin-man | | 1 + tracgoogleappsa... | [] | 22 + trader | | 11 + util-linux | | 12 + ve | | 14 + vice | | 1 + vmm | | 3 + vorbis-tools | | 13 + wastesedge | | 2 + wcd | | 8 + wcd-man | | 3 + wdiff | [] | 23 + wget | | 19 + wyslij-po | | 14 + xboard | | 9 + xdg-user-dirs | [] | 68 + xkeyboard-config | [] | 27 + +-------+ + 90 teams zh_TW + 166 domains 42 2748 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and distributed +as such by its maintainer. There might be an observable lag between the +mere existence a PO file and its wide availability in a distribution. + + If Jun 2014 seems to be old, you may fetch a more recent copy of this +'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix +with full percentage details can be found at +'http://translationproject.org/extra/matrix.html'. + +1.5 Using 'gettext' in new packages +=================================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU 'gettext' in your +package. Of course you have to respect the GNU Lesser General Public +License which covers the use of the GNU 'gettext' library. This means +in particular that even non-free programs can use 'libintl' as a shared +library, whereas only free software can use 'libintl' as a static +library or use modified versions of 'libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of 'gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +'coordinator@translationproject.org' to make the '.pot' files available +to the translation teams. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..6260c57 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,39903 @@ +commit 1abdf94cb09efcb66b6d9ecfe27533234ce43117 +Author: Jens Georg +Date: Mon Aug 15 20:06:08 2016 +0200 + + Prepare 0.23.5 + + Signed-off-by: Jens Georg + +M NEWS + +commit 1cc6334df12fe3d56b6e10216e6a98c43d3c274e +Author: Jens Georg +Date: Mon Aug 15 20:37:40 2016 +0200 + + Fix make distcheck + + Signed-off-by: Jens Georg + +M Makefile.am +M import.am +M publish-extra.am +M publish.am +M transition.am + +commit 108c52cc14224ff0cd128afca4f85607fab2aa59 +Author: Jens Georg +Date: Mon Aug 15 10:33:13 2016 +0200 + + debian: Bump compat to get libexecdir without pkgname + + Signed-off-by: Jens Georg + +M debian/compat + +commit 2e245bfc0b6e94acf53793bddfeded7573925ccc +Author: Jens Georg +Date: Mon Aug 15 10:32:33 2016 +0200 + + Fix settings migrator and thumbnailer path + + Signed-off-by: Jens Georg + +M src/AppDirs.vala + +commit df59088bb8a4ec62a4c77ca99be51ca05ef6cca0 +Author: Jens Georg +Date: Mon Aug 15 09:24:18 2016 +0200 + + Temporarily drop gettext requirement + + The macro doesn't seem to understand that 1.19.8.1 is newer that + 1.19.8 + + Signed-off-by: Jens Georg + +M configure.ac + +commit 4b5002105dbd398672fbcd0ea3be351b9e0eb77d +Author: Enrico Nicoletto +Date: Sun Aug 14 21:57:23 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 5079bf096992f2120b19664c04ad7a6a010e68e0 +Author: Piotr Drąg +Date: Sun Aug 14 23:47:08 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit b2003e04bab5ab82b7268c33db84496289f07c98 +Author: Yosef Or Boczko +Date: Sun Aug 14 18:18:52 2016 +0300 + + Updated Hebrew translation + +M po/he.po + +commit 5fd7f10a1282306d2efdad48b5a2f417e0a3ea65 +Author: Jens Georg +Date: Sun Aug 14 01:30:01 2016 +0200 + + Re-add --disable-extra-plugins configure option + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac + +commit 50d09d62facee9f38413d47f13d49780fba4b6ce +Author: burningTyger +Date: Fri Aug 5 18:59:25 2016 +0200 + + Update org.yorba.shotwell.gschema.xml + + typo + +M misc/org.yorba.shotwell.gschema.xml + +commit f779defe2b68396876c670dcb8735590a007c329 +Author: Jens Georg +Date: Fri Aug 12 19:01:47 2016 +0200 + + Explicitly link plugins + + Also, drop dependency on librest. Apparently it was only used for + hmac_sha1. + + Signed-off-by: Jens Georg + +M configure.ac +M import.am +M publish-extra.am +M publish.am +M shotwell.am +M transition.am + +commit 4e81e449e2f12022c394ebc5383e06fdd3c1eb4d +Author: Jens Georg +Date: Fri Aug 12 19:01:16 2016 +0200 + + git: Ignore resource.c + + Signed-off-by: Jens Georg + +M Makefile.am + +commit 5ccfd5ddd611a0715e0a682003db35a1cfcbeb30 +Author: Daniel Landau +Date: Fri Jul 22 11:10:54 2016 +0300 + + Add option to filter by saved search + + https://bugzilla.gnome.org/show_bug.cgi?id=717321 + +M src/CollectionPage.vala +M src/SearchFilter.vala +M src/library/FlaggedPage.vala +M src/library/OfflinePage.vala +M src/library/TrashPage.vala +M src/searches/SavedSearchDialog.vala + +commit 932c069ee35dff32d92b0a1ff04273210c77f684 +Author: Jens Georg +Date: Fri Aug 12 12:05:43 2016 +0200 + + SSL: Make it more clear that something failed + + First step of improved SSL communication. Make it more clear that + something + unrecoverably failed with SSL instead of just re-displaying the + auth page. + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=767473 + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M src/plugins/PublishingInterfaces.vala + +commit 644f056255e903d56eff4a152911da86ea164803 +Author: Andreas Brauchli +Date: Thu Aug 11 15:08:10 2016 +0200 + + Implement linked tags + + The tag list underneath the thumbnails is now interactive: + * Hover over a tag to highlight it by underlining the tag text, + unless dragging is active. + * Click a tag to switch to the tag page, as if the was selected in the + sidebar. + + Tag class changes: + * make_tag_string() now demands a sorted list of terminal tags. This + ensures that the sort order is maintained when generating the string + representation of the list. + The new make_user_visible_tag_list() can be used to filter and + sort a Tag + Collection accordingly. + + * Fix a bug in Tag.make_tag_string: + A list of seen tags is kept to not show tags with the same string + representation (but potentially different tag-path) twice. However, + tags were never added to the list, such that it always remained + empty + and new items were thus compared against the empty list. + + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=717523 + +M src/CheckerboardLayout.vala +M src/Page.vala +M src/Tag.vala +M src/Thumbnail.vala + +commit 4e1c2ec3b8bc87f1f40ef3a9550516c16a991f05 +Author: Jens Georg +Date: Fri Jul 15 20:14:33 2016 +0200 + + i18n: Disambiguate start strings of date groups + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=750902 + +M src/Resources.vala + +commit 5b3a91c7379fb4746bf670a2c8c34c1eb049d944 +Author: Mario Blättermann +Date: Wed Aug 10 21:21:13 2016 +0000 + + Updated German translation + +M po/de.po + +commit bfd587a073404a24a0a24902621d0ed80d011497 +Author: Dušan Kazik +Date: Wed Aug 10 12:40:00 2016 +0000 + + Updated Slovak translation + +M po/sk.po + +commit fc1ba4133cefa97d4b0e3183e010ac657f95d948 +Author: Jordi Mas +Date: Mon Aug 8 21:50:14 2016 +0200 + + Update Catalan translation + +M po/ca.po + +commit 1ce610f31435958c72874f110c71f4f40bf2ac2b +Author: Jordi Mas +Date: Sun Aug 7 23:44:04 2016 +0200 + + Update Catalan translation + +M po/ca.po + +commit db933a76ec9badccef24d02144700fea92465650 +Author: Jens Georg +Date: Fri Aug 5 23:35:59 2016 +0200 + + publishing: Remove reference to external hmac_sha1 + + Flicker had another external reference I overlooked. + + Signed-off-by: Jens Georg + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 71ec94aa52e5bccf4e438804f45321e39f284fb1 +Author: Jens Georg +Date: Fri Jul 29 00:22:19 2016 +0200 + + Fix issue with indexes on PhotoTable + + - thumbnail_md5 might actually not be unique for various reasons + - Second index was a duplicate of the first instead of using + thumbnail_md5 + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=742670 + +M src/db/PhotoTable.vala + +commit a44252bc0339bfc0afc0721ba96c34f77c5aadee +Author: Jens Georg +Date: Fri Jul 29 00:14:16 2016 +0200 + + Update INSTALL + + Signed-off-by: Jens Georg + +M INSTALL + +commit 0e2b2d936a9829fdbf0862de3df7915592ddb935 +Author: Jens Georg +Date: Sun Jul 24 21:48:42 2016 +0200 + + Fix invalid warning on index creation + + Signed-off-by: Jens Georg + +M src/db/PhotoTable.vala + +commit dab860338412d9bf7a219d6a2a74cb56bac0b87b +Author: Jens Georg +Date: Sun Jul 24 19:28:58 2016 +0200 + + Update debian packages + + Signed-off-by: Jens Georg + +M debian/changelog +M debian/control +D debian/manpages +M debian/rules +A debian/shotwell.install + +commit f04002baca62d84692bf5b6698a00c0a066522bf +Author: Jens Georg +Date: Sun Jul 24 08:50:07 2016 +0200 + + Minor cosmetic build changes + + Signed-off-by: Jens Georg + +M configure.ac + +commit 320aad4a22527cb74c75d49331fff3e7abfb680d +Author: Rafael Fontenelle +Date: Tue Aug 2 13:35:38 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 1d086dcf064501c088a08fe2ab88d998b8b85aff +Author: Piotr Drąg +Date: Mon Aug 1 05:03:46 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit 5a28246f86e2c86d9a14183593614a81d55d5787 +Author: Piotr Drąg +Date: Mon Jul 25 04:17:31 2016 +0200 + + Add Language headers to po files + + Future versions of gettext will fail if this header is missing. + +M po/af.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/bn_IN.po +M po/en_GB.po +M po/et.po +M po/gu.po +M po/hi.po +M po/hr.po +M po/it.po +M po/lv.po +M po/mk.po +M po/ml.po +M po/mr.po +M po/nn.po +M po/or.po +M po/pa.po +M po/sl.po +M po/sr@latin.po +M po/th.po +M po/zh_HK.po + +commit 767950c196c447d69b47df7a5180d41f3bae0c26 +Author: Jens Georg +Date: Sun Jul 24 08:44:28 2016 +0200 + + Add indexs to PhotoTable + + To speed up duplicate searches. This is the first try on my rather + limited set + of images; if these don't provide a decent speedup, we might need + to create + some covering indexes. + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=742670 + +M src/db/PhotoTable.vala + +commit 2744ffdc377cb7b5b42d67d3e3c469f8b6cac19a +Author: Jens Georg +Date: Sat Jul 23 08:28:44 2016 +0200 + + Use MessageDialog's printf for strings + + Fixes issue where mark-up was shown as-is + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=768360 + +M src/Dialogs.vala + +commit 49f63dacac74571924ffe7f4290b553a6a286a8e +Author: Jens Georg +Date: Fri Jul 22 22:25:38 2016 +0200 + + Require gettext 0.19.8 + + Otherwise we are hit by http://savannah.gnu.org/bugs/?47991 and get + an invalid + string in Keyword line in the .desktop file + + Signed-off-by: Jens Georg + +M configure.ac + +commit 255a39c9e5c9df94bc16f2988ac50f9bc6dd9866 +Author: Jens Georg +Date: Fri Jul 22 22:18:24 2016 +0200 + + Fix .desktop file generation + + Fixes https://bugs.archlinux.org/task/50129 + + Signed-off-by: Jens Georg + +M misc/Makefile.am + +commit 9b5ed5a29086215a5cdf82f38d1145848d7a6c4f +Author: Jens Georg +Date: Fri Jul 22 21:58:07 2016 +0200 + + Offer a way to hide bottom toolbar + + Available in menu like sidebar and with -F9 Shortcut (slightly + following + GNOME Builder there) + + Only for LibarayWindow. Fullscreen and Slideshow offer their own + means of + (auto-)hiding the toolbar already. + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=741962 + +M misc/org.yorba.shotwell.gschema.xml +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/library/LibraryWindow.vala +M ui/events_directory.ui +M ui/import.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui + +commit 83e2e81d8c3f824ff7131ec42ef0dc9d83a9ef8c +Author: Jens Georg +Date: Wed Jul 20 00:41:20 2016 +0200 + + publishing-extra: Load resources from GResource + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=747368 + +M plugins/shotwell-publishing-extras/GalleryConnector.vala +M plugins/shotwell-publishing-extras/RajcePublishing.vala +M plugins/shotwell-publishing-extras/TumblrPublishing.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +A +plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml +M publish-extra.am + +commit 8f86cdaaa86f2d42d1d85f84b71995e93abc5dbc +Author: Jens Georg +Date: Wed Jul 20 00:19:45 2016 +0200 + + publish: Load resources from GResource + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=747368 + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +A +plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml +M publish.am + +commit 23ad562bef8f3b85bb901e5cea78cf389a1695d3 +Author: Jens Georg +Date: Tue Jul 19 23:36:08 2016 +0200 + + import: Load icon from resource + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=747368 + +M import.am +M plugins/shotwell-data-imports/FSpotImporter.vala +A +plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml + +commit 92e38a39ddfcb193af3932db71027cd4e3360b08 +Author: Jens Georg +Date: Tue Jul 19 23:35:43 2016 +0200 + + transitions: Load icon from resource + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=747368 + +M Makefile.am +M configure.ac +M plugins/common/Resources.vala +A +plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml +M plugins/shotwell-transitions/shotwell-transitions.vala +M transition.am + +commit 16dd5b5a82c5139c51de27dbaf5f275d8ebadedb +Author: Jens Georg +Date: Tue Jul 19 23:17:57 2016 +0200 + + Remove obsolete file + + Signed-off-by: Jens Georg + +D help/C/Makefile +D plugins/Makefile +D plugins/common/Makefile +D plugins/shotwell-data-imports/Makefile +D plugins/shotwell-publishing-extras/Makefile +D plugins/shotwell-publishing/Makefile +D plugins/shotwell-transitions/Makefile +D samples/simple-plugin/Makefile +D test/Makefile + +commit 807cb2b45a8eb3b8826cbc93caf67c4d1cca758d +Author: Jens Georg +Date: Wed Jul 20 20:52:39 2016 +0200 + + Post-release version bump + + Signed-off-by: Jens Georg + +M configure.ac + +commit 09e4622b111d7def1a039dab1e69e0063e1e2ac1 +Author: Jens Georg +Date: Wed Jul 20 19:56:05 2016 +0200 + + Prepare 0.23.4 + + Signed-off-by: Jens Georg + +M NEWS + +commit f90efa308c0b8e7c5e241b0eacaa55ecd80f865d +Author: Jens Georg +Date: Wed Jul 20 19:54:35 2016 +0200 + + Link common library against plugin dependencies + + Signed-off-by: Jens Georg + +M Makefile.am + +commit 1803e74f8a90b13aecc2f70114a0bca565304fea +Author: Daniel Mustieles +Date: Wed Jul 20 10:37:36 2016 +0000 + + Updated Spanish translation + +M po/es.po + +commit e5aa53ac37f031ffdd66ebcca1cc548474ae8400 +Author: Daniel Mustieles +Date: Tue Jul 19 11:28:43 2016 +0000 + + Updated Spanish translation + +M po/es.po + +commit 1102a7ec65295605537354bbc607c81c31e8fcb9 +Author: Jens Georg +Date: Mon Jul 18 22:26:44 2016 +0200 + + Post-release version bump + + Signed-off-by: Jens Georg + +M configure.ac + +commit 06ca7688ec221da20f321798b289b8d86bddf8b9 +Author: Jens Georg +Date: Mon Jul 18 21:04:56 2016 +0200 + + Prepare 0.23.3 + + Signed-off-by: Jens Georg + +M Makefile.am +M NEWS + +commit 1a24435b8d23f180d92ca957a86542badb699908 +Author: Jens Georg +Date: Mon Jul 18 19:51:14 2016 +0200 + + Update git.mk use + + Signed-off-by: Jens Georg + +D .gitignore +M Makefile.am +M app-icons/Makefile.am +M help/Makefile.am +M icons/Makefile.am +M misc/Makefile.am +D test/.gitignore +M ui/Makefile.am + +commit 4be27a585842eb7a1c91670c37c08582d2117f10 +Author: Jens Georg +Date: Fri Jul 15 20:11:05 2016 +0200 + + i18n: Extract comments + + Signed-off-by: Jens Georg + +M po/Makevars + +commit 91796a5d914937b967c553cdd819d5aa67312a5b +Author: Piotr Drąg +Date: Fri Jul 15 12:34:31 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit 99898a5cf36689ee499ae0428c4b471fd9ed911a +Author: Rafael Fontenelle +Date: Wed Jul 13 22:15:22 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 6941dff10c6704753b3728b05ffb17a081d48bbf +Author: Jens Georg +Date: Wed Jul 13 21:49:08 2016 +0200 + + page: Make empty filter result message more clear + + Instead of the "No photos/videos found" use "No photos/videos + found which + match the current filter" to make clear that it's because of the + current + filter settings + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=719122 + +M src/Page.vala + +commit 60188949d8446896782f200801fdd7ceeb3ef7b2 +Author: Rafael Fontenelle +Date: Tue Jul 12 16:00:11 2016 +0000 + + Updated Brazilian Portuguese translation + +M help/pt_BR/pt_BR.po + +commit e20f0128680ce2d872821fac0d85525b07b9ced7 +Author: Rafael Fontenelle +Date: Tue Jul 12 15:53:58 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 90d24e0badb68007433e2d29ba7a82315aa42caf +Author: Jens Georg +Date: Sun Jul 10 15:31:47 2016 +0200 + + i18n: Use dpgettext2 for strings marked with NC_ + + Signed-off-by: Jens Georg + +M src/Commands.vala +M src/Dialogs.vala +M src/SearchFilter.vala + +commit 1eb0bda52970a86e751cb1789d1205f350538c65 +Author: Jens Georg +Date: Sun Jul 10 14:47:49 2016 +0200 + + i18n: Add C_ to vala keywords + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=744255 + +M po/Makevars + +commit bd7a1964184dd219c742503f7969bf6f806e39a6 +Author: Jens Georg +Date: Sun Jul 10 14:07:39 2016 +0200 + + build: Fix out-of-tree build + + Signed-off-by: Jens Georg + +M import.am +M publish-extra.am +M publish.am +M shotwell.am +M transition.am + +commit ab1da26c95bb0aafac637b81a1368a5d743dbcbc +Author: Lorenz Adam Damara +Date: Sun Jul 10 08:25:14 2016 +0000 + + Updated Indonesian translation + +M po/id.po + +commit 39677ce320ed4048db77d7ae270d8b37e00c181b +Author: Tiago Santos +Date: Sat Jul 9 05:59:12 2016 +0000 + + Updated Portuguese translation + +M po/pt.po + +commit 417aecadbcb8d0ce0ff34f20d13774f538efe5c0 +Author: Rico Tzschichholz +Date: Fri Jul 8 09:43:47 2016 +0200 + + Fix compile warnings with vala git + +M plugins/shotwell-data-imports/FSpotImporter.vala +M plugins/shotwell-data-imports/FSpotMetaTable.vala +M plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala +M plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +M plugins/shotwell-data-imports/FSpotPhotosTable.vala +M plugins/shotwell-data-imports/FSpotRollsTable.vala +M plugins/shotwell-data-imports/FSpotTagsTable.vala +M plugins/shotwell-publishing-extras/GalleryConnector.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M src/Box.vala +M src/db/Db.vala +M src/plugins/PublishingInterfaces.vala + +commit 8073b6efc597f32c6dd323c38b5d401c7af52da5 +Author: Piotr Drąg +Date: Wed Jul 6 21:32:18 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit cf6e2f1ed0d06d4f6f975963b6817eec67fce1f7 +Author: Jens Georg +Date: Tue Jul 5 19:49:30 2016 +0200 + + Update debian + + Signed-off-by: Jens Georg + +M debian/changelog + +commit 21ef4cbb03d3ebac5f70cf368d80c2d851a91892 +Author: Jens Georg +Date: Mon Jul 4 21:38:11 2016 +0200 + + i18n: Unset XGETTEXT_OPTIONS. Default for Vala is fine + + Signed-off-by: Jens Georg + +M po/Makevars + +commit e2ff74c3403f77164704532dec554a88224f03a5 +Author: Jens Georg +Date: Mon Jul 4 21:15:45 2016 +0200 + + i18n: Fix Builder file extraction + + Signed-off-by: Jens Georg + +M plugins/shotwell-publishing-extras/GalleryConnector.vala +M plugins/shotwell-publishing-extras/RajcePublishing.vala +M plugins/shotwell-publishing-extras/TumblrPublishing.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +R098 +plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade +plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui +R098 +plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade +plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui +R098 plugins/shotwell-publishing-extras/rajce_authentication_pane.glade +plugins/shotwell-publishing-extras/rajce_authentication_pane.ui +R098 +plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade +plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui +R098 +plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade +plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui +R099 +plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade +plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui +R100 plugins/shotwell-publishing-extras/yandex_publish_model.glade +plugins/shotwell-publishing-extras/yandex_publish_model.ui +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +R099 plugins/shotwell-publishing/facebook_publishing_options_pane.glade +plugins/shotwell-publishing/facebook_publishing_options_pane.ui +R100 plugins/shotwell-publishing/flickr_pin_entry_pane.glade +plugins/shotwell-publishing/flickr_pin_entry_pane.ui +R099 plugins/shotwell-publishing/flickr_publishing_options_pane.glade +plugins/shotwell-publishing/flickr_publishing_options_pane.ui +R100 plugins/shotwell-publishing/picasa_publishing_options_pane.glade +plugins/shotwell-publishing/picasa_publishing_options_pane.ui +R099 plugins/shotwell-publishing/piwigo_authentication_pane.glade +plugins/shotwell-publishing/piwigo_authentication_pane.ui +R100 plugins/shotwell-publishing/piwigo_publishing_options_pane.glade +plugins/shotwell-publishing/piwigo_publishing_options_pane.ui +R100 plugins/shotwell-publishing/youtube_publishing_options_pane.glade +plugins/shotwell-publishing/youtube_publishing_options_pane.ui +M po/POTFILES.in +M publish-extra.am +M publish.am +M src/AppWindow.vala +M src/Dialogs.vala +M ui/Makefile.am +R100 ui/set_background_dialog.glade ui/set_background_dialog.ui +R100 ui/set_background_slideshow_dialog.glade +ui/set_background_slideshow_dialog.ui +R100 ui/shotwell.glade ui/shotwell.ui + +commit db02aaf77cf1538e81f4f0ca168517d8eb7e2585 +Author: Jens Georg +Date: Sun Jul 3 19:05:10 2016 +0200 + + build: Don't distribute C files + + Signed-off-by: Jens Georg + +M Makefile.am + +commit 4e60fa58611e9fe9bf280623dca844c003c1e274 +Author: Jens Georg +Date: Sun Jul 3 12:18:19 2016 +0200 + + i18n: Disambiguate "Edit Title" + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=744251 + +M src/Dialogs.vala +M src/Resources.vala + +commit b28a8032780184abedb39ba851d43ce1fe949c69 +Author: Jens Georg +Date: Sun Jul 3 12:03:01 2016 +0200 + + i18n: Remove obsolete string + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=744254 + +M src/Resources.vala + +commit 80eb7957dc86b19f1b977ba810e7cc8a3f57514d +Author: Jens Georg +Date: Sun Jul 3 11:50:30 2016 +0200 + + i18n: Disambiguate string "Add Tags" + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=744255 + +M src/Resources.vala + +commit ed492f7e595e00995e46122ee472790bd7533e8e +Author: Daniel Mustieles +Date: Mon Jul 4 12:39:02 2016 +0000 + + Updated Spanish translation + +M help/es/es.po + +commit 37408a403b01eafdc37636cd70224b53832be83f +Author: Daniel Mustieles +Date: Mon Jul 4 07:20:34 2016 +0000 + + Updated Spanish translation + +M help/es/es.po + +commit a795d48a82d66a806d95292bc23645f1c80ada84 +Author: Piotr Drąg +Date: Mon Jul 4 03:43:23 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit 45c68b8b54ab9ecbd65c6c2cd728b2d1853fb497 +Author: Dušan Kazik +Date: Sun Jul 3 07:37:00 2016 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 4b346a1f0429ac7d2ecf1b791a68b6296ac772d4 +Author: Rafael Fontenelle +Date: Sun Jul 3 07:14:00 2016 +0000 + + Updated Brazilian Portuguese translation + +M help/pt_BR/pt_BR.po + +commit 785cde356782e8621f12fcde590d7742c4cc584a +Author: Rafael Fontenelle +Date: Sun Jul 3 07:11:37 2016 +0000 + + Updated Brazilian Portuguese translation + +M help/pt_BR/pt_BR.po + +commit 66a0f4e8ba3fc31cf74231e9e203ac4af699bd83 +Author: Piotr Drąg +Date: Sat Jul 2 21:03:32 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit 23acea3f088b02e623db66433272101ff1ab5c2d +Author: Jens Georg +Date: Sat Jul 2 07:37:15 2016 +0200 + + Revert "i18n: Remove desktop files from POTFILES.in" + + Apparently, it just works nevertheless. + + https://bugzilla.gnome.org/show_bug.cgi?id=740873 + + This reverts commit 4ceb025a7721f3e31affe692f4cf545dd33d8a40. + +M po/POTFILES.in + +commit 40dbbeafbe528eb4bed8a2255db38ec50a9b5f9d +Author: Jeremy Bicha +Date: Sat Jun 25 21:33:51 2016 -0400 + + Use yelp-tools style help install directories + + https://wiki.gnome.org/Initiatives/GnomeGoals/NewDocumentationInfrastructure + + https://bugzilla.gnome.org/show_bug.cgi?id=719200 + +M src/Dialogs.vala +M src/Resources.vala + +commit 4ceb025a7721f3e31affe692f4cf545dd33d8a40 +Author: Jens Georg +Date: Sat Jul 2 01:22:45 2016 +0200 + + i18n: Remove desktop files from POTFILES.in + + They were missing on purpose as they make xgettext call fail with + weird errors + (https://mail.gnome.org/archives/gnome-i18n/2016-June/msg00063.html) + + Signed-off-by: Jens Georg + +M po/POTFILES.in + +commit 310e538290fa16cab84be46ca6d5737cb4bbcfd6 +Author: Jens Georg +Date: Sat Jul 2 01:20:20 2016 +0200 + + build: Fix parallel build + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=768054 + +M Makefile.am + +commit 72fad07b7a540a5fa51f0d73bd1ecd081d17886e +Author: Piotr Drąg +Date: Sat Jul 2 00:59:28 2016 +0200 + + Add translator comments to .desktop files + +M misc/shotwell-viewer.desktop.in.in +M misc/shotwell.desktop.in.in + +commit 725baf221689da4896726e97cc55b8dfa7002a9b +Author: Piotr Drąg +Date: Sat Jul 2 00:48:04 2016 +0200 + + Updated POTFILES.in and POTFILES.skip + +M po/POTFILES.in +M po/POTFILES.skip + +commit 55119a001758726f0327c41183f7193bf04687b7 +Author: Jens Georg +Date: Sat Jul 2 00:27:13 2016 +0200 + + build: Update version + + https://bugzilla.gnome.org/show_bug.cgi?id=768054 + https://bugzilla.gnome.org/show_bug.cgi?id=717064 + + Signed-off-by: Jens Georg + +M configure.ac + +commit 4895248bce479af8ca40ce9a8a996aca7b35448e +Author: Jens Georg +Date: Sat Jul 2 00:26:51 2016 +0200 + + build: Add unity to configure output + + Signed-off-by: Jens Georg + +M configure.ac + +commit e2b5870567d78aa849bd674dc4f48a29e4d28f93 +Author: Jens Georg +Date: Sat Jul 2 00:26:31 2016 +0200 + + build: Remove check for unused programs + + Signed-off-by: Jens Georg + +M configure.ac + +commit cc25448f4bb449630690e0597b8837a1ab264973 +Author: Jens Georg +Date: Sat Jul 2 00:22:29 2016 +0200 + + build: Always install manpage + + https://bugzilla.gnome.org/show_bug.cgi?id=715578 + + Signed-off-by: Jens Georg + +M help/Makefile.am +R100 debian/shotwell.1 help/shotwell.1 + +commit bab8fdc0c1b5179ac67d8b999e076c3284459bf2 +Author: Jens Georg +Date: Sat Jul 2 00:07:15 2016 +0200 + + build: Remove obsolete Makefiles + + Signed-off-by: Jens Georg + +D plugins/Makefile.plugin.mk +D plugins/plugins.mk +D src/camera/mk/camera.mk +D src/config/mk/config.mk +D src/core/mk/core.mk +D src/data_imports/mk/data_imports.mk +D src/db/mk/db.mk +D src/direct/mk/direct.mk +D src/editing_tools/mk/editing_tools.mk +D src/events/mk/events.mk +D src/folders/mk/folders.mk +D src/library/mk/library.mk +D src/photos/mk/photos.mk +D src/plugins/mk/interfaces.mk +D src/plugins/mk/plugins.mk +D src/publishing/mk/publishing.mk +D src/searches/mk/searches.mk +D src/sidebar/mk/sidebar.mk +D src/slideshow/mk/slideshow.mk +D src/tags/mk/tags.mk +D src/threads/mk/threads.mk +D src/unit/mk/unit.mk +D src/unit/rc/template.mk +D src/util/mk/util.mk +D unitize.mk +D units.mk + +commit afef2962eabd529a62532227983888b96e76257c +Author: Jens Georg +Date: Fri Jul 1 23:44:14 2016 +0200 + + build: Fix dist tarball + +M Makefile.am +M icons/Makefile.am +M import.am +M misc/Makefile.am +M publish-extra.am +M publish.am +M shotwell.am +M transition.am +M ui/Makefile.am + +commit 8c3eea4f2940daac36fbf85b4f0b270fefc96c62 +Author: Jens Georg +Date: Fri Jul 1 21:25:57 2016 +0200 + + appdata: Add tag and fix path + + Signed-off-by: Jens Georg + +M misc/Makefile.am +M misc/shotwell.appdata.xml.in + +commit 7f1f8f37f34e894cefcf7527796fe1717217b648 +Author: Jens Georg +Date: Fri Jul 1 21:15:19 2016 +0200 + + build: Remove unused Makefile from configure.ac + + Signed-off-by: Jens Georg + +M configure.ac + +commit 8b4f24eb3a9f7f1eac7083c9fb28a6e568217c2b +Author: Jens Georg +Date: Fri Jul 1 19:38:40 2016 +0200 + + i18n: Mark GSettings schema for translation + + https://bugzilla.gnome.org/show_bug.cgi?id=741508 + + Signed-off-by: Jens Georg + +M misc/org.yorba.shotwell-extras.gschema.xml +M misc/org.yorba.shotwell.gschema.xml +M po/POTFILES.in + +commit dcfd4c671cdb5f3d58bfd2f9886feb8f4c911d41 +Author: Jens Georg +Date: Thu Jun 30 22:23:55 2016 +0200 + + build: Add missing COMMON_VALAFLAGS + + Signed-off-by: Jens Georg + +M Makefile.am + +commit 092a951acc6398f0b527b7c1cd97ce831f9751fc +Author: Jens Georg +Date: Thu Jun 30 22:23:37 2016 +0200 + + build: Fix makefile generation + + Signed-off-by: Jens Georg + +M common.am +M configure.ac + +commit 444a9056c38d1b906d4f3f453dd06880e31d0e6e +Author: Jens Georg +Date: Wed Jun 29 22:09:33 2016 +0200 + + Mark appdata for translation + + https://bugzilla.gnome.org/show_bug.cgi?id=730669 + + Signed-off-by: Jens Georg + +M misc/Makefile.am +D misc/shotwell.appdata.xml +A misc/shotwell.appdata.xml.in +M po/POTFILES.in + +commit bbd12caab53ad0f8c01f0767df870618f191f9f8 +Author: Jens Georg +Date: Wed Jun 29 21:28:09 2016 +0200 + + Update Makevars + + Signed-off-by: Jens Georg + +M po/Makevars + +commit 32880b1daee7f2913b2c7410d1298f066c2138b0 +Author: Jens Georg +Date: Wed Jun 29 19:27:20 2016 +0200 + + build: Remove obsolete files + +D chkver +D mkunit +D mkvala + +commit 96e768e62498a4b4b379a78afab146fee1b402a9 +Author: Jens Georg +Date: Wed Jun 29 19:25:04 2016 +0200 + + build: Add macros from autoconf archive + + Signed-off-by: Jens Georg + +M configure.ac +A m4/ax_check_enable_debug.m4 +A m4/ax_generate_changelog.m4 +A m4/ax_is_release.m4 +D m4/glib-gettext.m4 +D m4/intltool.m4 +A m4/yelp.m4 + +commit 3cac98d6ea794d50a4f9c5af3fa3a000e74cd920 +Author: Jens Georg +Date: Wed Jun 29 00:47:24 2016 +0200 + + Update .gitignore + + Signed-off-by: Jens Georg + +M .gitignore + +commit cb75b9b32a202ea8259ade233886098f3a507d20 +Author: Jens Georg +Date: Tue Jun 28 23:17:21 2016 +0200 + + build: Add settings migrator + + Signed-off-by: Jens Georg + +M Makefile.am +M thumbnailer.am + +commit 03b0df02cd947c8b6445ba4c20e47c76ddcad087 +Author: Jens Georg +Date: Tue Jun 28 23:11:42 2016 +0200 + + build: Install plugin data + + Signed-off-by: Jens Georg + +M import.am +M publish-extra.am +M publish.am +M transition.am + +commit 81d03f7e3f1855f772a540543a8f290baca38888 +Author: Jens Georg +Date: Tue Jun 28 23:11:25 2016 +0200 + + build: Align plugin names with old makefile + + Signed-off-by: Jens Georg + +M Makefile.am +M import.am +M publish-extra.am +M publish.am +M transition.am + +commit ffd4065d964a2fa76c149dbfa19333fdf1a8661c +Author: Jens Georg +Date: Tue Jun 28 22:49:17 2016 +0200 + + build: Hook up ui data + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac +A ui/Makefile.am + +commit 215a5d308449545497722c5b33b397b0e165f030 +Author: Jens Georg +Date: Tue Jun 28 22:41:28 2016 +0200 + + build: Hook up application image data + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac +A icons/Makefile.am + +commit 1382b1582e07728425ab9e76e2f383a9be42928d +Author: Jens Georg +Date: Tue Jun 28 22:35:08 2016 +0200 + + build: Hook up app icons + + Signed-off-by: Jens Georg + +M Makefile.am +A app-icons/Makefile.am +M configure.ac + +commit b993ec855063b8025eec776f920ea20c122b04d1 +Author: Jens Georg +Date: Tue Jun 28 22:25:47 2016 +0200 + + build: Hook up desktop files + + Signed-off-by: Jens Georg + +M misc/Makefile.am +R100 misc/shotwell-viewer.desktop.head +misc/shotwell-viewer.desktop.in.in +R100 misc/shotwell.desktop.head misc/shotwell.desktop.in.in + +commit bd060e0c7353503670e92d8f78ab541caca81019 +Author: Jens Georg +Date: Tue Jun 28 22:11:19 2016 +0200 + + build: Add appdata + + Signed-off-by: Jens Georg + +M configure.ac +M misc/Makefile.am + +commit 46992439dc4ee961ca924e007cdfba5a2ac2edcf +Author: Jens Georg +Date: Tue Jun 28 21:49:43 2016 +0200 + + build: Hook up help + + https://bugzilla.gnome.org/show_bug.cgi?id=719200 + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac +M help/Makefile.am + +commit 1225c80d23c58b6166b961309d721ef3cdfd7f22 +Author: Jens Georg +Date: Tue Jun 28 21:41:43 2016 +0200 + + build: Fix mo names + + Signed-off-by: Jens Georg + +M po/Makevars + +commit c243239cf5991d3914fee71227094abb94563885 +Author: Jens Georg +Date: Tue Jun 28 21:24:53 2016 +0200 + + build: Make plugins .so only + + Signed-off-by: Jens Georg + +M Makefile.am +M import.am +M publish-extra.am +M publish.am +M transition.am + +commit 861bd8fd5e84d1d3d6b0bd47b30a17909049b0c0 +Author: Jens Georg +Date: Tue Jun 28 21:01:47 2016 +0200 + + build: Add import plugins + + Signed-off-by: Jens Georg + +M .gitignore +M Makefile.am +A import.am + +commit efcb7a25a8b6173808e20ca20d15255401550039 +Author: Jens Georg +Date: Tue Jun 28 20:53:58 2016 +0200 + + build: Add transitions plugin + + Signed-off-by: Jens Georg + +M .gitignore +M Makefile.am +M publish.am +A transition.am + +commit 087e777031bf78e14f89aa3db8255fc55df0b66f +Author: Jens Georg +Date: Tue Jun 28 20:38:26 2016 +0200 + + build: Add publishing-extras + + Signed-off-by: Jens Georg + +M Makefile.am +A publish-extra.am +M publish.am + +commit 4a6a872127d500e204066f8db4df30be1f46693c +Author: Jens Georg +Date: Wed Jun 29 00:23:51 2016 +0200 + + build: Add publishing plugins + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac +A publish.am + +commit a316fe478bb2d3d440b9409431d34a19b72b1d3f +Author: Jens Georg +Date: Wed Jun 29 00:21:30 2016 +0200 + + build: Add libshotwell-plugin-common + + Signed-off-by: Jens Georg + +M Makefile.am + +commit 76164eb4e5cbfe955d1d75e22d1fd3d19e651bce +Author: Jens Georg +Date: Wed Jun 29 00:19:50 2016 +0200 + + build: Create plugin vapi + + Signed-off-by: Jens Georg + +M Makefile.am +M common.am +M shotwell.am + +commit ac2850c0916e4a64e8b8122e345576bf5a021a03 +Author: Jens Georg +Date: Wed Jun 29 00:13:05 2016 +0200 + + build: Add thumbnailer + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac +A thumbnailer.am + +commit 06412b14ad6aae01a5c597fc8419877f2ca2fa23 +Author: Jens Georg +Date: Wed Jun 29 00:12:31 2016 +0200 + + build: Move shotwell into include file + + Signed-off-by: Jens Georg + +M Makefile.am +A common.am +C088 Makefile.am shotwell.am + +commit 86c43eb21e0a9b875ebcb0f882b17513ef3601c2 +Author: Jens Georg +Date: Sun May 29 22:40:20 2016 +0200 + + build: Add gsettings support + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac +A misc/Makefile.am + +commit d1298035015adc85e8dfde8f2834d093d35188df +Author: Jens Georg +Date: Wed May 25 00:25:00 2016 +0200 + + build: Re-add support for unity + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac + +commit cdd332a344ddc0d7bfdefd4fdc41e35045ff8cb8 +Author: Jens Georg +Date: Tue May 24 23:46:42 2016 +0200 + + Add GIT version handling + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac + +commit 98ac807da23968f31d6f3a31040872909c14651d +Author: Jens Georg +Date: Tue May 24 23:44:28 2016 +0200 + + i18n: Add translations to build + + Signed-off-by: Jens Georg + +M Makefile.am +M po/POTFILES.in +M po/gu.po + +commit 08019a73742a99003d9f3915ae4088223105b6a1 +Author: Jens Georg +Date: Wed Jun 29 00:09:16 2016 +0200 + + build: Add shotwell binary + + Signed-off-by: Jens Georg + +M Makefile.am +M configure.ac + +commit 216b6a68d81de70ce000628aa913fefffa769d98 +Author: Jens Georg +Date: Wed Jun 29 00:06:25 2016 +0200 + + build: Add unit files + + Signed-off-by: Jens Georg + +A src/.unitize/_CameraInternals.vala +A src/.unitize/_ConfigInternals.vala +A src/.unitize/_CoreInternals.vala +A src/.unitize/_DataImportsInternals.vala +A src/.unitize/_DbInternals.vala +A src/.unitize/_DirectInternals.vala +A src/.unitize/_Direct_unitize_entry.vala +A src/.unitize/_EditingToolsInternals.vala +A src/.unitize/_EventsInternals.vala +A src/.unitize/_FoldersInternals.vala +A src/.unitize/_LibraryInternals.vala +A src/.unitize/_Library_unitize_entry.vala +A src/.unitize/_PhotosInternals.vala +A src/.unitize/_PluginsInternals.vala +A src/.unitize/_PublishingInternals.vala +A src/.unitize/_SearchesInternals.vala +A src/.unitize/_SidebarInternals.vala +A src/.unitize/_SlideshowInternals.vala +A src/.unitize/_TagsInternals.vala +A src/.unitize/_ThreadsInternals.vala +A src/.unitize/_UnitInternals.vala +A src/.unitize/_UtilInternals.vala + +commit 25c9a2360d2721c48ac8919c9cb2c2759a091a4b +Author: Jens Georg +Date: Tue May 24 21:40:21 2016 +0200 + + build: Autotools skeleton + + Signed-off-by: Jens Georg + +D Makefile +A Makefile.am +A autogen.sh +D configure +A configure.ac +A git.mk +A m4/Makefile.am +A m4/appstream-xml.m4 +A m4/ax_append_compile_flags.m4 +A m4/ax_append_flag.m4 +A m4/ax_check_compile_flag.m4 +A m4/ax_check_link_flag.m4 +A m4/ax_compiler_flags_cxxflags.m4 +A m4/ax_compiler_vendor.m4 +A m4/ax_cxx_compile_stdcxx_11.m4 +A m4/ax_require_defined.m4 +A m4/glib-gettext.m4 +A m4/gsettings.m4 +A m4/intltool.m4 +A m4/introspection.m4 +A m4/pkg.m4 +A m4/vala.m4 +A m4/vapigen.m4 +A po/Makevars +A src/Makefile.am + +commit 3ddd7ec0daee52345beb091dd70f30fffef0f512 +Author: Jens Georg +Date: Sun Jun 26 10:47:36 2016 +0200 + + db: Add compile option to trace SQL statements + + Signed-off-by: Jens Georg + +M src/db/DatabaseTable.vala + +commit bbaa32f5950a2ad41a15d70c9eade1b64c7f6e01 +Author: Jens Georg +Date: Sun Jun 26 09:50:45 2016 +0200 + + Update screenshot urls in appdata + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=730665 + +M misc/shotwell.appdata.xml + +commit 98a7e42ac2fa9c293aecc5a7b199ace85b4638af +Author: Jens Georg +Date: Sat Jun 25 20:09:49 2016 +0200 + + graw: Prevent array duplication when parsing thumb from raw + + Signed-off-by: Jens Georg + +M src/photos/GRaw.vala + +commit 71de94d2aa1f622bd800fa41d3b3ca83aa51c833 +Author: Jens Georg +Date: Sat Jun 25 13:32:00 2016 +0200 + + libraw: Fix binding of ProcessedImage.data + + Signed-off-by: Jens Georg + +M vapi/libraw.vapi + +commit 51f3c7ae4ca596a504a61e24e91db6fb950f5e71 +Author: Christian Kirbach +Date: Sat Jun 25 19:15:37 2016 +0000 + + Updated German translation + +M help/de/de.po + +commit f85e9a77df1f01cbea15511887ac7386bd9fccdd +Author: Christian Kirbach +Date: Fri Jun 24 20:54:35 2016 +0000 + + Updated German translation + (cherry picked from commit c897949d811bc06fbe675ac382eeea332db75e32) + +M po/de.po + +commit 7ff3258be56fe9e29df2528f4905ac1c6899a6ab +Author: Andreas Brauchli +Date: Sat Jun 4 11:09:08 2016 +0200 + + interfaces.mk: fix failure to remove non-existing files + +M src/plugins/mk/interfaces.mk + +commit 7109eb996fc8d63f28564c9e9ab7e8822d6b0c68 +Author: Stas Solovey +Date: Tue Jun 21 08:19:19 2016 +0000 + + Updated Russian translation + +M po/ru.po + +commit b900a89508203422e361757cc96179c5ea52c9d0 +Author: Jens Georg +Date: Mon Jun 20 20:58:36 2016 +0200 + + Prepare 0.23.2 + + Signed-off-by: Jens Georg + +M Makefile +M NEWS + +commit 3f79b95bcfd568c2258c850c940b38669fbdd073 +Author: Jens Georg +Date: Mon Jun 20 20:51:48 2016 +0200 + + Fix make dist + + Signed-off-by: Jens Georg + +M plugins/Makefile.plugin.mk +M plugins/common/Makefile + +commit 10fcb55552cb55accaa2c529beb494d1e31e730c +Author: Jens Georg +Date: Sun Jun 19 19:30:51 2016 +0200 + + plugins: Remove symbol multiplication + + RESTSupport was included twice, resorces 4 times, defining all symbols + multiple times - not that good. + + Solved by compiling RESTSupport and Resources into a shared library + + Signed-off-by: Jens Georg + +M Makefile +M plugins/Makefile.plugin.mk +A plugins/common/Makefile +M plugins/common/RESTSupport.vala +M plugins/plugins.mk +M plugins/shotwell-data-imports/Makefile +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-transitions/Makefile + +commit 5d78018671617ca28e8904aaad0ebae840bff9cd +Author: Abel 'Akronix' Serrano Juste +Date: Mon May 30 23:24:33 2016 +0200 + + Flagged label and rating label are now part of the buttons. + + https://bugzilla.gnome.org/show_bug.cgi?id=767042 + +M src/SearchFilter.vala + +commit 4f16bbc561fdedb20b22e62d56a2575b8d362331 +Author: Christian Kirbach +Date: Tue Jun 14 20:12:45 2016 +0000 + + Updated German translation + (cherry picked from commit 157cda6f4ed2615182ffaec0f227774bcd104ed4) + +M po/de.po + +commit d618ca579a0ff16925dc5c65b3927c51a4e7da0a +Author: Andika Triwidada +Date: Mon Jun 13 10:24:24 2016 +0000 + + Updated Indonesian translation + (cherry picked from commit 7db3db3baef487f992efed47c3b7fe3cc9b8be19) + +M po/id.po + +commit 79ea398faf71d0aa12b8b7e24e90a1a6b062cc1a +Author: Jens Georg +Date: Sun Jun 12 18:40:03 2016 +0200 + + plugins: Small refactor + + Signed-off-by: Jens Georg + +M plugins/common/RESTSupport.vala + +commit 4f7bdcbac984bb4021afc36318b4a63afe56507f +Author: Jens Georg +Date: Sun Jun 12 17:53:03 2016 +0200 + + Remove libgee work-around, bump min version to 0.10 + + Signed-off-by: Jens Georg + +M Makefile +M plugins/common/RESTSupport.vala + +commit 42b72ea953c2a7f02088d8644ee42c25ebac7b0a +Author: Jens Georg +Date: Sun Jun 12 17:47:17 2016 +0200 + + racje: Fix issue introduced by cleanup + + Signed-off-by: Jens Georg + +M plugins/shotwell-publishing-extras/RajcePublishing.vala + +commit 9d2b698023366e95baddbb677118a50e27bd6e8e +Author: Jens Georg +Date: Fri Jun 10 00:32:19 2016 +0200 + + publishing: Remove reuse of string util functions + + Signed-off-by: Jens Georg + +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing-extras/RajcePublishing.vala +M plugins/shotwell-publishing-extras/TumblrPublishing.vala +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/PiwigoPublishing.vala + +commit be9c9303d9307ae1724d7396bcbd31ae3fe4e1b4 +Author: Jens Georg +Date: Fri Jun 10 00:18:58 2016 +0200 + + piwigo: Let libsoup do the cookie parsing + + Signed-off-by: Jens Georg + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala + +commit 6574f70c7414bd342a8b0129a2a6ca9c82bceba3 +Author: Mario Blättermann +Date: Sat Jun 11 13:13:16 2016 +0000 + + Updated German translation + +M po/de.po + +commit de274d5180f7e12f46419e0598b13753d91a2249 +Author: Marek Černocký +Date: Fri Jun 10 16:35:17 2016 +0200 + + Updated Czech translation + +M po/cs.po + +commit 6d21f5fb94edff156ff61bbc7ba8dc131aa97bc8 +Author: Jens Georg +Date: Sun Jun 5 11:23:02 2016 +0200 + + help: Remove +x on image + + Signed-off-by: Jens Georg + +M help/C/figures/crop_thirds.jpg + +commit e04f7ff9d40b65ed43d45741966fd2e72f76df78 +Author: Jens Georg +Date: Sun Jun 5 11:09:51 2016 +0200 + + help: Update logo + + Signed-off-by: Jens Georg + +M help/C/figures/shotwell_logo.png + +commit aeb8059c632b25396727d4c0789e017bbf65be8d +Author: Jens Georg +Date: Sun Jun 5 10:58:14 2016 +0200 + + data: Add icon source + + Signed-off-by: Jens Georg + +A app-icons/shotwell-source.svg + +commit b8f97e7c460425792d1376b5d26c751a912da5ae +Author: Jens Georg +Date: Sun Jun 5 10:40:53 2016 +0200 + + help: Add note regarding publishing permissions + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=766919 + +M help/C/share-upload.page + +commit 066e39afc75a4494f7e6a267cef74f84b0a73e54 +Author: Piotr Drąg +Date: Sat Jun 4 17:05:44 2016 +0200 + + Updated POTFILES.in + +M po/POTFILES.in + +commit 951840ff06efa0c0ecef2581a266886bc4604f24 +Author: Jens Georg +Date: Sat Jun 4 16:30:38 2016 +0200 + + facebook: Request popup login + + As suggested by Facebook developer popup during login. Actually + looks a lot + nicer that using page. + + Signed-off-by: Jens Georg + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 54bd00ea1e6b622cb7e84c68775d72a70980d9c7 +Author: Jens Georg +Date: Sat Jun 4 15:10:13 2016 +0200 + + import-plugin: Move common files into plugin + + Signed-off-by: Jens Georg + +M plugins/shotwell-data-imports/Makefile +R095 plugins/common/SqliteSupport.vala +plugins/shotwell-data-imports/SqliteSupport.vala +R098 plugins/common/VersionNumber.vala +plugins/shotwell-data-imports/VersionNumber.vala + +commit 74a6708717a68c706b683d8ee02888d3bea87569 +Author: Dušan Kazik +Date: Sat Jun 4 08:12:16 2016 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 0ddee1cb2c13278a5354dd702f2519cef30b005e +Author: Jens Georg +Date: Wed Jun 1 22:19:50 2016 +0200 + + Remove external hmac_sha1 + + Instead of relying on librest leaking the hmac_sha1 symbol, port the + implementation of librest to Vala + + Signed-off-by: Jens Georg + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing-extras/TumblrPublishing.vala + +commit 98ce28cd80288a38ed98a29f6dfa6f2f8b008942 +Author: Jens Georg +Date: Wed Jun 1 21:14:55 2016 +0200 + + Replace external function with vapi + + The function was available in vala since 0.12 + + Signed-off-by: Jens Georg + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit ff472345c522d156b27eeb76347e47cb07099a0b +Author: Anders Jonsson +Date: Tue May 31 18:49:16 2016 +0000 + + Updated Swedish translation + +M po/sv.po + +commit 0c0fa510440f7b3d55ef32bc5c18bb49f1292cf0 +Author: Enrico Nicoletto +Date: Mon May 30 20:24:14 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 9e17e5767f186154066daba0b142a94b92fbfcc6 +Author: Daniel Mustieles +Date: Mon May 30 19:21:58 2016 +0200 + + Updated Spanish translation + +M po/es.po + +commit c716ee604ee0a075444389d031dcab162451948b +Author: Jens Georg +Date: Sun May 29 22:27:27 2016 +0200 + + Update URLs in manpage + + Signed-off-by: Jens Georg + +M debian/shotwell.1 + +commit 4a70d87baeb993c015611f71af39bdc77893ae08 +Author: Jens Georg +Date: Sun May 29 22:01:11 2016 +0200 + + Delay size_request in CheckerboardLayout + + If we do a size_request with height = 0, the size_request in + do_reflow does + not lead to a re-allocation. + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=766864 + +M src/CheckerboardLayout.vala + +commit 29fb0f56216d9e9aa99bf5f94c5b37c774031a59 +Author: Wolfgang Steitz +Date: Mon May 23 20:45:00 2016 +0000 + + Port GtkNotebook to GtkStack + + https://bugzilla.gnome.org/show_bug.cgi?id=744289 + +M src/library/LibraryWindow.vala + +commit 7361b3f909106bfecf01e3ea950984f7dcbf84bf +Author: Jens Georg +Date: Wed May 25 22:57:07 2016 +0200 + + Fix background color drawing + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=766864 + +M src/CheckerboardLayout.vala + +commit 3ee6c32d465eb3fb1e5c209a7f3e689d655d601c +Author: Jens Georg +Date: Tue May 24 22:17:11 2016 +0200 + + Remove gphoto 2.4 support + + GPhoto 2.5 was released 2012. Time to remove 2.4 + + Signed-off-by: Jens Georg + +M Makefile +M configure +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +D vapi/gphoto-2.4/libgphoto2.vapi +R100 vapi/gphoto-2.5/libgphoto2.vapi vapi/libgphoto2.vapi + +commit ea5c5058299a45eedeb311c25ed66f88d0fa7eb4 +Author: Jens Georg +Date: Tue May 24 19:41:29 2016 +0200 + + Use yelp-build to generate HTML docs + + Signed-off-by: Jens Georg + +M Makefile +M help/C/Makefile + +commit f85a4b069b6fcad277ea9e89d87e2ab346087e4f +Author: Jens Georg +Date: Tue May 24 19:21:57 2016 +0200 + + Update debian + + Signed-off-by: Jens Georg + +M debian/changelog + +commit 116410ec7110c697c98478dbeeadff65842ce2e3 +Author: Jens Georg +Date: Mon May 23 20:57:13 2016 +0200 + + Prepare Shotwell 0.23.1 + + Signed-off-by: Jens Georg + +M Makefile +M NEWS + +commit 732228a25e83991074187d649eaff64f39515670 +Author: Piotr Drąg +Date: Sun May 22 12:47:28 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit 3266b6cef8dae6675a06edbb311ce73f386aaee9 +Author: Jens Georg +Date: Sat May 21 22:53:56 2016 +0200 + + Remove criticals when showing fullscreen + + Signed-off-by: Jens Georg + +M src/Page.vala + +commit 1910f06c867424df7c9254f7ac4eed9432e976ea +Author: Jens Georg +Date: Sat May 21 22:41:41 2016 +0200 + + Make toolbar a GtkOverlay instead of a popup + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=756126 + +M src/AppWindow.vala + +commit 5ff76741fd6c29952b7d94343e3e160d1ecc693a +Author: Jens Georg +Date: Sat May 21 22:27:48 2016 +0200 + + Revert "Hide toolbar when switching away from fullscreen" + + Unfortunately, this makes the toolbar diappear when selecting a tool + + This reverts commit 61941ad671534d15d5474460a8cd13cdae6b48c2. + +M src/AppWindow.vala + +commit 61941ad671534d15d5474460a8cd13cdae6b48c2 +Author: Jens Georg +Date: Sat May 21 21:19:40 2016 +0200 + + Hide toolbar when switching away from fullscreen + + Don't have hit hover around over other windows + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=756126 + +M src/AppWindow.vala + +commit 7695f742b2225d99136de2e01dac926fe4cc80c2 +Author: Jens Georg +Date: Sat May 21 18:07:43 2016 +0200 + + Panic out if we cannot open the initial file + +M src/direct/DirectPhotoPage.vala + +commit 93b29785f4a307dd05554192436126efa8542556 +Author: Jens Georg +Date: Sat May 21 16:38:09 2016 +0200 + + Remove deprecated call to render_icon + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=719188 + +M src/PhotoPage.vala +M src/camera/ImportPage.vala +M src/util/image.vala + +commit 2ad28a6987b1904b02dc9c1e0e414d2bc594a60c +Author: Jens Georg +Date: Sat May 21 16:36:56 2016 +0200 + + Fix issue with get_metadata returning null + + In DirectPhoto, do not assume that get_metadata() will succeed + (it is actually + declared nullable). Prevents several criticals later on + +M src/direct/DirectPhoto.vala + +commit 66568e94c9162cb82e97c5e0e2e21ca1a6d80cd9 +Author: Jens Georg +Date: Sat May 21 16:33:49 2016 +0200 + + Push empty pixbuf to force repaint of viewer + + Otherwise the message that the photo isn't available will never + be painted + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=766338 + +M src/PhotoPage.vala + +commit e74f1ba305195266a7fdf3d3623bb9d3c9e015a3 +Author: Jens Georg +Date: Sat May 21 15:14:00 2016 +0200 + + build: Fix find in Makefile + + Signed-off-by: Jens Georg + +M Makefile + +commit fdd4126e84760290bffe4c8b0a54a95dcd9e7c42 +Author: Dušan Kazik +Date: Sat May 21 08:44:22 2016 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 43187b315b85d75c23dcb2b655e24cdc20ee4cde +Author: Baurzhan Muftakhidinov +Date: Tue May 17 10:46:22 2016 +0000 + + Updated Kazakh translation + +M po/kk.po + +commit aa3f39e86465842abd7a68aee71f7baa5c35cee5 +Author: Jens Georg +Date: Mon May 16 21:21:00 2016 +0200 + + When moving .gnome2, don't bail out needlessly + + Just ignore errors + + Signed-off-by: Jens Georg + +M src/AppDirs.vala + +commit 13c5537a2efb4bd9b57027a721b73daa755be334 +Author: Jens Georg +Date: Mon May 16 21:20:06 2016 +0200 + + Update icons + + https://bugzilla.gnome.org/show_bug.cgi?id=717326 + + Signed-off-by: Jens Georg + +M Makefile +A app-icons/16x16/apps/shotwell.png +A app-icons/22x22/apps/shotwell.png +A app-icons/24x24/apps/shotwell.png +A app-icons/256x256/apps/shotwell.png +A app-icons/32x32/apps/shotwell.png +A app-icons/48x48/apps/shotwell.png +A app-icons/symbolic/apps/shotwell-symbolic.svg +A icons/shotwell-16.png +D icons/shotwell-16.svg +D icons/shotwell-24.svg +D icons/shotwell.ico +A icons/shotwell.png +D icons/shotwell.svg +M src/AppWindow.vala +M src/Dialogs.vala +M src/Resources.vala + +commit 8b3029e0476df8025e97191f9ec6b5e192482889 +Author: Jens Georg +Date: Sun May 15 21:12:37 2016 +0200 + + Use XDG_DATA_HOME instead of deprecated .gnome2 + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=766339 + +M src/AppDirs.vala + +commit 61f502c3975d67765f34f53bc3080754cb51a1d1 +Author: Jens Georg +Date: Mon May 9 22:50:41 2016 +0200 + + Do not block viewer if we could not open photo + + If for some reason shotwell was started as a viewer and could not + access the + photo (seems to happen e.g. on DAV shares mounted through gvfs), + do not block + the close button because we mark the file as non-closable due to + parameter + checking fail: + + V 4243 2016-05-09 22:47:00 [CRT] + direct_photo_page_check_ok_to_close_photo: + assertion 'IS_PHOTO (photo)' failed + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=740436 + +M src/direct/DirectPhotoPage.vala + +commit 60e02e33bfe0511d21bde9462488bd6a784596e0 +Author: Rafael Fontenelle +Date: Sat May 7 00:44:47 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 5684f9bfa3cbb19b8ec8f248501d272647438ada +Author: Piotr Drąg +Date: Sat May 7 00:32:50 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit 19ccd5c41c4e1bad1df4834d0c75f6018f570f99 +Author: Adam Dingle +Date: Fri May 6 11:10:26 2016 -0400 + + Transfer copyrights from Yorba to Software Freedom Conservancy + +M INSTALL +M README +M chkver +M configure +M debian/copyright +M help/C/Makefile +M misc/shotwell.appdata.xml +M mkunit +M mkvala +M plugins/common/RESTSupport.vala +M plugins/common/Resources.vala +M plugins/common/SqliteSupport.vala +M plugins/common/VersionNumber.vala +M plugins/shotwell-data-imports/FSpotDatabase.vala +M plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala +M plugins/shotwell-data-imports/FSpotDatabaseTable.vala +M plugins/shotwell-data-imports/FSpotImporter.vala +M plugins/shotwell-data-imports/FSpotMetaTable.vala +M plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala +M plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +M plugins/shotwell-data-imports/FSpotPhotosTable.vala +M plugins/shotwell-data-imports/FSpotRollsTable.vala +M plugins/shotwell-data-imports/FSpotTableBehavior.vala +M plugins/shotwell-data-imports/FSpotTagsTable.vala +M plugins/shotwell-data-imports/shotwell-data-imports.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/BlindsEffect.vala +M plugins/shotwell-transitions/ChessEffect.vala +M plugins/shotwell-transitions/CircleEffect.vala +M plugins/shotwell-transitions/CirclesEffect.vala +M plugins/shotwell-transitions/ClockEffect.vala +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/SquaresEffect.vala +M plugins/shotwell-transitions/StripesEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M po/af.po +M po/ar.po +M po/as.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/bn_IN.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/eo.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/gu.po +M po/he.po +M po/hi.po +M po/hr.po +M po/hu.po +M po/ia.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/km.po +M po/kn.po +M po/ko.po +M po/ky.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/ml.po +M po/mr.po +M po/nb.po +M po/nl.po +M po/nn.po +M po/or.po +M po/pa.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sr@latin.po +M po/sv.po +M po/ta.po +M po/te.po +M po/th.po +M po/tr.po +M po/uk.po +M po/vi.po +M po/zh_CN.po +M po/zh_HK.po +M po/zh_TW.po +M samples/simple-plugin/README +M samples/simple-plugin/simple-plugin.vala +M settings-migrator/shotwell-settings-migrator +M src/AppDirs.vala +M src/AppWindow.vala +M src/Application.vala +M src/BatchImport.vala +M src/Box.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/CustomComponents.vala +M src/Debug.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/Exporter.vala +M src/International.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MediaDataRepresentation.vala +M src/MediaInterfaces.vala +M src/MediaMetadata.vala +M src/MediaMonitor.vala +M src/MediaPage.vala +M src/MediaViewTracker.vala +M src/MetadataWriter.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoMonitor.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Printing.vala +M src/Properties.vala +M src/Resources.vala +M src/Screensaver.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/SortedList.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/TimedQueue.vala +M src/Tombstone.vala +M src/UnityProgressBar.vala +M src/Upgrades.vala +M src/VideoMetadata.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/camera/Branch.vala +M src/camera/Camera.vala +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +M src/camera/ImportPage.vala +M src/config/Config.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/core/Alteration.vala +M src/core/ContainerSourceCollection.vala +M src/core/Core.vala +M src/core/DataCollection.vala +M src/core/DataObject.vala +M src/core/DataSet.vala +M src/core/DataSource.vala +M src/core/DataSourceTypes.vala +M src/core/DataView.vala +M src/core/DataViewTypes.vala +M src/core/DatabaseSourceCollection.vala +M src/core/SourceCollection.vala +M src/core/SourceHoldingTank.vala +M src/core/SourceInterfaces.vala +M src/core/Tracker.vala +M src/core/ViewCollection.vala +M src/core/util.vala +M src/data_imports/DataImportJob.vala +M src/data_imports/DataImportSource.vala +M src/data_imports/DataImports.vala +M src/data_imports/DataImportsPluginHost.vala +M src/data_imports/DataImportsUI.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/EventTable.vala +M src/db/PhotoTable.vala +M src/db/SavedSearchDBTable.vala +M src/db/TagTable.vala +M src/db/TombstoneTable.vala +M src/db/VersionTable.vala +M src/db/VideoTable.vala +M src/direct/Direct.vala +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala +M src/direct/DirectView.vala +M src/direct/DirectWindow.vala +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala +M src/events/Branch.vala +M src/events/EventDirectoryItem.vala +M src/events/EventPage.vala +M src/events/Events.vala +M src/events/EventsDirectoryPage.vala +M src/folders/Branch.vala +M src/folders/Folders.vala +M src/folders/Page.vala +M src/library/Branch.vala +M src/library/FlaggedPage.vala +M src/library/FlaggedSidebarEntry.vala +M src/library/ImportQueuePage.vala +M src/library/ImportQueueSidebarEntry.vala +M src/library/LastImportPage.vala +M src/library/LastImportSidebarEntry.vala +M src/library/Library.vala +M src/library/LibraryWindow.vala +M src/library/OfflinePage.vala +M src/library/OfflineSidebarEntry.vala +M src/library/TrashPage.vala +M src/library/TrashSidebarEntry.vala +M src/main.vala +M src/photos/BmpSupport.vala +M src/photos/GRaw.vala +M src/photos/GdkSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoFileAdapter.vala +M src/photos/PhotoFileFormat.vala +M src/photos/PhotoFileSniffer.vala +M src/photos/PhotoMetadata.vala +M src/photos/Photos.vala +M src/photos/PngSupport.vala +M src/photos/RawSupport.vala +M src/photos/TiffSupport.vala +M src/plugins/DataImportsInterfaces.vala +M src/plugins/ManifestWidget.vala +M src/plugins/Plugins.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/plugins/TransitionsInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/Publishing.vala +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala +M src/searches/Branch.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SavedSearchPage.vala +M src/searches/SearchBoolean.vala +M src/searches/Searches.vala +M src/sidebar/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Sidebar.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/slideshow/Slideshow.vala +M src/slideshow/TransitionEffects.vala +M src/tags/Branch.vala +M src/tags/HierarchicalTagIndex.vala +M src/tags/HierarchicalTagUtilities.vala +M src/tags/TagPage.vala +M src/tags/Tags.vala +M src/threads/BackgroundJob.vala +M src/threads/Semaphore.vala +M src/threads/Threads.vala +M src/threads/Workers.vala +M src/unit/Unit.vala +M src/unit/rc/Unit.m4 +M src/unit/rc/UnitInternals.m4 +M src/unit/rc/template.vala +M src/unit/rc/unitize_entry.m4 +M src/util/KeyValueMap.vala +M src/util/Util.vala +M src/util/file.vala +M src/util/image.vala +M src/util/misc.vala +M src/util/string.vala +M src/util/system.vala +M src/util/ui.vala +M thumbnailer/shotwell-video-thumbnailer.vala +M vapi/LConv.vapi +M vapi/gphoto-2.4/libgphoto2.vapi +M vapi/gphoto-2.5/libgphoto2.vapi +M vapi/gphoto.h +M vapi/libexif.vapi +M vapi/libraw.vapi + +commit 5f60d0e709440b647db31e3d29bdec91b46dc919 +Author: Jens Georg +Date: Wed May 4 22:24:05 2016 +0200 + + Rework in-tree logic + + Instead of doing prefix magic, check whether there is a directory + called "ui" + next to the executable and assume we run in-tree. + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=747374 + +M src/util/system.vala + +commit f5112881639ad10cbbe0738905d8c0e39d0512ee +Author: Tiago Santos +Date: Wed May 4 19:09:03 2016 +0000 + + Updated Portuguese translation + +M po/pt.po + +commit 3e7bf4b065144446e87d96006f537b009802e83a +Author: Rafael Fontenelle +Date: Tue May 3 18:35:46 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit c56ff54a0a86ec0588f936ce04c707e61a79dc7a +Author: Piotr Drąg +Date: Mon May 2 12:29:38 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit a93c3df4813d649e45819b625dc03aaf0179f266 +Author: Jens Georg +Date: Sun May 1 15:38:11 2016 +0200 + + Yorba => Shotwell in About dialog + + Signed-off-by: Jens Georg + +M src/AppWindow.vala + +commit 19b0722b6129bd976ea879fd683e94dee9c8d480 +Author: Balázs Meskó +Date: Sat Apr 30 12:44:50 2016 +0000 + + Updated Hungarian translation + +M po/hu.po + +commit 1886512e64c2a46313585533a51ca34a857eb861 +Author: Jens Georg +Date: Fri Apr 29 20:59:23 2016 +0200 + + Relax assertion in Photo file monitor + + If the file is newly created, due to the way exiv2 does the metadata + writing (remove => rename due to windows limitations) and we do + not ask + GLib for the MOVE event, we receive a DELETE event for the temp file + that exiv2 creats. + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=759403 + +M src/Photo.vala + +commit 956326efd82a91c2cbc980b2edb12232082e2ad8 +Author: Jens Georg +Date: Thu Apr 28 22:03:33 2016 +0200 + + Remove custom WEXISTATUS implementation + + Signed-off-by: Jens Georg + +M src/VideoSupport.vala +M src/util/system.vala + +commit ce9c8df241f5d72af8bd829f886afceeda171030 +Author: Jens Georg +Date: Thu Apr 28 21:22:06 2016 +0200 + + Remove obsolete vapis + + - ExtendedPosix - replaced by GLib.get_num_processors() + - unique-3.0 - unused, replaced with GApplication + + Signed-off-by: Jens Georg + +M Makefile +M src/BatchImport.vala +M src/threads/Workers.vala +M src/util/system.vala +D vapi/ExtendedPosix.vapi +D vapi/unique-3.0.deps +D vapi/unique-3.0.vapi + +commit bc2b5af6b3f5ea98d52f7ac1639fef5490688ef5 +Author: Jens Georg +Date: Thu Apr 28 20:55:54 2016 +0200 + + facebook: Update application id + + https://bugzilla.gnome.org/show_bug.cgi?id=748991 + + Signed-off-by: Jens Georg + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 1cc2326a740776699b6f418730878bd0f973bc76 +Author: Jens Georg +Date: Tue Apr 26 21:42:48 2016 +0200 + + icons: Remove exec flag from images + + Signed-off-by: Jens Georg + +M icons/filter-flagged.png +M icons/filter-videos.png +M icons/pin-toolbar.svg +M icons/slideshow-extension-point.png + +commit eefc1d093cdd6d21e84f6cdc9c281094a92a8ec9 +Author: Jens Georg +Date: Tue Apr 26 19:10:54 2016 +0200 + + debian: Update changelog + + Signed-off-by: Jens Georg + +M debian/changelog +M debian/control + +commit d6665fcc18b66ce56daafb360c0bd92230b6f26a +Author: Daniel Mustieles +Date: Thu Apr 28 19:18:05 2016 +0200 + + Updated Spanish translation + +M po/es.po + +commit 79c429ae394b9eb29bd102eeff75c013d691a560 +Author: Jens Georg +Date: Mon Apr 25 22:46:38 2016 +0200 + + Prepare Shotwell 0.23.0 + + Signed-off-by: Jens Georg + +M Makefile +M NEWS + +commit b33cacf717d3ee761d45ccc9f70d4eb798a55f76 +Author: Jens Georg +Date: Mon Apr 25 21:09:17 2016 +0200 + + data: Fix contradicting icon license + + The icon comes from the Breathe icon theme where it was supposed to be + cc-by-sa. Apparently there was some relicensing from cc-by-nc-sa + but the + clause was not removed. + + Signed-off-by: Jens Georg + + https://bugzilla.gnome.org/show_bug.cgi?id=757643 + +M icons/rejected.svg + +commit c48bf5d4231adbaff972cdc266b42aa1402912c7 +Author: Jens Georg +Date: Tue Apr 19 21:32:51 2016 +0200 + + build: Speed up parallel builds + + Plugins were compiled several times because make did not get the + dependencies + right. + + Signed-off-by: Jens Georg + +M plugins/Makefile.plugin.mk + +commit 423a70b1752c1fd4c8bccf492dc77faaf1f9647a +Author: Jens Georg +Date: Tue Apr 19 21:32:28 2016 +0200 + + build: Call pkg-config only once + + Signed-off-by: Jens Georg + +M Makefile +M plugins/Makefile.plugin.mk + +commit 52c0f36105d895ab02415056d96fa467a906fb34 +Author: Jens Georg +Date: Tue Apr 19 20:45:23 2016 +0200 + + build: Don't build plugins twice + + The .c files were compiled with vala once, then again with C compiler. + + Signed-off-by: Jens Georg + +M plugins/Makefile.plugin.mk + +commit be4fea099e99787d113ca38b3725d8e1df3e52b9 +Author: Mario Blättermann +Date: Mon Apr 18 18:01:08 2016 +0000 + + Updated German translation + +M po/de.po + +commit b2e21676e7710711dd634972b68a129c8af376e3 +Author: Cédric Valmary +Date: Mon Apr 18 17:07:20 2016 +0000 + + Added Occitan translation + +M po/LINGUAS +A po/oc.po + +commit 1cdf99c7ba95b0e23f81a58a4c4235eff1a8495a +Author: Jens Georg +Date: Sun Apr 17 18:53:04 2016 +0200 + + Use proper umask for creating directories + + https://bugzilla.gnome.org/show_bug.cgi?id=765182 + +M src/AppDirs.vala + +commit 72ee0a3d44425cf93d651ff3ee45c617aa284332 +Author: Piotr Drąg +Date: Sun Apr 17 15:27:37 2016 +0200 + + Updated Polish translation + +M po/pl.po + +commit c0b22f77bac3c0030ca0ba712b8dcd8842d8a2de +Author: Dušan Kazik +Date: Sat Apr 16 19:38:44 2016 +0000 + + Updated Slovak translation + +M po/sk.po + +commit be8faf6883401f0f916c135a22a5fa2106ae6a86 +Author: Marek Černocký +Date: Sat Apr 16 18:47:12 2016 +0200 + + Updated Czech translation + +M po/cs.po + +commit 339d8439b73dcbda31187a1c6797a2449a8b8f6e +Author: Marek Černocký +Date: Sat Apr 16 18:44:51 2016 +0200 + + Updated Czech translation + +M help/cs/cs.po +M po/cs.po + +commit ed6397c27094c113eb45ab08a0fcb5ad54859d91 +Author: Robert Ancell +Date: Tue May 26 18:24:10 2015 +1200 + + Don't use GtkHeaderBar on dialogs if the gtk-dialogs-use-header + setting is not set + + https://bugzilla.gnome.org/show_bug.cgi?id=749874 + +M src/Dialogs.vala +M src/Properties.vala +M src/data_imports/DataImportsUI.vala +M src/publishing/PublishingUI.vala + +commit 1fc4f35ee3d156a90ca7add6accc694643dd2a65 +Author: Trinh Anh Ngoc +Date: Fri Apr 10 22:40:41 2015 +0700 + + Fix css + + https://bugzilla.gnome.org/show_bug.cgi?id=747637 + +M src/Resources.vala + +commit b0ea780baf21a60e9b0103a6c4242784da8a83a8 +Author: Rafael Fontenelle +Date: Sat Apr 16 11:18:09 2016 +0000 + + Updated Brazilian Portuguese translation + +M help/pt_BR/pt_BR.po + +commit cdc509a1dc4b51f5acace97617be0a8497781e0b +Author: Rafael Fontenelle +Date: Sat Apr 16 11:01:46 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 147428b45d32796354c4500f811e06e1922b102c +Author: Rafael Fontenelle +Date: Thu Apr 7 17:30:56 2016 -0300 + + Change "Date and Time" help's page filename to fit its content + + Shotwell's UI has "Adjust Date and Time", while this help page + made reference to "time and date" all over. Now that its content + is all standardized to "date and time", changing its filename + as well seems to make sense. + + https://bugzilla.gnome.org/show_bug.cgi?id=764800 + +R096 help/C/edit-time-date.page help/C/edit-date-time.page +M help/C/edit-nondestructive.page +M help/Makefile.am + +commit 810f08310fbad5da0c70f7ee4e5e78d5fd871fbd +Author: Rafael Fontenelle +Date: Thu Apr 7 17:10:27 2016 -0300 + + Add '' tag to option/item/button mentions + + The help files mentions option/item/button labels of Shotwell's UI + without the proper and mallard tags. This commit fix it. + + Target labels of this commit: + + organize-event: "Events" + organize-search: "+", "-" and "OK" + organize-tag: "Tags" + + https://bugzilla.gnome.org/show_bug.cgi?id=764800 + +M help/C/organize-event.page +M help/C/organize-search.page +M help/C/organize-tag.page + +commit 1c5a8ab880c603fc8987ae31c6e9c8777099c7ac +Author: Rafael Fontenelle +Date: Thu Apr 7 16:39:08 2016 -0300 + + Fixed mentions to UI's option/item/button labels + + Some Help pages had mentions of options/items/buttons, from + the Shotwell's UI, with typos or wrong reference. + This commit aims fixing small issues, but that could bother + the user. + + Summary of changes: + + edit-adjustments: Apply -> OK (button) + edit-crop: Apply -> Crop (button) + edit-straighten: OK -> Straighten (button) + edit-time-date: Added "..." to menu item and replaced all + "time and date" -> "date and time" to fit + UI's "Adjust Date and Time..." + + import-*, organize-*, share-*: + Added "..." to menu item + + organize-search: New Search > New Saved Search... + + https://bugzilla.gnome.org/show_bug.cgi?id=764800 + +M help/C/edit-adjustments.page +M help/C/edit-crop.page +M help/C/edit-straighten.page +M help/C/edit-time-date.page +M help/C/import-file.page +M help/C/import-memorycard.page +M help/C/organize-event.page +M help/C/organize-search.page +M help/C/organize-tag.page +M help/C/organize-title.page +M help/C/share-background.page +M help/C/share-export.page +M help/C/share-print.page + +commit 2fef7df701ae6e3238c3ad07139db57aa70f7ed2 +Author: Rafael Fontenelle +Date: Thu Apr 7 16:35:05 2016 -0300 + + Removed execution permissions of formats page + + formats.page had permissions "-rwxr-xr-x" (755), while others had + -rw-r--r-- (644). Changed that to be like other pages. + + https://bugzilla.gnome.org/show_bug.cgi?id=764800 + +M help/C/formats.page + +commit e895002448acdb5ab50bad670499b14b4cba7c87 +Author: Jens Georg +Date: Fri Apr 15 23:21:31 2016 +0200 + + Update .gitignore + +M .gitignore + +commit de1aae80b99a2e8da5260067f729d986be339c29 +Author: Jens Georg +Date: Fri Apr 15 23:19:14 2016 +0200 + + Do not use Posix.system() + +M src/db/DatabaseTable.vala +M src/main.vala + +commit 379e37a8c35a670d8d68f65d0500f19465ffb07c +Author: Jens Georg +Date: Fri Apr 15 22:31:05 2016 +0200 + + build: Remove some shell magic + + git rev-parse HEAD does the same + +M Makefile + +commit 16c681d8440432903096a2cd0d76a9a643d01a0e +Author: Jens Georg +Date: Fri Apr 15 22:09:44 2016 +0200 + + Make myself maintainer + +M shotwell.doap + +commit 417fbf1ed6858937837250a42be5769d9b8864ee +Author: Rafael Fontenelle +Date: Thu Apr 7 17:49:03 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 01786149a86b06db7ba9fd7b9d4576b8a411cde5 +Author: Felipe Braga +Date: Thu Apr 7 14:14:49 2016 -0300 + + Added Brazilian Portuguese translation for help files + +M help/Makefile.am +A help/pt_BR/pt_BR.po + +commit e140069f3e948434e87571bad3247ec51f595fe0 +Author: Rafael Fontenelle +Date: Thu Apr 7 16:54:02 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 9dad5e4aec8f06d1c49efc89d366cd9cae7ed4d7 +Author: Felipe Braga +Date: Wed Apr 6 22:47:48 2016 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 13c56bce7f1c59458e3102128eed6db8aaff7826 +Author: Claude Paroz +Date: Wed Mar 30 08:56:54 2016 +0200 + + Updated French translation + +M po/fr.po + +commit f517df67c1ea020c99b64db3a1c405bca7ed2009 +Author: Jordi Mas +Date: Thu Mar 24 22:56:32 2016 +0100 + + Fixes to Catalan translation + +M po/ca.po + +commit d242b5ec8d607ab82b829996aceb82ee555378e3 +Author: Muhammet Kara +Date: Sat Mar 19 12:52:39 2016 +0000 + + Updated Turkish translation + +M po/tr.po + +commit 563bb35b4e4f1f5f5af6820f42ff5cafc587515c +Author: Boram Kim +Date: Wed Mar 16 01:24:37 2016 +0000 + + Updated Korean translation + +M po/ko.po + +commit 03dd881b9d1ad792bebeb11198b6d9b606d2faf8 +Author: Mayela Miranda +Date: Thu Mar 10 10:53:15 2016 +0000 + + Updated Spanish translation + +M help/es/es.po + +commit 3eb8f8ffb8cf5defa24a5b5d39c666258ec3cc5b +Author: Mayela Miranda +Date: Wed Mar 9 08:19:25 2016 +0000 + + Updated Spanish translation + +M help/es/es.po + +commit d5c26b3dddf57f5bf9355f667bdca3445ac9ee96 +Author: Mayela Miranda +Date: Tue Mar 8 11:30:51 2016 +0000 + + Updated Spanish translation + +M help/es/es.po + +commit ebf739c60eb401d9df181a6072192cde88614a22 +Author: Mayela Miranda +Date: Wed Mar 2 07:32:58 2016 +0000 + + Updated Spanish translation + +M help/es/es.po + +commit f74ba7066bbeac01c0e9bee7c6ad204f4c3a1641 +Author: Kjartan Maraas +Date: Sun Feb 28 17:21:14 2016 +0100 + + Updated Norwegian bokmål translation from Rune Ringdal. + +M po/nb.po + +commit 4d08b6253b2f0648c4d4bb897f4866d15fb3a2d1 +Author: Kjartan Maraas +Date: Sun Feb 28 17:20:10 2016 +0100 + + Updated Norwegian bokmål translation from Rune Ringdal. + +M po/nb.po + +commit 045a93924803b013d93e5265aadfce77879d337c +Author: Anders Jonsson +Date: Thu Feb 18 10:46:13 2016 +0000 + + Updated Swedish translation + +M help/sv/sv.po + +commit bfebaa91945a9124a65efbe700f132f94cbdf615 +Author: Aurimas Černius +Date: Sun Jan 24 19:26:13 2016 +0200 + + Updated Lithuanian translation + +M po/lt.po + +commit f2fb1f7059e17b998a851626a7b076716020a7ac +Author: Мирослав Николић +Date: Sun Jan 3 22:11:16 2016 +0100 + + Updated Serbian translation + +M po/sr.po +M po/sr@latin.po + +commit b6aad5eb1af16acbb4ee4984e58dfeb08597923b +Author: Michael Catanzaro +Date: Fri Dec 4 18:08:54 2015 +0100 + + facebook: Don't disable XSS auditor + + This is a separate commit to make it possible to revert easily, as + I don't know why it was disabled. + + https://bugzilla.gnome.org/show_bug.cgi?id=751709 + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit f045b7a13cc1efbfa3054338d0edf569df51f4e7 +Author: Michael Catanzaro +Date: Fri Dec 4 17:34:17 2015 +0100 + + Have all soup sessions validate TLS certificates + + Note that this commit is *not* sufficient to fix certificate + verification + on its own. The port to WK2 is also required, else WebKit's soup + session + will not verify certificates. + + https://bugzilla.gnome.org/show_bug.cgi?id=751709 + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit a2844fbfeb23a0bf6b2489761ab5f51e15dc4efe +Author: Michael Catanzaro +Date: Fri Dec 4 17:33:43 2015 +0100 + + Don't pack webview into a scrolled window + + The scrollbar is drawn by WebKitWebView in WK2. + + https://bugzilla.gnome.org/show_bug.cgi?id=751709 + +M plugins/common/RESTSupport.vala + +commit 3ae27fc3f41ceb7820f365244e6ae6a4dc65fcaa +Author: Iain Lane +Date: Tue Jun 30 10:43:15 2015 +0100 + + Port to webkit2gtk-4.0 + + https://bugzilla.gnome.org/show_bug.cgi?id=751709 + +M Makefile +M debian/control +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/Makefile +D vapi/webkitgtk-3.0.deps +D vapi/webkitgtk-3.0.vapi + +commit 18db35fbfd1f44182fe8194428c509bde90a6bec +Author: Christian Kirbach +Date: Mon Dec 7 19:58:20 2015 +0000 + + Updated German translation + +M help/de/de.po + +commit 3ffbf82cb4c3da7cea29bdb036dd1392e29415bd +Author: Pedro Albuquerque +Date: Tue Nov 17 08:00:28 2015 +0000 + + Updated Portuguese translation + +M po/pt.po + +commit 020fbc7c6ab289351423e316cbc825783ea9ce00 +Author: Aurimas Černius +Date: Tue Nov 3 21:23:25 2015 +0200 + + Updated Lithuanian translation + +M po/lt.po + +commit dc4beb8c6bd534e6763b0397e554946b0d4233d7 +Author: Jiri Grönroos +Date: Sun Oct 18 09:39:45 2015 +0000 + + Updated Finnish translation + +M po/fi.po + +commit 1e13a00ef38f4ca6e216f37a305b93cfbe65202d +Author: Balázs Meskó +Date: Sun Oct 11 17:49:07 2015 +0000 + + Updated Hungarian translation + +M po/hu.po + +commit da21604830386a7c1f2b8d1f75a9d98719e5e5d1 +Author: Trần Ngọc Quân +Date: Tue Sep 29 15:06:04 2015 +0700 + + Updated Vietnamese translation + + Signed-off-by: Trần Ngọc Quân + +M po/vi.po + +commit fb93b79ba2165843f8eb35fdadb0d86cc0620683 +Author: Christian Kirbach +Date: Sat Sep 19 07:47:56 2015 +0000 + + Updated German translation + +M po/de.po + +commit 9d56fda7721afd11a4a22fc539b4401185db7cc0 +Author: Timo Jyrinki +Date: Thu Sep 10 18:51:05 2015 +0300 + + Finnish translation, fix time formats + +M po/fi.po + +commit e43b9d73fa6a90d39d61b83e05fec2866fddf606 +Author: Jiri Grönroos +Date: Thu Sep 10 18:49:28 2015 +0300 + + Finnish translation update + +M po/fi.po + +commit fc438c7220dcf915fdf8e54f7325d420e15e2002 +Author: Piotr Drąg +Date: Wed Sep 2 19:49:49 2015 +0200 + + Updated Polish translation + +M po/pl.po + +commit 51492b5faa0ea5549183bcdae1368d91935c1aef +Author: Yosef Or Boczko +Date: Sun Aug 30 11:35:22 2015 +0300 + + Updated Hebrew translation + +M po/he.po + +commit 6bd668604537f9d11bb7d4874e2fd5f77ed63db0 +Author: Josef Andersson +Date: Sun Jul 26 19:48:30 2015 +0200 + + Add Swedish help translation + +M help/Makefile.am +A help/sv/sv.po + +commit a82da07483ffbafa36441d10ee3d4012649a60ca +Author: Josef Andersson +Date: Wed Jul 22 19:31:02 2015 +0000 + + Updated Swedish translation + +M po/sv.po + +commit f8dfcbd4212a88daa97579f2c2d644c94cee7a63 +Author: Stas Solovey +Date: Wed Jul 15 20:39:17 2015 +0000 + + Updated Russian translation + +M po/ru.po + +commit 4236cdc203597155d7a673d5a47bf4f45c4af3a9 +Author: Daniel Mustieles +Date: Mon Jul 13 17:39:13 2015 +0200 + + Updated Spanish translation + +M po/es.po + +commit 3de1bd4b5e4c57087407d55c36ccf227cc71a7a6 +Author: Jordi Mas +Date: Tue May 26 21:42:04 2015 +0200 + + Fixes to Catalan translation + +M po/ca.po + +commit f88dab8eb7ddaeb9741a63e0b1cc17aa28edf558 +Author: Balázs Úr +Date: Fri May 22 08:41:54 2015 +0000 + + Updated Hungarian translation + +M help/hu/hu.po + +commit 671e27aec987ee8076acf9983434dac5185e4faf +Author: Gábor Kelemen +Date: Sat May 9 09:16:24 2015 +0000 + + Updated Hungarian translation + +M po/hu.po + +commit b173e126be4e135b2d170a44764dcaf30516de38 +Author: Jordi Mas +Date: Thu Apr 30 20:27:43 2015 +0200 + + Fixes to Catalan translation + +M po/ca.po + +commit 6ec5ebfe0d7dbc963e49eec53a19f4a444aadf14 +Author: Rafael Ferreira +Date: Fri Apr 24 00:33:38 2015 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 8f15f971168f46b4a9d78d4491905ad99e132fe5 +Author: Jordi Mas +Date: Sat Apr 18 15:42:30 2015 +0200 + + Fixes to Catalan translation + +M po/ca.po + +commit 93671dcef35192e0a0c757cc5a6d8b8859fbfbea +Author: Dušan Kazik +Date: Fri Apr 10 10:59:11 2015 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 2cbe54922e2c1dd5e81690b625ba7b111c5bf33c +Author: Marek Černocký +Date: Wed Apr 8 07:53:42 2015 +0200 + + Updated Czech translation + +M po/cs.po + +commit efc743f5cadf75052689fefbd11861460210f4c9 +Author: Piotr Drąg +Date: Sun Apr 5 22:05:00 2015 +0200 + + Updated Polish translation + +M po/pl.po + +commit f8fac1a6d26304f004ec4b3c59d267e3237e5257 +Author: Piotr Drąg +Date: Sun Apr 5 22:03:18 2015 +0200 + + Slightly improve new strings + +M src/AppDirs.vala + +commit 0c97e783bf4f7dd4b054f99c40db4f37dacc7d7b +Author: Wolfgang Steitz +Date: Fri Apr 3 15:53:30 2015 +0200 + + Fixed Crop Ribbon / Control not visible (#747201) + +M src/editing_tools/EditingTools.vala + +commit 66a2a49ad924dd4403f642103f8f324c60c6c3ef +Author: Wolfgang Steitz +Date: Fri Apr 3 10:21:15 2015 +0200 + + Fix crash during metadate update (#739917) + + In MetadataWriter, it is possible that several CommitJobs for one + photo are scheduled. If that happens, the callback will crash. This + commit fixes this, by only allowing one job per photo. Canceled jobs + are now kept in a separate list. + +M src/MetadataWriter.vala + +commit 1caa898c0a58291f1b47bac85c3bed9895d1d1af +Author: Wolfgang Steitz +Date: Tue Mar 31 19:50:05 2015 +0200 + + Fixed. Check .cache directory for read/write permissions (#737747) + +M src/AppDirs.vala + +commit f632865628a75416c3f2d280a4a04b3f3169f9a8 +Author: Dušan Kazik +Date: Wed Apr 1 18:28:09 2015 +0000 + + Updated Slovak translation + +M po/sk.po + +commit caef1f1187a3534cb729f3aab3fab08fc5ae975b +Author: Marek Černocký +Date: Wed Apr 1 10:39:29 2015 +0200 + + Udated Czech translation + +M po/cs.po + +commit 7408749d8514874a7b26962fdced2ab19e8d42ae +Author: Wolfgang Steitz +Date: Sat Mar 28 18:53:40 2015 +0100 + + Check .cache directory for read/write permissions (#737747) + +M src/AppDirs.vala + +commit a91a734442a00b4418f603adf36d896359ec0d1e +Author: Wolfgang Steitz +Date: Thu Mar 26 20:51:42 2015 +0100 + + Allow thinner minimum sidebar width (#718611) + +M src/library/LibraryWindow.vala + +commit fbcd7f2ddc99572587a765ba2b878083b15c3feb +Author: Jim Nelson +Date: Mon Mar 23 18:17:33 2015 -0700 + + Update to 0.22 + +M Makefile +M NEWS +M debian/changelog + +commit 1c7e35e16ae5155d81db5ce9cc7c286ed70f69de +Author: Piotr Drąg +Date: Sun Mar 22 16:36:16 2015 +0100 + + Updated Polish translation + +M po/pl.po + +commit 39961197db21ea32b80150990a78cc1ef1277319 +Author: Trần Ngọc Quân +Date: Fri Mar 20 08:41:56 2015 +0700 + + Updated Vietnamese translation + + Signed-off-by: Trần Ngọc Quân + +M po/vi.po + +commit 5f008e5fb64c4691e789161c543c8e2640446595 +Author: Cheng-Chia Tseng <> +Date: Thu Mar 19 14:03:35 2015 +0000 + + Updated Chinese (Taiwan) translation + +M po/zh_TW.po + +commit 408bb4ea81f8a959e48652f7d59a1be14b5be285 +Author: Dušan Kazik +Date: Wed Mar 18 13:15:35 2015 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 4216649e3d4ba4ebb64ce6b0881df741350b001d +Author: Marek Černocký +Date: Wed Mar 18 12:16:24 2015 +0100 + + Updated Czech translation + +M po/cs.po + +commit d2fe363e32cf77d1c74b8046669d92beb6eb91d2 +Author: Wolfgang Steitz +Date: Tue Mar 17 22:14:58 2015 +0100 + + use text-only section headers in sidebar (#718349) + +M po/POTFILES.in +M src/camera/Branch.vala +M src/events/Branch.vala +M src/events/EventsDirectoryPage.vala +M src/folders/Branch.vala +M src/library/Branch.vala +R079 src/library/FlaggedBranch.vala +src/library/FlaggedSidebarEntry.vala +R061 src/library/ImportQueueBranch.vala +src/library/ImportQueueSidebarEntry.vala +R062 src/library/LastImportBranch.vala +src/library/LastImportSidebarEntry.vala +M src/library/LibraryWindow.vala +R078 src/library/OfflineBranch.vala +src/library/OfflineSidebarEntry.vala +R092 src/library/TrashBranch.vala src/library/TrashSidebarEntry.vala +M src/library/mk/library.mk +M src/searches/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/tags/Branch.vala + +commit 93f3e148ab06e267b4719d29538325a55c571cba +Author: Pau Iranzo +Date: Tue Mar 17 04:01:41 2015 -0400 + + Upload Catalan translation + +M po/ca.po + +commit 1acd13d145ee158c05578c4f03559e05ef9a1df7 +Author: Trần Ngọc Quân +Date: Tue Mar 17 15:00:36 2015 +0700 + + Updated Vietnamese translation + + Signed-off-by: Trần Ngọc Quân + +M po/vi.po + +commit 27844f5b450e3285f9d968effd0f6743b24a67b6 +Author: Tim Waugh +Date: Thu Mar 12 18:43:46 2015 +0000 + + Fix date selection when double-clicking (#746107). + +M src/searches/SavedSearchDialog.vala + +commit edb39b9f3225e0c411f0b685df17429a458cb40a +Author: Piotr Drąg +Date: Sun Mar 15 22:53:26 2015 +0100 + + Updated Polish translation + +M po/pl.po + +commit 48ecac53aa9316d6e50756d799c1bfe2c8894875 +Author: Baurzhan Muftakhidinov +Date: Sun Mar 15 17:54:10 2015 +0000 + + Updated Kazakh translation + +M po/kk.po + +commit 0a7dd9ae8030faeeb72f75401b66dd2636763a69 +Author: Kim Boram +Date: Sun Mar 15 23:31:49 2015 +0900 + + Updated Korean translation + +M po/ko.po + +commit b2adb969ef11baa8298e466457409c79aa1bc35e +Author: Samir Ribic +Date: Sat Mar 14 00:50:13 2015 +0000 + + Added Bosnian translation + +M po/LINGUAS +A po/bs.po + +commit 06df39cfb932e99e8ca8bf57b6a34f43f0d7b83b +Author: Yosef Or Boczko +Date: Fri Mar 13 04:21:13 2015 +0200 + + Updated Hebrew translation + +M po/he.po + +commit 4834579bbc9e047ccef74f244c10766a515ca9d4 +Author: Marek Černocký +Date: Thu Mar 12 11:38:56 2015 +0100 + + Updated Czech translation + +M po/cs.po + +commit a06cc6b8c48b536b64cd22d1fed05693398f9cf7 +Author: Dušan Kazik +Date: Thu Mar 12 09:02:15 2015 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 77a810da34d6b167a2691060cfd12be2c830bcd0 +Author: Wolfgang Steitz +Date: Wed Mar 11 21:24:44 2015 +0100 + + Provide option to sort photos by filename, in addition to title, + exporsure date and rating (#717878) + +M src/MediaPage.vala +M src/Thumbnail.vala +M ui/media.ui + +commit ebe6722e30a2bd7bd876e3440443af380d93776e +Author: Wolfgang Steitz +Date: Mon Mar 9 21:01:03 2015 +0100 + + in adjust time dialog, set timeformat before setting the time. fixes + bug #718944 + +M src/Dialogs.vala + +commit b78d082b3433c4107f20ccee6717cec900eac798 +Author: Baurzhan Muftakhidinov +Date: Wed Mar 11 05:56:30 2015 +0000 + + Updated Kazakh translation + +M po/kk.po + +commit 70c149d6ab4fa12b0c73f38f169686d04d351aff +Author: Kim Boram +Date: Mon Mar 9 00:33:30 2015 +0900 + + Updated Korean translation + +M po/ko.po + +commit d21d726c3d0cf09762b47ebef727c3571617b84f +Author: Josef Andersson +Date: Sun Mar 8 11:59:47 2015 +0000 + + Updated Swedish translation + +M po/sv.po + +commit e12d4be13afdc677315d0b14fe997c50161423b4 +Author: Changwoo Ryu +Date: Sun Mar 8 05:06:56 2015 +0900 + + Updated Korean translation + +M po/ko.po + +commit e0bb3389751d1f88fce96cf4e50aa0f60459914e +Author: Stas Solovey +Date: Fri Mar 6 10:45:23 2015 +0000 + + Updated Russian translation + +M po/ru.po + +commit fbefbe63687a563ea20316b782f4103f74df2cae +Author: Rafael Ferreira +Date: Tue Mar 3 15:07:02 2015 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 3b398fbbf6f75cd1d2567175be487361faf7e927 +Author: Marek Černocký +Date: Sun Mar 1 18:58:23 2015 +0100 + + Updated Czech translation + +M po/cs.po + +commit b541fd2973ea8fd6a25f1fb6c6112c3846fe8774 +Author: Maria Mavridou +Date: Wed Feb 25 13:45:51 2015 +0000 + + Updated Greek translation + +M po/el.po + +commit c0d2364bba8730f352df2e13afa153597576377a +Author: Cheng-Chia Tseng +Date: Mon Feb 23 14:21:14 2015 +0000 + + Updated Chinese (Taiwan) translation + +M po/zh_TW.po + +commit f79ffcabd4dfd078ed778f2fe476740c685f44dc +Author: Piotr Drąg +Date: Sun Feb 22 20:56:36 2015 +0100 + + Updated Polish translation + +M po/pl.po + +commit 2e411a21d127fbd0b0991e25598c22f1a3e7e1e1 +Author: Dušan Kazik +Date: Sat Feb 21 16:05:21 2015 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 25ed5e530bcf24edce679dd030cab7ef1132ad81 +Author: Wolfgang Steitz +Date: Fri Feb 20 16:57:49 2015 -0800 + + Final migration of sidebar code from Geary to Shotwell: Bug #719284 + +M src/sidebar/Tree.vala + +commit 05a4bae2d83bd00918d833f49f262eb01a106879 +Author: Wolfgang Steitz +Date: Fri Feb 20 16:54:15 2015 -0800 + + Further work removing GtkStock and deprecations: Bug #719188 + +M Makefile +R100 icons/enhance.png icons/shotwell-auto-enhance.png +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Dialogs.vala +M src/MediaPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/camera/ImportPage.vala +M src/direct/DirectPhotoPage.vala +M src/editing_tools/EditingTools.vala +M src/library/ImportQueuePage.vala +M src/library/LibraryWindow.vala +M ui/set_background_dialog.glade +M ui/set_background_slideshow_dialog.glade +M ui/shotwell.glade + +commit ad0ad8f38226196a1c24dcb6f498072d2d1ef543 +Author: Marek Černocký +Date: Fri Feb 20 20:57:43 2015 +0100 + + Updated Czech translation + +M po/cs.po + +commit 23f79a90cf69e0fce4bdfbdd20eaae189f637b13 +Author: Wolfgang Steitz +Date: Tue Feb 17 12:35:02 2015 -0800 + + Use newer comparators in sidebar code: Bug #719284 + +M src/events/Branch.vala +M src/sidebar/Branch.vala + +commit 8de7e7d623ee9fe94121df6bce83a2107232f249 +Author: Wolfgang Steitz +Date: Tue Feb 17 12:32:30 2015 -0800 + + Remove icon closed string, follow-state for hover effect: Bug #719284 + +M src/Resources.vala +M src/camera/Branch.vala +M src/events/Branch.vala +M src/folders/Folders.vala +M src/sidebar/Entry.vala +M src/sidebar/Tree.vala + +commit 961f3d1fec14691675ef686d6af6165e07658867 +Author: Jim Nelson +Date: Tue Feb 17 11:49:02 2015 -0800 + + Fix split string in Gallery web connector: Bug #744539 + +M plugins/shotwell-publishing-extras/GalleryConnector.vala + +commit 6a9cef11283a2918e250e0277445d09adb805d6f +Author: Jim Nelson +Date: Tue Feb 17 11:38:12 2015 -0800 + + Missing semicolon in kn .desktop string + +M po/kn.po + +commit d031376722b68fc4d7289e7c300a400b31cb626a +Author: Wolfgang Steitz +Date: Tue Feb 17 11:36:13 2015 -0800 + + Remove a portion of the Gtk.Stock symbols: Bug #719188 + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Dialogs.vala +M src/MediaPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/SlideshowPage.vala +M src/camera/ImportPage.vala +M src/direct/DirectPhotoPage.vala +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala +M src/library/LibraryWindow.vala +M src/library/OfflinePage.vala +M src/library/TrashPage.vala +M src/searches/SavedSearchDialog.vala + +commit 2d90358d3ab7509189b58eef4c76b897f46d2b06 +Author: Stas Solovey +Date: Mon Feb 16 12:03:45 2015 +0000 + + Updated Russian translation + +M po/ru.po + +commit e0e9539e24dba53a20365cecdd4fabe29f2749b5 +Author: Alexandre Franke +Date: Sat Feb 14 21:25:36 2015 +0000 + + Updated French translation + +M po/fr.po + +commit a5d5ea20caf8032b52c73e284849c9bb512c4708 +Author: Wolfgang Steitz +Date: Fri Feb 13 16:53:33 2015 -0800 + + Use icon names, not GLib.ThemedIcons, in sidebar: Bug #719284 + + Geary went this way a while back, this moves the technique into + Shotwell. + +M src/camera/Branch.vala +M src/camera/CameraTable.vala +M src/camera/ImportPage.vala +M src/events/Branch.vala +M src/folders/Branch.vala +M src/folders/Folders.vala +M src/library/Branch.vala +M src/library/FlaggedBranch.vala +M src/library/ImportQueueBranch.vala +M src/library/LastImportBranch.vala +M src/library/OfflineBranch.vala +M src/library/TrashBranch.vala +M src/searches/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/tags/Branch.vala + +commit e2198219afc43cb806dbf21b11b5da76c12c7101 +Author: Jim Nelson +Date: Wed Feb 11 15:48:33 2015 -0800 + + Revert "Use Gtk.Stack instead of Gtk.Notebook in LibraryWindow: + Bug #744289" + + This reverts commit be4dc326d7238f72b0db978ec6e594f628f7cecb. + + Problems while editing photos were detected after original commit. + Patch needs more work before accepting. + +M src/library/LibraryWindow.vala + +commit eedaf5b326319ca6755122e3bbe8b135e0dbfe6d +Author: Stas Solovey +Date: Wed Feb 11 22:10:39 2015 +0000 + + Updated Russian translation + +M po/ru.po + +commit 6e3f877e7e42421440150be00c7cdf8abe36237e +Author: Wolfgang Steitz +Date: Tue Feb 10 14:35:27 2015 -0800 + + Use Gtk.Revealer with search bar: Bug #744291 + +M src/SearchFilter.vala +M src/library/LibraryWindow.vala + +commit be4dc326d7238f72b0db978ec6e594f628f7cecb +Author: Wolfgang Steitz +Date: Tue Feb 10 14:31:48 2015 -0800 + + Use Gtk.Stack instead of Gtk.Notebook in LibraryWindow: Bug #744289 + +M src/library/LibraryWindow.vala + +commit f1c52dc49c587b648016de6971ce2631941074b3 +Author: Dušan Kazik +Date: Tue Feb 10 11:47:17 2015 +0000 + + Updated Slovak translation + +M po/sk.po + +commit 8995d2ecbfb49267748e0df25d8f855ffd03ef75 +Author: Stas Solovey +Date: Mon Feb 9 22:38:23 2015 +0000 + + Updated Russian translation + +M po/ru.po + +commit 44c4e5494be314e555d77c6d17cbc618b94e70c3 +Author: Marek Černocký +Date: Sun Feb 8 23:13:50 2015 +0100 + + Updated Czech translation + +M po/cs.po + +commit ae433abbecca1a553ed071122200cb2cd667b703 +Author: Piotr Drąg +Date: Sun Feb 8 14:23:43 2015 +0100 + + Updated Polish translation + +M po/pl.po + +commit 7437c953f761e0c93b98ba0d8191aa3bb7c84255 +Author: Jim Nelson +Date: Fri Feb 6 13:43:33 2015 -0800 + + Update copyright to 2015 + +M INSTALL +M NEWS +M README +M chkver +M configure +M debian/copyright +M help/C/Makefile +M misc/shotwell.appdata.xml +M mkunit +M mkvala +M plugins/common/RESTSupport.vala +M plugins/common/Resources.vala +M plugins/common/SqliteSupport.vala +M plugins/common/VersionNumber.vala +M plugins/shotwell-data-imports/FSpotDatabase.vala +M plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala +M plugins/shotwell-data-imports/FSpotDatabaseTable.vala +M plugins/shotwell-data-imports/FSpotImporter.vala +M plugins/shotwell-data-imports/FSpotMetaTable.vala +M plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala +M plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +M plugins/shotwell-data-imports/FSpotPhotosTable.vala +M plugins/shotwell-data-imports/FSpotRollsTable.vala +M plugins/shotwell-data-imports/FSpotTableBehavior.vala +M plugins/shotwell-data-imports/FSpotTagsTable.vala +M plugins/shotwell-data-imports/shotwell-data-imports.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/BlindsEffect.vala +M plugins/shotwell-transitions/ChessEffect.vala +M plugins/shotwell-transitions/CircleEffect.vala +M plugins/shotwell-transitions/CirclesEffect.vala +M plugins/shotwell-transitions/ClockEffect.vala +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/SquaresEffect.vala +M plugins/shotwell-transitions/StripesEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M samples/simple-plugin/README +M samples/simple-plugin/simple-plugin.vala +M settings-migrator/shotwell-settings-migrator +M src/AppDirs.vala +M src/AppWindow.vala +M src/Application.vala +M src/BatchImport.vala +M src/Box.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/CustomComponents.vala +M src/Debug.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/Exporter.vala +M src/International.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MediaDataRepresentation.vala +M src/MediaInterfaces.vala +M src/MediaMetadata.vala +M src/MediaMonitor.vala +M src/MediaPage.vala +M src/MediaViewTracker.vala +M src/MetadataWriter.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoMonitor.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Printing.vala +M src/Properties.vala +M src/Resources.vala +M src/Screensaver.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/SortedList.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/TimedQueue.vala +M src/Tombstone.vala +M src/UnityProgressBar.vala +M src/Upgrades.vala +M src/VideoMetadata.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/camera/Branch.vala +M src/camera/Camera.vala +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +M src/camera/ImportPage.vala +M src/config/Config.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/core/Alteration.vala +M src/core/ContainerSourceCollection.vala +M src/core/Core.vala +M src/core/DataCollection.vala +M src/core/DataObject.vala +M src/core/DataSet.vala +M src/core/DataSource.vala +M src/core/DataSourceTypes.vala +M src/core/DataView.vala +M src/core/DataViewTypes.vala +M src/core/DatabaseSourceCollection.vala +M src/core/SourceCollection.vala +M src/core/SourceHoldingTank.vala +M src/core/SourceInterfaces.vala +M src/core/Tracker.vala +M src/core/ViewCollection.vala +M src/core/util.vala +M src/data_imports/DataImportJob.vala +M src/data_imports/DataImportSource.vala +M src/data_imports/DataImports.vala +M src/data_imports/DataImportsPluginHost.vala +M src/data_imports/DataImportsUI.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/EventTable.vala +M src/db/PhotoTable.vala +M src/db/SavedSearchDBTable.vala +M src/db/TagTable.vala +M src/db/TombstoneTable.vala +M src/db/VersionTable.vala +M src/db/VideoTable.vala +M src/direct/Direct.vala +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala +M src/direct/DirectView.vala +M src/direct/DirectWindow.vala +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala +M src/events/Branch.vala +M src/events/EventDirectoryItem.vala +M src/events/EventPage.vala +M src/events/Events.vala +M src/events/EventsDirectoryPage.vala +M src/folders/Branch.vala +M src/folders/Folders.vala +M src/folders/Page.vala +M src/library/Branch.vala +M src/library/FlaggedBranch.vala +M src/library/FlaggedPage.vala +M src/library/ImportQueueBranch.vala +M src/library/ImportQueuePage.vala +M src/library/LastImportBranch.vala +M src/library/LastImportPage.vala +M src/library/Library.vala +M src/library/LibraryWindow.vala +M src/library/OfflineBranch.vala +M src/library/OfflinePage.vala +M src/library/TrashBranch.vala +M src/library/TrashPage.vala +M src/main.vala +M src/photos/BmpSupport.vala +M src/photos/GRaw.vala +M src/photos/GdkSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoFileAdapter.vala +M src/photos/PhotoFileFormat.vala +M src/photos/PhotoFileSniffer.vala +M src/photos/PhotoMetadata.vala +M src/photos/Photos.vala +M src/photos/PngSupport.vala +M src/photos/RawSupport.vala +M src/photos/TiffSupport.vala +M src/plugins/DataImportsInterfaces.vala +M src/plugins/ManifestWidget.vala +M src/plugins/Plugins.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/plugins/TransitionsInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/Publishing.vala +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala +M src/searches/Branch.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SavedSearchPage.vala +M src/searches/SearchBoolean.vala +M src/searches/Searches.vala +M src/sidebar/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Sidebar.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/slideshow/Slideshow.vala +M src/slideshow/TransitionEffects.vala +M src/tags/Branch.vala +M src/tags/HierarchicalTagIndex.vala +M src/tags/HierarchicalTagUtilities.vala +M src/tags/TagPage.vala +M src/tags/Tags.vala +M src/threads/BackgroundJob.vala +M src/threads/Semaphore.vala +M src/threads/Threads.vala +M src/threads/Workers.vala +M src/unit/Unit.vala +M src/unit/rc/template.vala +M src/util/KeyValueMap.vala +M src/util/Util.vala +M src/util/file.vala +M src/util/image.vala +M src/util/misc.vala +M src/util/string.vala +M src/util/system.vala +M src/util/ui.vala +M thumbnailer/shotwell-video-thumbnailer.vala +M vapi/ExtendedPosix.vapi +M vapi/LConv.vapi +M vapi/gphoto-2.4/libgphoto2.vapi +M vapi/gphoto-2.5/libgphoto2.vapi +M vapi/gphoto.h +M vapi/libexif.vapi +M vapi/libraw.vapi + +commit eae085285686503c5318d4bae5033c411eef5dd2 +Author: Eduardo Arnold +Date: Thu Feb 5 14:15:27 2015 -0800 + + Better metadata support for Facebook sharing: Bug #742163 + +M THANKS +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit d7595e638b798217cbc55e72652f1fd2927095fe +Author: Marek Černocký +Date: Wed Feb 4 10:46:13 2015 +0100 + + Updated Czech translation + +M po/cs.po + +commit 4c745502b34879b7cd7f61f4bd332734e111c240 +Author: Brian Masney +Date: Tue Feb 3 18:40:39 2015 -0800 + + Fix saved search for photos with unset title: Bug #743923 + +M src/searches/SearchBoolean.vala + +commit fe9d604aa52dfd44855c4b358d8a850d6405dacf +Author: Tim Waugh +Date: Sat Dec 27 19:19:43 2014 +0000 + + F-Spot import: Set exposure time of imported media. + +M plugins/shotwell-data-imports/FSpotImporter.vala + +commit 76240755541fa545ee89c8ce52e22746f0c4aa9d +Author: Tim Waugh +Date: Sat Dec 27 19:19:24 2014 +0000 + + Use importable exposure time if available when importing media. + +M src/data_imports/DataImportJob.vala +M src/data_imports/DataImportSource.vala +M src/plugins/DataImportsInterfaces.vala + +commit 585b3018eabc0b6cefce505142bd2bb14f4ae41b +Author: Tim Waugh +Date: Sat Dec 27 19:18:57 2014 +0000 + + Use importable title when importing media. + +M src/data_imports/DataImportSource.vala + +commit 3191d7d6ca9073406f3e67f70bdcaf312bf4ab6c +Author: Brian Masney +Date: Tue Feb 3 17:56:06 2015 -0800 + + New saved search option: text field is set: Bug #743924 + +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit af5ac66db64ba0542bffc28c6b739bb2361c0da8 +Author: Jim Nelson +Date: Mon Feb 2 18:31:35 2015 -0800 + + Update to 0.21.0 + +M Makefile +M NEWS +M debian/changelog + +commit e97880b0769ebc16380ebe380bf5e5d0c195dcdb +Author: Jim Nelson +Date: Mon Feb 2 11:17:35 2015 -0800 + + Add help/de to .gitignore + +M .gitignore + +commit 2ecda59a5562565967647b6c3d44dd99a48a04ef +Author: Raphaël Halimi +Date: Mon Feb 2 11:16:28 2015 -0800 + + Correct typo in Makefile: Bug #743799 + + Typo in Makefile caused incorrectly-formatted .desktop file for the + Viewer to be generated. + +M Makefile +M THANKS + +commit 795f6f2298a84feaad7f4e2248533a8135d4fb19 +Author: Christian Kirbach +Date: Thu Jan 29 23:11:43 2015 +0100 + + Added German help translation + +M help/Makefile.am +A help/de/de.po + +commit c6d3b7f4e230f25fd66f3c64a110aa0c068643db +Author: Piotr Drąg +Date: Sun Jan 11 15:26:14 2015 +0100 + + Updated Polish translation + +M po/pl.po + +commit 448315975948a8887fd5a034b03bd8b00e9f90df +Author: Daniel Șerbănescu +Date: Thu Jan 8 17:46:06 2015 +0100 + + Updated Romanian Translation + +M po/ro.po + +commit e169105321d8893b7dbf9016c94480592d07a466 +Author: Rafael Ferreira +Date: Thu Jan 8 07:43:49 2015 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 644fd969dc63e85774ae4c136d1282e7ea5f27a1 +Author: Jim Nelson +Date: Wed Jan 7 11:21:58 2015 -0800 + + Add Czech generated help pages to .gitignore + +M .gitignore + +commit cf38e25847b237fb2d4db072dc90fc4bf8b3cd35 +Author: Jim Nelson +Date: Wed Jan 7 11:20:45 2015 -0800 + + Compile under Vala 0.26 and earlier + + Default argument not present in Vala 0.24/0.26 bindings. + +M src/searches/SavedSearchDialog.vala + +commit 64b4fc2f488b25e4d24c20e3ca39a50fdf062e62 +Author: Marek Černocký +Date: Tue Jan 6 22:23:42 2015 +0100 + + Updated Czech translation + +M po/cs.po + +commit aa67bf207f06ae82f28f9d88cc61f2cce9859062 +Author: Trinh Anh Ngoc +Date: Tue Jan 6 12:37:51 2015 -0800 + + Refine saved search dialog (missed in prior commit): Bug #742443 + +M src/searches/SavedSearchDialog.vala +M ui/shotwell.glade + +commit 6421cba95d7541be3b1a18c821b4093e91c75f6c +Author: Jim Nelson +Date: Tue Jan 6 12:31:34 2015 -0800 + + Update debian/control to require GTK+ 3.12 or better + +M debian/control + +commit 31bb622d5f2444cfb0ac4301af17dcb4c79b9da2 +Author: Trinh Anh Ngoc +Date: Mon Jan 5 18:55:11 2015 -0800 + + UI refresh: Update dialogs to modern GTK+ look: Bug #742326 + +M src/Dialogs.vala +M src/Properties.vala +M src/data_imports/DataImportsUI.vala +M src/publishing/PublishingUI.vala +M ui/shotwell.glade + +commit b5501d3f0466749321cc094c6c1852f8cb7ffc1c +Author: Trinh Anh Ngoc +Date: Mon Jan 5 18:42:33 2015 -0800 + + UI refresh: Update main window layout and CSS: Bug #742326 + + This bumps the version requirement for GTK+ to 3.12. + +M Makefile +M THANKS +M src/AppWindow.vala +M src/Page.vala +M src/Resources.vala +M src/SearchFilter.vala +M src/library/LibraryWindow.vala + +commit cba1018084f2c90f8e10efc5e800e7a5c8635bbd +Author: Marek Černocký +Date: Sun Jan 4 22:41:06 2015 +0100 + + Add Czech help translation + +M help/Makefile.am +A help/cs/cs.po + +commit d915f3f60954a59da191fce4b05a482e2458b240 +Author: Rafael Ferreira +Date: Sat Jan 3 20:18:03 2015 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit c3c3c0b97e3b806e123b25c1fb694c828b2c8ab2 +Author: Jim Nelson +Date: Tue Dec 30 14:20:10 2014 -0800 + + Don't call non-threadsafe code from thread in thumbnailer: Bug #742102 + +M src/ThumbnailCache.vala + +commit b1fb4bd09c2a262d1b59197eace723ac868fb42c +Author: Timo Jyrinki +Date: Tue Dec 30 18:05:04 2014 +0200 + + Add Tim Waugh to THANKS file, the previous commit closes Bug #718989 + +M THANKS + +commit 4d088d7bfd5dcf82d8f301667b3856764e7489ad +Author: Tim Waugh +Date: Tue Dec 30 00:55:53 2014 +0000 + + thumbnailer: use gdkpixbufsink. + +M thumbnailer/shotwell-video-thumbnailer.vala + +commit d431810d1730e540e227942df8ff2f9941429610 +Author: Jim Nelson +Date: Mon Dec 29 18:39:17 2014 -0800 + + Avoid soft assertion due to returned NULL when reading video timestamp + +M src/VideoSupport.vala + +commit 69cf4e2886fdab702a608ae08da19f5481df2f55 +Author: Josef Andersson +Date: Sun Dec 28 11:16:01 2014 +0000 + + Updated Swedish translation + +M po/sv.po + +commit 6a35d61c74aeb08cfd025af078224408b11504c8 +Author: Jim Nelson +Date: Mon Dec 22 13:21:13 2014 -0800 + + Prevent video thumbnailer from hanging on malformed vids: Bug #741821 + + Bogus 100-byte file was causing video thumbnailer to hang during pre- + roll. Failure to retrieve duration of video is a good clue that the + video itself is not valid for thumbnailing. + +M thumbnailer/shotwell-video-thumbnailer.vala + +commit 9fe6f3fe97b3b55f83c836c8af3acf5a435d3fa1 +Author: Yuri Myasoedov +Date: Sun Dec 21 11:35:26 2014 +0300 + + Some fixes in Russian translation + +M po/ru.po + +commit 7f8a07f25af841eadece94a53bfb55eed26be556 +Author: Misha Shnurapet +Date: Sat Dec 20 11:04:02 2014 +0300 + + Fixed Russian translation + +M po/ru.po + +commit 22902f6c831a7bc2f4a228f04c394421137c4061 +Author: Jim Nelson +Date: Fri Dec 19 16:22:11 2014 -0800 + + Better guards against crashing in video thumbnailer: Bug #739396 + + For user's video, GStreamer is returning a ridiculously small buffer + (66 bytes) for a frame it reports to be 1920x1080. Since Totem's + thumbnailer works, presumably there's something wrong with ours, but + these changes at least prevent the thumbnailer from crashing deep + inside GDK pixbuf. + +M thumbnailer/shotwell-video-thumbnailer.vala + +commit d6c25c58225b0f3ac803878d7ff3224151f49ee1 +Author: Jim Nelson +Date: Wed Dec 3 12:32:41 2014 -0800 + + Destroy toolbar when leaving fullscreen via double-click: Bug #739498 + + Double-clicking to exit fullscreen-mode has a slightly different code + path than the accelerators, and some legacy code was taking a route + that didn't destroy the FS toolbar at exit. + +M src/PhotoPage.vala +M src/direct/DirectPhotoPage.vala + +commit 68f3f8f3730a4af55bc025dc8f5e192af2de84aa +Author: Tobia Tesan +Date: Mon Nov 24 14:16:35 2014 -0800 + + Natural sorting of photo titles: Bug #717960 + +M Makefile +M src/MediaPage.vala +A src/NaturalCollate.vala +M src/Thumbnail.vala +A test/.gitignore +A test/Makefile +A test/NaturalCollate-Test.vala + +commit ed856388722f80af055409a200592c0df0685791 +Author: Marek Černocký +Date: Sat Nov 15 21:31:19 2014 +0100 + + Updated Czech translation + +M po/cs.po + +commit 6817a778ce9239798775d6460d246571fd93ceef +Author: Jim Nelson +Date: Thu Nov 13 19:37:34 2014 -0800 + + Packaging change to put shotwell-common fix on reg. PPA: Bug #724080 + +M debian/changelog + +commit efc9fbfe1868d6a7cb86f7e8fdf04b7033d17b36 +Author: Jim Nelson +Date: Thu Nov 13 18:37:48 2014 -0800 + + Conflicts/Replaces shotwell-common: Bug #724080 + + Stop-gap to work around packaging conflict issue between Ubuntu's + repos and our PPAs. + +M debian/control + +commit 8b7965cf3b1285fd8da43fdf419e608238cbc27a +Author: Jim Nelson +Date: Fri Oct 31 14:55:11 2014 -0700 + + Update to 0.20.2 + +M Makefile +M NEWS +M debian/changelog + +commit 4ff68f783548e0cb18709698ffe5eb14bbbafc9e +Author: Мирослав Николић +Date: Mon Oct 27 20:54:46 2014 +0100 + + Added Serbian translation + +M po/sr.po +M po/sr@latin.po + +commit 2ae25e17ca131e848ae708a1c01ff68e7167ee5a +Author: Jim Nelson +Date: Fri Oct 24 13:43:36 2014 -0700 + + Check for failure to render video thumbnail: Bug #738245 + + As part of a user reporting problems, their trace indicated that + the GStreamer buffer holding the video thumbnail can sometimes come + back null. shotwell-video-thumbnailer wasn't checking for this + possibility. + +M thumbnailer/shotwell-video-thumbnailer.vala + +commit 0959af2fc5f24de0244753592ef407de3691c56f +Author: Jim Nelson +Date: Thu Oct 23 14:26:36 2014 -0700 + + Include Set Desktop Slideshow dialog in tarball, install: Bug #739095 + +M Makefile + +commit 43a00ec81e269d9a9d467cc6a6fd1ac7fb061f90 +Author: Baurzhan Muftakhidinov +Date: Wed Oct 22 02:57:55 2014 +0000 + + Updated Kazakh translation + +M po/kk.po + +commit 567d30aa448e382014578c79c8824955d0c116a3 +Author: Baurzhan Muftakhidinov +Date: Wed Oct 22 02:51:58 2014 +0000 + + Updated Kazakh translation + +M po/kk.po + +commit 85a9d57e32f996a5ac398dc977ed70df392fd3d2 +Author: Andika Triwidada +Date: Sun Oct 19 09:47:33 2014 +0000 + + Updated Indonesian translation + +M po/id.po + +commit be0d5700417f88b59a52f35030a4f2237636a0e2 +Author: Marek Černocký +Date: Sat Oct 18 16:32:47 2014 +0200 + + Updated Czech translation + +M po/cs.po + +commit 1d9b47181c5fa883723711b61787db696f8367ab +Author: Gábor Kelemen +Date: Wed Oct 8 21:09:39 2014 +0000 + + Updated Hungarian translation + +M po/hu.po + +commit 57038e27c582319f1288c18e632fc81ac3813229 +Author: Wolfgang Stöggl +Date: Mon Oct 6 21:22:27 2014 +0000 + + Updated German translation + +M po/de.po + +commit e25b3187d1def82c627cacd20a6bd7e29f8e9cf3 +Author: Andika Triwidada +Date: Sat Oct 4 13:03:40 2014 +0000 + + Updated Indonesian translation + +M po/id.po + +commit 7b5e811496d8bb00e0001a373a368bc05ae8384a +Author: Jim Nelson +Date: Thu Oct 2 14:55:41 2014 -0700 + + Update to Shotwell 0.20.1 + +M Makefile +M NEWS +M debian/changelog + +commit 706e57044a3da298b1ec335605d8e045fc5096db +Author: Christian Kirbach +Date: Wed Oct 1 19:26:03 2014 +0000 + + Updated German translation + +M po/de.po + +commit 29a1f2a95addbe4f1c2844cdecc71942f075e297 +Author: Piotr Drąg +Date: Sun Sep 28 20:22:31 2014 +0200 + + Updated Polish translation + +M po/pl.po + +commit 821c4b5ab328b70b56ac3b8a90d8ab6c9f8e7a4b +Author: Jim Nelson +Date: Fri Sep 26 16:07:25 2014 -0700 + + Further improvements to source pixbuf cache LRU + +M src/Photo.vala + +commit 9eee3f581cf63330406ef1f109cd15e869a81154 +Author: Jim Nelson +Date: Fri Sep 26 14:32:08 2014 -0700 + + Update displayed image after straighten: Bug #719120 + + When a straighten occurs, the displayed image was not updated. + +M src/Commands.vala +M src/PixbufCache.vala + +commit 1c66a9795e8643f74f43749460cdc84c81370f8d +Author: Jim Nelson +Date: Fri Sep 26 14:30:29 2014 -0700 + + Reduce debug output of source pixbuf cache + + Previous commit introduced more debug logging than is really + necessary. + +M src/Photo.vala + +commit aad834d256cea006a06db494d16522dbed9ca37c +Author: Jim Nelson +Date: Fri Sep 26 13:32:29 2014 -0700 + + More conservative source pixbuf caching: Bug #715198 + + Prior source pixbuf (untransformed, full-sized decoded images) cache + was per-photo, holding onto the source pixbuf for 180s. For casual + browsing it wasn't onerous, but if the photos were loaded quickly + in succession (either with the photo viewer or, worse, via the + programmatic thumbnail regenerator) memory usage would climb into the + gigabytes. + + This uses a more conservative source pixbuf cache, holding only a few + at a time and releasing them much more quickly. The PixbufCache + class does a better job of long-term pixbuf caching by holding onto + scaled images rather than full-sized. + +M src/Photo.vala +M src/direct/DirectPhoto.vala + +commit 8a18a1db584ecb0312583b6a219d5ba31187d963 +Author: Jim Nelson +Date: Fri Sep 26 12:11:39 2014 -0700 + + Fix dtor names, empty if blocks + + Detected by latest build of Vala. Correcting empty if blocks seems + to correct harmless bugs. + +M plugins/common/RESTSupport.vala +M src/Commands.vala +M src/SearchFilter.vala +M src/Tag.vala +M src/searches/SavedSearchDialog.vala +M src/tags/HierarchicalTagUtilities.vala + +commit a339a68ed240689736861d554d37d52ba5920d7f +Author: Jim Nelson +Date: Thu Sep 25 17:39:04 2014 -0700 + + Improved logging in MetadataWriter + +M src/MetadataWriter.vala + +commit b46fdc6e7904589f6a547178f6473b2b8fe31b80 +Author: Jim Nelson +Date: Thu Sep 25 14:55:33 2014 -0700 + + Disambiguate common strings: Bug #736632 + +M src/Dialogs.vala +M src/Resources.vala + +commit 229affac398704ee5376fa54203a193c79fd36dd +Author: Jim Nelson +Date: Thu Sep 25 14:48:31 2014 -0700 + + Split string in Gallery connector: Bug #736634 + +M plugins/shotwell-publishing-extras/GalleryConnector.vala + +commit 590db90e4f8922de1db607ec9bc7086a1bd1f9ab +Author: Jim Nelson +Date: Thu Sep 25 14:44:50 2014 -0700 + + Plural form for Flickr string: Bug #736633 + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 6dc0d5a83b011ac118fda736ecd04a87347e154a +Author: Jim Nelson +Date: Wed Sep 24 19:29:42 2014 -0700 + + Fix fullscreen navigation: Bug #737092 + + This restores fullscreen navigation without introducing regression + of bug #719183, which is where bug was introduced. + +M src/AppWindow.vala + +commit 0176ef02c0832272911129a0d970d304f5d155a1 +Author: Jim Nelson +Date: Fri Sep 19 12:28:16 2014 -0700 + + Update to 0.20.0 + +M Makefile +M NEWS +M debian/changelog + +commit eb05bc39133ee8ebd3ce303ba2efda226dc10e44 +Author: Jim Nelson +Date: Tue Sep 16 14:08:01 2014 -0700 + + Don't update GTK+/GDK in background thread (viewer mode): Bug #736771 + + Signal being fired by DirectPhoto was bubbling up to a change in a + GTK+ property, a problem when this occurs in a background thread. + This change ensures the signal is fired in the main event loop. + +M src/direct/DirectPhotoPage.vala + +commit 34b69213c6e14f54a5a5960cdbe79812120ddfde +Author: Ville-Pekka Vainio +Date: Sun Sep 14 19:58:49 2014 +0300 + + Finnish translation update by Jiri Grönroos + +M po/fi.po + +commit 35549818c393aa1120bf5412d94c486824dfc65d +Author: Dušan Kazik +Date: Sat Sep 13 21:40:38 2014 +0000 + + Updated Slovak translation + +M po/sk.po + +commit cfcb002cdf431a0564e1d071e0f0fcd7bc346876 +Author: Jim Nelson +Date: Tue Sep 9 13:40:58 2014 -0700 + + Better error handling with Photo.get_prefetched_copy() + + Throw an Error rather than return null, which wasn't being handled + correctly in all cases. + +M src/Photo.vala +M src/PhotoPage.vala + +commit 0970d09ae749d850d76828dd74d9b82e298d0027 +Author: Ask H. Larsen +Date: Sat Sep 6 10:14:09 2014 +0200 + + Updated Danish translation + +M po/da.po + +commit 926527bffb003dbc815224e7c205f53a425a122d +Author: Andika Triwidada +Date: Fri Sep 5 12:50:36 2014 +0000 + + Updated Indonesian translation + +M po/id.po + +commit 677de16be1b2b76e13593ecce9f06c3aac8d90a6 +Author: Jim Nelson +Date: Thu Aug 21 14:22:40 2014 -0700 + + Update to 0.19.0 + +M Makefile +M NEWS +M debian/changelog + +commit 5828825fa45784c3a24e0f623c65864a33506bb8 +Author: Jim Nelson +Date: Thu Aug 21 13:53:02 2014 -0700 + + Fix set_default_icon_list() ownership transfer bug + + Ownership of the GList is transferred in this call, so a copy should + be passed instead. This will be fixed in a future version of Vala. + + Upcoming versions of Vala will also not allow private members in + structs, so that is removed here as well. + + https://mail.gnome.org/archives/vala-list/2014-August/msg00022.html + +M src/AppWindow.vala +M src/Dimensions.vala +M vapi/libraw.vapi + +commit 1491418f8cddb2cecc7001a1e9f7109ee8281a8d +Author: Jim Nelson +Date: Tue Aug 19 14:34:00 2014 -0700 + + Don't crash on imported photo: Bug #734986 + + The user's photo was identified as JFIF but is an incomplete file. + The JFIF sniffer reported it could not identify the file, which is + somewhat incorrect. The RAW sniffer then tried to identify the file + and crashed inside of libraw. + + Now when a sniffer can appropriately detect the file is corrupt it + will be reported as such. All GdkSniffers will do this if they (a) + read the entire file and (b) no image was prepared. Because they all + use pre-condition checking to sanity check that the file is their + format (via magic header bytes), this works. + +M src/Photo.vala +M src/photos/BmpSupport.vala +M src/photos/GdkSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoFileFormat.vala +M src/photos/PhotoFileSniffer.vala +M src/photos/PngSupport.vala +M src/photos/RawSupport.vala +M src/photos/TiffSupport.vala + +commit d6e0616cb163980139ca66de1ba143351abcfdbc +Author: Hajime Taira +Date: Fri Aug 15 04:27:02 2014 +0900 + + l10n: Update Japanese translation + +M po/ja.po + +commit e6a5823d52a9a07f9e2165929ce2e870eda980d4 +Author: Jim Nelson +Date: Fri Aug 8 13:26:09 2014 -0700 + + Update links in .doap, README + +M README +M shotwell.doap + +commit 4ca3cbcfa1a89b194b2fa3058a6909f0e5ab0434 +Author: Jim Nelson +Date: Fri Aug 8 13:17:24 2014 -0700 + + Remove Charles from .doap, change category to apps + + Also added full description. + +M shotwell.doap + +commit 60d94f3456350df413a440fcdd8f398f5f9ef939 +Author: Shushi Kurose +Date: Sun Aug 3 16:35:11 2014 +0900 + + l10n: Update Japanese translation + +M po/ja.po + +commit 3c8ac3788b488d43e37dfea3b959834ceeae232f +Author: Mike Gorse +Date: Thu Jul 24 14:01:45 2014 -0700 + + Don't crash after deleting photo in full-window mode: Bug #732964 + +M THANKS +M src/PhotoPage.vala + +commit 4b9c39852fcfe3d62b0337db59c701d075384d09 +Author: Dominique Leuenberger +Date: Thu Jul 24 13:36:16 2014 -0700 + + Build with Vala 0.25.1: Bug #733650 + +M Makefile +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 05503fedb39444b2d6e98d4e941a34e4ccf411f4 +Author: Inaki Larranaga Murgoitio +Date: Wed Jul 23 10:20:27 2014 +0200 + + Updated Basque language + +M po/eu.po + +commit 1cd085accc2c456739873591368f35868b1937eb +Author: GunChleoc +Date: Fri Jul 11 09:59:23 2014 +0000 + + Updated Scottish Gaelic translation + +M po/gd.po + +commit c71ce0d90d8ea61adf500484fa3f73b4fc78a630 +Author: Jim Nelson +Date: Tue Jul 1 14:30:40 2014 -0700 + + Update to 0.18.1 + +M Makefile +M NEWS +M debian/changelog + +commit d4420d65d843a4e6cf63ecfc00724735fc70f309 +Author: Daniel Landau +Date: Mon Jun 30 14:23:49 2014 -0700 + + Don't crash when cursor goes away due to removed photo: Bug #732334 + + When a photo is removed from a collection (moved to another collection + or removed outright), the view's cursor may go away with it. Add some + code to check for cursor's presence before using it. + +M src/CheckerboardLayout.vala +M src/Page.vala + +commit 97844ae7c8d66cb17126dce5b0086948a73a5eae +Author: Jim Nelson +Date: Mon Jun 30 14:08:08 2014 -0700 + + Fix debian/control file for Daily Build PPA + + Utopic doesn't carry valac-0.22, so marking valac virtual package + as dependency for the required version in the Makefile. + +M debian/control + +commit 171a475a6f8e71ec6379c8b25b844f409a3d061c +Author: Jim Nelson +Date: Mon Jun 30 13:54:17 2014 -0700 + + .gitignore generated pages for Hungarian documentation + +M .gitignore + +commit ead3a6f75c001059980cc4a2c287feb0622f3c89 +Author: Joseph Bylund +Date: Mon Jun 30 13:53:20 2014 -0700 + + Fix Flickr publishing (now HTTPs only): Bug #732432 + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 7eacda49982dd04952c7355c65eb9149a1df0f64 +Author: Daniel Mustieles +Date: Mon Jun 30 13:52:54 2014 +0200 + + Updated Spanish translation + +M po/es.po + +commit 26da62985087d4533f67d090ca411835393be20e +Author: Gabor Kelemen +Date: Fri Jun 27 01:39:20 2014 +0200 + + Added hu to DOC_LINGUAS to make d-l happy + +M help/Makefile.am + +commit 2d2c1f931ddda8bf00b220da1cad6d1258fc85bd +Author: Gabor Kelemen +Date: Fri Jun 27 01:38:38 2014 +0200 + + Initial Hungarian help translation added + +A help/hu/hu.po + +commit a699d97b80dfb1af11cd89957d65bdad4f1ff594 +Author: Jim Nelson +Date: Mon Jun 23 11:46:46 2014 -0700 + + Don't call gdk_cairo_create() outside of begin/end_paint: Bug #732118 + + Interactive pan/zoom would paint directly to GDK window's Cairo + context outside of a draw() signal. A recent change to GTK+ in 3.13.3 + removes this functionality and requires wrapping this code between + gdk_window_begin_paint_region() and gdk_window_end_paint(). It's far + easier to simply queue a redraw and let the usual draw handler deal + with it. + + See: + https://mail.gnome.org/archives/gtk-devel-list/2014-June/msg00010.html + +M src/Page.vala + +commit 6c8f2f76df1291df1bfadeb3f96b98edc07eb954 +Author: Cheng-Chia Tseng +Date: Sun Jun 22 09:04:41 2014 +0000 + + Updated Chinese (Taiwan) translation + +M po/zh_TW.po + +commit d6d00a7d099508ef2071cf4526a754d11f1829fc +Author: Rafael Ferreira +Date: Mon Jun 16 11:22:25 2014 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit e09c432f7a53b51ca7fe84c49c2552486e14a4bb +Author: Daniel Landau +Date: Tue Jun 10 13:12:59 2014 -0700 + + Nested tag can cause crash when changing selection: Bug #730336 + +M src/sidebar/Tree.vala + +commit 9f93c37e98f37443b6e37ee73a8925d93afbe8e0 +Author: Daniel Landau +Date: Tue Jun 10 13:03:02 2014 -0700 + + Create disjoint selection using keyboard: Bug #716663 + +M src/CheckerboardLayout.vala +M src/Page.vala + +commit 6f88af121020ce47dd0dade4a53b033f0857219c +Author: Marek Černocký +Date: Sat May 31 12:36:45 2014 +0200 + + Updated Czech translation + +M po/cs.po + +commit a8a5a57bf09c05daa5271842acaa2e7ae399750d +Author: Piotr Drąg +Date: Thu May 29 18:23:55 2014 +0200 + + Updated Polish translation + +M po/pl.po + +commit 1e490349f55dec564688427829329e33aadd7bda +Author: Wolfgang Steitz +Date: Tue May 27 13:36:36 2014 -0700 + + Stop keypress double propagation in fullscreen mode: Bug #719183 + +M src/AppWindow.vala + +commit d094802109467d22c75bde686f2b79aa104e73f4 +Author: Piotr Drąg +Date: Tue May 27 22:09:56 2014 +0200 + + Updated POTFILES.in + +M po/POTFILES.in + +commit 4df1d2c3bbf27f8ef271c37c812ee96b77e7a19d +Author: Jim Nelson +Date: Tue May 27 12:50:15 2014 -0700 + + Fix URLs pointing to yorba.org and Redmine: Closes bug #730575 + +M plugins/common/Resources.vala +M src/AppWindow.vala +M src/Resources.vala +M src/main.vala +M src/plugins/SpitInterfaces.vala + +commit 2fca14c93a941eea778babcc71b4b03f7a4dd690 +Author: Daniel Landau +Date: Wed May 14 15:08:53 2014 +0300 + + Allow setting background on lock screen: Bug #724755 + + Add checkboxes to the slideshow dialog to select whether to set the + desktop background, the lock screen, or both. Add the same + checkboxes to + a new dialog for setting a background photo. + +M src/CollectionPage.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M ui/set_background_dialog.glade +C072 ui/set_background_dialog.glade +ui/set_background_slideshow_dialog.glade + +commit 8a55f07150a89fe1624e138b177a51973b740bee +Author: Rafael Ferreira +Date: Mon May 26 00:22:22 2014 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 89921e395ee7a7f07db3ac85386c51fcd6c0acc6 +Author: Jim Nelson +Date: Fri May 23 15:22:50 2014 -0700 + + Update AppData to validate + +M misc/shotwell.appdata.xml + +commit 3b6886da6a601e3dace0fe3efd7269e438a2ba14 +Author: GunChleoc +Date: Mon May 19 09:15:22 2014 +0000 + + Updated Scottish Gaelic translation + +M po/gd.po + +commit ba9ed37d02d6a62fb5dbe47cb453171f9c23e4b5 +Author: Marek Černocký +Date: Wed May 14 13:34:35 2014 +0200 + + Updated Czech translation + +M po/cs.po + +commit aa32700e0632d7f9cca53fa9fafc5375754b9683 +Author: Jim Nelson +Date: Tue May 13 10:56:49 2014 -0700 + + Shotwell crashes when adjusting date/time: Closes bug #719098 + + Assertion was unnecessary and faulty. + +M src/Event.vala + +commit 97d965a30abaceba52e48e74a11d6c532169343a +Author: Rafael Ferreira +Date: Sun May 11 00:03:32 2014 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit db74ab9eb328eaefa5710ea8643d5c3017ac758c +Author: Piotr Drąg +Date: Thu May 8 00:25:32 2014 +0200 + + Updated Polish translation + +M po/pl.po + +commit 3007b2ec2a450034e5bc97d7d03df02ab10778fe +Author: Jim Nelson +Date: Tue May 6 13:58:53 2014 -0700 + + Add comment to prevent plugin install problems later + +M plugins/shotwell-publishing-extras/Makefile + +commit e1952f079ad4b11cc5826d4287ca1a4ac601d245 +Author: Petr Heynch +Date: Tue May 6 13:57:36 2014 -0700 + + Add Rajce.net icon: bug #729666 + +M plugins/plugins.mk +M plugins/shotwell-publishing-extras/Makefile +A plugins/shotwell-publishing-extras/rajce.png + +commit 9d8bfc1e8b5fb499b4b2e618360737db9195aea4 +Author: Daniel Korostil +Date: Tue May 6 23:17:27 2014 +0300 + + Updated Ukrainian translation + +M po/uk.po + +commit 4d6d6522ccafa3665745dca3ca3173ffa319fb4c +Author: Daniel Korostil +Date: Tue May 6 23:11:25 2014 +0300 + + Updated Ukrainian translation + +M po/uk.po + +commit 6d93554176ee59f4f5f473eacd5adbd8f1eb8c7c +Author: Daniel Landau +Date: Tue May 6 11:50:21 2014 -0700 + + Update cursor state after full-window mode: bug #729562, bug #719169 + + If the user double-clicks on a photo and moves through the collection + and/or removes photos from the collection, the cursor state in the + original page becomes bogus and leads to strange results when + navigating the cursor with the keyboard. This patch re-updates the + cursor state when returning to the page. + +M THANKS +M src/MediaPage.vala + +commit 2a6f84f55fecfdface61556aa7f30269c526e582 +Author: Joe Sapp +Date: Tue May 6 11:37:42 2014 -0700 + + Publish to Gallery 3: Closes bug #717839 + + Added to Shotwell Publishing Extras. + +M THANKS +M misc/org.yorba.shotwell.gschema.xml +M plugins/plugins.mk +A plugins/shotwell-publishing-extras/GalleryConnector.vala +M plugins/shotwell-publishing-extras/Makefile +A plugins/shotwell-publishing-extras/gallery3.png +A +plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade +A +plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M po/POTFILES.in + +commit 449a856ec8441c837126bcd791b9bddfaf37edcc +Author: Wolfgang Steitz +Date: Tue May 6 11:20:41 2014 -0700 + + Deduce crop constraint when re-cropping image: Closes bug #719109 + +M src/editing_tools/EditingTools.vala + +commit afd4a3c04d53ebefb8be9b46bc1c54480786fa0b +Author: Petr Heynch +Date: Tue May 6 10:57:40 2014 -0700 + + Support for Rajce.net photo sharing service: Closes bug #722202 + + Added to Shotwell publishing extras. + +M THANKS +M misc/org.yorba.shotwell-extras.gschema.xml +M misc/org.yorba.shotwell.gschema.xml +M plugins/plugins.mk +M plugins/shotwell-publishing-extras/Makefile +A plugins/shotwell-publishing-extras/RajcePublishing.vala +A plugins/shotwell-publishing-extras/rajce_authentication_pane.glade +A +plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M po/POTFILES.in + +commit 21c6a729c2cdc5d1503573fba2f27f8f13c1bf7d +Author: Christian Kirbach +Date: Thu May 1 18:31:21 2014 +0000 + + Updated German translation + +M po/de.po + +commit 9602e927c06cc31a443f62f58cdaff507be057e4 +Author: Dámaris Letelier +Date: Tue Apr 22 18:03:46 2014 +0200 + + Updated Spanish Translation + +M help/es/es.po + +commit 27b759a9527c66f12355c2ae33e1f1cccbf227c2 +Author: Daniel Mustieles +Date: Tue Apr 15 14:32:45 2014 +0200 + + Updated Spanish translation + +M help/es/es.po + +commit ceb793cdeddc67b27346cd5fae86a7c9e1f8b140 +Author: Daniel Mustieles +Date: Mon Apr 14 18:16:54 2014 +0200 + + Updated Spanish translation + +M help/es/es.po + +commit 80894811fb6ea0e78db07c3582bc9520a6bd3bff +Author: GunChleoc +Date: Mon Apr 14 09:46:53 2014 +0000 + + Updated Scottish Gaelic translation + +M po/gd.po + +commit 7b817ceca48322e8ae562b15fb4d39a82183e824 +Author: Aurimas Černius +Date: Sun Apr 13 23:05:05 2014 +0300 + + Updated Lithuanian translation + +M po/lt.po + +commit a76a8be6c949a7c9cfe60dd65093a5218a9e6a39 +Author: Daniel Mustieles +Date: Fri Apr 11 14:08:56 2014 +0200 + + Updated Spanish translation + +M help/es/es.po + +commit 0e0747baec471ac6ff25b6a687c0707d05ff849b +Author: GunChleoc +Date: Thu Apr 10 15:18:55 2014 +0000 + + Added Scottish Gaelic translation + +M po/LINGUAS +A po/gd.po + +commit 2bb2b0273a736df79a889a4bd7e9822b1996ee48 +Author: Daniel Mustieles +Date: Wed Apr 9 17:51:37 2014 +0200 + + Updated Spanish translation + +M help/es/es.po + +commit 68104d8e5e6fad0fd984dc0754d8a93654401ca4 +Author: Sam Friedmann +Date: Mon Apr 7 09:09:18 2014 +0000 + + Updated French translation + +M po/fr.po + +commit 254bb6e9b9e41532638e12759d26a1f66c8c0b3c +Author: Мирослав Николић +Date: Sat Apr 5 21:53:28 2014 +0200 + + Updated Serbian translation + +M po/sr.po +M po/sr@latin.po + +commit 512022bd7baaea3a4e75f447b8710de6bac6c1cf +Author: Ibrahim Saed +Date: Sat Apr 5 12:22:26 2014 +0100 + + Updated Arabic translation + +M po/ar.po + +commit eb0b8421045346131269d2a82159db09a05bba82 +Author: Rafael Ferreira +Date: Thu Apr 3 10:59:36 2014 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit b2d86f1f4b79766e724be7ed8f809893c83f0922 +Author: Rob van den Berg +Date: Tue Apr 1 08:28:27 2014 +0200 + + Updated Dutch translation master 0.18.0 + +M po/nl.po + +commit 8fcd6dff56c3134f50fc431dd481bd5a09035513 +Author: Marek Černocký +Date: Mon Mar 31 11:04:04 2014 +0200 + + Updated Czech translation + +M po/cs.po + +commit 55d5f2b7bbce2008e17fa65cd218b2525c45b3b7 +Author: Piotr Drąg +Date: Sun Mar 30 17:53:46 2014 +0200 + + Updated Polish translation + +M po/pl.po + +commit 001e91ac66857daaa7e2c53870e449db96081a9c +Author: Andika Triwidada +Date: Sun Mar 30 03:24:04 2014 +0000 + + Updated Indonesian translation + +M po/id.po + +commit dc7ec9a7f3094941d42f3768e91e6b52d740bc19 +Author: Jim Nelson +Date: Fri Mar 28 13:46:52 2014 -0700 + + Improved "Empty Trash" dialog buttons: Closes bgo#725085 + +M src/Dialogs.vala + +commit dd7931023a65addb36ff7888b4d8d41e33c1df55 +Author: Мирослав Николић +Date: Wed Mar 26 12:10:36 2014 +0100 + + Added Serbian translation + +M po/LINGUAS +M po/sr.po +A po/sr@latin.po + +commit dbb61655a4e9300540f163fcd3456c8f16829496 +Author: Daniel Korostil +Date: Tue Mar 25 22:15:35 2014 +0200 + + Added uk translation + +M po/uk.po + +commit 790b1fc10a009a32e43c041bc7aeeeb7245fa5f4 +Author: Jim Nelson +Date: Tue Mar 18 16:04:35 2014 -0700 + + Updated to Shotwell 0.18.0 + + Also includes packaging and tarball dist fixes. + +M Makefile +M NEWS +M debian/changelog + +commit aac9ddaf189645dc25dd2dc7dc3b6f077e2df96b +Author: Jim Nelson +Date: Tue Mar 18 14:43:37 2014 -0700 + + Package requirements for generating translated help pages + +M Makefile +M debian/control + +commit 642c249334874e1dd3ffd45fec837548a1e0bc61 +Author: Jim Nelson +Date: Tue Mar 18 13:13:35 2014 -0700 + + Compile and install translated help pages: Closes bgo#726589 + + Help .po files are compiles with the English .page files to generate + translated .page files at compile time. + +M .gitignore +M Makefile +M help/Makefile.am + +commit 9b771631f4d4c104ecf76e3b9218b43d4376a57f +Author: Dimitris Spingos +Date: Sun Mar 16 22:06:16 2014 +0200 + + Added Greek translation of help + +M help/Makefile.am +A help/el/el.po + +commit 4bc5f54b28831dbd81185e150d3807f3aa434647 +Author: Daniel Mustieles +Date: Fri Mar 14 18:02:09 2014 +0100 + + Updated Spanish translation + +M help/es/es.po + +commit fe0d93af6a25fab91d31efd1ff735578516f84a5 +Author: Rafael Ferreira +Date: Fri Mar 14 14:44:35 2014 +0000 + + Updated Brazilian Portuguese translation + +M po/pt_BR.po + +commit 3a6da2320e7055c4404c41d993834d4e9c1fe510 +Author: Aurimas Černius +Date: Fri Mar 7 22:44:07 2014 +0200 + + Updated Lithuanian translation + +M po/lt.po + +commit 9d14fb667e89bc57e9ee690a2b68e8762aa8747a +Author: Marek Černocký +Date: Thu Mar 6 12:36:15 2014 +0100 + + Updated Czech translation + +M po/cs.po + +commit f64ae4edf12ee3e6067db38e69e976747db29705 +Author: Balázs Úr +Date: Wed Mar 5 16:12:12 2014 +0000 + + Updated Hungarian translation + +M po/hu.po + +commit 76fff78f9f283afc51eebe4b71dba7f0c5aa7966 +Author: Jim Nelson +Date: Tue Mar 4 15:23:46 2014 -0800 + + Updated to Shotwell 0.17.2 + +M Makefile +M NEWS + +commit 2ec1ed7d49c442cbcbb2855623f92340d74d91bf +Author: Jim Nelson +Date: Tue Mar 4 14:34:04 2014 -0800 + + Revert "Prevent Extended Info text moving horiz: Closes bgo#718901" + + This reverts commit 7f6d4c1d66e3d11cb824135f05f4e7e25bfcb0a7. + +M src/Properties.vala + +commit b211542cb0326f9fcb110b9a1113a1809e374f0d +Author: Jim Nelson +Date: Tue Mar 4 14:26:23 2014 -0800 + + Too many open files when importing videos: Closes bgo#719121 + + A pipe was being unnecessarily created for launching the Shotwell + video thumbnailer, one per imported video. + +M src/VideoSupport.vala + +commit 18c905aff93fadbf2c7b2354f4543c1cc3124d21 +Author: Brian Masney +Date: Tue Mar 4 13:51:15 2014 -0800 + + Allow searching for event comments: Closes bgo#723749 + +M THANKS +M src/Event.vala + +commit f691aca08a53eddbbd5eeece7782d1a70da5348a +Author: Wolfgang Steitz +Date: Tue Mar 4 13:45:00 2014 -0800 + + Saved search supports diacritics: Closes bgo#719112 + +M src/Tag.vala +M src/searches/SearchBoolean.vala +M src/util/string.vala + +commit 7f6d4c1d66e3d11cb824135f05f4e7e25bfcb0a7 +Author: Joseph Bylund +Date: Tue Mar 4 13:39:35 2014 -0800 + + Prevent Extended Info text moving horiz: Closes bgo#718901 + + This prevents the text from moving horizontally when adding the + additional fields Shotwell displays for RAW photos. Only + vertical space is added (or removed). + +M src/Properties.vala + +commit f5609d893cd23b9d581925d7c366cf11353b076c +Author: Wolfgang Steitz +Date: Tue Mar 4 12:25:14 2014 -0800 + + Remeber "pin toolbar" state in fullscreen: Closes bgo#719111 + +M misc/org.yorba.shotwell.gschema.xml +M src/AppWindow.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala + +commit 35632da1ea90095ca1921eaba53631cc895fbe69 +Author: Claude Paroz +Date: Tue Feb 25 10:48:23 2014 +0100 + + Updated French translation + +M po/fr.po + +commit e964e547240552152242b75265ced20726b8f762 +Author: Vangelis Skarmoutsos +Date: Tue Feb 18 10:35:06 2014 +0200 + + Updated Greek translation + +M po/el.po + +commit a7c304e6683837cf7f0f99a6b7b0846763e3c6c8 +Author: Jim Nelson +Date: Mon Feb 17 16:51:32 2014 -0800 + + Update to version 0.17.1. + +M Makefile +M NEWS + +commit 6321cbf488c147e394e52c77badfed34f33352f6 +Author: Jim Nelson +Date: Tue Feb 11 14:08:58 2014 -0800 + + Revert "Incl matching folder names keyword search: Closes bgo#722756" + + This reverts commit 51f04e9c1f9c8605a9945a63d93681823fc39c50. + +M THANKS +M src/MediaDataRepresentation.vala + +commit 65d5379d3ea2c20326f4135623dd5f128ea9afde +Author: Andika Triwidada +Date: Fri Feb 7 06:16:41 2014 +0000 + + Updated Indonesian translation + +M po/id.po + +commit 4b7d9fabc353968a5451ad363788df57a3684a36 +Author: Fran Diéguez +Date: Fri Feb 7 01:56:19 2014 +0100 + + Updated Galician translations + +M po/gl.po + +commit 8a84058adcfe2a4ceecb67440f80f43a5f1117e7 +Author: ngoswami +Date: Thu Feb 6 10:12:19 2014 +0000 + + Updated Assamese translation + +M po/as.po + +commit 4e016ae01de854983f8c41871fb943a3453ca5f4 +Author: Piotr Drąg +Date: Wed Feb 5 19:42:57 2014 +0100 + + Updated Polish translation + +M po/pl.po + +commit 57c9c4ba2b56279ad6eaba854038a454946fd311 +Author: Jim Nelson +Date: Tue Feb 4 17:49:54 2014 -0800 + + Shotwell 0.17.0 + + This also closes bgo#719310, as this is the first release using the + GNOME versioning scheme. + +M Makefile +M NEWS + +commit 51f04e9c1f9c8605a9945a63d93681823fc39c50 +Author: ritchiew +Date: Tue Feb 4 17:38:00 2014 -0800 + + Include matching folder names for keyword search: Closes bgo#722756 + + Photos in the library match on their folder names up to the library + root. Photos outside the library match only on their folder name. + +M THANKS +M src/MediaDataRepresentation.vala + +commit dab057de12b8685996d761ff60518818a36d9a85 +Author: Jim Nelson +Date: Tue Feb 4 16:26:22 2014 -0800 + + Glade strings not intended for translation: Closes bgo#723538 + + Some strings in the plugin Glade files are populated in code and + should not be marked for translation. + +M +plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade +M plugins/shotwell-publishing/facebook_publishing_options_pane.glade +M plugins/shotwell-publishing/flickr_publishing_options_pane.glade +M plugins/shotwell-publishing/picasa_publishing_options_pane.glade + +commit e8904c094475cea16aed9acb6b9839c7c8c7fc09 +Author: Jim Nelson +Date: Tue Feb 4 16:07:44 2014 -0800 + + Update copyrights to 2014: Closes bgo#722382 + +M INSTALL +M README +M chkver +M configure +M debian/copyright +M help/C/Makefile +M misc/shotwell.appdata.xml +M mkunit +M mkvala +M plugins/common/RESTSupport.vala +M plugins/common/Resources.vala +M plugins/common/SqliteSupport.vala +M plugins/common/VersionNumber.vala +M plugins/shotwell-data-imports/FSpotDatabase.vala +M plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala +M plugins/shotwell-data-imports/FSpotDatabaseTable.vala +M plugins/shotwell-data-imports/FSpotImporter.vala +M plugins/shotwell-data-imports/FSpotMetaTable.vala +M plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala +M plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +M plugins/shotwell-data-imports/FSpotPhotosTable.vala +M plugins/shotwell-data-imports/FSpotRollsTable.vala +M plugins/shotwell-data-imports/FSpotTableBehavior.vala +M plugins/shotwell-data-imports/FSpotTagsTable.vala +M plugins/shotwell-data-imports/shotwell-data-imports.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/BlindsEffect.vala +M plugins/shotwell-transitions/ChessEffect.vala +M plugins/shotwell-transitions/CircleEffect.vala +M plugins/shotwell-transitions/CirclesEffect.vala +M plugins/shotwell-transitions/ClockEffect.vala +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/SquaresEffect.vala +M plugins/shotwell-transitions/StripesEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M samples/simple-plugin/simple-plugin.vala +M settings-migrator/shotwell-settings-migrator +M src/AppDirs.vala +M src/AppWindow.vala +M src/Application.vala +M src/BatchImport.vala +M src/Box.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/CustomComponents.vala +M src/Debug.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/Exporter.vala +M src/International.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MediaDataRepresentation.vala +M src/MediaInterfaces.vala +M src/MediaMetadata.vala +M src/MediaMonitor.vala +M src/MediaPage.vala +M src/MediaViewTracker.vala +M src/MetadataWriter.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoMonitor.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Printing.vala +M src/Properties.vala +M src/Resources.vala +M src/Screensaver.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/SortedList.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/TimedQueue.vala +M src/Tombstone.vala +M src/UnityProgressBar.vala +M src/Upgrades.vala +M src/VideoMetadata.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/camera/Branch.vala +M src/camera/Camera.vala +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +M src/camera/ImportPage.vala +M src/config/Config.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/core/Alteration.vala +M src/core/ContainerSourceCollection.vala +M src/core/Core.vala +M src/core/DataCollection.vala +M src/core/DataObject.vala +M src/core/DataSet.vala +M src/core/DataSource.vala +M src/core/DataSourceTypes.vala +M src/core/DataView.vala +M src/core/DataViewTypes.vala +M src/core/DatabaseSourceCollection.vala +M src/core/SourceCollection.vala +M src/core/SourceHoldingTank.vala +M src/core/SourceInterfaces.vala +M src/core/Tracker.vala +M src/core/ViewCollection.vala +M src/core/util.vala +M src/data_imports/DataImportJob.vala +M src/data_imports/DataImportSource.vala +M src/data_imports/DataImports.vala +M src/data_imports/DataImportsPluginHost.vala +M src/data_imports/DataImportsUI.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/EventTable.vala +M src/db/PhotoTable.vala +M src/db/SavedSearchDBTable.vala +M src/db/TagTable.vala +M src/db/TombstoneTable.vala +M src/db/VersionTable.vala +M src/db/VideoTable.vala +M src/direct/Direct.vala +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala +M src/direct/DirectView.vala +M src/direct/DirectWindow.vala +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala +M src/events/Branch.vala +M src/events/EventDirectoryItem.vala +M src/events/EventPage.vala +M src/events/Events.vala +M src/events/EventsDirectoryPage.vala +M src/folders/Branch.vala +M src/folders/Folders.vala +M src/folders/Page.vala +M src/library/Branch.vala +M src/library/FlaggedBranch.vala +M src/library/FlaggedPage.vala +M src/library/ImportQueueBranch.vala +M src/library/ImportQueuePage.vala +M src/library/LastImportBranch.vala +M src/library/LastImportPage.vala +M src/library/Library.vala +M src/library/LibraryWindow.vala +M src/library/OfflineBranch.vala +M src/library/OfflinePage.vala +M src/library/TrashBranch.vala +M src/library/TrashPage.vala +M src/main.vala +M src/photos/BmpSupport.vala +M src/photos/GRaw.vala +M src/photos/GdkSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoFileAdapter.vala +M src/photos/PhotoFileFormat.vala +M src/photos/PhotoFileSniffer.vala +M src/photos/PhotoMetadata.vala +M src/photos/Photos.vala +M src/photos/PngSupport.vala +M src/photos/RawSupport.vala +M src/photos/TiffSupport.vala +M src/plugins/DataImportsInterfaces.vala +M src/plugins/ManifestWidget.vala +M src/plugins/Plugins.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/plugins/TransitionsInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/Publishing.vala +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala +M src/searches/Branch.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SavedSearchPage.vala +M src/searches/SearchBoolean.vala +M src/searches/Searches.vala +M src/sidebar/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Sidebar.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/slideshow/Slideshow.vala +M src/slideshow/TransitionEffects.vala +M src/tags/Branch.vala +M src/tags/HierarchicalTagIndex.vala +M src/tags/HierarchicalTagUtilities.vala +M src/tags/TagPage.vala +M src/tags/Tags.vala +M src/threads/BackgroundJob.vala +M src/threads/Semaphore.vala +M src/threads/Threads.vala +M src/threads/Workers.vala +M src/unit/Unit.vala +M src/unit/rc/Unit.m4 +M src/unit/rc/UnitInternals.m4 +M src/unit/rc/template.vala +M src/unit/rc/unitize_entry.m4 +M src/util/KeyValueMap.vala +M src/util/Util.vala +M src/util/file.vala +M src/util/image.vala +M src/util/misc.vala +M src/util/string.vala +M src/util/system.vala +M src/util/ui.vala +M thumbnailer/shotwell-video-thumbnailer.vala +M vapi/ExtendedPosix.vapi +M vapi/LConv.vapi +M vapi/gphoto-2.4/libgphoto2.vapi +M vapi/gphoto-2.5/libgphoto2.vapi +M vapi/gphoto.h +M vapi/libexif.vapi +M vapi/libraw.vapi + +commit 450558d9b8ae5c47078742e5be0ed99d95301c77 +Author: Ankit Patel +Date: Tue Feb 4 15:58:48 2014 +0530 + + Updated Gujarati translations + +M po/gu.po + +commit 28e3f663186d5a4dbfc317fa80e4d7e29a0179f0 +Author: Gabor Kelemen +Date: Mon Feb 3 15:49:11 2014 +0100 + + Updated Hungarian translation + +M po/hu.po + +commit 6a354deb673c65594e13d983934564f7fe5dff34 +Author: Gabor Kelemen +Date: Mon Feb 3 15:20:36 2014 +0100 + + Updated Hungarian translation + +M po/hu.po + +commit 76f87a1dba91136075fe360ad7af429cbc0c1615 +Author: Shankar Prasad +Date: Mon Feb 3 18:34:50 2014 +0530 + + updated kn.po + +M po/kn.po + +commit 9ac3952e90fb31e62c01884799db82d98e3938b4 +Author: Shantha kumar +Date: Mon Feb 3 13:06:11 2014 +0530 + + Tamil Translations Updated + +M po/ta.po + +commit face4be8dfad6a700dddccc6f25c325ba9711e7c +Author: Daniel Korostil +Date: Sun Feb 2 22:29:13 2014 +0000 + + Updated Ukrainian translation + +M po/uk.po + +commit deb91cfd0e1976ce27a1ed0aa3c402165991f047 +Author: Dimitris Spingos +Date: Sat Feb 1 09:06:27 2014 +0200 + + Updated Greek translation + +M po/el.po + +commit 7b99fe256af6454d1f0ca895715c863d9d03e59a +Author: Krishnababu Krothapalli +Date: Thu Jan 30 13:45:21 2014 +0530 + + Updated Telugu Translations + +M po/te.po + +commit f9306397e721f77f7d386ed9129f947888850f5a +Author: Cheng-Chia Tseng +Date: Tue Jan 28 20:29:34 2014 +0800 + + Updated Traditional Chinese translation(Hong Kong and Taiwan) + +M po/LINGUAS +C054 po/zh_TW.po po/zh_HK.po +M po/zh_TW.po + +commit 99aaa3f3138a165eac36e20128bffd8a75920603 +Author: Fran Diéguez +Date: Tue Jan 21 00:11:07 2014 +0100 + + Updated Galician translations + +M po/gl.po + +commit 397c4a39bb35238a15eb08e0dc3061e3748658fe +Author: 甘 露 +Date: Sat Jan 18 17:46:38 2014 +0800 + + Update Chinese simplified translation + +M po/zh_CN.po + +commit 7db3fc1f4333b3c016e9bca91565174df1155db5 +Author: Daniel Mustieles +Date: Thu Jan 16 10:32:34 2014 +0100 + + Updated Spanish translation + +M help/Makefile.am +A help/es/es.po + +commit c5dd916c55fc96911349a0e8990ef8eb74d2483e +Author: Piotr Drąg +Date: Wed Jan 15 21:16:20 2014 +0100 + + Updated Polish translation + +M po/pl.po + +commit e9f5eefa7ddcf74406e5686c27442f1111b952af +Author: Charles Lindsay +Date: Wed Jan 15 11:51:09 2014 -0800 + + Merge po files, set up for intltool and l10n.gnome.org + + This removes the custom .pot file setup we had before, making it + easy to + translate Shotwell using the standard intltool workflow. + + This also merges the two separate core/extras gettext domains + into one, + to keep things simple. I hope I've merged all the po files correctly, + but I wouldn't bet money I did it perfectly. + + We also set up the help to be able to be translated on l10n.gnome.org. + + Closes: bgo #718783 + +M Makefile +A help/Makefile.am +M plugins/shotwell-publishing-extras/TumblrPublishing.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +A po/LINGUAS +A po/POTFILES.in +A po/POTFILES.skip +R100 po/shotwell-core/af.po po/af.po +R085 po/shotwell-core/ar.po po/ar.po +R083 po/shotwell-core/as.po po/as.po +R091 po/shotwell-core/ast.po po/ast.po +R091 po/shotwell-core/bg.po po/bg.po +R094 po/shotwell-core/bn.po po/bn.po +R091 po/shotwell-core/bn_IN.po po/bn_IN.po +R085 po/shotwell-core/ca.po po/ca.po +R085 po/shotwell-core/cs.po po/cs.po +R089 po/shotwell-core/da.po po/da.po +R083 po/shotwell-core/de.po po/de.po +R081 po/shotwell-core/el.po po/el.po +R088 po/shotwell-core/en_GB.po po/en_GB.po +R100 po/shotwell-extras/eo.po po/eo.po +R085 po/shotwell-core/es.po po/es.po +R087 po/shotwell-core/et.po po/et.po +R084 po/shotwell-core/eu.po po/eu.po +R087 po/shotwell-core/fi.po po/fi.po +R083 po/shotwell-core/fr.po po/fr.po +R086 po/shotwell-core/gl.po po/gl.po +R083 po/shotwell-core/gu.po po/gu.po +R086 po/shotwell-core/he.po po/he.po +R083 po/shotwell-core/hi.po po/hi.po +R090 po/shotwell-core/hr.po po/hr.po +R086 po/shotwell-core/hu.po po/hu.po +R100 po/shotwell-core/ia.po po/ia.po +R088 po/shotwell-core/id.po po/id.po +R085 po/shotwell-core/it.po po/it.po +R084 po/shotwell-core/ja.po po/ja.po +R085 po/shotwell-core/kk.po po/kk.po +R100 po/shotwell-core/km.po po/km.po +R080 po/shotwell-core/kn.po po/kn.po +R086 po/shotwell-core/ko.po po/ko.po +R100 po/shotwell-core/ky.po po/ky.po +R088 po/shotwell-core/lt.po po/lt.po +R086 po/shotwell-core/lv.po po/lv.po +R087 po/shotwell-core/mk.po po/mk.po +R081 po/shotwell-core/ml.po po/ml.po +R085 po/shotwell-core/mr.po po/mr.po +R086 po/shotwell-core/nb.po po/nb.po +R085 po/shotwell-core/nl.po po/nl.po +R093 po/shotwell-core/nn.po po/nn.po +R084 po/shotwell-core/or.po po/or.po +R085 po/shotwell-core/pa.po po/pa.po +R082 po/shotwell-core/pl.po po/pl.po +R085 po/shotwell-core/pt.po po/pt.po +R085 po/shotwell-core/pt_BR.po po/pt_BR.po +R082 po/shotwell-core/ro.po po/ro.po +R082 po/shotwell-core/ru.po po/ru.po +D po/shotwell-core/shotwell.pot +D po/shotwell-extras/ar.po +D po/shotwell-extras/as.po +D po/shotwell-extras/ast.po +D po/shotwell-extras/bg.po +D po/shotwell-extras/bn.po +D po/shotwell-extras/bn_IN.po +D po/shotwell-extras/ca.po +D po/shotwell-extras/cs.po +D po/shotwell-extras/da.po +D po/shotwell-extras/de.po +D po/shotwell-extras/el.po +D po/shotwell-extras/en_GB.po +D po/shotwell-extras/es.po +D po/shotwell-extras/et.po +D po/shotwell-extras/eu.po +D po/shotwell-extras/fi.po +D po/shotwell-extras/fr.po +D po/shotwell-extras/gl.po +D po/shotwell-extras/gu.po +D po/shotwell-extras/he.po +D po/shotwell-extras/hi.po +D po/shotwell-extras/hr.po +D po/shotwell-extras/hu.po +D po/shotwell-extras/id.po +D po/shotwell-extras/it.po +D po/shotwell-extras/ja.po +D po/shotwell-extras/kk.po +D po/shotwell-extras/kn.po +D po/shotwell-extras/ko.po +D po/shotwell-extras/lt.po +D po/shotwell-extras/lv.po +D po/shotwell-extras/mk.po +D po/shotwell-extras/ml.po +D po/shotwell-extras/mr.po +D po/shotwell-extras/nb.po +D po/shotwell-extras/nl.po +D po/shotwell-extras/nn.po +D po/shotwell-extras/or.po +D po/shotwell-extras/pa.po +D po/shotwell-extras/pl.po +D po/shotwell-extras/pt.po +D po/shotwell-extras/pt_BR.po +D po/shotwell-extras/ro.po +D po/shotwell-extras/ru.po +D po/shotwell-extras/shotwell-extras.pot +D po/shotwell-extras/sk.po +D po/shotwell-extras/sl.po +D po/shotwell-extras/sr.po +D po/shotwell-extras/sv.po +D po/shotwell-extras/ta.po +D po/shotwell-extras/te.po +D po/shotwell-extras/th.po +D po/shotwell-extras/tr.po +D po/shotwell-extras/uk.po +D po/shotwell-extras/vi.po +D po/shotwell-extras/zh_CN.po +D po/shotwell-extras/zh_TW.po +R083 po/shotwell-core/sk.po po/sk.po +R082 po/shotwell-core/sl.po po/sl.po +R082 po/shotwell-core/sr.po po/sr.po +R085 po/shotwell-core/sv.po po/sv.po +R078 po/shotwell-core/ta.po po/ta.po +R086 po/shotwell-core/te.po po/te.po +R092 po/shotwell-core/th.po po/th.po +R085 po/shotwell-core/tr.po po/tr.po +R077 po/shotwell-core/uk.po po/uk.po +R092 po/shotwell-core/vi.po po/vi.po +R089 po/shotwell-core/zh_CN.po po/zh_CN.po +R090 po/shotwell-core/zh_TW.po po/zh_TW.po +D potgen-shotwell + +commit c767099e9b8cfa7113fd8c24cb2d0c9c95cc8f62 +Author: Jim Nelson +Date: Mon Jan 13 17:40:26 2014 -0800 + + Add translator comments for strftime strings: Refs bgno#716533 + + The strftime strings for local-specific date/time formats are + cryptic, so hopefully these comments will help translators make the + right choice. + +M src/Resources.vala + +commit d9b73ef0197d0f7d6d15eb4e9c68340ef0eb71ce +Author: Thomas Moschny +Date: Mon Dec 9 16:53:10 2013 -0800 + + Build when "-Werror=format-security" used: Closes #719863 + +M src/Dialogs.vala + +commit 4396ed3fb73ec756b8a56751503002bcff91ab54 +Author: Jim Nelson +Date: Tue Nov 19 17:26:12 2013 -0800 + + Merge from shotwell-0.15 for 0.15.1 + +M Makefile +M NEWS +M debian/changelog + +commit 17f34137e6b213542bdfd3cf2def71c60342f7d5 +Author: Jim Nelson +Date: Tue Nov 19 14:53:40 2013 -0800 + + Crash in video interpretable check: Closes #5071 + + The database and ThumbnailCache calls in check_is_interpretable + are not thread-safe although check_is_interpretable was being + called from a background thread. Now check_is_interpretable returns + an object with a foreground_finish() function that does the thread- + unsafe work there. + +M src/VideoMonitor.vala +M src/VideoSupport.vala + +commit c1972e2f2baa1f3679deeb8528b1747b8e6b588b +Author: Jim Nelson +Date: Tue Nov 19 15:38:42 2013 -0800 + + Fix gettext problems + + GNOME's pre-commit hooks discovered a couple of gettext problems in + three translations. This removes (by hand) the c-format specifiers + that were causing the problem as well as adds the no-c-format comments + in the code so the problem doesn't happen again. + + Finally, msgfmt -c is now used to catch these errors in the future, + although the Makefile doesn't abort (like it should) when that + happens. More work necessary for that. + +M Makefile +M po/shotwell-core/hi.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M src/PhotoPage.vala +M src/direct/DirectPhotoPage.vala + +commit dbfbe461961b19beb77220c4b412fa4c78564a50 +Author: Piotr Drąg +Date: Tue Nov 19 01:12:23 2013 +0100 + + Correct language codes of PO files + + Also fuzzify invalid translations, otherwise git.gnome.org won't + let me commit. + +M Makefile +M po/shotwell-core/af.po +D po/shotwell-core/af_ZA.po +M po/shotwell-core/ar.po +M po/shotwell-core/as.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn_IN.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/el.po +M po/shotwell-core/es.po +M po/shotwell-core/eu.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/gu.po +M po/shotwell-core/he.po +M po/shotwell-core/id.po +D po/shotwell-core/id_ID.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kn.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/ml.po +M po/shotwell-core/mr.po +M po/shotwell-core/nl.po +R100 po/shotwell-core/nn_NO.po po/shotwell-core/nn.po +M po/shotwell-core/or.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sv.po +D po/shotwell-core/ta_IN.po +M po/shotwell-core/te.po +D po/shotwell-core/te_IN.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +D po/shotwell-core/tr_TR.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +D po/shotwell-extras/id_ID.po +R100 po/shotwell-extras/nn_NO.po po/shotwell-extras/nn.po +D po/shotwell-extras/tr_TR.po + +commit 04cb26fcff6386ca3e75daf41407b59a1b053497 +Author: Piotr Drąg +Date: Tue Nov 19 01:01:30 2013 +0100 + + Capitalize description in DOAP file + + To follow the convention. + +M shotwell.doap + +commit 52cbc5541db2f3806a61036554835e1ffe7b4177 +Author: Charles Lindsay +Date: Mon Nov 18 15:56:58 2013 -0800 + + Add DOAP file for GNOME + +A shotwell.doap + +commit 61c782ceaeef7a88ffa5f2c6d3dfa9975b72f559 +Author: Jim Nelson +Date: Thu Nov 14 14:27:35 2013 -0800 + + Tumble plugin doesn't show authentication pane: Closes #7691 + + Glade files were not being installed by Makefile nor included in + the tarball. + +M plugins/plugins.mk + +commit fd35f69e5fb04758b9211a5f57f9c119db97d086 +Author: Frenk X +Date: Wed Oct 30 11:45:19 2013 -0700 + + Importing to library with limited rights fails: Closes #7550 + +M src/LibraryFiles.vala + +commit 15f187ca134522654c0158600ff718e2725ef735 +Author: Jim Nelson +Date: Mon Oct 28 18:04:13 2013 -0700 + + Fix Alteration detail name: Refs #7631 + +M src/Photo.vala + +commit 04fd9b486673b04dbb5b9886c20df731189938d1 +Author: Frenk X +Date: Mon Oct 28 17:56:02 2013 -0700 + + Fix Makefile error if VALAC is defined: Closes #7650 + +M Makefile +M THANKS + +commit 4e90a16ffa14d920357426d4517e9ec8969a81d1 +Author: Charles Lindsay +Date: Fri Oct 4 14:18:34 2013 -0700 + + Bump packaging version for latest gexiv2 + +M debian/changelog + +commit 4a61752f3a32a6f879b61c1fd6b38559a8f92613 +Author: Jim Nelson +Date: Thu Oct 3 18:19:55 2013 -0700 + + Version 0.15.0+trunk + +M Makefile + +commit df90d19ee14bc505ac3e35617a5b41dac4129588 +Author: Jim Nelson +Date: Thu Oct 3 18:16:55 2013 -0700 + + Version 0.15.0 + +M Makefile +M debian/changelog + +commit 1e9e3a3fc97906a8819398e42fd30ebb213aa79d +Author: Jim Nelson +Date: Thu Oct 3 17:20:35 2013 -0700 + + Translations for 0.15.0 + +M Makefile +M po/shotwell-core/af.po +C057 po/shotwell-core/af.po po/shotwell-core/af_ZA.po +M po/shotwell-core/ar.po +M po/shotwell-core/as.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +A po/shotwell-core/bn_IN.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/gu.po +M po/shotwell-core/he.po +M po/shotwell-core/hi.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/ia.po +M po/shotwell-core/id.po +C066 po/shotwell-core/id.po po/shotwell-core/id_ID.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/km.po +M po/shotwell-core/kn.po +M po/shotwell-core/ko.po +C059 po/shotwell-core/km.po po/shotwell-core/ky.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/ml.po +M po/shotwell-core/mr.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +C058 po/shotwell-core/km.po po/shotwell-core/nn_NO.po +M po/shotwell-core/or.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +C057 po/shotwell-core/km.po po/shotwell-core/ta_IN.po +M po/shotwell-core/te.po +C059 po/shotwell-core/km.po po/shotwell-core/te_IN.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +C069 po/shotwell-core/tr.po po/shotwell-core/tr_TR.po +M po/shotwell-core/uk.po +M po/shotwell-core/vi.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/as.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +C094 po/shotwell-extras/bn.po po/shotwell-extras/bn_IN.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/eo.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +C057 po/shotwell-extras/he.po po/shotwell-extras/gu.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hi.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +C089 po/shotwell-extras/id.po po/shotwell-extras/id_ID.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/kn.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/ml.po +M po/shotwell-extras/mr.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +C069 po/shotwell-extras/nb.po po/shotwell-extras/nn_NO.po +M po/shotwell-extras/or.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +C082 po/shotwell-extras/tr.po po/shotwell-extras/tr_TR.po +M po/shotwell-extras/uk.po +C077 po/shotwell-extras/ast.po po/shotwell-extras/vi.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit f3780c933fb9d734ff4b5eed96f7410a4eacc57f +Author: Jim Nelson +Date: Thu Oct 3 16:34:46 2013 -0700 + + Prepping for 0.15.0 + +M NEWS +M debian/changelog + +commit 861d439ef4e0f2eb54e1090503a49d4e185cbf59 +Author: Damien Lallement +Date: Wed Oct 2 18:33:44 2013 -0700 + + Create AppData directory before installing file: Closes #7583 + +M Makefile + +commit 9b7cd5a43f0cc30d4a0ea36186034dc9cd951c31 +Author: David Woodhouse +Date: Tue Oct 1 18:49:36 2013 -0700 + + Don't re-open stdout in thumbnailer: Closes #7580 + + Causes an SELinux policy violation. + +M THANKS +M thumbnailer/shotwell-video-thumbnailer.vala + +commit 298165e8183cd8e67e6411357957b5db173acda3 +Author: Jim Nelson +Date: Tue Oct 1 17:04:14 2013 -0700 + + Fixed validation problem in AppData file + +M misc/shotwell.appdata.xml + +commit 0416fcbdde7ae0fef4ad34a07259c2649bafb303 +Author: Jim Nelson +Date: Tue Oct 1 15:41:57 2013 -0700 + + Crop tool sanity-checks its GSettings: Closes #7359 + + In the ticket, the user's last-chosen crop setting was a separator, + leading to havoc. + +M src/editing_tools/EditingTools.vala + +commit d376d2c451b81e2f44d6a68b0e338e82c151375b +Author: Jim Nelson +Date: Tue Oct 1 15:00:40 2013 -0700 + + Add AppData file: Closes #7552 + +M Makefile +A misc/shotwell.appdata.xml + +commit f304cc93e8459f81c5be1a02b6ff7674e72b7387 +Author: Jim Nelson +Date: Fri Sep 27 15:39:04 2013 -0700 + + Update debian/control for new gphoto2 package name + + For libgphoto2 2.5, the package name was changed in Saucy. + +M debian/control + +commit b4bf0794ec36c671dea91b2500679b85d07731d9 +Author: Jim Nelson +Date: Tue Sep 24 15:18:02 2013 -0700 + + Bump to 0.15.0pr3+trunk + +M Makefile + +commit 03b8ae1bd1ec7c55d61cd0faf846a8c06477d24b +Author: Jim Nelson +Date: Tue Sep 24 15:12:45 2013 -0700 + + Bump to 0.15.0pr3 + +M Makefile + +commit 072230870e71fc1eba8cb1aa9cef61d58d72eb46 +Author: Jim Nelson +Date: Tue Sep 24 15:08:27 2013 -0700 + + Revert minimum requirement to Vala 0.20.1: Closes #7537 + + Since enabling deprecated in main app, might as well enable + deprecated in plugins. This allows for us to revert back to + a minimum Vala requirement of 0.20.1, which is convenient for + Ubuntu. + +M Makefile +M plugins/Makefile.plugin.mk +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit aba64603bbcbe9409e9669a8acf9f9b32aed4ae8 +Author: Jim Nelson +Date: Fri Sep 20 15:25:58 2013 -0700 + + Bump to Shotwell 0.15.0pr2+trunk + +M Makefile + +commit dea6b573189905b1eb0d34df510952f2e8768211 +Author: Jim Nelson +Date: Fri Sep 20 15:25:07 2013 -0700 + + Shotwell 0.15.0pr2 + +M Makefile + +commit a4217a72fd424ee11079738d28ebfbfa3429a313 +Author: Jim Nelson +Date: Fri Sep 20 12:09:25 2013 -0700 + + Updated string files for 0.15 + + Also now includes potgen-shotwell script, which generates the + .pot files. "make pot_file" will execute it automatically. + Script also included in tarball. Closes #7526 + +M Makefile +M po/shotwell-core/shotwell.pot +M po/shotwell-extras/shotwell-extras.pot +A potgen-shotwell + +commit 0dc2ce3c45e48800777bfae3cfdd8340291e0d5e +Author: Jim Nelson +Date: Thu Sep 19 16:55:04 2013 -0700 + + shotwell-video-thumbnailer fails to gen thumbnails: Refs #7258 + + Removing bpp and depth params from gstreamer call, as + recommended at https://bugzilla.gnome.org/show_bug.cgi?id=708034#c4 + +M thumbnailer/shotwell-video-thumbnailer.vala + +commit c3a3be285546383c934c2482d38f0c00f2fdc050 +Author: Joseph Bylund +Date: Thu Sep 19 15:31:07 2013 -0700 + + Cropped or straighten portraits stretched at export: Closes #7035 + + Also deals with #6945, which reported the problem for publishing + to Facebook. + +M src/Photo.vala + +commit 1cc65d4b2365a6069cf2e0261ab597529000584e +Author: Jim Nelson +Date: Thu Sep 19 15:29:32 2013 -0700 + + Videos not moved out of Missing Files when reimported: Closes #7462 + +M src/BatchImport.vala + +commit 7253b2a783409da253436786abb281dc132a3fe5 +Author: Jim Nelson +Date: Thu Sep 19 14:41:02 2013 -0700 + + Vala 0.21.2 requirement in debian packaging + + Also related to #7486 + +M debian/control + +commit 8ab6d1e5f421505c06335766da9ea8fc608ed018 +Author: Jim Nelson +Date: Thu Sep 19 14:39:58 2013 -0700 + + Require Vala 0.21.2 + + Related to #7486, forgot to bump up the valac version minimum. + +M Makefile + +commit edd71bd5e984a3f5195eef3c202f3c2b3337a957 +Author: Jim Nelson +Date: Thu Sep 19 14:14:01 2013 -0700 + + Memory usage to high when exporting photos: Closes #7115 + +M src/Exporter.vala +M src/threads/Workers.vala + +commit 8e0b072d0b9655a315f984577dd36abfc2a8061e +Author: Jim Nelson +Date: Thu Sep 19 13:59:12 2013 -0700 + + Help -> Report a Problem sends user to login page: Closes #6946 + +M src/Resources.vala + +commit 463ed0e4ae3a6ae306aeba659ad14c544d4cc889 +Author: Jim Nelson +Date: Thu Sep 19 13:47:45 2013 -0700 + + Remove Valadate unit testing: Closes #6712 + +M Makefile +M configure +D src/SortedListTests.vala + +commit d5ee1ea105967b8c4d1834984342994d19a53f1f +Author: Joseph Bylund +Date: Thu Sep 19 12:58:38 2013 -0700 + + Remove Gee.TreeSet workaround: Closes #6480 + + Bumps gee-0.8 minimum requirement to 0.8.5. + +M Makefile +M debian/control +M src/Commands.vala +M src/Dialogs.vala +M src/MediaDataRepresentation.vala +M src/Tag.vala +M src/photos/PhotoMetadata.vala +M src/plugins/Plugins.vala +M src/sidebar/Branch.vala +M src/slideshow/TransitionEffects.vala +M src/tags/Branch.vala +M src/tags/HierarchicalTagIndex.vala +M src/util/misc.vala + +commit ce01a7de0060b99c0429f5f37718877386d8b7de +Author: Joseph Bylund +Date: Thu Sep 19 12:51:15 2013 -0700 + + --libexec option in configure script: Closes #6042 + +M Makefile +M configure +M src/AppDirs.vala +M src/Resources.vala + +commit 8a4a6333348dec61927dbc548371e95929d85625 +Author: Dominique Leuenberger +Date: Thu Sep 19 12:43:42 2013 -0700 + + Crash when importing AVI file: Closes #7413 + + Fixes some unsafe scanf() parameters. + +M THANKS +M src/VideoMetadata.vala + +commit f564c75fe16472f584532a4b05f6af73df051b97 +Author: Wolfgang Steitz +Date: Thu Sep 19 12:20:52 2013 -0700 + + Make Paste Color Adjustments sensitive when copied: Closes #7406 + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit ba0908d6702b219534a09806729fb25dd9875c3f +Author: Wolfgang Steitz +Date: Thu Sep 19 12:18:24 2013 -0700 + + Change Copy Color Adjustments sensitivity when photo alt: Closes #7405 + +M src/CollectionPage.vala + +commit 2736686002e0d7d4cc40266f795f3703b23a67d0 +Author: Jim Nelson +Date: Fri Sep 13 14:16:08 2013 -0700 + + Deprecations in Vala 0.21.2: Closes #7486 + + Deprecations were libsoup symbols when compiling the plugins. The + main app is already building with deprecations enabled. + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit a56ff011709a088bbd1b4a6a00021b3c34d846c2 +Author: Jim Nelson +Date: Tue Aug 27 17:07:59 2013 -0700 + + Bump version to 0.15.0pr1+trunk + +M Makefile + +commit 302f4a09479ae22833e1638c20aebc8c1034aaa5 +Author: Jim Nelson +Date: Tue Aug 27 17:02:02 2013 -0700 + + Shotwell 0.15.0pr1 + +M Makefile + +commit b6226f253fdeb5ab0542445bce5234a8827c687d +Author: Jim Nelson +Date: Tue Aug 27 15:11:59 2013 -0700 + + Update extension of new "no-event" icon + +M Makefile + +commit 74b0c1ff8795f8e866661cd894dac52d4201de43 +Author: Wolfgang Steitz +Date: Tue Aug 27 14:47:49 2013 -0700 + + Add "modified media" saved search: Closes #4111 + + User can now add a "is media modified" criteria to a saved search. + +M src/db/SavedSearchDBTable.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit 5a38bb1e360d49c2bd2609541ea5e9795d050c9e +Author: Wolfgang Steitz +Date: Tue Aug 27 14:36:49 2013 -0700 + + Copy and paste color adjustments: Closes #2517 + + Color adjustments now have a "clipboard" that can be copied to and + pasted from. + +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/Commands.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/editing_tools/EditingTools.vala +M ui/photo.ui + +commit 379a3ba9476227243502dd296c0ccc04169909df +Author: Joseph Bylund +Date: Tue Aug 27 12:40:26 2013 -0700 + + Use less memory when loading camera previews: Refs #2959 + + Reduces memory usage by loading images at scaled size when preview + is unavailable. + +M src/camera/GPhoto.vala + +commit 9923e04bac47e4438ed96d6a3931e3112cd6b75c +Author: Wolfgang Steitz +Date: Tue Aug 27 12:24:16 2013 -0700 + + Crop tool improvements: display crop dimensions: Refs #6358 + + Crop tool displays its unscaled dimensions in the center of the + recticle when moving or resizing it. + + This does not close the ticket, as a separate issue remains to + be implemented (cropping to specific pixel dimensions). + +M src/Resources.vala +M src/editing_tools/EditingTools.vala +M src/util/image.vala + +commit fbb5cb14ce207727237f4b786290e9930b5afdb4 +Author: Joseph Bylund +Date: Tue Aug 27 12:19:03 2013 -0700 + + Wrong date for Pentax K-5 AVI: Closes #7054 + + An improved date-parsing routine to help eliminate future issues + with oddball date formats in videos. + +M src/VideoMetadata.vala + +commit 3a424909653f77e1e337ac3e1aad803b49f04942 +Author: Joseph Bylund +Date: Tue Aug 27 12:15:00 2013 -0700 + + Reduce CPU usage when importing w/ Camera developer: Closes #6812 + +M src/ThumbnailCache.vala + +commit 9c2ce70f0cfec0ba5ce9d541d2193d0b1a2b9868 +Author: Joseph Bylund +Date: Tue Aug 27 12:08:39 2013 -0700 + + ./configure flag to disable desktop-ffile-validate check: Closes #6820 + +M Makefile +M configure + +commit 4f635ba4236dbbb8cb3f8b7bdd201432961fb283 +Author: Joseph Bylund +Date: Tue Aug 27 12:03:02 2013 -0700 + + Resolve symlinked argv[0] path when determining run loc: Closes #7181 + +M src/AppDirs.vala + +commit 9d673539a80eef8b6963462bc27830ef4d66a7de +Author: Wolfgang Steitz +Date: Tue Aug 27 12:00:17 2013 -0700 + + Remember location of editing tool windows: Closes #7264 + + Locations are only stored in memory, not persisted. Moving the + Shotwell window will reset the stored locations. + + Also, development of this patch uncovered some subtle bugs in + StraightenTool, which are now fixed. + +M src/PhotoPage.vala +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala + +commit 7ab032913dd45c9f0c8e0a9b218fb4e84e402bb8 +Author: Joseph Bylund +Date: Tue Aug 27 11:55:53 2013 -0700 + + Avoid assert() with random slideshow transitions: Closes #7323 + + If no slideshow plugins are enabled, default to null transition + rather than assert. + +M src/SlideshowPage.vala + +commit 39340ccee1afbfbb9af666bb85011221b9d08f45 +Author: Jim Nelson +Date: Tue Aug 6 11:28:47 2013 -0700 + + Require GTK+ 3.6 + + GtkSearchEntry (#6093) requires GTK+ 3.6. + +M Makefile +M debian/control + +commit 65144073907f0d5efed0eddb358ff7d74e9d2277 +Author: Jeremy Bicha +Date: Mon Aug 5 18:43:20 2013 -0700 + + Don't use X-Ayatana-Appmenu-Show-Stubs=false: Closes #7293 + +M THANKS +M misc/shotwell-viewer.desktop.head + +commit ed7136ae02886360646fa4e82c138e3b96764e50 +Author: Joseph Bylund +Date: Mon Aug 5 18:24:04 2013 -0700 + + Show previews when importing from memory card: Closes #2959 + + Uses fallback code to load metadata through alternate means (i.e. + GVFS) when unable to load through GPhoto itself. + +M src/camera/GPhoto.vala + +commit 788725876717086300c7a65f5cbd2c2e1909e6f4 +Author: Alexander Wilms +Date: Mon Aug 5 17:53:49 2013 -0700 + + Make "No Event" icon not look like an error: Closes #4824 + +M Makefile +A icons/no-event.png +M src/Resources.vala +M src/events/Branch.vala + +commit cff9aa035e50dce875744f449b95d487c732bd14 +Author: Jim Nelson +Date: Mon Aug 5 16:11:41 2013 -0700 + + Update Daily Build PPA to use Vala 0.21.1 + +M debian/control + +commit 83caf3e4b1ed52973ea7b0d5f5e30be26d14d810 +Author: Wolfgang Steitz +Date: Mon Aug 5 16:05:08 2013 -0700 + + Folder entries in sidebar updated when folder deleted or renamed: + Closes #6455 + +M src/folders/Branch.vala + +commit 38dbf12428780deefe2ff0da87699397575f25c7 +Author: Wolfgang Steitz +Date: Mon Aug 5 15:20:38 2013 -0700 + + Use GtkSearchEntry: Closes #6093 + +M src/SearchFilter.vala + +commit 9b1d9c50af912a85ae63200d1867da54f75938a7 +Author: Joseph Bylund +Date: Mon Aug 5 15:06:09 2013 -0700 + + Doesn't build with Vala 0.21.1, "close" conflict in GTK 3.10: Closes + #7295, Closes #7254 + + The number of deprecated classes and methods in GTK 3.10 is too + much work + simply to get Shotwell to compile, so that's been moved to #7301. + This + patch fixes some "hard" compile errors and disables warnings for + deprecated + symbols. + +M Makefile +M src/AppWindow.vala +M src/Dialogs.vala +M thumbnailer/shotwell-video-thumbnailer.vala + +commit 3aa3f6774d62cf1dc9a6d017edf839b13ebcb079 +Author: Eric Gregory +Date: Mon Jun 17 19:27:34 2013 -0700 + + Closes #7028 Revert back to Glib 2.30, bump Gtk version in debian + control file + +M Makefile +M debian/control + +commit 296d59f391040066669d3bbb7b5f6202cb542415 +Author: Simon Adda-Reyss +Date: Mon Jun 17 16:53:03 2013 -0700 + + Update Makefile dependencies: Closes #7028 + +M Makefile +M THANKS + +commit f14d791a6252dfbe7ab76e9f266457cd2a59be0d +Author: Joseph Bylund +Date: Mon Jun 17 16:31:25 2013 -0700 + + Closes #6948 Added .doap file + +A .doap + +commit 489d682e7774fa87ca102b270f310dca74f125f9 +Author: Jim Nelson +Date: Mon Jun 17 16:26:58 2013 -0700 + + Updated MAINTAINERS back to me + +M MAINTAINERS + +commit b7d034d861cafea584b80b8cb1f694009c8aa337 +Author: Joseph Bylund +Date: Mon Jun 17 16:07:10 2013 -0700 + + Support standard --prefix and --libdir configure arguments: Closes + #6931 + +M configure + +commit bd522756fd2a6488950f107d4e3c5d7749b0e87a +Author: Joseph Nuzman +Date: Mon Jun 17 15:58:17 2013 -0700 + + Using the "&" character in Picasa uploader causes upload to fail: + Closes #6141 + +M THANKS +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit d928821f815b68f403f70dd6ad402d05b33b3f90 +Author: Joseph Bylund +Date: Mon Jun 17 15:34:26 2013 -0700 + + Closes #6994 Overwrite duplicate thumbnails + +M src/ThumbnailCache.vala + +commit 89aa167726d12f9ae0b53c01a2fdc54601fc3cc5 +Author: Jim Nelson +Date: Wed May 29 11:52:09 2013 -0700 + + Build with LibRaw 0.15: Closes #7012 + + LibRaw 0.15 removed document-mode processing, which, as their release + notes say, "no one uses". Compile error were nothing more than + missing symbols -- Shotwell wasn't using it either. + +M src/photos/GRaw.vala +M vapi/libraw.vapi + +commit 5eaa1886dc39b849794c45ed757269caa361da3b +Author: Joseph Bylund +Date: Thu May 16 14:19:32 2013 -0700 + + Improper French date format in sidebar: Closes #6939 + +M po/shotwell-core/fr.po + +commit 878cdf9cbb55852641d5d27f8717c8e419a459dd +Author: Lucas Beeler +Date: Fri May 10 15:03:09 2013 -0700 + + This should fix the daily build breakage. Let's hold off on closing + the corresponding ticket, however, 'til we can confirm that daily + builds work again. + +M plugins/plugins.mk + +commit ca82ea27379a09c037881f4e204583b56476ea18 +Author: Clint Rogers +Date: Fri May 10 12:16:48 2013 -0700 + + Make the event context menu and comment-editing dialog inform the + user they'll be editing the event's comment. Fixes #6898. + +M src/Dialogs.vala +M src/Resources.vala +M src/events/EventPage.vala +M ui/event.ui + +commit c3b44d90b648bbb84b8a280881e2f166a12dd38e +Author: Joseph Bylund +Date: Thu May 9 17:27:43 2013 -0700 + + Implements a highlights detail slider in the color adjustment palette + to complement the preexisting shadow detail slider. Closes #752. + +M src/ColorTransformation.vala +M src/editing_tools/EditingTools.vala + +commit 2896c4880a5c7ff473a27ce368e012271d382c7c +Author: Clint Rogers +Date: Thu May 9 15:19:54 2013 -0700 + + Delivery deftly dodges dreaded delegate duplication discouragement + disaster; ref #6893. + +M Makefile +M plugins/Makefile.plugin.mk +M plugins/common/RESTSupport.vala +M src/TimedQueue.vala +M src/events/Branch.vala +M src/photos/PhotoMetadata.vala +M src/plugins/Plugins.vala +M src/sidebar/Branch.vala +M src/slideshow/TransitionEffects.vala +M src/util/misc.vala + +commit 5d1da69947ea8b05c25e4fa184cf388dd2a41f6e +Author: Lucas Beeler +Date: Thu May 9 12:31:00 2013 -0700 + + Removes useless Glade UI files and lines of support code from the + Picasa and YouTube connectors that are no longer necessary now that + both connectors use the shared services of the GoogleService family + of utility classes in RESTSupport.vala. Closes #6924. + +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +D plugins/shotwell-publishing/picasa_auth_code_entry_pane.glade +D plugins/shotwell-publishing/picasa_not_set_up_pane.glade + +commit 546727194fe75c945239aee998a78972f61cca03 +Author: Lucas Beeler +Date: Wed May 8 17:07:42 2013 -0700 + + Uses more specific language to describe the "strip metadata" option + across all four of the core web connectors. Closes #6922 and #6923. + +M plugins/shotwell-publishing/facebook_publishing_options_pane.glade +M plugins/shotwell-publishing/flickr_publishing_options_pane.glade +M plugins/shotwell-publishing/picasa_publishing_options_pane.glade +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade +M src/publishing/PublishingUI.vala + +commit 970ca7990ff60ae604566b9e667dd90cfc192696 +Author: Clint Rogers +Date: Wed May 8 17:06:18 2013 -0700 + + Removed stray 'new' keywords when initializing GLib.Mutex and + GLib.Cond (both are structs); ref #6893. + +M Makefile +M src/threads/Semaphore.vala + +commit 852385dd11773e7cb12d44052a85be96c7a2d75f +Author: Lucas Beeler +Date: Tue May 7 20:24:29 2013 -0700 + + Simplifies the Picasa Connector dramatically by rewriting to make + use of the GoogleService support classes developed for the YouTube + connector. Enables in-app hosted web authentication in the Picasa + Connector. Closes #6907. + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M src/publishing/PublishingPluginHost.vala + +commit 179f623b5fa18a43b845f3dfcbfc51702dc1a93d +Author: Clint Rogers +Date: Tue May 7 11:12:06 2013 -0700 + + Migrate to new officially-blessed cosntructor for ThreadPool; + ref #6893. + +M src/threads/Workers.vala + +commit 1a43b9ea9d18ca0774b46d3ce772d1d5c26af5f7 +Author: Clint Rogers +Date: Mon May 6 18:24:53 2013 -0700 + + Adds support for editing the comment of an event from inside the + event's page and sidebar context menu. Fixes #6904. + +M src/events/EventPage.vala +M ui/event.ui + +commit ed8427b11a579b9ec2864c977ef16371f74ffa53 +Author: Lucas Beeler +Date: Mon May 6 16:46:48 2013 -0700 + + Fixes a problem in which the YouTube Connector would not properly + cancel uploads. Closes #6908. + +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit a5b035045b2ced79ffca7dbaf4974c19764c652c +Author: Lucas Beeler +Date: Mon May 6 15:56:20 2013 -0700 + + Factors hosted OAuth support out the YouTube connector and into a + series of service-neutral utility classes. Closes #6888 + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit 7752ec49d8d9b99c75e29a5a4694aa320aaabb19 +Author: Clint Rogers +Date: Mon May 6 10:53:42 2013 -0700 + + Replaces a deprecated widget in CustomComponents; ref #6893. + +M src/CustomComponents.vala + +commit 39917cd0ad989e6a661011ca596bf1e11275fc34 +Author: Clint Rogers +Date: Thu May 2 13:52:27 2013 -0700 + + Replaces a deprecated constant with an allowed one; fixes #6891. + +M src/Dialogs.vala + +commit 26b756215331bedbcaf1929ab87c2e1e4a5135f3 +Author: Clint Rogers +Date: Thu May 2 11:16:32 2013 -0700 + + Removes a stray 'new' keyword; ref #6889. + +M src/util/image.vala + +commit 48f529a77af41e2b94373902b2b2dff8d559c602 +Author: Clint Rogers +Date: Thu May 2 11:50:10 2013 -0700 + + Corrects a problem where extended info wouldn't display for videos; + ref #6887. + +M src/Properties.vala + +commit 8ef6ec5a5b943303c01e2f6ae9efed47bc9e1ba9 +Author: Clint Rogers +Date: Wed May 1 17:54:07 2013 -0700 + + Tries to migrate the colour-adjust tool window to use a Grid instead + of a table; ref #5838. + +M src/editing_tools/EditingTools.vala + +commit b74643f639c35c6bcdb842e38d3eb4c338cd0705 +Author: Lucas Beeler +Date: Wed May 1 12:35:49 2013 -0700 + + Upgrades the YouTube connector to use OAuth 2 authentication, + including in-app authentication via a hosted Webkit pane. Closes + #3445. + +M misc/org.yorba.shotwell.gschema.xml +D plugins/common/ui.vala +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit 12c8263463a637104604a92b96cdef2c72bb204c +Author: Clint Rogers +Date: Tue Apr 30 19:30:59 2013 -0700 + + Migrate the export dialogue box away from using Table and onto Grid + instead. Ref #5838. + +M src/Dialogs.vala + +commit b9cebbe957d89177537644ba1c3c091da3b57cbd +Author: Clint Rogers +Date: Tue Apr 30 11:59:38 2013 -0700 + + Adds a check to see whether the event is null before trying to + extract a comment from it; ref #6878. + +M src/publishing/APIGlue.vala + +commit cdeeef0a6eac22a4a32c3f3fc77ae17575b91d0a +Author: Clint Rogers +Date: Mon Apr 29 15:42:14 2013 -0700 + + Tries to merge smaller events onto larger ones whenever possible, + reducing the number of operations that have to be done to complete + the merge; part of ref #979 (see comment 24). + +M src/Commands.vala + +commit 6a056fa00b1f6757fbb4a218f9ef1036898872e6 +Author: Lucas Beeler +Date: Thu Apr 25 12:54:33 2013 -0700 + + Shotwell now builds again with the --unity-support flag; corrects an + issue where the .deps files accompanying the custom Shotwell .vapi + files were not included in the distribution tarball. Closes #6859. + +M .gitignore +M Makefile +A vapi/unity.deps +A vapi/unity.vapi + +commit 78cc28804835d52999638c9b91f09ec338de2605 +Author: Lucas Beeler +Date: Wed Apr 24 17:53:04 2013 -0700 + + Migrates Shotwell's entire codebase, including plugins, to + libgee-0.8. Tested with both of the (slightly different) versions of + libgee that ship with Quantal and Raring, respectively. Closes #867. + +M Makefile +M debian/control +M plugins/common/RESTSupport.vala +M plugins/shotwell-data-imports/Makefile +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing-extras/TumblrPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/Makefile +M src/ColorTransformation.vala +M src/CustomComponents.vala +M src/DirectoryMonitor.vala +M src/Photo.vala +M src/SortedList.vala +M src/Tag.vala +M src/ThumbnailCache.vala +M src/TimedQueue.vala +M src/camera/CameraTable.vala +M src/core/Alteration.vala +M src/core/DataSource.vala +M src/core/DatabaseSourceCollection.vala +M src/core/ViewCollection.vala +M src/core/util.vala +M src/db/PhotoTable.vala +M src/db/VideoTable.vala +M src/direct/DirectPhoto.vala +M src/events/Branch.vala +M src/libshotwell.deps +M src/photos/PhotoMetadata.vala +M src/plugins/Plugins.vala +M src/plugins/mk/interfaces.mk +M src/sidebar/Branch.vala +M src/slideshow/TransitionEffects.vala +M src/util/KeyValueMap.vala +M src/util/file.vala +M src/util/misc.vala + +commit 9e4a4500fcdac37eaafb069b777f712233e99921 +Author: Guillaume Desmottes +Date: Fri Apr 19 12:08:59 2013 -0700 + + Fixes an issue in which the sidebar was not properly styled. Closes + #6839. + +M THANKS +M src/library/LibraryWindow.vala +M src/sidebar/Tree.vala + +commit 52b174e12bf0c0108f99a50e447014f8931c5dec +Author: Clint Rogers +Date: Wed Apr 17 17:12:37 2013 -0700 + + Works around a problem in glib where two on-disk directories could + have different filenames that collated to the same collation key; + fixes #6825. + +M src/folders/Branch.vala + +commit e03e0932d25edc31902ec836654c92d1f7626b95 +Author: Clint Rogers +Date: Tue Apr 16 19:16:52 2013 -0400 + + Precaches the exposure time of Photo objects in order to speed up + certain operations with them. Partial fix for ref #979. + +M src/Photo.vala + +commit 5a93dd9f990a862e9ec34c32f56354a4c4426632 +Author: Joseph Bylund +Date: Tue Apr 16 15:06:12 2013 -0700 + + Makes saved searches aware of photo comments. Closes #6541. + +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit be2cf0fe5bf101bac4dd1e8a3a3bcb29703f3c8a +Author: Joseph Bylund +Date: Mon Apr 15 17:01:06 2013 -0700 + + Displays the current git SHA in the Shotwell runtime log. Invaluable + for debugging with users that have built from git master. Closes + #3655. + +M Makefile +M src/Resources.vala +M src/main.vala + +commit 737b658995c82889e1d6b49be38d9b0f6141cab7 +Author: Joseph Bylund +Date: Mon Apr 15 16:08:07 2013 -0700 + + Adds a configure option that allows building the Shotwell executable + with profiling support. Closes #6805. + +M Makefile +M configure + +commit eefedd5a19bc7b9d5da9a283fd0933fe8bea683d +Author: Clint Rogers +Date: Mon Apr 15 19:00:36 2013 -0400 + + Forces '_modified's exported from camera raw images to have correct + orientation. Fixes #6536. + +M src/Photo.vala + +commit 29a06febdcecf35a23703cf4000ce86c9fc8bf9b +Author: Joseph Bylund +Date: Mon Apr 15 15:42:45 2013 -0700 + + Fixes an issue where duplicating a photo without an associated event + would generate a soft assertion. Closes #6810. + +M src/Photo.vala + +commit 129c710a292decb3a20b60f691d626efe2e67a50 +Author: Joseph Bylund +Date: Mon Apr 15 14:06:26 2013 -0700 + + Fixes an issue where the key photo for an event could appear + blurry in the event overview if the key photo had an extreme aspect + ratio. Closes #1202. + +M src/events/EventDirectoryItem.vala + +commit 5e07a5820e9f547d1d3e36ec74930af8f29899a5 +Author: Lucas Beeler +Date: Mon Apr 15 13:13:40 2013 -0700 + + Corrects an incorrect addition to the THANKS file. + +M THANKS + +commit 65574e34b90c5e5a19fcfc0d799b793ef7775691 +Author: Michel Alexandre Salim +Date: Fri Apr 12 16:45:43 2013 -0700 + + Fixes an issue where Shotwell failed to start when installed a + certain way on Fedora systems using the new Red Hat Unified Directory + Structure. Closes #5181. + +M THANKS +M src/util/system.vala + +commit 698131088d8c7ff2cfae4577e8104ca507e19b23 +Author: Joseph Bylund +Date: Fri Apr 12 16:27:12 2013 -0700 + + Uses new EXIF metadata fields, including mapping from ratings stars + to percents. Closes #5451. + +M src/Resources.vala +M src/photos/PhotoMetadata.vala + +commit d75db839f367039b3cc3e65ce08c0e024f2ee004 +Author: Joseph Bylund +Date: Fri Apr 12 15:02:56 2013 -0700 + + Changes saved search and search filter logic such that it ignores + diacritical marks (this is to say, the character 'é' is equivalent to + 'e'). Closes #6670. + +M src/Tag.vala +M src/core/SourceInterfaces.vala +M src/searches/SearchBoolean.vala +M src/util/string.vala + +commit 7239f72c6f9627cd24562b88b759991e07e4254e +Author: Joseph Bylund +Date: Fri Apr 12 12:59:51 2013 -0700 + + Fixes a grammatical error in the flagging photos progress dialog + box. Closes #6457. + +M src/Commands.vala + +commit 7792fc4fd3eac2e3e7004e75a4edc6c439547776 +Author: Clint Rogers +Date: Thu Apr 11 18:17:44 2013 -0400 + + Migrates the slideshow settings dialog away from table and into grid; + part of #5838. + +M src/SlideshowPage.vala +M ui/shotwell.glade + +commit f44957ac0ebd721c0201223bd960cac6ddede3a2 +Author: Clint Rogers +Date: Thu Apr 11 17:37:56 2013 -0400 + + Migrates the extended info window away from a table and into a grid + as required by #5838. + +M src/Properties.vala + +commit b43b823238513e20c3f9960c9362cfb68f61f44d +Author: Clint Rogers +Date: Tue Apr 9 14:06:14 2013 -0400 + + Corrects a problem where creating a new event from items highlighted + in the library page wouldn't cause the app to navigate to the + new event. Fixes #6728. + +M src/Commands.vala + +commit 561fce90575d6652e88c4dfa30a2b9b69f94187a +Author: Joseph Bylund +Date: Fri Apr 5 15:32:39 2013 -0700 + + Increases performance of the folder tree view. Closes #6715. + +M src/folders/Page.vala + +commit 822e9f4a9425e73d4a5f2e428342b07475da78cf +Author: Lucas Beeler +Date: Wed Apr 3 17:12:32 2013 -0700 + + Updates version number to 0.14.1+trunk. + +M Makefile + +commit 874a013e8e40ead8f757946f0c5b60c87767bace +Author: Lucas Beeler +Date: Wed Apr 3 12:13:15 2013 -0700 + + Updates NEWS and debian/changelog files in preparation for Shotwell + 0.14.1 release. + +M NEWS +M debian/changelog + +commit 4e9ebbb5e9562a3977061225924b063568815e31 +Author: Clint Rogers +Date: Tue Apr 2 18:47:45 2013 -0700 + + Corrects a problem where pressing [Shift] while viewing an image + whose original orientation was anything other than top-left would + cause the image to 'snap' to top-left inappropriately; fixes #6734. + +M src/PhotoPage.vala + +commit a6d1c9358ce9f9e3043e3c743e2c1868a4ad50b4 +Author: Lucas Beeler +Date: Mon Apr 1 16:26:42 2013 -0700 + + The new Graph API-based Facebook Connector correctly sets the privacy + level on video uploads. Closes #6694. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit a16f6a3f0d92b24f79c9e8698ff4e00eb710e1b8 +Author: Lucas Beeler +Date: Mon Apr 1 12:12:07 2013 -0700 + + Fixes a translation issue in the Greek translation introduced by + my most recent round of translation pulls from Transifex. Special + thanks to Joe Bylund for spotting this as I clearly overlooked it + when integrating the latest round of translations. Closes #6713. + +M po/shotwell-core/el.po +M po/shotwell-extras/el.po + +commit 0977d0982bbd0364ee79ca7ebdc6e08dd1e89b90 +Author: Lucas Beeler +Date: Fri Mar 29 18:51:06 2013 -0700 + + Updates translations in anticipation of the Shotwell 0.14.1 release. + +M Makefile +M po/shotwell-core/ar.po +A po/shotwell-core/as.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/el.po +M po/shotwell-core/et.po +M po/shotwell-core/gl.po +C050 po/shotwell-core/cs.po po/shotwell-core/gu.po +M po/shotwell-core/hi.po +M po/shotwell-core/hr.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +A po/shotwell-core/kn.po +M po/shotwell-core/ko.po +M po/shotwell-core/lv.po +A po/shotwell-core/ml.po +A po/shotwell-core/mr.po +M po/shotwell-core/pa.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +D po/shotwell-core/ta_IN.po +M po/shotwell-core/te.po +D po/shotwell-core/te_IN.po +M po/shotwell-extras/ar.po +C050 po/shotwell-extras/he.po po/shotwell-extras/as.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/el.po +M po/shotwell-extras/et.po +M po/shotwell-extras/he.po +C051 po/shotwell-extras/he.po po/shotwell-extras/hi.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/kk.po +A po/shotwell-extras/kn.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lv.po +A po/shotwell-extras/ml.po +A po/shotwell-extras/mr.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po + +commit 6a4cec34fec547e5f2322bfa7bae748830ada22c +Author: Clint Rogers +Date: Fri Mar 29 11:03:37 2013 -0700 + + Fixes a missing mnemonic in direct-edit mode; fixes #6696 + +M src/direct/DirectPhotoPage.vala + +commit b5f118db1b4b809d08f2863f602e9535a39ed4a7 +Author: Lucas Beeler +Date: Thu Mar 28 14:51:25 2013 -0700 + + Updates the Facebook Connector to robustly recover from type 7 and + type 8 errors. Closes #6586. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 514f56c074366d072ad2d42e696ba2d04f034306 +Author: Clint Rogers +Date: Thu Mar 28 14:42:10 2013 -0700 + + Corrects a problem with 013588718406e2749f7f3b6910a1dce3770113f7 + where the Makefile would try to validate the .desktop file before + checking whether the desktop validator was actually installed. + +M Makefile + +commit 5fdd00800ac7e2daf671e5406cd7ddc9f1e44448 +Author: Clint Rogers +Date: Thu Mar 28 14:37:11 2013 -0700 + + Prevent the app from jumping from the library page to an event if + an image is dragged there; fixes #4014. + +M src/Commands.vala +M src/events/EventPage.vala + +commit 013588718406e2749f7f3b6910a1dce3770113f7 +Author: Clint Rogers +Date: Wed Mar 27 18:12:47 2013 -0700 + + Corrects an issue where the makefile blithely assumed that all + computers would already have desktop-file-utils installed; ref #6691. + +M Makefile +M debian/control + +commit fe3d38de732a17ecdc4c39e7f0813246f36bdafb +Author: Lucas Beeler +Date: Wed Mar 27 10:13:58 2013 -0700 + + Fixes a capitalization and punctuation error in the German translation + file. Closes #6690. + +M po/shotwell-core/de.po + +commit 002855c80824945f1d8178d5144bebac2ed13a59 +Author: Clint Rogers +Date: Tue Mar 26 19:30:59 2013 -0700 + + Runs 'desktop-file-validate' on the generated .desktop files and + dies early during build time if there's a problem; fixes #6570. + + (Also corrects a problem with misc/shotwell-viewer.desktop.head) + +M Makefile +M misc/shotwell-viewer.desktop.head + +commit a7acd9fa0e53e0f4dacd638c5b22d1325ae356f4 +Author: Clint Rogers +Date: Tue Mar 26 17:37:15 2013 -0700 + + Revert "Causes the application to fall back to the current pixbuf + size in Extended Properties->Original Dimensions if the image's + dimensions couldn't be read from the metadata; ref #6585." (should + not have been pushed) + + This reverts commit 547e2251fe0cff819b729fb79415f165d8ed9941. + +M src/Properties.vala + +commit 547e2251fe0cff819b729fb79415f165d8ed9941 +Author: Clint Rogers +Date: Fri Mar 15 21:06:11 2013 -0400 + + Causes the application to fall back to the current pixbuf size in + Extended Properties->Original Dimensions if the image's dimensions + couldn't be read from the metadata; ref #6585. + +M src/Properties.vala + +commit cf037572efb06c37ec7caff321948f5cd1c0ee8a +Author: Clint Rogers +Date: Tue Mar 26 14:11:36 2013 -0700 + + Preserve the orientation field for .JPGs when exporting them with + stripped metadata; ref #6684. + +M src/Photo.vala + +commit 10330f047c7a662f1eba4acf4270abc5faec0a17 +Author: Clint Rogers +Date: Mon Mar 25 14:10:09 2013 -0400 + + Changes the way displaying the unmodified version of a photo is + handled to use the precache and avoid a crash in direct mode; + ref #6236. + +M src/PhotoPage.vala + +commit a8ee3df9d77ae17fc00ef67a0c1e1eab35ac80e6 +Author: Joseph Bylund +Date: Fri Mar 22 15:25:12 2013 -0700 + + Ensures that the icon associated with the startup progress dialog + is the Shotwell application icon; closes #6641. + +M src/main.vala + +commit a4c4c5d5daf004863bf91bb05471145e64fd509c +Author: Chris Cummins +Date: Fri Mar 22 15:18:17 2013 -0700 + + Removes all hard dependencies on X11 libraries, making Shotwell + display-server agnostic and able to run under Weston/Weyland. Closes + #6606. + +M Makefile +M THANKS +M src/PhotoPage.vala +M src/libshotwell.deps +M src/util/ui.vala + +commit 0bf992ab8cca8ddcf658e3ddb4a2b1eca4a3d8c9 +Author: Joseph Bylund +Date: Fri Mar 22 13:04:55 2013 -0700 + + Adds corrupt image errors to the family of errors detected by the + import logging system. Closes #6445. + +M src/BatchImport.vala +M src/Dialogs.vala + +commit b3f39618041d7ee9204b6d429df5e461a7130b7d +Author: Clint Rogers +Date: Wed Mar 20 19:05:00 2013 -0700 + + Makes 'configure' smarter about handling the case where no compatible + libGPhoto2 installation is found; fixes #6579. + +M configure + +commit 13ee3140debc70479616e48d46c4f3380896df30 +Author: Clint Rogers +Date: Wed Mar 20 18:46:41 2013 -0700 + + For raw files, don't use the embedded preview on the photo page if + it's less than 1024 px along its major axis; closes #6594. + +M src/Photo.vala + +commit 66fd29cf94dce950f3ad3ab6b8dc48b1e59af354 +Author: Lucas Beeler +Date: Wed Mar 20 17:04:55 2013 -0700 + + Fixes strftime strings that generated bogus dates in the Catalan + translation. Closes #3943. + +M po/shotwell-core/ca.po + +commit 014d88ce2bad3422bfc47ea5ce14d9ac7d125d26 +Author: Clint Rogers +Date: Wed Mar 20 17:03:28 2013 -0700 + + Forces the search filter to propagate to checkerboard pages when + they're switched to, more closely matching what the user intuitively + expects. Fixes #4300. + +M src/library/LibraryWindow.vala + +commit f10fbd3ab2f7860eede999922336a85aab7a07bc +Author: Lucas Beeler +Date: Mon Mar 18 15:12:19 2013 -0700 + + Increments version number to 0.14.0+trunk. + +M Makefile + +commit 9d2ddc50176229d3a9c5b7777727d9f4ae90692e +Author: Lucas Beeler +Date: Mon Mar 18 15:01:58 2013 -0700 + + This is the 0.14.0 release image. + +M Makefile +M NEWS +M debian/changelog +M debian/control + +commit 2d56e7bd4ca9b07982c6b874005b2fe2298939e2 +Author: Lucas Beeler +Date: Mon Mar 18 10:19:51 2013 -0700 + + Updates French translation in preparation for the 0.14.0 release. + +M po/shotwell-core/fr.po + +commit 121b952b1daf09683a954a6140a7c710cdc67235 +Author: Lucas Beeler +Date: Fri Mar 15 17:27:42 2013 -0700 + + Modifies the video reader to ignore auxilliary video container files + that come as part of AVCHD bundles. Closes #4943. + +M src/VideoSupport.vala + +commit f9b308dc57fcc524dd2ad445266a95ab4606c082 +Author: Joseph Bylund +Date: Fri Mar 15 12:04:15 2013 -0700 + + Adds missing command line options to the manpage. Closes #3998. + +M debian/shotwell.1 + +commit 0b2893676844868326c72490c7e720ea37057dd1 +Author: Damien Lallement +Date: Fri Mar 15 12:00:45 2013 -0700 + + Fixes a bug in the Portuguese translation that affected generation + of the .desktop file. + +M po/shotwell-core/pt.po + +commit 5d3b2f5b7579350c48ac22a4b8ce9801f5707012 +Author: Lucas Beeler +Date: Thu Mar 14 19:12:43 2013 -0700 + + Changes the semantics of "unsetting" a configuration key in the + GSettings configuration engine to mean "reset the GSettings key to + its default value." In the past, unsetting was a no-op. Closes #6578. + +M src/config/GSettingsEngine.vala + +commit 251316cf280b7c2308b715259689fac2b211e97e +Author: Lucas Beeler +Date: Thu Mar 14 17:59:09 2013 -0700 + + Changes error handling sequence in response to token refresh failures + in Picasa connector to ensure users whose client IDs were changed + by the previous commit are properly logged out. + +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit 0ba580be155eff68ac33b3cf7cb6d25ad71cf385 +Author: Lucas Beeler +Date: Thu Mar 14 17:13:11 2013 -0700 + + Changes Picasa client ID and client secret in attempt to interoperate + better with UOA. + +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit 4f36f049c1cbe1fdeeb8671cbd71f61b2c427dfa +Author: Lucas Beeler +Date: Thu Mar 14 14:48:29 2013 -0700 + + Fixes a serious issue in which the endpoint test HTTP transaction + run against the Facebook login server would fast-fail, preventing + new users from logging into Facebook. Closes #6546. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit e70bc296ff14fab5ed31ba8019f15cdbae64f7fe +Author: Lucas Beeler +Date: Wed Mar 13 20:02:55 2013 +0100 + + Fixes numerous translation glitches and re-versions translation + files to 0.14.0 in anticipation of the upcoming Shotwell 0.14 + release. Closes #6431, #6424, and #6127. + +M po/shotwell-core/af.po +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hi.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/ia.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/km.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/or.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/ta_IN.po +M po/shotwell-core/te.po +M po/shotwell-core/te_IN.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/vi.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/eo.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/or.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit 9cab3bc3601c9db55096e9918792d6f885dd1f70 +Author: Lucas Beeler +Date: Tue Mar 12 17:01:26 2013 -0700 + + Increases the time Shotwell allows the shotwell-video-thumbnailer + helper process to run before killing it. Mitigates some GStreamer + 1.0 issues. Closes #6519. + +M src/VideoSupport.vala + +commit 77453a84f41cfb827e20e1aa09b79d75420c1d01 +Author: clinton +Date: Mon Mar 11 15:57:26 2013 -0700 + + Corrects a problem where the extended properties box could show stale + information after a raw was highlighted, then de-selected. Fixes + #6500. + +M src/Properties.vala + +commit 32ff79ee74a8a2369ce4319adb64fd36580d114d +Author: Lucas Beeler +Date: Fri Mar 8 14:47:45 2013 -0800 + + The video thumbnailer now seeks to a fixed value of 1 second into the + video's duration in all cases. Previously, it seeked to a timecode + that was determined dynamically by taking a percentage of the total + video length. + +M thumbnailer/shotwell-video-thumbnailer.vala + +commit d532d2f09486c0dd44b74f1e3129eae8a4dd8f6b +Author: Clint Rogers +Date: Fri Mar 8 11:45:32 2013 -0800 + + Corrects a problem where .BMPs couldn't be rotated correctly if + metadata-writing were turned on; fixes #3845. + +M src/photos/BmpSupport.vala + +commit e3b949b69af07e762bdb4c2c9c31bd2bfb26af7f +Author: Clint Rogers +Date: Thu Mar 7 16:58:00 2013 -0800 + + Consumes 'F2' keypresses when nothing is selected in an event to + prevent the sidebar from acting on them; fixes #4436. + +M src/events/EventPage.vala + +commit 60bce610f62c8a9216ce17d5aa7ca47fe92d1c29 +Author: Clint Rogers +Date: Thu Mar 7 16:55:55 2013 -0800 + + Relaxes an assertion that could fail while removing media sources from + a view tracker (and logs the condition that causes the assertion); + fixes #6481. + +M src/MediaViewTracker.vala + +commit edd5b0e96a23408264e787eb7e679b81b4b4521a +Author: Clint Rogers +Date: Thu Mar 7 16:48:53 2013 -0800 + + Removes an unneeded dependency; fixes #6173. + +M Makefile +M debian/control + +commit 2ac161617906bf453fd61d1d590903afa3f3646f +Author: Jim Nelson +Date: Wed Mar 6 12:28:32 2013 -0800 + + Update debian/changelog for Daily Build PPA + +M debian/changelog + +commit 18585950ca73cb21ee246cc608d3a193c4bbb085 +Author: Lucas Beeler +Date: Tue Mar 5 17:59:47 2013 -0800 + + Replaces an assertion with a short-circuit return and a debug + message. Closes #5155. + +M src/DirectoryMonitor.vala + +commit 274ccc57e40da0b923a8e5a8256e9560e8a6b803 +Author: Clint Rogers +Date: Tue Mar 5 17:56:08 2013 -0800 + + Prevents the background-task progress bar from appearing if there + are too few tasks pending to justify it; fixes #2512. + +M src/library/LibraryWindow.vala + +commit 7428233fef4bfdcf288c1849121eab8350ec795a +Author: Clint Rogers +Date: Tue Mar 5 17:21:36 2013 -0800 + + Relaxes an assertion that could occasionally fail in the + SourceHoldingTank, as well as adds some logging for the problem to + help us address it in the future; ref #3981. + +M src/core/SourceHoldingTank.vala + +commit e4464bfc6b11ea92bc4981467e95ac87247e7eee +Author: Lucas Beeler +Date: Tue Mar 5 13:06:36 2013 -0800 + + Updates version number to 0.14.0pr1+trunk. + +M Makefile + +commit 801f7d40e03692de539c6ad443782fd9afb1546f +Author: Lucas Beeler +Date: Mon Mar 4 18:56:41 2013 -0800 + + Updates version number in Makefile and translation files for the + Shotwell 0.14.0PR1 pre-release. + +M Makefile +M po/shotwell-core/cs.po +M po/shotwell-core/de.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/fr.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/sr.po +M po/shotwell-core/uk.po +M po/shotwell-core/zh_CN.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/zh_CN.po + +commit 7e042cf668e32a7750d9b3730f7a562c2b13a25f +Author: Clint Rogers +Date: Mon Mar 4 18:20:43 2013 -0800 + + Works around a problem where a TreeSet could leak references when + going out of scope (this led to a leak and crash in Geary); fixes + #6478. + +M plugins/common/RESTSupport.vala +M src/Commands.vala +M src/Dialogs.vala +M src/MediaDataRepresentation.vala +M src/Tag.vala +M src/photos/PhotoMetadata.vala +M src/plugins/Plugins.vala +M src/sidebar/Branch.vala +M src/slideshow/TransitionEffects.vala +M src/tags/Branch.vala +M src/tags/HierarchicalTagIndex.vala +M src/util/misc.vala + +commit 5dd2d302755626896d32466c25a93c83bad37fbc +Author: Joseph Bylund +Date: Mon Mar 4 15:56:03 2013 -0800 + + Allows compilation with both valac 0.18.x and 0.19.x. Closes #6406. + +M src/Page.vala + +commit 723a2a01b044fb1e4054130b191aba0a5b4fdb79 +Author: Joseph Bylund +Date: Mon Mar 4 15:35:18 2013 -0800 + + Fixes an issue where charset annotations could migrate their way + into the content text of photo comments. Closes #6359. + +M src/photos/PhotoMetadata.vala + +commit 630a57bea7241313d9f355b096d6475559f027d0 +Author: Clint Rogers +Date: Thu Feb 28 17:14:58 2013 -0800 + + Patch adds a progress bar dialogue if more than 1000 media sources + are being flagged or unflagged at once. Fixes #2937. + +M src/Commands.vala + +commit c147a5751bea712ad942bbbb4373edd0885ed945 +Author: Clint Rogers +Date: Wed Feb 27 17:46:30 2013 -0800 + + Proposed patch would make it possible to change the raw developer + from the context menus; fixes #4058. + +M ui/collection.ui +M ui/photo_context.ui + +commit dc3066ab44833a380175c93669821318fb243fa4 +Author: Clint Rogers +Date: Wed Feb 27 13:11:48 2013 -0800 + + Causes the 'undated' entry to remain at the next-to-last part of + the list, right before 'no event'. Ref #1632. + +M src/events/Branch.vala + +commit b2e8f8b022e2e5261ced48369592b8abab7ff53f +Author: Lucas Beeler +Date: Wed Feb 27 13:42:09 2013 -0800 + + Fixes an issue in which Shotwell was unable to produce thumbnails for + -- and thus import -- photos generated by a recent-model Blackberry + camera. Closes #6053. + +M src/ThumbnailCache.vala + +commit ee05eb4eba6f17a669ba5fd7a3fc77569d9acbbb +Author: Lucas Beeler +Date: Tue Feb 26 19:25:40 2013 -0800 + + Makes the search/filter bar's visibility state a persistent property, + so Shotwell now remembers whether the search/filter toolbar is + visible between runs. Closes #6416. + +M misc/org.yorba.shotwell.gschema.xml +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/library/LibraryWindow.vala + +commit c1d632876bddae33178419f3e6cba563c3cb9812 +Author: Clint Rogers +Date: Tue Feb 26 19:25:28 2013 -0800 + + Corrects a problem where the 'Shotwell' development could be + inappropriately rotated twice for portrait camera-raw images; + fixes #4262. + +M src/Photo.vala + +commit 26bd2b051612648a0b2b60f2e975ba38af3a8f64 +Author: Clint Rogers +Date: Tue Feb 26 18:29:54 2013 -0800 + + Corrects an issue where the master's orientation could be + inappropriately written to after an external edit; fixes #6430 + +M src/MetadataWriter.vala + +commit caf40ebdeb32612b48ba230934bc4a7ba4f2aef5 +Author: Lucas Beeler +Date: Tue Feb 26 16:22:49 2013 -0800 + + Ensures that rejected photos are not visible at startup. Closes #4300. + +M src/SearchFilter.vala +M src/library/LibraryWindow.vala + +commit 2c2bdfd9da6861d27e6c9952652d71698a83013e +Author: Clint Rogers +Date: Tue Feb 26 11:17:29 2013 -0800 + + Instead of rotating the pixels and dimensions on export, if we're + being asked to write a JPEG, we write the pixels normally and let + the orientation field do the rotation for us, fixes #1938. + + NOTE: this does _not_ fix the case where reverting after an external + editor has set the _modified.jpg to top-left; this was broken out + into its own bug. + +M src/Photo.vala + +commit 3516fe74d8700765b2c064b3b03f965c5f3988a5 +Author: Lucas Beeler +Date: Mon Feb 25 19:22:51 2013 -0800 + + Updates POT files in the wake of the Shotwell 0.14 string freeze to + prepare for the upcoming release. + +M po/shotwell-core/shotwell.pot +M po/shotwell-extras/shotwell-extras.pot + +commit d156042160060f4513a7bcb7da0777ac47316fca +Author: Norbert Preining +Date: Mon Feb 25 14:09:55 2013 -0800 + + Allows uploading of event comments to Piwigo. Closes #6381. + +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala + +commit 886689c4bdac889bca149ac46580eb2526a504de +Author: Jens B +Date: Fri Feb 22 13:39:23 2013 -0800 + + Adds three additional slideshow transition effects. Closes #6411. + +M misc/org.yorba.shotwell.gschema.xml +A plugins/shotwell-transitions/ChessEffect.vala +M plugins/shotwell-transitions/Makefile +A plugins/shotwell-transitions/SquaresEffect.vala +A plugins/shotwell-transitions/StripesEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M src/slideshow/Slideshow.vala + +commit c10d3d8465b8ceae54928f17ea07eaf626e7676f +Author: Clint Rogers +Date: Thu Feb 21 19:25:07 2013 -0800 + + Makes permissions problems leading to write failures show up under + manifest.write_failed; closes #5786. + +M src/BatchImport.vala + +commit c64ac7f11abfeb3f47eec0db0a50a12c0be98b31 +Author: Clint Rogers +Date: Thu Feb 21 18:15:22 2013 -0800 + + Proposed patch would add the path to the currently-displayed + development for a raw file to the extended information window; + closes #6408. + +M src/Properties.vala + +commit f6065c18d236e2b9ed9973269195bc04058227bd +Author: Lucas Beeler +Date: Thu Feb 21 17:47:30 2013 -0800 + + Adds special-case, date and time correction logic that works around + a date encoding problem present in some HTC Android phones. Closes + #3314. + +M src/VideoMetadata.vala + +commit 725d941b91f23490cd7ad61cd639b4131ce34597 +Author: Clint Rogers +Date: Thu Feb 21 16:45:52 2013 -0800 + + Proposed patch would show the filesize of the master raw, rather + than the development, in extended info; closes #6407. + +M src/Properties.vala + +commit c55c84397715fa54c94df0efb2591fe0a3e1edd9 +Author: Clint Rogers +Date: Thu Feb 21 15:30:48 2013 -0800 + + Prevents multiple spurious copies of the same image from being + generated when the developer is changed; closes #5681. + +M src/Photo.vala +M src/Properties.vala + +commit d76751a3963646840afc4a42eb6ce5a754b6a568 +Author: Jens B +Date: Thu Feb 21 14:31:41 2013 -0800 + + Uses sort-by-title as a fallback when the configuration system + (GSettings or GConf) gives an invalid sort criteria value. This is + a major improvement over the previous behavior where Shotwell would + error out and crash. Closes #6253. + +M src/MediaPage.vala + +commit 87fe246aef7aa0325e42cbcbf94c9383abe9e244 +Author: Jens B +Date: Thu Feb 21 14:17:18 2013 -0800 + + Adds a random slideshow transition. Closes #6275. + +M src/SlideshowPage.vala +M src/slideshow/TransitionEffects.vala + +commit a65dacd2c9afb8d89f19e505075e135eb0b69805 +Author: Clint Rogers +Date: Tue Feb 19 18:06:56 2013 -0800 + + Modified the text on the straighten tool's affirmative button, + fixes #4822. + +M src/editing_tools/StraightenTool.vala + +commit c22865f4d629845c64def21e589f5ece3dfe5b85 +Author: Clint Rogers +Date: Tue Feb 19 18:04:28 2013 -0800 + + Proposed patch would put these in the right place the next time the + .pot generator is run; closes #5973. + +M src/main.vala + +commit 8772949de961b0eef371b94836b7bcb8a8f65f38 +Author: Lucas Beeler +Date: Tue Feb 19 16:40:37 2013 -0800 + + Allows the user to save a detailed log of any import complications + (duplicates, file errors, etc.). Closes #2593 and #3126. + +M src/BatchImport.vala +M src/Dialogs.vala +M src/Photo.vala +M src/VideoSupport.vala +M src/camera/ImportPage.vala + +commit bdd33e68928fda6aab23540a1c7c07d0e925c9b1 +Author: Clint Rogers +Date: Fri Feb 15 18:31:47 2013 -0800 + + Corrected a typo that broke compilation. + +M src/db/PhotoTable.vala + +commit dc735dde7a6faec422867771ebefc46874dea9ca +Author: Clint Rogers +Date: Fri Feb 15 18:28:42 2013 -0800 + + Corrects a problem where the developer in the photo row could be + re-set inappropriately after deleting a stale development .jpeg; + closes #6390. + +M src/db/PhotoTable.vala + +commit 06a7b16e48aa5a7cf7284bf450e1aac3121b0201 +Author: Clint Rogers +Date: Thu Feb 14 14:31:08 2013 -0800 + + Checks whether we're running on an RTL locale or not, and if so, flips + the arrow glyph before adding it to the affected string; fixes #5900. + +M src/Dialogs.vala + +commit 2cf442548474376ed518ed72215ed50ae2ed56d9 +Author: Clint Rogers +Date: Thu Feb 14 14:12:11 2013 -0800 + + Fixes some broken pango markup in ja.po; ref #6385. + +M po/shotwell-core/ja.po + +commit d786232dc3ad78881339206238ee5b08e6db58fe +Author: Clint Rogers +Date: Thu Feb 14 12:51:29 2013 -0800 + + Makes RawDeveloper.CAMERA the default; closes #4702. + +M misc/org.yorba.shotwell.gschema.xml +M src/Dialogs.vala +M src/config/ConfigurationInterfaces.vala +M src/db/PhotoTable.vala + +commit 0c9b9a38bbd884085b20ecf70526e5b1829beb98 +Author: Norbert Preining +Date: Wed Feb 13 14:13:41 2013 -0800 + + Adds support for uploading photo comments to the Piwigo Connector. + +M misc/org.yorba.shotwell.gschema.xml +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala + +commit c7e666372a846ce650b36e1cfb4586c1009e1a2b +Author: Joseph Bylund +Date: Wed Feb 13 12:33:39 2013 -0800 + + Displays seconds in photo exposure date/time in the extended + information pane. Closes #5709. + +M src/Properties.vala +M src/Resources.vala + +commit aae8ca3bcbbcb2f79b5f8330697fafcc6566281e +Author: Joseph Bylund +Date: Wed Feb 13 12:04:29 2013 -0800 + + Fixes a UI nit in which the "Edit Title" and "Edit Tags" dialogs + failed to conform to the GNOME HIG. Closes #6262. + +M src/Dialogs.vala + +commit 895ca4b09b6f50151b54fe5cbe2ffd128581c2e3 +Author: Norbert Preining +Date: Wed Feb 13 11:52:11 2013 -0800 + + Fixes a variety of user experience nits related to adding comments + to photos and events. Closes #6353. + +M src/Dialogs.vala +M src/MediaDataRepresentation.vala +M src/events/EventDirectoryItem.vala +M ui/shotwell.glade + +commit 569952f8efd05981aa06ff0418419c725d90cfd5 +Author: Jens B +Date: Wed Feb 13 11:25:42 2013 -0800 + + Adds four additional core slideshow transitions. Closes #6347. + +M misc/org.yorba.shotwell.gschema.xml +A plugins/shotwell-transitions/BlindsEffect.vala +A plugins/shotwell-transitions/CircleEffect.vala +A plugins/shotwell-transitions/CirclesEffect.vala +A plugins/shotwell-transitions/ClockEffect.vala +M plugins/shotwell-transitions/Makefile +M plugins/shotwell-transitions/shotwell-transitions.vala +M src/slideshow/Slideshow.vala + +commit 921e0bd92622ded6ac358b02fc6bbf620f661776 +Author: Lucas Beeler +Date: Wed Feb 13 10:39:18 2013 -0800 + + Shotwell no longer runs the gsettings-data-convert tool on + startup. Closes #6369 and #6252. + +M src/config/GSettingsEngine.vala +M src/main.vala + +commit 301ca7b9cb56415d6b51f0a0ea0a832e61972868 +Author: Clint Rogers +Date: Fri Feb 8 17:49:00 2013 -0800 + + Fixes up 'stale' RAW thumbnails that were generated by older, + buggier versions of Shotwell when the developer was set to 'camera'; + ref #6315. + +M src/Application.vala +M src/Upgrades.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala + +commit f7480c924303166d4ce3528674b50f08a563206a +Author: Lucas Beeler +Date: Fri Feb 8 15:57:27 2013 -0800 + + Fixes a Raring-specific crash in the new, Graph API-based Facebook + Connector. Closes #6345. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit b3a2d47c8e624a052a79b894a53cd1ee85535bcf +Author: Norbert Preining +Date: Fri Feb 8 14:32:24 2013 -0800 + + Adds the capability to annotate events with comments. Closes #6271. + +M misc/org.yorba.shotwell.gschema.xml +M src/Commands.vala +M src/Event.vala +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/Properties.vala +M src/VideoSupport.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/core/DataSourceTypes.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/EventTable.vala +M src/events/EventDirectoryItem.vala +M src/events/EventsDirectoryPage.vala +M ui/events_directory.ui + +commit 7d382d19446bd8fba9bf4ee3467951240c246d28 +Author: Clint Rogers +Date: Fri Feb 8 11:24:48 2013 -0800 + + Adds a breadcrumb comment to a seemingly-unusual snippet of code + in EditingTools.vala. + +M src/editing_tools/EditingTools.vala + +commit 7d5326352378d4df468bbb329063f79434cbd434 +Author: Lucas Beeler +Date: Thu Feb 7 14:45:20 2013 -0800 + + Adds all of the user's photo albums to the album selector list in + the publishing options pane of the Facebook Connector regardless + of the value of the Facebook can_upload flag for that album. This + change may need to be undone later as Facebook policies change. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 4628d43c2b315cbf46710bef60bb59f6143e5efd +Author: Lucas Beeler +Date: Thu Feb 7 12:34:13 2013 -0800 + + Changes the way the startup progress bar calculates progress + percentage. Closes #3572. + +M src/main.vala + +commit 9b0469399dbeb278851ae6b412fc3cacb3d12ed9 +Author: Clint Rogers +Date: Wed Feb 6 16:01:02 2013 -0800 + + Fixes up raw developer on images imported from a camera after + importing is complete; fixes #4149, fixes #4692. + +M src/camera/ImportPage.vala + +commit 71eb4dda8d41396065682211280cf8459f6fb2d2 +Author: Lucas Beeler +Date: Mon Feb 4 16:55:37 2013 -0800 + + Re-implements support for publishing videos and mixed media (photos + and videos) to Facebook. Closes #6312. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit aaef7f7d6d77e6476216320510935ea0eca1b6b6 +Author: Tomáš Hnyk +Date: Mon Feb 4 14:28:53 2013 -0800 + + Increases the size of the Edit Title, Add Tags, and Modify Tags + dialogs, making entry of long titles or many tags much easier. Closes + #6313. + +M THANKS +M src/Dialogs.vala + +commit be22fdaad3d8d4b8eb06aa7d4ce36642ef56736d +Author: Lucas Beeler +Date: Sun Feb 3 21:33:06 2013 -0800 + + Migrates the Facebook Connector to the new Graph API. Closes #4110, + #5873, #6111, #6103. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 7ab4f6882fd07741fc8dbdd6f9b32f07a6ed9a8a +Author: Clint Rogers +Date: Fri Feb 1 14:26:00 2013 -0800 + + Makes the 'extended information' window display the path to the + master file, rather than the currently-displayed one; closes #4137 . + +M src/Properties.vala + +commit 416865c7e2800d9260cae02ef335cce204d4e12a +Author: Clint Rogers +Date: Thu Jan 31 18:24:05 2013 -0800 + + Causes a null string set to be considered equal to an empty one, + since it follows that they both have 0 elements. Closes #4297. + +M src/util/misc.vala + +commit d511de5b38f18d7fecb7968ca9ed71608864701e +Author: Clint Rogers +Date: Thu Jan 31 16:12:15 2013 -0800 + + Prevents the application from inappropriately renaming 'sister' + JPEG files -and- forces the application to always prefer the camera + development over the embedded one if it's available; closes #4149. + +M src/BatchImport.vala +M src/Photo.vala +M src/camera/ImportPage.vala +M src/photos/RawSupport.vala + +commit 69fc87f45362d73e5a3a94a3e1de2577b3591df0 +Author: Jim Nelson +Date: Tue Jan 29 22:15:29 2013 -0800 + + Updating Debian control to gexiv2 0.5.0 + + This is technically not required for building Shotwell, but we + want to move automated packaging builds now and in the future + to newer versions. + +M debian/control + +commit f21921ce5e9b2ca892ac82b548e4d59caf9184ff +Author: Norbert Preining +Date: Mon Jan 28 14:35:44 2013 -0800 + + Implements a major new feature: the ability to add comments to + photos. Closes #1573. + +M misc/org.yorba.shotwell.gschema.xml +M src/CheckerboardLayout.vala +M src/Commands.vala +M src/Dialogs.vala +M src/MediaDataRepresentation.vala +M src/MediaMetadata.vala +M src/MediaPage.vala +M src/MetadataWriter.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Properties.vala +M src/Resources.vala +M src/Thumbnail.vala +M src/VideoMetadata.vala +M src/VideoSupport.vala +M src/camera/ImportPage.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/PhotoTable.vala +M src/db/VideoTable.vala +M src/events/EventDirectoryItem.vala +M src/photos/PhotoMetadata.vala +M ui/collection.ui +M ui/media.ui +M ui/photo.ui +M ui/photo_context.ui +M ui/shotwell.glade + +commit 0fb5d20c4c8df73effabdbdd4e881777c288ac55 +Author: Jens B +Date: Mon Jan 28 12:29:59 2013 -0800 + + Corrects a problem in which pushing the left arrow key mapped + to a rightward transition to the previous photo in the slideshow + view. Closes #6258. + +M THANKS +M src/util/ui.vala + +commit 66c2ffaa70cd2bbe539c8324511ca243394e5db2 +Author: Joseph Bylund +Date: Mon Jan 28 11:47:48 2013 -0800 + + Displays a more user-friendly error message when the Vala compiler + is not present or is the wrong version. Closes #1856. + +M Makefile + +commit 82f70dd64101634abf23c28ec68f407e6b46062b +Author: Clint Rogers +Date: Wed Jan 23 18:22:13 2013 -0800 + + Prevents inappropriate deletion of camera-generated raw developments, + closes #4207, closes #6238. + +M src/MediaDataRepresentation.vala +M src/Photo.vala + +commit 1df3e40ded9fd64d5e2e8f1837c69958be89f0ab +Author: Lucas Beeler +Date: Wed Jan 23 17:09:49 2013 -0800 + + Corrects some spacing issues. + +M src/folders/Page.vala + +commit cd89cc3da3fcf48701482f33fb2adb0f7481c23c +Author: Joseph Bylund +Date: Wed Jan 23 13:34:21 2013 -0800 + + Fixes a build system issue in which the GSchema XML files would not + be properly recompiled. Closes #6178. + +M Makefile + +commit 0e1e308e4f63deea8df1d35c8499d20748d617fb +Author: Joseph Bylund +Date: Wed Jan 23 13:21:47 2013 -0800 + + Adds icons to the publishing service selector drop-down menu; + closes #1321. + +M src/publishing/PublishingUI.vala + +commit 96574501096431983cf462251542602f7c73b49b +Author: Joseph Bylund +Date: Tue Jan 22 17:33:10 2013 -0800 + + Expands the set of desktop keywords. Closes #6075. + +M Makefile +M misc/shotwell.desktop.head + +commit 5e55ae4cbd33303051ef8d5c65623143efa8bc6c +Author: Clint Rogers +Date: Tue Jan 22 17:23:47 2013 -0800 + + Causes the application to regenerate a missing raw development as + needed; closes #6237. + +M src/Photo.vala +M src/PhotoPage.vala + +commit e933a37e7a94e485b8d94690aec42a66a806d00b +Author: Joseph Bylund +Date: Tue Jan 22 16:47:54 2013 -0800 + + Makes the folders view in the sidebar recursively display folder + contents. Closes #6211. + +M src/folders/Page.vala + +commit 9da2cd0d39a03a6df7f4933d600004980e92198f +Author: Roumano +Date: Tue Jan 22 16:24:21 2013 -0800 + + Fixes a French translation issue. Closes #6213. + +M THANKS +M po/shotwell-core/fr.po + +commit 349ca68e5bb70586c2e030720a7e8fcb3a92b2fa +Author: Joseph Bylund +Date: Tue Jan 22 12:49:11 2013 -0800 + + Copies the Tumblr publishing service icon to the appropriate system + resource directory when "make install" is invoked. Closes #6242. + +M plugins/plugins.mk + +commit 6619b39d86307820d1ee8586b8bda543eb7c6cdf +Author: Clint Rogers +Date: Mon Jan 21 18:29:52 2013 -0800 + + Deletes 'stale' development .jpg when the user switches RAW + developers*; closes #4141. + + *...if and only if the 'stale' image is not a + user-supplied/camera-created one (to wit, the JPEG file of a + RAW+JPEG pair). + +M src/Photo.vala + +commit 1b40207998dad4cd4161c4ecbe11d558ec4fbc2f +Author: Clint Rogers +Date: Mon Jan 21 14:08:07 2013 -0800 + + Prevents the library directory itself from getting deleted as we + walk up the parent tree; closes #6241. + +M src/MediaDataRepresentation.vala + +commit a4ece6744fa39a3a93f04f276b54b642f19967fd +Author: Joseph Bylund +Date: Mon Jan 21 13:16:09 2013 -0800 + + Updates copyrights to 2013 across all source files, translations, + and custom vapis. Closes #6194. + +M INSTALL +M README +M chkver +M configure +M debian/copyright +M help/C/Makefile +M mkunit +M mkvala +M plugins/common/RESTSupport.vala +M plugins/common/Resources.vala +M plugins/common/SqliteSupport.vala +M plugins/common/VersionNumber.vala +M plugins/common/ui.vala +M plugins/shotwell-data-imports/FSpotDatabase.vala +M plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala +M plugins/shotwell-data-imports/FSpotDatabaseTable.vala +M plugins/shotwell-data-imports/FSpotImporter.vala +M plugins/shotwell-data-imports/FSpotMetaTable.vala +M plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala +M plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +M plugins/shotwell-data-imports/FSpotPhotosTable.vala +M plugins/shotwell-data-imports/FSpotRollsTable.vala +M plugins/shotwell-data-imports/FSpotTableBehavior.vala +M plugins/shotwell-data-imports/FSpotTagsTable.vala +M plugins/shotwell-data-imports/shotwell-data-imports.vala +M plugins/shotwell-publishing-extras/TumblrPublishing.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M po/shotwell-core/af.po +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hi.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/ia.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/km.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/or.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/shotwell.pot +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/ta_IN.po +M po/shotwell-core/te.po +M po/shotwell-core/te_IN.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/vi.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/eo.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/or.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/shotwell-extras.pot +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po +M samples/simple-plugin/README +M samples/simple-plugin/simple-plugin.vala +M settings-migrator/shotwell-settings-migrator +M src/AppDirs.vala +M src/AppWindow.vala +M src/Application.vala +M src/BatchImport.vala +M src/Box.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/CustomComponents.vala +M src/Debug.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/Exporter.vala +M src/International.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MediaDataRepresentation.vala +M src/MediaInterfaces.vala +M src/MediaMetadata.vala +M src/MediaMonitor.vala +M src/MediaPage.vala +M src/MediaViewTracker.vala +M src/MetadataWriter.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoMonitor.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Printing.vala +M src/Properties.vala +M src/Resources.vala +M src/Screensaver.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/SortedList.vala +M src/SortedListTests.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/TimedQueue.vala +M src/Tombstone.vala +M src/UnityProgressBar.vala +M src/Upgrades.vala +M src/VideoMetadata.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/camera/Branch.vala +M src/camera/Camera.vala +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +M src/camera/ImportPage.vala +M src/config/Config.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/core/Alteration.vala +M src/core/ContainerSourceCollection.vala +M src/core/Core.vala +M src/core/DataCollection.vala +M src/core/DataObject.vala +M src/core/DataSet.vala +M src/core/DataSource.vala +M src/core/DataSourceTypes.vala +M src/core/DataView.vala +M src/core/DataViewTypes.vala +M src/core/DatabaseSourceCollection.vala +M src/core/SourceCollection.vala +M src/core/SourceHoldingTank.vala +M src/core/SourceInterfaces.vala +M src/core/Tracker.vala +M src/core/ViewCollection.vala +M src/core/util.vala +M src/data_imports/DataImportJob.vala +M src/data_imports/DataImportSource.vala +M src/data_imports/DataImports.vala +M src/data_imports/DataImportsPluginHost.vala +M src/data_imports/DataImportsUI.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/EventTable.vala +M src/db/PhotoTable.vala +M src/db/SavedSearchDBTable.vala +M src/db/TagTable.vala +M src/db/TombstoneTable.vala +M src/db/VersionTable.vala +M src/db/VideoTable.vala +M src/direct/Direct.vala +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala +M src/direct/DirectView.vala +M src/direct/DirectWindow.vala +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala +M src/events/Branch.vala +M src/events/EventDirectoryItem.vala +M src/events/EventPage.vala +M src/events/Events.vala +M src/events/EventsDirectoryPage.vala +M src/folders/Page.vala +M src/library/Branch.vala +M src/library/FlaggedBranch.vala +M src/library/FlaggedPage.vala +M src/library/ImportQueueBranch.vala +M src/library/ImportQueuePage.vala +M src/library/LastImportBranch.vala +M src/library/LastImportPage.vala +M src/library/Library.vala +M src/library/LibraryWindow.vala +M src/library/OfflineBranch.vala +M src/library/OfflinePage.vala +M src/library/TrashBranch.vala +M src/library/TrashPage.vala +M src/main.vala +M src/photos/BmpSupport.vala +M src/photos/GRaw.vala +M src/photos/GdkSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoFileAdapter.vala +M src/photos/PhotoFileFormat.vala +M src/photos/PhotoFileSniffer.vala +M src/photos/PhotoMetadata.vala +M src/photos/Photos.vala +M src/photos/PngSupport.vala +M src/photos/RawSupport.vala +M src/photos/TiffSupport.vala +M src/plugins/DataImportsInterfaces.vala +M src/plugins/ManifestWidget.vala +M src/plugins/Plugins.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/plugins/TransitionsInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/Publishing.vala +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala +M src/searches/Branch.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SavedSearchPage.vala +M src/searches/SearchBoolean.vala +M src/searches/Searches.vala +M src/sidebar/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Sidebar.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/slideshow/Slideshow.vala +M src/slideshow/TransitionEffects.vala +M src/tags/Branch.vala +M src/tags/HierarchicalTagIndex.vala +M src/tags/HierarchicalTagUtilities.vala +M src/tags/TagPage.vala +M src/tags/Tags.vala +M src/threads/BackgroundJob.vala +M src/threads/Semaphore.vala +M src/threads/Threads.vala +M src/threads/Workers.vala +M src/unit/Unit.vala +M src/unit/rc/Unit.m4 +M src/unit/rc/UnitInternals.m4 +M src/unit/rc/template.vala +M src/unit/rc/unitize_entry.m4 +M src/util/KeyValueMap.vala +M src/util/Util.vala +M src/util/file.vala +M src/util/image.vala +M src/util/misc.vala +M src/util/string.vala +M src/util/system.vala +M src/util/ui.vala +M thumbnailer/shotwell-video-thumbnailer.vala +M vapi/ExtendedPosix.vapi +M vapi/LConv.vapi +M vapi/gphoto-2.4/libgphoto2.vapi +M vapi/gphoto-2.5/libgphoto2.vapi +M vapi/gphoto.h +M vapi/libexif.vapi +M vapi/libraw.vapi + +commit 05c10b9c6107dc785808732216498ef5f3f6b87d +Author: Clint Rogers +Date: Tue Jan 15 16:09:42 2013 -0800 + + Causes video thumbnails to get regenerated if lost; closes #6152. + + Also moves some code around so regeneration for both stills and + videos happens in the same spot, improving code navigability. + +M src/PhotoMonitor.vala +M src/ThumbnailCache.vala + +commit 43bc638af6bc410d55c679a710fbe4262bcc5bdd +Author: Joseph Bylund +Date: Fri Jan 11 18:35:35 2013 -0800 + + Makes text entry dialogs resizable. Closes #6097. + +M src/Dialogs.vala + +commit 0cbf60b5ec721028b551900c0b0adbbe486fbae4 +Author: Jim Nelson +Date: Fri Jan 11 16:19:58 2013 -0800 + + Implements a basic folder tree in the sidebar. Closes #1594. + +M src/Resources.vala +A src/folders/Branch.vala +A src/folders/Folders.vala +A src/folders/Page.vala +C071 src/library/mk/library.mk src/folders/mk/folders.mk +M src/library/LibraryWindow.vala +M src/library/mk/library.mk +M units.mk + +commit e32f610752fd8bc32aacea46b85715f10707e07e +Author: Joseph Bylund +Date: Fri Jan 11 11:55:46 2013 -0800 + + Error in documentation: Closes #6117 + +M help/C/share-export.page + +commit cf7132f1fd673952d7cd3a6e00927be0d399c2f2 +Author: Clint Rogers +Date: Wed Jan 9 17:36:18 2013 -0800 + + Corrects a problem where ./configure would blithely accept bogus + arguments; closes #6015. + +M configure + +commit bf8498669743c22633b9d0ce7f7eb31b301418d5 +Author: Lucas Beeler +Date: Tue Jan 8 17:13:25 2013 -0800 + + Increases MIN_VALAC_VERSION to the earliest version of valac that + ships with vapi files for GStreamer 1.0. + +M Makefile + +commit 4db67e385c9c2d89947077f1520aa31af2538d65 +Author: Alban Browaeys +Date: Tue Jan 8 17:11:27 2013 -0800 + + Ports Shotwell to GStreamer 1.0. Closes #6055. + +M Makefile +M THANKS +M debian/control +M src/VideoSupport.vala +M thumbnailer/shotwell-video-thumbnailer.vala + +commit 6da387d589ee7d8c35ac0f5f79d21e0d43e2d5a0 +Author: Clint Rogers +Date: Tue Jan 8 17:08:51 2013 -0800 + + Fixes an issue where we were supplying an invalid argument to the + configure script; closes #6016. + +M debian/rules + +commit 3995e0b129bc5745c011367e09560a4a9aa6c992 +Author: Norbert Preining +Date: Mon Jan 7 16:41:55 2013 -0800 + + Allows selection of a sub-album or category when publishing to + Piwigo. Closes #3749. + +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade + +commit 9a6fa02e15514394ec9d2885de00e298914e955e +Author: Ash Balgimbayev +Date: Mon Jan 7 13:13:50 2013 -0800 + + Allows the user to show & hide the sidebar. Closes #5346. + +M misc/org.yorba.shotwell.gschema.xml +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/library/LibraryWindow.vala +M ui/events_directory.ui +M ui/import.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui + +commit 8126010972408b341a5672f73c529bf31225239b +Author: Clint Rogers +Date: Fri Jan 4 15:42:05 2013 -0800 + + Prevents file discovery and metadata writing from starting before + ALL initialization, including tag list population, is completed. + + Fixes #5992. + +M src/Application.vala +M src/MediaDataRepresentation.vala +M src/MetadataWriter.vala +M src/main.vala + +commit 75ac7e2ffbe72d99ccf97337a5ce6bb5914db129 +Author: Gert Wollny +Date: Fri Jan 4 15:49:04 2013 -0800 + + Modifies thumbnail cache system to correctly support multiple + libraries. Closes #5986. + +M THANKS +M src/AppDirs.vala + +commit 764bad1bb8f69a144732f6564a69ea8fb909a9df +Author: Lucas Beeler +Date: Fri Jan 4 13:16:44 2013 -0800 + + Adds Joseph Bylund to the THANKS file. + +M THANKS + +commit 8ec4a8095f33e24c9cd0a17fc952f0c25f8f7b68 +Author: Joseph Bylund +Date: Fri Jan 4 13:14:46 2013 -0800 + + Modifies RAW photo development logic to properly copy original photo + metadata into generated developments. Closes #4372. + +M src/Photo.vala + +commit 33a72313c66a5edae75887ea3b2df5f60b622bd6 +Author: Norbert Preining +Date: Fri Jan 4 12:31:19 2013 -0800 + + Allows the user to suppress the upload of tags when publishing to + Piwigo. Closes #6156. + +M misc/org.yorba.shotwell.gschema.xml +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade + +commit cf090048cbb1616d56bfb83781dd93eb21d681b7 +Author: Clint Rogers +Date: Wed Jan 2 12:15:27 2013 -0800 + + Made sure that the required versions in debian/control match what's + in Makefile. Fixes #5965. + +M Makefile +M debian/control + +commit c4f09c5f0ecd0044a0f0c2616eff71f0b12ba63f +Author: Lucas Beeler +Date: Mon Nov 26 12:28:41 2012 -0800 + + Updates the help documentation to correct an outdated help entry. + +M help/C/share-upload.page + +commit a08abac5ecfe1f636b915f5bb1007c41aa391409 +Author: mnemo +Date: Tue Oct 23 17:35:07 2012 -0700 + + Fixes assorted spelling errors. Closes #5926. + +M THANKS +M help/C/view-sidebar.page +M plugins/Makefile.plugin.mk +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M po/shotwell-core/shotwell.pot +M src/AppDirs.vala +M src/Commands.vala +M src/CustomComponents.vala +M src/DirectoryMonitor.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Tombstone.vala +M src/camera/ImportPage.vala +M src/core/DataSource.vala +M src/core/DatabaseSourceCollection.vala +M src/plugins/DataImportsInterfaces.vala +M src/plugins/PublishingInterfaces.vala +M src/searches/SearchBoolean.vala +M src/util/file.vala +M src/util/misc.vala +M thumbnailer/shotwell-video-thumbnailer.vala + +commit 001f2538213e2eabcdd8bf11c75682fe4888ff72 +Author: Carlos Penichet +Date: Tue Oct 23 16:56:01 2012 -0700 + + Flattens hierarchical tags before publishing them to Picasa. Closes + #5909. + +M THANKS +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit 226e45057dcfa066a5c0452f9a5f3eda628d3981 +Author: Norbert Preining +Date: Tue Oct 23 15:28:36 2012 -0700 + + Adds the ability to use the Shotwell title of a photo as its Piwigo + description instead of its Piwigo title. Closes #5999. + +M THANKS +M misc/org.yorba.shotwell.gschema.xml +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade + +commit 647baa2b796ac7b63cd9f28083b1d0f1cdb8f63e +Author: Lucas Beeler +Date: Fri Oct 5 14:04:30 2012 -0700 + + Updates version number to 0.13.1+trunk, merges in changes to NEWS + and debian/changelog from the 0.13.1 release. + +M Makefile +M NEWS +M debian/changelog + +commit 9bec6d2b4faf7c0b8f95f995a2846aab00ab3ea1 +Author: Clint Rogers +Date: Thu Oct 4 17:13:36 2012 -0700 + + Uninstalls the filter when the search bar is dismissed; fixes #5912. + +M src/library/LibraryWindow.vala + +commit f5f8b20f2769ca0404b22932b5a3a0d8c56c79d5 +Author: Clint Rogers +Date: Thu Oct 4 16:08:16 2012 -0700 + + Attempts to guard against obviously-malformed XML responses -and- + checks whether the freshly-parsed Xml.Doc* has zero children; closes + #5822, closes #5907. + +M plugins/common/RESTSupport.vala + +commit 51cb25c2796e32390417d93cfb85136b2cd5c232 +Author: Lucas Beeler +Date: Thu Oct 4 15:25:52 2012 -0700 + + Changes the logic of spin_event_loop() such that it is + the same as the canonical form for interstitial event + processing as described in the Gtk+ 3 documentation (see + http://developer.gnome.org/gtk3/stable/gtk3-General.html#gtk-events-pending). + Closes #5844. + +M src/AppWindow.vala +M src/util/ui.vala + +commit 2b397d181987591603bd72b1b8915de8446ca341 +Author: Clint Rogers +Date: Thu Oct 4 14:48:01 2012 -0700 + + Forces the search bar to be visible whenever the star filter is + changed from the menus; closes #5912. + +M src/SearchFilter.vala + +commit 8c9a424767ca10880231ef1665727d686e3b2409 +Author: Clint Rogers +Date: Wed Oct 3 14:23:42 2012 -0700 + + Removes a bit of unneeded code that worked around a no-longer-existant + binding problem. + +M src/AppWindow.vala + +commit 9518bb3a895ac94d88f9bbd3d905a0afb3331b30 +Author: Clint Rogers +Date: Wed Oct 3 12:12:01 2012 -0700 + + Tries to use Gtk.Application.inhibit() and friends instead of calling + directly into dbus; closes #5903. + +M src/Application.vala +M src/Screensaver.vala + +commit 8be51587fb776e5c398dedd67138e105e93011e2 +Author: Clint Rogers +Date: Tue Oct 2 15:30:02 2012 -0700 + + Closes #4523; corrects an issue where the parent directory of the + desired import location would occasionally be seen as the import + location. + +M src/Dialogs.vala + +commit 31b12644173e51c6b5734fbe478c0c5fc170c290 +Author: Lucas Beeler +Date: Tue Oct 2 14:43:28 2012 -0700 + + Suppresses spinning the event loop during one of the two status + reporting callbacks made during the export process. Closes #5827. + +M src/Dialogs.vala +M src/Exporter.vala +M src/core/util.vala + +commit 6536e0c958d7ce1ca03c56181d25b705420b06b0 +Author: Clint Rogers +Date: Tue Oct 2 14:10:36 2012 -0700 + + Don't attempt to restore the cursor if there are 0 thumbnails in + the current checkerboard; closes #5919. + +M src/MediaPage.vala + +commit c438499b2c1a9b33d9159853ffecea474fe56245 +Author: Lucas Beeler +Date: Tue Oct 2 12:15:47 2012 -0700 + + Fixes an error in the German shotwell-core translation file; + closes #5931. + +M po/shotwell-core/de.po + +commit 6eb4f790a7279911e6ce40657e64d741cb888ecf +Author: Clint Rogers +Date: Mon Oct 1 15:51:54 2012 -0700 + + Migrates the print dialogue's custom image settings tab to Glade; + part of #5838. + +M src/Printing.vala +M src/util/ui.vala +M ui/shotwell.glade + +commit 4c79ab6bc9c1c4e5625811621658edf4150638ca +Author: Clint Rogers +Date: Wed Sep 26 17:18:29 2012 -0700 + + Adds missing semicolons to Arabic, Spanish, Chinese-TW and German + .po files; closes #5860. + + Many thanks to Damien Lallement for his gracious help. + +M THANKS +M po/shotwell-core/ar.po +M po/shotwell-core/de.po +M po/shotwell-core/es.po +M po/shotwell-core/zh_TW.po + +commit cf32357294ef00a131d6366087715891695b100f +Author: Clint Rogers +Date: Wed Sep 26 16:58:28 2012 -0700 + + Closes #5050, closes #5086; moves the settings migrator someplace + sensible, causes the migrator to clean up old paths. + +M Makefile +M settings-migrator/shotwell-settings-migrator +M src/AppDirs.vala +M src/config/GSettingsEngine.vala + +commit d7871125ae2a5f10d0616cf057f2613fad5da6da +Author: Clint Rogers +Date: Wed Sep 26 15:57:58 2012 -0700 + + Moves the Piwigo schema to be with the other core publishing plugins' + schemata; closes #5646 + +M misc/org.yorba.shotwell-extras.gschema.xml +M misc/org.yorba.shotwell.gschema.xml + +commit 1ff46ea3c0ae4ae35d7e129bd944216e3d828211 +Author: clinton +Date: Tue Sep 25 13:57:29 2012 -0700 + + Proposed patch would fix #3520, #5160; explicitly whitelists some + more common video storage paths for Sony cameras. + +M src/camera/ImportPage.vala + +commit ffbcb0ecb49bcb6bd0cd5bf4faa263e1f3db7d79 +Author: Clint Rogers +Date: Mon Sep 24 14:25:47 2012 -0700 + + Corrects a problem where a signal callback could inadvertently get + disconnected after the object the signal lived in was destroyed; + closes #5841. + +M plugins/shotwell-publishing-extras/TumblrPublishing.vala + +commit 2bbd5e53001f4e25aa99ac9b9fb66451a3a02ce3 +Author: Lucas Beeler +Date: Mon Sep 24 11:51:43 2012 -0700 + + Updates master Makefile version number to 0.13.0+trunk + +M Makefile + +commit c3c98fc83abb802d58a72c7d9c6153b7d9d173f6 +Author: Lucas Beeler +Date: Wed Sep 19 16:39:06 2012 -0700 + + Updated NEWS, debian/changelog, and Makefile to prepare for 0.13.0 + release. + +M Makefile +M NEWS +M debian/changelog + +commit 5022332fafba56d8c89cf411133f87a12be3b0cc +Author: Lucas Beeler +Date: Wed Sep 19 15:56:28 2012 -0700 + + Simplifies debian/control by removing phantom libunity dependency, + removing unnecessary runtime dependencies already managed by + shlibs:Depends, and adds a dconf-tools runtime dependency for the + gsettings migrator tool. Closes #5853, #5852, #5851. + +M debian/control + +commit 4b282e9b64dc2cbce51c61bd8bb29fa071c24e21 +Author: Lucas Beeler +Date: Wed Sep 19 15:18:44 2012 -0700 + + Updated Shotwell Extra Plugins translations for the Shotwell 0.13 + release. + +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +A po/shotwell-extras/eo.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +A po/shotwell-extras/or.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/shotwell-extras.pot +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +D po/shotwell-extras/vi.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit c7cdd9b57048c15f98702d45c74054bdd88ccdde +Author: Lucas Beeler +Date: Wed Sep 19 14:09:08 2012 -0700 + + Updates the Shotwell core translation set for the Shotwell 0.13 + release. + +M po/shotwell-core/af.po +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hi.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/ia.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +C066 po/shotwell-core/shotwell.pot po/shotwell-core/km.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +A po/shotwell-core/or.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/shotwell.pot +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/ta_IN.po +M po/shotwell-core/te.po +M po/shotwell-core/te_IN.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/vi.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po + +commit b8f16f72177e045f4e2208610d8693de583e57d2 +Author: Clint Rogers +Date: Tue Sep 18 16:41:43 2012 -0700 + + Causes rejected photos to not be chosen as event thumbnails (unless + the event contains nothing but rejected photos); closes #3682. + +M src/Event.vala +M src/core/ViewCollection.vala + +commit 64d70f86f8d050e749ab1bb80691fd7eb1f2343d +Author: Clint Rogers +Date: Tue Sep 18 13:15:53 2012 -0700 + + Allows the application to build with Vala 17.7; closes #5803. + +M plugins/Makefile.plugin.mk + +commit 6d4bd49d4c57a90572314d0dad9fc8a71fde0c60 +Author: Adam Dingle +Date: Mon Sep 17 12:59:37 2012 -0700 + + Fixed #5048 (PPA build with Unity support). + +M debian/control +M debian/rules + +commit aaa1087ad92b69497bd57ea9e692f90bd7286f59 +Author: Ash Balgimbayev +Date: Sun Sep 16 12:03:38 2012 -0700 + + Fixed broken build. + +M THANKS +M src/library/LibraryWindow.vala + +commit 29cdf25daf651590f8c237dcac2e784a10817c45 +Author: Clint Rogers +Date: Fri Sep 14 18:56:19 2012 -0700 + + Closes #5774; corrects an error where the library window would + incorrectly assume all pages it was handling were checkerboard pages. + +M src/library/LibraryWindow.vala + +commit 58c45082815adbfc09fc17f43e69f8296a3e72ab +Author: Clint Rogers +Date: Fri Sep 14 18:49:02 2012 -0700 + + Closes #5050; moves settings path to /org/yorba/shotwell and copies + over old settings data from /apps/. + +M Makefile +M misc/org.yorba.shotwell-extras.gschema.xml +M misc/org.yorba.shotwell.gschema.xml +A settings-migrator/shotwell-settings-migrator +M src/AppDirs.vala +M src/config/GSettingsEngine.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala + +commit c9b40dfe1bd3cf0a9ad9361753cce7f62710846e +Author: Clint Rogers +Date: Fri Sep 14 17:00:07 2012 -0700 + + Allows time and date strings to be drawn from the locale in LC_TIME + if it's different from the one in LC_MESSAGES; closes #2462. + +M src/Properties.vala +M src/Resources.vala +M src/util/misc.vala + +commit d7408ed8bfb46fd047f1e5bcb44fae5ee8c579d8 +Author: Adam Dingle +Date: Fri Sep 14 15:47:48 2012 -0700 + + Fixed #5213 (add "bottom-toolbar" class to bottom toolbar). + +M src/Page.vala + +commit 5a9b35c28e802ff6a8cd63efb2482f689bfd1e53 +Author: Clint Rogers +Date: Fri Sep 14 15:44:37 2012 -0700 + + Removes test to see whether incoming photo is in pending or not; + closes #5761. + +M src/MetadataWriter.vala + +commit 4b73ffd589e085db69d25d1c5900daae38e9018b +Author: Clint Rogers +Date: Fri Sep 14 14:06:20 2012 -0700 + + Re-closes #5160; adds support for some Sony cameras that put stills + in DCIM, but videos in /PRIVATE/SONY/... + +M src/camera/ImportPage.vala + +commit a182daa4f52953db69cc28a586476744be296a65 +Author: Clint Rogers +Date: Fri Sep 14 14:05:07 2012 -0700 + + Proposed patch would ensure key commands get propagated from + full-screen mode to other parts of the app correctly; closes #3883. + +M src/AppWindow.vala + +commit 8d902d486205ec7cdf8827122074dd402f2f815c +Author: Lucas Beeler +Date: Thu Sep 13 11:37:43 2012 -0700 + + Adds a Keywords entry to the desktop integration file template. Closes + #5550. + +M misc/shotwell.desktop.head + +commit ec0d0b9a3b6b48bd07ce0349d1fa0cfbc2a7a36d +Author: Lucas Beeler +Date: Thu Sep 13 11:22:39 2012 -0700 + + Fixes a build breakage that occurs with valac 0.17.6. Re-closes #5431. + +M plugins/shotwell-publishing-extras/TumblrPublishing.vala + +commit d13e876a15790e5a98f2ec0799ee6f4aacb3ca28 +Author: Jeroen Arnoldus +Date: Thu Sep 13 10:34:50 2012 -0700 + + Adds support for Tumblr publishing to the Shotwell Extras plugin + pack. Closes #5431. + +M THANKS +M misc/org.yorba.shotwell-extras.gschema.xml +M misc/org.yorba.shotwell.gschema.xml +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing-extras/Makefile +A plugins/shotwell-publishing-extras/TumblrPublishing.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +A plugins/shotwell-publishing-extras/tumblr.png +A +plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade +A +plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade + +commit 49d065ea345941d4ef52f985f323ab726268c191 +Author: Clint Rogers +Date: Tue Sep 11 11:12:20 2012 -0700 + + Added NEWS and changelog entries for 0.12.90; closes #5763. + +M NEWS +M debian/changelog + +commit b3128443a7638a09f2baeb8310993e7f1cd59ce8 +Author: Clint Rogers +Date: Wed Sep 5 10:57:49 2012 -0700 + + Closes #5744; Corrects an issue where the border around the histogram + would render incorrectly + on Ubuntu 12.10 with Ambiance and Radiance. + +M src/CustomComponents.vala + +commit 38bd4ca1135fb505762ee71123dccc60a0c9a14b +Author: Lucas Beeler +Date: Tue Sep 4 16:24:15 2012 -0700 + + Fixes an inconsistently formatted string pointed out by a user + (Roumano) on the mailing list. + +M plugins/shotwell-publishing/PiwigoPublishing.vala + +commit 64f064ab58aa39c56eb00783d81d91248981fe74 +Author: clinton +Date: Fri Aug 31 12:07:36 2012 -0700 + + Incremented version number to 0.12.90+trunk. + +M Makefile + +commit 5a92c9b1f64e5e1613be5951e067d52fb20737fe +Author: clinton +Date: Fri Aug 31 10:49:03 2012 -0700 + + Removes reference to Vala 0.10-specific directory; closes #5194. + +M debian/rules + +commit 4f40c9d9e91dd302c0302e35ea7e5955ba290394 +Author: Clint Rogers +Date: Thu Aug 30 15:09:39 2012 -0700 + + Prevents critical assertions from firing when the Adjust tool is + spawned; closes #5704. + +M src/CustomComponents.vala + +commit e90a1b574f49603358dcef9cb382e0b3f301f045 +Author: Clint Rogers +Date: Thu Aug 30 14:23:35 2012 -0700 + + Skips out on changing to the import page for cameras added during + the initial population of the camera table; closes #5717. + +M src/camera/CameraTable.vala + +commit 06b0775d7915e4693d0e0f48a39ade2fcac7470b +Author: Alexander Wilms +Date: Thu Aug 30 13:43:52 2012 -0700 + + Updates the Straighten Tool icon with a new version that features + simpler lines and more closely matches the Shotwell toolbar color + palette. + +M THANKS +M icons/straighten.svg + +commit eb2f4004b6373a0ee5ee7e3cbc7ede8ccb311603 +Author: Jonas Bushart +Date: Wed Aug 29 15:31:19 2012 -0700 + + Fixes #1550 by writing log messages to stderr when not previously + done. + + log_file_stream gets only set if a file is used, then all messages + will be + written in the file. If log_file_stream is null (means problem with + opening the file) the messages will be written to stdout and stderr + so no need to write them again to stderr. + +M src/Debug.vala + +commit 0f064da3828c5662c1b6f0855b4cee8485d604ed +Author: Lucas Beeler +Date: Tue Aug 28 17:07:12 2012 -0700 + + Added Tobe Deprez to the THANKS file. + +M THANKS + +commit 50362fdcd35fd7a506d3ad7e28b68e2c039e041c +Author: Tobe Deprez +Date: Tue Aug 28 17:02:40 2012 -0700 + + Adds the ability to display photo titles during slideshows. Closes + #1592. + +M misc/org.yorba.shotwell.gschema.xml +M misc/shotwell.convert +M src/SlideshowPage.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala + +commit 9e8991be86a71fea5dcd787910cf7b693ab1dbbe +Author: Eric Gregory +Date: Tue Aug 28 15:49:16 2012 -0700 + + Resolves minor issue where wrong signal was disconnected in "Flagged" + sidebar branch + +M src/library/FlaggedBranch.vala + +commit 239792594aafa2725a6e1be03b8b0d0eb4a9d7f2 +Author: Clint Rogers +Date: Thu Aug 23 15:48:33 2012 -0700 + + Incrementing version number in preparation for #5698. + +M Makefile + +commit 16aab4b5a0026f421d217de3dd2b35078351e7e5 +Author: Clint Rogers +Date: Thu Aug 23 14:27:07 2012 -0700 + + Prevents direct mode from crashing; closes #5702. + +M src/Application.vala + +commit b7b09067784321e652eb88dacc7e307a6cc25c0e +Author: Clint Rogers +Date: Thu Aug 23 14:25:24 2012 -0700 + + Prevents the application from crashing with a SIGSEGV on exit; + closes #5701. + +M src/Application.vala + +commit 0ce83ea7aeed3ff84915a968f1f047ffe6f3c3e7 +Author: Clint Rogers +Date: Wed Aug 22 17:18:33 2012 -0700 + + Ensure that the changes made for #5553 get propagated to any tarballs + we generate; part of #5698. + +M Makefile + +commit b278e452a9154e665c7569f985e18600f4a21b0c +Author: Clint Rogers +Date: Wed Aug 22 15:39:24 2012 -0700 + + Allows undated images to automagically move to the correct event + when time/date info is added to them; closes #1940. + +M src/Commands.vala +M src/Event.vala + +commit b36a1fcdbc4f652c83433686d7fff8ad9290a2ef +Author: Clint Rogers +Date: Tue Aug 21 18:04:55 2012 -0700 + + Allows building against both libgphoto2 2.4.x and 2.5.x; closes #5589. + +M Makefile +M configure +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +C100 vapi/libgphoto2.vapi vapi/gphoto-2.4/libgphoto2.vapi +R095 vapi/libgphoto2.vapi vapi/gphoto-2.5/libgphoto2.vapi + +commit c8ad51c9ae8edfb1cdcbc646c188badf4d974054 +Author: Clint Rogers +Date: Tue Aug 21 13:34:57 2012 -0700 + + Said source-code supplement supplies Shotwell some simple subsystems + to seamlessly strip sensitive stuff from published images; closes + #5589. + +M misc/org.yorba.shotwell-extras.gschema.xml +M misc/org.yorba.shotwell.gschema.xml +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/PiwigoPublishing.vala +M plugins/shotwell-publishing/facebook_publishing_options_pane.glade +M plugins/shotwell-publishing/flickr_publishing_options_pane.glade +M plugins/shotwell-publishing/picasa_publishing_options_pane.glade +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade + +commit 75efd7c66b9bb0b53e6184b9bedcc1093775a5ad +Author: Alain Rpnpif +Date: Thu Aug 16 11:48:45 2012 -0700 + + Fixes a French translation bug. Closes #5653. + +M THANKS +M po/shotwell-core/fr.po + +commit 3212f1f4c4f51a742bfe7cc61719c1e064c253f6 +Author: Clint Rogers +Date: Tue Aug 14 18:07:48 2012 -0700 + + Fixes deprecated widgets in set-background dialogue; closes #5664. + +M ui/set_background_dialog.glade + +commit 14ac0750fcc6494e040bc11636abce3db2e55afa +Author: Clint Rogers +Date: Thu Aug 9 14:37:19 2012 -0700 + + Corrects an issue where a pathological Scaling object could be + created the first time a SinglePhotoPage was navigated to; closes + #5612. + +M src/Dimensions.vala + +commit 924ebf5d5ab6e7b8effd1cd4aa604fa3896e0c3a +Author: Clint Rogers +Date: Thu Aug 9 14:20:09 2012 -0700 + + Fixes up some 'old' style widgets in the Piwigo publishing options + pane to something + that Glade 3.x likes; closes #5610. + +M plugins/shotwell-publishing/piwigo_publishing_options_pane.glade + +commit 6856b0bc7fc07b6aeef0408307d364499770e2e0 +Author: Clint Rogers +Date: Wed Aug 8 15:53:16 2012 -0700 + + Causes the makefile to check for a dependency that has been left + out before; closes #5559. + +M Makefile + +commit f5d5190a6eab8242cfd6843562e6781128f5645e +Author: Jürg Billeter +Date: Mon Aug 6 15:53:31 2012 +0200 + + Do not access static members with instance references + +M src/Application.vala +M src/Photo.vala +M src/Printing.vala +M src/searches/SearchBoolean.vala + +commit 148ebd3905c216f2c37158ccf47ede67f9d1cba7 +Author: Clint Rogers +Date: Tue Jul 31 13:39:50 2012 -0700 + + Replaced hard tabs with spaces per Yorba coding standards. + +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit 2cd8361662df49f9c93080da60f6daa4e3429b18 +Author: Clint Rogers +Date: Fri Jul 27 12:22:35 2012 -0700 + + Relaxes an assertion that could occur when attempting to remove a + photo from a metadata-writing queue if the queue didn't contain the + photo to begin with; closes #3641. + +M src/MetadataWriter.vala + +commit 7c2e51d3bbf9457d4dd37c60e3f59055c3923cbf +Author: Clint Rogers +Date: Fri Jul 27 11:54:25 2012 -0700 + + Migrates away from libunique to GtkApplication; closes #5260. + +M src/Application.vala +M src/camera/ImportPage.vala +M src/library/LibraryWindow.vala +M src/main.vala + +commit da6e2fa25d65af18c678c32a5db21607bf1fd84a +Author: Clint Rogers +Date: Fri Jul 13 15:03:40 2012 -0700 + + Makes HierarchicalTagIndex.vala not be executable, fixes #5551. + +M src/tags/HierarchicalTagIndex.vala + +commit 9ce2d5be632c6c7f8cf8c131069ef32750ed08cf +Author: Clint Rogers +Date: Fri Jul 13 12:31:08 2012 -0700 + + Fixes #4805, relaxes an assertion that could occur when attempting + to remove a tombstone from a tombstone source collection if the + tombstone was never in the collection to begin with (that is, it's + already removed, so no need to assert here). + +M src/Tombstone.vala + +commit c5f40d35843832374e645a6fb2753416b0702f43 +Author: Clint Rogers +Date: Fri Jul 13 12:14:59 2012 -0700 + + Prevents application from jumping to newly-created tags; closes + #4721. + +M src/tags/Branch.vala + +commit 3e6989a0955ca4c65a3be32b62d20b774c1294eb +Author: Clint Rogers +Date: Tue Jul 10 14:21:48 2012 -0700 + + Forces arguments to Dimensions constructor to sensible default if + we get here and they're negative; closes #5527. + +M src/Dimensions.vala + +commit 2d889707a9710f3af90fb26c78287cbd38aaaa40 +Author: Sergey Davidoff +Date: Tue Jul 10 12:43:08 2012 -0700 + + Updates Shotwell's desktop integration file to reflect MIME types + newly supported since the previous update to the desktop integration + file. + +M THANKS +M misc/shotwell-viewer.desktop.head + +commit 07719453ea3fc64e284e8dfee6069b03eced25a3 +Author: Clint Rogers +Date: Tue Jul 10 12:41:49 2012 -0700 + + Corrects a problem where the application would occasionally try to + iterate through the keyword list when it was null; closes #5468. + +M src/MetadataWriter.vala + +commit 038f0a7e483360c385671a73a7b82576f16d10c6 +Author: Eric Gregory +Date: Mon Jul 2 11:58:10 2012 -0700 + + Closes #5460 Sidebar style class added + +M src/library/LibraryWindow.vala +M src/sidebar/Tree.vala + +commit 1b70d6393c33187f80e60454ed205dc1dead85bf +Author: Clint Rogers +Date: Mon Jul 2 11:51:56 2012 -0700 + + Makes a slight change to GRaw.vala to match a binding change in the + LibRaw .vapi; closes #5476. + +M src/photos/GRaw.vala + +commit 9edd7d12d9b428d91391b930caee11765c8d5d8e +Author: Clint Rogers +Date: Tue Jun 26 14:38:31 2012 -0700 + + Makes Shotwell explicitly require Vala 0.17.2 (needed due to binding + changes). + +M Makefile +M debian/control + +commit 35f856338c65ce13878098c40cd913fcb453a5c4 +Author: Clint Rogers +Date: Tue Jun 26 14:34:00 2012 -0700 + + Makes a minor modification to allow compilation by Vala 0.17.2; + closes #5453. + + (Due to a binding change, Gtk.TreeStore's remove() now requires a + 'ref' argument here.) + +M src/sidebar/Tree.vala + +commit 033873398a507bada47942ab79e0f767b521d927 +Author: Clint Rogers +Date: Mon Jun 25 14:22:10 2012 -0700 + + Uses Bruno's fix to correct problem when publishing image with a ' + in the title; closes #3880. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 1455d92d43cd30c74a07ebc42dceccfef8b4927f +Author: Clint Rogers +Date: Fri Jun 15 16:30:40 2012 -0700 + + Removes an unneeded compilation flag. + +M Makefile +M plugins/Makefile.plugin.mk + +commit 31ee427b936f075dacb5fbc40b9860f133fb7059 +Author: Clint Rogers +Date: Thu Jun 14 11:57:09 2012 -0700 + + Causes a high-quality repaint to happen automatically 100ms after + the straighten slider was last moved, closes #4616. + +M src/editing_tools/StraightenTool.vala + +commit 5f5620fc55a2fa7e16ddd65592dab7aa199ef807 +Author: Clint Rogers +Date: Thu Jun 14 11:49:39 2012 -0700 + + Closes #4067, prevents application from offering to write exposure + time/date to video files inappropriately. + +M src/CollectionPage.vala +M src/Dialogs.vala + +commit 039cf996c8c91c2ecc84e1921998c62bd82fe260 +Author: Clint Rogers +Date: Wed Jun 13 17:24:03 2012 -0700 + + Closes #4724 by making the minimum allowed GLib version be set for + both the main makefile and the plugin makefile with a single variable, + keeping them synced. + +M Makefile +M plugins/Makefile.plugin.mk + +commit 5b3b87584d9011b98faf46957fab2166340671c8 +Author: Lucas Beeler +Date: Wed Jun 13 15:45:31 2012 -0700 + + Ports the Picasa Web Albums Connector to use OAuth + authentication. Closes #4759, #5374, #4299, #3752, #3307, and half + of #3445. + +M debian/control +M misc/org.yorba.shotwell.gschema.xml +M misc/shotwell.convert +M plugins/plugins.mk +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/PicasaPublishing.vala +A plugins/shotwell-publishing/picasa_auth_code_entry_pane.glade +A plugins/shotwell-publishing/picasa_not_set_up_pane.glade + +commit b24079554cb4958e7a2062e096efe08728c367e1 +Author: Michael Axiak +Date: Wed Jun 6 10:33:32 2012 -0700 + + Adds references to two .glade files to the plugins Makefile that + were mistakenly omitted during the migration of the publishing UI + to Glade. Closes #5350. + +M plugins/plugins.mk + +commit efa4856b6001817be6d190743641caa19eaa4209 +Author: clinton +Date: Tue Jun 5 15:35:55 2012 -0700 + + Proposed patch would allow 32-bit versions of the app to correctly + accept, display and sort photos with dates ranging between May, + 1904 and April, 2038. Closes #3040. + +M src/Dialogs.vala +M src/Thumbnail.vala + +commit 5ed056e091210e58cf55852325e64207a196f33b +Author: Michael Axiak +Date: Mon Jun 4 15:55:11 2012 -0700 + + Enables upload of titles & tags to Picasa Web Albums; closes part + of #1326. + +M THANKS +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit 1ee63593713ec29a70266d6ef3e868b4b928bbea +Author: Clint Rogers +Date: Mon Jun 4 14:59:13 2012 -0700 + + Forces the size combo to have a meaningful value; closes #5342. + +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit a0747b2b3088d1e728a21318935d58cf8a1e987b +Author: Clint Rogers +Date: Mon Jun 4 12:01:07 2012 -0700 + + Yet another attempt at fixing Oneiric 32 dailies... + +M Makefile +M plugins/Makefile.plugin.mk + +commit 63040cc13a5d00e327b50af96b4440d1d3d41f5d +Author: Luca Falavigna +Date: Mon Jun 4 10:09:43 2012 -0700 + + Fixed a typo in src/ThumbnailCache.vala. + +M src/ThumbnailCache.vala + +commit 8c429c7725cd12d1d5781db73af698018959bc88 +Author: Clint Rogers +Date: Fri Jun 1 17:32:34 2012 -0700 + + Adds support for common paper sizes as crop ratios; closes #4413. + +M src/editing_tools/EditingTools.vala + +commit 6b4b1b55b924a09ddc4a98840f9db5cf0368cbf0 +Author: Clint Rogers +Date: Fri Jun 1 14:33:29 2012 -0700 + + Patch removes nearly all the deprecated widget warnings, closes #4724. + +M src/Dialogs.vala +M src/MediaPage.vala +M src/PhotoPage.vala +M src/SlideshowPage.vala +M src/Tag.vala +M src/data_imports/DataImportsUI.vala +M src/library/LibraryWindow.vala +M src/publishing/PublishingUI.vala + +commit ddd81fd786f1790cd4bb70b82e0fd925ed4535df +Author: Clint Rogers +Date: Fri Jun 1 14:05:34 2012 -0700 + + Works around a problem where displaying the welcome dialog can + interfere with talking to a camera, closes #4997. + +M src/Dialogs.vala + +commit 15a2b28d8ed312269d9d2ed780d8f93ed1532b25 +Author: Clint Rogers +Date: Fri Jun 1 13:51:53 2012 -0700 + + This fix the 'g_mapped_file_free' warning, as well as all the + deprecated widget warnings in the editing tools. + +M plugins/Makefile.plugin.mk +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala + +commit 858be4f3890b644aee2ced52e42ad246e0135aef +Author: Lucas Beeler +Date: Fri Jun 1 13:41:18 2012 -0700 + + Added Ville Skyttä to the THANKS file. + +M THANKS + +commit 981bd54c42227979c7df9ac16fa3c4107974b0dc +Author: Ville Skyttä +Date: Fri Jun 1 13:38:28 2012 -0700 + + Removes a duplicate MIME type entry in the desktop integration file + that describes the types of files Shotwell handles in direct-edit + mode. + +M misc/shotwell-viewer.desktop.head + +commit de3e25a9e7bfd4f327a077b0ab3bcc2dabe0ee4b +Author: Clint Rogers +Date: Tue May 29 11:13:03 2012 -0700 + + Migrates the Youtube publishing options pane to Glade; closes #5170. + +M plugins/common/ui.vala +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/YouTubePublishing.vala +A plugins/shotwell-publishing/youtube_publishing_options_pane.glade + +commit 5d78d2bc7aaacd70dfd18f5b68419b69fcbcdeb8 +Author: Clint Rogers +Date: Tue May 29 15:43:00 2012 -0700 + + Sets the name of the required libgexiv2 package to what Precise needs; + closes #5289. + +M debian/control + +commit e868b3369da5f906b44c5035536f221877d952cd +Author: Clint Rogers +Date: Thu May 24 12:20:40 2012 -0700 + + Moves the common elements of the children of ConcreteDialogPane up + to the parent class; closes #5173. + +M src/publishing/PublishingUI.vala + +commit 3486eefe39c7836936784d103ee0be01364255af +Author: Clint Rogers +Date: Wed May 23 17:47:30 2012 -0700 + + Proposed patch would migrate the Flickr PIN entry pane to Glade, + closing #5295. + +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/Makefile +A plugins/shotwell-publishing/flickr_pin_entry_pane.glade + +commit ad25da60b488ff6f65d487f7551852fa12b582c7 +Author: Clint Rogers +Date: Wed May 23 12:38:20 2012 -0700 + + Proposed patch would migrate the StaticMessagePane into Glade, + closing part of #5173. + +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala +M ui/shotwell.glade + +commit 1835f5040cbcc553d5714b0800ede7baa6c38dcb +Author: Clint Rogers +Date: Wed May 23 11:23:26 2012 -0700 + + Adds some files that get left out when running make dist; closes + #5290 and #5293. + +M plugins/plugins.mk + +commit 361a5a1a269c3add0d4c3a77289577239db587e2 +Author: Clint Rogers +Date: Fri May 18 17:03:54 2012 -0700 + + Proposed patch would migrate the welcome pane over to Glade; addresses + part of #5173. + +M src/publishing/PublishingUI.vala +M ui/shotwell.glade + +commit e19a1f9d3dc8f371abdf4464b9fea713bb1561b4 +Author: Clint Rogers +Date: Fri May 18 13:21:38 2012 -0700 + + We now attempt to find missing thumbnails during the startup scan + and regenerate them in the background. Closes #2889. + +M src/Photo.vala +M src/PhotoMonitor.vala + +commit bc490559c2a25c2c4367a9489effff7f736c601c +Author: Clint Rogers +Date: Thu May 17 11:09:52 2012 -0700 + + Proposed patch would add a 'Report A Problem...' feature to the help + menu, closing #5211. + +M src/AppWindow.vala +M src/Resources.vala +M ui/direct.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui + +commit 1dd71c331d6e0dfb4ddfe065fa8a490ba6cdb173 +Author: Clint Rogers +Date: Tue May 15 12:40:17 2012 -0700 + + Migrates the publishing progress bar to a Glade-based widget; closes + part of #5173. + +M src/publishing/PublishingUI.vala +M ui/shotwell.glade + +commit 50a881907461189f5df75b67ba89c0d9fa78b75b +Author: Clint Rogers +Date: Mon May 14 18:47:49 2012 -0700 + + Migrates Picasa publishing options pane to Glade; closes #5171. + +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/PicasaPublishing.vala +A plugins/shotwell-publishing/picasa_publishing_options_pane.glade + +commit 30af8f6bf097d7cbf4d8786335d7dd700a1c6319 +Author: Clint Rogers +Date: Mon May 14 17:51:08 2012 -0700 + + Corrects an issue where some context menus inappropriately used + the same key as a mnemonic more than once; closes #5197. + +M src/MediaPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M ui/collection.ui +M ui/photo_context.ui + +commit 7ce2f47eaf2b59b72a74943ea6f425cc1d33290b +Author: William Jon McCann +Date: Mon May 14 16:04:15 2012 -0700 + + Stores auxilliary Shotwell files in their XDG recommended locations; + closes #421. + +M THANKS +M src/AppDirs.vala +M src/ThumbnailCache.vala +M src/main.vala + +commit a17621b6b157d6173f3497611153570489de379d +Author: Lucas Beeler +Date: Thu May 10 16:53:11 2012 -0700 + + Added the names of recent external contributors to the THANKS file. + +M THANKS + +commit bf19b301c8b14d221a4045f563e85780e076206a +Author: Eser Aygün +Date: Thu May 10 16:49:14 2012 -0700 + + Allows more fine-grained control over viewing permissions of photos + published to Flickr. Closes #5182. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 2857fb8d47ea9ac1484bc3b2a425a0a2ce313fd4 +Author: Laurent Rocher +Date: Thu May 10 16:43:38 2012 -0700 + + Uses a more generic scanf format string for parsing non-standard + EXIF dates. Closes #3850. + +M src/MediaMetadata.vala + +commit e9fc2899326919cfa519178b7267b014a06ad5a3 +Author: Alexander Sack +Date: Thu May 10 16:29:47 2012 -0700 + + Adds Google+-optimized publishing size to list of Picasa Web Albums + publishing sizes. Closes #5210. + +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit 0799f04280351b3d00de1463e098262698020b61 +Author: Clint Rogers +Date: Wed May 9 18:42:57 2012 -0700 + + Manually merging in makefile and debian changelog fixes from branch. + +M NEWS +M debian/changelog + +commit 802321390dd13bc70ae90bcc739aae8ed068d456 +Author: Clint Rogers +Date: Wed May 9 17:44:07 2012 -0700 + + Increment version number. + +M Makefile + +commit 907ad8b09f80468630db15a782fea289b96fdc8a +Author: Lucas Beeler +Date: Wed May 9 14:03:21 2012 -0700 + + Properly takes padding into account when doing custom hit-testing of + enable/disable checkboxes in the plugin manifest widget. Closes #5230. + +M src/plugins/ManifestWidget.vala + +commit 4f6aa2bfb6b64bdfd5eec7dc66be73e823a12652 +Author: Clint Rogers +Date: Tue May 8 14:44:58 2012 -0700 + + Corrects an issue in which the name of a symbol in the FSpot importer + shlib could collide with the name of a symbol inside the core; + closes #5078. + +M plugins/common/SqliteSupport.vala +M plugins/shotwell-data-imports/FSpotDatabaseTable.vala + +commit efdf9744cd0879cfadf3d7149ebd70ee03bfaed1 +Author: clinton +Date: Tue May 8 11:14:27 2012 -0700 + + Closes #5219; disables forced sidebar background colour and uses + the theme's instead. + +M src/library/LibraryWindow.vala + +commit 3d3c7a8df0422eee9b21f3df7e256cb8e944ae64 +Author: clinton +Date: Mon May 7 12:46:30 2012 -0700 + + Prevents tags with only one media source from being destroyed after + that media source is trashed and expunged, also prevents and fixes + #5068. + +M src/core/ContainerSourceCollection.vala + +commit cf0a3eb832ee735d3167fe83dc243f846aba24d2 +Author: clinton +Date: Thu May 3 16:59:01 2012 -0700 + + Moves the Flickr publishing option pane into Glade; closes #5172. + +M plugins/common/ui.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +A plugins/shotwell-publishing/flickr_publishing_options_pane.glade + +commit 8922dde898c95b3fa1a4b189f93954d89a3163cd +Author: clinton +Date: Wed May 2 10:44:01 2012 -0700 + + Proposed patch would fix #5147 by marking unwanted actions as + insensitive when we're on a SinglePhotoPage, and putting them back + like we found them when switching to a CheckerboardPage. + +M src/SearchFilter.vala + +commit 4dc989df6b0e923c9e4b11ec568588a8b8a5b9f2 +Author: Clint Rogers +Date: Mon Apr 30 15:43:02 2012 -0700 + + Migrates the Facebook publishing options pane into Glade, fixes part + of #3205. + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/Makefile +A plugins/shotwell-publishing/facebook_publishing_options_pane.glade + +commit 7b0340f9b6c4fda7bab1c9efc00bd22ccac6672a +Author: Clint Rogers +Date: Mon Apr 30 14:54:00 2012 -0700 + + Attempts to enumerate several well-known directories where .MTS + cameras tend to put their movie files; closes #5160. + +M src/camera/ImportPage.vala + +commit 8ffe2a186503b42af7df710e8d9f40585832a073 +Author: Clint Rogers +Date: Mon Apr 30 14:43:56 2012 -0700 + + Corrects an issue where some confirmation dialogs would + inappropriately display raw pango markup; closes #5166. + +M src/AppWindow.vala + +commit 882c91b2a5f6996472f9f24edb32af2c9ce05979 +Author: Clint Rogers +Date: Thu Apr 26 11:44:29 2012 -0700 + + Closes #5134 (array subscript out-of-bounds). + +M src/Resources.vala + +commit 65f07e745a726b001109cee9922ac1cb89d8f8ce +Author: Clint Rogers +Date: Wed Apr 25 18:58:06 2012 -0700 + + Corrects an issue where pressing [Enter] in certain text entry + dialogs did not activate the default response; fixes #5086. + +M src/Dialogs.vala +M ui/shotwell.glade + +commit 46e39b3cd4a69f619d0c281cbdcacaa89be0783a +Author: Clint Rogers +Date: Wed Apr 25 12:51:37 2012 -0700 + + Corrects an issue where the Unity progress bar would stop animating + at 50% shortly after launching the app; closes #5100. + +M src/Dialogs.vala +M src/UnityProgressBar.vala +M src/camera/ImportPage.vala +M src/library/ImportQueuePage.vala +M src/library/LibraryWindow.vala + +commit 06892bdb0d95ad45672a7d8be7381b9f3f2212a0 +Author: Clint Rogers +Date: Tue Apr 24 17:09:41 2012 -0700 + + Corrects a soft-lockup that could occur when attempting to autoenhance + certain images; closes #5087. + +M src/ColorTransformation.vala + +commit e3014bdb79b533363ab23aeda5e1c9d99d113f7c +Author: Adam Dingle +Date: Mon Apr 23 10:02:47 2012 -0700 + + Improved a string in the F-Spot importer. + +M plugins/shotwell-data-imports/FSpotImporter.vala + +commit a4a5561c35f96152e7b613a55bc89ba1b3f489cc +Author: Clint Rogers +Date: Thu Apr 19 12:57:42 2012 -0700 + + Corrects a problem in which plugins.mk would look in the wrong place + for some of Piwigo's assets. + +M plugins/plugins.mk + +commit 26abd5225419455ad3e2f2a3304da74a78537b32 +Author: Clint Rogers +Date: Wed Apr 18 17:50:02 2012 -0700 + + Corrects a problem where writing of hierarchical tag data to image + files would inappropriately reoccur, closes #4297. + +M src/MetadataWriter.vala + +commit 09a1abe8e9fcb2cb2e3a7f096dbdcd193c64f8a5 +Author: Clint Rogers +Date: Wed Apr 18 17:12:28 2012 -0700 + + Attempts to make the text entry dialog modifiable from within Glade; + closes #4501. + +M src/Dialogs.vala +M ui/shotwell.glade + +commit d0878de79bf236a6db3f241619afed36bdbf48eb +Author: Clint Rogers +Date: Wed Apr 18 15:01:04 2012 -0700 + + Closes #4803, promotes Piwigo plugin to 'core'. + +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/Makefile +R097 plugins/shotwell-publishing-extras/PiwigoPublishing.vala +plugins/shotwell-publishing/PiwigoPublishing.vala +R100 plugins/shotwell-publishing-extras/piwigo.png +plugins/shotwell-publishing/piwigo.png +R100 +plugins/shotwell-publishing-extras/piwigo_authentication_pane.glade +plugins/shotwell-publishing/piwigo_authentication_pane.glade +R100 +plugins/shotwell-publishing-extras/piwigo_publishing_options_pane.glade +plugins/shotwell-publishing/piwigo_publishing_options_pane.glade +M plugins/shotwell-publishing/shotwell-publishing.vala + +commit fa30fd0433a689be71c72d9a23006d25acf8e67f +Author: Clint Rogers +Date: Mon Apr 16 17:04:14 2012 -0700 + + Corrects an issue where some text entry dialogs would fail to display; + closes #5066. + +M src/Dialogs.vala +M ui/shotwell.glade + +commit ccebfe754515f1dcb7f1b4e7403efbdc6c23f70f +Author: Clint Rogers +Date: Fri Apr 13 16:37:13 2012 -0700 + + Closes #5044, prevents a crash that could occur in direct mode + after saving edits, re-entering the saved photo, then entering and + exiting full-screen. + +M src/core/ViewCollection.vala + +commit c500bbb12a62089e788888a0cd1c748dc36a0417 +Author: Clint Rogers +Date: Fri Apr 13 16:16:39 2012 -0700 + + Closes #5043, makes the naming of the create-a-search feature in + menus consistent across the app. + +M src/searches/Branch.vala +M src/sidebar/Tree.vala + +commit ac8881404f4e5b9f99ea1722ae49e55efbcf6ae2 +Author: Clint Rogers +Date: Wed Apr 11 17:23:43 2012 -0700 + + Merging in changes from Shotwell 0.12.2 (manually merged component). + +M Makefile + +commit 6b1c3fa505c56ec2a76faa37d1d16864cc543b53 +Author: Clint Rogers +Date: Wed Apr 11 17:19:12 2012 -0700 + + Merging in changes from Shotwell 0.12.2 released version. + +M NEWS +M debian/changelog + +commit 18ba37abfca8a613d3c75b0f62f0939c57df6fae +Author: Clint Rogers +Date: Wed Apr 11 14:08:25 2012 -0700 + + Corrects a problem where certain Youtube publishing error messages + would display incorrectly; closes #5041. + + (Note that no strings are modified by this commit; existing strings + are merely re-ordered.) + +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit 73872142e11053e51b52c3bf7b896f44ab16215c +Author: Clint Rogers +Date: Tue Apr 10 19:08:08 2012 -0700 + + Massaged shotwell.glade to play nice with modern versions of Glade, + removed reliance on nonexistant catalog file; closes #4501. + + Note: we no longer need to build the .so file to run Glade on + Shotwell; simply opening the .glade file directly is enough. + +M ui/shotwell.glade + +commit e8fc961576854e44ea398960c888006c3623f31f +Author: Lucas Beeler +Date: Tue Apr 10 18:49:25 2012 -0700 + + Added Camilo Polymeris to the THANKS file. + +M THANKS + +commit e6755cb9951c737c0ba5791ad5b937bede6e796e +Author: Camilo Polymeris +Date: Tue Apr 10 18:40:33 2012 -0700 + + Allows the user to draw a level-line in the straighten tool to + specify a level horizon. Closes #4940. + +M src/PhotoPage.vala +M src/editing_tools/StraightenTool.vala + +commit bea0280801de07c70e83256eb9f25d0e7853b2d0 +Author: Clint Rogers +Date: Tue Apr 10 16:45:49 2012 -0700 + + Removing this as part of #4962. + +D ui/faces.ui + +commit fd825189d68bdf48018cb593c8986f01c0e21838 +Author: Clint Rogers +Date: Tue Apr 10 16:01:31 2012 -0700 + + Switches tarball format over to .xz compression; closes #4979. + +M Makefile + +commit 121039d314b273f8cd3d1c1fa3f0f438fb8a2c91 +Author: Clint Rogers +Date: Tue Apr 10 15:42:20 2012 -0700 + + Improves handling of single quotes in path names when trying to + display a file in the filemanager; closes #4983. + +M src/AppWindow.vala + +commit 46148f17c79b9acce4eb8023d6e1969f92f631a5 +Author: Clint Rogers +Date: Tue Apr 10 15:27:22 2012 -0700 + + Corrects an issue where pressing Alt + D in the preferences dialog + would highlight the wrong widget; closes #4986. + +M src/Dialogs.vala +M ui/shotwell.glade + +commit e43061340ea8f7b3ee09ef4d1c00225be53a7d7d +Author: Clint Rogers +Date: Mon Apr 9 17:22:53 2012 -0700 + + Fixes #5028, puts in place a mechanism for pages with lengthy + startup procedures to initialize their + UI separately from the long startup. + +M src/Page.vala +M src/camera/ImportPage.vala +M src/library/LibraryWindow.vala + +commit 635d6f39b8b0326841598e4aff7afed95bb2c874 +Author: Lucas Beeler +Date: Mon Apr 9 13:14:51 2012 -0700 + + Added Chris Hemsing to the THANKS file. + +M THANKS + +commit ed42fbce19af9113ba8f2f07491cf7be893deb97 +Author: Chris Hemsing +Date: Mon Apr 9 13:13:17 2012 -0700 + + Fixes an issue in which rejected photos would be displayed at startup + even though the view filter was set merely to "All Photos" not "All + + Rejected." Closes #4300. + +M src/library/LibraryWindow.vala + +commit 29dcec3dcbd4f27b72fb80c68d69d9fe7eafb30e +Author: Adam Dingle +Date: Sun Apr 8 07:19:14 2012 -0700 + + Require libraw 0.13.2 or higher. Fixes #3062. Fixes #3534. + +M Makefile +D libraw-config + +commit ba96b4bdc312cfc2f86fffe0689a4ce4735e4e80 +Author: Adam Dingle +Date: Sat Apr 7 08:38:31 2012 -0700 + + Fixed #4962 (remove faces code from tree). + +M src/Commands.vala +M src/Dialogs.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/SearchFilter.vala +D src/db/FaceLocationTable.vala +D src/db/FaceTable.vala +M src/db/mk/db.mk +M src/editing_tools/EditingTools.vala +D src/faces/Branch.vala +D src/faces/Face.vala +D src/faces/FaceLocation.vala +D src/faces/FacePage.vala +D src/faces/FaceShape.vala +D src/faces/Faces.vala +D src/faces/mk/faces.mk +M src/library/LibraryWindow.vala +M src/library/mk/library.mk +M src/main.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala +M src/util/ui.vala +M ui/photo.ui +M units.mk + +commit 793399210d48cfdf5f99f5dc66dc551bce31b1ad +Author: Clint Rogers +Date: Thu Apr 5 17:09:08 2012 -0700 + + Adds some logic to fix up databases that are corrupted in a certain + manner and avoid a DB constraint failure; closes #4995. + +M src/Tag.vala + +commit 863d6b74b20fa68f43b21ec44613a2f9dac93802 +Author: Laura Khalil +Date: Thu Apr 5 14:25:09 2012 -0700 + + Updates to po translation files for Shotwell 0.12.2 + +M po/shotwell-core/en_GB.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/it.po +M po/shotwell-core/pl.po +M po/shotwell-core/sr.po +M po/shotwell-core/uk.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/uk.po + +commit fc2143afa47f20ab0b9364fc7e55264f246866e5 +Author: Clint Rogers +Date: Thu Apr 5 10:55:40 2012 -0700 + + Closes #4960; causes the Unity progress bar routines to be available + via a configure option after running make dist. + +M Makefile +M src/UnityProgressBar.vala + +commit 0d6ad16c5b71db2282cbeda258f596bbc09ab3f9 +Author: Clint Rogers +Date: Tue Apr 3 16:12:12 2012 -0700 + + Corrects an issue where event date ranges spanning exactly two days + would display incorrectly in ja_JP; part of #4976. + +M po/shotwell-core/ja.po + +commit 3f8ff37d3ee095f5fe81e0a7cc6d9f6bb23253e4 +Author: Lucas Beeler +Date: Tue Apr 3 14:34:26 2012 -0700 + + Fixes a minor POT file merge error. + +M po/shotwell-core/shotwell.pot + +commit 73daf0e17a49c23f94195a174b60c7f2d437188a +Author: Laura Khalil +Date: Tue Apr 3 14:19:02 2012 -0700 + + Merge commit. + +M po/shotwell-core/shotwell.pot +M po/shotwell-extras/shotwell-extras.pot + +commit 7a7ec600953380d3da84532c186a9e1730da147a +Author: Clint Rogers +Date: Tue Apr 3 13:32:32 2012 -0700 + + Adds a descriptive comment to pretty-printed date ranges spanning + exactly two days in shotwell.pot; closes #4976. + +M po/shotwell-core/shotwell.pot + +commit 0a1d925b0b64a2a18ba5513e589b74225e8f6031 +Author: Jonas Bushart +Date: Mon Apr 2 18:36:31 2012 -0700 + + Warns user that photo edits will be lost when switching development + modes for RAW photos. Closes #4060. + +M src/Dialogs.vala +M src/MediaPage.vala +M src/PhotoPage.vala + +commit be118c7bea13d7503b43bb66b173b20ab2b9bd6c +Author: Laura Khalil +Date: Mon Apr 2 18:14:09 2012 -0700 + + Updated Help instructions. Fixed #4946 + +M Makefile +M help/C/edit-rotate.page +A help/C/edit-straighten.page +M help/C/other-files.page +M help/C/other-plugins.page + +commit 34ef3d91e76384387aa3bce60447dceb746c0102 +Author: Adam Dingle +Date: Sat Mar 31 12:58:30 2012 -0700 + + New PPA build for Oneiric. + +M debian/changelog + +commit b0e30957e7d615de5c7382a6368b83ddc7982cae +Author: Luca Falavigna +Date: Sat Mar 31 09:06:50 2012 -0700 + + Fixed #4973 (FTBFS with gcc-4.6.3). + +M src/AppWindow.vala + +commit 2c2a25a4b848ea1b033d67e72faae1f6a6f5292e +Author: Clint Rogers +Date: Fri Mar 30 16:44:15 2012 -0700 + + Corrects an issue where certain pretty-printed date ranges could + display incorrectly in en_gb; closes #4976. + +M po/shotwell-core/en_GB.po + +commit 2f11dba9d34c792cc0740bb011743f0cf3b1f3ba +Author: Lucas Beeler +Date: Fri Mar 30 15:24:38 2012 -0700 + + This reverts commit 9c405d1942577bf15cc83754c52e766005c9e079. + +M src/Dialogs.vala + +commit 911199b41f6d7dede042376ec94e0c6fc80ef898 +Author: Clint Rogers +Date: Fri Mar 30 15:19:56 2012 -0700 + + Makes sure all the .help files needed for correct operation are + copied; closes #4961. + +M Makefile + +commit 9c405d1942577bf15cc83754c52e766005c9e079 +Author: Lucas Beeler +Date: Fri Mar 30 15:10:39 2012 -0700 + + Simplifies language in the Welcome Dialog to make it more + comprehensible to novice users. Closes #4956. + +M src/Dialogs.vala + +commit cacc39ec226c6fe683039b23eb1519d88f2b2c6e +Author: Lucas Beeler +Date: Fri Mar 30 15:05:06 2012 -0700 + + Fixes confusing strings that are shown to the user following an + ACCOUNT_NOT_SET_UP or an ADDITIONAL_SECURITY failure scenario in + the YouTube publisher. Closes #4941. + +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit 6594d38396e40950f16b6326f7f9800b024b9eee +Author: Clint Rogers +Date: Fri Mar 30 14:54:57 2012 -0700 + + Eliminates a duplicate mnemonic in the preferences dialog. Closes + #4934. + +M ui/shotwell.glade + +commit c7f72906f7d101da05c7eddcb285f889c25bf34e +Author: Lucas Beeler +Date: Fri Mar 30 14:39:00 2012 -0700 + + Properly marks up strings in the Piwigo publishing dialog for + translation. Closes #4889. + +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala + +commit 49ce449a852747ac6172b24fd54e8bc7bfc8b41a +Author: Clint Rogers +Date: Fri Mar 30 11:27:12 2012 -0700 + + Restores the missing tooltip for the merge button; closes #4825. + +M src/Resources.vala +M src/events/EventsDirectoryPage.vala + +commit 25c1ba50120418bc4d2afda6a445b972d6d36013 +Author: Clint Rogers +Date: Thu Mar 29 17:11:56 2012 -0700 + + Prevent ourselves from attempting to call an instance method if the + import plugin host instance is null here. Closes #4955. + +M src/data_imports/DataImportsUI.vala + +commit 89a2c215947f8e9f9cdade545004dc3369dbbd4c +Author: Clint Rogers +Date: Thu Mar 29 14:20:38 2012 -0700 + + Rewords the 'new search' menu item to be more meaningful and less + confusing, closes #4855. Many thanks to Trevor Mehard and Scott + Rosenbrook for this patch. + +M src/library/LibraryWindow.vala + +commit 3479ab06e4eaa1996e8ed7a1da2e5dc41f419e15 +Author: Clint Rogers +Date: Thu Mar 29 14:13:11 2012 -0700 + + Increment version number to '+trunk'. + +M Makefile + +commit 02f3d9dda432cce70faf9181bab77c21abde51dd +Author: Clint Rogers +Date: Thu Mar 29 13:51:55 2012 -0700 + + Closes #4939, adds a missing 's'. + +M src/publishing/PublishingUI.vala + +commit 62735d4b71123563659cc8c61ba2e6746fc4e39d +Author: Clint Rogers +Date: Wed Mar 28 15:13:33 2012 -0700 + + Increment version number to 0.12.1. + +M Makefile +M NEWS +M debian/changelog + +commit 5876456621f2ae7afaabd8d93b0c33a8fdfa6eb9 +Author: Clint Rogers +Date: Wed Mar 28 15:01:14 2012 -0700 + + Corrects an issue where direct-edit mode was broken by the absence + of a certain .ui file in the tarball; closes #4959. + +M Makefile + +commit 67e6b3748733aa1d231968de82a8e47596921832 +Author: Clint Rogers +Date: Tue Mar 27 16:41:32 2012 -0700 + + Incrementing version number. + +M Makefile + +commit 98b2a749e9ef285e0e4caeb513e2beddb61ec878 +Author: Clint Rogers +Date: Tue Mar 27 14:08:58 2012 -0700 + + Release 0.12.0. + +M Makefile + +commit b7908f6694e89f50328e22d1dfd04f9872dc5a3d +Author: Clint Rogers +Date: Tue Mar 27 13:20:26 2012 -0700 + + Removed references to searchbox-clear.svg and searchbox-find.svg, + since we use the systemwide builtins for this now, instead of our own. + +M Makefile + +commit 882f3cfb9690cd5ac6680496e97ffd1fd0f0e700 +Author: Clint Rogers +Date: Tue Mar 27 13:19:41 2012 -0700 + + Updated NEWS and debian/changelog + +M NEWS +M debian/changelog + +commit c53c8ef81e7b9cd8aed18e19d1fd1a15f8d8fbbe +Author: Clint Rogers +Date: Tue Mar 27 12:03:18 2012 -0700 + + Closes #4935; corrects a problem where focus wasn't transferred + to the right widget in the preferences dialog after receiving an + Alt+P keypress. + +M ui/shotwell.glade + +commit 2e5ad4304daed820209a5d677f2695601f6163f8 +Author: Clint Rogers +Date: Mon Mar 26 18:29:42 2012 -0700 + + Gives the capability of controlling whether dialogs generated with + error_message_with_title() will have their body text escaped or not, + and fixes a dialog that didn't need escaping, closes #4930. + +M src/AppWindow.vala +M src/Dialogs.vala +M src/publishing/PublishingUI.vala + +commit 9fc8df8919204061307de291ccd06e957567f3ea +Author: Clint Rogers +Date: Mon Mar 26 18:25:59 2012 -0700 + + Disables the 'rotate' button in direct mode until a rotate has + actually finished; closes #4904. + + (This fixes the case where repeated clicks on the 'rotate' button + appear to do nothing on very large images and/or slower computers.) + +M src/Photo.vala +M src/PhotoPage.vala +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala + +commit b46500533a2f40959fb381efa59a7270cc50ff12 +Author: Clint Rogers +Date: Mon Mar 26 15:48:44 2012 -0700 + + Corrects an issue where the timer in the publishing UI could get + into an inconsistent state if the user tried to publish with no + plugins enabled; closes #4929. + +M src/publishing/PublishingUI.vala + +commit fe3857abcc43ae62444d83f0ba97f02d2a241c23 +Author: Lucas Beeler +Date: Mon Mar 26 15:11:41 2012 -0700 + + The Flickr LegacyPublishingOptionsPane no longer attempts to + access the state of a widget that is indeterminate for video-only + uploads. Closes #4928. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 38b160a8be8d9e281fb3e9e133e7ddf90d92a4bf +Author: Clint Rogers +Date: Mon Mar 26 14:26:10 2012 -0700 + + Fixes tool window positioning in direct mode; closes #4902. + +M src/PhotoPage.vala + +commit 095f56371a318c802c27429f4248afb736e64fff +Author: Jonas Bushart +Date: Mon Mar 26 13:37:44 2012 -0700 + + Eliminates a situation where a malicious user could stop other + users on the same system from being able to publish photos by taking + ownership of certain directories in the /tmp tree. Closes #4411. + +M src/AppDirs.vala + +commit e030f05cc378020da34e507e04bd50ff58259c23 +Author: Jonas Bushart +Date: Mon Mar 26 13:30:13 2012 -0700 + + Closes #4732. + +M src/Event.vala + +commit 42b378629ad503a7c6942220910722b087cd6981 +Author: Martin Olsson +Date: Mon Mar 26 13:22:54 2012 -0700 + + Fixes spelling and formatting issues in debug log output. + +M src/BatchImport.vala +M src/Photo.vala + +commit d75cf47866ff368b9477bc16211b9280043ad278 +Author: Lucas Beeler +Date: Mon Mar 26 13:18:14 2012 -0700 + + Fixes a mismatch in the ISO language and region codes for Slovenian + between Shotwell and Facebook. Allows Slovenian users to login to + Facebook inside Shotwell in their native language. Closes #4291. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit cfe5cc54378e0b015ee0b9efa2853c172958d2e1 +Author: Lucas Beeler +Date: Mon Mar 26 12:37:43 2012 -0700 + + Adds a guard condition to prevent TagTable.upgrade_for_htags( ) from + running when version 14 (Shotwell 0.11.x) databases are upgraded to + version 15 (Shotwell 0.12.x). + +M src/db/Db.vala + +commit 60af5c47c54afa5a427a9b1fd1d92b33a8f818ef +Author: Adam Dingle +Date: Mon Mar 26 10:49:42 2012 -0700 + + Added Clinton to AUTHORS. + +M AUTHORS +M THANKS +M src/Resources.vala + +commit 0bbbbd1d6a20d6623f5105dd1839fd5421b0a6f5 +Author: Clint Rogers +Date: Fri Mar 23 18:42:14 2012 -0700 + + Closes #4771, rearranges the grid slightly to prevent unwanted + blurring. + +M src/editing_tools/StraightenTool.vala + +commit 5aaaa912cd0512116b140f30e145391b549713f3 +Author: Lucas Beeler +Date: Fri Mar 23 16:50:21 2012 -0700 + + Eliminates the global shared adjustment for all page sliders. Closes + #4886. + +M src/MediaPage.vala +M src/library/LibraryWindow.vala + +commit 322e8d28d8b83c8eb0c17a1abcc81ed167d1f725 +Author: Clint Rogers +Date: Fri Mar 23 15:16:49 2012 -0700 + + Makes the default width for the sidebar slightly higher to fix a + problem where default event names could appear truncated + if the user's default font was either Ubuntu 11 or Cantarell 11 + (common defaults for recent Ubuntu and Fedora installations). + +M src/library/LibraryWindow.vala + +commit b3cdaa5a15bfbee9363f956272d59ffa3d1ba9c6 +Author: Adam Dingle +Date: Fri Mar 23 12:30:57 2012 -0700 + + Fixed #4885 (A crash occurs if an unhighlighted tag in the sidebar + is right-clicked upon). + +M src/sidebar/Tree.vala + +commit 90444ac95cc278ea73df2d2cc703ff2058a6525a +Author: Adam Dingle +Date: Fri Mar 23 12:29:23 2012 -0700 + + Fixed #4897 (menu key crashes Shotwell). + +M src/searches/Branch.vala +M src/sidebar/common.vala +M src/tags/Branch.vala + +commit f32d117acf79dcf6cb3c57f00309e67d90aa1c2a +Author: Clint Rogers +Date: Thu Mar 22 16:21:17 2012 -0700 + + Closes #4884, fixes a problem where the background colour slider + would default to the wrong value when reset. + +M src/Dialogs.vala + +commit 68b1f6c65eb79eb817df2129fbf30389a9e8ebac +Author: Lucas Beeler +Date: Thu Mar 22 15:27:40 2012 -0700 + + Tweaks auto-enhance behavior to make shadow correction less aggressive + and reduces the number of contexts in which shadow correction is + applied. Closes #3435. + +M src/ColorTransformation.vala + +commit 365df30aa622a0b39f27b0d7ac400542fedcba1c +Author: Adam Dingle +Date: Wed Mar 21 20:23:03 2012 -0700 + + Fixed #4562 (single shared menu for all Shotwell views) and #4841 + (sidebar and menu flash during import). + + With this change the LibraryWindow's UI Manager is shared by all + pages in the window. When you switch to any page, it swaps the + menus and toolbars it needs into the shared UI manager, and then + swaps them back out when you leave the page. + + Many of the changes here were because pages were assuming that their + widgets existed even when pages were not in view. With these changes, + pages can access widgets only when they are active. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/MediaPage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/camera/ImportPage.vala +M src/direct/DirectPhotoPage.vala +M src/direct/DirectWindow.vala +M src/events/EventsDirectoryPage.vala +M src/library/ImportQueuePage.vala +M src/library/LibraryWindow.vala +M src/library/OfflinePage.vala +M src/library/TrashPage.vala +M ui/direct.ui +A ui/direct_context.ui +M ui/photo.ui +A ui/photo_context.ui +A ui/top.ui + +commit b002e909952fd88d1bf04d368e961dd38d9783af +Author: Clint Rogers +Date: Wed Mar 21 17:37:34 2012 -0700 + + Closes #4875 and #4874, fixes various UI annoyances with the + straighten tool. + +M src/editing_tools/StraightenTool.vala + +commit addf7074624f8e37c1f442ddd5ca9d21d4828d26 +Author: Clint Rogers +Date: Wed Mar 21 17:09:38 2012 -0700 + + Closes #4359, addresses an issue where the text didn't 'know' it + needed to change itself after bg_color_slider was reset. + +M src/Dialogs.vala + +commit 180e3547685718b4f2429650679bcf8460961423 +Author: Clint Rogers +Date: Wed Mar 21 11:31:15 2012 -0700 + + Closes #4837, removes a snippet of code that would cause the + hadjustment to get moved twice + under the right circumstances, resulting in the contents of a + CheckerboardPage walking off the top of the window. + +M src/CheckerboardLayout.vala + +commit d3a9bafca320a7d1de08e08c6c965f6a1e996c10 +Author: Lucas Beeler +Date: Tue Mar 20 18:44:55 2012 -0700 + + Changes the way hit-testing is performed in the hit-test hack + (see the comment above the button_press_event method of the + ManifestListView class for more information on the hit-test hack + and why it's used). Fixes #4760. + +M src/plugins/ManifestWidget.vala + +commit bacc3567b0f96633ea83e1b8a8a7ebaddd4b127a +Author: Clint Rogers +Date: Tue Mar 20 14:44:45 2012 -0700 + + Closes #4120, fixes a crash that could happen on exporting images + with metadata + by manually initializing the XMP parser in a thread-safe way prior + to spawning an AppWindow. + +M Makefile +M src/main.vala + +commit 05ed17304120ebd45cce824a8e276cf8e96a2514 +Author: Laura Khalil +Date: Tue Mar 20 13:32:30 2012 -0700 + + Fixed errors in Arabic and Thai translations. + +M po/shotwell-core/ar.po +M po/shotwell-core/th.po + +commit de1f2f9ee8e89f6a4ae300dd6b519cea1a370f8b +Author: Laura +Date: Tue Mar 20 13:13:55 2012 -0700 + + Updates makefile to reflect new languages, fixes incorrect header + in Vietnamese translation. + +M Makefile +M po/shotwell-extras/vi.po + +commit c8d35751b30350ae8d832d08877d6ff2d33d8065 +Author: Laura +Date: Tue Mar 20 13:05:17 2012 -0700 + + Updates translations for 0.12 release + +M po/shotwell-core/af.po +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +C057 po/shotwell-core/af.po po/shotwell-core/hi.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +C061 po/shotwell-core/ta.po po/shotwell-core/ia.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +C063 po/shotwell-core/ta.po po/shotwell-core/ta_IN.po +M po/shotwell-core/te.po +C060 po/shotwell-core/ta.po po/shotwell-core/te_IN.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/vi.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/te.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/vi.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit 4c6028562dc1453d849c2a49c4b4f0aaa3a107eb +Author: Clint Rogers +Date: Fri Mar 16 17:36:26 2012 -0700 + + Closes #4522, ensures that tags that are dragged to child tags, then + undone, have all tags removed, not just the current nesting level + (more work is planned on this, please see #4858). + +M src/Commands.vala + +commit 74c7fdf6a033e8500d934eb8bafcefa91c7b3888 +Author: Clint Rogers +Date: Fri Mar 16 14:44:36 2012 -0700 + + Closes #4857, stops us from inappropriately removing empty tags + (and occasionally crashing) when undoing certain tag operations. + +M src/Commands.vala + +commit 3263ceef163767c0c436bfad79ae7dfb1a2aa7f7 +Author: Adam Dingle +Date: Fri Mar 16 14:02:10 2012 -0700 + + Fixed #4829 (use "edit-clear-symbolic") and #4830 (use + "edit-find-symbolic"). + +D icons/searchbox-clear.svg +D icons/searchbox-find.svg +M src/Resources.vala +M src/SearchFilter.vala + +commit 39206470dac77ed147314ce95b0fd826e000b5a3 +Author: Clint Rogers +Date: Thu Mar 15 18:08:57 2012 -0700 + + Closes #4070, makes editing tools insensitive for missing photos as + appropriate (and re-sensitizes them if a missing photo is restored). + +M src/PhotoPage.vala +M src/editing_tools/StraightenTool.vala + +commit 741d15f449e986377b9c25a4a48837a9e124c26f +Author: Clint Rogers +Date: Thu Mar 15 14:33:03 2012 -0700 + + Closes #4325, causes '&' characters in fully-qualified paths to + be escaped. + +M src/Properties.vala + +commit 3919de37336ca7432a798e8b193defabb9ee9d89 +Author: Clint Rogers +Date: Thu Mar 15 13:45:06 2012 -0700 + + Closes #4840, makes using the mouse wheel in the PhotoPage work + reliably again. + +M src/Page.vala + +commit 5665ebf251cb0aa686dd674c1526701dbb23f1e5 +Author: Clint Rogers +Date: Thu Mar 15 13:38:22 2012 -0700 + + Closes #4575, temporarily makes the progress bar not be modal while + a confirmation dialog is present. + +M src/AppWindow.vala +M src/Exporter.vala + +commit 687204df6bcfd4fd649846d9315d8c615d4b6cc6 +Author: Clint Rogers +Date: Wed Mar 14 11:30:17 2012 -0700 + + Closes #4831, hides the 'clear' icon if there's no text present. + +M src/SearchFilter.vala + +commit fa4ba36a3eac1e70c29dd3ec05904bbeb23f008c +Author: Clint Rogers +Date: Tue Mar 13 18:32:23 2012 -0700 + + Fixes #4821, makes the confirm button for the crop tool actually read + "Crop". + +M src/editing_tools/EditingTools.vala + +commit c1329b1d34cc463469249f1879e52a6ccfde1b56 +Author: Adam Dingle +Date: Tue Mar 13 17:18:53 2012 -0700 + + Fixed #4832 (assertions publishing video to Facebook: + `GTK_IS_LIST_STORE + (store)' failed). + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 30923f74b292ce8e871a7b7618d2ea39c852a2dc +Author: Adam Dingle +Date: Tue Mar 13 10:50:44 2012 -0700 + + Partially fixed #2592 (menu flashing) and #4303 (sidebar flashing). + The flashing + still occurs while importing photos, unfortunately. + +M src/Resources.vala +M src/library/LibraryWindow.vala + +commit 29e4c3c105eeabc65c7862816f1aadff594dfa53 +Author: Adam Dingle +Date: Mon Mar 12 09:28:44 2012 -0700 + + Removed broken tooltip on Merge Events button. Partially fixes #4825. + +M src/events/EventsDirectoryPage.vala + +commit 0a4912e9228ccf6132e79e6621c615e864f0d150 +Author: Adam Dingle +Date: Fri Mar 9 17:05:36 2012 -0800 + + Fixed #4684 (some thumbnails grayed out on startup). + + The thumbnail fetching code was sometimes deadlocking in code which + held a lock while constructing a singleton JfifFileFormatDriver or + JfifFileFormatProperties object. Vala was unfortunately initializing + the lock only when the first instance of the class was created, + which could be when one or more threads had already acquired and were + waiting on the lock. So these threads never continued execution + after the lock was freed. I solved the problem by eliminating the + lock in these and similar classes. We now call a static init() + method earlier instead. + +M src/photos/BmpSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoFileFormat.vala +M src/photos/Photos.vala +M src/photos/PngSupport.vala +M src/photos/RawSupport.vala +M src/photos/TiffSupport.vala + +commit 2bcf34589c1007e989682d92c2591b574e11062b +Author: Adam Dingle +Date: Thu Mar 8 15:01:33 2012 -0800 + + Enable Piwigo publishing by default. Closes #4802. + +M misc/org.yorba.shotwell.gschema.xml + +commit 597c46f44be55bffd3106e86786c786103b52050 +Author: Adam Dingle +Date: Thu Mar 8 14:47:37 2012 -0800 + + Updated version number in POT files. + +M po/shotwell-core/shotwell.pot +M po/shotwell-extras/shotwell-extras.pot + +commit c485ceea649dc4c29de987636d4d404f408ce034 +Author: Lucas Beeler +Date: Thu Mar 8 12:16:25 2012 -0800 + + Upgrades database schema version. Closes #4817. + +M src/db/DatabaseTable.vala +M src/db/Db.vala + +commit 91cc5aebf2c935c9bb57fec3ddd7c1b3f115358b +Author: Clint Rogers +Date: Tue Mar 6 14:38:45 2012 -0800 + + Tarballs delivered to QA have passed, releasing them and incrementing + version number. + +M Makefile + +commit 58ecb80e4df26872428c8b15cdef506d6f4f7bc0 +Author: Clint Rogers +Date: Tue Mar 6 11:36:19 2012 -0800 + + Makes some slight changes to the search bar's style sheet to make + the buttons and bottom border play nicely. Closes #4799. + +M src/Resources.vala +M src/SearchFilter.vala + +commit 30f78e12544eab6fd19f220d39766f862e663c1b +Author: Clint Rogers +Date: Mon Mar 5 17:58:17 2012 -0800 + + Closes #4345, fixes an issue where images that got modified, then + saved, wouldn't reimport properly, causing them to appear to have + reverted inappropriately. + +M src/Photo.vala +M src/direct/DirectPhoto.vala + +commit e13d60d2357732c004aae61735a04171fb0d4444 +Author: Clint Rogers +Date: Mon Mar 5 17:44:22 2012 -0800 + + Closes #4737, slightly modifies the search bar style sheet to prevent + twitch/wobble when the cursor enters or leaves a button. + +M src/Resources.vala + +commit fa68b1917ca72b9595e05731365d8bb227d7869e +Author: Clint Rogers +Date: Mon Mar 5 14:26:25 2012 -0800 + + Alters the way in which saving the background color is done and how + we interact with the BG color slider, closes #4787 and #4795. + +M src/Dialogs.vala +M src/config/Config.vala + +commit 8b9623df4f8518c07d8268509461f586b877b026 +Author: Lucas Beeler +Date: Mon Mar 5 13:57:38 2012 -0800 + + Fixes a subtle date problem in the French translation file. Closes + #4581. + +M po/shotwell-core/fr.po + +commit 1bb0cb0aeca4c19420ad5f026f875f39192ffc8c +Author: Clint Rogers +Date: Wed Feb 29 18:00:58 2012 -0800 + + Closes #3659, makes 'does not contain' searches work more like + human language. + +M src/searches/SearchBoolean.vala + +commit 47ee7f7ca912db8e677812986d0720eaeb3c4ef9 +Author: Clint Rogers +Date: Wed Feb 29 15:53:12 2012 -0800 + + Closes #4790, restores tooltips to the search bar buttons. + +M src/SearchFilter.vala + +commit 3609d08d37ad001cca6275c8f0aa16099fb179bf +Author: clinton +Date: Tue Feb 28 16:45:48 2012 -0800 + + Closes #4690, closes #4694, adds a proper keypress handler to the + straighten tool. + +M src/camera/ImportPage.vala +M src/editing_tools/StraightenTool.vala + +commit d11b11b364e9a14eed0a8e1dde49bee7ebdf80b3 +Author: Clint Rogers +Date: Mon Feb 27 16:24:44 2012 -0800 + + Adds a mnemonic for the 'Developer' menu item and moves some other + mnemonics around to avoid collisions; closes #3976. + +M src/MediaPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/direct/DirectPhotoPage.vala + +commit a9da4515785f660ca1a8a687f6ae8f95f6696c9c +Author: Clint Rogers +Date: Mon Feb 27 16:11:21 2012 -0800 + + Makes the app check for the presence of a /DCIM directory and respect + it if it's found; closes #1903. + +M src/camera/ImportPage.vala + +commit 57f061ef97d70ce78276bea2708450dda6863563 +Author: Clint Rogers +Date: Mon Feb 27 12:28:05 2012 -0800 + + Closes #4632, better positions tool windows so they're closer to + the horizontal center of the photo canvas. + +M src/PhotoPage.vala + +commit b779f5f3319ebe3c37d70c8f6f6d8cb88a5e9019 +Author: Adam Dingle +Date: Mon Feb 27 08:56:31 2012 -0800 + + Increased minimum Vala requirement to 0.15.2. + +M Makefile + +commit 77de7619dd1f4c35874946cf105ebdedf9e53919 +Author: Adam Dingle +Date: Sun Feb 26 14:33:18 2012 -0800 + + Fixed alignment in Flickr PIN entry pane. Closes #4788. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 277f6eb7f8be0b7d4b3bd3d29270ad2260cdefff +Author: Lucas Beeler +Date: Sat Feb 25 16:01:15 2012 -0800 + + Fixes Flickr authentication problems by switching digital signature + generation to a known-good implementation of the HMAC-SHA1 + algorithm. Closes #4770. + +M Makefile +M debian/control +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/Makefile +D vapi/hmac-glib.vapi + +commit 0edb5790c2854c64c01b4ab9cc8bbd93d6938123 +Author: Clint Rogers +Date: Thu Feb 23 17:10:50 2012 -0800 + + Corrects a problem where the previous commit broke spawning a context + menu when right-clicking in an empty area. + +M src/sidebar/Tree.vala + +commit 7839d77eb53436795474084213ae9fd22551c0a5 +Author: Clint Rogers +Date: Thu Feb 23 16:58:31 2012 -0800 + + Closes #4704, prevents us from trying to perform operations on a + null tree path. + +M src/sidebar/Tree.vala + +commit c7ecd7cf20a3586fc8123e74d0eaf46d4aa49b76 +Author: Adam Dingle +Date: Thu Feb 23 15:31:44 2012 -0800 + + Removed almost all HBoxes and VBoxes from Shotwell, eliminating over + 100 deprecation + warnings when building with GTK 3.3. + +A plugins/common/ui.vala +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M src/Dialogs.vala +M src/MediaPage.vala +M src/PhotoPage.vala +M src/Printing.vala +M src/data_imports/DataImportsUI.vala +M src/direct/DirectWindow.vala +M src/editing_tools/EditingTools.vala +M src/editing_tools/StraightenTool.vala +M src/library/LibraryWindow.vala +M src/publishing/PublishingUI.vala +M src/searches/SavedSearchDialog.vala +M src/util/ui.vala + +commit debfeb2a1ccf415b12bedd2c8edab5c93af6c245 +Author: Clint Rogers +Date: Thu Feb 23 13:17:08 2012 -0800 + + Closes #4689, disables adjusting of date and time on RAW files in + direct mode. + +M src/direct/DirectPhotoPage.vala + +commit 58ce35ea8a5e8a7d50d7b0b0a6ea2c1a11fa40d3 +Author: Bruno Girin +Date: Wed Feb 22 18:47:43 2012 -0800 + + Shotwell now correctly displays an error message when no data imports + plugins are enabled. Closes #4758. + +M src/data_imports/DataImportsUI.vala + +commit b0b97b1a0670bcb0203698c109bec6463ab7b95e +Author: Adam Dingle +Date: Wed Feb 22 16:11:52 2012 -0800 + + Reenable GTK double buffering to work around background flashing. + Closes #4775. + +M src/Page.vala + +commit 2903a3d51ca2f860a8024054691547e976a2a26e +Author: Bruno Girin +Date: Wed Feb 22 13:46:27 2012 -0800 + + Fixes critical assertions when running "Import From + Application..." more than once. Closes #4766. + +M src/data_imports/DataImportsUI.vala + +commit 44fa2677a47f063c56430ffd02c2779bca4800a9 +Author: Timo Witte +Date: Wed Feb 22 13:31:49 2012 -0800 + + Nautilus now highlights the backing file itself (as opposed to merely + showing the enclosing directory) when the "Show in File Manager" + option is chosen from the "File" menu. Adds Timo Witte, the author + of this changeset, to the THANKS file. + +M THANKS +M src/AppWindow.vala +M src/util/system.vala + +commit e8a13a4f4fd949d0212e86bb130341a1bd6ae917 +Author: Clint Rogers +Date: Tue Feb 21 14:27:20 2012 -0800 + + Closes #4767, removes the mnemonic from this menu item. + +M src/library/LibraryWindow.vala + +commit d3ba803c9df48b54dac5a5deb4bd229f80a3a3fb +Author: Adam Dingle +Date: Tue Feb 21 08:03:50 2012 -0800 + + Ignore generated .desktop files. + +M .gitignore + +commit b247095eb353599f0cbe61f9d456cd4c5e7c163d +Author: Adam Dingle +Date: Tue Feb 21 08:00:05 2012 -0800 + + Ignore *~ (editor backup files). + +M .gitignore + +commit 3c1160bf74a21ef19a7dba96d8ae2ac5494baf4b +Author: Adam Dingle +Date: Tue Feb 21 07:36:49 2012 -0800 + + Post-release version number update. + +M Makefile + +commit 4f62cbf023018fb03bac56416b5e780fe53caa31 +Author: Adam Dingle +Date: Tue Feb 21 07:32:33 2012 -0800 + + Release 0.11.92. + +M Makefile + +commit 6b8782d01cb48ac7c6a89dfdaa14ca28de3cb689 +Author: Adam Dingle +Date: Mon Feb 20 17:10:37 2012 -0800 + + Fixed a bug which caused the crop rectangle to position incorrectly + for small images. + +M src/editing_tools/EditingTools.vala + +commit 29075b01df173600e703db6ca08a8646e089f49a +Author: Adam Dingle +Date: Mon Feb 20 16:51:56 2012 -0800 + + Added straighten.svg to Makefile. + +M Makefile + +commit d2b89133bb84772a24cec3822ba09aa83fa82faa +Author: Clint Rogers +Date: Mon Feb 20 13:11:20 2012 -0800 + + Closes #4744, gives the straighten tool a proper icon. + + (Stripped down a bit from what I originally submitted to try to make + it look cleaner at 24x24.) + +M icons/straighten.svg + +commit dd6251f9d628c0ec27bda64c4706f01d3661ae8b +Author: Clint Rogers +Date: Mon Feb 20 13:00:30 2012 -0800 + + Closes #4744, gives the straighten tool a proper icon. + +A icons/straighten.svg +M src/PhotoPage.vala +M src/Resources.vala + +commit 1075fbd03086c423de1cfc6547bb6c4544d394bd +Author: Lucas Beeler +Date: Mon Feb 20 13:29:17 2012 -0800 + + Re-titles the "Import from Another Application" dialog. Re-closes + #4761. + +M src/data_imports/DataImportsUI.vala + +commit 5d35cb409e84b87a89e8da5e85f041947f0eb0a4 +Author: Adam Dingle +Date: Mon Feb 20 13:28:53 2012 -0800 + + Added hmac-glib.vapi to VAPI_FILES in Makefile. + +M Makefile + +commit 617567add920c447ade42fa876dfb2ad1e13e60a +Author: Adam Dingle +Date: Mon Feb 20 12:48:37 2012 -0800 + + Keep the crop rectangle inside image bounds in the crop tool. + Closes #4612. + +M src/Box.vala +M src/editing_tools/EditingTools.vala +M src/util/image.vala + +commit 7194bb73764706c7de81215b4f2d18349d7d70a3 +Author: Lucas Stephen Beeler +Date: Mon Feb 20 11:31:39 2012 -0800 + + Simplifies the language of the "Import from Another + Application..." menu option and changes its capitalization scheme + to conform to GNOME guidelines. Closes #4761. + +M src/library/LibraryWindow.vala + +commit 168ac5c233f414b9c8cb81c07abf92f602ddc99d +Author: Adam Dingle +Date: Fri Feb 17 17:42:26 2012 -0800 + + Fixed a bug: rotate_arb() and friends weren't positioning the rotated + image quite correctly, which led to pixels being cut off in the + crop tool. Closes #4753. + +M src/util/image.vala + +commit b3b923bec8d8b81501c8200a7e62f6fb13007967 +Author: Adam Dingle +Date: Fri Feb 17 17:39:52 2012 -0800 + + Simplified bounding box calculation in compute_arb_rotated_size(). + +M src/util/image.vala + +commit d9f187f591d486b5e12dde2b6d27b50b030f6e78 +Author: Lucas Beeler +Date: Thu Feb 16 14:32:37 2012 -0800 + + Removes migration targets that no longer exist from our + gsettings-data-convert description file. Closes #4649. + +M misc/shotwell.convert + +commit 8cee92d2a9770d367cf2934da70ab0bc6d1487d5 +Author: Lucas Beeler +Date: Thu Feb 16 14:11:30 2012 -0800 + + Added Thomas Moschny to the THANKS file. + +M THANKS + +commit c70f5bff84ba8b4c44629d62a5a358ef7ce4c5b7 +Author: Thomas Moschyn +Date: Thu Feb 16 14:09:14 2012 -0800 + + The plugin build system now respects the VALAC environment variable + if it is set. Closes #4661. + +M plugins/Makefile.plugin.mk + +commit 21cc3f2f02283474d28ebbc393387037fe64b434 +Author: Bruno Girin +Date: Thu Feb 16 12:54:19 2012 -0800 + + Handles the case in which an F-Spot database can become deformed + whereby fields become null that should never be null, since F-Spot's + developers never set NOT NULL constraints on these rows in their + SQL DDL code. Improves handling of cases where F-Spot backing photos + are unavailable. Closes #4487. + +M plugins/shotwell-data-imports/FSpotImporter.vala +M plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +M plugins/shotwell-data-imports/FSpotPhotosTable.vala +M src/data_imports/DataImportSource.vala +M src/data_imports/DataImportsPluginHost.vala + +commit 86dbca16454e2931eeea70fe90152acdc3dc65f4 +Author: Adam Dingle +Date: Thu Feb 16 11:49:32 2012 -0800 + + The straighten tool now keeps the crop rectangle within the image + bounds. Closes #4750. + +M src/Box.vala +M src/editing_tools/StraightenTool.vala + +commit ce3e2fad0da40eda9c2c635bfba5642bbe50e59b +Author: Adam Dingle +Date: Wed Feb 15 17:52:47 2012 -0800 + + 1. Refactored StraightenTool.activate() and + StraightenTool.on_resized_pixbuf() to share code. + + 2. Fixed bug whereby straighten tool displayed incorrect region. + Closes #4749. + +M src/Dimensions.vala +M src/editing_tools/StraightenTool.vala + +commit e84f019bf6ec057293b88d50d5188617e7d095a9 +Author: Adam Dingle +Date: Wed Feb 15 17:50:47 2012 -0800 + + Fixed red-eye correction on straightened images. Closes #4617. + +M src/Photo.vala +M src/editing_tools/EditingTools.vala + +commit 3114534035a3eabc099e14f1bbc2878da410ef64 +Author: Adam Dingle +Date: Wed Feb 15 17:48:37 2012 -0800 + + Implemented StraightenCommand. Closes #4475. + +M src/Commands.vala +M src/Resources.vala +M src/editing_tools/StraightenTool.vala + +commit 47a716297ab6c4af15888dfb88691ab43199da65 +Author: Lucas Beeler +Date: Wed Feb 15 16:40:35 2012 -0800 + + Switches to the OAuth authentication scheme in the Flickr + connector. Closes #4631, #4545, #3043, #2714. + +M misc/org.yorba.shotwell.gschema.xml +M plugins/Makefile.plugin.mk +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/Makefile +A vapi/hmac-glib.vapi + +commit 9d17eb8206f5cbaa1888bd7e0dbeebe24293f5c7 +Author: Clint Rogers +Date: Mon Feb 13 18:49:14 2012 -0800 + + Closes #4691, makes raw development changes display correctly whilst + avoiding a possible race/reentrancy issue where precache_unmodified + could be populated from two different places. + +M src/Photo.vala + +commit 1abb8497af628ecbf3cd851920714fbb8cfb0b16 +Author: Clint Rogers +Date: Mon Feb 13 17:55:32 2012 -0800 + + Closes #4747, corrects an issue where a DirectPhoto would try to + get its dimensions from the wrong place. + +M src/direct/DirectPhoto.vala + +commit f7cc0dc3fe48e7c9e9020bbdd806f6dc1aecfe38 +Author: Lucas Beeler +Date: Mon Feb 13 17:38:17 2012 -0800 + + Added Trevor Mehard to the THANKS file. + +M THANKS + +commit b806ea6fa0fc6d4d706eb274c5f663af56adc909 +Author: Trevor Mehard +Date: Mon Feb 13 17:35:57 2012 -0800 + + Ensures that date range boolean searches return all photos within + a closed interval (i.e., the endpoint dates are included). + +M src/searches/SearchBoolean.vala + +commit 631bf8cbb3ea35ce6a942e97261325944fea7680 +Author: Adam Dingle +Date: Mon Feb 13 16:08:46 2012 -0800 + + Added Straighten to Tools menu. Closes #4745. + +M src/PhotoPage.vala +M src/direct/DirectPhotoPage.vala +M ui/direct.ui +M ui/photo.ui + +commit 853a097c35c9fbf78800b258eb5cc22503111119 +Author: Clint Rogers +Date: Mon Feb 13 15:47:06 2012 -0800 + + Closes #3566, checks whether incoming photo has an existing crop + region, and, if so, uses that, along with 'unconstrained' as the + crop tool defaults instead of the saved constraint. + +M src/editing_tools/EditingTools.vala + +commit 9e1b3a99328dc6b80719f2d1d7ded7a4ca44f30d +Author: Adam Dingle +Date: Mon Feb 13 14:05:36 2012 -0800 + + Require GLib 2.30.0. + +M Makefile + +commit 7bfe891aa8b022c583d923ad355c652d70da7817 +Author: Adam Dingle +Date: Mon Feb 13 13:30:15 2012 -0800 + + Disable double buffering in SinglePhotoPage. Closes #4739. + +M src/Page.vala + +commit c5f3173855c864592c5d15dc2ddc36a804fcb73a +Author: Adam Dingle +Date: Mon Feb 13 13:19:26 2012 -0800 + + Upped minimum Vala requirement to 0.15.1. + +M Makefile + +commit 9fe7512217fe84fac7b6119c8610da15603f84bd +Author: Lucas Beeler +Date: Fri Feb 10 15:20:18 2012 -0800 + + Updates gexiv2 dependency to require GExiv2 0.3.90 or later. + +M Makefile +M debian/control + +commit 2fa8e4b9fe05a9141cb8caea771ea1c25d519666 +Author: Adam Dingle +Date: Fri Feb 10 15:20:28 2012 -0800 + + Enable double buffering in SinglePhotoPage. Closes #4715, #4716. + +M src/Page.vala + +commit 0ee2c7fa530472292808058f969c65884c5316b7 +Author: Clint Rogers +Date: Fri Feb 10 11:02:29 2012 -0800 + + Closes #4663; makes the straighten tool and crop tool interaction + much friendlier. + +M src/Photo.vala +M src/editing_tools/StraightenTool.vala +M src/util/image.vala + +commit 97001319f695acddbaff558d43a8d3be6cebae88 +Author: Adam Dingle +Date: Thu Feb 9 11:17:48 2012 -0800 + + Fixed theme parser warnings. Closes #4736. + +M src/Resources.vala + +commit ea315f3321db895cd6daf83a059b3e1e26b50740 +Author: Clint Rogers +Date: Mon Feb 6 12:49:31 2012 -0800 + + Closes #4578, closes #4611, adds a call to the parent class' + key handler for when the editing tool window wants to process the + incoming key, but not consume it. + +M src/Dialogs.vala +M src/editing_tools/EditingTools.vala +M src/util/misc.vala + +commit 90b83dc21bb5defaf35367c8e1bcb9cedbf1b0c5 +Author: Bruno Girin +Date: Mon Feb 6 12:38:13 2012 -0800 + + Cleans up old F-Spot and alien database import code obsoleted by + Bruno's new external application import plugin system. Closes #4714. + +M plugins/shotwell-data-imports/FSpotDatabase.vala +D src/alien_db/AlienDatabase.vala +D src/alien_db/AlienDatabaseDriver.vala +D src/alien_db/AlienDatabaseEvent.vala +D src/alien_db/AlienDatabaseHandler.vala +D src/alien_db/AlienDatabaseImportDialog.vala +D src/alien_db/AlienDatabaseImportDialogController.vala +D src/alien_db/AlienDatabaseImportJob.vala +D src/alien_db/AlienDatabaseImportSource.vala +D src/alien_db/AlienDatabasePhoto.vala +D src/alien_db/AlienDatabaseTag.vala +D src/alien_db/AlienDatabaseVersion.vala +D src/alien_db/AlienDb.vala +D src/alien_db/DiscoveredAlienDatabase.vala +D src/alien_db/f_spot/AlienDb.FSpot.vala +D src/alien_db/f_spot/FSpotDatabase.vala +D src/alien_db/f_spot/FSpotDatabaseBehavior.vala +D src/alien_db/f_spot/FSpotDatabaseDriver.vala +D src/alien_db/f_spot/FSpotDatabaseEvent.vala +D src/alien_db/f_spot/FSpotDatabasePhoto.vala +D src/alien_db/f_spot/FSpotDatabaseTable.vala +D src/alien_db/f_spot/FSpotDatabaseTag.vala +D src/alien_db/f_spot/FSpotMetaTable.vala +D src/alien_db/f_spot/FSpotPhotoTagsTable.vala +D src/alien_db/f_spot/FSpotPhotoVersionsTable.vala +D src/alien_db/f_spot/FSpotPhotosTable.vala +D src/alien_db/f_spot/FSpotRollsTable.vala +D src/alien_db/f_spot/FSpotTableBehavior.vala +D src/alien_db/f_spot/FSpotTagsTable.vala +D src/alien_db/f_spot/mk/f_spot.mk +D src/alien_db/mk/alien_db.mk +M src/library/mk/library.mk +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/shotwell.glade +M ui/shotwell.xml +M ui/trash.ui +M units.mk + +commit 2058ef220e978fc55635e50fa3034ec7837628da +Author: Lucas Beeler +Date: Mon Feb 6 12:15:22 2012 -0800 + + Adds Peter Seiderer to the THANKS file. + +M THANKS + +commit 76bfbc2edfe7e45664a4cf7c8be4101bc8c67b9d +Author: Peter Seiderer +Date: Mon Feb 6 12:04:07 2012 -0800 + + Alters the way a libgphoto2 function is called from Shotwell to + prevent an obscure crash that happens on some distros on the AMD64 + architecture. + +M src/camera/GPhoto.vala +M vapi/libgphoto2.vapi + +commit 091a56bb476f1efb8bf01800200bdf0d1e22a400 +Author: Eric Gregory +Date: Fri Feb 3 13:21:19 2012 -0800 + + Vala 0.15.1 support. Closes #4675 + +M Makefile +M src/CheckerboardLayout.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectoryMonitor.vala +M src/LibraryFiles.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Printing.vala +M src/Resources.vala +M src/SearchFilter.vala +M src/Tombstone.vala +M src/VideoSupport.vala +M src/camera/CameraTable.vala +M src/config/Config.vala +M src/db/DatabaseTable.vala +M src/db/PhotoTable.vala +M src/editing_tools/EditingTools.vala +M src/library/LibraryWindow.vala +M src/plugins/TransitionsInterfaces.vala +M src/sidebar/Tree.vala +M src/slideshow/TransitionEffects.vala +M src/util/file.vala +M src/util/image.vala +D vapi/gdk-3.0.vapi + +commit 818cf9410bb077098f21ff3baad8b020c6107999 +Author: Bruno Girin +Date: Thu Feb 2 15:15:57 2012 -0800 + + Improves layout of the login pane in the Piwigo publishing + plugin. Closes #4679. + +M +plugins/shotwell-publishing-extras/piwigo_authentication_pane.glade + +commit 5588287d6def0f6e9d6eb011c14dc4183f821d91 +Author: Bruno Girin +Date: Thu Feb 2 15:06:38 2012 -0800 + + Fixes an error handling issue in the Piwigo publisher and improves + the Piwigo publisher's diagnostic output. Closes #4678. + +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala + +commit 92ba8a5bd0c5bcf010e88286073ba4fc4741d3af +Author: Bruno Girin +Date: Thu Feb 2 14:56:06 2012 -0800 + + Adds a SPIT-based extension point and API for importing photos from + other applications; ports the existing F-Spot importer to use this + new API. Closes #3614. + +M misc/org.yorba.shotwell.gschema.xml +A plugins/common/SqliteSupport.vala +A plugins/common/VersionNumber.vala +M plugins/plugins.mk +A plugins/shotwell-data-imports/FSpotDatabase.vala +A plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala +A plugins/shotwell-data-imports/FSpotDatabaseTable.vala +A plugins/shotwell-data-imports/FSpotImporter.vala +A plugins/shotwell-data-imports/FSpotMetaTable.vala +A plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala +A plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +A plugins/shotwell-data-imports/FSpotPhotosTable.vala +A plugins/shotwell-data-imports/FSpotRollsTable.vala +A plugins/shotwell-data-imports/FSpotTableBehavior.vala +A plugins/shotwell-data-imports/FSpotTagsTable.vala +A plugins/shotwell-data-imports/Makefile +A plugins/shotwell-data-imports/f-spot-24.png +A plugins/shotwell-data-imports/shotwell-data-imports.vala +M src/Dialogs.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +A src/data_imports/DataImportJob.vala +A src/data_imports/DataImportSource.vala +A src/data_imports/DataImports.vala +A src/data_imports/DataImportsPluginHost.vala +A src/data_imports/DataImportsUI.vala +C081 src/plugins/mk/plugins.mk +src/data_imports/mk/data_imports.mk +M src/library/LibraryWindow.vala +M src/library/mk/library.mk +M src/main.vala +A src/plugins/DataImportsInterfaces.vala +M src/plugins/mk/interfaces.mk +M src/plugins/mk/plugins.mk +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui +M units.mk + +commit 4e477819d26207b02b4d91c5b1dd37070869ecda +Author: Clint Rogers +Date: Tue Jan 31 18:03:15 2012 -0800 + + Closes #4683, makes sure both the internal value and the format + string have the same number of digits. + +M src/editing_tools/StraightenTool.vala + +commit bac49de73b41e7fb583cc53cf243332c213a6275 +Author: Clint Rogers +Date: Tue Jan 31 16:23:41 2012 -0800 + + Closes #4610, installs handlers for resize events. + +M src/Photo.vala +M src/editing_tools/StraightenTool.vala + +commit 8b80e760e8e83b59bca372f1cc6db57b8e02c1ee +Author: Clint Rogers +Date: Tue Jan 31 15:30:26 2012 -0800 + + Partially fixes #4616, improves the quality of the preview image + when the slider is released (more work is planned on this for 0.12.1). + +M src/editing_tools/StraightenTool.vala + +commit 377be2a0fa4fd7689b368f1b2bb0c508645be3ab +Author: Clint Rogers +Date: Tue Jan 31 15:19:03 2012 -0800 + + Changes 'apply' to 'OK',closes #4695. + +M src/editing_tools/StraightenTool.vala + +commit c3bbd3638557a7cefe6e27db341a3e91f281767d +Author: Clint Rogers +Date: Wed Jan 25 11:23:49 2012 -0800 + + Closes #4613, #4614 and #4615, as well as slightly improving + responsiveness of some editing tools; when preparing to work with + an image, we now precache a full-sized copy of how it looks prior to + modification, operate on a copy of that, and then scale the result, + rather than attempting a fetch every time the pipeline is run. + +M src/Photo.vala +M src/editing_tools/EditingTools.vala +M src/util/image.vala + +commit d867f19799592bf4dfb5273118f6d527054f7f83 +Author: Clint Rogers +Date: Thu Jan 19 17:12:09 2012 -0800 + + Removes the 'autocrop-on-straighten' mechanism, since it could + interfere with the crop tool. + + (This functionality will come back in a future patch, but it'll be + done as an actual crop + command, which is more like the right way of handling it.) + +M src/Photo.vala +M src/editing_tools/EditingTools.vala +M src/util/image.vala + +commit c83185625a081f31dcebb8d2feb68255c5475d56 +Author: Clint Rogers +Date: Tue Jan 17 13:34:51 2012 -0800 + + Closes #4599, closes #4597, use the raw dimensions as a starting + point when computing the after-pipeline dimensions. + +M src/Photo.vala + +commit cac6ae507447456e158a3e1398182c78f036fe96 +Author: Clint Rogers +Date: Tue Jan 17 13:06:55 2012 -0800 + + Closes #4618, moves straighten tool button to where the spec says + it should be. + +M src/PhotoPage.vala + +commit a0b06f73072b482a39d1a571d4779c7deba78651 +Author: Clint Rogers +Date: Thu Jan 12 17:17:07 2012 -0800 + + Closes #61. + +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/VideoSupport.vala +M src/editing_tools/EditingTools.vala +A src/editing_tools/StraightenTool.vala +M src/editing_tools/mk/editing_tools.mk +M src/util/image.vala + +commit e90e4112c2cab0fad36e824a7d87f26fc1cfb00b +Author: Adam Dingle +Date: Tue Jan 10 17:44:04 2012 -0800 + + Closes #4584 (update copyrights to 2012). + +M INSTALL +M README +M chkver +M configure +M debian/copyright +M help/C/Makefile +M libraw-config +M mkunit +M mkvala +M plugins/common/RESTSupport.vala +M plugins/common/Resources.vala +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M po/shotwell-core/af.po +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/shotwell.pot +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/te.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/vi.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/shotwell-extras.pot +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po +M samples/simple-plugin/README +M samples/simple-plugin/simple-plugin.vala +M src/AppDirs.vala +M src/AppWindow.vala +M src/Application.vala +M src/BatchImport.vala +M src/Box.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/CustomComponents.vala +M src/Debug.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/Exporter.vala +M src/International.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MediaDataRepresentation.vala +M src/MediaInterfaces.vala +M src/MediaMetadata.vala +M src/MediaMonitor.vala +M src/MediaPage.vala +M src/MediaViewTracker.vala +M src/MetadataWriter.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoMonitor.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Printing.vala +M src/Properties.vala +M src/Resources.vala +M src/Screensaver.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/SortedList.vala +M src/SortedListTests.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/TimedQueue.vala +M src/Tombstone.vala +M src/Upgrades.vala +M src/VideoMetadata.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/alien_db/AlienDatabase.vala +M src/alien_db/AlienDatabaseDriver.vala +M src/alien_db/AlienDatabaseEvent.vala +M src/alien_db/AlienDatabaseHandler.vala +M src/alien_db/AlienDatabaseImportDialog.vala +M src/alien_db/AlienDatabaseImportDialogController.vala +M src/alien_db/AlienDatabaseImportJob.vala +M src/alien_db/AlienDatabaseImportSource.vala +M src/alien_db/AlienDatabasePhoto.vala +M src/alien_db/AlienDatabaseTag.vala +M src/alien_db/AlienDatabaseVersion.vala +M src/alien_db/AlienDb.vala +M src/alien_db/DiscoveredAlienDatabase.vala +M src/alien_db/f_spot/AlienDb.FSpot.vala +M src/alien_db/f_spot/FSpotDatabase.vala +M src/alien_db/f_spot/FSpotDatabaseBehavior.vala +M src/alien_db/f_spot/FSpotDatabaseDriver.vala +M src/alien_db/f_spot/FSpotDatabaseEvent.vala +M src/alien_db/f_spot/FSpotDatabasePhoto.vala +M src/alien_db/f_spot/FSpotDatabaseTable.vala +M src/alien_db/f_spot/FSpotDatabaseTag.vala +M src/alien_db/f_spot/FSpotMetaTable.vala +M src/alien_db/f_spot/FSpotPhotoTagsTable.vala +M src/alien_db/f_spot/FSpotPhotoVersionsTable.vala +M src/alien_db/f_spot/FSpotPhotosTable.vala +M src/alien_db/f_spot/FSpotRollsTable.vala +M src/alien_db/f_spot/FSpotTableBehavior.vala +M src/alien_db/f_spot/FSpotTagsTable.vala +M src/camera/Branch.vala +M src/camera/Camera.vala +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +M src/camera/ImportPage.vala +M src/config/Config.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala +M src/core/Alteration.vala +M src/core/ContainerSourceCollection.vala +M src/core/Core.vala +M src/core/DataCollection.vala +M src/core/DataObject.vala +M src/core/DataSet.vala +M src/core/DataSource.vala +M src/core/DataSourceTypes.vala +M src/core/DataView.vala +M src/core/DataViewTypes.vala +M src/core/DatabaseSourceCollection.vala +M src/core/SourceCollection.vala +M src/core/SourceHoldingTank.vala +M src/core/SourceInterfaces.vala +M src/core/Tracker.vala +M src/core/ViewCollection.vala +M src/core/util.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/EventTable.vala +M src/db/FaceLocationTable.vala +M src/db/FaceTable.vala +M src/db/PhotoTable.vala +M src/db/SavedSearchDBTable.vala +M src/db/TagTable.vala +M src/db/TombstoneTable.vala +M src/db/VersionTable.vala +M src/db/VideoTable.vala +M src/direct/Direct.vala +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala +M src/direct/DirectView.vala +M src/direct/DirectWindow.vala +M src/editing_tools/EditingTools.vala +M src/events/Branch.vala +M src/events/EventDirectoryItem.vala +M src/events/EventPage.vala +M src/events/Events.vala +M src/events/EventsDirectoryPage.vala +M src/faces/Branch.vala +M src/faces/Face.vala +M src/faces/FaceLocation.vala +M src/faces/FacePage.vala +M src/faces/FaceShape.vala +M src/faces/Faces.vala +M src/library/Branch.vala +M src/library/FlaggedBranch.vala +M src/library/FlaggedPage.vala +M src/library/ImportQueueBranch.vala +M src/library/ImportQueuePage.vala +M src/library/LastImportBranch.vala +M src/library/LastImportPage.vala +M src/library/Library.vala +M src/library/LibraryWindow.vala +M src/library/OfflineBranch.vala +M src/library/OfflinePage.vala +M src/library/TrashBranch.vala +M src/library/TrashPage.vala +M src/main.vala +M src/photos/BmpSupport.vala +M src/photos/GRaw.vala +M src/photos/GdkSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoFileAdapter.vala +M src/photos/PhotoFileFormat.vala +M src/photos/PhotoFileSniffer.vala +M src/photos/PhotoMetadata.vala +M src/photos/Photos.vala +M src/photos/PngSupport.vala +M src/photos/RawSupport.vala +M src/photos/TiffSupport.vala +M src/plugins/ManifestWidget.vala +M src/plugins/Plugins.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/plugins/TransitionsInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/Publishing.vala +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala +M src/searches/Branch.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SavedSearchPage.vala +M src/searches/SearchBoolean.vala +M src/searches/Searches.vala +M src/sidebar/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Sidebar.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/slideshow/Slideshow.vala +M src/slideshow/TransitionEffects.vala +M src/tags/Branch.vala +M src/tags/HierarchicalTagIndex.vala +M src/tags/HierarchicalTagUtilities.vala +M src/tags/TagPage.vala +M src/tags/Tags.vala +M src/threads/BackgroundJob.vala +M src/threads/Semaphore.vala +M src/threads/Threads.vala +M src/threads/Workers.vala +M src/unit/Unit.vala +M src/unit/rc/Unit.m4 +M src/unit/rc/UnitInternals.m4 +M src/unit/rc/template.vala +M src/unit/rc/unitize_entry.m4 +M src/util/KeyValueMap.vala +M src/util/Util.vala +M src/util/file.vala +M src/util/image.vala +M src/util/misc.vala +M src/util/string.vala +M src/util/system.vala +M src/util/ui.vala +M thumbnailer/shotwell-video-thumbnailer.vala +M vapi/ExtendedPosix.vapi +M vapi/LConv.vapi +M vapi/gphoto.h +M vapi/libexif.vapi +M vapi/libgphoto2.vapi +M vapi/libraw.vapi + +commit a1d3971c5284f8f5f0f3a1586159d1b2e66f21f6 +Author: Clint Rogers +Date: Mon Jan 9 18:26:08 2012 -0800 + + Closes #4485, prevents us from accidentally calling deactivate_tool() + repeatedly. + +M src/PhotoPage.vala + +commit ca300c4810531622e59115d9b2f1e6ee6a9294df +Author: Clint Rogers +Date: Fri Jan 6 11:19:33 2012 -0800 + + Tarballs delivered to QA passed, releasing those at 0.11.91 unstable + and bumping version to 0.11.91+trunk. + +M Makefile + +commit d95fe7dd7fa4181b2deae012060f5a1f669405cf +Author: Eric Gregory +Date: Thu Jan 5 15:59:41 2012 -0800 + + Attempt #2 at fixing daily + +M debian/control + +commit ce17d44de155966c45f95e59cba126f4bda5afa7 +Author: Eric Gregory +Date: Thu Jan 5 15:46:40 2012 -0800 + + Changing control file in attempt to fix daily build + +M debian/control + +commit ab5f7e47db025bf671bcbd88829ab28d43e36041 +Author: Lucas Beeler +Date: Fri Dec 30 18:08:07 2011 -0800 + + Added Mihhail Afanasjev to the THANKS file for his gracious work + closing #4532. + +M THANKS + +commit 86d74906a7e684733f3e2d76b026090ea3b605dd +Author: Mihhail Afanasjev +Date: Fri Dec 30 17:56:46 2011 -0800 + + Alphabetizes the tag list appearing beneath each photo in the + checkerboard view. Closes #4532. + +M src/Tag.vala + +commit 5ef32dedd7af1f80dd2125167b130fb0e03f3b71 +Author: Clint Rogers +Date: Fri Dec 23 16:16:06 2011 -0800 + + Closes #4529, updates the required version of valac in + ./debian/control + to force Launchpad to pull in the correct version when automatically + building. + +M debian/control + +commit f7b7d82883f4ab4fb0769816891dc6413c387860 +Author: Clint Rogers +Date: Fri Dec 23 12:25:03 2011 -0800 + + Stripped trailing whitespaces, did not modify code. Pushing this to + test daily build fix. + +M src/editing_tools/EditingTools.vala + +commit 0c30749a96f37e9cc9520e8cfbe012b9a15e0fdd +Author: Clint Rogers +Date: Mon Dec 19 14:59:51 2011 -0800 + + Closes #4484, adds support for de-rotating points and makes redeye + work correctly with straightened images. + +M src/Photo.vala +M src/editing_tools/EditingTools.vala +M src/util/image.vala + +commit 5919a2bd8a19e5a05cb843f6b0401f981cafe829 +Author: Lucas Beeler +Date: Mon Dec 19 14:37:52 2011 -0800 + + Added Dan Nguyen to the THANKS file for his work on the Vietnamese + translation. + +M THANKS + +commit 46232946ccb399cccfda70d53a379f1ce378e1f6 +Author: Lucas Beeler +Date: Mon Dec 19 14:16:46 2011 -0800 + + Adds Vietnamese translations. Closes #4514. + +M Makefile +A po/shotwell-core/vi.po +A po/shotwell-extras/vi.po + +commit fb25f0aa77312ecceb77bcc83b4c4ad13b4b34aa +Author: Clint Rogers +Date: Mon Dec 19 14:11:30 2011 -0800 + + Closes #4515, allows empty tags to persist. + +M src/Tag.vala + +commit dcc952148791c5b8dd68044cb9126e2b292d5977 +Author: Clint Rogers +Date: Thu Dec 15 10:47:30 2011 -0800 + + Closes #4483 by making rotate_arb respect the original's aspect + ratio and removes some stray spaces git kept whining about. + +M src/util/image.vala + +commit 768ad32850bca7b1338c4c80dba38d593adef299 +Author: Clint Rogers +Date: Tue Dec 13 12:21:53 2011 -0800 + + Closes #4481, moves editing tools off into their own unit. + +M Makefile +M src/Commands.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/direct/DirectPhotoPage.vala +R099 src/EditingTools.vala src/editing_tools/EditingTools.vala +A src/editing_tools/mk/editing_tools.mk +M units.mk + +commit e0fddc246420ed60934e57fe265276ec0b8760ec +Author: Clint Rogers +Date: Mon Dec 12 11:59:33 2011 -0800 + + Proposed patch would close #4469 by working around a binding problem + and changing a single GLib call from a deprecated function to an + allowed one. + +M Makefile +M src/Properties.vala +A vapi/gdk-3.0.vapi + +commit 2eba121848cd1b106aac14ed57ba5c577e6c8d2d +Author: Clint Rogers +Date: Tue Dec 6 18:38:05 2011 -0800 + + Closes #4461, removes an assertion we don't need anymore from + TimedQueue(). + +M src/TimedQueue.vala + +commit fab9a6156608f0d6d23ad3c2d3b2ea4494026907 +Author: Clint Rogers +Date: Tue Dec 6 13:00:57 2011 -0800 + + Closes #4467, now builds cleanly with Vala 0.14.1. + +M Makefile +M src/CustomComponents.vala + +commit b61125da9b0fdcc05807c0245953436e5ae36d78 +Author: Clint Rogers +Date: Fri Dec 2 14:37:18 2011 -0800 + + Closes #4432, fixes the case where the app would try to skip out on + copying an exported file at an inappropriate time. + +M src/CollectionPage.vala +M src/DesktopIntegration.vala +M src/Exporter.vala +M src/Page.vala +M src/VideoSupport.vala + +commit c0973ba84e6e9547527dbdb004d8a61c57f718c9 +Author: Clint Rogers +Date: Thu Dec 1 11:26:10 2011 -0800 + + Added '+trunk' to version number. + +M Makefile + +commit ef031cdca0bb17c0eb995e0ebdecfed673c2dd43 +Author: Clint Rogers +Date: Wed Nov 30 19:06:46 2011 -0800 + + Closes #4463, fixes a problem where two .vapi files from the vapi/ + directory would get left out when running 'make dist'. + +M Makefile + +commit 0ad504979775b8ab3421f3d6cfa634dde490e0a2 +Author: Clint Rogers +Date: Wed Nov 30 17:50:37 2011 -0800 + + Closes #4366, prevents us from attempting to discard an + already-discarded widget. + +M src/sidebar/Tree.vala + +commit 7b2a9d2399a28f87c6754e5b7879a807dadf9d2f +Author: Clint Rogers +Date: Wed Nov 30 15:41:28 2011 -0800 + + Re-closes #4354 by adding some code to fix up an already corrupted + db and force bad photo orientations to a safe value. + +M src/db/PhotoTable.vala + +commit 82db80b777136c1afec0633a3396af41b9294f4c +Author: Clint Rogers +Date: Wed Nov 30 14:15:32 2011 -0800 + + Closes #4375, changes the suffix for modified images in the French + version to something Piwigo will accept. + +M po/shotwell-core/fr.po + +commit ee1a33c3dc70c6cf7e60f235e791b033e0c8de0a +Author: Clint Rogers +Date: Wed Nov 30 14:12:03 2011 -0800 + + Closes #4440, works around a weird problem in libgee that would + occasionally trigger the reaper at inappropriate times, causing + reparented tags to deparent and flatten themselves. + +M src/Tag.vala + +commit 56c8c41c28ba9120b3b8c78c3c1e6f265cf1b7a6 +Author: Adam Dingle +Date: Mon Nov 28 10:01:49 2011 -0800 + + Updated documentation to mention the F2 shortcut key for editing a + photo's title. + +M help/C/organize-title.page + +commit fbc2d39e775008ec0a04d48b394734ce2ac70a31 +Author: Clint Rogers +Date: Wed Nov 23 15:25:11 2011 -0800 + + Closes #4302 by adding a workaround to suppress the warning. + +M src/Dialogs.vala + +commit 0b07cabc754cbb17805eec318f1d63157891dc1b +Author: Clint Rogers +Date: Wed Nov 23 13:51:01 2011 -0800 + + Closes #4422 by saving the tag being reparented as a restore point, + waiting until the tree has been pruned, then switching back to the + restore point tag. + +M src/tags/Branch.vala + +commit 4c0b25a2f730e7cb7eb58df2f0a6977208afd539 +Author: Clint Rogers +Date: Tue Nov 22 11:00:49 2011 -0800 + + Closes #2364; saves the cursor position before trashing, and restores + it after. + +M src/MediaPage.vala + +commit cbddb51ffa0a69eece5a5d189b77e206b9597642 +Author: Clint Rogers +Date: Mon Nov 21 12:50:56 2011 -0800 + + Closes #3953 by adding the ability to create a new tag from an empty + area of the sidebar. + +M src/sidebar/Tree.vala +M src/tags/Branch.vala +M ui/sidebar_default_context.ui + +commit f348dd8711a86de5fe7f6bb7b4f72fbbd54d37cd +Author: Clint Rogers +Date: Fri Nov 18 12:45:44 2011 -0800 + + Closes #3639, prevents the app from crashing if it fails to load + a stock icon (warnings about the missing icon will appear in the + console; this is by design). + +M src/Resources.vala + +commit 1b02b7c88f50a0287ec2b8b32943ec217ffa6ef0 +Author: Clint Rogers +Date: Thu Nov 17 16:56:55 2011 -0800 + + Closes #4357 by adding a friendly message here. + +M src/camera/ImportPage.vala + +commit 867d110303027b3fabfc338c0b97060722c0e012 +Author: Clint Rogers +Date: Thu Nov 17 16:10:32 2011 -0800 + + Closes #4059 with a minor wording change. + +M src/Commands.vala + +commit 6a6360deab0a6b90c9371d066a5e287f247df1ca +Author: Clint Rogers +Date: Thu Nov 17 15:50:41 2011 -0800 + + Closes #3155 by preventing the external editor and external raw + editor menu choices from being out of range. + +M src/Dialogs.vala + +commit bbb90a1a86462cb358d63150bc5fa9939b18f3c3 +Author: Clint Rogers +Date: Thu Nov 17 12:06:39 2011 -0800 + + Closes #4344 by checking if a file has no embedded exposure date, + and if it doesn't, checking the row's exposure date against the + file's timestamp. + +M src/Photo.vala + +commit cf087489ea26ef5451f27ada34896972f69a6163 +Author: Clint Rogers +Date: Wed Nov 16 13:47:57 2011 -0800 + + Closes #4263 by temporarily disabling page switching while trashing + an image from an event from within the PhotoPage. + +M src/PhotoPage.vala +M src/library/LibraryWindow.vala + +commit 31514971f592a6c7ad0e832e854050f583b4029f +Author: Siddhesh Poyarekar +Date: Wed Nov 16 11:43:59 2011 -0800 + + Enables Shotwell to build with libraw 0.14.x. Note that as of libraw + 0.14.0, libraw is available as a shared library. At the time of this + commit, the most recent version of libraw was 0.14.3. This patch + was tested against that version. + +M src/photos/GRaw.vala +M vapi/libraw.vapi + +commit 6199368a3b913c7ecc9d4664c96fc9d58b7fa337 +Author: Jonas Bushart +Date: Tue Nov 15 15:53:39 2011 -0800 + + Improves Shotwell integration with the Unity progress bar + system. Closes #4001. + +M Makefile +M src/Dialogs.vala +A src/UnityProgressBar.vala +M src/camera/ImportPage.vala +M src/library/ImportQueuePage.vala +M src/library/LibraryWindow.vala + +commit 0f437519a88bbd54f6a674c333f4a3614bd10cf1 +Author: Clint Rogers +Date: Tue Nov 15 14:52:29 2011 -0800 + + Closes #4194 by ensuring that exported photos are properly fetched + before reimporting in direct-edit mode. + +M src/direct/DirectPhotoPage.vala + +commit 4de34b7b567973fc2c231c8b88c6691e6b443892 +Author: Lucas Beeler +Date: Mon Nov 14 18:34:13 2011 -0800 + + Ensures that the menu wrapping changes made in the last commit only + occur on systems without appmenu. + +M src/Resources.vala +M src/library/LibraryWindow.vala + +commit 43fba93b9dec9f7091d820e6e2fbeb2ec0edce3f +Author: Lucas Beeler +Date: Mon Nov 14 17:42:03 2011 -0800 + + Wraps the LibraryWindow menu bar in a fixed-size container to prevent + flickering when menu bars are swapped-in and swapped-out on page + switches. Closes #4303. + +M src/library/LibraryWindow.vala + +commit 83b9a153bf503fd7d507a3ea5c423eba717bf834 +Author: Clint Rogers +Date: Mon Nov 14 12:30:52 2011 -0800 + + Closes #3847, fixes a problem where Ctrl+Z did nothing when pressed + while an editing tool was open. + +M src/EditingTools.vala + +commit a6ab6573cad30b22e4060e56b52c88129b848e1c +Author: Clint Rogers +Date: Fri Nov 11 12:21:02 2011 -0800 + + Previous commit inadvertently added hard tabs; this commit fixes it. + +M src/Photo.vala + +commit 163bf4a114acd97734264eea7835137d804b67e1 +Author: Clint Rogers +Date: Thu Nov 10 18:37:01 2011 -0800 + + Closes #4345, #4363 and #4354. Works around a problem where class + instances passed as ref parameters would cause some methods to fail + silently and return without doing anything. + +M src/Photo.vala +M src/db/PhotoTable.vala + +commit 5dff0521cf79a111c83d1d7a912e990b0850bd7e +Author: Lucas Beeler +Date: Thu Nov 10 15:13:54 2011 -0800 + + Changes the window class of editing tool palettes to enable them to + be moved when the window manager is vanilla compiz as packaged in + FC 16. Closes #4360. + +M src/EditingTools.vala + +commit fa3c93a9ba6ee305e96354b20209cc879d20ba04 +Author: Lucas Beeler +Date: Wed Nov 9 17:16:04 2011 -0800 + + Fixes one of the most subtle bugs in Shotwell history; closes #3870. + +M src/CheckerboardLayout.vala + +commit 559f2a96e98d43f19093f2f3b89d55cf51e02ee2 +Author: Lucas Beeler +Date: Tue Nov 8 18:27:29 2011 -0800 + + The search bar is now styled correctly in Fedora Core 16. Closes + #4362. + +M src/Resources.vala + +commit ac6c777642fe9d21ca2abe39b9017b0ddbbd1f1c +Author: Clint Rogers +Date: Mon Nov 7 17:06:01 2011 -0800 + + Closes #4356 by enabling text on all progress bars. + +M src/Dialogs.vala +M src/camera/ImportPage.vala +M src/library/ImportQueuePage.vala +M src/library/LibraryWindow.vala + +commit 1728e51511476d4a5b0863cdad1a2897173b270d +Author: Lucas Beeler +Date: Mon Nov 7 16:13:47 2011 -0800 + + Updates version number and merges changes to the Makefile, NEWS file, + and debian/changelog file following the Shotwell 0.11.6 release. + +M Makefile +M NEWS +M debian/changelog + +commit 70dc7a40bc101482f949d1362964667b19293d7d +Author: Lucas Beeler +Date: Fri Nov 4 14:36:18 2011 -0700 + + Changes viewport styling in the PhotoPage. Closes #4319. + +M src/Page.vala + +commit c1f9e00accd18cbf485422aff40fcde9538bf692 +Author: Clint Rogers +Date: Wed Nov 2 19:52:42 2011 -0700 + + Closes #4244 by ensuring that the PhotoPage correctly hierarchicalizes + tags when adding them. + +M src/PhotoPage.vala + +commit f2810804ec02f22157d0067d29a76a53912e811e +Author: Lucas Beeler +Date: Tue Nov 1 15:38:10 2011 -0700 + + Adds more CSS styling to the sidebar. Fully closes #3873. + +M src/Resources.vala +M src/SearchFilter.vala + +commit b84b4f7d6bce40f08f3c6ec15847d16bd25bd5d4 +Author: Clint Rogers +Date: Mon Oct 31 13:11:11 2011 -0700 + + Closes #4307, ensures that crop and redeye menu options and hotkeys + respect minimum image size limits and match tool button state. + +M src/PhotoPage.vala +M src/direct/DirectPhotoPage.vala + +commit 97f1311d880c16090a3af2bb0ebc9cf85c6494bf +Author: Lucas Beeler +Date: Mon Oct 31 12:39:47 2011 -0700 + + Uses carefully chosen CSS that styles the search bar correctly on + both Fedora Core 15 (with Gtk+ 3.0) and Ubuntu Oneiric (with Gtk+ + 3.2). Mostly closes #3873. The outstanding problem involves the + "prelight" or "hover" state of the search bar buttons. This state + appears unresponsive to styling using either the CSS or legacy + APIs. I'll be in communication with some of the Gtk+ devs over the + next few days to see how we can force this state to by styled. + +M src/Resources.vala +M src/SearchFilter.vala + +commit 28787b7229e57c33b2ecede0abfb79a2ad509eba +Author: Clint Rogers +Date: Fri Oct 28 14:50:29 2011 -0700 + + Closes #4305 by checking for and handling the case where the array + itself is valid, but the strings within it are null. + +M src/Dialogs.vala + +commit 0a03708c59f59d6b83a2f76f8dd2eb35d83fe904 +Author: Clint Rogers +Date: Thu Oct 27 13:54:52 2011 -0700 + + Closes #4291 by ensuring that the image size is properly stored to + the backing row in direct-edit mode's in-memory DB. + +M src/Photo.vala +M src/direct/DirectPhoto.vala + +commit 4946dcb65a8888514b734594a943340b6b14c37b +Author: Clint Rogers +Date: Thu Oct 27 12:22:54 2011 -0700 + + Closes #4193 by making the widget in question get cast to a box, + rather than a vbox. + +M src/Dialogs.vala + +commit 71209d34a02fd6b975b67a27ac7ddf7a599bf64c +Author: Clint Rogers +Date: Wed Oct 26 15:21:51 2011 -0700 + + Closes #4250 by saving a copy of the metadata before writing out + the modified pixel data, which could sometimes strip it from the file. + +M src/Photo.vala +M src/direct/DirectPhotoPage.vala + +commit 3a3815d695bf74b8e12966bd68cce701dc3948cc +Author: Fryderyk Dziarmagowski +Date: Wed Oct 26 14:38:11 2011 -0700 + + Fixes plugin linkage problems on some platforms. Closes #3757. + +M THANKS +M plugins/Makefile.plugin.mk +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing/Makefile + +commit 10b22474d145a709310ae4a98ef8ae2d9d4c8720 +Author: Lucas Beeler +Date: Tue Oct 25 18:57:30 2011 -0700 + + Styles ScrolledWindow, Viewport, and other widgets with CSS to restore + the GTK+ 2 look of the checkerboard view on Oneiric; closes #4220. + +M src/Page.vala +M src/Resources.vala +M src/library/LibraryWindow.vala + +commit 5c85a9a7361ffff9fd70b7f2c9d4f5e861f2fd75 +Author: Lucas Beeler +Date: Tue Oct 25 15:51:21 2011 -0700 + + Adds utility functions and constants for manipulating GTK+ + 3 CSS-styled widgets. We'll need these moving forward since it + looks like most of our GTK+ 3.0 visual glitches will be solved + widget styling. + +M src/Resources.vala +M src/library/LibraryWindow.vala + +commit bcbb169ae456322fdbdc5e67924c1fd5ccee15ce +Author: Clint Rogers +Date: Mon Oct 24 15:19:55 2011 -0700 + + Closes #4190 by appending tag parent paths with a trailing '/'. + +M src/Tag.vala + +commit c612ff49958859f6b0177fedd78922f4147b0352 +Author: Lucas Beeler +Date: Mon Oct 24 15:15:01 2011 -0700 + + Fixes an issue with popup combo boxes in the Piwigo Connector's + publishing options pane. Closes #3750. + +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala +M +plugins/shotwell-publishing-extras/piwigo_publishing_options_pane.glade + +commit 855d98e977f9ecebb72e233182e632df5f3a7daf +Author: Eric Gregory +Date: Mon Oct 24 14:21:02 2011 -0700 + + trunk build for daily + +M debian/changelog +M debian/control + +commit 61445071db87685039b8741431da5bb4b4e1e15e +Author: Clint Rogers +Date: Fri Oct 21 18:33:31 2011 -0700 + + Closes #4274 by adding support for double-click to get out of + fullscreen when running in direct-edit mode. + +M src/direct/DirectPhotoPage.vala +M src/direct/DirectWindow.vala + +commit 197565c515800095b4396f4e23752aa14d3f9ba5 +Author: Clint Rogers +Date: Fri Oct 21 17:52:46 2011 -0700 + + Closes #4272 by applying the same style we applied to the info box + to the scrollable part of the sidebar. + +M src/library/LibraryWindow.vala + +commit aaa4c05682017a987991c3237646500feaed1542 +Author: Adam Dingle +Date: Thu Oct 20 09:33:03 2011 -0700 + + Fixed malformed changelog entries. + +M debian/changelog + +commit 20cbec49c263e16e4c06a06ec0aef6f3bfddd832 +Author: Clint Rogers +Date: Tue Oct 18 17:46:07 2011 -0700 + + Closes #3874 by setting a proper CSS style for the frame in question. + +M src/library/LibraryWindow.vala + +commit fbbd826f405a00b144b4b2ac7cf8abc861a3546f +Author: Clint Rogers +Date: Tue Oct 18 17:34:03 2011 -0700 + + Closes #4201 by changing all structs with reference members to classes + to work around a change to the way Vala handles structs passed + as arguments; + please see https://bugzilla.gnome.org/show_bug.cgi?id=661041 for + details. + +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M src/EditingTools.vala +M src/Event.vala +M src/Page.vala +M src/Photo.vala +M src/Printing.vala +M src/Tag.vala +M src/VideoSupport.vala +M src/alien_db/AlienDatabase.vala +M src/alien_db/AlienDatabaseDriver.vala +M src/alien_db/f_spot/FSpotDatabase.vala +M src/alien_db/f_spot/FSpotDatabaseDriver.vala +M src/db/EventTable.vala +M src/db/FaceLocationTable.vala +M src/db/FaceTable.vala +M src/db/PhotoTable.vala +M src/db/SavedSearchDBTable.vala +M src/db/TagTable.vala +M src/db/TombstoneTable.vala +M src/db/VideoTable.vala +M src/direct/DirectPhoto.vala +M src/faces/Face.vala +M src/photos/PhotoMetadata.vala + +commit 37ccaae291ad457ec617aa10966e196b290a7e5f +Author: Clint Rogers +Date: Tue Oct 18 17:26:09 2011 -0700 + + Closes #3871 by forcing the 'Publishing x of y' message to be visible. + +M src/publishing/PublishingUI.vala + +commit 7bdb8282f126f5cbfb8ff8c4307f1b526aee8b7d +Author: Clint Rogers +Date: Tue Oct 18 17:19:11 2011 -0700 + + Closes #4195 by clamping out-of-range pixel data to between 0 and + 255, inclusive. + +M src/ColorTransformation.vala + +commit 22fd51f56987b4e2f7a0dfafd4b1b704901f5c66 +Author: Clint Rogers +Date: Tue Oct 18 16:26:39 2011 -0700 + + Closes #4178 by setting the resizability field of this type of dialog + to 'false'. + +M src/Dialogs.vala + +commit 1a3697431791fc232c3d338c588fff3a4ae809f8 +Author: Lucas Beeler +Date: Tue Oct 18 12:10:10 2011 -0700 + + Updates NEWS, debian/changelog, and Makefile for the 0.11.5 release. + Conflicts: + + Makefile + +M Makefile +M NEWS +M debian/changelog + +commit 91093ecc4d92c908394ca0616502472b840db8ce +Author: Lucas Beeler +Date: Mon Oct 17 14:10:44 2011 -0700 + + Jim and I believe this closes #4248. We'll now solicit community + input and try to repro in-house. + +M src/BatchImport.vala +M src/alien_db/AlienDatabaseImportJob.vala + +commit 9d8fb318451680efaa275dd57d59e2aeb2616a87 +Author: Lucas Beeler +Date: Thu Oct 13 13:01:31 2011 -0700 + + Updates the NEWS, debian/changelog, and Makefile version number in + preparation for the Shotwell 0.11.4 release. + Conflicts: + + Makefile + +M Makefile +M NEWS +M debian/changelog + +commit bae9537372c32543286def1728617391aeef58e0 +Author: Clint Rogers +Date: Thu Oct 13 16:58:57 2011 -0700 + + Closes #4245 and #4252 - missing details about external editing and + incorrect UI instructions in the yelp files. + +M help/C/edit-external.page + +commit 0add739d4fd602af0a5b6ccaf10a1d6a1a600f9f +Author: Lucas Beeler +Date: Thu Oct 13 12:22:31 2011 -0700 + + Fixes two collection concurrent access issues that could cause + Shotwell to crash. Closes #4248. + +M src/tags/HierarchicalTagIndex.vala + +commit 353e07fac94ed5b6ae7e784e3caa790241ee6d8b +Author: Clint Rogers +Date: Wed Oct 12 12:25:14 2011 -0700 + + Closes #4154, adds a little space between the visibility combo box + and the existing album combobox. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit a1d6e0018a892b227ebc8fe0e523de0c60d9b647 +Author: Lucas Beeler +Date: Tue Oct 11 17:05:27 2011 -0700 + + Merges changes from the 0.11.3 release and updates the version number + to 0.11.3+trunk + +M Makefile +M NEWS +M debian/changelog + +commit 67e8a93168c1c3710fab500baddded5e8d034488 +Author: Lucas Beeler +Date: Fri Oct 7 15:06:16 2011 -0700 + + Closes #4189. + +M src/tags/Branch.vala + +commit 95878514b661b7f82ca08f344b65fe550df884b6 +Author: Lucas Beeler +Date: Fri Oct 7 13:57:32 2011 -0700 + + Closes #4172. + +M src/Dialogs.vala + +commit 91a0fa750fa827439512de39780141dc2180d09c +Author: Lucas Beeler +Date: Fri Oct 7 11:07:30 2011 -0700 + + Improves visual styling of the new, GTK+ 3-compatible histogram + component on Oneiric. + +M src/CustomComponents.vala + +commit ad51e8fec1856f8434aa0782b045f6067d897124 +Author: Lucas Beeler +Date: Thu Oct 6 18:35:07 2011 -0700 + + Restores the Adjust Palette histogram control to full functionality + under GTK+ 3. Closes #3869. + +M src/CustomComponents.vala + +commit 5d8dbe2ea100968fb3193b65417d01e6e3130287 +Author: Clint Rogers +Date: Tue Oct 4 16:38:38 2011 -0700 + + Closes #3566, saves the most-recently-chosen crop options to GSettings + when OK is clicked, then restores them and simulates a UI event + when the + crop tool is activated again. + +M misc/org.yorba.shotwell.gschema.xml +M src/EditingTools.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GSettingsEngine.vala + +commit 2c79d05989fef32799e2d1a3f77c2bbb823078cc +Author: Lucas Stephen Beeler +Date: Mon Oct 3 16:03:05 2011 -0700 + + Partially fixes #3869. + +M src/CustomComponents.vala + +commit bd0eea4804e0478a2903ae59681dd58a3f65fbfc +Author: clinton +Date: Wed Sep 28 13:16:32 2011 -0700 + + Closes #4025, removes the resize grip from all application windows. + +M src/AppWindow.vala +M src/Dialogs.vala +M src/EditingTools.vala +M src/MediaPage.vala +M src/Properties.vala +M src/Resources.vala + +commit 88e50393db07c7215e956d8909790035d92a7e01 +Author: clinton +Date: Tue Sep 27 18:57:04 2011 -0700 + + Closes #4188, removes the hybrid engine, all GConf functionality, + and dependencies on gconf2 and libgconf2-dev. + +M Makefile +M debian/control +M src/config/Config.vala +M src/config/ConfigurationInterfaces.vala +D src/config/GConfEngine.vala +M src/config/GSettingsEngine.vala +D src/config/HybridEngine.vala +M src/config/mk/config.mk +M src/libshotwell.deps +M src/main.vala + +commit 64aec6b035f73de53f2f8300a55e7aac35b7256c +Author: Jim Nelson +Date: Tue Sep 27 18:16:08 2011 -0700 + + Now builds with (and requires) Vala 0.14: Closes #3760 + + Mostly grunt-work to ensure that all delegates may be stored as + unowned refs and that all + out parameters are assigned prior to exiting the method. One binding + change (Gdk.EventAny) + makes these changes incompatible with 0.12. + +M Makefile +M debian/control +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M src/AppWindow.vala +M src/BatchImport.vala +M src/Box.vala +M src/CheckerboardLayout.vala +M src/CustomComponents.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectoryMonitor.vala +M src/EditingTools.vala +M src/Event.vala +M src/Exporter.vala +M src/MediaMetadata.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoMonitor.vala +M src/PixbufCache.vala +M src/SortedList.vala +M src/ThumbnailCache.vala +M src/TimedQueue.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/alien_db/AlienDatabaseImportDialog.vala +M src/alien_db/AlienDatabaseImportJob.vala +M src/camera/CameraTable.vala +M src/camera/GPhoto.vala +M src/camera/ImportPage.vala +M src/core/DataCollection.vala +M src/core/DataSet.vala +M src/core/DatabaseSourceCollection.vala +M src/core/SourceHoldingTank.vala +M src/core/ViewCollection.vala +M src/core/util.vala +M src/db/VersionTable.vala +M src/direct/DirectWindow.vala +M src/library/LibraryWindow.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoMetadata.vala +M src/plugins/ManifestWidget.vala +M src/plugins/Plugins.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala +M src/sidebar/Tree.vala +M src/slideshow/TransitionEffects.vala +M src/threads/BackgroundJob.vala +M src/util/misc.vala + +commit abf4f3c2c8c28b446d4677e5c8936f9a5418d7e9 +Author: Jim Nelson +Date: Fri Sep 23 15:58:57 2011 -0700 + + Port to GTK+3: #3455 + + This enables Shotwell to build and run under GTK+3. Note there are + many outstanding bugs + caused by this move; they will be dealt with in separate commits. + +M Makefile +M plugins/Makefile.plugin.mk +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M +plugins/shotwell-publishing-extras/piwigo_publishing_options_pane.glade +M plugins/shotwell-publishing-extras/yandex_publish_model.glade +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M src/AppWindow.vala +M src/CheckerboardLayout.vala +M src/CustomComponents.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/EditingTools.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Printing.vala +M src/Properties.vala +M src/Resources.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/camera/ImportPage.vala +M src/faces/FaceShape.vala +M src/library/LibraryWindow.vala +M src/libshotwell.deps +M src/main.vala +M src/plugins/mk/interfaces.mk +M src/publishing/PublishingUI.vala +M src/searches/SavedSearchDialog.vala +M src/sidebar/Tree.vala +M src/slideshow/TransitionEffects.vala +M src/util/image.vala +M src/util/ui.vala +M ui/shotwell.glade +A vapi/unique-3.0.deps +A vapi/unique-3.0.vapi +A vapi/webkitgtk-3.0.deps +A vapi/webkitgtk-3.0.vapi + +commit 367e2a8280ff307ad915ec95b947721462124f25 +Author: Clint Rogers +Date: Thu Sep 22 11:45:57 2011 -0700 + + Fixes #4148, changed "RAW + JPEG" to read "RAW+JPEG" in user-facing + strings. + +M src/Properties.vala +M src/camera/ImportPage.vala + +commit e7bb57070bc10379be7ecff692c9372ebcbaf61f +Author: Clint Rogers +Date: Wed Sep 21 16:02:09 2011 -0700 + + Fixes #4151, tells the error pane to wrap its text properly. + +M src/publishing/PublishingPluginHost.vala +M src/publishing/PublishingUI.vala + +commit 389b9f963eaad1665e462aa984558d6e8316f08e +Author: Lucas Beeler +Date: Tue Sep 20 13:32:58 2011 -0700 + + Updates the NEWS and debian/changelog for the Shotwell 0.11.2 release. + +M NEWS +M debian/changelog + +commit d9cc59b27059e21cfc7ea60d9ae7de91f5aff9df +Author: Eric Gregory +Date: Thu Sep 8 15:27:45 2011 -0700 + + 0.11.1 release + +M po/shotwell-core/af.po +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/te.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit feddf6b57e08ff8084a6ed1b2eed205db41bb6e3 +Author: Eric Gregory +Date: Tue Aug 23 15:06:40 2011 -0700 + + added max valac version, +trunk to version + +M Makefile + +commit 421c0d42367de415c00c11fc692744a879db8b72 +Author: Clint Rogers +Date: Wed Sep 21 12:41:31 2011 -0700 + + Closes #4147 by adding the appropriate Pango markup here to make + the text smaller. + +M src/camera/ImportPage.vala + +commit 626c7eae76d3b41c60066f61d797648151e855e7 +Author: Lucas Beeler +Date: Mon Sep 19 17:43:26 2011 -0700 + + Properly traps Facebook session expiration following the shift to + OAuth. Closes #4153. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 4f826ff60410aa9f873964101e0680a41e2fc526 +Author: Lucas Beeler +Date: Mon Sep 19 17:25:08 2011 -0700 + + Fixes part of #4144. + +M src/Commands.vala + +commit 1ac28f48fbd9d4a0527b9237a086b72196646a9e +Author: Lucas Beeler +Date: Mon Sep 19 16:22:47 2011 -0700 + + Inserts proper checks for root tag form. Closes #4150. + +M src/Commands.vala + +commit d7df60490185e6f5899890c35133878ae6acb90d +Author: Lucas Beeler +Date: Mon Sep 19 15:04:13 2011 -0700 + + Makes dragging a top-level tag to the "Tags" grouping a no-op. Closes + #4145. + +M src/tags/Branch.vala + +commit 6d469dc786b8efd96aac4a94410d283629b93467 +Author: Lucas Beeler +Date: Sun Sep 18 16:17:19 2011 -0700 + + Changes implementation of the ReparentTagCommand such that it now + properly handles merge operations involving top-level tags. Closes + #4127 and #4128. + +M src/Commands.vala + +commit 67afbe314e992fa1600356912e62696f544f1f9c +Author: Clint Rogers +Date: Fri Sep 16 18:49:17 2011 -0700 + + Closes #4099. The application now reaps orphaned tags automatically, + preventing them from crashing via the sidebar tree-graft assertion. + +M src/Tag.vala + +commit fc278baef4da3227c99afc287aa90c713de1ede5 +Author: Jim Nelson +Date: Fri Sep 16 18:13:48 2011 -0700 + + Crash fixed when undoing tag merge: #4129 + + When undoing a complex series of tag merges and moves, Shotwell + would regularly crash. The + reparent tag command was holding on to Tag objects during its + lifetime. Proxies would be + better, but this is problematic because we can't use a proxy as a + map key. This patch uses + the tag's path (as a string) instead of a ref to the Tag itself. + +M src/Commands.vala + +commit 966fc3abddd6f4fc1a3470d130dbd94e57a626ac +Author: Jim Nelson +Date: Fri Sep 16 16:02:30 2011 -0700 + + Soft assertions during F-Spot import of duplicates: #4126 + + I believe this could happen any time duplicates were detected + during import. This might + solve other bugs where import is not reporting the right results. + +M src/Dialogs.vala + +commit ba9de3ce8197cea19085d4ba8551361d0e865811 +Author: Jim Nelson +Date: Fri Sep 16 15:55:22 2011 -0700 + + Problems with Samsung NV10: #4117 + + Photos taken with Samsung NV10 have improper EXIF date/time format. + This patch allows for + Shotwell to interpret them. The reporter also had trouble with + video creation time. This + doesn't appear to be an issue with Shotwell, as the dates were + corrupted in the file. + However, they exposed an overflow bug, which this patch corrects + as well. + +M src/MediaMetadata.vala +M src/VideoMetadata.vala + +commit 0d00bf1160a85c9c0fc89138f977406a4f8aa482 +Author: Lucas Beeler +Date: Fri Sep 16 13:43:05 2011 -0700 + + Changes the way tag exclusion works; closes #4051. + +M src/Photo.vala +M src/alien_db/AlienDatabaseImportJob.vala + +commit 32e64e7e76b0e8f119676217c80bf9278cc3f918 +Author: Gavrilov Maksim +Date: Fri Sep 16 13:31:45 2011 -0700 + + Makefile now respects VALAC and LDFLAGS environment variables: #4123 + + Courtesy Gavrilov Maksim. + +M Makefile + +commit aec8b56eb1660b79691040d6ad5a9e5aafca6ed8 +Author: Jim Nelson +Date: Thu Sep 15 17:53:34 2011 -0700 + + Crash in progress dialog monitor: #4119 + + This has proven to be difficult to reproduce, but I believe this + patch fixes a problem where + the progress dialog might be destroyed while inside its own monitor + callback. + +M src/Dialogs.vala + +commit e05acdc89ca7e9e4b46b1a36aaf07d4df94270df +Author: Jim Nelson +Date: Thu Sep 15 17:34:18 2011 -0700 + + Nautilus send-to no longer invoked if the user cancels the operation: + #4121 + + This has been around since Nautilus send-to was added. Additionally, + this fixes the same + bug if the user cancels the operation to install multiple desktop + backgrounds. + +M src/DesktopIntegration.vala +M src/Exporter.vala + +commit 86650695c92f907c3d69425faf462e56da5c22eb +Author: Lucas Beeler +Date: Thu Sep 15 17:16:03 2011 -0700 + + Changes the way string replacement is done during tag rename and + adds enhanced safety checks. Closes #4118. + +M src/Tag.vala + +commit b3f5e049798a0be7885c5108e03ab97ba62b442d +Author: Bruno Girin +Date: Wed Sep 14 15:28:53 2011 -0700 + + Allows images to be published to Piwigo servers at several different + preset sizes. Closes #3750. + +M misc/org.yorba.shotwell-extras.gschema.xml +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala +M +plugins/shotwell-publishing-extras/piwigo_publishing_options_pane.glade + +commit 690f1e4d62686b467e9e279ce920b5d159e5a72f +Author: Lucas Beeler +Date: Wed Sep 14 12:27:10 2011 -0700 + + Corrects item count errors involving mixed media (e.g., photos + and videos) in the basic properties pane and the events directory + page. Closes #4113. + +M src/MediaDataRepresentation.vala +M src/Properties.vala + +commit 2f380a70c80b8a73c8aa908d4b88df3cf164d368 +Author: Lucas Beeler +Date: Tue Sep 13 17:21:14 2011 -0700 + + Modifies the Facebook connector significantly to use OAuth for + authentication. This definitively closes #4107 and #4018 and I'm + highly confident it closes #3022 as well. + +M misc/org.yorba.shotwell.gschema.xml +M plugins/shotwell-publishing/FacebookPublishing.vala +M src/plugins/PublishingInterfaces.vala +M src/publishing/PublishingUI.vala + +commit 65711da21a66f3cad2a98080ce0c380790f9faed +Author: Jim Nelson +Date: Tue Sep 13 17:19:23 2011 -0700 + + Double-clicking an event in the Events or a Year directory now moves + cursor: #4114 + + If the event being jumped to wasn't visible in the sidebar tree, + the cursor would not move + when jumping to a particular event. It turns out the tree needs to + be expanded to show the + sidebar entry prior to moving the cursor. + +M src/sidebar/Tree.vala + +commit 55f54e6c1a9274e252160a094673f3a144b114b0 +Author: Lucas Beeler +Date: Mon Sep 12 17:43:05 2011 -0700 + + Relaxes a guard condition allowing F-Spot tags to be more aggressively + sanitized. Closes #4081. + +M src/alien_db/AlienDatabaseImportJob.vala + +commit 6adebcd0bdf0389679263e2872cdb70317e7f37d +Author: Clint Rogers +Date: Fri Sep 9 14:27:52 2011 -0700 + + Closes #4108, makes sure we sanitize path components before adding + them. + +M src/alien_db/AlienDatabaseImportJob.vala + +commit d3d74334c540d156a8ba1d9783bbfdef04f0bafc +Author: Clint Rogers +Date: Fri Sep 9 12:33:27 2011 -0700 + + Closes #4030 by removing some checks whether we needed to re-sort + or not that could break in unexpected ways. + +M src/MediaPage.vala + +commit b180588faa2fb1b268de3f88bef0727b87fb5928 +Author: Eric Gregory +Date: Thu Sep 8 15:33:49 2011 -0700 + + pulling changes from 0.11.1 + +M Makefile +M NEWS +M debian/changelog + +commit 600c11f446fc00b19c3342b8fe322ac0f45e1ddf +Author: Lucas Beeler +Date: Thu Sep 8 11:50:08 2011 -0700 + + Adds updated Chinese (Taiwan) and Ukrainian translations. + +M po/shotwell-core/uk.po +M po/shotwell-core/zh_TW.po + +commit 3bb4adaca2cbce53e67431a86051bcff69f7dc90 +Author: Lucas Beeler +Date: Thu Sep 8 11:12:05 2011 -0700 + + Removes an extraneous string in the POT file. Closes #4082. + +M po/shotwell-core/shotwell.pot + +commit 906a5bcd821daabbb5ae32ebdd8c4f3ff94a62a2 +Author: Jim Nelson +Date: Wed Sep 7 18:44:07 2011 -0700 + + Exclude installation of gsettings-data-convert file: #4102 + + A configure option now allows the user to avoid installing the + gsettings-data-convert file + (shotwell.convert). This is useful because the file must be + installed in + /usr/share/GConf/gsettings (and not /usr/local) for the program to + locate it, which is a + problem for folks who want to install as a user and not root. + + Also cleaned up the configure script help, which was still reflecting + options no longer + available. + +M Makefile +M configure + +commit 6108a19b7ee27ae1198ba48dedc062540c050b4a +Author: clinton +Date: Wed Sep 7 17:16:45 2011 -0700 + + Re-closes 4061, removed the 'cannot import raw+jpeg from filesystem' + blurb. + +M help/C/import-file.page +M help/C/raw.page + +commit d5ec2d29cb29c37c1eca6ed07a34aa1b41aa059c +Author: Vincent Untz +Date: Wed Sep 7 16:53:02 2011 -0700 + + No longer need to install or compile GConf schemas. Courtesy Vincent + Untz. + +M Makefile +M THANKS +M configure +D misc/shotwell.schemas + +commit 2aca73567a01d176ba69de6222cb57590d1a1cfe +Author: Lucas Beeler +Date: Wed Sep 7 16:50:06 2011 -0700 + + Introduces enhanced tag state safety checks during import from + F-Spot. Closes #4090 and #4081. + +M src/alien_db/AlienDatabaseImportJob.vala + +commit c59cc117b1aa89fe6e71f638ef5f1aae14546ebf +Author: Lucas Beeler +Date: Wed Sep 7 16:11:36 2011 -0700 + + Solves several issues with tag duplication related to the Import + from F-Spot feature. + +M src/alien_db/AlienDatabaseImportJob.vala + +commit 92b7c0d255d37e8963b326f13f722aab3083a919 +Author: Eric Gregory +Date: Wed Sep 7 16:49:00 2011 -0700 + + 4104 fix for sidebar null pointer crash + +M src/sidebar/Tree.vala + +commit b2417d8b2482ba229a4b6cad6cb0166b007d8cd1 +Author: Eric Gregory +Date: Wed Sep 7 16:46:39 2011 -0700 + + 3977 fix from prev commit + +M src/BatchImport.vala + +commit a05506bf67b8504c1d90ee7a65aadea8852e7131 +Author: Eric Gregory +Date: Wed Sep 7 16:39:53 2011 -0700 + + 3977 import raw+jpeg pair from folder + +M src/BatchImport.vala + +commit 0d4c39f3ea77b93d43295366ede3b96edce97104 +Author: Eric Gregory +Date: Tue Sep 6 14:50:28 2011 -0700 + + 4093 photo duplicate now copies raw developments + +M src/Photo.vala +M src/db/PhotoTable.vala + +commit 036071b3db2ce6e6d55aa5057c2025feb702e448 +Author: Eric Gregory +Date: Tue Sep 6 14:48:54 2011 -0700 + + 4077 JPEG from trashed RAW+JPEG or editable is auto-imported on + startup + +M src/Photo.vala + +commit 5da85af71ee77f4d8b9223ed017ed88001769970 +Author: Lucas Beeler +Date: Tue Sep 6 12:29:15 2011 -0700 + + Fixes a plethora of metadata writing and reimport issues. Closes + #4096, #4074, #4071. Also fixes a previously unreported issue where + undoing and redoing stacks of tag drag-and-drop operations could + cause a segfault due to a missing null guard. + +M src/Commands.vala +M src/photos/PhotoMetadata.vala +M src/tags/HierarchicalTagUtilities.vala + +commit 22f8b1fdf900d0e10cbcc430b6845d13179bf40a +Merge: 2b98be9 eb47fe1 +Author: Clint Rogers +Date: Fri Sep 2 17:55:49 2011 -0700 + + Merge branch 'master' of ssh://git.yorba.org/git/shotwell + +commit eb47fe1e22781ddf3bbbd148cbe2e76440c5794c +Author: Lucas Beeler +Date: Fri Sep 2 17:52:58 2011 -0700 + + Refactors much of the HTags system so that it works properly with + the proxy system. Closes #4039. + +M src/Commands.vala +M src/Tag.vala +M src/tags/HierarchicalTagUtilities.vala + +commit 2b98be9b1b11078ef0770e5068094ba827ee1084 +Author: Clint Rogers +Date: Fri Sep 2 17:52:32 2011 -0700 + + Closes #4076, disables editing if the currently-selected item is + clicked, but reenables it if we've gotten either a 'rename' menu + choice or an f2 keypress. + +M src/sidebar/Tree.vala + +commit 00f6dbc8f09c5a6840facb39c2df5b71e4492737 +Author: Clint Rogers +Date: Fri Sep 2 12:02:26 2011 -0700 + + Closes #4061, adds info about enhanced RAW support and RAW+JPEG + handling. + +M help/C/formats.page +M help/C/import-file.page +A help/C/raw.page + +commit fe82212d67b9e0c1c9b2f7558ef5be7169cecb48 +Author: Eric Gregory +Date: Fri Sep 2 11:38:03 2011 -0700 + + 4089 Camera developed RAW images don't keep transformations between + sessions + + The images were having their developers changed by the menu + system. This is a result of the juggling between "camera" and + "embedded" RAW developers we do to make this transparent to our users. + +M src/MediaPage.vala +M src/PhotoPage.vala +M src/photos/RawSupport.vala + +commit 17aaa5660ad635bb899afe50c2091acf6a37321b +Author: Eric Gregory +Date: Thu Sep 1 17:58:17 2011 -0700 + + 4069 exported camera-developed photo has wrong crop region + +M src/Photo.vala + +commit 36170cd36ed225808f1e0c6dee5c10e6485d7b71 +Author: Jim Nelson +Date: Thu Sep 1 17:36:58 2011 -0700 + + Crasher when duplicates of paired JPEG found in XDG Pictures + directory: #4088 + + Bounds-checking problem. + +M src/PhotoMonitor.vala + +commit e49c6d75529e56a8997283de6e3a67be8aac95a4 +Author: Eric Gregory +Date: Thu Sep 1 15:20:06 2011 -0700 + + 4062 develop RAW photos on demand + +M src/BatchImport.vala +M src/Photo.vala +M src/PixbufCache.vala +M src/library/Library.vala + +commit 6a33fa8f4c62da39bad29da31098379a9b009b81 +Author: Eric Gregory +Date: Thu Sep 1 15:12:12 2011 -0700 + + 4064 transformations re-applied after undoing photo developer + +M src/Commands.vala + +commit a4f63279ae9efc7190e46a43ab60c0d8630e3163 +Author: Lucas Beeler +Date: Thu Sep 1 13:09:28 2011 -0700 + + Closes #4085. + +M src/tags/Branch.vala + +commit 05ac3bb538dd3f402c3c243204b6973d28b6a07f +Author: Jim Nelson +Date: Wed Aug 31 17:40:05 2011 -0700 + + org.yorba.shotwell.sharing.default-service not in gsettings schema: + #4073 + + Because this value wasn't in the schema, the gsettings-data-convert + program was aborting. + + This *may* fix #4072, but I can't reproduce it on my machine to + start with. This commit may + also close #4056, but more investigation is required. + +M misc/org.yorba.shotwell.gschema.xml + +commit dac7de99a51a18449d98a0637ed8f0d295e103dc +Author: Jim Nelson +Date: Wed Aug 31 17:03:23 2011 -0700 + + Undoing parent tag remove now properly undoable: #4047 + + Problem was that when a photo was detached from a Tag, that might + result in numerous + detaches from other Tags (namely, children of the parent being + removed). These need to be + stored (and proxied) in the TagUntagCommand. + + Note that I also noticed some proxy problems in DeleteTag, and I've + made some changes there + as well. + +M src/Commands.vala +M src/Tag.vala +M src/core/DataSource.vala + +commit a2081535bf8f4caef09ba9f8e3cf05b8dd30a129 +Author: Lucas Beeler +Date: Wed Aug 31 13:52:16 2011 -0700 + + Closes #4033. + +M src/Tag.vala + +commit 1a5612b6e4557c85d07439c3a0a442ab397011dc +Author: Clint Rogers +Date: Wed Aug 31 12:03:44 2011 -0700 + + Closes #3887, causes the editing host page to use the dimensions of + the photo whenever possible, preventing the unwanted scaling. + +M src/PhotoPage.vala + +commit 08756db9fe0573eb7c294124191fc58c867e2aa4 +Author: Lucas Beeler +Date: Tue Aug 30 19:20:36 2011 -0700 + + Corrects an issue in which the tag move operation (drag-and-drop) + didn't take the number of child tag attachments for a given soure + into account. Closes #4044. + +M src/Commands.vala +M src/Tag.vala + +commit 68c932d4df50c12f0044ba1787213943ac9fa66d +Author: Eric Gregory +Date: Tue Aug 30 18:32:48 2011 -0700 + + 4065 default developer set on all photos upon import + +M src/BatchImport.vala +M src/camera/ImportPage.vala + +commit 53f8e47fdb86911684e24d23ab40783baf10f11d +Author: Eric Gregory +Date: Tue Aug 30 18:28:07 2011 -0700 + + 4063 opening a raw photo in single photo mode executes an undoable + command + +M src/MediaPage.vala +M src/PhotoPage.vala + +commit 28096e56f615c1c3e8a38487c046e36cc9ae91fc +Author: Lucas Beeler +Date: Tue Aug 30 18:16:07 2011 -0700 + + Dragging a tag onto itself is now a no-op. Closes #4036. + +M src/Commands.vala +M src/tags/Branch.vala + +commit 89a41b017af098677f77ec83e940ce3d91b2ce2e +Author: Lucas Beeler +Date: Tue Aug 30 18:01:12 2011 -0700 + + Makes dragging a tag to its parent a no-op. Closes #4035. + +M src/Commands.vala +M src/tags/Branch.vala + +commit f12f7b1db6c347cf7315cea526b157f5e75d134f +Author: Lucas Beeler +Date: Tue Aug 30 17:41:30 2011 -0700 + + Disallows dragging a parent tag onto one of its children; closes + #4045. + +M src/Commands.vala + +commit eb247af89fad6c742b714a2ff50df60e45cc42d8 +Author: Lucas Beeler +Date: Tue Aug 30 16:45:18 2011 -0700 + + Makes the Tags grouping a proper drop source. Closes #4046. + +M src/sidebar/Tree.vala +M src/tags/Branch.vala + +commit 8670e10bbc8be710d8ddc9604b0bf3eacb8455bb +Author: Eric Gregory +Date: Tue Aug 30 12:22:27 2011 -0700 + + 4037 subtags and top-level tags can't have the same name + +M src/Commands.vala +M src/Tag.vala +M src/tags/Branch.vala + +commit a47ce93aff7b1a171f2918e435726bb15f3f793e +Author: Eric Gregory +Date: Tue Aug 30 12:14:20 2011 -0700 + + 4038 don't prompt when deleting empty tag + +M src/Dialogs.vala + +commit a900c2388a0211948ef8b2d8f8d103f1e253c021 +Author: Jim Nelson +Date: Mon Aug 29 19:40:36 2011 -0700 + + Moving tag in heirarchy now undoable: #4034 + + Problem was due to reparenting tag Command being executed but not + added to the + CommandManager stack. + + Note that this does not fix #4039, which Adam thought it might. + +M src/tags/Branch.vala + +commit 619818ebb71b9f85a64b4227b0e3f1bac0ba7f31 +Author: Clint Rogers +Date: Mon Aug 29 15:51:12 2011 -0700 + + Closes #4052 (text change to German) + +M po/shotwell-core/de.po + +commit 433f52f5ba7014c7720e0d936c7272a87152f1f2 +Author: Clint Rogers +Date: Wed Aug 24 12:14:24 2011 -0700 + + Fixes _part_ of 3887 by filling the entire background, rather than + just the part beneath the image. + + The unrequested resize issue will be broken out into a separate + ticket. + +M src/EditingTools.vala + +commit 3caa65a166eac7cad8920163ed47aaaadf1e0131 +Author: Eric Gregory +Date: Tue Aug 23 15:06:40 2011 -0700 + + added max valac version, +trunk to version + +M Makefile + +commit e4c3c107974dfbd6a8f9730c6d82bc868776ae81 +Author: Jonas Bushart +Date: Tue Aug 23 13:48:27 2011 -0700 + + Adds the ability for Shotwell to interoperate with the Ubuntu Unity + launcher progress bar. Closes #3992. + +M Makefile +M configure +M src/library/LibraryWindow.vala + +commit 673745271e5aaa5698da4acef1420323f728526c +Author: Eric Gregory +Date: Tue Aug 23 13:16:06 2011 -0700 + + 0.11.0 commit + +M Makefile +M NEWS +M debian/changelog + +commit 3af94b9b7537b867703b822ea4511ed6a4d1d3c4 +Author: Eric Gregory +Date: Mon Aug 22 19:57:41 2011 -0700 + + 4012 Search filter bar on import page displays photo button as + ungreyed when only RAW is present + +M src/camera/ImportPage.vala + +commit 4e81748b79bc35559f64d1755470e06c5919abb2 +Author: Lucas Beeler +Date: Mon Aug 22 19:46:39 2011 -0700 + + Fixes an issue in which the Catalan translation used an invalid + format specifier in its date format string. Closes #3943. + +M po/shotwell-core/ca.po + +commit effe08c78d7478b5b3422b04b5c6d47f42bfc92d +Author: Lucas Beeler +Date: Mon Aug 22 19:33:49 2011 -0700 + + Updates language translation files for the Shotwell Extra Plugins. All + translation files versioned at 0.11.0. + +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/shotwell-extras.pot +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit 8851d4039e0729292acb3f9a4f97493799afae9c +Author: Eric Gregory +Date: Mon Aug 22 19:12:34 2011 -0700 + + 3968 further enhancements to monitoring raw files + +M src/Photo.vala + +commit 754e46fa1254bfd84652727eb2ca60fe01ebdf90 +Author: Eric Gregory +Date: Mon Aug 22 18:35:53 2011 -0700 + + 4011 when RAW deleted, delete the +JPEG + +M src/Photo.vala + +commit 9907fd50016943b57275b6b011f075eb2c2d010d +Author: Eric Gregory +Date: Mon Aug 22 18:33:40 2011 -0700 + + 3974 indicate RAW+JPEG in basic info pane + +M src/Properties.vala + +commit 028a7e37d814205d0191ba8178948158c17e6ce4 +Author: Lucas Beeler +Date: Mon Aug 22 18:25:08 2011 -0700 + + Fixed an issue with the updated Slovenian translation that caused + msgfmt to yarf. + +M po/shotwell-core/sl.po + +commit d036170b303bd12683d19306e60d0f21219cc63c +Author: Lucas Beeler +Date: Mon Aug 22 18:17:44 2011 -0700 + + Updates all language translations for Shotwell Core. Translation + files are versioned at 0.11.0 + +C086 po/shotwell-core/shotwell.pot po/shotwell-core/af.po +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/shotwell.pot +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/te.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/sl.po + +commit e32e0e69688f96172dfe13bd75fbc7703777ec35 +Author: clinton +Date: Mon Aug 22 17:23:48 2011 -0700 + + Closes #4004, makes text more explicit about the fact that %d and + %m will produce day or month numbers with leading zeros. + +M help/C/other-files.page + +commit 34708315088f2061de103f95ae991f2a1a8f19aa +Author: Lucas Beeler +Date: Mon Aug 22 16:34:32 2011 -0700 + + Fixed an issue in which some UI files were not included in the + distribution packages produced by "make dist." + +M Makefile + +commit 340a84c9dbf4465814884b72287dafdfca2af115 +Author: Lucas Beeler +Date: Mon Aug 22 16:15:16 2011 -0700 + + Fixes an issue where some persistent publishing settings + weren't saved. In fact, before this fix was applied, none of the + shotwell-extras publishers were able to persist their settings + at all. This issue was a side-effect of our GConf to GSettings + migration. Closes #4006 and #3972. + +M misc/org.yorba.shotwell.gschema.xml +M src/config/GSettingsEngine.vala + +commit 1f871b4bdfb73a53d9442655c2fde019df62d324 +Author: Clint Rogers +Date: Mon Aug 22 14:32:06 2011 -0700 + + Closes #4009, corrects some outdated URLs in Resources.vala. + +M src/Resources.vala + +commit 03cf63e9f7f0e4eed3c64036ade1bd2454146279 +Author: Eric Gregory +Date: Mon Aug 22 13:56:42 2011 -0700 + + 3968 library monitor now works with RAW+JPEG + +M src/BatchImport.vala +M src/Photo.vala +M src/PhotoMonitor.vala + +commit 696273c45a8f8f3f0d6f8ec9fe3b320ae091ad2c +Author: Jonas Bushart +Date: Mon Aug 22 13:44:14 2011 -0700 + + Closes #3964, adds information about new features and supported + image types. + +M help/C/edit-adjustments.page +M help/C/edit-crop.page +M help/C/edit-enhance.page +M help/C/edit-external.page +M help/C/edit-nondestructive.page +M help/C/edit-redeye.page +M help/C/edit-rotate.page +M help/C/edit-time-date.page +M help/C/edit-undo.page +M help/C/formats.page +M help/C/import-camera.page +M help/C/import-f-spot.page +M help/C/import-file.page +M help/C/import-memorycard.page +M help/C/organize-event.page +M help/C/organize-flag.page +M help/C/organize-rating.page +M help/C/organize-remove.page +M help/C/organize-search.page +M help/C/organize-tag.page +M help/C/organize-title.page +M help/C/other-files.page +M help/C/other-missing.page +M help/C/other-multiple.page +M help/C/other-plugins.page +M help/C/running.page +M help/C/share-background.page +M help/C/share-export.page +M help/C/share-print.page +M help/C/share-send.page +M help/C/share-slideshow.page +M help/C/share-upload.page +M help/C/view-displaying.page +M help/C/view-information.page +M help/C/view-sidebar.page + +commit 4e08d96091b047636b5d1585c7921d06f33d1427 +Author: Jonas Bushart +Date: Mon Aug 22 12:19:21 2011 -0700 + + Changes the way sensitivity is determined for the "Export metadata" + option in the export dialog. Closes #3988. + +M src/Dialogs.vala + +commit 36431384ed296c71923a0e3046be70df1e73fbac +Author: Valentín Barros +Date: Mon Aug 22 12:09:50 2011 -0700 + + Fixes a problem in which an event sort order changed signal wasn't + being fired by the HybridConfigurationEngine. Fixes #3979. + +M src/config/HybridEngine.vala + +commit 2111b2e46324e12511143b6a1683dc71e1be3451 +Merge: 949612a 8303d2c +Author: Clint Rogers +Date: Mon Aug 22 12:08:40 2011 -0700 + + Merge branch 'master' of ssh://git.yorba.org/git/shotwell + +commit 949612a6412c217b8ad62a4a2e1c0c6fc018634b +Author: Clint Rogers +Date: Mon Aug 22 12:08:00 2011 -0700 + + Closes #3275 by inserting an 8-pixel spacer between the rightmost + edge of the zoom tool and the edge of the window. + +M src/MediaPage.vala +M src/Properties.vala +M src/Resources.vala + +commit 8303d2cbaf952203521f1de721881f0bb218cc38 +Author: Evgeniy Polyakov +Date: Mon Aug 22 12:02:18 2011 -0700 + + Fixes an issue where the Yandex.Fotki publishing plugin didn't + properly extract a session auth token. + +M plugins/shotwell-publishing-extras/YandexPublishing.vala + +commit 651aa27834150c8c737f830f96ade4289f3ad47a +Author: Clint Rogers +Date: Sun Aug 21 16:15:35 2011 -0700 + + Closes 3946 by moving the adjustment definition to before the hscale + gets created. + +M ui/set_background_dialog.glade + +commit 66bc749975d2ee1b84ea0a29390e5352043892f5 +Author: Jim Nelson +Date: Sun Aug 21 12:23:52 2011 +0200 + + RAW developer settings stored in wrong gsettings path: #3967 + + This moves the RAW developer settings from the .ui path to the .files + path in gsettings, which mimics where it was stored in GConf. + +M misc/org.yorba.shotwell.gschema.xml +M misc/shotwell.convert +M src/config/GSettingsEngine.vala + +commit 05df37d1e68f9e2f67846558d6d6f798018c64bd +Author: Lucas Beeler +Date: Sat Aug 20 17:50:11 2011 -0700 + + Closes #4005. + +M src/Tag.vala +M src/searches/SearchBoolean.vala + +commit 89d83a902fce77ab8ccd3811966003ed8f2b755d +Author: Clint Oneiric Sandbox +Date: Fri Aug 19 18:36:43 2011 -0700 + + Addresses #3921, temporarily disables the 'face' feature. + +M src/Commands.vala +M src/Dialogs.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/SearchFilter.vala +M src/db/FaceLocationTable.vala +M src/faces/Branch.vala +M src/faces/Face.vala +M src/faces/FaceLocation.vala +M src/faces/FacePage.vala +M src/faces/FaceShape.vala +M src/faces/Faces.vala +M src/library/LibraryWindow.vala +M src/main.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala +M src/util/ui.vala +M ui/photo.ui + +commit db96fa343505c4b8e0e5571102a3ea9e8dbb3bdf +Author: Bruno Girin +Date: Thu Aug 18 17:31:56 2011 -0700 + + Adds hierarchical tag support to the Import from F-Spot feature; + closes #3328. + +M src/alien_db/AlienDatabaseImportJob.vala +M src/alien_db/AlienDatabaseTag.vala +M src/alien_db/f_spot/FSpotDatabase.vala +M src/alien_db/f_spot/FSpotDatabaseTag.vala +M src/alien_db/f_spot/FSpotTagsTable.vala +M src/tags/HierarchicalTagUtilities.vala + +commit d370f7e1e1e213c149186fa22bb9e6bda8de0148 +Author: Lucas Beeler +Date: Thu Aug 18 15:57:35 2011 -0700 + + Fixes an issue where undoing an "Add Tags" operation would leave an + orphan tag in the sidebar. Closes #3947. + +M src/Commands.vala + +commit 57951cd1d510455d2abb7fbc8a74eddfb435b506 +Author: Lucas Beeler +Date: Thu Aug 18 14:06:27 2011 -0700 + + Removes a diagnostic warning that is now superfluous given the change + in the tag data model introduced with HTags. Closes #3954. + +M src/Tag.vala + +commit d4924552eebbb2fb190014b04954a0c4f1aeb3f6 +Author: clinton +Date: Thu Aug 18 14:00:49 2011 -0700 + + Closes 3999; removed debian/control.maverick as Ubuntu 10.10 is no + longer officially supported. + +D debian/control.maverick + +commit 886b037ebe68165729cd55774f71edf29b9ab5c8 +Author: clinton +Date: Thu Aug 18 12:48:07 2011 -0700 + + Removes reference to library we don't actually use in the app anymore. + +M debian/control +M debian/control.maverick +M plugins/shotwell-publishing-extras/Makefile + +commit 610ae19c0ccd241baeb3ec5efd1fdd853fdd4ea9 +Author: Lucas Beeler +Date: Wed Aug 17 16:56:18 2011 -0700 + + Fixes a critical problem where running hierarchical tags-enabled + builds of Shotwell with older libraries having tags whose named + contained slash characters caused a crash. Closes #3993. + +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/TagTable.vala + +commit 4e66683420a61e68b6719b413d2b7361d3f310e3 +Author: Eric Gregory +Date: Wed Aug 17 12:58:37 2011 -0700 + + 3966 assertion on default sidebar context menu + +M src/sidebar/Tree.vala +A ui/sidebar_default_context.ui + +commit b24548bbc8b7648fcf913ae8dc8d90e4f52e7479 +Author: Lucas Beeler +Date: Tue Aug 16 12:46:42 2011 -0700 + + Allows drag-n-drop of tags in the sidebar. Closes #3913. + +M src/Commands.vala +M src/events/Branch.vala +M src/library/FlaggedBranch.vala +M src/library/LibraryWindow.vala +M src/library/TrashBranch.vala +M src/sidebar/Entry.vala +M src/sidebar/Tree.vala +M src/tags/Branch.vala + +commit e82be9b77216f944e23c532764d44f5e0c964466 +Author: Jim Nelson +Date: Sat Aug 13 11:37:15 2011 +0200 + + Removed debug message from GConf -> gsettings conversion that was + printing at each execution. + +M src/config/GConfEngine.vala + +commit 4d039f74b7769a4dd273c6512597019e2336ee03 +Author: Jim Nelson +Date: Fri Aug 12 14:36:21 2011 +0200 + + GConf to gsettings conversion: #3785 + + This code will use gsettings-data-convert to move the user's GConf + settings to gsettings when Shotwell executes. It searches through + gsettings-data-convert's keyfile to see if Shotwell's settings have + been converted before spawning the process. + +M Makefile +A misc/org.yorba.shotwell-extras.gschema.xml +M misc/org.yorba.shotwell.gschema.xml +A misc/shotwell.convert +M src/config/GConfEngine.vala +M src/main.vala + +commit 526b579a48363ff02f1168a594961d577d8b3399 +Author: Jonas Bushart +Date: Fri Aug 12 13:39:06 2011 +0200 + + Remember "Hide photos already imported" setting: #3090 + + Persists the "hide photos already imported" checkbox on the camera + import page. Courtesy Jonas Bushart. + +M misc/org.yorba.shotwell.gschema.xml +M misc/shotwell.schemas +M src/camera/ImportPage.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GConfEngine.vala +M src/config/GSettingsEngine.vala + +commit d1845ec2bfaee952969595b893e5895e02dc7191 +Author: Eric Gregory +Date: Wed Aug 10 09:00:34 2011 -0700 + + 3880 Flickr uploads with apostrophe in title + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit cf11262ab96b9a40f39ff7486c4fe9a2284c0ec0 +Author: Lucas Beeler +Date: Wed Aug 10 05:16:59 2011 -0700 + + Eliminates serious problems manipulating HTags through the "Add Tags" + and "Modify Tags" dialog boxes. Closes 3956. + +M src/Commands.vala +M src/Dialogs.vala +M src/MediaPage.vala +M src/Resources.vala +M src/tags/HierarchicalTagIndex.vala + +commit 389fcdb2cecdb1d053798c897e9f12e9590dbb7d +Author: Eric Gregory +Date: Wed Aug 10 04:01:12 2011 -0700 + + 3671 (part 3) correction to pkg-config name of gstreamer-pbutils + +M Makefile + +commit 8729525fe62c0d429ba138360879e2d6a7db9823 +Author: Eric Gregory +Date: Wed Aug 10 02:35:31 2011 -0700 + + 3671 (part 2) fixed packaging issue related to Gst.Discoverer + +M Makefile +M debian/control + +commit bb4ed7d5029a52b3c70ecb7f0ff637097666ff03 +Author: Eric Gregory +Date: Tue Aug 9 06:52:49 2011 -0700 + + 3927 moved video re-thumbnailing to background thread in video monitor + +M src/VideoMonitor.vala + +commit f2854d7c0f5fb88fc61e950eb3acb12e76b404aa +Author: Eric Gregory +Date: Tue Aug 9 06:38:53 2011 -0700 + + 3941 added "hybrid" configuration system + +M Makefile +M configure +M src/config/Config.vala +M src/config/GConfEngine.vala +A src/config/HybridEngine.vala +M src/config/mk/config.mk + +commit f608c2d9c1afebebb731f3227302a7848815140b +Author: Eric Gregory +Date: Tue Aug 9 03:31:09 2011 -0700 + + 3671 Video date using Gst.Discoverer + + Gets a video date from GStreamer when we can't get a timestamp + ourselves + Adds new GStreamer dependency + +M Makefile +M debian/control +M src/LibraryFiles.vala +M src/VideoSupport.vala + +commit d43b4b975daee06af0d226978d30a00d3d4f16df +Author: Lucas Beeler +Date: Mon Aug 8 04:56:57 2011 -0700 + + Closes 3939. Fixes an extremely subtle database bug related to HTags. + +M src/Tag.vala +M src/core/DataSource.vala + +commit 3c5c34382f1ae39ccf2839fb45d6c23500f3c316 +Author: Eric Gregory +Date: Sun Aug 7 08:48:19 2011 -0700 + + 3931 Tags in sidebar has context menu to create a new top-level tag + +M src/Commands.vala +M src/Tag.vala +M src/searches/Branch.vala +M src/sidebar/Tree.vala +M src/tags/Branch.vala +R066 ui/sidebar_default.ui ui/search_sidebar_context.ui +A ui/tag_sidebar_context.ui + +commit 103df9f12e413306bece0f0a8bc9cc06e43e4ae1 +Author: Eric Gregory +Date: Sun Aug 7 07:02:09 2011 -0700 + + 3928 and 3929 Video thumbnail length gibberish when no codec installed + + Now it's no longer shown. Additionally, the video length is corrected + when the codec gets installed. + +M src/VideoSupport.vala + +commit f03c2ae2828fb95b370f4f9423c838c059f23e46 +Author: Eric Gregory +Date: Sun Aug 7 06:59:24 2011 -0700 + + 3907 When duplicating photo, duplicate Faces + +M src/Photo.vala + +commit 7f1110ccead2935397536ba165fc5ec791ef02bc +Author: Eric Gregory +Date: Sun Aug 7 06:49:07 2011 -0700 + + 3904 Delete RAW+JPEG pair when deleting from a camera after import. + +M src/camera/ImportPage.vala + +commit 94b7f1d8b692cdd92959cf563733cd5cbd440208 +Author: Valentín Barros +Date: Fri Aug 5 11:49:01 2011 +0200 + + Click-in-region to edit Faces is broken under Unity: #3896 + + This works around a Unity bug where the leave_notify_event is fired + when the mouse pointer is still over the region. The work around + is to verify the mouse has indeed left the window before processing. + Courtesy Valentin Barros. + +M src/EditingTools.vala +M src/util/ui.vala + +commit 8c2aaf7d04330d03a77ba1475b84745c622c6d16 +Author: Lucas Beeler +Date: Wed Aug 3 18:52:32 2011 -0700 + + Generated new POT files for the upcoming Shotwell 0.11 release. + These POT files are versioned "Shotwell-0.10.90+trunk," indicating + their anticipation of the Shotwell 0.11 release. The version number + in the Makefile has also been updated to Shotwell-0.10.90+trunk. + +M Makefile +M po/shotwell-core/shotwell.pot +M po/shotwell-extras/shotwell-extras.pot + +commit 4589998095aa22e0bb9b9f85a9ba17cc4d9e159e +Author: Lucas Beeler +Date: Tue Aug 2 19:30:42 2011 -0700 + + Implements basic hierarchical tag support. Closes #1401. + +M src/Commands.vala +M src/Dialogs.vala +M src/Photo.vala +M src/Properties.vala +M src/Resources.vala +M src/Tag.vala +M src/alien_db/AlienDatabaseImportJob.vala +M src/events/Branch.vala +M src/library/LibraryWindow.vala +M src/photos/PhotoMetadata.vala +M src/sidebar/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala +M src/tags/Branch.vala +A src/tags/HierarchicalTagIndex.vala +A src/tags/HierarchicalTagUtilities.vala +M src/tags/TagPage.vala +M src/tags/mk/tags.mk +M ui/tags.ui + +commit b6e52a2eeb2a1139e8171134b6a24e5eb1d785b8 +Author: Eric Gregory +Date: Tue Aug 2 18:08:00 2011 -0700 + + 3900 Faces support in find toolbar + +M src/SearchFilter.vala + +commit 0bb3007fe4c39ae20a5a6c9c8b357c12e6404eea +Author: Eric Gregory +Date: Tue Aug 2 15:49:22 2011 -0700 + + 3899 faces in saved search + +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit d7395b08d79d384463a43257bf663f7907fa65cb +Author: Mike Auty +Date: Mon Aug 1 19:33:42 2011 -0700 + + libraw-config not checking pkg-config correctly: #3901 + + Goof in the libraw-config script wasn't calling pkg-config correctly. + Thanks to Mike Auty + for catching and fixing this. + +M libraw-config + +commit 9373d88426be8c2985bdd048c6e707265cf50dc1 +Author: Eric Gregory +Date: Mon Aug 1 13:09:24 2011 -0700 + + 2293 re-thumbnail videos when GStreamer cookie changes + + This fix: + * Forces VideoMonitor to redo video thumbnails when the GStreamer + cookie changes + * Fixes a translatable string "todo" + * Removes an unnecessary call to Video.init() + * Provides a workaround for newly-discovered Vala bug #655594 + +M src/MediaMonitor.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/main.vala + +commit 5e0d8e0c91dd71013da7cb2ac099a3a8e60eb76b +Author: Eric Gregory +Date: Mon Aug 1 12:56:27 2011 -0700 + + Added Timo Westkämper to THANKS file + +M THANKS + +commit 11fa4e9d2af6c50dd7cb217bc541e7f8e3ab0fd9 +Author: Eric Gregory +Date: Mon Aug 1 12:50:19 2011 -0700 + + 1304 Shadows under photos. Contributed by Timo Westkämper + +M src/CheckerboardLayout.vala +M src/config/Config.vala +M src/events/EventDirectoryItem.vala + +commit 3ffdfc87cdd3a4d3c62ab2f8ec90041001e987eb +Author: Eric Gregory +Date: Fri Jul 29 18:59:25 2011 -0700 + + 3785 escape pango text in sidebar + + This escapes text in a couple important places in the sidebar. It + also escapes text in the dialogs that appear when you right-click + on certain sidebar entries and hit "delete." + +M src/Dialogs.vala +M src/sidebar/Tree.vala + +commit c792dda6ba81ae3f0b7565e035f07b740fe08dc1 +Author: Valentín Barros +Date: Fri Jul 29 14:27:48 2011 -0700 + + Implements faces/people management in Shotwell. Closes #3894. Many + THANKS to our GSoC student Valentin Barros! + +M THANKS +A icons/faces-tool.png +A icons/many-faces.png +A icons/one-face.png +M src/Commands.vala +M src/Dialogs.vala +M src/EditingTools.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +A src/db/FaceLocationTable.vala +A src/db/FaceTable.vala +M src/db/mk/db.mk +A src/faces/Branch.vala +A src/faces/Face.vala +A src/faces/FaceLocation.vala +A src/faces/FacePage.vala +A src/faces/FaceShape.vala +A src/faces/Faces.vala +C080 src/db/mk/db.mk src/faces/mk/faces.mk +M src/library/LibraryWindow.vala +M src/library/mk/library.mk +M src/main.vala +M ui/collection.ui +A ui/faces.ui +M ui/media.ui +M ui/photo.ui +M units.mk + +commit 68b09bca38304184e34c61134dd282ea578338a8 +Author: Eric Gregory +Date: Fri Jul 29 13:05:35 2011 -0700 + + 1502 deadlock in slideshow fix + + This eliminates a deadlock in BackgroundJob and moves the + next/previous controls into SinglePhotoPage along with the hacky + fix we have for when the user holds down the next/prev key. + + This does uncover two more issues, which I've filed tickets for. + 1. The hacky fix is entirely time-dependent. On a slow enough computer + it won't work. Ticket #3892 + 2. Slideshow transitions shouldn't be occurring when I use + next/prev. It should just jump to the next photo asap. Ticket #3891 + +M src/Page.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/SlideshowPage.vala +M src/threads/BackgroundJob.vala + +commit 3d33f199b659f971dbc860d36ab175e2ddb01668 +Author: Jonas Bushart +Date: Tue Jul 26 18:02:19 2011 -0700 + + Uses the plugin's service id instead of its name when storing the + last used publishing plugin to the configuration system. + Closes #3254. + +M src/publishing/PublishingUI.vala + +commit 5cde344182a8253019114ac8515a9eb28f428099 +Author: Jonas Bushart +Date: Tue Jul 26 17:17:37 2011 -0700 + + Closes #2556 + Allows metadata to be optionally stripped when photos are exported + from Shotwell. + +M THANKS +M src/CollectionPage.vala +M src/Dialogs.vala +M src/Exporter.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/publishing/APIGlue.vala + +commit d2da162b92ed56890a8288c48a549470b0d55b91 +Author: Valentin David +Date: Tue Jul 26 16:12:22 2011 -0700 + + Problems with libraw 0.13.6 and 0.13.7: #3868 + + Newer versions of libraw aren't initializing an out variable before + returning. Switching to + ref solves the problem. Courtesy Valentin David. + +M src/photos/GRaw.vala +M vapi/libraw.vapi + +commit 9612279d03613511092e39f033e63a50d5337b62 +Author: Eric Gregory +Date: Mon Jul 25 14:02:01 2011 -0700 + + 3866 fixed zoom in direct edit mode + +M src/Photo.vala +M src/db/PhotoTable.vala + +commit b161824c16e6f6bd9dc7fa34aee54557513ef426 +Author: Eric Gregory +Date: Fri Jul 22 12:21:27 2011 -0700 + + 3085 photo button in filter bar now excludes RAWs + +M src/MediaViewTracker.vala +M src/SearchFilter.vala +M src/camera/ImportPage.vala + +commit 4af327a5b6178f3b58b7dbb041b27923a0a919e5 +Author: Eric Gregory +Date: Wed Jul 20 16:53:35 2011 -0700 + + 3621 Enter key closes editing dialogs + + This adds handling for the Enter key in editing dialogs. For crop + and adjust, enter means OK. For redeye, enter is the same as close. + +M src/EditingTools.vala + +commit 94a2c11f22e66e7782b8e3a8fec7f5e889e68b1e +Author: Eric Gregory +Date: Wed Jul 20 14:35:17 2011 -0700 + + 3837 delete mimics on upgrade + + Adds a new Upgrades system + +M Makefile +M src/Photo.vala +A src/Upgrades.vala +M src/library/LibraryWindow.vala +M src/main.vala +M src/photos/PhotoFileFormat.vala +M src/photos/RawSupport.vala +M src/util/file.vala + +commit df5c1aaa72fa2028f3573cf01eddbd34f21a2a53 +Author: Eric Gregory +Date: Mon Jul 18 15:21:53 2011 -0700 + + 3842 orientation fixes for direct mode + + Fixes not one but TWO cases where photos appear rotated in direct + mode. One is a simple "stomping on values" problem, the other is + a more subtle race condition that only appears if you click fast + enough when Shotwell loads. + +M src/Photo.vala +M src/PixbufCache.vala + +commit 5a317eac52c86f7fc5a843befd7a228cd96c8468 +Author: Eric Gregory +Date: Thu Jul 14 16:23:21 2011 -0700 + + 3427 timezone correction for import folder + +M src/AppDirs.vala + +commit 705e641cc789a0d868f6d0a8892873db86b42a9f +Author: Eric Gregory +Date: Thu Jul 14 16:15:48 2011 -0700 + + 3836 Show original now works with RAW + + Previously, the Shotwell developed photo would always be shown + when pressing shift in single photo mode. Now it will display the + selected development. + +M src/Photo.vala +M src/PhotoPage.vala + +commit 371debeb6eee402db02babb0026ab5c18d68555b +Author: Eric Gregory +Date: Wed Jul 13 17:52:57 2011 -0700 + + 3838 Default RAW developer preference. + + Newly imported RAW photos are set to the developer set in the + preferences dialog. + +M misc/org.yorba.shotwell.gschema.xml +M src/BatchImport.vala +M src/Dialogs.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/camera/ImportPage.vala +M src/config/ConfigurationInterfaces.vala +M src/config/GConfEngine.vala +M src/config/GSettingsEngine.vala +M ui/shotwell.glade + +commit d7a9bd2df589b365a71beb15aa77e8e13b73bc2b +Author: Clint Rogers +Date: Wed Jul 13 13:32:52 2011 -0700 + + Adds protection against GDK errors by forcing the crop region's + boundaries to be inside the image's boundaries. + + (The crop box has to move when an image is straightened, and, + under pathological + circumstances, one or more corners could end up outside the pixbuf; + this forces the sub- + pixbuf region we get after cropping to be fully within the image.) + +M src/Photo.vala + +commit 5a3db2debb4d0f82568f92991f3599319008b986 +Author: Clint Rogers +Date: Tue Jul 12 13:16:06 2011 -0700 + + Closes 3840 by adding a range check to stop us from writing outside + the pixel array. + +M src/Photo.vala + +commit 73ea98a567fb9ac8b5d1f2ed69e27227bda3b8ba +Author: Eric Gregory +Date: Mon Jul 11 18:27:59 2011 -0700 + + 3663 Simplified tag and search sidebar context menues + + This simplifies the sidebar context menus for saved searches and tags. + But it does oh-so-much-more! It also removes a few translated strings + that were not being used, and flips the order of the two options in + the tag sidebar context menu so that Rename is before Delete to be + more consistent with other parts of Shotwell. + +M src/Commands.vala +M src/Resources.vala +M src/searches/SavedSearchPage.vala +M src/tags/TagPage.vala +M ui/tags.ui + +commit 5a95d4adc50e9ba082c3065605e0adf7c74ab3ab +Author: Eric Gregory +Date: Mon Jul 11 18:25:26 2011 -0700 + + adding valencia prefs to gitignore + +M .gitignore + +commit 5cd3ad9cfbafc21943566b93763059f0670c1a08 +Author: Eric Gregory +Date: Mon Jul 11 13:10:16 2011 -0700 + + 3730 selectable RAW developer + + This adds the ability to switch between Shotwell developed RAW images + and camera developed RAW images. It will automatically group newly + imported RAW+JPEG pairs, using the JPEG as the camera developed + image when available. + +M Makefile +M src/BatchImport.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/MediaDataRepresentation.vala +M src/MediaPage.vala +D src/MimicManager.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoMonitor.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Properties.vala +M src/ThumbnailCache.vala +M src/alien_db/AlienDatabaseImportJob.vala +M src/camera/ImportPage.vala +M src/db/DatabaseTable.vala +M src/db/Db.vala +M src/db/PhotoTable.vala +M src/library/LibraryWindow.vala +M src/photos/RawSupport.vala +M ui/media.ui +M ui/photo.ui + +commit 2ee9167ca480cb610e953d50d1123320c587238b +Author: Lucas Beeler +Date: Mon Jul 11 13:02:14 2011 -0700 + + Fixes an issue introduced by commit + e00236c79ff42b1e6cd7da627fc0c88c3cb97d55 in which Shotwell would + build with Vala 0.12.1 but not with Vala 0.12.0 + +M src/config/GConfEngine.vala + +commit e00236c79ff42b1e6cd7da627fc0c88c3cb97d55 +Author: Lucas Stephen Beeler +Date: Mon Jul 11 12:16:31 2011 -0700 + + Closes #3833. + Fixed a mismatch between null strings and empty strings in the + configuration subsystem that caused setting a custom directory path + to fail. + +M src/config/ConfigurationInterfaces.vala +M src/config/GConfEngine.vala +M src/config/GSettingsEngine.vala + +commit 23e510a354d8b56ff9a7726160db417347b42fa4 +Author: Eric Gregory +Date: Thu Jul 7 19:05:20 2011 -0700 + + 3755 crash while deleting last photo in fullscreen mode + +M src/AppWindow.vala +M src/PhotoPage.vala + +commit 0f7975db1e372b6dcc85aa2b6a69b4deb0f165ac +Author: Eric Gregory +Date: Thu Jul 7 19:03:51 2011 -0700 + + 3743 crash on startup when two events have the same name + +M src/events/Branch.vala + +commit 49da369cb1cf579ffb25da9eb87cd487425c8323 +Author: Eric Gregory +Date: Thu Jul 7 15:36:55 2011 -0700 + + 3637 fixes assertion in fullscreen mode when pressing enter + + This takes care of an assertion in full screen mode. All you have + to do to hit this is go to full screen, hit Enter and then change + to another photo (left, right, etc.) + + Why did this happen? Well the LibraryPhotoPage interprets "Escape" + and "Enter" as going back to the collection. FullscreenWindow + overrides Escape to mean leaving the full screen view; but it didn't + handle Enter. So what you were left with is a full screen view of + your photo with no LibraryPhotoPage underneath. + +M src/PhotoPage.vala + +commit 54497120c8c651a922a1cf9cc90743f68100a025 +Author: Eric Gregory +Date: Thu Jul 7 12:05:35 2011 -0700 + + 3787 segmentation fault on tags selection from sidebar + +M src/core/DataSet.vala + +commit 8332df4e2721c3b2b3e620a6ba2487e450518899 +Author: Eric Gregory +Date: Tue Jun 28 12:31:13 2011 -0700 + + 3736 direct view ordering fix + + Mirroring now respects the comparator, additionally the view type + must be set to DirectView. + +M src/PhotoPage.vala +M src/core/DataCollection.vala +M src/core/DataSet.vala +M src/core/ViewCollection.vala +M src/direct/DirectPhotoPage.vala + +commit 8ab28b0c3cad6acc0da26390bd5d3cce7e4b77b8 +Author: Evgeniy Polyakov +Date: Mon Jun 27 12:35:03 2011 -0700 + + Closes #3731. + Allows full-size uploads to Yandex.Fotki. + +M plugins/shotwell-publishing-extras/YandexPublishing.vala + +commit efe7d92b4d1a177dc29f6c3bb1f23e308c606bc1 +Merge: a30225a 86624e8 +Author: Clint Rogers +Date: Fri Jun 24 13:05:38 2011 -0700 + + Merge branch 'master' of ssh://yorba.org/git/shotwell + +commit a30225a87b3cc9ecd0943e88789cbf766d22d797 +Author: Clint Rogers +Date: Fri Jun 24 13:04:33 2011 -0700 + + 3667 - Adds ability to rotate an image by an arbitrary amount to + the pipeline. + +M src/Commands.vala +M src/Photo.vala +M src/Resources.vala +M src/core/util.vala +M src/util/image.vala + +commit 86624e84884233f4ea2909bb82c082b13e5bcd59 +Author: Eric Gregory +Date: Fri Jun 24 13:04:05 2011 -0700 + + 3529 "New Search" context menu on search branch + + ContextableEntry is refactored to Contextable so that context menus + can be added to branches. + +M src/searches/Branch.vala +M src/sidebar/Branch.vala +M src/sidebar/Entry.vala +M src/sidebar/Tree.vala +M src/sidebar/common.vala + +commit dd3b22b8934b8a5665232f621d901a468628d9cf +Author: Jani Monoses +Date: Mon Jun 20 14:12:33 2011 -0700 + + Closes #3757. + Fixes a plugin linkage problem that occurs on the Oneiric alpha. + +M plugins/Makefile.plugin.mk + +commit c9dfc513f8d26b609a53d8c1d143ed0375d69a5d +Author: Bruno Girin +Date: Mon Jun 20 14:03:22 2011 -0700 + + Closes #3758. + Excludes the compiled GSettings schema file from Git version control. + +M .gitignore + +commit 9571e8044cdee3282776f1b48814adb4eb92ef0e +Author: Lucas Beeler +Date: Fri Jun 17 16:33:50 2011 -0700 + + Fixes a minor Makefile issue introduced by the last commit. Fixes + a regression introduced by the last commit in which the desktop + background wouldn't be properly set on GNOME 3 systems. + +M Makefile +M src/config/GConfEngine.vala +M src/config/GSettingsEngine.vala + +commit 40208a6020af1d3a630769b51f6b2d71b862ae65 +Author: Lucas Beeler +Date: Fri Jun 17 16:00:53 2011 -0700 + + Closes #1958. + Enables use of either GConf or GSettings as a configuration backend. + +M Makefile +M configure +A misc/org.yorba.shotwell.gschema.xml +M src/AppDirs.vala +M src/AppWindow.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +D src/Config.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MediaDataRepresentation.vala +M src/MediaPage.vala +M src/MetadataWriter.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Printing.vala +M src/SearchFilter.vala +M src/SlideshowPage.vala +M src/VideoSupport.vala +M src/camera/ImportPage.vala +A src/config/Config.vala +A src/config/ConfigurationInterfaces.vala +A src/config/GConfEngine.vala +A src/config/GSettingsEngine.vala +A src/config/mk/config.mk +M src/direct/DirectWindow.vala +M src/events/Branch.vala +M src/events/EventPage.vala +M src/events/EventsDirectoryPage.vala +M src/library/Branch.vala +M src/library/FlaggedPage.vala +M src/library/LastImportPage.vala +M src/library/LibraryWindow.vala +M src/main.vala +M src/plugins/Plugins.vala +M src/plugins/StandardHostInterface.vala +M src/publishing/PublishingUI.vala +M src/searches/SavedSearchPage.vala +M src/tags/TagPage.vala +M units.mk + +commit 4b5feb64dac81a9d68d80b8726ff29d5f8d6da4a +Author: Bruno Girin +Date: Thu Jun 16 13:33:04 2011 -0700 + + Closes #3753. + Fixes an encoding glitch in the Piwigo publishing plugin. Thanks + Bruno! + +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala + +commit 0a9c565d7f2cedc5e880c93a7bff87124abb60b6 +Author: Bruno Girin +Date: Wed Jun 8 14:35:45 2011 -0700 + + Fixes an issue in which Glade resource files needed by the Piwigo + publishing plugin weren't properly installed. Closes #3729. + +M plugins/plugins.mk +M plugins/shotwell-publishing-extras/Makefile + +commit ce0c320a96eabcf7a6ec20386de346aa6712a075 +Author: Eric Gregory +Date: Tue Jun 7 12:19:56 2011 -0700 + + 3716 reverting 3671 + +M Makefile +M debian/control +M src/LibraryFiles.vala +M src/VideoSupport.vala + +commit ccaebfadb9285646efffc8e360a6137b37006296 +Author: Eric Gregory +Date: Mon Jun 6 18:24:15 2011 -0700 + + 3672 fixed opening raw photos in direct mode + + The format needs to be detected upfront; delaying this had unforseen + consequences. Since there's no other place in Shotwell where a + format could change after import, it makes sense just to do it in + the pre-pre-import step for direct mode. + +M src/Photo.vala + +commit 59642db1937703065edb5d65463ff914113e8f99 +Author: clinton +Date: Mon Jun 6 16:28:08 2011 -0700 + + 2154 - Add BMP support. + +A src/photos/BmpSupport.vala +M src/photos/PhotoFileFormat.vala +M src/photos/mk/photos.mk + +commit d9d917e8322e3fbf71fce7a772cef2286cf9c613 +Author: Vera Yin +Date: Fri Jun 3 12:26:49 2011 -0700 + + Corrected translations for any, all, and none. + +M po/shotwell-core/cs.po +M po/shotwell-core/es.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/ja.po +M po/shotwell-core/nb.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ru.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po + +commit d23e03ecbe25afeb4f4a9f2fcf86bc10da9b9694 +Author: Eric Gregory +Date: Thu Jun 2 15:00:55 2011 -0700 + + 3610 saved search by date + +M src/db/SavedSearchDBTable.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit 99dcfc1d175d3544f5de8b3a24fba9ffa245ed43 +Author: Vera Yin +Date: Thu Jun 2 11:43:56 2011 -0700 + + Translation updates. + +M po/shotwell-core/ja.po +M po/shotwell-core/ru.po + +commit 355d87557debd3bd096335e35b7e2e8b161a1e46 +Author: Eric Gregory +Date: Thu Jun 2 11:47:19 2011 -0700 + + 3664 changed criteria to criterion + +M help/C/organize-search.page + +commit 32bedc4e4ce34ec26f8cee65ab03c9aa8b98e2f7 +Author: Clint Rogers +Date: Thu Jun 2 11:32:34 2011 -0700 + + 3683 - Fixes artifacting that used to happen when resizing the window + while the crop tool was open + +M src/EditingTools.vala + +commit ce35d8a63953fbbd5f0b38f07c2be4f0936e56d6 +Author: Lucas Beeler +Date: Thu Jun 2 11:11:48 2011 -0700 + + Fixes an issue in which certain Makefile dependencies weren't checked + prior to building any Shotwell component. + +M Makefile + +commit 491c241c3457f0b8b803c584deec8c1eeeec1cc7 +Author: Eric Gregory +Date: Thu Jun 2 11:04:50 2011 -0700 + + 2059 refresh hide all imported filter when switching back to + camera page + +M src/camera/ImportPage.vala + +commit 31d2d1e44ca202feaecbbc4b3d5dc20f317a5613 +Author: Clint Rogers +Date: Wed Jun 1 14:39:09 2011 -0700 + + 3656 - Prevents crashing by adding protection against drawing or + sampling 0-pixel sized regions (GTK hates these). + +M src/Dimensions.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 1e561d4399c55a46f254724594410bb61114f253 +Author: Eric Gregory +Date: Wed Jun 1 13:26:30 2011 -0700 + + 3671 fall back to date provided by gstreamer for videos + + Also removes the direct calls to the GStreamer pipeline, replacing + it with Gst.Discoverer provided in pbutils + +M Makefile +M debian/control +M src/LibraryFiles.vala +M src/VideoSupport.vala + +commit e4a8ad9b4583e6fda71911c9cbb4a6f1ec7e34a4 +Author: Eric Gregory +Date: Wed Jun 1 13:01:18 2011 -0700 + + 2059 fixes for "hide already imported" on import page + + * ViewCollections can now have multiple ViewFilters. In this case, + the import page has both a search filter and a new filter that just + does hide imported. + * Filename comparisons for video and RAW photos is now case + insensitive, due to the lower-case on import feature. + +M src/Photo.vala +M src/VideoSupport.vala +M src/camera/ImportPage.vala +M src/core/ViewCollection.vala +M src/library/LibraryWindow.vala + +commit 7acd648150e0070c3c0939ee3a4d76146c63598e +Author: clinton +Date: Tue May 31 17:05:50 2011 -0700 + + 3283 - we now get the master pixbuf here instead of the current one + +M src/PhotoPage.vala + +commit 2253bb4e06900e2c213b7a975567cc1b7e1eb488 +Author: Gavrilov Maksim +Date: Tue May 31 16:19:09 2011 -0700 + + Closes #3670. + Modifies "make install" logic to make it compatible with the Gentoo + packaging system. + +M Makefile +M THANKS + +commit a0534741f49b364a0621d888ece44475f15d1d71 +Author: Wolfgang Steitz +Date: Tue May 31 16:11:04 2011 -0700 + + Fixes #2887. + Shotwell's crop tool now allows the crop reticle to pivoted regardless + of the constraint setting. + +M src/EditingTools.vala + +commit 9c024da230a9935493ed8bfcfe884ae2e9742d25 +Author: Bruno Girin +Date: Tue May 31 16:05:55 2011 -0700 + + Closes #3677. + Piwigo publisher now properly persists password between publishing + sessions. + +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala +M +plugins/shotwell-publishing-extras/piwigo_authentication_pane.glade + +commit ec0895b692584fbbba6241658c90505c18153002 +Author: Bruno Girin +Date: Tue May 31 16:02:26 2011 -0700 + + Closes #3676 + Fixes a regression in which a photo's title wasn't properly set when + publishing to a Piwigo server. + +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala + +commit 1ca5a848a66071e5d7a2e6bb47c618042d89f7e6 +Author: Bruno Girin +Date: Tue May 31 15:58:42 2011 -0700 + + Closes #3678. + Ensures Piwigo plugin doesn't attempt to create duplicate categories. + +M plugins/shotwell-publishing-extras/PiwigoPublishing.vala + +commit 852cc53a58b14d165dc0a5b62d46041dd1d8b385 +Author: Bruno Girin +Date: Tue May 31 15:25:06 2011 -0700 + + Fixes an issue in which code and a documenation comment got out of + sync, potentially confusing plugin authors. + +M src/plugins/PublishingInterfaces.vala + +commit 82c3707613e4d3756a5a57d17dc48455d97b83f6 +Author: Eric Gregory +Date: Mon May 30 19:39:36 2011 -0700 + + 3664 documented saved searches + +M help/C/organize-search.page + +commit ca594d072ea29feb6f93ae57a1c47de978f69227 +Author: Eric Gregory +Date: Mon May 30 19:33:29 2011 -0700 + + 3679 fixed crash when two or more cameras have the same name + +M src/camera/Branch.vala + +commit f04d8b921d9bb9e89cfded1bd276987bc75c27df +Author: clinton +Date: Mon May 30 18:52:41 2011 -0700 + + 3618 - makes 'x' come before 'y' when entering custom crop aspect + ratio + +M src/EditingTools.vala + +commit e4cec3dfd6ccf357f1c1b66bc338a5cbfa633f4a +Author: Eric Gregory +Date: Thu May 26 16:49:38 2011 -0700 + + 0.10.0+trunk version + +M Makefile + +commit 8d39a139b7f9fdea1dfa3dc266884528706eb6bc +Merge: 6b8e5da 80750b1 +Author: Eric Gregory +Date: Thu May 26 16:44:50 2011 -0700 + + Merge branch 'shotwell-0.10' + +commit 80750b133c1bbdcae736eab0d0793996c0296d6d +Author: Eric Gregory +Date: Thu May 26 16:31:15 2011 -0700 + + branch version (0.10.0+branch) + +M Makefile + +commit cb709d6f8c6b1993acc4e74da7913f5fef1f2f4b +Author: Eric Gregory +Date: Thu May 26 15:39:51 2011 -0700 + + shotwell 0.10 release + +M Makefile +M NEWS +M debian/changelog +M debian/control +C100 debian/control debian/control.maverick + +commit 3829a468278f57f0d66112879cc2c01490d519f1 +Author: clinton +Date: Wed May 25 13:48:04 2011 -0700 + + 3548 - Adds a sanity check query and automatic backup copying for + photo.db + +M src/db/DatabaseTable.vala +M src/main.vala + +commit 73e72089dd5aef2f2c81296509cffa8677ddc0b8 +Author: Vera Yin +Date: Wed May 25 12:42:39 2011 -0700 + + Updated translations. + +M po/shotwell-core/cs.po +M po/shotwell-core/nl.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/id.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/th.po + +commit f0312a7aec76922e3747cbab47ddd4be1d0f9077 +Author: Lucas Beeler +Date: Tue May 24 17:20:24 2011 -0700 + + Closes #3294. + Runs Shotwell core program pkg-config checks and prints useful error + messages before attempting to build Shotwell plugins. + +M Makefile + +commit 2c4164371f2c4126b4b136fce58b16dde12564bc +Author: Bruno Girin +Date: Tue May 24 16:21:35 2011 -0700 + + Closes #3203. + Ports Piwigo publishing connector to the new pluggable publishing + API introduced in Shotwell 0.9.x. + +M plugins/common/RESTSupport.vala +M plugins/plugins.mk +M plugins/shotwell-publishing-extras/Makefile +A plugins/shotwell-publishing-extras/PiwigoPublishing.vala +A plugins/shotwell-publishing-extras/piwigo.png +A +plugins/shotwell-publishing-extras/piwigo_authentication_pane.glade +A +plugins/shotwell-publishing-extras/piwigo_publishing_options_pane.glade +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala + +commit 6b8e5dae12356e94fbf9b647731f2676f9e47f70 +Author: Bruno Girin +Date: Tue May 24 16:21:35 2011 -0700 + + Closes #3203. + Ports Piwigo publishing connector to the new pluggable publishing + API introduced in Shotwell 0.9.x. + +M plugins/common/RESTSupport.vala +M plugins/plugins.mk +M plugins/shotwell-publishing-extras/Makefile +A plugins/shotwell-publishing-extras/PiwigoPublishing.vala +A plugins/shotwell-publishing-extras/piwigo.png +A +plugins/shotwell-publishing-extras/piwigo_authentication_pane.glade +A +plugins/shotwell-publishing-extras/piwigo_publishing_options_pane.glade +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala + +commit ee11e7141896106449dcf34b6efd1c1cd6e8763e +Author: Eric Gregory +Date: Tue May 24 14:47:12 2011 -0700 + + 3654 Saved Search: text box re-appears when editing "is not set" + search + +M src/searches/SavedSearchDialog.vala + +commit 1f1aa17ab05d8e6645d3a5f2e8e1a0bbabffce0a +Author: clinton +Date: Mon May 23 16:20:37 2011 -0700 + + 3466 - react to Enter as well as KP_Enter here. + +M src/EditingTools.vala + +commit 8388a134b270ea49d293e7893f95bc08cfca42ff +Author: Eric Gregory +Date: Mon May 23 16:00:33 2011 -0700 + + 3634 fixed crash on new event + + This fixes a rather subtle crash left over from the sidebar + refactoring. Creating a new event always creates an undated event, + then populates the date when the photos are added in a second + step. But the code to add undated events accidentally had swapped + the comparator (used to sort the undated events) between the parent + and child. + +M src/events/Branch.vala + +commit c7c1ef588c566fa0cf7396f340cfcfff4b8e75df +Author: Vera Yin +Date: Mon May 23 13:18:23 2011 -0700 + + Fixed errors in Slovenian translation. + +M po/shotwell-core/sl.po + +commit 7e8fb0a624a71471cd52350102a2c7d737d4ffb5 +Author: Lucas Beeler +Date: Mon May 23 13:13:19 2011 -0700 + + Fixes #3631. + Resolves a critical issue in which Shotwell could crash if publishing + was cancelled during the file serialization phase. + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M src/publishing/PublishingPluginHost.vala + +commit 0c455385978860c5297af385245b56f3bb02d95f +Author: Vera Yin +Date: Mon May 23 13:12:00 2011 -0700 + + Updated translations. + +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/te.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/id.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/th.po +M po/shotwell-extras/zh_CN.po + +commit 821ac97b73688b8adbc933ce5ccf15d44519c6c2 +Author: Vera Yin +Date: Mon May 23 11:40:37 2011 -0700 + + Added strings from ratings search to pot file. + +M po/shotwell-core/shotwell.pot +M po/shotwell-extras/shotwell-extras.pot + +commit 30a569de3babf6b67e8616e175f198b97115075a +Author: Eric Gregory +Date: Fri May 20 19:10:38 2011 -0700 + + 3633 translatable strings for rating search + +M src/searches/SavedSearchDialog.vala + +commit d7916c229c3c3768b97181d438c4db71efec4de3 +Author: Eric Gregory +Date: Fri May 20 11:36:08 2011 -0700 + + 3629 send-to with multiple users (and other multi-user /tmp bugs) + + Previously we used /tmp/shotwell for exporting temp files before + e-mailing or publishing. The problem with this is that if multiple + users are signed in to the same machine using Shotwell, only the + first user to write to /tmp/shotwell will be successful since they + own the write permissions to that folder. Rather than making the + folder world-writable, we're now using the folder /tmp/shotwell-{uid} + so each user has their own folder. + +M src/AppDirs.vala + +commit 1a9ab6970678759f66e53f1c187b49fd34a4b0a2 +Author: Clint Rogers +Date: Fri May 20 11:19:35 2011 -0700 + + 3547 - don't call export_fullsized_backing for non-lossy images, + since they don't need it. + +M src/Photo.vala + +commit afb9bb5a825e8b3e635b8aff9708ad2974eac613 +Author: Eric Gregory +Date: Thu May 19 17:22:59 2011 -0700 + + 3628 alphabetize publishing service names + +M src/publishing/PublishingUI.vala + +commit e018182b251e38618d2462efd00178c3be200600 +Author: Clint Rogers +Date: Thu May 19 15:42:56 2011 -0700 + + 3617 - prevents user from entering zero as a crop ratio divisor + or dividend + and defends against several crashes that could result from weird + custom crop ratios + +M src/Box.vala +M src/EditingTools.vala +M src/Orientation.vala + +commit 54844d17477d5d4c736f3cffdc95432733985fb0 +Author: Eric Gregory +Date: Thu May 19 15:33:05 2011 -0700 + + 3625 search filter no longer persists between sessions + +M src/Config.vala +M src/SearchFilter.vala +M src/library/LibraryWindow.vala + +commit 8edcaaa7cf068928a2e846a26df56c8926282d11 +Author: Lucas Beeler +Date: Thu May 19 15:21:57 2011 -0700 + + Closes #3421. + +M Makefile +M src/AppDirs.vala +M src/Resources.vala + +commit 20e35a41208d895a5f697345ba44154a9476b8e7 +Author: Valentín Barros +Date: Thu May 19 15:04:03 2011 -0700 + + Closes #2644. + +M src/Page.vala + +commit 760722604ac3244b1e792a6c7c69626f335dfa31 +Author: Lucas Beeler +Date: Thu May 19 14:57:07 2011 -0700 + + Correctly adds external contributor of previous commit to THANKS file. + +M THANKS + +commit 1f45bfd88f81fa0e9f16ca761bd6a732cfb97ab3 +Author: Alexandre Rosenfeld +Date: Thu May 19 14:55:41 2011 -0700 + + Closes #3007. Adds external contributor of patch (Alexandre Rosenfeld) + to THANKS file. + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit b288d44d35d1116dd3fe4cda20bd1b1bc5d63447 +Author: Valentín Barros +Date: Thu May 19 14:46:58 2011 -0700 + + Closes #2792. + +M src/Thumbnail.vala + +commit b6357e07a7e773c0142a4ae28038f0fb31a9c458 +Author: Valentín Barros +Date: Thu May 19 14:38:17 2011 -0700 + + Closes #3579. + +M src/AppWindow.vala + +commit 7ef7635e3f5afb614e86bcad8c35e17f9761523a +Author: Lucas Beeler +Date: Thu May 19 13:23:00 2011 -0700 + + Closes #3623. + +M src/publishing/PublishingUI.vala + +commit 3d646abb99f2a506b63487bc8d78d1aaaf488e7d +Merge: 8cb6c4f fbf5893 +Author: Eric Gregory +Date: Thu May 19 12:45:00 2011 -0700 + + Merge branch 'master' of ssh://yorba.org/git/shotwell + +commit fbf5893cf8e72e047a59ad5a1b2c9db5be42b323 +Author: Vera Yin +Date: Thu May 19 12:41:08 2011 -0700 + + Fixed errors in Slovenian translation. + +M po/shotwell-core/sl.po + +commit 8cb6c4fd1e8fa1d2a52676d28295a9f2fc36056e +Author: Eric Gregory +Date: Thu May 19 12:40:32 2011 -0700 + + 3576 plugins can now differentiate between the title and the filename + +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala + +commit 115e42c75245b51f27740108667c317a068d1198 +Author: Vera Yin +Date: Thu May 19 12:27:45 2011 -0700 + + Updated translations. + +M po/shotwell-core/fr.po +M po/shotwell-core/sl.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/id.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/th.po + +commit b13e3f1b5604c7bce3b5f86c60a9b5799bdd6697 +Author: Clint Rogers +Date: Thu May 19 12:08:41 2011 -0700 + + 3571 - Adds a close button for people using window managers or themes + that don't expose 'close' in the titlebar. + +M src/Properties.vala + +commit a0880783e5b15dcebf07ef05ff1e509f5ffeffc1 +Author: Lucas Beeler +Date: Wed May 18 21:18:09 2011 -0700 + + Eliminates old publishing API; closes #3387. + +M Makefile +M src/CollectionPage.vala +M src/PhotoPage.vala +D src/PiwigoConnector.vala +D src/WebConnectors.vala +M src/publishing/APIGlue.vala +M src/publishing/PublishingPluginHost.vala +A src/publishing/PublishingUI.vala +M src/publishing/mk/publishing.mk + +commit 8c21be4ca0010139779907a8e4d367c9951c60f1 +Author: Vera Yin +Date: Tue May 17 15:35:28 2011 -0700 + + Restored French translation again. + +M po/shotwell-core/fr.po + +commit 931b4ee06f1733a3e6836aa6f7baa4d03ccb8237 +Author: Eric Gregory +Date: Tue May 17 15:28:59 2011 -0700 + + 3580 facebook photo title fix + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit de6cd133d6bf230e4ad03489ff72ca1fbc54a469 +Author: Eric Gregory +Date: Tue May 17 15:10:40 2011 -0700 + + 3598 flickr upload where multiple photos have the same timestamp + + Previously we used a tree set with a timestamp comparator to sort + photos prior to uploading to Flickr. This had a flaw because multiple + photos could have the same timestamp -- and because we were using + a set, only one of those photos would be included. + + Bug originally reported at: + http://askubuntu.com/questions/42063/shotwell-refusing-to-publish-more-than-one-photo-at-a-time + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit b0d6661c9d7b9694b06408b99a89777be2391e55 +Author: Eric Gregory +Date: Tue May 17 15:03:00 2011 -0700 + + 3609 "is not set" on text searches changes + + When selecting "is not set", the user isno longer offered a text + box. More importantly, it's possible to hit OK after setting an + "is not set" search. + +M src/searches/SavedSearchDialog.vala + +commit 745542c62daf4dbdd421d62dd0f62a3adcc8373d +Author: Lucas Beeler +Date: Tue May 17 14:50:48 2011 -0700 + + Closes #3615. + +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 748c5753ac441da0125bad04f3c2bf8dbf7934ac +Author: Vera Yin +Date: Tue May 17 14:50:25 2011 -0700 + + Updated translations. + +M po/shotwell-core/ca.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/he.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/ko.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/te.po +M po/shotwell-core/uk.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/et.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/he.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/th.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_TW.po + +commit 7c2f811947b92a3591e9e3aafdba5897c3413598 +Author: Clint Rogers +Date: Tue May 17 14:31:45 2011 -0700 + + 3613 - build_alert_body_text() now correctly handles null strings. + +M src/AppWindow.vala +M src/Dialogs.vala + +commit b01fff9993a283b87dd1ad5094928cb7bbbbc22e +Author: Lucas Stephen Beeler +Date: Mon May 16 20:14:02 2011 -0700 + + Hurts Natty; closes #3606. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 74d233aeea878d1239c53bfd666a44d065c5c986 +Author: Clint Rogers +Date: Mon May 16 16:10:20 2011 -0700 + + 3600 - increased the fudge value to prevent crash when user has an + image with insane aspect ratios after cropping. + +M src/Photo.vala + +commit b86e909650d2424a659dc7d1134bbeaa293df3a7 +Author: Clint Rogers +Date: Mon May 16 15:27:30 2011 -0700 + + 3555 - rewrote the instructions on how to merge events; docs now + match what the app does. + +M help/C/organize-event.page + +commit cbad5e441a9b3f3bfd8255249335c9dfbaafe06b +Author: Eric Gregory +Date: Mon May 16 15:05:43 2011 -0700 + + 3607 synced makefile resources with ui folder + +M Makefile + +commit 85c2abc836f8f88953fd1fd3c52ff4ddcf84c115 +Author: Clint Rogers +Date: Mon May 16 12:32:32 2011 -0700 + + 3492 - we now set is_pivotable in the ConstraintDescriptions for + these to true. + +M src/EditingTools.vala + +commit 22226db0114f50b8bf084c2900a8251aba73cac5 +Author: Clint Rogers +Date: Mon May 16 12:28:26 2011 -0700 + + 3601 - fixes a problem where clicks on an already-highlighted sidebar + element were getting ignored inappropriately. + +M src/sidebar/Tree.vala + +commit bdd2194e949c8bb58682cd58b914bc2aa9bd9433 +Author: Eric Gregory +Date: Mon May 16 12:10:35 2011 -0700 + + 3542 search types are now alphabetized + +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit 8180d391596cbc748f381f84e5858ac306780122 +Author: Eric Gregory +Date: Mon May 16 11:53:56 2011 -0700 + + 3585 tag view has same sort-order as event view + +M src/tags/TagPage.vala + +commit 1fe8e5bd007812247b0b3feae16f9181b782b64b +Author: Eric Gregory +Date: Mon May 16 11:40:56 2011 -0700 + + 3591 fixes direct-edit mode + + Provides a workaround for the database file read-only check when + using an in-memory database. + +M src/db/DatabaseTable.vala +M src/db/Db.vala + +commit c68763521af73bfea30c4aa088dd7e79c1c6da1a +Author: Clint Rogers +Date: Mon May 16 11:35:20 2011 -0700 + + 3063 - fixed incorrect key combo in mallard files. + +M help/C/organize-flag.page + +commit 63e5c6c96d40d09ac1750a46928eb09448230cc7 +Author: Vera Yin +Date: Thu May 12 19:30:17 2011 -0700 + + Restored French translation, updated THANKS. + +M THANKS +M po/shotwell-core/fr.po + +commit 75d77b92c57f14237d28a86a281f0e230238889e +Author: Vera Yin +Date: Thu May 12 18:08:27 2011 -0700 + + Updated pot files after string freeze, updated translations. + +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/shotwell.pot +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/te.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/shotwell-extras.pot +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit 8c7ebebe04f2d38ca9618a83978da539844ec37e +Author: Eric Gregory +Date: Thu May 12 16:40:03 2011 -0700 + + 3562 "New saved search" option in context menu of empty sidebar area + +M src/sidebar/Tree.vala +A ui/sidebar_default.ui + +commit 5c8cbb87df1562c165c020ae310c45753352b4e2 +Merge: e70cbd0 17cc617 +Author: Clint Rogers +Date: Thu May 12 16:22:10 2011 -0700 + + Merge branch 'master' of ssh://yorba.org/git/shotwell + +commit 17cc6173103eaafffa8472117fff8a3a93eea96c +Author: Lucas Beeler +Date: Thu May 12 16:09:05 2011 -0700 + + Closes #3433. + Fixes use of ngettext in plural strings with no explicit number + present. + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/Resources.vala +M src/library/TrashPage.vala + +commit e70cbd0d727abc0f8a3fcb059ac169c2ade8ce99 +Author: Clint Rogers +Date: Thu May 12 12:06:35 2011 -0700 + + Removed a duplicate definition argument from the gcc command line. + +M Makefile + +commit 3122c5edf5a39d25ae6c0adc0e57ee0dc267956a +Author: Clint Rogers +Date: Tue May 10 13:28:45 2011 -0700 + + Put the line that launches the compiler back like I found it. + +M Makefile + +commit 29f07ae8d03883035fd529188e2333f4053153b7 +Author: Clint Rogers +Date: Tue May 10 13:15:15 2011 -0700 + + Added more testcases, wrote a proper int comparator. + +M src/SortedListTests.vala + +commit ff95ada5051cb2b1a5f8c11dcb12b21a47710c5a +Author: Clint Rogers +Date: Mon May 9 23:07:08 2011 -0700 + + Added SortedListTests.vala. + +M Makefile + +commit 51ef1fedb766b6bb92b1d177b5d1e28aff200576 +Author: Clint Rogers +Date: Mon May 9 22:48:22 2011 -0700 + + This file adds tests for SortedList. + +A src/SortedListTests.vala + +commit f071f34820e65b53fba3e108ae09233282daad3f +Author: Clint Rogers +Date: Mon May 9 22:24:40 2011 -0700 + + Adding dependency file so Valadate can find and pull in all VAPIs + needed + to correctly handle libshotwell.vapi . + +A src/libshotwell.deps + +commit d63abd9d804b74948d72cbcae380bbe1f5287893 +Author: Clint Rogers +Date: Mon May 9 21:42:49 2011 -0700 + + Don't attempt to generate libshotwell.deps anymore. + +M Makefile + +commit 48993088512e97c596fc63d30ba9a0069e95e409 +Author: Clint Rogers +Date: Mon May 9 20:32:23 2011 -0700 + + Caused 'src/libshotwell.vapi' to be ignored, since it's generated + at compile + time and should not be versioned. + +M .gitignore + +commit 40e1cfd6e9272094490784472604b20c3cd23175 +Author: Clint Rogers +Date: Mon May 9 20:30:58 2011 -0700 + + Made MetadataDateTimeError be public. + + This is needed for automatic tests that can exercise functionality + that + can throw this error. + +M src/MediaMetadata.vala + +commit fe0e2db6a011835d64fa0fa4f50125f43305179e +Author: Clint Rogers +Date: Mon May 9 20:26:42 2011 -0700 + + Altered configure and Makefile to support automatic testing. + + Running 'make check' now tests to see if the user has valadate + installed + before continuing with the build. + + Reworded help in configure to make it more concise. + +M Makefile +M configure + +commit d847941a826b481e6f49317aadaa9d70fe1cfa74 +Merge: 8932d5f 5034bcd +Author: Clint Rogers +Date: Mon May 9 11:30:30 2011 -0700 + + Merge branch 'master' of ssh://yorba.org/git/shotwell + +commit 8932d5fa28fd0ba8774cd6413ecad7354257a616 +Author: Clint Rogers +Date: Mon May 9 11:29:36 2011 -0700 + + #3403: Removed many unused strings. + Should make translation easier. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/MediaPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/direct/DirectPhotoPage.vala +M src/events/EventPage.vala +M src/events/EventsDirectoryPage.vala +M src/library/LibraryWindow.vala + +commit 5034bcd44d253a3b8dc137b3c61f0fd68e9323ee +Author: Eric Gregory +Date: Fri May 6 17:29:29 2011 -0700 + + 3577/3575 resolves crash while entering full screen on a filtered-out + item and assertion on single photo mode prev/next + +M src/PhotoPage.vala +M src/library/LibraryWindow.vala + +commit 03e68bf8b0228236f16f07041aff279651201b35 +Author: Eric Gregory +Date: Fri May 6 17:25:02 2011 -0700 + + 3539 removed mirroring order + + Previously, a mirrored collection respected the ordering of what it + was mirroring. This wasn't necessary and introduced a subtle bug + where tags and events were shown out-of-order. + +M src/core/ViewCollection.vala + +commit 53742e15922a576290c5449fab041c2fe4d81ad8 +Author: Eric Gregory +Date: Thu May 5 17:50:46 2011 -0700 + + 3557 unique name generated for saved searches + +M src/Resources.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit 4b0a6fb621390b1f851b0144fe24bd5beb53b1ff +Author: Eric Gregory +Date: Thu May 5 17:48:38 2011 -0700 + + 3515 saved search dialog disables OK button until search is valid + +M src/searches/SavedSearchDialog.vala + +commit 8e357305940c7b34093ea4c4ef28bd4e3caab369 +Author: Lucas Stephen Beeler +Date: Thu May 5 15:18:09 2011 -0700 + + Phase 8 of the translation migration. + +M Makefile +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala + +commit 0ab5cff8de47bdb6405245b7f013980b663497a0 +Author: Lucas Stephen Beeler +Date: Wed May 4 13:21:57 2011 -0700 + + Removed duplicate message keys from shotwell.pot; all POT files are + now ready. + +M po/shotwell-core/shotwell.pot + +commit 7760d5c023cc93b2ce3f9c49f1b39297783eb791 +Author: Lucas Stephen Beeler +Date: Wed May 4 13:15:14 2011 -0700 + + Phase 6 of the translation migration. + +M po/shotwell-core/shotwell.pot +M po/shotwell-extras/shotwell-extras.pot + +commit a55221a69c95efb1bb0965d6dd1c77f20cc29590 +Author: Lucas Stephen Beeler +Date: Wed May 4 12:54:11 2011 -0700 + + Phase 5 of translation migration. + +M po/shotwell-core/ar.po +M po/shotwell-core/ast.po +M po/shotwell-core/bg.po +M po/shotwell-core/bn.po +M po/shotwell-core/ca.po +M po/shotwell-core/cs.po +M po/shotwell-core/da.po +M po/shotwell-core/de.po +M po/shotwell-core/el.po +M po/shotwell-core/en_GB.po +M po/shotwell-core/es.po +M po/shotwell-core/et.po +M po/shotwell-core/eu.po +M po/shotwell-core/fi.po +M po/shotwell-core/fr.po +M po/shotwell-core/gl.po +M po/shotwell-core/he.po +M po/shotwell-core/hr.po +M po/shotwell-core/hu.po +M po/shotwell-core/id.po +M po/shotwell-core/it.po +M po/shotwell-core/ja.po +M po/shotwell-core/kk.po +M po/shotwell-core/ko.po +M po/shotwell-core/lt.po +M po/shotwell-core/lv.po +M po/shotwell-core/mk.po +M po/shotwell-core/nb.po +M po/shotwell-core/nl.po +M po/shotwell-core/pa.po +M po/shotwell-core/pl.po +M po/shotwell-core/pt.po +M po/shotwell-core/pt_BR.po +M po/shotwell-core/ro.po +M po/shotwell-core/ru.po +M po/shotwell-core/sk.po +M po/shotwell-core/sl.po +M po/shotwell-core/sr.po +M po/shotwell-core/sv.po +M po/shotwell-core/ta.po +M po/shotwell-core/te.po +M po/shotwell-core/th.po +M po/shotwell-core/tr.po +M po/shotwell-core/uk.po +M po/shotwell-core/zh_CN.po +M po/shotwell-core/zh_TW.po +M po/shotwell-extras/ar.po +M po/shotwell-extras/ast.po +M po/shotwell-extras/bg.po +M po/shotwell-extras/bn.po +M po/shotwell-extras/ca.po +M po/shotwell-extras/cs.po +M po/shotwell-extras/da.po +M po/shotwell-extras/de.po +M po/shotwell-extras/el.po +M po/shotwell-extras/en_GB.po +M po/shotwell-extras/es.po +M po/shotwell-extras/et.po +M po/shotwell-extras/eu.po +M po/shotwell-extras/fi.po +M po/shotwell-extras/fr.po +M po/shotwell-extras/gl.po +M po/shotwell-extras/he.po +M po/shotwell-extras/hr.po +M po/shotwell-extras/hu.po +M po/shotwell-extras/id.po +M po/shotwell-extras/it.po +M po/shotwell-extras/ja.po +M po/shotwell-extras/kk.po +M po/shotwell-extras/ko.po +M po/shotwell-extras/lt.po +M po/shotwell-extras/lv.po +M po/shotwell-extras/mk.po +M po/shotwell-extras/nb.po +M po/shotwell-extras/nl.po +M po/shotwell-extras/pa.po +M po/shotwell-extras/pl.po +M po/shotwell-extras/pt.po +M po/shotwell-extras/pt_BR.po +M po/shotwell-extras/ro.po +M po/shotwell-extras/ru.po +M po/shotwell-extras/sk.po +M po/shotwell-extras/sl.po +M po/shotwell-extras/sr.po +M po/shotwell-extras/sv.po +M po/shotwell-extras/ta.po +M po/shotwell-extras/te.po +M po/shotwell-extras/th.po +M po/shotwell-extras/tr.po +M po/shotwell-extras/uk.po +M po/shotwell-extras/zh_CN.po +M po/shotwell-extras/zh_TW.po + +commit ecff8fe33412d279520aa90c1181768a6cac409b +Author: Lucas Stephen Beeler +Date: Wed May 4 12:21:01 2011 -0700 + + Stage 4 of the translation migration. + +R100 po/shotwell/ar.po po/shotwell-core/ar.po +R100 po/shotwell/ast.po po/shotwell-core/ast.po +R100 po/shotwell/bg.po po/shotwell-core/bg.po +R100 po/shotwell/bn.po po/shotwell-core/bn.po +R100 po/shotwell/ca.po po/shotwell-core/ca.po +R100 po/shotwell/cs.po po/shotwell-core/cs.po +R100 po/shotwell/da.po po/shotwell-core/da.po +R100 po/shotwell/de.po po/shotwell-core/de.po +R100 po/shotwell/el.po po/shotwell-core/el.po +R100 po/shotwell/en_GB.po po/shotwell-core/en_GB.po +R100 po/shotwell/es.po po/shotwell-core/es.po +R100 po/shotwell/et.po po/shotwell-core/et.po +R100 po/shotwell/eu.po po/shotwell-core/eu.po +R100 po/shotwell/fi.po po/shotwell-core/fi.po +R100 po/shotwell/fr.po po/shotwell-core/fr.po +R100 po/shotwell/gl.po po/shotwell-core/gl.po +R100 po/shotwell/he.po po/shotwell-core/he.po +R100 po/shotwell/hr.po po/shotwell-core/hr.po +R100 po/shotwell/hu.po po/shotwell-core/hu.po +R100 po/shotwell/id.po po/shotwell-core/id.po +R100 po/shotwell/it.po po/shotwell-core/it.po +R100 po/shotwell/ja.po po/shotwell-core/ja.po +R100 po/shotwell/kk.po po/shotwell-core/kk.po +R100 po/shotwell/ko.po po/shotwell-core/ko.po +R100 po/shotwell/lt.po po/shotwell-core/lt.po +R100 po/shotwell/lv.po po/shotwell-core/lv.po +R100 po/shotwell/mk.po po/shotwell-core/mk.po +R100 po/shotwell/nb.po po/shotwell-core/nb.po +R100 po/shotwell/nl.po po/shotwell-core/nl.po +R100 po/shotwell/pa.po po/shotwell-core/pa.po +R100 po/shotwell/pl.po po/shotwell-core/pl.po +R100 po/shotwell/pt.po po/shotwell-core/pt.po +R100 po/shotwell/pt_BR.po po/shotwell-core/pt_BR.po +R100 po/shotwell/ro.po po/shotwell-core/ro.po +R100 po/shotwell/ru.po po/shotwell-core/ru.po +R100 po/shotwell/shotwell.pot po/shotwell-core/shotwell.pot +R100 po/shotwell/sk.po po/shotwell-core/sk.po +R100 po/shotwell/sl.po po/shotwell-core/sl.po +R100 po/shotwell/sr.po po/shotwell-core/sr.po +R100 po/shotwell/sv.po po/shotwell-core/sv.po +R100 po/shotwell/ta.po po/shotwell-core/ta.po +R100 po/shotwell/te.po po/shotwell-core/te.po +R100 po/shotwell/th.po po/shotwell-core/th.po +R100 po/shotwell/tr.po po/shotwell-core/tr.po +R100 po/shotwell/uk.po po/shotwell-core/uk.po +R100 po/shotwell/zh_CN.po po/shotwell-core/zh_CN.po +R100 po/shotwell/zh_TW.po po/shotwell-core/zh_TW.po + +commit 26a6e0977686f80e4cbc35ebd1f75369e1721ece +Author: Lucas Stephen Beeler +Date: Wed May 4 12:17:53 2011 -0700 + + Phase 3 of the forking of the shotwell translation namespace. + +M po/shotwell/ar.po +M po/shotwell/ast.po +M po/shotwell/bg.po +M po/shotwell/bn.po +M po/shotwell/ca.po +M po/shotwell/cs.po +M po/shotwell/da.po +M po/shotwell/de.po +M po/shotwell/el.po +M po/shotwell/en_GB.po +M po/shotwell/es.po +M po/shotwell/et.po +M po/shotwell/eu.po +M po/shotwell/fi.po +M po/shotwell/fr.po +M po/shotwell/gl.po +M po/shotwell/he.po +M po/shotwell/hr.po +M po/shotwell/hu.po +M po/shotwell/id.po +M po/shotwell/it.po +M po/shotwell/ja.po +M po/shotwell/kk.po +M po/shotwell/ko.po +M po/shotwell/lt.po +M po/shotwell/lv.po +M po/shotwell/mk.po +M po/shotwell/nb.po +M po/shotwell/nl.po +M po/shotwell/pa.po +M po/shotwell/pl.po +M po/shotwell/pt.po +M po/shotwell/pt_BR.po +M po/shotwell/ro.po +M po/shotwell/ru.po +M po/shotwell/sk.po +M po/shotwell/sl.po +M po/shotwell/sr.po +M po/shotwell/sv.po +M po/shotwell/ta.po +M po/shotwell/te.po +M po/shotwell/th.po +M po/shotwell/tr.po +M po/shotwell/uk.po +M po/shotwell/zh_CN.po +M po/shotwell/zh_TW.po + +commit f4c317a2ccf62ffeccfc4bfc8bff5db005d18c9c +Author: Lucas Stephen Beeler +Date: Tue May 3 18:45:24 2011 -0700 + + Stage 2 of previously mentioned directory hierarchy restructuring + +A po/shotwell-extras/shotwell-extras.pot +A po/shotwell/ar.po +A po/shotwell/ast.po +A po/shotwell/bg.po +A po/shotwell/bn.po +A po/shotwell/ca.po +A po/shotwell/cs.po +A po/shotwell/da.po +A po/shotwell/de.po +A po/shotwell/el.po +A po/shotwell/en_GB.po +A po/shotwell/es.po +A po/shotwell/et.po +A po/shotwell/eu.po +A po/shotwell/fi.po +A po/shotwell/fr.po +A po/shotwell/gl.po +A po/shotwell/he.po +A po/shotwell/hr.po +A po/shotwell/hu.po +A po/shotwell/id.po +A po/shotwell/it.po +A po/shotwell/ja.po +A po/shotwell/kk.po +A po/shotwell/ko.po +A po/shotwell/lt.po +A po/shotwell/lv.po +A po/shotwell/mk.po +A po/shotwell/nb.po +A po/shotwell/nl.po +A po/shotwell/pa.po +A po/shotwell/pl.po +A po/shotwell/pt.po +A po/shotwell/pt_BR.po +A po/shotwell/ro.po +A po/shotwell/ru.po +A po/shotwell/shotwell.pot +A po/shotwell/sk.po +A po/shotwell/sl.po +A po/shotwell/sr.po +A po/shotwell/sv.po +A po/shotwell/ta.po +A po/shotwell/te.po +A po/shotwell/th.po +A po/shotwell/tr.po +A po/shotwell/uk.po +A po/shotwell/zh_CN.po +A po/shotwell/zh_TW.po + +commit c084b7554fa59704454496c4430647a7df36df56 +Author: Lucas Stephen Beeler +Date: Tue May 3 18:43:06 2011 -0700 + + Restructured po/ directory hierarchy to support a separate + shotwell-extras translation domain + +D po/ar.po +D po/ast.po +D po/bg.po +D po/bn.po +D po/ca.po +D po/cs.po +D po/da.po +D po/de.po +D po/el.po +D po/en_GB.po +D po/es.po +D po/et.po +D po/eu.po +D po/fi.po +D po/fr.po +D po/gl.po +D po/he.po +D po/hr.po +D po/hu.po +D po/id.po +D po/it.po +D po/ja.po +D po/kk.po +D po/ko.po +D po/lt.po +D po/lv.po +D po/mk.po +D po/nb.po +D po/nl.po +D po/pa.po +D po/pl.po +D po/pt.po +D po/pt_BR.po +D po/ro.po +D po/ru.po +A po/shotwell-extras/ar.po +A po/shotwell-extras/ast.po +A po/shotwell-extras/bg.po +A po/shotwell-extras/bn.po +A po/shotwell-extras/ca.po +A po/shotwell-extras/cs.po +A po/shotwell-extras/da.po +A po/shotwell-extras/de.po +A po/shotwell-extras/el.po +A po/shotwell-extras/en_GB.po +A po/shotwell-extras/es.po +A po/shotwell-extras/et.po +A po/shotwell-extras/eu.po +A po/shotwell-extras/fi.po +A po/shotwell-extras/fr.po +A po/shotwell-extras/gl.po +A po/shotwell-extras/he.po +A po/shotwell-extras/hr.po +A po/shotwell-extras/hu.po +A po/shotwell-extras/id.po +A po/shotwell-extras/it.po +A po/shotwell-extras/ja.po +A po/shotwell-extras/kk.po +A po/shotwell-extras/ko.po +A po/shotwell-extras/lt.po +A po/shotwell-extras/lv.po +A po/shotwell-extras/mk.po +A po/shotwell-extras/nb.po +A po/shotwell-extras/nl.po +A po/shotwell-extras/pa.po +A po/shotwell-extras/pl.po +A po/shotwell-extras/pt.po +A po/shotwell-extras/pt_BR.po +A po/shotwell-extras/ro.po +A po/shotwell-extras/ru.po +A po/shotwell-extras/sk.po +A po/shotwell-extras/sl.po +A po/shotwell-extras/sr.po +A po/shotwell-extras/sv.po +A po/shotwell-extras/ta.po +A po/shotwell-extras/te.po +A po/shotwell-extras/th.po +A po/shotwell-extras/tr.po +A po/shotwell-extras/uk.po +A po/shotwell-extras/zh_CN.po +A po/shotwell-extras/zh_TW.po +D po/shotwell.pot +D po/sk.po +D po/sl.po +D po/sr.po +D po/sv.po +D po/ta.po +D po/te.po +D po/th.po +D po/tr.po +D po/uk.po +D po/zh_CN.po +D po/zh_TW.po + +commit e6f575bde46a19b087115470b7793aefa55a009c +Author: Clint Rogers +Date: Thu May 5 15:29:16 2011 -0700 + + This addresses #3482 by allowing more exotic crop aspect ratios. + + It also makes Box smarter by allowing it to handle invalid arguments + to its + constructor gracefully, rather than just exceptioning out. + +M src/Box.vala +M src/EditingTools.vala +M src/Photo.vala + +commit c8cd8f4ee5722b8a8f53b940206ee8e2873dd55b +Author: Clint Rogers +Date: Tue May 3 15:31:06 2011 -0700 + + This fixes #3466 by adding a handler for keypress events on KP_Enter + and connecting to it. + +M src/EditingTools.vala + +commit b676dc80e3542c56daec9d5216350e452a7ae151 +Author: Eric Gregory +Date: Mon May 2 19:12:14 2011 -0700 + + 3528 keyboard mnemonics in New Search dialog + +M ui/shotwell.glade + +commit 316657f7e4537495d0bdd1e8ba04de7204e0a86b +Author: Eric Gregory +Date: Fri Apr 29 17:45:20 2011 -0700 + + 3530 Delete key on sidebar can remove a saved search + +M src/searches/Branch.vala + +commit f1847bcb16c1b804dce5254507353fc6bd185ad1 +Author: Eric Gregory +Date: Mon May 2 18:38:56 2011 -0700 + + 3439 video thumbnailer: missing file from previous commit + +A thumbnailer/shotwell-video-thumbnailer.vala + +commit 661313b1a07d26b3784fab6fa241a737cd321580 +Author: Eric Gregory +Date: Mon May 2 18:36:07 2011 -0700 + + 3511 search editing and 3558 search criteria removed when search + deleted + +M src/Resources.vala +M src/db/SavedSearchDBTable.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SavedSearchPage.vala +M src/searches/SearchBoolean.vala +M ui/savedsearch.ui + +commit 53ce5e3b6cc69dbe83e40c2119be101569e411c0 +Author: Eric Gregory +Date: Mon May 2 18:18:34 2011 -0700 + + 2999 panic if db is read-only + +M src/db/DatabaseTable.vala + +commit 96fe5e59724bd3592add9ebcf073f6c464d77ff0 +Merge: ed6a2f1 7c4d4ee +Author: Eric Gregory +Date: Mon May 2 17:50:33 2011 -0700 + + Merge branch 'master' of ssh://yorba.org/git/shotwell + +commit ed6a2f1f486b3d400cff63f3d6a866ab6144ae95 +Author: Eric Gregory +Date: Mon May 2 17:50:09 2011 -0700 + + 3439 shotwell-video-thumbnailer replaces Totem depedency + +M .gitignore +M Makefile +M debian/control +M src/AppDirs.vala +M src/VideoSupport.vala + +commit 7c4d4ee59917dd0ef7ead3d8d93df3bcd032c2bb +Author: Vera Yin +Date: Mon May 2 17:49:49 2011 -0700 + + Translation updates. + +M THANKS +M po/ca.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/nb.po +M po/nl.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/sr.po +M po/sv.po +M po/ta.po +M po/te.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit faab91e51e412dc7bca6e07de683009108e62716 +Author: Eric Gregory +Date: Thu Apr 28 19:17:44 2011 -0700 + + 3541 Crash while adjusting ratings in single photo view + + The single photo view's parent ViewCollection no longer had the + photo after changing its rating, so it could not be selected + when switching between photos. Solved by creating a new version + of get_view_for_source() that respects view filtering (called + get_view_for_source_filtered()) + +M src/PhotoPage.vala +M src/core/ViewCollection.vala + +commit 5e27ed1fc4a4630d18aeffa22e73383b48d2a869 +Author: Lucas Beeler +Date: Wed Apr 27 16:19:25 2011 -0700 + + Fixes a crash introduced during the sidebar refactoring. Closes + #3531. Introduces additional sidebar safety checks. + +M src/sidebar/Branch.vala + +commit 6f67991eedc41a539a1d44e4697476b6d8537019 +Author: Lucas Beeler +Date: Wed Apr 27 15:08:08 2011 -0700 + + Fixes an issue where context-clicking the Trash would cause a + segfault. Closes #3507. + +M src/library/TrashBranch.vala + +commit 83be41c703c2915a921a6f67f2d89feec6e0b6b9 +Author: Eric Gregory +Date: Wed Apr 27 14:27:12 2011 -0700 + + 3527 ctrl-s shortcut + +M src/library/LibraryWindow.vala +M ui/photo.ui + +commit 6ee765e2abab61ac36afa6cb8d76224daa9e85d3 +Author: Eric Gregory +Date: Tue Apr 26 18:14:00 2011 -0700 + + 3545 simplified rating and flagged language + +M src/searches/SavedSearchDialog.vala + +commit 05e787ef12fe4cac190f73e275af4c3eda9b32c9 +Author: Eric Gregory +Date: Tue Apr 26 13:14:40 2011 -0700 + + 3551 "none" search option + +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit b807fdcb03b1e825b8f8e5f2006427e03880b2a6 +Author: Eric Gregory +Date: Tue Apr 26 13:35:01 2011 -0700 + + 3543 moved new search to edit menu + +M ui/events_directory.ui +M ui/media.ui +M ui/offline.ui +M ui/trash.ui + +commit 816f6ec60aa15a3c6a6f514b2609404cdeb490b9 +Author: Clint Rogers +Date: Tue Apr 26 13:34:58 2011 -0700 + + This fixes #3066 by adding support for the ability to change the + exposure date of a video file (in the database only, currently). + +M src/CollectionPage.vala +M src/Commands.vala +M src/Dialogs.vala +M src/MediaInterfaces.vala +M src/Photo.vala +M src/VideoSupport.vala + +commit bf6a76134ff4404e0c84c700e7c67637ec46d9c9 +Author: Lucas Beeler +Date: Tue Apr 26 13:05:51 2011 -0700 + + Removes the GNOME vfs dependency from the Makefile and debian/control + file. + +M Makefile +M debian/control + +commit 624f827c21cff6faf1d3920f0a2be0bcb689ceb1 +Author: Benedikt Sauer +Date: Tue Apr 26 12:57:36 2011 -0700 + + Enables elimination of GNOME vfs dependency. Special thanks to + Benedikt Sauer. + +M THANKS +M src/VideoSupport.vala + +commit 942b72648042d4643e8acd977f0816f2b6a5a64d +Author: Valentín Barros +Date: Thu Apr 14 22:23:06 2011 +0200 + + Fix to #2613 (event photos appear pixellated). + +M src/Photo.vala + +commit 572db9b31ace42cdab81dbedf9d2d84826ede68e +Author: Valentín Barros +Date: Tue Apr 26 12:41:15 2011 -0700 + + Fixes an issue in which menu labels failed to update when the name + of a tag was changed. Special thanks to Valentin Barros. + +M src/tags/TagPage.vala + +commit 1501a35470b79258ee2b7253a84c18814f06acd1 +Author: Lucas Beeler +Date: Tue Apr 26 12:35:13 2011 -0700 + + Added Valentín Barros to the THANKS file. + +M THANKS + +commit 7f7ec52a268eca3b7e7af57d32f88cd6bf9d991a +Author: Valentín Barros +Date: Tue Apr 26 12:25:49 2011 -0700 + + Adds tabs to and rearranges the Preferences dialog so that it fits + comfortably on netbook screens. Special thanks to Valentín Barros. + +M ui/shotwell.glade + +commit a69a2467b430fbab3db42954e9f0b16114136632 +Author: Eric Gregory +Date: Mon Apr 25 19:14:53 2011 -0700 + + 3517 boolean search by flagged and rating + +M src/Resources.vala +M src/db/SavedSearchDBTable.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit 206e7c259d4f5ed3294c1964f8e03bb5928575f6 +Author: Marcel Stimberg +Date: Mon Apr 25 19:00:02 2011 -0700 + + Fixes an issue with using internationalized characters in tags. Closes + #2612. Special thanks to Marcel Stimberg. + +M src/Dialogs.vala + +commit 2e93f617f293bb41a1021b0955b7c1effe433333 +Author: Jim Nelson +Date: Wed Mar 23 00:35:52 2011 +0000 + + #3397: If video file in a container our metadata reader doesn't + recognize and the user is copying on import, the file will not + be imported. Fixed by Tobias Rapp. + +M THANKS +M src/LibraryFiles.vala + +commit a40fbe3f987dfa74ae45d10c427b4f0668f277f5 +Author: Eric Gregory +Date: Wed Apr 20 18:31:06 2011 -0700 + + 3514 enter is the same as hitting OK in search box + +M src/searches/SavedSearchDialog.vala + +commit 4999a561b23f7b58ced5d690e34a8369e9397a78 +Author: Eric Gregory +Date: Thu Apr 21 19:00:44 2011 -0700 + + updated version numbers, news, and changelog following 0.9.3 + +M Makefile +M NEWS +M debian/changelog +M po/shotwell.pot + +commit f7e761752fa61b0afb94583c835738c86b997068 +Merge: 0e810be be61743 +Author: Lucas Beeler +Date: Thu Apr 21 13:12:00 2011 -0700 + + Merge branch 'DesktopHotfix' + +commit be61743b19467ef45a688d8ca6467b6daf492616 +Author: Lucas Beeler +Date: Thu Apr 21 12:54:17 2011 -0700 + + Preliminary fix for #3532. Will have Vera pull and verify. + +M src/Config.vala + +commit 0e810be0f45757842686af5e82ab3d332a0c7458 +Merge: 60c59ae 56da5c0 +Author: Eric Gregory +Date: Wed Apr 20 16:31:32 2011 -0700 + + Merge branch '3513' + +commit 60c59ae487372840af4b343320d5119c782cc483 +Author: Eric Gregory +Date: Wed Apr 20 12:54:20 2011 -0700 + + 3506 corrected version # + +M Makefile + +commit 81f0dffd8e372722e327cf991c1416b4e7e5827b +Author: Vera Yin +Date: Wed Apr 20 12:44:27 2011 -0700 + + Edited THANKS. + +M THANKS + +commit 91bdc9832f495a3eb1ee954c6e1f7931c3940caa +Author: Vera Yin +Date: Wed Apr 20 12:26:07 2011 -0700 + + Updated Estonian and Latvian translations. + +M po/et.po +M po/lv.po + +commit 1b7f1c654fb8479665e6f402ecd32fbd04e32ecf +Author: Adam Dingle +Date: Wed Apr 20 10:04:26 2011 -0700 + + Shortened a Russian string that was too long. Fixes #3495. + +M po/ru.po + +commit d4cd7fbd59e02403ce331eec0719756956af0cee +Merge: bad6f3d a1f2d40 +Author: Vera Yin +Date: Tue Apr 19 19:54:57 2011 -0700 + + Merge branch 'master' of yorba.org:/git/shotwell + +commit bad6f3d45d47357e9ee9dcffd1c9010b3bc0880c +Author: Vera Yin +Date: Tue Apr 19 19:54:17 2011 -0700 + + Updated import directory (year, month, day) translations. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/ta.po +M po/te.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 56da5c08f63b35fc4fff6897ed6d26dc24c89c2f +Author: Eric Gregory +Date: Tue Apr 19 16:29:55 2011 -0700 + + removed some unecessary code + +M src/searches/SavedSearchDialog.vala + +commit 9bae9f9d3f95eeaf825013ecd487f517b35b8fce +Merge: 8d3bc46 a1f2d40 +Author: Eric Gregory +Date: Tue Apr 19 16:16:51 2011 -0700 + + Merge branch 'master' into 3513 + +commit 8d3bc4652c6196be349aa19fc82d7695aca8c7b1 +Author: Eric Gregory +Date: Tue Apr 19 15:56:43 2011 -0700 + + saved search: by media type + +M src/db/SavedSearchDBTable.vala +M src/searches/SavedSearchDialog.vala +M src/searches/SearchBoolean.vala + +commit a1f2d40675e42108d84024d89a39f8e1d4587859 +Author: Lucas Beeler +Date: Tue Apr 19 15:43:55 2011 -0700 + + Changed a string in the Commonwealth English (en_GB) translation + that was non-sensical. Closes #3500. + +M po/en_GB.po + +commit 2540112134bd6c7143c030d341692bd177f4ae0e +Author: Lucas Beeler +Date: Tue Apr 19 15:19:28 2011 -0700 + + Displays the event name and the event date range only once if they're + the same. Closes #3512. + +M src/events/EventDirectoryItem.vala + +commit 747faf7661410833e3334b612ed779017e7f44fe +Author: Lucas Beeler +Date: Tue Apr 19 14:39:11 2011 -0700 + + Adds GSettings adapter support to the Config module. Via GSettings, + we can now set the desktop background on GNOME 3 systems. Fixes #3496. + +M src/Config.vala + +commit 2e527c986c896835824cefb8f780de715220e645 +Author: Lucas Beeler +Date: Mon Apr 18 15:34:59 2011 -0700 + + Refixed #3501 in the wake of a little git snafu. + +M src/MimicManager.vala + +commit 8f66a0a07b014579ad28a8124e7d807587836d4c +Author: Lucas Beeler +Date: Tue Apr 19 12:29:32 2011 -0700 + + Test commit. + +M NEWS + +commit 4803854e948bb4ccd1a830e82c6c3a7ef82bbcce +Author: Adam Dingle +Date: Tue Apr 19 08:03:08 2011 -0700 + + Listed Lucas as Shotwell maintainer. + +M MAINTAINERS + +commit 22e17f3a80d9941abb01409821a367605fe70905 +Author: Eric Gregory +Date: Mon Apr 18 16:42:56 2011 -0700 + + non-working changes + +M src/searches/SearchBoolean.vala + +commit 22bdb60e88140f3b1b4878788d6ef9630aaf3dab +Merge: 350d7ce 23a8a0a +Author: Eric Gregory +Date: Mon Apr 18 12:53:09 2011 -0700 + + Merge branch 'foo' into 1587-recover + +commit 23a8a0ab235c2890ec8d3af896f490a8e8ccacd5 +Author: Adam Dingle +Date: Sat Apr 16 07:23:25 2011 -0700 + + Revert "#2987: GnomeVFS dependency eliminated. Courtesy Jon Dill." + That proposed fix broke video importing from cameras. + + This reverts commit 5e3535bd8896fb23f75900e1ab04c139c9e10a6e. + +M Makefile +M THANKS +M debian/control +M src/VideoSupport.vala + +commit 350d7ce6c260181c8ec1391cb1975dcd07eb29da +Author: Eric Gregory +Date: Fri Apr 15 16:23:36 2011 -0700 + + fixes recommended by lucas + +M src/searches/SearchBoolean.vala +M ui/events_directory.ui +M ui/media.ui +M ui/offline.ui +M ui/trash.ui + +commit 792ca40c37337a099a3df2e61e585c2b355186f0 +Author: Eric Gregory +Date: Fri Apr 15 15:35:08 2011 -0700 + + initial commit for 1587 + +M src/Commands.vala +M src/Dialogs.vala +M src/Resources.vala +A src/db/SavedSearchDBTable.vala +M src/db/mk/db.mk +M src/library/LibraryWindow.vala +M src/library/mk/library.mk +A src/searches/Branch.vala +A src/searches/SavedSearchDialog.vala +A src/searches/SavedSearchPage.vala +A src/searches/SearchBoolean.vala +A src/searches/Searches.vala +C084 src/db/mk/db.mk src/searches/mk/searches.mk +M src/util/ui.vala +M ui/media.ui +M ui/photo.ui +A ui/savedsearch.ui +M ui/shotwell.glade +M units.mk + +commit 4b2232c927c7a14c84d95ed2c70b067e647c30c3 +Author: Eric Gregory +Date: Thu Apr 14 13:07:50 2011 -0700 + + adding gitignore + +A .gitignore + +commit 22be1e0a1ab66861ffea0c8694328c1ae1ea86fa +Author: Eric Gregory +Date: Wed Apr 13 19:18:09 2011 +0000 + + #3369 removes plugin warning + (note: my last commit was actually for removing page.get_controller(), + not for the plugin warning. sorry for the confusion!) + +M src/plugins/Plugins.vala + +commit d5812595dcacd005e696216ee577ec2fae3c6a63 +Author: Eric Gregory +Date: Wed Apr 13 18:57:30 2011 +0000 + + #3450 removed plugin warning + +M src/Page.vala +M src/PhotoPage.vala +M src/direct/DirectPhotoPage.vala + +commit 8dc4a523e5c94e62b97da873ff6c102c50e45b3e +Author: Lucas Beeler +Date: Wed Apr 13 17:51:33 2011 +0000 + + Properly marks several strings in the preferences dialog for + translation. Closes #3497. + +M src/Dialogs.vala + +commit 07bc85d1e1543cf854f3a4044c48537a5527a37e +Author: Eric Gregory +Date: Wed Apr 13 01:25:38 2011 +0000 + + merging in news/changelog from 0.9.2 + +M NEWS +M debian/changelog + +commit 050986ed346bf52f89b3095b6153c7f51544f0c3 +Author: Lucas Beeler +Date: Tue Apr 12 21:08:39 2011 +0000 + + The Makefile no longer uses GNU-style defines when invoking m4 macros + for compatibility with BSD systems. Closes #3493. + +M Makefile + +commit 5383a445d0a72d0a7445d6a9a87da4b23e6a2894 +Author: Eric Gregory +Date: Tue Apr 12 20:43:47 2011 +0000 + + #3490 search bar now appears when a rating filter is selected + +M src/SearchFilter.vala +M src/library/LibraryWindow.vala + +commit 1e3a677bea6754bf616de8ea56e2edcd5fea07d8 +Author: Lucas Beeler +Date: Tue Apr 12 18:34:45 2011 +0000 + + Potentially fixes bug #3489; Vera will verify if this fix works. + +M src/MetadataWriter.vala + +commit 4fc25df4da71ab838e95221ab942790be88b4fa2 +Author: Lucas Beeler +Date: Fri Apr 8 00:13:18 2011 +0000 + + Fixes an issue in which text could get cut off in several dialog + panes. Closes #3476. + +M plugins/shotwell-publishing/PicasaPublishing.vala +M src/WebConnectors.vala + +commit d65e225ac3d671c34c2dec528bf69914d4601657 +Author: Lucas Beeler +Date: Thu Apr 7 22:41:27 2011 +0000 + + Re-closes bug #3475. + +M plugins/common/RESTSupport.vala + +commit 93e61d4278056795dc2eb4f8e4824185200fe2e5 +Author: Lucas Beeler +Date: Thu Apr 7 20:33:04 2011 +0000 + + Properly encodes the ampersand when doing XML decimal entity encoding + for GData-based services. Closes #3475. + +M plugins/common/RESTSupport.vala + +commit 9dab1549b15e9ec24dee9f34ad687ea4ab67fd72 +Author: Lucas Beeler +Date: Thu Apr 7 20:10:02 2011 +0000 + + Fixes a serious build system issue in which the name of the + translation file search directory wasn't properly being passed from + a Makefile variable to a compiler #define. Closes #3478. + +M Makefile + +commit ed99e18d95f7b5393b7898d696bef5771f1af574 +Author: Lucas Beeler +Date: Wed Apr 6 02:33:44 2011 +0000 + + Fixes a bug in which some publishing operations would continue even + after the user had cancelled publishing. Closes #3472. + +M src/publishing/PublishingPluginHost.vala + +commit 0ddec7cf10ead511662853a662ceb8faca87146d +Author: Lucas Beeler +Date: Wed Apr 6 02:09:25 2011 +0000 + + Fixes a critical publishing bug. Closes #3471. + +M plugins/common/RESTSupport.vala +M src/publishing/APIGlue.vala + +commit e96a63ac1a2a56a2402455140a8e6bd78c1816ab +Author: Lucas Beeler +Date: Wed Apr 6 01:49:27 2011 +0000 + + Fixes a serious publishing regression affecting publishing a photo + in the single-photo (aka "full window") view. Closes #3470. + +M src/PhotoPage.vala + +commit b2c1b90d770231f61b1ca45ce0bd31377bf0b330 +Author: Clinton Rogers +Date: Wed Apr 6 01:39:14 2011 +0000 + + This fixes 3457 by making the 'unable to publish' dialog + HIG-compliant, and adding a workaround the problem where + Gtk.MessageDialog.with_markup() doesn't seem to work. + +M src/AppWindow.vala +M src/WebConnectors.vala + +commit 62e065397791ae56080a5a976880e1d723044ac3 +Author: Clinton Rogers +Date: Wed Apr 6 00:33:25 2011 +0000 + + Made alert dialogs comply with GNOME HIG + +M src/AppWindow.vala +M src/Dialogs.vala + +commit 10356182da8864869bc393473551b68d09ae4263 +Author: Eric Gregory +Date: Tue Apr 5 02:51:05 2011 +0000 + + merging changes from 0.9.1 + +M NEWS +M debian/changelog + +commit b6a03414b8dadcae86a277059daf83be4ba00fe4 +Author: Lucas Beeler +Date: Tue Apr 5 00:34:14 2011 +0000 + + Adds the REQUIRED_CFLAGS to the Makefile, which forces the setting + of the PIC flag on 64-bit systems. + +M Makefile + +commit 20a22dcd49c55ed3b809655b08d3aeedd79733b7 +Author: Jim Nelson +Date: Mon Apr 4 23:01:51 2011 +0000 + + If CFLAGS was set externally (environment variable, command-line, + or in configure.mk) we want to honor those flags. However, the code + to do that also cleared all flags passed to the plugins. This fixes + that problem. + +M Makefile + +commit 27145ea952b8f5a0d07392e2187813e56dc6b689 +Author: Lucas Beeler +Date: Fri Apr 1 18:52:44 2011 +0000 + + Fixes a quibble one of the Fedora guys mentioned with the way we + were naming the system library directory name option in our configure + script. Re-closes #3421. + +M configure + +commit 43d67a205f7a73bda4a1a17fe24a1acd54492c1f +Author: Lucas Beeler +Date: Fri Apr 1 18:46:41 2011 +0000 + + Fixes a regression in which the Flickr publisher wouldn't properly + log the user out if the user's session key had expired. Closes #3442. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit ea28c360ead67eac98fece9d9da88b3a7723f393 +Author: Lucas Beeler +Date: Fri Apr 1 18:27:43 2011 +0000 + + Following McCann's suggestion for better compliance with GNOME 3 + naming standards, shortens the application name in the desktop files + for both the manager and viewer. + +M Makefile +M misc/shotwell-viewer.desktop.head +M misc/shotwell.desktop.head + +commit 95b13510e94f3aef1a178ecf4c877b7881d39f0d +Author: Vera Yin +Date: Fri Apr 1 17:47:23 2011 +0000 + + Updated translations. + +M po/ta.po +M po/te.po + +commit aae7fc3fd0dc335b6e78298155cf2e6d33e93a4e +Author: Jim Nelson +Date: Fri Apr 1 08:54:55 2011 +0000 + + Taking advantage of the new units in the last commit, I've moved + some of the pages into their appropriate units. + +M Makefile +R100 src/CameraTable.vala src/camera/CameraTable.vala +R100 src/GPhoto.vala src/camera/GPhoto.vala +R089 src/ImportPage.vala src/camera/ImportPage.vala +M src/camera/mk/camera.mk +A src/events/EventDirectoryItem.vala +A src/events/EventPage.vala +R050 src/EventsDirectoryPage.vala +src/events/EventsDirectoryPage.vala +M src/events/mk/events.mk +R100 src/FlaggedPage.vala src/library/FlaggedPage.vala +A src/library/ImportQueuePage.vala +R100 src/LastImportPage.vala src/library/LastImportPage.vala +R100 src/OfflinePage.vala src/library/OfflinePage.vala +R100 src/TrashPage.vala src/library/TrashPage.vala +M src/library/mk/library.mk +R100 src/TagPage.vala src/tags/TagPage.vala +M src/tags/mk/tags.mk + +commit dd601ce7cefe0746ebdb50e400f7b4f9de567e09 +Author: Jim Nelson +Date: Fri Apr 1 08:33:40 2011 +0000 + + Sidebar refactoring. Large commit, to be sure, but this should + make it much easier to manage the sidebar going into the future as + well as put the intelligence for managing each branch in a separate + compartment, where it belongs. Other minor bugs were discovered + while testing the code, fixed as well. + +M Makefile +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/FlaggedPage.vala +M src/ImportPage.vala +M src/LastImportPage.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/SearchFilter.vala +D src/Sidebar.vala +M src/TagPage.vala +M src/TrashPage.vala +A src/camera/Branch.vala +C077 src/library/Library.vala src/camera/Camera.vala +C085 src/library/mk/library.mk src/camera/mk/camera.mk +M src/core/Tracker.vala +M src/core/ViewCollection.vala +A src/events/Branch.vala +C077 src/library/Library.vala src/events/Events.vala +C085 src/library/mk/library.mk src/events/mk/events.mk +A src/library/Branch.vala +A src/library/FlaggedBranch.vala +A src/library/ImportQueueBranch.vala +A src/library/LastImportBranch.vala +M src/library/Library.vala +M src/library/LibraryWindow.vala +A src/library/OfflineBranch.vala +A src/library/TrashBranch.vala +M src/library/mk/library.mk +A src/sidebar/Branch.vala +A src/sidebar/Entry.vala +C092 src/library/Library.vala src/sidebar/Sidebar.vala +A src/sidebar/Tree.vala +A src/sidebar/common.vala +C084 src/library/mk/library.mk src/sidebar/mk/sidebar.mk +A src/tags/Branch.vala +C075 src/library/Library.vala src/tags/Tags.vala +C085 src/library/mk/library.mk src/tags/mk/tags.mk +M units.mk + +commit 72aad88f57630886a7b021a101a316721db88663 +Author: Lucas Beeler +Date: Thu Mar 31 21:17:50 2011 +0000 + + Allows configuring the name of the system library directory at build + time. Closes #3421. + +M Makefile +M configure +M shotwell-plugin-dev-1.0.m4 +M src/AppDirs.vala +M src/Resources.vala + +commit cc92de41e670923ea5f63ec0364f8bfa1e217424 +Author: Jim Nelson +Date: Thu Mar 31 21:07:53 2011 +0000 + + #3453: Undated event producing "(null)" in the date range UI field. + +M src/EventsDirectoryPage.vala + +commit 6cd22f39e298a157bdc208480780dd9674ea059a +Author: Lucas Beeler +Date: Thu Mar 31 21:07:46 2011 +0000 + + Fixes an appearance regression in which the red-eye rectangle was + not drawn correctly. Closes #3434. + +M src/EditingTools.vala + +commit 53f99ea4fc8954aa7fd9dae29af745b23aba4ae1 +Author: Jim Nelson +Date: Thu Mar 31 20:53:07 2011 +0000 + + #3436: Compiz packaged with Natty revealed bug in tool window + placement code. + +M src/PhotoPage.vala + +commit d221a53e35640576cc996b0ac75a92aee9b66381 +Author: Vera Yin +Date: Thu Mar 31 03:54:54 2011 +0000 + + Updated translations. + +M Makefile +M THANKS +M po/et.po +M po/fr.po +M po/ja.po +M po/ru.po +C095 po/te_IN.po po/ta.po +R100 po/te_IN.po po/te.po +M po/th.po +M po/tr.po + +commit 993b8d6bc8d6511433a0917cb936c1fc7ebf9ccb +Author: Lucas Beeler +Date: Thu Mar 31 02:10:29 2011 +0000 + + Fixes #3413. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 33f59099ad5eec3836b07a4253a9542f786e0e93 +Author: Jim Nelson +Date: Wed Mar 30 17:14:26 2011 +0000 + + #3437: Plugins will now build with -O0 with ./configure --debug + +M Makefile +M plugins/Makefile +M plugins/Makefile.plugin.mk + +commit 7787d12f53ffe386fc90cc5078681a5a25816fd5 +Author: Lucas Beeler +Date: Tue Mar 29 22:21:51 2011 +0000 + + Closes #3412. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit fb4e6a5bd03c60fb9b08f03c98a4fbe979513353 +Author: Clinton Rogers +Date: Mon Mar 28 20:32:34 2011 +0000 + + This addresses #3371 by using the absolute file and path as source + and dest identifier when making the new BatchImportResult, instead + of just using the job source and dest. + +M src/BatchImport.vala + +commit bd71d526b688c3567a77a2fb793766ae96ea4741 +Author: Clinton Rogers +Date: Mon Mar 28 20:24:57 2011 +0000 + + This fixes #3163 by adding the absolute path to the rejected file + to the newly-created BatchImportResult, rather than just the job path. + +M src/BatchImport.vala + +commit 5e3535bd8896fb23f75900e1ab04c139c9e10a6e +Author: Jim Nelson +Date: Mon Mar 28 20:14:39 2011 +0000 + + #2987: GnomeVFS dependency eliminated. Courtesy Jon Dill. + +M Makefile +M THANKS +M debian/control +M src/VideoSupport.vala + +commit bcd0f17445ececb31f7c188826869c39d565d936 +Author: Eric Gregory +Date: Thu Mar 24 18:24:52 2011 +0000 + + #3347 file import error message strings + +M src/Dialogs.vala +M src/ImportPage.vala + +commit 1f9d46faa14a77cb02c8f9959487c1e24011bf1c +Author: Clinton Rogers +Date: Wed Mar 23 23:25:14 2011 +0000 + + This fixes #3399 by making sure that, when looking for a service, + we check that it supports exactly the media we want. + +M src/WebConnectors.vala + +commit f78a88b02234bc372db175e7ba6d077ad707775d +Author: Lucas Beeler +Date: Wed Mar 23 23:16:19 2011 +0000 + + Properly handles account-not-set-up situations in the YouTube + connector. Fixes a problem in which the service selector box in + the publishing dialog could become permanently locked, preventing + service changes. Closes #3398 and #3405. + +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit bac670cf38b7c5c82f4f2c2c97fee02e8bafee91 +Author: Eric Gregory +Date: Wed Mar 23 23:14:15 2011 +0000 + + #3352 removed array copy hack needed for vala 0.10 + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 5704c255acb0707a18213b830107efc7c56fb294 +Author: Eric Gregory +Date: Wed Mar 23 19:00:28 2011 +0000 + + #3400 search keyword behavior on event and camera import pages + +M src/EventsDirectoryPage.vala +M src/ImportPage.vala + +commit ee821058737544c8775326e226f05bc40b2fb342 +Author: Jim Nelson +Date: Wed Mar 23 04:02:28 2011 +0000 + + Moved LibraryWindow to Library unit. + +M Makefile +R100 src/LibraryWindow.vala src/library/LibraryWindow.vala +M src/library/mk/library.mk + +commit c96effe6cec92f89aaabbd7156aec3ff50714565 +Author: Jim Nelson +Date: Wed Mar 23 03:26:33 2011 +0000 + + Created Library unit which represents Shotwell in library mode. + This and the Direct unit greatly simplifies unit initialization, + as initializing the respective unit will initialize all their + dependencies automatically. + +M Makefile +M src/VideoSupport.vala +M src/direct/mk/direct.mk +A src/library/Library.vala +C083 src/direct/mk/direct.mk src/library/mk/library.mk +M src/main.vala +M src/unit/Unit.vala +M src/unit/rc/unitize_entry.m4 +M units.mk + +commit 8783510f20d3f86b77a0a85a68879894909aeb42 +Merge: 6d6c06c f0a4651 +Author: Jim Nelson +Date: Tue Mar 22 21:47:51 2011 +0000 + + Merged from 0.9 branch. + +commit f0a465151d83aa42bcf8bac1d4f8d714403fd930 +Author: Eric Gregory +Date: Tue Mar 22 21:43:00 2011 +0000 + + fix to m4 version + +M debian/control + +commit 6d6c06ca4b3b5e6d9ea52f438bf60837fd170a33 +Author: Clinton Rogers +Date: Tue Mar 22 20:49:06 2011 +0000 + + Fixed a duplicate mnemonic (#3386) + +M ui/shotwell.glade + +commit 1958d8e9272c851a5ffc79205dd3a1dbf5474541 +Author: Jim Nelson +Date: Tue Mar 22 20:47:24 2011 +0000 + + Updating version number for trunk after branch. + +M Makefile + +commit e625748ef4e32081d12ff46c3f373ba1ad26b78a +Merge: a5321df 85206d1 +Author: Eric Gregory +Date: Tue Mar 22 20:45:50 2011 +0000 + + merging over changes to changelog + +commit a5321df66c168387f2faa393f67f562332983dc6 +Author: Jim Nelson +Date: Tue Mar 22 20:40:09 2011 +0000 + + Branching trunk to 0.9. + +commit 85206d1e9fba51a3e1ff7597594e45fe3249122f +Author: Eric Gregory +Date: Tue Mar 22 20:40:07 2011 +0000 + + change log updated + +M NEWS +M debian/changelog + +commit ffad6c6be777cdf375add6a731f67e2096ee5f1b +Author: Jim Nelson +Date: Tue Mar 22 20:37:03 2011 +0000 + + A file was added to the help system. + +M Makefile + +commit 1f3209f85ad2172204e107fba0c289e311dbee34 +Author: Jim Nelson +Date: Tue Mar 22 20:32:46 2011 +0000 + + #3166: Debian dependencies updated. + +M Makefile +M debian/control +M plugins/Makefile.plugin.mk + +commit fe9421e72dfaae660a1fbcf0ed51938d3c970eca +Author: Eric Gregory +Date: Tue Mar 22 20:12:55 2011 +0000 + + #3394 going to full screen accidentally reset the search bar + +M src/LibraryWindow.vala + +commit 449ee80f73b74793057c379278bda38bc0b12b50 +Author: Jim Nelson +Date: Tue Mar 22 18:53:22 2011 +0000 + + Took out some Makefile debug code. + +M plugins/Makefile +M plugins/Makefile.plugin.mk + +commit d1148b0d2daf9ae1ae235da3cd244bc6f8a2b3ff +Author: Vera Yin +Date: Tue Mar 22 18:51:02 2011 +0000 + + Translation updates. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/te_IN.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit c8c6d1361d905b92cde133db70acd56a85b69cef +Author: Eric Gregory +Date: Tue Mar 22 18:47:56 2011 +0000 + + prep for 0.9: changes to makefiles, debian package, news + +M Makefile +M NEWS +M debian/changelog +M debian/control +M debian/dirs +M debian/rules +M plugins/Makefile +M plugins/Makefile.plugin.mk + +commit 55d43c414ddeed9cc05bdba905b3cff1b65be084 +Author: Jim Nelson +Date: Tue Mar 22 18:36:37 2011 +0000 + + Plugin resource files weren't being added to the tarball. + +M plugins/Makefile.plugin.mk +M plugins/shotwell-publishing-extras/Makefile +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-transitions/Makefile + +commit 4fd6fce4ec1127913210f334fd310fbfa14cdbb9 +Author: Jim Nelson +Date: Tue Mar 22 02:21:03 2011 +0000 + + Removed spaces from valadoc comments that valadoc doesn't like. + +M src/plugins/SpitInterfaces.vala + +commit 5a07a4204be9bc73d82015d4cf46ea4b46d029bf +Author: Eric Gregory +Date: Mon Mar 21 23:34:07 2011 +0000 + + #3385 issue with toolbar not functioning after changing page and + toggling it on + +M src/LibraryWindow.vala + +commit e4c8553f505dfd566955cd5c6eca1e26bc5283ea +Author: Jim Nelson +Date: Mon Mar 21 23:09:29 2011 +0000 + + #3389: Logging out of Flickr attempted to go through the public + start() interface, which was interpreted as a restart, a no-no in + the publishing API. This corrects that. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit 87e2b14c81c48e96f2630e7dfe1f902aac0da7c5 +Author: Jim Nelson +Date: Mon Mar 21 22:40:05 2011 +0000 + + #3388: Adding tags to a lot of photos would hang the system. + Problem lies in signal reflection from DataSources to DataViews of + alterations, but "altered" signal handlers should also be examining + alterations before processing. This does the latter. + +M src/CollectionPage.vala +M src/MediaPage.vala + +commit 90ef09460e3356f4e5896b133ae36e329ef9ca1b +Author: Clinton Rogers +Date: Mon Mar 21 21:01:10 2011 +0000 + + Adds gnome-help documentation for 0.9 version. + +M help/C/edit-adjustments.page +M help/C/edit-crop.page +M help/C/edit-enhance.page +M help/C/edit-external.page +M help/C/formats.page +M help/C/import-camera.page +A help/C/organize-search.page +M help/C/other-files.page +A help/C/other-plugins.page +M help/C/share-print.page +M help/C/share-upload.page + +commit dfc0a5aa21ccebf4dce43687183a085896bded1c +Author: Jim Nelson +Date: Sun Mar 20 18:38:03 2011 +0000 + + Noticed that soft assertions were happening with BackgroundJobs + in the workers threads. This was due to a change in Vala 0.11. + This fixes that problem. + +M src/threads/Workers.vala + +commit e249c3bcb0a8a5704aaea728f2e015faa197139f +Author: Jim Nelson +Date: Sat Mar 19 00:13:19 2011 +0000 + + #3372: Fixed crop problem. Only occurred when search bar was visible, + which causes caching problems. See also #3381. + +M src/LibraryWindow.vala +M src/PhotoPage.vala +M src/PixbufCache.vala + +commit 9e49ea6409b2a18a17564f158c872637f0aa23a8 +Author: Eric Gregory +Date: Fri Mar 18 23:56:52 2011 +0000 + + added two missing icon files to makefile + +M Makefile + +commit 6b5a6b8cb87ab9b3fd2b976d99477039906928a2 +Author: Eric Gregory +Date: Fri Mar 18 22:10:50 2011 +0000 + + #3370 sidebar behavior caused by vala 0.11 + +M src/Sidebar.vala + +commit 21ec11cbc59791a1585d5659542ea5cc0f8379af +Author: Jim Nelson +Date: Fri Mar 18 19:52:26 2011 +0000 + + Related to #3366, fixed a couple of places that were using the owned + keyword where it's unnecessary or ref should be used instead. + +M src/ColorTransformation.vala +M src/Photo.vala + +commit bd1a2a82c22a0e7b358d294fec964ecb55802ecc +Author: Clinton Rogers +Date: Fri Mar 18 01:00:19 2011 +0000 + + This addresses #3162 by moving the custom directory naming blurb + from the website to this file. + +M help/C/other-files.page + +commit fbb1103129e79dc555f1c2382265aaa6e30550ae +Author: Clinton Rogers +Date: Fri Mar 18 00:58:25 2011 +0000 + + This fixes #3162 by giving us the ability to manually handle the + help link ourselves for non-system-wide help files, and the ability + to direct launch_help to try to get us a particular page, if needed. + +M src/Dialogs.vala +M src/Resources.vala + +commit f7e008547235e59de6c1ea8525ff0023be80db67 +Author: Eric Gregory +Date: Fri Mar 18 00:51:40 2011 +0000 + + #3368 youtube publishing regression + +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit cfa910a9e3cfa77d31f2f3fc88f0f8bbc9f7b4b4 +Author: Eric Gregory +Date: Fri Mar 18 00:47:12 2011 +0000 + + #3362 video thumbnailing issue (reprise) + +M src/VideoSupport.vala + +commit dbd049ab85a8ec65719574ff4515410075d14659 +Author: Jim Nelson +Date: Fri Mar 18 00:04:23 2011 +0000 + + #3366: owned keyword is causing a Pixbuf memory leak w/ 0.11.7. + Fixed. + +M src/Orientation.vala + +commit ea3879ceea875ca52c5674c9b36550b0b212326c +Author: Clinton Rogers +Date: Thu Mar 17 20:11:26 2011 +0000 + + This addresses #3367 by splitting out the mechanism that gets the + current help path into its own method. + +M src/Resources.vala + +commit a6d9144f3024f2fd4ac344ece82707674bd840dd +Author: Jim Nelson +Date: Thu Mar 17 19:07:45 2011 +0000 + + #3365: Command-line processing fixed. + +M src/main.vala + +commit 86997587dc17b843921d4e1e7d6aa3e85275a5b7 +Author: Eric Gregory +Date: Thu Mar 17 18:53:05 2011 +0000 + + #3362 fix for video thumbnailing with vala 0.11 + +M src/VideoSupport.vala +M src/util/system.vala + +commit faa44d15be76ac1a9afb8c92e555f4ce0ce019c2 +Author: Jim Nelson +Date: Thu Mar 17 18:15:33 2011 +0000 + + #3364: Desktop file didn't have the trailing semi on the mime-type + list. Courtesy Michel Alexandre Salim. + +M THANKS +M misc/shotwell-viewer.desktop.head + +commit 04df3462760ad9b5744c0e44483ce39bbb962e6a +Author: Jim Nelson +Date: Thu Mar 17 04:01:02 2011 +0000 + + #3282: Problem linking shotwell-publishing on 64-bit Maverick fixed. + +M Makefile +M plugins/Makefile.plugin.mk +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/shotwell-transitions.vala + +commit 797ca0b66a4a2fda79330270838416a22d5fde0e +Author: Clinton Rogers +Date: Thu Mar 17 02:13:42 2011 +0000 + + This fixes #3260 by adding the ability to close the search bar from + a context menu. + +M src/SearchFilter.vala + +commit 9d66fad2fd233601dbebf0acd6131a6db3881a4d +Author: Lucas Beeler +Date: Thu Mar 17 01:51:06 2011 +0000 + + Fixes a fatal error that occurred when attempting to publish to + Flickr when no network connection was available. Closes #3361. + +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit d7c0a4213d5d1df6ce4c176a007efe6198d9533b +Author: Jim Nelson +Date: Thu Mar 17 01:08:16 2011 +0000 + + #3297: Fixed so progress bar appears when library is large enough. + +M src/Dialogs.vala +M src/Event.vala +M src/Photo.vala +M src/Tag.vala +M src/VideoSupport.vala +M src/main.vala + +commit 6fb19d66f903addb6b86412381fbe3e75cf4d50d +Author: Eric Gregory +Date: Wed Mar 16 23:24:57 2011 +0000 + + #3350 save flag in direct mode + +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala + +commit ac93358561ec9fd232cdb6a806942d1545e51358 +Author: Jim Nelson +Date: Wed Mar 16 23:11:50 2011 +0000 + + #2638: Migration to Vala 0.11.7. + +M Makefile +M plugins/common/RESTSupport.vala +M plugins/shotwell-publishing-extras/YandexPublishing.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M src/AppWindow.vala +M src/BatchImport.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/DirectoryMonitor.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MediaDataRepresentation.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PiwigoConnector.vala +M src/Printing.vala +M src/SlideshowPage.vala +M src/Thumbnail.vala +M src/TrashPage.vala +M src/VideoMetadata.vala +M src/WebConnectors.vala +M src/alien_db/AlienDatabaseVersion.vala +M src/alien_db/f_spot/FSpotMetaTable.vala +M src/core/DataSource.vala +M src/db/TagTable.vala +M src/direct/DirectPhotoPage.vala +M src/main.vala +M src/photos/GRaw.vala +M src/photos/GdkSupport.vala +M src/photos/JfifSupport.vala +M src/photos/PhotoMetadata.vala +M src/photos/PngSupport.vala +M src/threads/BackgroundJob.vala +M src/threads/Workers.vala +M src/unit/rc/unitize_entry.m4 +M src/util/KeyValueMap.vala +M src/util/misc.vala +M src/util/string.vala + +commit 63181b1cfeb95a0c121243552162bbd4527e69ed +Author: Lucas Beeler +Date: Wed Mar 16 22:14:16 2011 +0000 + + Mutes search box icons. Closes #3256. + +A icons/searchbox-clear.svg +A icons/searchbox-find.svg +M src/Resources.vala +M src/SearchFilter.vala + +commit c2bb583caeeffd4ab018374ef8a93efd70280238 +Author: Lucas Beeler +Date: Wed Mar 16 22:12:34 2011 +0000 + + Almost dynamically changes the prelight and active colors of the + search bar buttons when the user changes the checkerboard view + background color. Closes #3276. + +M src/Config.vala +M src/SearchFilter.vala + +commit ddee73e17e6ec96cee9551a3c72d3a94932aa104 +Author: Eric Gregory +Date: Wed Mar 16 19:24:59 2011 +0000 + + #3344 search toolbar buttons are greyed-out instead of disabled + +M src/Resources.vala +M src/SearchFilter.vala +M src/util/image.vala + +commit 4ad5ca2de7afcfa251ce1b0511e48c5887c9fe90 +Author: Eric Gregory +Date: Wed Mar 16 18:02:18 2011 +0000 + + #3357 corrected folder for videos during file import + +M src/LibraryFiles.vala + +commit e9ce203ecf09cca3d721bb2516118f039658f113 +Author: Clinton Rogers +Date: Wed Mar 16 00:09:57 2011 +0000 + + This addresses #3255 by re-selecting the current photograph in + switching_from(). + +M src/PhotoPage.vala + +commit 707feb7105add855aab64e658b61bad2636d63d4 +Author: Clinton Rogers +Date: Wed Mar 16 00:02:39 2011 +0000 + + This fixes #3321 by altering the way we set the initial value of the + radio action group, as well as making sure that the events directory + page gets constructed with the proper sort setting (by making it + read from the config). + +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala + +commit 32f59a906013b536d6f8ffc3ced080703908d69c +Author: Clinton Rogers +Date: Tue Mar 15 23:59:11 2011 +0000 + + This addresses #3351 by making it so we get a photo's base name + (that is, the master filename), rather than just the name (which is + the current title) for this dialog. + +M src/direct/DirectPhotoPage.vala + +commit c7686897cf41f04e6568dab291760884de233681 +Author: Adam Dingle +Date: Tue Mar 15 23:34:53 2011 +0000 + + Fixed #3108 (ubuntu 10.10 ppa shotwell binary deb depends on + libraw-dev). + +M debian/control + +commit 9ce8e47e9f863030bba8e660ce5ff9aac1e1d8cc +Author: Vera Yin +Date: Tue Mar 15 22:47:57 2011 +0000 + + Translation updates. + +M po/da.po +M po/hr.po +M po/it.po +M po/uk.po + +commit fd7e68eacb932c0916968a2b3324232b7b910946 +Author: Vera Yin +Date: Tue Mar 15 19:56:27 2011 +0000 + + Updated translations. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/te_IN.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 886c37688dc5978c8c238eb1e93f6e080dc93de9 +Author: Eric Gregory +Date: Tue Mar 15 19:28:14 2011 +0000 + + #3353 color of message text on checkerboard page + +M src/CheckerboardLayout.vala + +commit 0a5c844e07f0da81e80522bff72b766ad75c03d2 +Author: Eric Gregory +Date: Tue Mar 15 18:31:37 2011 +0000 + + #3102 correction to flickr sorting + +M src/publishing/APIGlue.vala + +commit e3a78b0cb21d456c129a4168076c7f567641da04 +Author: Clinton Rogers +Date: Tue Mar 15 03:17:22 2011 +0000 + + This addresses #3343 by preventing the search bar's text entry field + from ever being made insensitive. + +M src/SearchFilter.vala + +commit 125bfbe994692fbb4a0051766bf0d72a8e02eb31 +Author: Jim Nelson +Date: Tue Mar 15 00:14:12 2011 +0000 + + #1118: Mild improvements to startup time. + +M src/MediaViewTracker.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/core/ViewCollection.vala + +commit 44e4e608f9dba6f6fe6a5b0e5339b58307b38d1a +Author: Adam Dingle +Date: Mon Mar 14 23:54:22 2011 +0000 + + Removed Ubuntu-specific version number dependency. This fixes #3295. + +M Makefile + +commit 9a36d4b54a7f2b39197c9d4a522dcb875fe304d1 +Author: Lucas Beeler +Date: Mon Mar 14 23:41:40 2011 +0000 + + Refines search bar icons; closes #3190 and #3194. + +M Makefile +A icons/filter-flagged.png +A icons/filter-photos.png +A icons/filter-raw.png +A icons/filter-videos.png +M src/Resources.vala +M src/SearchFilter.vala + +commit 6b86429a4ea425395f0e416618493fe278fb7835 +Author: Eric Gregory +Date: Mon Mar 14 23:27:35 2011 +0000 + + #3340 fatal error importing from unreadable directory + +M src/BatchImport.vala +M src/Dialogs.vala +M src/ImportPage.vala + +commit 4180964daf3faca7522d7eb810d70e0987435113 +Author: Eric Gregory +Date: Mon Mar 14 23:22:08 2011 +0000 + + #3102 for Flickr, sort uploads in reverse chronological order prior + to upload + +M plugins/shotwell-publishing/FlickrPublishing.vala +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala + +commit ec536486d2f719e56eae62f8a842340a49e47871 +Author: Jim Nelson +Date: Mon Mar 14 22:13:00 2011 +0000 + + #1926: Edit multiple titles at once. Courtesy Wolfgang Steitz. + +M src/Commands.vala +M src/Dialogs.vala +M src/MediaPage.vala +M src/SortedList.vala +M src/core/DataSet.vala +M src/core/ViewCollection.vala + +commit 4c74b5cefe841fee14b3637c1ba332f9df92c1aa +Author: Jim Nelson +Date: Mon Mar 14 21:31:35 2011 +0000 + + #3337: Shotwell now builds on 0.10.4 (which becomes the baseline + requirement). + +M Makefile +M src/CheckerboardLayout.vala + +commit 26db81922c025bdf1b6539f69996b0c261670516 +Author: Jim Nelson +Date: Sat Mar 12 00:41:09 2011 +0000 + + Added debug and fatal-warning options to plugins' valac command. + +M plugins/Makefile.plugin.mk + +commit 87bfb6550a7f40ab039c2d3e01807ef652d3ce29 +Author: Lucas Beeler +Date: Sat Mar 12 00:40:31 2011 +0000 + + Whoa. That last check-in generated a build warning. Fixed. + +M plugins/common/Resources.vala + +commit aed5fac7ec93467a876bf602eee078d24ae635ca +Author: Jim Nelson +Date: Sat Mar 12 00:36:20 2011 +0000 + + #3309: The icon cache in the sidebar was broken and growing without + bounds. This was exacerbated by Vera's test set, which has 10,000 + photos creating 10,000 events. + +M src/Sidebar.vala + +commit b05381ab1bde0966cacf3de059d42aee18cead17 +Author: Lucas Beeler +Date: Sat Mar 12 00:35:23 2011 +0000 + + Improves plug-in icons. Adds service-specific icons for publishing + plugins and defines a generic plugin icon. + +M Makefile +A icons/generic-plugin.png +A icons/slideshow-extension-point.png +M plugins/common/Resources.vala +M plugins/plugins.mk +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +A plugins/shotwell-publishing/facebook.png +A plugins/shotwell-publishing/flickr.png +A plugins/shotwell-publishing/picasa.png +M plugins/shotwell-publishing/shotwell-publishing.vala +A plugins/shotwell-publishing/youtube.png +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +A plugins/shotwell-transitions/slideshow-plugin.png +M src/Resources.vala +M src/plugins/ManifestWidget.vala +M src/slideshow/Slideshow.vala + +commit 205217eeab37aa23f508cdf233d582f5835b851a +Author: Clinton Rogers +Date: Sat Mar 12 00:31:47 2011 +0000 + + This fixes #3290 by 1) adding a new signal in SearchFilterAction to + indicate the Criteria has changed 2) connecting to this signal in + SearchToolbar and changing the visibility of the appropriate widgets + when receiving it. + +M src/SearchFilter.vala + +commit cb6924a34ea013f233cbb2903dab50fc668742a9 +Author: Clinton Rogers +Date: Fri Mar 11 23:34:44 2011 +0000 + + Addresses #3304 by overiding get_view_empty_message(). + +M src/ImportPage.vala + +commit c2edafc121c48ec6591364a9a6743d4b2c8cd2a5 +Author: Eric Gregory +Date: Fri Mar 11 02:45:20 2011 +0000 + + #3319 view event for photo disappeared + +M src/AppWindow.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala + +commit 12afc04c131c661bdde9f5ec2433439856645bc2 +Author: Eric Gregory +Date: Fri Mar 11 02:22:02 2011 +0000 + + #3288 fixes for direct mode with large folders + +M src/AppWindow.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/core/DataSource.vala +M src/core/DataView.vala +M src/direct/Direct.vala +M src/direct/DirectPhoto.vala +M src/direct/DirectPhotoPage.vala +D src/direct/DirectPhotoPlaceholder.vala +M src/direct/DirectView.vala +M src/direct/mk/direct.mk +M src/util/ui.vala + +commit cdb878bc32cc3681a2443352347b4dd33235e1ea +Author: Jim Nelson +Date: Fri Mar 11 01:30:04 2011 +0000 + + Changed SPIT to pass Spit.EntryPointParams struct rather than plain + values to allow for future expansion. This was precipitated by + the publishing plugins needed to know their module file early so + they can load their icons. Also updated the simple-plugin, which + suffered from bitrot after some earlier interface changes. + +M plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M samples/simple-plugin/simple-plugin.vala +M src/plugins/Plugins.vala +M src/plugins/SpitInterfaces.vala + +commit 54e44f78e5dc560c8e5a7e824d0aff47ee3a0268 +Author: Jim Nelson +Date: Thu Mar 10 21:04:14 2011 +0000 + + #3132: When a duplicate file is imported and a match is marked + offline, the match will be brought back online pointing to the + new file. + +M src/BatchImport.vala +M src/LibraryMonitor.vala +M src/Photo.vala + +commit 0ccc9f1cb51429f04716c2aa0a48f50598cd9ef2 +Author: Eric Gregory +Date: Thu Mar 10 20:56:18 2011 +0000 + + #3308 search bar was appearing on single photo page when returning + from full screen + +M src/LibraryWindow.vala + +commit 3a8a776c11aac33273ef4f5d26f3c0472a394472 +Author: Jim Nelson +Date: Thu Mar 10 19:29:26 2011 +0000 + + #3202: Additional fix for Yandex.Fotki plugin. Courtest Evgeniy + Polyakov. + +M plugins/shotwell-publishing-extras/YandexPublishing.vala + +commit b1f9160443ecd0c1f28806eb8971be991552f058 +Author: Jim Nelson +Date: Thu Mar 10 03:38:17 2011 +0000 + + #3313: Hot keys now routed through Gtk.Actions, so they only activate + if the action is sensitive. + +M src/CollectionPage.vala +M src/MediaPage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/direct/DirectPhotoPage.vala + +commit dc0c6d976f478c8230c4fe7c891c34c69fa02fa6 +Author: Jim Nelson +Date: Thu Mar 10 01:23:47 2011 +0000 + + #3172: Will no longer recompile Vala code when nothing to be done. + Had to do with temporary directory and a hidden timestamp in it, and + the compilation files (.c, .o) being generated after the stamp file + (making the temporary directory newer than the stamp). + +M Makefile + +commit 5fb16f8f8af4ec025255abcf3b9457dfb0a73a7b +Author: Clinton Rogers +Date: Wed Mar 9 20:06:17 2011 +0000 + + This fixes #3196 by adding a length parameter to prepare_input_string + that tells it to truncate an incoming string after this many + characters if positive, or do not truncate if negative. + +M src/Event.vala +M src/MediaDataRepresentation.vala +M src/Tag.vala +M src/alien_db/AlienDatabaseImportJob.vala +M src/photos/PhotoMetadata.vala +M src/plugins/Plugins.vala +M src/util/string.vala + +commit 18e1686d94f220e1329f04cee244ebfac2bf6ffe +Author: Jim Nelson +Date: Wed Mar 9 04:10:40 2011 +0000 + + "make clean" was leaving behind some detritus in the plugins + directory. Fixed. + +M plugins/Makefile.plugin.mk + +commit 21416a6cce7a1c477835a5200693f1f2dc067af1 +Author: Jim Nelson +Date: Wed Mar 9 03:56:59 2011 +0000 + + #3306: Pluggables may now provide icons at multiple sizes. + +M plugins/Makefile.plugin.mk +M src/plugins/ManifestWidget.vala +M src/plugins/SpitInterfaces.vala + +commit 60c61d68793e334963f77a8639503a14d1c375e6 +Author: Jim Nelson +Date: Wed Mar 9 03:19:40 2011 +0000 + + #3152: Fixes crasher where two different Hirigana tag names collated + as equal when they plainly were not. Also fixes a bug I discovered + while investigating that a soft assertion was triggered when pages + were destroyed. + +M src/LibraryWindow.vala +M src/Page.vala +M src/Tag.vala +M src/TagPage.vala +M src/util/misc.vala +M src/util/string.vala + +commit ae16f579bb322e53485341a83083e409d495b2ca +Author: Jim Nelson +Date: Wed Mar 9 01:04:14 2011 +0000 + + #3287: Common accelerators now only respond on pages they're + supposed to. + +M src/AppWindow.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/util/ui.vala + +commit 40cc57d404e27e05969ed0cf0c69f720d121ba4e +Author: Jim Nelson +Date: Tue Mar 8 04:47:22 2011 +0000 + + #3284: Created shotwell-publishing-extras, which holds the + Yandex.Fotki connector. + +M Makefile +M configure +M plugins/Makefile +R099 plugins/shotwell-publishing/RESTSupport.vala +plugins/common/RESTSupport.vala +M plugins/plugins.mk +A plugins/shotwell-publishing-extras/Makefile +A plugins/shotwell-publishing-extras/YandexPublishing.vala +A plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +R100 ui/yandex_publish_model.glade +plugins/shotwell-publishing-extras/yandex_publish_model.glade +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M src/WebConnectors.vala +D src/YandexConnector.vala +M src/plugins/Plugins.vala +M src/plugins/SpitInterfaces.vala + +commit 6746a69a8c9b0288792300881001fc9283ef40bc +Author: Jim Nelson +Date: Tue Mar 8 03:37:42 2011 +0000 + + #3291: Performance improvements with free-text keyword searching. + +M src/Event.vala +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/SearchFilter.vala +M src/Tag.vala +M src/VideoSupport.vala +A src/core/SourceInterfaces.vala +M src/core/mk/core.mk + +commit a9ae9644bc3f30766b953adb4ef9e3411e86a107 +Author: Jim Nelson +Date: Tue Mar 8 03:26:24 2011 +0000 + + Added optional timers to view filtering to measure search. + +M src/core/ViewCollection.vala + +commit dd3cf7f1a3e3b1d98ac3fe9fd8544765110ccad8 +Author: Lucas Beeler +Date: Mon Mar 7 22:37:00 2011 +0000 + + Makes sure all network transactions are properly stopped when + publishing is cancelled. Closes #3296. + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/RESTSupport.vala +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit 3a7be98d20cf6eb9c73f93745d20b0d9c443533e +Author: Eric Gregory +Date: Mon Mar 7 22:22:46 2011 +0000 + + #3280 #3281 ctrl-a crash in single photo mode, ctrl-shift-a added + +M src/AppWindow.vala +M src/MediaPage.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 10335124ec086120b1da7c3839f383d623fcd7da +Author: Eric Gregory +Date: Mon Mar 7 22:15:04 2011 +0000 + + #3215 search bar text/background + +M src/SearchFilter.vala + +commit efd60afafc56ae0ed3053cb52155ac038430e5e7 +Author: Vera Yin +Date: Fri Mar 4 02:39:56 2011 +0000 + + Updated translator list in THANKS. + +M THANKS + +commit 842baf0bf1763a2f4c3f1cf93e03ea99172db59e +Author: Jim Nelson +Date: Fri Mar 4 00:38:31 2011 +0000 + + #3265: Added license to publishing plugins. Also added authors and + cleaned up how common strings are handled in the core plugins code. + +M plugins/Makefile.plugin.mk +A plugins/common/Resources.vala +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-transitions/shotwell-transitions.vala + +commit cc9cce15cd4c4853fc170126f66007cca4b83658 +Author: Jim Nelson +Date: Fri Mar 4 00:11:56 2011 +0000 + + Even stupider. Code just needs to go away. + +M src/SearchFilter.vala + +commit 367cdb034796fd6d32b56484532c0cb9985f9205 +Author: Jim Nelson +Date: Fri Mar 4 00:10:53 2011 +0000 + + Fixes bug Eric found where the Flagged toggle was being cleared when + switching to and from the full-window view. + +M src/SearchFilter.vala + +commit bdda71948c5d4c6035d8ae0e82ce8cb67af38c79 +Author: Lucas Beeler +Date: Fri Mar 4 00:07:29 2011 +0000 + + Adds valadoc documentation for the publishing interfaces. + +M src/plugins/PublishingInterfaces.vala + +commit e1017083cb3998f65bf663463c2134b9eda7bc6b +Author: Eric Gregory +Date: Thu Mar 3 23:49:58 2011 +0000 + + #3277 accidentally checked in commented-out code + +M src/LibraryWindow.vala + +commit 04fc9b9b37983f4900689e954cc4ab22e2173fb0 +Author: Eric Gregory +Date: Thu Mar 3 23:42:13 2011 +0000 + + #3277 escape key for clearing search filter, fixes to make + key-press-event signal honor contract + +M src/LibraryWindow.vala +M src/Sidebar.vala + +commit 539682c700716a661a21942b0ffe1f9ac6dacb36 +Author: Jim Nelson +Date: Thu Mar 3 23:26:17 2011 +0000 + + #3259: Search bar now dynamically indicates the availability of + content on each page and makes those filters insensitive when + it's not. + +M Makefile +M src/AppWindow.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MediaPage.vala +A src/MediaViewTracker.vala +M src/OfflinePage.vala +M src/Page.vala +M src/SearchFilter.vala +M src/TrashPage.vala +A src/core/Tracker.vala +M src/core/mk/core.mk + +commit 7c23ea352d542a8a2113f76d9213a9a38234624e +Author: Clinton Rogers +Date: Thu Mar 3 21:11:20 2011 +0000 + + This fixes #3226 by correcting a minor typo in paint_sprockets() - + the extra sprocket hole for the straggler pixels was accidentally + being drawn on the left twice. + +M src/MediaPage.vala + +commit 8192b7a0c687f65ab2dd198b9f18b8c6d014c6a3 +Author: Vera Yin +Date: Thu Mar 3 20:48:11 2011 +0000 + + Corrected error in shotwell.pot, updated translations. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/te_IN.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit dfb28da69112835e2545bab279b3c1ba3826a59b +Author: Eric Gregory +Date: Thu Mar 3 20:27:34 2011 +0000 + + #3262 removed key lock/unlock system for text entry + +M src/AppWindow.vala +M src/LibraryWindow.vala +M src/SearchFilter.vala +M src/Sidebar.vala + +commit bc435490452d7dc8dda1f21cf328944c96f5f333 +Author: Lucas Beeler +Date: Thu Mar 3 19:58:41 2011 +0000 + + Fixed a problem in which a non-ASCII character appeared in a string + marked for translation, preventing generation of the POT file. + +M src/WebConnectors.vala + +commit 2d5d9ce4a9141dd84fe655cc7b1abcaad1e7be44 +Author: Lucas Beeler +Date: Thu Mar 3 19:30:24 2011 +0000 + + Some strings marked for translation had been broken apart with the + string concatenation ("+") operator. This is not compatible with + GNU gettext. This had caused a bad POT file to be generated. These + strings were fixed. + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/RESTSupport.vala +M src/Dialogs.vala +M src/WebConnectors.vala + +commit 3f59daa641e2b30cbdaea6c8b6f6e0a99d2ba9f1 +Author: Vera Yin +Date: Thu Mar 3 03:27:25 2011 +0000 + + Updated shotwell.pot and po files after string freeze. Added Telugu + (India) translation. + +M Makefile +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +C058 po/shotwell.pot po/te_IN.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 7f989bec9c06a168cb17ae5ffc76ff5cce4c38ee +Author: Jim Nelson +Date: Thu Mar 3 01:20:35 2011 +0000 + + Latest version of Valadoc in trunk chokes on two spaces after a period + (but, ironically, they can be placed anywhere else in the sentence). + Removed the offensive whitespace. + +M src/plugins/SpitInterfaces.vala +M src/plugins/TransitionsInterfaces.vala + +commit afe8d3d2deef1227d8086436e66e57800acea3a4 +Author: Clinton Rogers +Date: Thu Mar 3 00:22:20 2011 +0000 + + This addresses #3245 by adding the option to replace \r and \n + characters in prepare_input_text() with the STRIP_CRLF option, making + sure that event renaming properly uses this option, and reaps some + unused code from PhotoMetadata.vala as well. + +M src/Event.vala +M src/photos/PhotoMetadata.vala +M src/util/string.vala + +commit 65350a6991805c0621281c4ced5e33844b47b637 +Author: Clinton Rogers +Date: Thu Mar 3 00:10:45 2011 +0000 + + Small code tidiness issue. + +M src/WebConnectors.vala + +commit 40a27c73e9b935339a32506224a95cfeba29b23b +Author: Clinton Rogers +Date: Thu Mar 3 00:06:58 2011 +0000 + + This fixes #3253 by checking whether a publishing service is available + to handle the selected type of media, and if none can, instead of + throwing an exception, it now sends up a dialog. + +M src/WebConnectors.vala + +commit 7fe4a3066cf419743a8e8233aae37e9a336484bd +Author: Lucas Beeler +Date: Wed Mar 2 20:53:26 2011 +0000 + + Improves messages displayed when view collections are empty or when + no items in the collection match the search filter. Closes #3213. + +M src/EventsDirectoryPage.vala +M src/Page.vala +M src/TrashPage.vala + +commit 9a5d9bb508be1884a8f86eff21e562bf15d87204 +Author: Eric Gregory +Date: Wed Mar 2 20:14:01 2011 +0000 + + #3210 "no items" message appears after changes + +M src/Page.vala + +commit 0b3c60aacc57b6162b86ae420e0f11bb11b56157 +Author: Jim Nelson +Date: Wed Mar 2 18:53:47 2011 +0000 + + #3192: Implicit AND in the search box. Courtesy Wolfgang Steitz. + +M src/SearchFilter.vala + +commit fd6ef57d1be0683753d58702530b37f5d4f4999f +Author: Jim Nelson +Date: Wed Mar 2 18:22:55 2011 +0000 + + #3214: Media page is now Library page. + +M src/CollectionPage.vala + +commit a6f03835c4d299da8241c02b6235011210f2181b +Author: Jim Nelson +Date: Tue Mar 1 23:06:16 2011 +0000 + + Moved DataObject/DataCollection heirarchy into core unit and split + them up into more logical file groupings. + +M Makefile +D src/DataCollection.vala +A src/core/Alteration.vala +A src/core/ContainerSourceCollection.vala +A src/core/Core.vala +A src/core/DataCollection.vala +A src/core/DataObject.vala +A src/core/DataSet.vala +R052 src/DataObject.vala src/core/DataSource.vala +A src/core/DataSourceTypes.vala +A src/core/DataView.vala +A src/core/DataViewTypes.vala +A src/core/DatabaseSourceCollection.vala +A src/core/SourceCollection.vala +A src/core/SourceHoldingTank.vala +A src/core/ViewCollection.vala +A src/core/mk/core.mk +A src/core/util.vala +M units.mk + +commit e74793a0ada34ae091d34cff0bab8b29d2b21159 +Author: Jim Nelson +Date: Tue Mar 1 22:34:41 2011 +0000 + + Adds some additional functionality to ViewCollection. + +M src/DataCollection.vala + +commit b9958cbfdde322ac0e1483c58671ed631ec36b2b +Author: Lucas Beeler +Date: Tue Mar 1 22:16:14 2011 +0000 + + The Facebook login WebKit control now displays the loaded HTML page + in the user's system language (if Facebook supports it). Closes #3022. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit b9c7523ae227daf9e7586dbfc18324dea030b6e2 +Author: Lucas Beeler +Date: Tue Mar 1 22:07:43 2011 +0000 + + Appends null pointers to selected string arrays as a workaround for + #3264. Closes #3257. + +M plugins/shotwell-publishing/FlickrPublishing.vala +M src/photos/PhotoMetadata.vala + +commit 208a8721b887bffad000221d0dca0890440f9eab +Author: Clinton Rogers +Date: Tue Mar 1 20:39:16 2011 +0000 + + This fixes #3240 by altering the way a date span is pretty printed + if the start and end dates are two consecutive days in the same + calendar month. + +M src/util/misc.vala + +commit 8915227dd7cdbc7f374761f974323069e80dbb50 +Author: Eric Gregory +Date: Tue Mar 1 20:05:44 2011 +0000 + + #3246 #3247 scrollbar fixed after returning from single image view + +M src/CheckerboardLayout.vala + +commit 286baefadc1cd874d5577bdbd31c5c7e07d30551 +Author: Jim Nelson +Date: Tue Mar 1 18:51:11 2011 +0000 + + Upped version to 0.8.90+trunk. + +M Makefile + +commit cf9a5de64e4b26daf7ae63a2ec24425a55f4e6c7 +Author: Jim Nelson +Date: Tue Mar 1 18:45:56 2011 +0000 + + Updated to build 0.8.90 prerelease. Also fixed a bug Vera found + where disabling a plugin would cause Shotwell to crash. + +M Makefile +M plugins/Makefile +M plugins/Makefile.plugin.mk +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po +M src/plugins/ManifestWidget.vala +M src/plugins/mk/plugins.mk + +commit 655c75f89f8f41d1f90f162404afe0436e995456 +Author: Jim Nelson +Date: Mon Feb 28 21:09:30 2011 +0000 + + #3261: Shotwell role (library/direct) and version number now first + thing logged. + +M src/main.vala + +commit 7083b967be2e8a688f34e561b8089c730f433007 +Author: Jim Nelson +Date: Mon Feb 28 20:43:25 2011 +0000 + + #3241: Search bar is activated (made visible) when the user makes + any change to filtering. + +M src/DataCollection.vala +M src/LibraryWindow.vala + +commit 3344ae2ae0832d0b2060e0d1d577f69c29618112 +Author: Jim Nelson +Date: Sat Feb 26 02:23:58 2011 +0000 + + #3207: Added text labels to search bar. #3228: Moved the filter + toggle buttons to left side of bar while keeping text box to the + right. + +M src/SearchFilter.vala + +commit b2d6cefe4e5e7285cdafc98f52194c9aaba72ab9 +Author: Jim Nelson +Date: Sat Feb 26 01:11:43 2011 +0000 + + #3188: Find button added to toolbars on pages that show media + (but not pages that show events). Some other code cleanup too, + including moving to a single Gtk.ActionGroup for common actions, + meaning that LibraryWindow doesn't have to synchronize actions when + pages are switched from (and that pages can monitor those actions + for their own state, which cleans up EventDirectoryPage a bit). + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/TrashPage.vala +M src/util/misc.vala +M src/util/mk/util.mk +A src/util/ui.vala +M ui/collection.ui +M ui/offline.ui +M ui/trash.ui + +commit 2f11b89a7fd7031410de8d6efaa1d27370080604 +Author: Clinton Rogers +Date: Sat Feb 26 00:09:00 2011 +0000 + + This addresses #3212 by not creating or showing the size-chooser + widgets if the current media types don't include photographs. + +M plugins/shotwell-publishing/PicasaPublishing.vala + +commit 85a22da9ae0ec72e8f001cba0f38d71274b9eeba +Author: Clinton Rogers +Date: Fri Feb 25 23:26:58 2011 +0000 + + This addresses #3232 by saving the user's size choice to, and + restoring it from, gconf. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit 48d1cd3c7b2f3f2477f96cf7680c7d3f732c78af +Author: Clinton Rogers +Date: Fri Feb 25 22:12:45 2011 +0000 + + This fixes 3230 by restoring the ui object for this dialog box + (it had gone missing as of 2640, Glade bug suspected) + +M ui/shotwell.glade +M ui/shotwell.xml + +commit e16619498958385d24a694f4330f8e798f8d7f28 +Author: Jim Nelson +Date: Fri Feb 25 04:28:57 2011 +0000 + + #3185: Selection time on a page would grow each time a page was + switched back to. Fixed. + +M src/DataCollection.vala +M src/DesktopIntegration.vala +M src/Page.vala + +commit 1b51e6d1776be7658cc05eb97ddf7b772d962715 +Author: Jim Nelson +Date: Thu Feb 24 22:27:37 2011 +0000 + + #3250: Progress bar now displayed while printing. Operation can be + cancelled from its Cancel button. + +M src/CollectionPage.vala +M src/DataCollection.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M src/Printing.vala +M src/direct/DirectPhotoPage.vala + +commit cc32c498ed802841068e41e4e29d127c0be840f4 +Author: Clinton Rogers +Date: Thu Feb 24 21:19:01 2011 +0000 + + This addresses #3216 by making SuccessPane's constructor take an + argument that tells how many media items have been uploaded, and + altering the displayed string based on whether that argument is + equal to one or not. + + When the pane is created and installed, we pass publishables.length, + which should tell us how many media items the user was trying + to publish. + +M src/WebConnectors.vala +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/PublishingPluginHost.vala + +commit 6598329a28aafc8e98ada384b3bec4f1a5c9aa12 +Author: Lucas Beeler +Date: Thu Feb 24 21:00:33 2011 +0000 + + Fixes a problem in which publishing to Picasa Web Albums and + YouTube would fail if a media item's title contained non-ASCII + characters. Closes #3081. + +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/RESTSupport.vala +M plugins/shotwell-publishing/YouTubePublishing.vala + +commit eaf6b26fbc501293efd012467231153752d292f0 +Author: Lucas Beeler +Date: Thu Feb 24 20:55:20 2011 +0000 + + Fixes two regressions introduced when the Flickr and Facebook + connectors were ported from the legacy publishing API to the new + pluggable publishing API. Closes #3171 and #3252. + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala + +commit f4378c91f382ae2f86b85fec103d9d7d0afeed42 +Author: Jim Nelson +Date: Thu Feb 24 20:42:01 2011 +0000 + + #3233: Fixes crasher caused by marking a photo Rejected and then + back to Unrated while in full-window mode. This cleans up some of + the bookkeeping in ViewCollection with how hidden items are dealt + with when they're selected as well. + +M src/DataCollection.vala +M src/PhotoPage.vala + +commit f6b73798591a4fec581cd4f9930550ee445f96de +Author: Clinton Rogers +Date: Thu Feb 24 19:55:14 2011 +0000 + + This addresses #3016 by checking whether any of the media items in an + event have altered exposure times (as opposed to the alteration type + "metadata, time" which is valid for whole events, but not individual + images or videos). If one or more media items has an exposure time + change, the entire event is marked as 'dirty' so the sidebar will + know to re-examine the fields and refresh them. + + In addition, if the event doesn't yet have user-assigned name, a + "metadata, name" alteration is sent up, since the name displayed + for the event will need to change from 'Event XXXX' to the start + date of the event. + +M src/Event.vala + +commit c76c6607bc3b2b43699a013091b803b9939617d2 +Author: Jim Nelson +Date: Thu Feb 24 03:42:00 2011 +0000 + + #3243: Problematic printf format strings fixed. + +M src/alien_db/f_spot/FSpotDatabase.vala + +commit d76d6dfe3bf6d8b264c4d06fd66f6e761e3b512f +Author: Jim Nelson +Date: Thu Feb 24 03:38:53 2011 +0000 + + #3248: Fixes critical assertion when null string is passed to + guarded_markup_escape_text(). + +M src/util/string.vala + +commit d46d1d31afbab5f55046c84cdc876456cb0a6708 +Author: Jim Nelson +Date: Thu Feb 24 03:25:35 2011 +0000 + + #1188: Print multiple photos per page in various layouts. #3159: + Print multiple photos on successive pages. Both courtesy Nikola + Radovanovic. + +M THANKS +M src/CollectionPage.vala +M src/Config.vala +M src/PhotoPage.vala +M src/Printing.vala +M src/direct/DirectPhotoPage.vala + +commit 74e259dcb6ee9f26ba6bbe7998e93cb2e592246d +Author: Lucas Beeler +Date: Thu Feb 24 03:06:07 2011 +0000 + + Migrates the YouTube connector to the new pluggable, publishing API. + +M Makefile +M plugins/shotwell-publishing/Makefile +R052 src/YouTubeConnector.vala +plugins/shotwell-publishing/YouTubePublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M src/WebConnectors.vala +M src/plugins/StandardHostInterface.vala +M src/publishing/Publishing.vala + +commit afc218e77a2595d847c1f45607fd06c6a3929e46 +Author: Jim Nelson +Date: Thu Feb 24 01:47:32 2011 +0000 + + #3225: Thought I made these string changes in a prior commit but + did not. + +M src/SearchFilter.vala + +commit ac77504b6bd745e7cb5186876ee9898d7249153c +Author: Clinton Rogers +Date: Thu Feb 24 00:02:09 2011 +0000 + + This addresses #3218 by changing how the user input is prepared and + sanitized so that we accept empty strings. This makes renaming an + event to "" in the dialog box function exactly the same as it does + in the sidebar. + +M src/Event.vala + +commit 9017ec77b4c163a99212fd1c04b4aca3e56d72bb +Author: Adam Dingle +Date: Wed Feb 23 20:13:30 2011 +0000 + + Moved Clinton to top section of THANKS file. + +M THANKS + +commit a5d2ee012779887830679826b5e2ec840af405ad +Author: Jim Nelson +Date: Wed Feb 23 05:39:24 2011 +0000 + + Valadoc-ed the SPIT and transitions interfaces and added a docs + target in the Makefile to generate Valadoc for Shotwell's plugin API. + +M Makefile +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M src/plugins/ManifestWidget.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/TransitionsInterfaces.vala +M src/publishing/APIGlue.vala + +commit 946fe7ef6fb996b61e1a6a606126b85760036125 +Author: Jim Nelson +Date: Wed Feb 23 01:26:45 2011 +0000 + + #3215: The search bar's background is now dynamically updated as + the user changes the background color in the Preferences dialog. + +M src/SearchFilter.vala + +commit ce4020480877e8c3829b44cd205108df1a7506b5 +Author: Lucas Beeler +Date: Tue Feb 22 22:25:52 2011 +0000 + + Ports the Flickr connector to new pluggable publishing API. Closes + #3200. + +M Makefile +R054 src/FlickrConnector.vala +plugins/shotwell-publishing/FlickrPublishing.vala +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-publishing/RESTSupport.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M src/WebConnectors.vala +M src/plugins/StandardHostInterface.vala +M src/publishing/Publishing.vala +M src/util/string.vala + +commit f3cfec401b18538e583fb79f3053777caf45c712 +Author: Jim Nelson +Date: Tue Feb 22 21:53:07 2011 +0000 + + #3044: Now writing metadata to all 3 domains on an update. + +M src/photos/PhotoMetadata.vala + +commit 350127aac6cf9e02636c6a6c9d6f041be18a81bf +Author: Clinton Rogers +Date: Tue Feb 22 20:57:38 2011 +0000 + + This fixes 3124; we now use the GConf system to remember whether + the user had the find bar hidden or shown, and on start up, we set + it to this. + +M src/Config.vala +M src/LibraryWindow.vala + +commit 19c49b0af8deb301f7f338b81d81a648a4aaf4c3 +Author: Jim Nelson +Date: Tue Feb 22 20:43:52 2011 +0000 + + #3211: Brought back View -> Filter Photos, which is now available + whenever the search bar is available. #3225: Adjusted the search + filter tooltips. Reworked search filter to split out the Gtk.Actions + (which are then shared among all pages). + +M src/AppWindow.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/SearchFilter.vala +M ui/import.ui +M ui/media.ui +M ui/offline.ui +M ui/search_bar.ui +M ui/trash.ui + +commit 8011fa15af24961f2bfe7d4d2a90b71d499afe67 +Author: Clinton Rogers +Date: Tue Feb 22 20:38:32 2011 +0000 + + This addresses #3124; it's copied and pasted from the original fix + (see r2615) + +M src/SearchFilter.vala + +commit 0d9a2fca23a956eede24990c6ab4d70a3c941f97 +Author: Adam Dingle +Date: Mon Feb 21 22:58:06 2011 +0000 + + Make the toolbar button background color match the toolbar background. + + This partially fixes http://trac.yorba.org/ticket/3215 . + +M src/SearchFilter.vala + +commit 2d51356cb95e8e55d6ccf0890357c6b3b6f3abfa +Author: Jim Nelson +Date: Sat Feb 19 00:22:31 2011 +0000 + + #3188: Added back Ctrl+F to set cursor focus to the text entry box in + the search bar. This patch also allows the search bar to be hidden + and available through View -> Search Bar. + +M Makefile +M src/CollectionPage.vala +M src/LibraryWindow.vala +M src/PhotoPage.vala +M src/SearchFilter.vala +M ui/events_directory.ui +M ui/import.ui +M ui/media.ui +M ui/offline.ui +M ui/trash.ui +D ui/video.ui + +commit 02c69e909b6d6290e771e4abe3133a806da193fa +Author: Clinton Rogers +Date: Fri Feb 18 21:47:26 2011 +0000 + + This fixes 2916 by doing the following: + 1. Adds an enum with values for the standard (720 px) and large + (2048 px) picture sizes. + 2. Adds support to the various publishing-related methods + (do_upload(), on_publishing_options_pane_publish(), etc) for a + third parameter telling us what resolution the user chose. + 3. Adds a combobox to the legacy options pane in which the user + may choose their desired resolution, along with a label and any + ancillary layout stuff. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit a27a0cf2b3d6e04f4cf029315944317320339afb +Author: Jim Nelson +Date: Fri Feb 18 21:25:21 2011 +0000 + + #2229: Event name is now a date range for events spanning multiple + days. #2599: If an event is named, the date (or date range) appears + in its tooltip along with its name. Both courtesy Wolfgang Steitz. + +M THANKS +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/Page.vala +M src/Sidebar.vala +M src/util/misc.vala +M src/util/string.vala + +commit 76304ef3341384605ef71c4c4bd4289e23cc9c52 +Author: Jim Nelson +Date: Fri Feb 18 04:00:18 2011 +0000 + + #3170: Plugins can now be enabled/disabled via the Preferences dialog. + +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/PicasaPublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M src/Config.vala +M src/Dialogs.vala +M src/Resources.vala +M src/Sidebar.vala +M src/WebConnectors.vala +A src/plugins/ManifestWidget.vala +M src/plugins/Plugins.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/plugins/mk/plugins.mk +M src/publishing/APIGlue.vala +M src/publishing/Publishing.vala +M src/slideshow/Slideshow.vala +M src/slideshow/TransitionEffects.vala +M sw-glade +M ui/shotwell.glade + +commit 2759ed8b45e31b081579ecf65f4113dacbeb1272 +Author: Clinton Rogers +Date: Fri Feb 18 01:20:49 2011 +0000 + + This fixes 3175 by checking whether we're making a new gallery + or uploading a video. If neither is true, we set the combo box + to insensitive. + +M plugins/shotwell-publishing/FacebookPublishing.vala + +commit d090288948a412767d1d45d710336ecc3e7d15e3 +Author: Lucas Beeler +Date: Fri Feb 18 01:05:05 2011 +0000 + + Ports the Picasa publishing client to the new pluggable publishing + API. Services discovered dynamically now automatically have their + names placed in the service selector box. + +M Makefile +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/Makefile +R060 src/PicasaConnector.vala +plugins/shotwell-publishing/PicasaPublishing.vala +A plugins/shotwell-publishing/RESTSupport.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +D src/FacebookConnector.vala +M src/WebConnectors.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/StandardHostInterface.vala +M src/publishing/APIGlue.vala +M src/publishing/PublishingPluginHost.vala + +commit 36484811454c9d3f327355bcf654b1f34df577d6 +Author: Adam Dingle +Date: Thu Feb 17 20:28:05 2011 +0000 + + Fixed #3208 (toolbar items shift when rating filter changes). + +M src/SearchFilter.vala + +commit 152ba16694cc03deb0dd33c529d2986693afc153 +Author: Jim Nelson +Date: Thu Feb 17 19:11:39 2011 +0000 + + #3157: Use more processors (when available) for generating mimics. + +M src/MimicManager.vala + +commit a7682276e4b7e3e38c819e08844957c766a4e536 +Author: Clinton Rogers +Date: Thu Feb 17 00:36:01 2011 +0000 + + This addresses ticket #3004 by checking to see whether we're getting + a close or delete event back from the dialog box. If so, we treat + this as cancel and stay on the current photo, + since the user didn't yet decide whether to keep or revert their + edits. + +M src/direct/DirectPhotoPage.vala + +commit 807ccf1facf4abc7cc5d430ef14dd84c002cde21 +Author: Jim Nelson +Date: Tue Feb 15 06:27:53 2011 +0000 + + #3100: Search bar, from Eric. + +M Makefile +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Config.vala +M src/DataCollection.vala +M src/EventsDirectoryPage.vala +M src/FlaggedPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/Page.vala +M src/Resources.vala +A src/SearchFilter.vala +M src/TrashPage.vala +D src/VideosPage.vala +M ui/media.ui +A ui/search_bar.ui + +commit d124215063c742e8899ad599be8e699af0ccb9a0 +Author: Vera Yin +Date: Tue Feb 15 01:08:18 2011 +0000 + + Updated copyright to 2011 in PO files. Updated English (UK), Finnish, + Hebrew, Hungarian, Korean, Portuguese, Russian, Spanish, Swedish, + and Turkish translations. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit b05838acb1b22e094f196e776b0d5cf549196c3d +Author: Jim Nelson +Date: Sat Feb 12 02:56:11 2011 +0000 + + #182: Further work on plugins. Added reserved symbols to plugin + interfaces to make room for future expansion. + +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +M src/plugins/TransitionsInterfaces.vala + +commit 6345489529f8ad7435a12df10f5a3b99fc857298 +Author: Jim Nelson +Date: Sat Feb 12 01:59:56 2011 +0000 + + #3143: New data model for direct-edit mode to fix navigation problem. + +M Makefile +M src/BatchImport.vala +M src/DataCollection.vala +M src/DataObject.vala +D src/DelayedQueue.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/LibraryMonitor.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Tag.vala +M src/TimedQueue.vala +A src/direct/Direct.vala +A src/direct/DirectPhoto.vala +A src/direct/DirectPhotoPage.vala +A src/direct/DirectPhotoPlaceholder.vala +A src/direct/DirectView.vala +R096 src/DirectWindow.vala src/direct/DirectWindow.vala +A src/direct/mk/direct.mk +M src/main.vala +M src/photos/PhotoFileSniffer.vala +M src/util/misc.vala +M units.mk + +commit b6bb10e61603de9701a4cfcbbbc8d5eafe6f6a4f +Author: Eric Gregory +Date: Sat Feb 12 01:45:04 2011 +0000 + + #2606 fullscreen toolbar fix + +M src/AppWindow.vala + +commit a6273c7bba879970b31bf926a27a8bad83c5778c +Author: Eric Gregory +Date: Fri Feb 11 02:13:08 2011 +0000 + + #2611 prevent sidebar scrolling when deleting tags and events + +M src/LibraryWindow.vala +M src/Sidebar.vala + +commit 921bbf046259ffd57ba8fa39e86b9601fb9b63f0 +Author: Clinton Rogers +Date: Fri Feb 11 01:32:47 2011 +0000 + + This addresses ticker #853 - holding down ctrl+shift while clicking + to choose items works like it does in Nautilus file manager. + +M src/Page.vala + +commit f73012ba357e83c21077ac622cd406bd4ea1fb30 +Author: Lucas Beeler +Date: Thu Feb 10 21:03:30 2011 +0000 + + Simplified names in the publishing API; fixed a problem with Facebook + logout that should've been in my previous commit but wasn't. ;-) + +M plugins/shotwell-publishing/FacebookPublishing.vala +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/PublishingPluginHost.vala + +commit 8beb036282cccc0172af02e97ec85178cec130c2 +Author: Lucas Beeler +Date: Thu Feb 10 19:58:23 2011 +0000 + + Simplifies and refines the new publishing API; at this point, the + API is "stable" but not yet "frozen". + +M plugins/shotwell-publishing/FacebookPublishing.vala +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/PublishingPluginHost.vala + +commit 2acf162a4e91159f6365b674764dec7a739ebc3f +Author: Clinton Rogers +Date: Thu Feb 10 04:47:57 2011 +0000 + + This fixes #3146 by slightly increasing the size of the 'dirty' + region when preparing to erase the clip box from the previous frame. + +M src/EditingTools.vala + +commit e391cf4809cc053c14d54c5ae7bfa4f47dbb5cf9 +Author: Clinton Rogers +Date: Thu Feb 10 03:12:15 2011 +0000 + + Fix for #3144 - this adds the ability to press Ctrl-F in any area + of the app that has the search box to send focus to it. + +M src/MediaPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M ui/media.ui + +commit 29d7bce6ba19e20a170e318230c490fe2ad5892e +Author: Clinton Rogers +Date: Thu Feb 10 03:10:35 2011 +0000 + + Fix for #3023; we now check whether a failed external edit file + creation is due to insufficient permissions, and if so, display a + friendlier error message. + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/PhotoPage.vala + +commit 8ba6f59f8f12e3656c9a04e5ababa64e3785da6f +Author: Jim Nelson +Date: Thu Feb 10 02:10:01 2011 +0000 + + Removed spitter plugin, as it was only intended to test out early + implementations of the plugin loader. samples/simple-plugin is a + better place for what spitter set out to achieve. + +M plugins/plugins.mk +D plugins/spitter/Makefile +D plugins/spitter/spitter.vala + +commit 7cf599a0fe91f7052d6f1a17620c487edab4b578 +Author: Jim Nelson +Date: Thu Feb 10 01:50:56 2011 +0000 + + #3160: Plugin headers and VAPI files are now installable. Must be + enabled with the configure script. A .pc file is also installed. + #2535: Now that all valac warnings have been eliminated and we require + Vala 0.10.0 or above, added --fatal-warnings option to Makefile. + #3167: Fixed "unreachable catch clause" build warning. Also added + sample plugin to source tree. + +M Makefile +M configure +M plugins/Makefile.plugin.mk +M plugins/shotwell-publishing/Makefile +M plugins/shotwell-transitions/Makefile +M plugins/spitter/Makefile +A samples/simple-plugin/Makefile +A samples/simple-plugin/README +A samples/simple-plugin/simple-plugin.vala +A shotwell-plugin-dev-1.0.m4 +M src/VideoSupport.vala +M src/plugins/mk/interfaces.mk + +commit 1f813bacd23ce99342eb0ce1e967efd1218e7c40 +Author: Eric Gregory +Date: Wed Feb 9 20:03:39 2011 +0000 + + #3147 switch to totem-video-thumbnailer + +M Makefile +M src/VideoSupport.vala + +commit f6e0d5d35c0155082b4e4ed33221c0208e5bcff4 +Author: Eric Gregory +Date: Wed Feb 9 19:42:39 2011 +0000 + + #3129 fixed segfault when opening photo with missing backing file + +M src/CheckerboardLayout.vala +M src/PhotoPage.vala + +commit c0dbe8e620cb13f758b3e7e3968a84d48845ba41 +Author: Eric Gregory +Date: Wed Feb 9 19:29:19 2011 +0000 + + #3059 jump to last import page after import + +M src/LibraryWindow.vala + +commit da9a203490966b0f98e2c5a3a9ce5948be95b5c3 +Author: Jim Nelson +Date: Wed Feb 9 02:44:15 2011 +0000 + + #182: Further work on plugins interfaces. + +M plugins/Makefile.plugin.mk +M plugins/shotwell-publishing/FacebookPublishing.vala +M plugins/shotwell-publishing/shotwell-publishing.vala +M plugins/shotwell-transitions/CrumbleEffect.vala +M plugins/shotwell-transitions/FadeEffect.vala +M plugins/shotwell-transitions/SlideEffect.vala +M plugins/shotwell-transitions/shotwell-transitions.vala +M plugins/spitter/spitter.vala +M src/AppDirs.vala +M src/Config.vala +M src/plugins/Plugins.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/SpitInterfaces.vala +A src/plugins/StandardHostInterface.vala +M src/plugins/TransitionsInterfaces.vala +M src/plugins/mk/interfaces.mk +M src/plugins/mk/plugins.mk +M src/publishing/APIGlue.vala +M src/slideshow/TransitionEffects.vala + +commit b80664e8247acc47b3e860aa343309d97b8b4231 +Author: Adam Dingle +Date: Wed Feb 9 00:12:20 2011 +0000 + + Added Eric to AUTHORS. + +M AUTHORS +M THANKS +M src/Resources.vala +M src/photos/GRaw.vala + +commit 24caa52ea8c4ff7a9414542d62bfd748c758242a +Author: Clinton Rogers +Date: Tue Feb 8 21:13:25 2011 +0000 + + Fix for #3124. We now track whether we've gotten an event for the + escape key, and if so, we clear the search box, otherwise, we let + the event proceed normally. + +M src/MediaPage.vala + +commit 14447961692c0292ad44778bdf3a117d807ff5e9 +Author: Adam Dingle +Date: Tue Feb 8 20:12:45 2011 +0000 + + Added Clinton to THANKS file. + +M THANKS + +commit 1e13a3d237c4b284ab6315705971646131574e60 +Author: Lucas Beeler +Date: Tue Feb 8 02:11:28 2011 +0000 + + The Facebook Connector, previously ported to the new publishing API, + has now been packaged in a separate .so file as a dynamically loadable + plug-in. This is the result of both code and build system changes. + +M plugins/Makefile.plugin.mk +M plugins/plugins.mk +R098 src/publishing/FacebookPublishing.vala +plugins/shotwell-publishing/FacebookPublishing.vala +A plugins/shotwell-publishing/Makefile +A plugins/shotwell-publishing/shotwell-publishing.vala +M src/FacebookConnector.vala +M src/plugins/PublishingInterfaces.vala +M src/plugins/mk/interfaces.mk +M src/publishing/APIGlue.vala +M src/publishing/mk/publishing.mk + +commit 044eb8993049ed17b0f2b93d5aed6f9d5386f471 +Author: Adam Dingle +Date: Mon Feb 7 18:49:17 2011 +0000 + + Updated minimum Vala version to 0.10.0. + +M Makefile + +commit 2be5ac16086c46416e2ee873349f42149f048469 +Author: Eric Gregory +Date: Fri Feb 4 23:59:52 2011 +0000 + + #1579 customizable directory structure + +M src/AppDirs.vala +M src/Config.vala +M src/Dialogs.vala +M src/LibraryFiles.vala +M src/MediaDataRepresentation.vala +M src/Resources.vala +M ui/shotwell.glade + +commit 0e6b31b82553cf5f177d5ce8f0071b2ffc94d758 +Author: Jim Nelson +Date: Fri Feb 4 23:43:36 2011 +0000 + + Build system now removes temp file leftover during VAPI creation. + +M src/plugins/mk/interfaces.mk + +commit 3499ae9535d2404bdc10e044d1f75da51d642704 +Author: Jim Nelson +Date: Fri Feb 4 23:31:57 2011 +0000 + + #3121: Fixed critical warning in progress bar. Needed to wait for + realize signal (which means the GDK window object has been created) + before calling methods on the GDK window. + +M src/Dialogs.vala + +commit 535317def33a6ec7015c022926fb623fa25519fa +Author: Clinton Rogers +Date: Fri Feb 4 00:32:05 2011 +0000 + + Dialogs: made the Preferences dialog regain focus if the user chooses + 'Edit -> Preferences' a second time (trac #3001) + PiwigoConnector: changed the mnemonic for the 'Username' field from + 'U' to 'N' (#3002) + +M src/Dialogs.vala +M src/PiwigoConnector.vala + +commit 6210207f931d85dd0abbb7980962223552ff2a06 +Author: Jim Nelson +Date: Thu Feb 3 23:24:20 2011 +0000 + + #2450: Toolbar now remains pinned in fullscreen mode. Courtesy Philip + Beam. + +M src/AppWindow.vala +M src/PhotoPage.vala + +commit 2d4a043b1395c57466baa98b15893bfe59ddd079 +Author: Lucas Beeler +Date: Thu Feb 3 03:24:01 2011 +0000 + + Refines the new publishing API so that the plugin host completely + encapsulates operations on temporary files. This way, plugin writers + don't have to deal with temporaries. Changed the reference Facebook + plugin to conform to the changed API. + +M src/WebConnectors.vala +M src/plugins/PublishingInterfaces.vala +M src/publishing/APIGlue.vala +M src/publishing/FacebookPublishing.vala +M src/publishing/PublishingPluginHost.vala + +commit bcb052e528ef88bad218a2e9384ce31122d00669 +Author: Jim Nelson +Date: Thu Feb 3 01:16:56 2011 +0000 + + #601: Import TIFF files. This represents basic TIFF support, 8-bit + pipeline only, using gdk-pixbuf as the support library. + +M Makefile +M misc/shotwell-viewer.desktop.head +M src/BatchImport.vala +M src/Photo.vala +R100 src/GRaw.vala src/photos/GRaw.vala +R092 src/GdkSupport.vala src/photos/GdkSupport.vala +R100 src/JfifSupport.vala src/photos/JfifSupport.vala +R100 src/PhotoFileAdapter.vala src/photos/PhotoFileAdapter.vala +R092 src/PhotoFileFormat.vala src/photos/PhotoFileFormat.vala +R100 src/PhotoFileSniffer.vala src/photos/PhotoFileSniffer.vala +R100 src/PhotoMetadata.vala src/photos/PhotoMetadata.vala +A src/photos/Photos.vala +R100 src/PngSupport.vala src/photos/PngSupport.vala +R100 src/RawSupport.vala src/photos/RawSupport.vala +A src/photos/TiffSupport.vala +A src/photos/mk/photos.mk +M units.mk + +commit 30102cc21ff921875a2e3d198d7413473dd67e33 +Author: Jim Nelson +Date: Thu Feb 3 00:53:26 2011 +0000 + + #3148: Moved AlienDb/F-Spot import menu actions into LibraryWindow + as a common action. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/TrashPage.vala +M src/VideosPage.vala +M ui/direct.ui +M ui/event.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/tags.ui +M ui/trash.ui + +commit 40dde946f7418065c554cdb3f9459c37ca1bbcfa +Author: Jim Nelson +Date: Wed Feb 2 23:54:49 2011 +0000 + + #3096: Unitize the alien database/F-Spot import code. Courtesy Bruno + Girin. + +M Makefile +D src/AlienDatabase.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +D src/FSpotDatabaseDriver.vala +D src/FSpotDatabaseTables.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/PhotoPage.vala +M src/TrashPage.vala +A src/alien_db/AlienDatabase.vala +A src/alien_db/AlienDatabaseDriver.vala +A src/alien_db/AlienDatabaseEvent.vala +A src/alien_db/AlienDatabaseHandler.vala +R093 src/AlienDatabaseImportDialog.vala +src/alien_db/AlienDatabaseImportDialog.vala +A src/alien_db/AlienDatabaseImportDialogController.vala +A src/alien_db/AlienDatabaseImportJob.vala +R054 src/AlienDatabaseImportJob.vala +src/alien_db/AlienDatabaseImportSource.vala +A src/alien_db/AlienDatabasePhoto.vala +A src/alien_db/AlienDatabaseTag.vala +A src/alien_db/AlienDatabaseVersion.vala +A src/alien_db/AlienDb.vala +A src/alien_db/DiscoveredAlienDatabase.vala +A src/alien_db/f_spot/AlienDb.FSpot.vala +A src/alien_db/f_spot/FSpotDatabase.vala +A src/alien_db/f_spot/FSpotDatabaseBehavior.vala +A src/alien_db/f_spot/FSpotDatabaseDriver.vala +A src/alien_db/f_spot/FSpotDatabaseEvent.vala +A src/alien_db/f_spot/FSpotDatabasePhoto.vala +A src/alien_db/f_spot/FSpotDatabaseTable.vala +A src/alien_db/f_spot/FSpotDatabaseTag.vala +A src/alien_db/f_spot/FSpotMetaTable.vala +A src/alien_db/f_spot/FSpotPhotoTagsTable.vala +A src/alien_db/f_spot/FSpotPhotoVersionsTable.vala +A src/alien_db/f_spot/FSpotPhotosTable.vala +A src/alien_db/f_spot/FSpotRollsTable.vala +A src/alien_db/f_spot/FSpotTableBehavior.vala +A src/alien_db/f_spot/FSpotTagsTable.vala +A src/alien_db/f_spot/mk/f_spot.mk +A src/alien_db/mk/alien_db.mk +M src/main.vala +M ui/shotwell.glade +M units.mk + +commit 0b1cd2bc538a9b7e5f5aa66756789bf39f9d1813 +Author: Lucas Beeler +Date: Wed Feb 2 02:28:13 2011 +0000 + + Ports the Facebook connector to the new publishing API. Includes + refinements to the publishing API to support the ported Facebook + connector as well as the soon-to-be-ported Picasa connector. + +M src/Config.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/PicasaConnector.vala +M src/PiwigoConnector.vala +M src/WebConnectors.vala +M src/YandexConnector.vala +M src/YouTubeConnector.vala +M src/plugins/Plugins.vala +M src/plugins/PublishingInterfaces.vala +A src/publishing/APIGlue.vala +A src/publishing/FacebookPublishing.vala +A src/publishing/Publishing.vala +A src/publishing/PublishingPluginHost.vala +A src/publishing/mk/publishing.mk +M units.mk + +commit c708b1b6875e33ae351b5e2e1cda3a65f2331ae0 +Author: Jim Nelson +Date: Wed Feb 2 01:04:59 2011 +0000 + + #2705: Maximum Vala compiler version now checked during build. + +M Makefile +A chkver +D minver +M src/plugins/mk/interfaces.mk + +commit 61f1440c12517de2024096d8bb616601484fbc76 +Author: Jim Nelson +Date: Tue Feb 1 23:26:53 2011 +0000 + + #2519: Migration from DBus GLib to GDBus. + +M Makefile +M debian/control +M src/Screensaver.vala + +commit ef9c4b4bf527da5c345dc7f47c5f74d06027bf0c +Author: Jim Nelson +Date: Tue Feb 1 21:20:34 2011 +0000 + + #3142: Fixes segfault if a transition is occurring when the window + is destroyed. + +M src/Page.vala + +commit 87e6fdcf9ea1d4e50535dca62ac240ca85bf9885 +Author: Jim Nelson +Date: Tue Feb 1 21:15:36 2011 +0000 + + #2527: Cairo now used for all drawing. Courtesy Siddhesh Poyarekar. + +M THANKS +M src/CheckerboardLayout.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/MediaPage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/slideshow/TransitionEffects.vala +M src/util/image.vala + +commit 3aea9ec212919bcec87d184b6c4a760b54de03bc +Author: Jim Nelson +Date: Tue Feb 1 02:59:31 2011 +0000 + + #3114: mkunit and Makefile now handle subunits properly. Courtesy + Bruno Girin. + +M Makefile +M mkunit + +commit 1514b4ab387883e1c9837750d0029a1aff2d9e7b +Author: Jim Nelson +Date: Tue Feb 1 00:24:40 2011 +0000 + + #2869: Delete tag with the Delete button. Courtesy Philip Beam. + +M src/LibraryWindow.vala +M src/Page.vala +M src/Sidebar.vala +M src/TagPage.vala + +commit 87354b7a7e16a38b0cc210d518ba26079b45b4d0 +Author: Jim Nelson +Date: Mon Jan 31 23:03:37 2011 +0000 + + #2987: Now using VFS to retrieve file's mime-type to verify it's a + video rather than a hard-coded list of extensions. Courtesy Bruno + Girin. + +M Makefile +M src/VideoSupport.vala + +commit ec3f579adef5300958b9b34d08cb0ee9f3df21f3 +Author: Adam Dingle +Date: Wed Jan 26 18:29:11 2011 +0000 + + Fixed #3127 (Shotwell fails to build on trunk), replacing a + non-portable + echo command with printf. + +M src/plugins/mk/interfaces.mk + +commit 212a7309ca0260be779b18da0f8b20bc8ef7a5b8 +Author: Adam Dingle +Date: Mon Jan 24 18:42:59 2011 +0000 + + A patch from Bruno Girin: + Fixed #3113 (Original date displayed as 01/m/2011 in adjust date + and time + dialog). + +M po/en_GB.po +M po/tr.po + +commit fe1aed931f607f2d45ba8eb37dda4a78b320dc5a +Author: Jim Nelson +Date: Fri Jan 21 01:31:01 2011 +0000 + + #182: Further work on the plugins interface. First live + implementation of Shotwell plugins included in this commit: Slideshow + transitions. + +M Makefile +M plugins/Makefile +M plugins/Makefile.plugin.mk +M plugins/plugins.mk +A plugins/shotwell-transitions/CrumbleEffect.vala +A plugins/shotwell-transitions/FadeEffect.vala +A plugins/shotwell-transitions/Makefile +A plugins/shotwell-transitions/SlideEffect.vala +A plugins/shotwell-transitions/shotwell-transitions.vala +M plugins/spitter/Makefile +M plugins/spitter/spitter.vala +M src/Config.vala +M src/Page.vala +M src/SlideshowPage.vala +M src/plugins/Plugins.vala +M src/plugins/SpitInterfaces.vala +A src/plugins/TransitionsInterfaces.vala +A src/plugins/mk/interfaces.mk +M src/plugins/mk/plugins.mk +M src/slideshow/Slideshow.vala +M src/slideshow/TransitionEffects.vala +M src/slideshow/mk/slideshow.mk +M src/util/misc.vala + +commit 1b6c3c4362f22ea2c2dd3f27b747271d4ce3c792 +Author: Jim Nelson +Date: Tue Jan 18 23:32:06 2011 +0000 + + #1081: Slideshow transitions, including Fade, Shift, and Tear down. + Courtesy Maxim Kartashev. + +M THANKS +M src/AppWindow.vala +M src/Config.vala +M src/Page.vala +M src/SlideshowPage.vala +M src/plugins/Plugins.vala +M src/plugins/mk/plugins.mk +A src/slideshow/Slideshow.vala +A src/slideshow/TransitionEffects.vala +C085 src/unit/rc/template.mk src/slideshow/mk/slideshow.mk +M src/unit/rc/template.mk +M src/util/misc.vala +M src/util/string.vala +M units.mk + +commit d0a1fdf2ec5a25889ffcabd0545b70d3fd328655 +Author: Jim Nelson +Date: Tue Jan 18 02:41:35 2011 +0000 + + #182: Further work in building infrastructure to support plug-ins. + +M Makefile +A plugins/Makefile +A plugins/Makefile.plugin.mk +A plugins/plugins.mk +A plugins/spitter/Makefile +A plugins/spitter/spitter.vala +M src/AppDirs.vala +M src/DirectoryMonitor.vala +M src/plugins/Plugins.vala +A src/plugins/SpitInterfaces.vala +M src/plugins/mk/plugins.mk +M src/util/Util.vala + +commit ca262ebc3334fcb51cfe65e4ec426f49d623b4bb +Author: Eric Gregory +Date: Sat Jan 15 01:45:50 2011 +0000 + + #80 search filter! + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Config.vala +M src/DataCollection.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MediaPage.vala +M src/PhotoPage.vala +M src/VideosPage.vala + +commit ff4367cb8f70f38c8b4f2db0d6dd321ca4c5cae9 +Author: Lucas Beeler +Date: Sat Jan 15 01:24:57 2011 +0000 + + This commits the "chilled" version of the Publishing Plugins API + that will be used to develop the first reference plugin. + +M src/plugins/PublishingInterfaces.vala + +commit dd0844f0a9d4033fe5cba4adf2fcb894a2c4b8e1 +Author: Jim Nelson +Date: Fri Jan 14 20:07:45 2011 +0000 + + #3097: Fixes problem in sidebar where renaming one event renames + a second. Courtesy Philip Beam. + +M src/Sidebar.vala + +commit a2335d6fae3d0241ef68e7b1a885da4c52464d93 +Author: Jim Nelson +Date: Fri Jan 14 00:51:19 2011 +0000 + + #182: First step toward publishing plugins. This establishes the + plugins unit and makes first-stab declarations toward interfaces + that will be used in the publishing process. + +M mkunit +A src/plugins/Plugins.vala +A src/plugins/PublishingInterfaces.vala +C092 src/unit/rc/template.mk src/plugins/mk/plugins.mk +M src/unit/rc/template.mk +M units.mk + +commit 0ccb3d1fe7d99dc26fc7ca77cf6550513941992e +Author: Eric Gregory +Date: Wed Jan 12 20:07:48 2011 +0000 + + #3065 crank it up to 2011 + +M INSTALL +M README +M configure +M debian/copyright +M help/C/Makefile +M libraw-config +M minver +M src/AlienDatabase.vala +M src/AlienDatabaseImportDialog.vala +M src/AlienDatabaseImportJob.vala +M src/AppDirs.vala +M src/AppWindow.vala +M src/Application.vala +M src/BatchImport.vala +M src/Box.vala +M src/CameraTable.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/Config.vala +M src/CustomComponents.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Debug.vala +M src/DelayedQueue.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectWindow.vala +M src/DirectoryMonitor.vala +M src/EditingTools.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/Exporter.vala +M src/FSpotDatabaseDriver.vala +M src/FSpotDatabaseTables.vala +M src/FacebookConnector.vala +M src/FlaggedPage.vala +M src/FlickrConnector.vala +M src/GPhoto.vala +M src/GRaw.vala +M src/GdkSupport.vala +M src/ImportPage.vala +M src/International.vala +M src/JfifSupport.vala +M src/LastImportPage.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/MediaDataRepresentation.vala +M src/MediaInterfaces.vala +M src/MediaMetadata.vala +M src/MediaMonitor.vala +M src/MediaPage.vala +M src/MetadataWriter.vala +M src/MimicManager.vala +M src/OfflinePage.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoFileAdapter.vala +M src/PhotoFileFormat.vala +M src/PhotoFileSniffer.vala +M src/PhotoMetadata.vala +M src/PhotoMonitor.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +M src/PixbufCache.vala +M src/PngSupport.vala +M src/Printing.vala +M src/Properties.vala +M src/RawSupport.vala +M src/Resources.vala +M src/Screensaver.vala +M src/Sidebar.vala +M src/SlideshowPage.vala +M src/SortedList.vala +M src/Tag.vala +M src/TagPage.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/TimedQueue.vala +M src/Tombstone.vala +M src/TrashPage.vala +M src/VideoMetadata.vala +M src/VideoMonitor.vala +M src/VideoSupport.vala +M src/VideosPage.vala +M src/WebConnectors.vala +M src/YouTubeConnector.vala +M src/db/DatabaseTable.vala +M src/main.vala +M src/threads/Workers.vala +M src/util/file.vala +M src/util/image.vala +M src/util/misc.vala +M src/util/string.vala +M src/util/system.vala +M vapi/ExtendedPosix.vapi +M vapi/LConv.vapi +M vapi/gphoto.h +M vapi/libexif.vapi +M vapi/libgphoto2.vapi +M vapi/libraw.vapi + +commit ffa14fb2aa8fd1310fdd4f33c6002594b89a6349 +Author: Jim Nelson +Date: Wed Jan 12 02:36:32 2011 +0000 + + Termination order was incorrect. + +M src/unit/rc/UnitInternals.m4 + +commit d0973db72c9af793b1d29d8a3976e51929476abf +Author: Jim Nelson +Date: Wed Jan 12 00:56:55 2011 +0000 + + #2650: Major reorganization of Shotwell source into units, which + puts code of related or similar functionality into logical groupings. + Code is now "unitized" or "ununitized". Four new units are introduced + here (unit, util, db, and threads). More will follow, so that the + reorg is in small stages and not one fell swoop. + +M Makefile +A mkunit +A mkvala +D src/DatabaseTables.vala +A src/db/DatabaseTable.vala +A src/db/Db.vala +A src/db/EventTable.vala +A src/db/PhotoTable.vala +A src/db/TagTable.vala +A src/db/TombstoneTable.vala +A src/db/VersionTable.vala +A src/db/VideoTable.vala +A src/db/mk/db.mk +M src/main.vala +R059 src/Workers.vala src/threads/BackgroundJob.vala +A src/threads/Semaphore.vala +A src/threads/Threads.vala +A src/threads/Workers.vala +A src/threads/mk/threads.mk +A src/unit/Unit.vala +A src/unit/mk/unit.mk +A src/unit/rc/Unit.m4 +A src/unit/rc/UnitInternals.m4 +A src/unit/rc/template.mk +A src/unit/rc/template.vala +A src/unit/rc/unitize_entry.m4 +A src/util/KeyValueMap.vala +A src/util/Util.vala +R100 src/file_util.vala src/util/file.vala +R100 src/image_util.vala src/util/image.vala +R084 src/util.vala src/util/misc.vala +A src/util/mk/util.mk +R100 src/string_util.vala src/util/string.vala +R100 src/system.vala src/util/system.vala +A unitize.mk +A units.mk + +commit 3cdf4ab28597c554dd4cd4d917198a82cc9f2b20 +Author: Eric Gregory +Date: Wed Jan 12 00:39:35 2011 +0000 + + #2981 added FAQ + +M src/AppWindow.vala +M src/Resources.vala +M ui/direct.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui + +commit 88524ca6b187a946afc098a5f20cf66ed97463e6 +Author: Eric Gregory +Date: Tue Jan 11 21:04:04 2011 +0000 + + #2846 #2647 view collection now copied when entering single photo mode + +M src/DataCollection.vala +M src/DataObject.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 90cf27c28dcf0e700697dfeab0fdfee7d21eb743 +Author: Jim Nelson +Date: Tue Jan 11 21:03:53 2011 +0000 + + #2490: Renaming event or tag now sticks when Enter or clicked away. + Courtesy Philip Beam. + +M src/Sidebar.vala + +commit dcaebd1fb027d97d9ee48ebfef8670f3651eb687 +Author: Lucas Beeler +Date: Tue Jan 11 04:04:22 2011 +0000 + + Updated version numbers of the Makefile, POT file, and all PO files + to 0.8.1+trunk following the Shotwell 0.8.1 release. + +M Makefile +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 414e0d5f23cd44d6974f9ed0e605deda37676c92 +Author: Lucas Beeler +Date: Tue Jan 11 04:01:54 2011 +0000 + + Merged the debian/changelog file from the 0.8.x branch into trunk + following the release of Shotwell 0.8.1. + +M debian/changelog + +commit 17346e4a372fd59172b3bb545debab50419c6e8a +Author: Lucas Beeler +Date: Tue Jan 11 03:59:57 2011 +0000 + + Merged NEWS file from the 0.8.x release branch following the relase + of Shotwell 0.8.1. + +M NEWS + +commit 86a8c6f3f4b6b2133d6333b1df927caebc6caae2 +Author: Eric Gregory +Date: Tue Jan 11 02:57:29 2011 +0000 + + #2979 specific error when unable to import to library folder + +M src/BatchImport.vala +M src/Dialogs.vala +M src/Photo.vala + +commit d8059e5ae0e06fcab446b3d012e59759d7c13b03 +Author: Jim Nelson +Date: Mon Jan 10 23:11:48 2011 +0000 + + #2874: Only show the progress dialog box after a small amount of + time has elapsed, to prevent it flashing on the screen for quick + operations. Courtesy Maxim. + +M src/Dialogs.vala + +commit 30fb90b3f6a53f84bc4a178cefeb7ca03c18b4a9 +Merge: dcda7c9 3434f5c +Author: Jim Nelson +Date: Fri Jan 7 23:10:44 2011 +0000 + + Merge from branch shotwell-0.8. + +commit 3434f5c6564742026576c174080fe68b973ba08e +Author: Jim Nelson +Date: Fri Jan 7 23:09:06 2011 +0000 + + #3076: ImportPage wasn't deleting videos if the user requested it. + +M src/ImportPage.vala + +commit 176553cf0e83737afe17072f4958975fdb9bf69f +Author: Jim Nelson +Date: Fri Jan 7 22:47:55 2011 +0000 + + #3075: Add/Modify Tags was missing in Videos context menu. + Courtesty Richard B. Kreckel. + +M THANKS +M ui/video.ui + +commit dcda7c9344f4cb21ef16a63617d225fdcaf78c9b +Merge: 678e772 e893015 +Author: Jim Nelson +Date: Fri Jan 7 00:58:08 2011 +0000 + + Merge from 0.8 branch. + +commit e89301566b2d7afd5650b58ba9ab7ba341603f0b +Author: Jim Nelson +Date: Fri Jan 7 00:52:07 2011 +0000 + + #3020: Fixes a situation where an invalid tag name (blank or all + spaces) makes it way into the database and then can't be added to + a tag lookup table at startup. + +M src/Photo.vala +M src/Tag.vala + +commit cddc373eaa368c6f7e4f9361a11cbb00cce18632 +Author: Eric Gregory +Date: Thu Jan 6 00:24:12 2011 +0000 + + #3041 removed FLUSH flag + +M src/VideoSupport.vala + +commit 678e772bdcfc98edce921f456e948b96abb47e27 +Author: Eric Gregory +Date: Thu Jan 6 00:19:54 2011 +0000 + + #3041 removed FLUSH flag + +M src/VideoSupport.vala + +commit e66d51505845aa053bd17e24e9a7e40e7c72a63f +Author: Jim Nelson +Date: Thu Jan 6 00:13:42 2011 +0000 + + #3014: Similar to #3033, but this deals not with an empty keyword + list but when the keyword list is nothing but spaces. + +M src/MetadataWriter.vala +M src/PhotoMetadata.vala + +commit 4d27bbf23c7757cfcba6e8685ebf99b98ee0de9c +Merge: 25f0eb5 31333fe +Author: Jim Nelson +Date: Wed Jan 5 02:17:11 2011 +0000 + + Merge of 0.8.0+branch to trunk. + +commit 31333fee721b0d4830be0bd2a0181a8ca4702eea +Author: Jim Nelson +Date: Wed Jan 5 02:10:34 2011 +0000 + + #3057: Fixes problem reading video metadata from certain MP4/Quicktime + files. + +M src/VideoMetadata.vala + +commit d77de150b1f94cd409ccf474db965c1331fce33e +Author: Vera Yin +Date: Wed Jan 5 01:04:56 2011 +0000 + + Updated Italian and Portuguese translations in 0.8 branch. + +M po/it.po +M po/pt.po + +commit 09af5174121e5b8d752078df543759e42b5b5fee +Author: Jim Nelson +Date: Wed Jan 5 00:18:22 2011 +0000 + + #3056: Added support for the Samsung RAW format (.srw) + +M src/Photo.vala +M src/RawSupport.vala + +commit cc8d2972911c167f4fcfcb648ca46853e283c13a +Author: Jim Nelson +Date: Tue Jan 4 21:00:57 2011 +0000 + + #3033: Importing a file with an empty keyword list in its metadata + caused Shotwell to segfault. + +M src/PhotoMetadata.vala + +commit 0116f5d4bdb25430782f1ca1ced14730ce62492c +Author: Jim Nelson +Date: Tue Jan 4 00:30:17 2011 +0000 + + #3030: 3GP support (originally added to trunk in r2529) merged into + 0.8 branch. + +M src/VideoSupport.vala + +commit ee4b4f883ce3b22038fff47af8eb86bc5b5c72f0 +Author: Jim Nelson +Date: Tue Jan 4 00:00:44 2011 +0000 + + #3050: Fixes build error with Vala 0.10.2. Also discovered during + testing that we no longer build on Vala 0.9.7 (our stated minimum + version). We now require 0.9.8. + +M Makefile +M debian/control +M src/Dialogs.vala + +commit 0f74aa7604c7b39fdbff1ceac60fe468fe732ccf +Author: Jim Nelson +Date: Mon Jan 3 20:02:03 2011 +0000 + + Oops! Never committed necessary changes to packaging 0.8. + Here they are. + +M Makefile +M NEWS +M README +M debian/changelog +M debian/control + +commit 25f0eb524a5773c76a5f67c26d5c978beb8e6af4 +Author: Eric Gregory +Date: Wed Dec 29 20:27:30 2010 +0000 + + Reverting change from r2530 + +M src/Sidebar.vala + +commit f36a021b2c21248c02ce5d01a87f73382411ad9a +Author: Eric Gregory +Date: Wed Dec 29 20:21:00 2010 +0000 + + #2869 delete tag on sidebar + +M src/Sidebar.vala + +commit 6fa3d6e926cc99339660df957cf8413963adcc1a +Author: Adam Dingle +Date: Mon Dec 27 14:31:14 2010 +0000 + + Added .3gp and .3g2 to the list of video file extensions. + +M src/VideoSupport.vala + +commit c65b5a29255415d26a9a4f678b5d1811789feec6 +Author: Eric Gregory +Date: Fri Dec 24 00:38:47 2010 +0000 + + #2310 date comparison will compare against filenames when dates + are equal + +M src/Thumbnail.vala + +commit 6e9864587c36d25e17dc0695b27dc478c4f0b8ac +Author: Eric Gregory +Date: Fri Dec 24 00:33:17 2010 +0000 + + #2905 strip extra bytes off end of GPhoto thumbnails + +M src/GPhoto.vala + +commit 374be5aa69a6025f50073503be588695a965a98e +Author: Eric Gregory +Date: Fri Dec 24 00:24:35 2010 +0000 + + #2877 Camera icons from GIO + +M src/CameraTable.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/FlaggedPage.vala +M src/ImportPage.vala +M src/LastImportPage.vala +M src/LibraryWindow.vala +M src/OfflinePage.vala +M src/Page.vala +M src/Sidebar.vala +M src/TagPage.vala +M src/TrashPage.vala +M src/VideosPage.vala + +commit 2e39f98e84b34705225acb010374e5734e6a6ccf +Author: Vera Yin +Date: Thu Dec 23 22:55:34 2010 +0000 + + Langtouched newest translations. + +M po/hu.po +M po/sv.po +M po/tr.po + +commit 023d62c6241a7ae448bdacca2d5234d78a91da8a +Author: Vera Yin +Date: Thu Dec 23 22:52:37 2010 +0000 + + Updated Hungarian, Swedish, and Turkish translations in shotwell-0.8 + branch. + +M po/hu.po +M po/sv.po +M po/tr.po + +commit 03e474e4d577226b62b16475ebcafef470c91ad6 +Author: Vera Yin +Date: Thu Dec 23 20:31:47 2010 +0000 + + Langtouched po files to version shotwell-0.8.0 in branch. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit d5f90aead104018188afa577eb67979736fa8551 +Author: Jim Nelson +Date: Thu Dec 23 20:07:45 2010 +0000 + + Updating trunk version to 0.8.0+trunk. + +M Makefile + +commit 56ebcd8aa00ef89fc8e8c9dcf08d619bc5b2a9b9 +Author: Jim Nelson +Date: Thu Dec 23 20:06:01 2010 +0000 + + 0.8 branch. + +commit 2b4a4b038de27615c0930390b43de4497137ac7c +Author: Jim Nelson +Date: Thu Dec 23 20:03:05 2010 +0000 + + #3010: Fixed warnings in full-window mode (usually only appear when + a file is missing). + +M src/PhotoPage.vala + +commit da2d50ee071c53bc494da281da031fa3df33e052 +Author: Jim Nelson +Date: Thu Dec 23 16:34:01 2010 +0000 + + Cleaning up the Mallard Makefile. + +M help/C/Makefile + +commit 177aa77cf50996265ba458f8099489f27b175e7d +Author: Vera Yin +Date: Thu Dec 23 03:57:30 2010 +0000 + + The Makefile that Mallard should have supplied. + +A help/C/Makefile + +commit 16b82ecea3dd2a2d33f425094b78f13eccdf90ae +Author: Jim Nelson +Date: Thu Dec 23 02:09:16 2010 +0000 + + Fixed a mistake in the Print help page. + +M help/C/share-print.page + +commit 7d99e750516194c1c5aba48a26f24cb861831d20 +Author: Adam Dingle +Date: Thu Dec 23 01:43:58 2010 +0000 + + Three new help pages. + +A help/C/organize-flag.page +A help/C/other-files.page +A help/C/share-send.page + +commit e6a15fbadf73d5da8b321a783885b69010602e5f +Author: Vera Yin +Date: Thu Dec 23 01:39:32 2010 +0000 + + Updated documentation - fixed href links. + +M help/C/index.page +M help/C/share-upload.page + +commit 355ebdd8e36c98c590fb6544e38b7d46cbea3c7f +Author: Jim Nelson +Date: Wed Dec 22 17:51:54 2010 +0000 + + #2998: Solves memory leak problem without causing problem discovered + in #3006. + +M src/BatchImport.vala + +commit 8f9bebac81e34e851188374994352b7a1f6726a8 +Author: Adam Dingle +Date: Wed Dec 22 13:22:02 2010 +0000 + + Backed out r2509 since it broke importing. + +M src/BatchImport.vala + +commit 53c9df3742c9122ccb52a5ed7d6e1b0329009dd6 +Author: Jim Nelson +Date: Wed Dec 22 02:42:03 2010 +0000 + + #2998: Solves memory leak when importing photos. + +M src/BatchImport.vala + +commit 753843f838d944cfe8b027f1825380f16420cc78 +Author: Eric Gregory +Date: Wed Dec 22 02:41:08 2010 +0000 + + #3000 can now select pre-selected library folder + +M src/Dialogs.vala + +commit 467b34f8ffe0d62d39d42eaaed9252b424346333 +Author: Eric Gregory +Date: Wed Dec 22 01:53:58 2010 +0000 + + #3000 allow invalid photo lib folder + +M src/Dialogs.vala + +commit 4b1b0c77f3ad6c829b848a0e82f24e6690067010 +Author: Jim Nelson +Date: Wed Dec 22 01:35:26 2010 +0000 + + #2988 and #2502: When keywords are altered in the master or editable + file, now replacing Shotwell tags with those in the file. Lucas did + prelim on this ticket. + +M src/Photo.vala +M src/Tag.vala +M src/util.vala + +commit 25a9e638d1c6f3afb6f4a5ec558f624a2ae997cf +Author: Jim Nelson +Date: Tue Dec 21 23:31:32 2010 +0000 + + A warning that was leftover from r2504. + +M src/BatchImport.vala + +commit b08022ff8b3b4ddc2e957f1f1b0582347629dc40 +Author: Jim Nelson +Date: Tue Dec 21 22:52:36 2010 +0000 + + A user sent me a file that Shotwell would not import. It turns out + BatchImport was not handling the error case of a file with unreadable + metadata (which can happen with RAW files) properly, treating it as + a hard error. This fixes that problem. + +M src/BatchImport.vala + +commit 7ae8c964e5e21c0dc653f1a7f0d3cfa401d52227 +Author: Jim Nelson +Date: Tue Dec 21 19:53:44 2010 +0000 + + #2969: Auto-import was not detecting content duplicates and importing + them. BatchImport would then detect the MD5 duplicate and untrash + the matching file. This fixes that. + +M src/BatchImport.vala +M src/LibraryMonitor.vala + +commit b68704d3ad54d1c8f0d7248b72e8188e23f6e5d1 +Author: Jim Nelson +Date: Tue Dec 21 06:27:22 2010 +0000 + + #2994: Fixed regression with handling fullscreen mode with photos + and videos present. + +M src/CollectionPage.vala +M src/Event.vala +M src/EventsDirectoryPage.vala + +commit e991aee3d22fd5d327841020b14c03cf636449ee +Author: Jim Nelson +Date: Tue Dec 21 05:52:54 2010 +0000 + + #2990 and #2991: Nasty, nasty memory leak caused by three bugs working + in concert to keep the HTTP payload (worse case, an entire video file) + in memory. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/PicasaConnector.vala +M src/PiwigoConnector.vala +M src/WebConnectors.vala +M src/YandexConnector.vala +M src/YouTubeConnector.vala + +commit 33b60c9edb901df87ac3a71f3ef7fe770ab036a7 +Author: Jim Nelson +Date: Tue Dec 21 05:47:19 2010 +0000 + + #3003: The command (undo/redo) stack is reset when a new file is + loaded into the photo viewer (saving a photo entails a re-load, + so it works for this as well). + +M src/PhotoPage.vala + +commit 8612d155ca753116170d16befebd33458b941d36 +Author: Jim Nelson +Date: Mon Dec 20 21:36:15 2010 +0000 + + Recent change to handle fullscreen mode didn't take into account how + the ImportPage guards against fullscreen mode. Shouldn't error out, + returning null is the proper way. + +M src/ImportPage.vala + +commit b9f28d27232d136770cb72f5b11df16383646d26 +Author: Eric Gregory +Date: Mon Dec 20 21:20:59 2010 +0000 + + #2997 crash when video wasn't readable + +M src/BatchImport.vala + +commit e186d2cbc1986c1dcc7ca26d4dbe1b80fb0f41e8 +Author: Lucas Beeler +Date: Mon Dec 20 21:11:11 2010 +0000 + + Fixes #2973. + +M src/DatabaseTables.vala +M src/Photo.vala + +commit 1e1cd92bc30143a08e45881ac00bec2087976924 +Author: Adam Dingle +Date: Mon Dec 20 20:23:36 2010 +0000 + + Updated documentation. + +M help/C/edit-adjustments.page +M help/C/edit-enhance.page +M help/C/edit-nondestructive.page +M help/C/edit-redeye.page +M help/C/edit-undo.page +M help/C/formats.page +M help/C/organize-remove.page +M help/C/organize-title.page +M help/C/other-missing.page +M help/C/other-multiple.page +M help/C/share-upload.page +M help/C/view-displaying.page +M help/C/view-information.page +M help/C/view-sidebar.page + +commit a2f0862c73d645c650799e3360b9beea585cd330 +Author: Jim Nelson +Date: Mon Dec 20 20:18:39 2010 +0000 + + #2994: Fixed how Fullscreen mode works, both in verifying that only + a photo may be the source of fullscreen mode and the Gtk.Action's + sensitivity. + +M src/AppWindow.vala +M src/LibraryWindow.vala +M src/Page.vala + +commit 4e6ea41b7bd95e8321d8c7dd4bf1943ec383ec92 +Author: Jim Nelson +Date: Mon Dec 20 19:34:29 2010 +0000 + + This fixes a crasher I found over the weekend where DirectoryMonitor + would assert if a directory was created and renamed or deleted before + the monitor was notified of the creation. + +M src/DirectoryMonitor.vala + +commit 270245459e8517fc155fa76a6370627c9c9b5c86 +Author: Eric Gregory +Date: Sat Dec 18 02:58:38 2010 +0000 + + #2893 #2587 use full image for batch import dupe detection, thread + issue in file import + +M src/BatchImport.vala + +commit daee5770dac49699d8dafe0246cdecea0728fe5c +Author: Jim Nelson +Date: Sat Dec 18 02:00:37 2010 +0000 + + #2982: Video duplicates now detected on camera import page. + +M src/ImportPage.vala +M src/Photo.vala +M src/VideoSupport.vala +M src/util.vala + +commit 34c120ce842544e27d55807292c2902dac45d1e9 +Author: Jim Nelson +Date: Sat Dec 18 00:42:02 2010 +0000 + + #2986: WMV video support. Courtesy Jani Monoses. + +M src/VideoSupport.vala + +commit 299ebe24b8f1ed41f1b9e6d7dc5f875d37746ed5 +Author: Adam Dingle +Date: Sat Dec 18 00:38:54 2010 +0000 + + First batch of documentation updates for 0.8. + +M help/C/edit-rotate.page +M help/C/formats.page +M help/C/import-file.page +M help/C/organize-event.page +M help/C/share-background.page +M help/C/share-export.page +M help/C/view-displaying.page +M help/C/view-sidebar.page + +commit 276b6bf7926b6ccfb0675dbcd8b28c75080a7481 +Author: Jim Nelson +Date: Fri Dec 17 23:50:14 2010 +0000 + + Assertions unnecessary and are triggered when importing video. + +M src/MetadataWriter.vala + +commit 6a5c9c820b881584bf812a2e7cb3d84106f9374e +Author: Jim Nelson +Date: Fri Dec 17 23:35:48 2010 +0000 + + #2984: MetadataWriter now knows when photos added to the + LibraryPhotoSourceCollection are coming in due to an import, and + will not see if they need to be updated. + +M src/AlienDatabaseImportJob.vala +M src/BatchImport.vala +M src/MediaDataRepresentation.vala +M src/MetadataWriter.vala +M src/Photo.vala + +commit 9b468d38ebe94d04df44fbff681cbd4a402e5b17 +Author: Lucas Beeler +Date: Fri Dec 17 23:19:33 2010 +0000 + + Pwns bug #2977. Hard. + +M src/PhotoMonitor.vala + +commit d4895b1a9e3b4a71ac87679b5a9dcfe23dcc302f +Author: Jim Nelson +Date: Fri Dec 17 01:29:06 2010 +0000 + + #2952: Now displaying Korean text properly. Using composed Unicode + within Shotwell for user text now. + +M src/Event.vala +M src/Photo.vala +M src/Tag.vala +M src/VideoSupport.vala +M src/string_util.vala + +commit 42b686d9ebc6a847f9c85eaf4628b03209b73be9 +Author: Jim Nelson +Date: Fri Dec 17 01:21:08 2010 +0000 + + Found a problem similar to one Eric encountered in + LibraryPhotoSourceCollection, which is that it's possible for + duplicate files (with same MD5) to be tombstoned, causing problems + with an internal lookup map. + +M src/BatchImport.vala +M src/LibraryMonitor.vala +M src/Tombstone.vala + +commit 4e222aafe298103bd2a494a612f529c142fc9953 +Author: Jim Nelson +Date: Thu Dec 16 23:57:57 2010 +0000 + + #2307: Symbolic links now fully supported in library monitoring and + auto-import. Symlinks still not supported in user-initiated import. + +M src/DirectoryMonitor.vala +M src/LibraryMonitor.vala + +commit b3d1402b565777eeea6711501211d5e8ccbf80b2 +Author: Adam Dingle +Date: Thu Dec 16 22:46:18 2010 +0000 + + Implemented #2980 (remove Help->User Manual command). + +M src/AppWindow.vala +M src/Resources.vala +M src/main.vala +M ui/direct.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/media.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui + +commit 4ae6cb07b19a83013918df195e4be9e5c41ab8fa +Author: Lucas Beeler +Date: Thu Dec 16 22:33:43 2010 +0000 + + Fixes #2971. Special thanks to marcel for the submitting this patch! + +M src/MediaDataRepresentation.vala + +commit 2c835082935a9abfe7b75284d95a8ec89cb17967 +Author: Lucas Beeler +Date: Thu Dec 16 22:27:29 2010 +0000 + + Fixes #2976. + +M src/EditingTools.vala + +commit 9c82e011bc23565927876f8e19a58e1b25affa42 +Author: Eric Gregory +Date: Thu Dec 16 22:26:32 2010 +0000 + + #2975 left/right buttons appear correctly in direct mode + +M src/PhotoPage.vala + +commit 48f05ac67106cfa04b717a7ae6d0b95efca9b449 +Author: Jim Nelson +Date: Thu Dec 16 08:20:01 2010 +0000 + + #2487: Modified photos no longer imported as separate photos. + +M src/BatchImport.vala + +commit 914962251a2b4c5c2a9a8d2acceed76ced5fd85c +Author: Jim Nelson +Date: Thu Dec 16 08:04:59 2010 +0000 + + #2974: Lucas suggested a HashSet makes more sense here. + +M src/MetadataWriter.vala + +commit eb4db6fd2520ae51a7600b7f969551453dfdb2dc +Author: Jim Nelson +Date: Thu Dec 16 07:58:44 2010 +0000 + + Some reworking of MetadataWriter to make it less intrusive in + the system and to fix some of its bugs. There is also auxilliary + work here to make some of the commands more responsive. #2976: No + more assertion when undoing a move to trash while MetadataWriter + was at work. #2941 and #2978: MetadataWriter's progress bar is + more consistent now. #2974: Renamed tags are now written out to + master files. + +M src/Commands.vala +M src/DataCollection.vala +M src/Event.vala +M src/ImportPage.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MediaInterfaces.vala +M src/MetadataWriter.vala +M src/Photo.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/TimedQueue.vala + +commit 969de6583ba78e847aa5fad4cdc21cfe0c91c6f2 +Author: Lucas Beeler +Date: Thu Dec 16 01:06:14 2010 +0000 + + Closes #2967. + +M src/DesktopIntegration.vala +M src/VideoSupport.vala + +commit 7338782817dea11e239121a69cc2cad8821f6912 +Author: Eric Gregory +Date: Thu Dec 16 00:57:02 2010 +0000 + + #2963 add write permission on import + +M src/LibraryFiles.vala + +commit 357cebb6dfa3be8e1089335e0867b6cc434c005f +Author: Eric Gregory +Date: Wed Dec 15 19:19:41 2010 +0000 + + #2894 moved SendTo in various menus + +M src/CollectionPage.vala +M src/VideosPage.vala +M ui/collection.ui +M ui/direct.ui +M ui/media.ui +M ui/photo.ui +M ui/video.ui + +commit f24e4912c7c2b16448b2bb029ec55f8f3cba425a +Author: Jim Nelson +Date: Wed Dec 15 05:18:20 2010 +0000 + + #2773: Fixed this problem by using gexiv2_get_tag_multiple(), which + returns an array of strings for a particular value. We're simply + using the first one for the title and description. + +M src/PhotoMetadata.vala + +commit 2f13c2edf86bf7c7ae5a149f09a39bff211c4e05 +Author: Jim Nelson +Date: Wed Dec 15 04:10:23 2010 +0000 + + #2830: When library directory is changed, a new LibrayMonitor object + is installed and the old one is closed. + +M src/Config.vala +M src/Dialogs.vala +M src/DirectoryMonitor.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/main.vala + +commit 890dd88f56f4eaf1c7b81f6b06a5e9dcfc52ae20 +Author: Eric Gregory +Date: Wed Dec 15 04:06:48 2010 +0000 + + #2879 and #2944 event firing unnecessary signals + +M src/Event.vala + +commit b03cb673d391f5c1eecb1950981a0ac559c8b1fb +Author: Eric Gregory +Date: Wed Dec 15 04:05:17 2010 +0000 + + #2603 tag renaming ui issue + +M src/LibraryWindow.vala + +commit 7b7803e52951a3bae7d88533ba81379076928995 +Author: Lucas Beeler +Date: Wed Dec 15 04:01:12 2010 +0000 + + Fixes #2766. + +M src/Config.vala +M src/WebConnectors.vala + +commit a97375bcbf1222f98b2b762e0ea81cc2593e965d +Author: Lucas Beeler +Date: Wed Dec 15 03:31:08 2010 +0000 + + Fixes #2542 and #2946. + +M src/PhotoPage.vala + +commit 848026801b90fa7707e0f1929f532fdbb2e1256f +Author: Eric Gregory +Date: Tue Dec 14 23:57:00 2010 +0000 + + #2914 undo event merges + +M src/Commands.vala + +commit 876effc163974b6fea3dbed9a7a98c0c375056c1 +Author: Vera Yin +Date: Tue Dec 14 02:26:46 2010 +0000 + + Updated all translations to include new Flickr sizes. + +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/eu.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/he.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/mk.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit b2320d402d884bc4b8b2f24661edf31fab1d36ae +Author: Jim Nelson +Date: Tue Dec 14 02:01:32 2010 +0000 + + #2896: Current photo being imported is now logged. + +M src/BatchImport.vala + +commit 596dfa5e1855f6a1e56e4021b9d73fa2064ab24b +Author: Jim Nelson +Date: Tue Dec 14 01:48:19 2010 +0000 + + #2953: Fixed navigation in full-window mode to skip (rather than stop) + at videos in controller collection. + +M src/PhotoPage.vala + +commit f939a964cad727ef08fc5499c01e4a0cd6d9c2d0 +Author: Jim Nelson +Date: Tue Dec 14 01:34:35 2010 +0000 + + Fixed a bug introduced in r2458 where there's a need to search a + SortedList for an item whose underlying state has changed and is no + longer in sorted order. + +M src/DataCollection.vala +M src/SortedList.vala + +commit a14231bb0ec09b07403fed43b768e4cbd881b92b +Author: Jim Nelson +Date: Tue Dec 14 01:10:33 2010 +0000 + + #2907: Auto-import no longer starts on photos imported via a camera. + +M src/ImportPage.vala +M src/LibraryMonitor.vala + +commit 9cb72ac58c2f8ec6e9839b824248d01ff060952b +Author: Jim Nelson +Date: Tue Dec 14 00:36:56 2010 +0000 + + #2936: Fixed flag/unflag option going out of sync in full-window mode. + +M src/PhotoPage.vala + +commit b545691a54e53aa08991a1d0b5a7509057e408b4 +Author: Jim Nelson +Date: Tue Dec 14 00:02:22 2010 +0000 + + #2935: Tag assertion fixed. Images that were being imported had + UTF-8 issues and weren't being normalized. + +M src/AlienDatabaseImportJob.vala + +commit ebcaa8a7cb591c298d6f01e6eba05008c1ba6a63 +Author: Vera Yin +Date: Mon Dec 13 23:39:07 2010 +0000 + + Updated shotwell.pot with new Flickr upload sizes. + +M po/shotwell.pot + +commit 611f80f7f75f4503881c0ba8dcd2377a31b1fe59 +Author: Jim Nelson +Date: Mon Dec 13 23:29:57 2010 +0000 + + Changed searches in two locations to binary search, which makes a + noticeable difference with large collections (even simple operations, + like clicking on a photo toward the bottom of the Photos page). + +M src/CheckerboardLayout.vala +M src/SortedList.vala + +commit 10b89cdbee727c12752def8140aaffc6817fe583 +Author: Jim Nelson +Date: Mon Dec 13 23:06:21 2010 +0000 + + #2956: Fixed database assertion when upgrading from 0.7.2. Hopefully + using this new method, we won't be bitten by this going forward. + +M src/DatabaseTables.vala + +commit 4b846d008780631da1d0a2227c4cdd5cd4f2b492 +Author: Adam Dingle +Date: Mon Dec 13 22:45:44 2010 +0000 + + Added 2 new resolutions for Flickr publishing. + +M src/FlickrConnector.vala + +commit f01fe02a7aa24077dc5e86cd8b9d0e1793acbcc0 +Author: Eric Gregory +Date: Mon Dec 13 21:11:57 2010 +0000 + + #2960 removing duplicate photo triggers assertion + +M src/MediaDataRepresentation.vala + +commit f241f0212942c09df48cbd804eb7dd3387d63ffb +Author: Vera Yin +Date: Mon Dec 13 20:36:48 2010 +0000 + + Updated Russian translation to display 24-hour time. + +M po/ru.po + +commit b44fd0de2bfadcfcab2323136cfdfafaa37987ec +Author: Jim Nelson +Date: Sat Dec 11 05:05:17 2010 +0000 + + #2876: No longer monitoring hidden directories. + +M src/DirectoryMonitor.vala +M src/VideoMonitor.vala + +commit b62ac5e4723caefeafbf4f348fc2b6835af5155a +Author: Jim Nelson +Date: Sat Dec 11 04:52:58 2010 +0000 + + #2950: Improper ViewCollection filtering caused mass confusion when + items destined to be hidden were added. + +M src/CheckerboardLayout.vala +M src/DataCollection.vala + +commit 67308a399c8ba28e53a9fea0c16d239edf6364f6 +Author: Jim Nelson +Date: Sat Dec 11 02:52:54 2010 +0000 + + Further tweaks I found after the changes I made this morning. + +M src/VideoMetadata.vala + +commit ec302fba3f425d558c8fea07aba66ebfb33ef8d7 +Author: Jim Nelson +Date: Sat Dec 11 02:25:57 2010 +0000 + + Change to TRACE_MONITORING message to make it easier to track + notifications. + +M src/DirectoryMonitor.vala + +commit 7c880a61d1c33fa075cd436ffc907ff8e3b87a8e +Author: Eric Gregory +Date: Sat Dec 11 01:50:44 2010 +0000 + + #2927 resolved some assertion issues when removing photos + +M src/DataCollection.vala +M src/PhotoPage.vala + +commit fa1cef2778c642a3632fc09f4649798515e0d1f6 +Author: Eric Gregory +Date: Sat Dec 11 01:44:42 2010 +0000 + + #2873 duplicate photo now adds itself to the event and tags + +M src/Photo.vala + +commit 0de100a2e0246304766470fb05e7018252f44ca6 +Author: Jim Nelson +Date: Sat Dec 11 01:13:48 2010 +0000 + + #2924: Duplicates detected during auto-import are now tombstoned so + they are not auto-imported later. Also various changes to make the + system more reponsive during the startup scan. + +M src/DatabaseTables.vala +M src/DirectoryMonitor.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/Tombstone.vala +M src/VideoMetadata.vala +M src/VideoSupport.vala + +commit 47dbbd1935040dd7b3e1abe375daa06e251815d5 +Author: Eric Gregory +Date: Fri Dec 10 19:07:42 2010 +0000 + + #2069 show file path on import failed + +M src/BatchImport.vala + +commit a3e8492b3c172a2c9bc24433f7867ce2e9d9963b +Author: Lucas Beeler +Date: Fri Dec 10 19:06:10 2010 +0000 + + Fixes #2929. + +M src/FacebookConnector.vala + +commit 5fff1acac52a87239132a0317d6caf7346117bbb +Author: Lucas Beeler +Date: Fri Dec 10 18:59:45 2010 +0000 + + Closes #2629. + +M src/FlickrConnector.vala +M src/WebConnectors.vala +M src/string_util.vala + +commit c772f98690cd5863e13afbde2fd18a591b29aa0d +Author: Jim Nelson +Date: Fri Dec 10 05:18:44 2010 +0000 + + #2691: Runtime monitoring and auto-import for videos added. + This patch separates concerns as far as the two's requirements for + monitoring as well as maximizes common code between them. ##2663: + Tombstoning of videos now enabled. + +M Makefile +M src/DataCollection.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/ImportPage.vala +M src/LibraryMonitor.vala +M src/MediaDataRepresentation.vala +M src/MediaInterfaces.vala +A src/MediaMonitor.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +A src/PhotoMonitor.vala +M src/Tag.vala +M src/Tombstone.vala +A src/VideoMonitor.vala +M src/VideoSupport.vala +M src/main.vala + +commit c513750567e73ebcf125d7fb81c6115d74e04d6c +Author: Lucas Beeler +Date: Thu Dec 9 22:17:15 2010 +0000 + + Darkens the flag icon colors as per Adam's request. Closes #2930. + +M icons/flag-page.png +M icons/flag-trinket.png + +commit e58f0ffa3ac3bda329631eed9238ad425055e2b7 +Author: Vera Yin +Date: Thu Dec 9 19:35:33 2010 +0000 + + Correct format error in Slovenian translation. + +M po/sl.po + +commit 488edcec5a7bc0e9f6839de54ac75787925be415 +Author: Vera Yin +Date: Thu Dec 9 19:27:35 2010 +0000 + + Updated Hungarian and Slovenian translations. + +M po/hu.po +M po/sl.po + +commit 9520b69788fc1b2b3deb6b25244ecac0db22627b +Author: Vera Yin +Date: Thu Dec 9 06:46:12 2010 +0000 + + Now the complete POT file. Corrected format errors in Czech, German, + Hebrew translations. + +M po/cs.po +M po/de.po +M po/he.po +M po/shotwell.pot + +commit 9fd19bee7de127122ca22f823eaa5ac25d0bdabc +Author: Vera Yin +Date: Thu Dec 9 05:21:07 2010 +0000 + + Regenerated POT file. + +M po/shotwell.pot + +commit 7c8eb057691fd6defd13460dc17cf98024c3064b +Author: Vera Yin +Date: Thu Dec 9 05:17:29 2010 +0000 + + Added Macedonian translation. Updated Chinese (Taiwan), Croatian, + Czech, Danish, Estonian, Finnish, German, Greek, Hebrew, Hungarian, + Japanese, Korean, Norwegian, Russian, Serbian, Spanish translations. + +M Makefile +M THANKS +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/es.po +M po/et.po +M po/fi.po +M po/he.po +M po/hr.po +M po/hu.po +M po/ja.po +M po/ko.po +C051 po/sr.po po/mk.po +M po/nb.po +M po/ru.po +M po/sr.po +M po/zh_TW.po + +commit 9696f02c7d16fc1b82aecd3657bd7bc7772808bc +Author: Adam Dingle +Date: Thu Dec 9 04:44:15 2010 +0000 + + Implemented #2932 (replace Last Import icon). + +M Makefile +D icons/last-import-roll.png +M src/Resources.vala + +commit 3d6b6a15d23da33b91bdf08e05e1728023bda8e2 +Author: Eric Gregory +Date: Thu Dec 9 01:48:41 2010 +0000 + + #2871 #2917 event photos were being mangled in database + +M src/DatabaseTables.vala +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/VideoSupport.vala + +commit 8fdd12ca87e7f3ef7cab029bdcd4073add233930 +Author: Lucas Beeler +Date: Thu Dec 9 01:16:05 2010 +0000 + + Fixes string bugs #2909 and #2912. + +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/MediaDataRepresentation.vala +M src/Page.vala +M src/VideosPage.vala + +commit f724371e01a3fced9d606a87b78f332805e5acbf +Author: Vera Yin +Date: Wed Dec 8 20:14:19 2010 +0000 + + Corrected format error in Italian translation. + +M po/it.po + +commit 234cfe540f264af86602110ecb263177bbe8992e +Author: Vera Yin +Date: Wed Dec 8 20:08:22 2010 +0000 + + Updated Dutch and Italian translations. + +M THANKS +M po/it.po +M po/nl.po + +commit 293bcff365c61d2f648c50fae298fb460ba9f189 +Author: Jim Nelson +Date: Wed Dec 8 18:54:34 2010 +0000 + + #2922: Fixed problem with two Tags menus appearing on Tag page. + Event page had the same problem with the Events menu; fixed as well. + Finally, at some point the "Remove Photo From Tag 'Foo'" was dropped + from the Tag page context menu. I've re-added it. + +M ui/event.ui +M ui/tags.ui + +commit 035a7cd9f02d4541d77f0d8e2b0951aa745e36b3 +Author: Jim Nelson +Date: Wed Dec 8 18:03:14 2010 +0000 + + Fixes a crasher I found when the sort value in GConf is monkeyed with. + +M src/Config.vala +M src/MediaPage.vala + +commit a844a82a18ff275f481d4d008b5d227ef2d9e7f0 +Author: Jim Nelson +Date: Wed Dec 8 17:55:54 2010 +0000 + + #2755: Removed Slideshow button from CollectionPage. #2768: Removed + Play icon from Slideshow action, as we're using it for Play Video now. + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit 93eaa462cf1dff4fcf731c4626022552f1c455ba +Author: Lucas Beeler +Date: Tue Dec 7 23:32:34 2010 +0000 + + Properly displays the new flagged icon on the PhotoPage. Closes #2926. + +M src/PhotoPage.vala + +commit d96b1a39919a41776e2f175c5618bf1f0b934f89 +Author: Adam Dingle +Date: Tue Dec 7 23:13:21 2010 +0000 + + Fixed #2908 (mellot out sprocket contrast). + +M icons/sprocket.png + +commit f4f82ddc8872c81ba9551ae40b6781143473bf84 +Author: Lucas Beeler +Date: Tue Dec 7 20:51:08 2010 +0000 + + Fixes several regressions in the Properties class introduced through + the refactoring of the Source and Import hierarchies to support + video. Closes #2904 and #2803. + +M src/Properties.vala + +commit ff54a2927cf1cd30ac40e2fc22a85816f188cef2 +Author: Lucas Beeler +Date: Tue Dec 7 20:36:03 2010 +0000 + + Adds a flagged trinket icon as well as a page icon for the Flagged + page. Closes #2809. + +M Makefile +A icons/flag-page.png +A icons/flag-trinket.png +M src/FlaggedPage.vala +M src/Resources.vala +M src/Thumbnail.vala + +commit c30ef9dae862210a2e5730f43137ff9dade42d45 +Author: Adam Dingle +Date: Tue Dec 7 15:46:47 2010 +0000 + + Added a missing backslash in the Makefile. + +M Makefile + +commit 15afcc709bdd1b6cc8da6e0e05dbe10892f3117b +Author: Adam Dingle +Date: Mon Dec 6 22:05:52 2010 +0000 + + Exorcised Windows code (#2898). + +M Makefile +M libraw-config +M src/CameraTable.vala +M src/CollectionPage.vala +M src/Config.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +D src/GConf.vala +M src/GPhoto.vala +M src/GRaw.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +M src/PiwigoConnector.vala +M src/Printing.vala +M src/RawSupport.vala +M src/Screensaver.vala +M src/SlideshowPage.vala +M src/VideosPage.vala +M src/WebConnectors.vala +M src/YandexConnector.vala +M src/YouTubeConnector.vala +M src/file_util.vala +M src/main.vala +M src/system.vala +M src/util.vala +D src/windows.c +D windows/install-deps +D windows/shotwell.rc +D windows/winstall.iss + +commit 10e731fe9d2a58bfd50cd61d86b47c363826942b +Author: Eric Gregory +Date: Mon Dec 6 20:16:36 2010 +0000 + + #2069 list duplicates in camera import dialog + +M src/AlienDatabaseImportJob.vala +M src/BatchImport.vala +M src/Dialogs.vala +M src/ImportPage.vala + +commit ae3ef8c87a0bf65f2b6f2a45dc1afc1031dee635 +Author: Jim Nelson +Date: Mon Dec 6 18:50:13 2010 +0000 + + #2625: Fixes the thumbnails jumping around when scrolling. Was able + to repro this and see it had to do when tags and/or titles were + displayed. Also, minor fixes elsewhere in the code I detected over + the weekend, including a slight change to BatchImport to improve + performance when a lot of duplicates are detected. + +M src/AppDirs.vala +M src/BatchImport.vala +M src/CheckerboardLayout.vala +M src/MediaDataRepresentation.vala +M src/MediaPage.vala +M src/Photo.vala +M src/Thumbnail.vala +M src/VideoSupport.vala +M src/main.vala + +commit 699c47ef5847d8a69d4ccafbd6c68f450cba2cc8 +Author: Adam Dingle +Date: Fri Dec 3 17:19:53 2010 +0000 + + Updated COPYING to include license information for gnome-icon-theme + since we've just borrowed an icon from it. + +M COPYING + +commit 39b34d0402d63136a915ea1a1a233a5d8f09f310 +Author: Adam Dingle +Date: Fri Dec 3 16:57:50 2010 +0000 + + A Makefile fix from Norbert Preining . + +M Makefile + +commit ed0205221fff52c6f979a6609d4074422316d016 +Author: Lucas Beeler +Date: Fri Dec 3 00:51:38 2010 +0000 + + Adds an icon to the Videos sidebar entry; updates the + non-interpretable badge image to match; closes #2571. + +M Makefile +M icons/noninterpretable-video.png +A icons/videos-page.png +M src/Resources.vala +M src/VideosPage.vala + +commit a9ec6a33b9b4383cb7ce1dda87c2ca02026d9001 +Author: Lucas Beeler +Date: Thu Dec 2 22:50:18 2010 +0000 + + Fixes #2906. + +M src/MediaPage.vala + +commit 1cfe3cdcd51c426af39554624c5d913e4c7718fd +Author: Eric Gregory +Date: Thu Dec 2 22:48:23 2010 +0000 + + #854 added null check + +M src/CameraTable.vala + +commit 8fb233d2814e2d8f87fe9c08ee8f0528723a4547 +Author: Eric Gregory +Date: Thu Dec 2 22:42:40 2010 +0000 + + #1184 photo dates can now come from DateTimeDigitized and DateTime + tags + +M src/PhotoMetadata.vala + +commit 2f9856b27296d9c36a1933670124d596b9792d73 +Author: Lucas Beeler +Date: Thu Dec 2 21:11:40 2010 +0000 + + Closes #2695, #2736, #2762 and fixes a previously unreported critical + GLib cast warning. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/MediaPage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Properties.vala +M ui/collection.ui +M ui/media.ui + +commit 2a23848583fc044bbe278070324b10bd71e000b1 +Author: Adam Dingle +Date: Thu Dec 2 20:00:25 2010 +0000 + + Fixed #2464 (improve icon in title bar, Applications menu, Alt+Tab + menu). + +M Makefile +M src/AppWindow.vala +M src/Resources.vala + +commit fa714d7939a800b9b9610e815d796cfabefe2581 +Author: Eric Gregory +Date: Thu Dec 2 19:52:45 2010 +0000 + + #2837 and #2890 Added AVI support, fixed bug in QuickTime detection + +M src/VideoMetadata.vala +M src/file_util.vala + +commit c824c351aefc5b8638409f92362e7e1a6d3201ec +Author: Adam Dingle +Date: Thu Dec 2 16:53:45 2010 +0000 + + Moved Eric upward in THANKS file. Thanks, Eric! + +M THANKS + +commit 4a1437980765c6277a36ea0c051a5f4a0860df44 +Author: Jim Nelson +Date: Thu Dec 2 05:38:58 2010 +0000 + + #2560: Solves crash when importing due to UTF-8 representation + differences. Need to be more thorough in code to validate and + normalize all text originating from outside the system -- user input, + metadata, and so forth. + +M Makefile +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Event.vala +M src/LibraryWindow.vala +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/PhotoMetadata.vala +M src/Tag.vala +M src/VideoSupport.vala +A src/string_util.vala +M src/util.vala + +commit 3aa6c2687fd0be34ba00f1cfa81bfcbea3d2c9a2 +Author: Jim Nelson +Date: Thu Dec 2 00:38:22 2010 +0000 + + #2799: Fixes the ordering of the toplevel items in the sidebar. + Now using an ordinal (an enum) to sort the toplevel items, so adding + new ones should not be so troublesome in the future. + +M src/LibraryWindow.vala +M src/Sidebar.vala + +commit 19ae76d5fe7bc59eb966daf114ea403a98cacf8c +Author: Jim Nelson +Date: Wed Dec 1 18:52:28 2010 +0000 + + #2888: Remove From Library now in MediaPage (therefore available + in VideosPage). + +M src/CollectionPage.vala +M src/MediaPage.vala +M ui/media.ui + +commit c40ffe4e2bc28a9876cbc5c1811b1569e7019a5b +Author: Jim Nelson +Date: Wed Dec 1 18:44:55 2010 +0000 + + #2884: Added Send To... to context menus. + +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui +M ui/video.ui + +commit c5d12fa77ee15efb2ef398e2306dadd88f655606 +Author: Vera Yin +Date: Wed Dec 1 04:06:30 2010 +0000 + + Updated Chinese (Taiwan), Croatian, English (UK), Estonian, German, + Hebrew, Galician, Polish, Portuguese, Portuguese (Brazil), Romanian, + Russian, Serbian, Slovenian, Turkish translations. + +M THANKS +M po/de.po +M po/en_GB.po +M po/et.po +M po/gl.po +M po/he.po +M po/hr.po +M po/pl.po +M po/pt.po +M po/pt_BR.po +M po/ro.po +M po/ru.po +M po/sl.po +M po/sr.po +M po/tr.po +M po/zh_TW.po + +commit aaf1e0f896a11f4f7bc79b6565956a70c9b33b6d +Author: Lucas Beeler +Date: Wed Dec 1 03:22:45 2010 +0000 + + Draws sprocket holes as a differentiating visual indicator on video + thumbnails. Closes #2575. + +M Makefile +A icons/sprocket.png +M src/CheckerboardLayout.vala +M src/ImportPage.vala +M src/MediaPage.vala +M src/Thumbnail.vala + +commit eb70a9e2d0edc41f026a08afea0e76c3c1729de0 +Author: Lucas Beeler +Date: Wed Dec 1 02:49:30 2010 +0000 + + Video thumbnails are now generated from the frame whose timepoint + is 1/3 of the video's duration. This eliminates a problem where many + video thumbnails would appear black because of fade-in effects. Closes + #2568. + +M src/VideoSupport.vala + +commit 303065fea3395e93c4cb76dda766db3e31819981 +Author: Eric Gregory +Date: Wed Dec 1 01:28:34 2010 +0000 + + #854 Camera name + +M src/CameraTable.vala +M src/ImportPage.vala +M src/LibraryWindow.vala + +commit 0eb70247e62f2574a22988c024f2bd6fe87ff489 +Author: Jim Nelson +Date: Wed Dec 1 01:16:05 2010 +0000 + + This fixes a thrown exception I saw while importing a particular + video. It appears InputStream.skip() has problems with large values + that are within its count type's range. + +M src/VideoMetadata.vala + +commit 2feb9ecf3b4a138327126b7a2a91e189337415c9 +Author: Vera Yin +Date: Thu Nov 25 22:03:50 2010 +0000 + + Updated Basque, Chinese (Mainland PRC), Dutch, French, Galician, + Hebrew, Italian, Kazakh, Korean, Portuguese (Brazil), Russian, + Serbian, Slovenian, Spanish, and Ukrainian translations. + +M po/es.po +M po/eu.po +M po/fr.po +M po/gl.po +M po/he.po +M po/it.po +M po/kk.po +M po/ko.po +M po/nl.po +M po/pt_BR.po +M po/ru.po +M po/sl.po +M po/sr.po +M po/uk.po +M po/zh_CN.po + +commit e58c4834f709c9b20ec99347a25c5813021d75d8 +Author: Jim Nelson +Date: Thu Nov 25 04:55:35 2010 +0000 + + #2817: Directory monitor assertion failure with library over SSH. + The problem only occurred when the library directory was set to an + SSH directory. + +M src/DirectoryMonitor.vala + +commit be8a02f49e58fad8e3ebcde7123cf4a3e44c9e05 +Author: Vera Yin +Date: Thu Nov 25 02:38:58 2010 +0000 + + Generated new POT file following string freeze. + +M po/shotwell.pot + +commit 2607aea46e6bd6fb57a235a78e184de09895f7e8 +Author: Vera Yin +Date: Thu Nov 25 02:26:14 2010 +0000 + + Updated Portuguese translation. + +M po/pt.po + +commit 55bdc8fde17d3f48f31e6758a752b03cd8c0db3d +Author: Eric Gregory +Date: Thu Nov 25 01:41:02 2010 +0000 + + #2624 take care of error cases when moving to desktop trash + +M src/AppWindow.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Dialogs.vala +M src/MediaDataRepresentation.vala +M src/Photo.vala +M src/VideoSupport.vala +M src/util.vala + +commit bc4f9ef920a6d769a0ecdd6ff40b07e75ba35ec4 +Author: Jim Nelson +Date: Thu Nov 25 01:17:01 2010 +0000 + + #2864: Separate race condition discovered that was exacerbated on + duo-core machines. + +M src/BatchImport.vala +M src/Workers.vala + +commit ce21d1b0355ee062a9f7313a26a3db4a6f7d5a7c +Author: Jim Nelson +Date: Wed Nov 24 18:46:03 2010 +0000 + + Patch from Evgeniy Polyakov to change OAuth parsing in + YandexConnector. + +M src/YandexConnector.vala + +commit 6457596355d99ac138f51151a0980580e6f35e9f +Author: Jim Nelson +Date: Wed Nov 24 18:18:04 2010 +0000 + + #1296: Correcting problem with display time on desktop slideshow + dialog consistently. + +M src/Dialogs.vala + +commit ed53e927e63e938a077b0d2e07f21887afc5ad30 +Author: Jim Nelson +Date: Wed Nov 24 03:51:01 2010 +0000 + + #2833: Fixed soft assertion with TombstoneSourceCollection. + +M src/main.vala + +commit bfd348f956b733d74d3160aa6426f4c824b5f7fe +Author: Jim Nelson +Date: Wed Nov 24 02:16:34 2010 +0000 + + #2566: Re-committed import memory leak fix with the addition that + it corrects a tread starvation race condition. Also during testing + I discovered a data structure in LibraryMonitor not being locked + although it was used by a thread-safe function. This patch also + corrects that. In essence, this patch is a replacement for r2371 + and r2374 with code fixes. + +M src/AlienDatabaseImportJob.vala +M src/BatchImport.vala +M src/Event.vala +M src/LibraryMonitor.vala +M src/Workers.vala + +commit 510b4a5914c1e679f8abc069ef659c3d8599bd1d +Author: Eric Gregory +Date: Wed Nov 24 00:28:00 2010 +0000 + + #2837 removed libquicktime and added our own parsing for creation time + +M Makefile + +commit e50dfe310f8a1a93f26ee3cd6b2469e1398c7c57 +Author: Eric Gregory +Date: Tue Nov 23 23:20:40 2010 +0000 + + #2837 removed libquicktime and added our own parsing for creation time + +M src/Properties.vala +M src/VideoMetadata.vala + +commit 7c7168dee10354429372b243176f0fa992fdf9f0 +Author: Lucas Beeler +Date: Tue Nov 23 23:04:46 2010 +0000 + + Updates the Last Import page to be compatible with videos and multiple + monitoring. Closes #2816, #2823, and #2855. + +M src/LastImportPage.vala + +commit f545e8df54ef444cd09deaa93e0591e5f52afafa +Author: Lucas Beeler +Date: Tue Nov 23 20:34:14 2010 +0000 + + Adds better error handling throughout the publishing subsystem; + closes #2386. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/PicasaConnector.vala +M src/PiwigoConnector.vala +M src/WebConnectors.vala +M src/YandexConnector.vala +M src/YouTubeConnector.vala + +commit 7ba618e1f1ad987f644247c4ad8da4fe6acf99fb +Author: Jim Nelson +Date: Tue Nov 23 20:01:08 2010 +0000 + + #2639: Piwigo publishing. Courtesy guillaumev. + +M Makefile +M THANKS +A src/PiwigoConnector.vala +M src/WebConnectors.vala + +commit 571655ec808c7ecaa060731a2fe30da8660dfc49 +Author: Jim Nelson +Date: Tue Nov 23 19:03:19 2010 +0000 + + #2733: Moved Page Setup into the Print dialog. Courtesy Till + Kamppeter. Also, forgot to add Glade file for #1296. + +M THANKS +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Printing.vala +M src/Resources.vala +A ui/set_background_dialog.glade + +commit e10a4823cad90b404ea703e565753e4d31df7143 +Author: Jim Nelson +Date: Tue Nov 23 18:55:56 2010 +0000 + + #1296: Rotate desktop background now available when more than one + photo is selected. Courtesy Maxim. + +M THANKS +M src/AppWindow.vala +M src/CollectionPage.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/Exporter.vala +M src/MediaDataRepresentation.vala +M src/Resources.vala +M src/file_util.vala + +commit bb7afa9f4400dce6273a90e98a6a22552a5ded38 +Author: Lucas Beeler +Date: Mon Nov 22 23:38:25 2010 +0000 + + Disables plugins when instantiating WebKit; closes #2183. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/YandexConnector.vala + +commit 8f608697b8866b98b9a4b8b615d77f3e26485640 +Author: Eric Gregory +Date: Mon Nov 22 20:50:21 2010 +0000 + + #2489 import dialog text change + +M src/Dialogs.vala + +commit 109d080a05bb55540ff466061f9f0f618372632b +Author: Vera Yin +Date: Mon Nov 22 20:27:43 2010 +0000 + + Updated Estonian, Italian, and Portuguese translations. + +M po/et.po +M po/it.po +M po/pt.po + +commit d6eb123fc52ec6e0237c6c306adc5f2daee56b7f +Author: Adam Dingle +Date: Mon Nov 22 19:16:47 2010 +0000 + + Backed out changesets 2371 and 2374. 2374 broke importing, and the + comments in changeset 2374 + implied that 2371 was broken without it, so I've backed out 2371 + as well. Jim can look at this + when he's in tomorrow. + +M src/AlienDatabaseImportJob.vala +M src/BatchImport.vala +M src/Event.vala +M src/Workers.vala + +commit 02c01377343c328a10e4cfa3400221e4d940e3c1 +Author: Jim Nelson +Date: Sat Nov 20 03:31:35 2010 +0000 + + Recent patch for importing caused bug where events were not properly + generated. + +M src/Event.vala + +commit 9bb820caefa0cab2a43b73ee6c4fa196602fbcf5 +Author: Eric Gregory +Date: Sat Nov 20 00:47:15 2010 +0000 + + #2489 text in copy files dialog + +M src/Dialogs.vala + +commit fd15fb45e70fe793aee4034bf6bcfbad808f1ea5 +Author: Lucas Beeler +Date: Fri Nov 19 23:37:41 2010 +0000 + + Makes certain highly-visible strings media-specific (e.g., + they now report "photos" when operating on photos, "videos" when + operating on videos, or "photos/videos" when operating on mixed + collections). Closes #2692. + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/ImportPage.vala +M src/PicasaConnector.vala +M src/VideoSupport.vala +M src/WebConnectors.vala +M src/YandexConnector.vala +M src/YouTubeConnector.vala +M src/util.vala + +commit b4b6db599e38df8e6c82409f04f7ed56e5a361d8 +Author: Jim Nelson +Date: Fri Nov 19 22:04:33 2010 +0000 + + #2566: Reworking of BatchImport to keep the background threads + busy but never allow their queues to fill up. The memory leak was + actually all the Pixbufs (thumbnails) that were being held in the + queue waiting for processing. + +M src/AlienDatabaseImportJob.vala +M src/BatchImport.vala +M src/Event.vala +M src/Workers.vala + +commit a5c64e8b37362e485ee3ec0e71fa67a770f70901 +Author: Eric Gregory +Date: Thu Nov 18 23:18:01 2010 +0000 + + #2483 background color of sidebar + +M src/LibraryWindow.vala + +commit baed9f8ad419e6783e528449892b8b7ee9b1ea98 +Author: Jim Nelson +Date: Thu Nov 18 22:57:34 2010 +0000 + + #2784: Adjust Date/Time dialog checks and grays out "Modify original + file" if autocommit metadata is enabled. Courtesy wolfer. + +M src/Dialogs.vala + +commit c027be49ef81a1fe4704cf808b3022130aafb796 +Author: Lucas Beeler +Date: Thu Nov 18 07:15:30 2010 +0000 + + Closes #2763, #2793, #2800, and #2582. + +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/util.vala + +commit 585c9664693cf122897fe9e4522511ff29618d38 +Author: Vera Yin +Date: Thu Nov 18 04:19:20 2010 +0000 + + Updated Russian translation. + +M po/ru.po + +commit 0f4cb4bd2f7603160397ebab7d14f1edc13c1d01 +Author: Eric Gregory +Date: Thu Nov 18 01:50:26 2010 +0000 + + added slash as a shortcut for flagging images #2810 + +M src/MediaPage.vala +M src/PhotoPage.vala + +commit f3799af58ddf83487782ec78a340c1cefd83c97e +Author: Eric Gregory +Date: Thu Nov 18 01:31:40 2010 +0000 + + events and tags menus are now ordered consistently #2631 + +M src/CollectionPage.vala +M src/TagPage.vala +M ui/collection.ui +M ui/tags.ui + +commit 86fb3f0cd6b32841acfc29ca3cd43a349e5bfcb5 +Author: Eric Gregory +Date: Thu Nov 18 01:10:42 2010 +0000 + + rotation can now be performed by either ctrl-r and ctrl-shift-r, + or via the bracket keys #2700 + +M src/CollectionPage.vala +M src/MediaPage.vala +M src/PhotoPage.vala + +commit 3f9c9218207f5ddc5779d50e9914889fece82a15 +Author: Jim Nelson +Date: Thu Nov 18 00:59:18 2010 +0000 + + #2750: Enter to return from full-window to checkerboard. Courtesy + wolfer. + +M THANKS +M src/PhotoPage.vala + +commit d8333cc7275855d9ad657f956bc24639117c7e06 +Author: Eric Gregory +Date: Wed Nov 17 23:56:50 2010 +0000 + + larger and more re-sizable title and tag name editor #2727 + +M ui/shotwell.glade + +commit 144fe0f7e137ba32cf1064a315945b932f9c19fe +Author: Adam Dingle +Date: Wed Nov 17 14:25:45 2010 +0000 + + Added Eric to THANKS file. + +M THANKS + +commit 09402e19278d46f43f63b6930723a1c06fecf3a5 +Author: Eric Gregory +Date: Tue Nov 16 20:51:53 2010 +0000 + + improvements to prefs dialog Ticket #2789 + +M ui/shotwell.glade + +commit 0914a062847aed8b2965fd9c1f41c6313f402988 +Author: Lucas Beeler +Date: Tue Nov 16 20:24:40 2010 +0000 + + Implements a new export model that supports mixed exporting of photos, + videos, and original RAW files. Closes #2621. + +M src/CollectionPage.vala +M src/DesktopIntegration.vala +M src/Dialogs.vala +M src/Exporter.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/VideoSupport.vala +M src/VideosPage.vala + +commit b180c9fc0738137a84f278cf0b5484119d4e03b4 +Author: Eric Gregory +Date: Tue Nov 16 19:20:13 2010 +0000 + + Changed keyboard shortcuts for zooming #2558 + +M src/PhotoPage.vala + +commit f1bbf1d14e238cfa32373afe4f71b9fe845cff09 +Author: Eric Gregory +Date: Tue Nov 16 19:14:56 2010 +0000 + + Bumped size of library window + +M src/LibraryWindow.vala + +commit 5adb9ed6eb6c0d7922ffa692455887afe0f06c94 +Author: Vera Yin +Date: Mon Nov 15 19:20:44 2010 +0000 + + Updated Dutch and Italian translations. + +M THANKS +M po/it.po +M po/nl.po + +commit 05f2f06a9ad1e07799b80380904b94225ed63a14 +Author: Vera Yin +Date: Fri Nov 12 20:49:14 2010 +0000 + + Updated Russian translation. + +M po/ru.po + +commit c514dea3c4f2dd3d642614ded188a0e43e00ee3c +Author: Jim Nelson +Date: Fri Nov 12 19:25:37 2010 +0000 + + #2811: Fixed crash due to trying to scale pixbufs to -1. + +M src/Resources.vala + +commit 1fa7758b4625be19b223abd41cc36203acdb0d9b +Author: Jim Nelson +Date: Fri Nov 12 03:03:52 2010 +0000 + + #2796: Initial cut of VideoMetadata using libquicktime. A more + thorough and robust video metadata library would certainly improve + our support, but this is good for now. + +M Makefile +M src/BatchImport.vala +M src/DatabaseTables.vala +A src/MediaMetadata.vala +M src/PhotoMetadata.vala +A src/VideoMetadata.vala +M src/VideoSupport.vala + +commit 76cf3f79f76eafa552df9fd5907ba4923771e891 +Author: Jim Nelson +Date: Thu Nov 11 23:31:17 2010 +0000 + + #2492: Auto-import and auto-commit metadata only take affect + once the Preferences dialog has been closed. Also, changed two + chatty directory monitoring logging messages to only appear when + TRACE_MONITORING is enabled, and fixed a bug in FlaggedPage dropping + thumbnails when they'd had their metadata committed in the background. + +M src/DataCollection.vala +M src/Dialogs.vala +M src/DirectoryMonitor.vala + +commit 8e0904d57ff6afe3a4efad401470c8a6c3ec8edf +Author: Jim Nelson +Date: Thu Nov 11 23:10:02 2010 +0000 + + #2756: Flag photos. + +M Makefile +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DataObject.vala +A src/FlaggedPage.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/MediaDataRepresentation.vala +A src/MediaInterfaces.vala +M src/MediaPage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Thumbnail.vala +M src/VideoSupport.vala +M ui/collection.ui +M ui/media.ui +M ui/photo.ui +M ui/video.ui + +commit 8736acb3cbd479c81d48a2851c6d084e00a2ba96 +Author: Vera Yin +Date: Thu Nov 11 20:12:14 2010 +0000 + + Updated German translation. + +M THANKS +M po/de.po + +commit 458d0cccfeb76197d925c51b7292b5734a21fa3e +Author: Jim Nelson +Date: Wed Nov 10 03:09:23 2010 +0000 + + #2786: Rejected Only view filter. + +M src/MediaPage.vala +M src/Resources.vala +M ui/media.ui + +commit b57a0dfce5a9e273100fe2454dcd9fa718518243 +Author: Jim Nelson +Date: Wed Nov 10 01:57:15 2010 +0000 + + #2788: Store orientation in photo files when metadata auto-commit + is enabled. + +M src/DatabaseTables.vala +M src/MetadataWriter.vala +M src/Photo.vala + +commit be4ca126142177ba115ee817519c2cff3bef097a +Author: Jim Nelson +Date: Wed Nov 10 01:13:31 2010 +0000 + + #2492: When auto-import and auto-commit metadata is selected in + Preferences dialog, operations will begin almost immediately. + +M src/Config.vala +M src/DirectoryMonitor.vala +M src/LibraryMonitor.vala +M src/MetadataWriter.vala +M src/Photo.vala + +commit 160496321f33f40b7dc2f67b6362a63db85acf9a +Author: Vera Yin +Date: Tue Nov 9 23:05:59 2010 +0000 + + Updated Catalan, Chinese (Mainland China), Chinese (Taiwan), Estonian, + Hebrew, and Japanese translations. + +M Makefile +M THANKS +M po/ca.po +M po/et.po +C058 po/ja.po po/he.po +M po/ja.po +M po/zh_CN.po +M po/zh_TW.po + +commit a53cc97aa093ee1aefd1c20ebe0fc183edec8936 +Author: Jim Nelson +Date: Tue Nov 9 02:41:17 2010 +0000 + + #2492: Preferences checkboxes for auto-import and auto-commit + metadata. + +M misc/shotwell.schemas +M src/Config.vala +M src/Dialogs.vala +M src/LibraryMonitor.vala +M src/MetadataWriter.vala +M src/Photo.vala +M src/main.vala +M ui/shotwell.glade + +commit 83eeaa8e7a97f1dbff1064df3d029008bd008ddc +Author: Jim Nelson +Date: Tue Nov 9 00:25:40 2010 +0000 + + Minor cleanup: Placed all the command-line options into their own + namespace. + +M src/AppWindow.vala +M src/DirectWindow.vala +M src/LibraryMonitor.vala +M src/MetadataWriter.vala +M src/Page.vala +M src/Photo.vala +M src/main.vala + +commit fcfd94a4119d069d442d83a5d9fdd98b8c29a6f9 +Author: Jim Nelson +Date: Mon Nov 8 19:36:57 2010 +0000 + + #2769: Slideshow delay box is now internationalized, and simplified + greatly by using a Gtk.SpinButton. Courtesy Marcel Stimberg. + +M src/SlideshowPage.vala + +commit 4fce5ef15fd25c3c1e03275f42a6bc6e3c050abf +Author: Jim Nelson +Date: Mon Nov 8 19:30:43 2010 +0000 + + #2770: YouTube and PicasaWeb connectors remember user name if auth + token expires. + +M src/PicasaConnector.vala +M src/YouTubeConnector.vala + +commit 9ff93d92f9ee2a2e69afe4760cd3b747fbed307a +Author: Jim Nelson +Date: Mon Nov 8 19:23:47 2010 +0000 + + #1988: Facebook privacy control added. #2752: Last bit of Facebook + video uploading merged. Both courtesy Jani Monoses. + +M src/FacebookConnector.vala +M src/WebConnectors.vala + +commit fe7d592b4e81a52a283a7778110b06972d475558 +Author: Jim Nelson +Date: Sat Nov 6 00:36:10 2010 +0000 + + #2693: Context menu for Videos page. + +M src/VideosPage.vala +A ui/video.ui + +commit 77737716050ae0123825c9aaa366919b58e00c15 +Author: Jim Nelson +Date: Sat Nov 6 00:03:47 2010 +0000 + + #2752: Facebook video upload support. This and prior commit (Flickr + video support) courtesty Jani Monoses. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/PicasaConnector.vala +M src/WebConnectors.vala +M src/YandexConnector.vala +M src/YouTubeConnector.vala + +commit 80e80c318cdcfc2f9db84ae57ca14f7b938d4345 +Author: Jim Nelson +Date: Fri Nov 5 22:44:20 2010 +0000 + + #2767: Flickr video upload. + +M THANKS +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/WebConnectors.vala + +commit 42eaaad4918fbff324a0d76271ca328600e99128 +Author: Jim Nelson +Date: Fri Nov 5 02:04:33 2010 +0000 + + Fixed mnemonic conflict. + +M src/Resources.vala + +commit 86f3ec057697af3b90fdd1c388a24afd8d4c33a4 +Author: Jim Nelson +Date: Fri Nov 5 02:00:11 2010 +0000 + + #1110: Send pictures via Nautilus Send To integration. #2248: + Added View Event for Photo to the full-window page context menu. + #2735: Better temporary file management. Now using /tmp and relying + on the system to manage the files (i.e. delete them at boot time). + This change affects all users of temp files, the largest of which + right now are the WebConnectors and Send To. + +M Makefile +M src/AppDirs.vala +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Config.vala +M src/DataCollection.vala +A src/DesktopIntegration.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/Exporter.vala +M src/LibraryFiles.vala +M src/LibraryWindow.vala +M src/MediaDataRepresentation.vala +M src/MediaPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/VideosPage.vala +A src/file_util.vala +M src/image_util.vala +M src/main.vala +M src/util.vala +M ui/collection.ui +M ui/direct.ui +M ui/media.ui +M ui/photo.ui + +commit 94ff0331e388651e8a9ae5f7e842b7e3ad4235fe +Author: Jim Nelson +Date: Thu Nov 4 18:46:14 2010 +0000 + + #2765: Selecting both photos and videos will offer only services + that support both media types. + +M src/WebConnectors.vala + +commit fcfa3ce40328cd0181eecf3e70fa33fd60df3580 +Author: Jim Nelson +Date: Thu Nov 4 18:25:28 2010 +0000 + + #2764: Publish button now works for videos. + +M src/CollectionPage.vala +M src/Resources.vala + +commit 976f656d63429272d25109d8fb54e7067ccfa02c +Author: Lucas Beeler +Date: Thu Nov 4 01:27:42 2010 +0000 + + Enables seamless integration of photos and videos in tags and + events. Closes #2573. + +M Makefile +M src/AppWindow.vala +M src/BatchImport.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +A src/MediaDataRepresentation.vala +M src/MediaPage.vala +M src/MetadataWriter.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Properties.vala +M src/SlideshowPage.vala +M src/Tag.vala +M src/TagPage.vala +M src/Thumbnail.vala +M src/VideoSupport.vala +M src/VideosPage.vala +M src/YandexConnector.vala +M src/main.vala + +commit cfbb132601877280b80741e711b9eb882a558262 +Author: Jim Nelson +Date: Wed Nov 3 03:08:24 2010 +0000 + + #2030: Progress bar now updated as mimic manager generates mimics. + Also implemented a priority system so the various background tasks + can share the progress bar. (Worth discussing what the priorities + should be.) + +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/MimicManager.vala +M src/PixbufCache.vala +M src/Workers.vala + +commit 7bcb22bdaf5ab8ff5f4eab5efbf475a6b7d204d8 +Author: Jim Nelson +Date: Wed Nov 3 01:56:25 2010 +0000 + + #374: Real-time library monitoring. Currently only available through + command-line options --runtime-monitoring and --runtime-import. + Still testing to be done for scalability issues, but this represents + the fundamental architecture. + +M src/BatchImport.vala +M src/DataCollection.vala +M src/DataObject.vala +C083 src/TimedQueue.vala src/DelayedQueue.vala +M src/DirectoryMonitor.vala +M src/LastImportPage.vala +M src/LibraryFiles.vala +M src/LibraryMonitor.vala +M src/MetadataWriter.vala +M src/OfflinePage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Tag.vala +M src/TimedQueue.vala +M src/VideoSupport.vala +M src/Workers.vala +M src/main.vala + +commit 7fb604f0a17ab5b31857d55b086413f2310c6e07 +Author: Jim Nelson +Date: Tue Nov 2 20:18:50 2010 +0000 + + Fixes bug reported by Милош Поповић. Assertion was + incorrect; it's possible for files to be removed from DirectoryMonitor + during discovery. This catches it and marks the photo as offline. + +M src/LibraryMonitor.vala + +commit 5050879973bf075267b25f0b300155d6096630e5 +Author: Jim Nelson +Date: Tue Nov 2 18:59:39 2010 +0000 + + #2694: Video files located outside of library directory are no longer + marked offline without verifying existance. + +M src/LibraryMonitor.vala + +commit 0976813dcb0af863a3613f5efbe848c6ed00e3eb +Author: Jim Nelson +Date: Tue Nov 2 18:20:52 2010 +0000 + + #2751: YouTube connector now handles 401 error. Courtesy Jani + Monoses. + +M src/YouTubeConnector.vala + +commit b2c116ce8a0a290a6ea7d4b7b4fad658f6e0228e +Author: Jim Nelson +Date: Mon Nov 1 20:36:25 2010 +0000 + + This adds schema version numbers to the warning dialog when attempting + to use Shotwell on a newer database. This could help with debugging + problems. + +M src/DatabaseTables.vala +M src/main.vala + +commit dd39b5a9c512810df2a254bef2fe33ea85f5e4ec +Author: Jim Nelson +Date: Mon Nov 1 20:26:39 2010 +0000 + + This fixes a soft assertion that appears when an issue with the + database is detected at startup. + +M src/Application.vala + +commit 317628ecb511663007b7544b8ca9280b13ed0482 +Author: Jim Nelson +Date: Tue Oct 26 18:48:19 2010 +0000 + + #2724: Remember last album in Picasa Web connector. Courtesy Jani + Monoses. + +M src/Config.vala +M src/PicasaConnector.vala + +commit 72fa5653df33dde3c1f51dc07c59f8021a02a91f +Author: Jim Nelson +Date: Tue Oct 26 18:26:08 2010 +0000 + + #2730: Picasa Web Album -> Albums. + +M src/PicasaConnector.vala + +commit 0215e3cd48f4d2f8702da05f30c699d67592a25e +Author: Vera Yin +Date: Tue Oct 26 01:54:44 2010 +0000 + + Updated Portuguese (Brazil) translation. + +M THANKS +M po/pt_BR.po + +commit d5078a038f025fdcf779a3fffab51b41c38f4b88 +Author: Vera Yin +Date: Tue Oct 26 00:42:20 2010 +0000 + + Updated French and Portuguese translations. + +M po/fr.po +M po/pt.po + +commit 6679402bfd7e2639e62d1b8dcdc2371b2d3d1795 +Author: Jim Nelson +Date: Sat Oct 23 01:41:55 2010 +0000 + + #1589: YouTube publishing. Courtesy Jani Monoses. + +M Makefile +M src/CollectionPage.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +M src/VideosPage.vala +M src/WebConnectors.vala +M src/YandexConnector.vala +C060 src/PicasaConnector.vala src/YouTubeConnector.vala +D ui/videos.ui + +commit f14ba7a700b12a1379ca5efee306eb0cf0e964e7 +Author: Vera Yin +Date: Fri Oct 22 23:11:44 2010 +0000 + + Updated no-c-format designation in pot file and affected translations. + +M po/cs.po +M po/es.po +M po/eu.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/nb.po +M po/pl.po +M po/shotwell.pot +M po/sr.po +M po/sv.po +M po/uk.po + +commit 4f4339799c0e4a1ee508cc19734b1f19b0f2d196 +Author: Vera Yin +Date: Thu Oct 21 22:09:47 2010 +0000 + + Added Basque translation, updated German translation. + +M Makefile +M THANKS +M po/de.po +A po/eu.po + +commit c7d7904f53f02958be6c1abcd6b67c05a5bec4d0 +Author: Jim Nelson +Date: Wed Oct 20 16:49:45 2010 +0000 + + #2712: Set json-glib-1.0 version requirements. + +M Makefile + +commit 1bfd76c662dbaa984a8a22a70bf0968929de70c3 +Author: Jim Nelson +Date: Wed Oct 20 01:29:31 2010 +0000 + + #2710: segfaults due to bad generated .c (calling a static method + through an instance variable). + +M src/Photo.vala + +commit 252a789f9cb186e6a283106285408776bc9fc5ef +Author: Lucas Beeler +Date: Tue Oct 19 22:34:37 2010 +0000 + + Added the user_photos permissions flag to the Facebook permissions + request. This may fix #2370. + +M src/FacebookConnector.vala + +commit 4b39e52610a9b23628ee12ac4e7f7465ecd5d6ae +Author: Jim Nelson +Date: Tue Oct 19 21:25:57 2010 +0000 + + #2698: Improved Preferences dialog. Courtesy Louis-Francis + Ratté-Boulianne. + +M THANKS +M src/Dialogs.vala +M ui/shotwell.glade + +commit f73770ba2ea043c110cb282ff3893307ddce46cb +Author: Vera Yin +Date: Mon Oct 18 17:40:58 2010 +0000 + + Updated Japanese and Swedish translations. + +M po/ja.po +M po/sv.po + +commit e8cdec72b7433048965f273e66d961f30f76da34 +Author: Vera Yin +Date: Fri Oct 15 17:26:30 2010 +0000 + + Updated Kazakh and Ukrainian translations. + +M po/kk.po +M po/uk.po + +commit 7709f41853db347b644637333ccf87742faaea10 +Author: Vera Yin +Date: Thu Oct 14 23:42:20 2010 +0000 + + Updated Polish and Serbian translations. + +M po/pl.po +M po/sr.po + +commit c8dd1110ed746a38358d0578d695733be5b62aad +Author: Jim Nelson +Date: Thu Oct 14 22:12:00 2010 +0000 + + #2536: Yandex.Fotki Web service support. Courtesy Evgeniy Polyakov. + +M Makefile +M THANKS +M src/Config.vala +M src/WebConnectors.vala +A src/YandexConnector.vala +A ui/yandex_publish_model.glade + +commit e2d46534520e013a5fbcb6502195a1b06feec90b +Author: Jim Nelson +Date: Thu Oct 14 21:42:07 2010 +0000 + + Cleaned up Thumbnail's implementation to take advantage of + MediaSource's genericities. + +M src/Thumbnail.vala + +commit cf963f2734020e695c0a1f4161d28f58298bd819 +Author: Vera Yin +Date: Thu Oct 14 21:22:25 2010 +0000 + + Removed Transifex verification token. + +D README.transifex + +commit d9c207e475907d65be9c92361f15b28d4f3096be +Author: Jim Nelson +Date: Thu Oct 14 21:20:20 2010 +0000 + + This takes some ideas added to MediaSource and genericizes them to + all DataSources. This simplifies persisting DataSources outside of + the database, such as in the thumbnail cache and backlinks. + +M src/DataObject.vala +M src/Event.vala +M src/ImportPage.vala +M src/LibraryMonitor.vala +M src/Photo.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/Tombstone.vala +M src/VideoSupport.vala + +commit b55be1b0f04556ac1e8777e9e873ca25754bfff4 +Author: Vera Yin +Date: Thu Oct 14 21:10:37 2010 +0000 + + Added Transifex token to verify new repository location. + +A README.transifex + +commit a17f611fbffb52d908d81caf26120b7208f134ae +Author: Vera Yin +Date: Thu Oct 14 18:14:31 2010 +0000 + + Updated Czech, Korean, Japanese, Norwegian, and Spanish translations. + +M po/cs.po +M po/es.po +M po/ja.po +M po/ko.po +M po/nb.po + +commit e0204e40e5bd9c01307557c7b16d697b3eb74a32 +Author: Jim Nelson +Date: Thu Oct 14 02:33:16 2010 +0000 + + #2666: Mark photo as dirty whenever the appropriate metadata is + updated, even if autocommit-metadata is disabled. This persists + the dirty flag at all times, meaning if it is enabled MetadataWriter + will commit all changes to the backing files. + +M Makefile +M src/DatabaseTables.vala +M src/MetadataWriter.vala +M src/Photo.vala +R083 src/DelayedQueue.vala src/TimedQueue.vala + +commit baa2f0ea56a9e0ebb924235fb218d1d67ce2fa2d +Author: Jim Nelson +Date: Tue Oct 12 23:01:06 2010 +0000 + + ViewCollection now supports multiple source monitors. This is made + necessary for video support. + +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LastImportPage.vala + +commit 12da481c0b483b39e21fc9d29a7db184b858549a +Author: Vera Yin +Date: Tue Oct 12 22:42:54 2010 +0000 + + Updated POT file. + +M po/shotwell.pot + +commit 74a6fdfab4db57ae0df0afd83f33b7b1f15e41a8 +Author: Jim Nelson +Date: Tue Oct 12 19:47:03 2010 +0000 + + #2658: Escape closes Extended Information window. Courtesy mcben. + +M src/Properties.vala + +commit ee47a9ff53ba2abb1003b51c3c272a7ca5e6c6b4 +Author: Jim Nelson +Date: Tue Oct 12 19:28:54 2010 +0000 + + #2566: Not technically a memory leak, but pixbufs being stacked + up in a queue during a disk import due. Implemented a hysteresis + algorithm on the queue to relieve the backlog if it grows too fast. + +M src/BatchImport.vala +M src/ImportPage.vala +M src/main.vala + +commit 9862cb2218fbf6560e464144c20238f55f84da10 +Author: Lucas Beeler +Date: Tue Oct 12 01:01:53 2010 +0000 + + Further refactors and stablizes video and data collection + systems. Enables videos to be marked offline and placed in the + trash can. Detects the installation of new system CODECs and tries + to update video thumbnails accordingly. + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/Photo.vala +M src/Tombstone.vala +M src/TrashPage.vala +M src/VideoSupport.vala +M src/VideosPage.vala +M src/util.vala +M ui/media.ui + +commit 02d40e8e01e0dd61c4fdbd2a667ac676df6e4af0 +Author: Jim Nelson +Date: Mon Oct 11 19:50:32 2010 +0000 + + #2654: Use Shift+Delete for Remove From Library. Courtest mcbenn. + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit e5e6f1aebc9b3651c20b69e93e938e7b074628ae +Author: Lucas Beeler +Date: Mon Oct 11 18:53:11 2010 +0000 + + Closes #2656. Based on a patch submitted by Jani Monosones. Credited + Jani in the THANKS file. + +M THANKS +M src/CollectionPage.vala + +commit 6716ef7dbcf4d02b3b6e0f0d3c60a25ef0270068 +Author: Vera Yin +Date: Mon Oct 11 18:28:12 2010 +0000 + + Updated Spanish translation. + +M THANKS +M po/es.po + +commit 6b20f17116a3494bd0f7add3ba6baea3354be558 +Author: Jim Nelson +Date: Fri Oct 8 23:33:45 2010 +0000 + + #2643: Fixed issue with photos displaying in a single column. + +M src/Thumbnail.vala + +commit 55a6f1e794ea65e844b11efbbb7310522b5d9063 +Author: Jim Nelson +Date: Fri Oct 8 19:28:04 2010 +0000 + + #1849: Removed FixedKeyFile.vapi and gdk-none.vapi, both binding + patches that were fixed a while back. + +M Makefile +M src/DatabaseTables.vala +M src/LibraryWindow.vala +D vapi/FixedKeyFile.vapi +D vapi/gdk-none.vapi + +commit 30ad28672e237e82cab5bd6b17da94e953af1567 +Author: Vera Yin +Date: Thu Oct 7 18:34:57 2010 +0000 + + Updated Norwegian translation. + +M po/nb.po + +commit 80f7b884392b3b25f8bf4bd48bd971229e843719 +Author: Vera Yin +Date: Tue Oct 5 02:38:50 2010 +0000 + + Updated Lithuanian translation. + +M THANKS +M po/lt.po + +commit 881d80b582df5a61f25c22c32946147b05f9c066 +Author: Jim Nelson +Date: Tue Oct 5 00:48:30 2010 +0000 + + Cade changes in preparation for 0.11 (but these do not require 0.11 + to compile). 0.11 features better code analysis, which is what it's + warning about here. + +M Makefile +M src/AppWindow.vala +M src/BatchImport.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Config.vala +M src/DirectWindow.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/PhotoPage.vala +M src/Properties.vala +M src/Sidebar.vala +M src/SlideshowPage.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/WebConnectors.vala + +commit 95ed7ae00f51d4a52c9b817dae4c90ad1d485ee4 +Author: Jim Nelson +Date: Mon Oct 4 21:23:28 2010 +0000 + + #2287: No more 64-bit printf modifiers. Courtesy mcben. + +M src/DataCollection.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/JfifSupport.vala +M src/Photo.vala +M src/Tag.vala +M src/VideoSupport.vala + +commit cb12500495907abb3753088c265eba46c2a37e18 +Author: Jim Nelson +Date: Mon Oct 4 21:06:15 2010 +0000 + + #2634: -V/--version command-line option. Courtesy mcben. + +M THANKS +M src/main.vala + +commit 79185724d48f37baf3d06cbf9f326bdb74ac1958 +Author: Jim Nelson +Date: Mon Oct 4 19:49:28 2010 +0000 + + #2612: Fixed autocompletion with non-ASCII characters + +M src/Dialogs.vala + +commit c2e10190791dbd88e9e731d267fe6ea04a5eee28 +Author: Jim Nelson +Date: Fri Oct 1 23:08:29 2010 +0000 + + #1560: Switched to using Gtk.Actions entirely in our Page code. + I've also restructured how Actions are registered with the UI + Manager to deal better with multi-tiered class heirarchies (with + MediaPage, we now have three-deep Page classes with Actions that + must be registered). I've also made it easier to update the Actions + when ViewCollection state changes and pushed more common Action code + (i.e. Undo/Redo) into LibraryWindow. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/MediaPage.vala +M src/OfflinePage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/TagPage.vala +M src/TrashPage.vala +M src/VideosPage.vala + +commit 60d524b3b7aede32e14575ececae9388667d8874 +Author: Lucas Beeler +Date: Thu Sep 30 22:02:43 2010 +0000 + + Introduces the new MediaPage class that treats photos and videos + uniformly. As a consequence, allows editing titles and setting + ratings for videos. Closes #2584. + +M Makefile +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +A src/MediaPage.vala +M src/Page.vala +M src/Photo.vala +M src/TagPage.vala +M src/Thumbnail.vala +M src/VideoSupport.vala +M src/VideosPage.vala +M ui/collection.ui +M ui/event.ui +C060 ui/collection.ui ui/media.ui +M ui/tags.ui +M ui/videos.ui + +commit e0fd446e20c5579650cef1252ddff900d87a3007 +Author: Vera Yin +Date: Thu Sep 30 19:55:53 2010 +0000 + + Updated Japanese translation in trunk. + +M THANKS +M po/ja.po + +commit 8ccaa7f67f7fbc42f88f542b7637b12937b8e9cc +Author: Jim Nelson +Date: Wed Sep 29 01:13:20 2010 +0000 + + #2475: Now adding Software version to metadata when exporting and + writing to master file. + +M src/MetadataWriter.vala +M src/Photo.vala +M src/PhotoMetadata.vala + +commit cc1031bd3b2b22c7188f2b59b66e08aaae8d90a2 +Author: Jim Nelson +Date: Wed Sep 29 00:42:20 2010 +0000 + + Fixed regression in DataSource's signal reflection to DataView. + This fixes #2598, #2597, and #2595.Also updated strings for #2591 + and #2610. + +M src/DataObject.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala + +commit 601b2d5faaf47512b558f31f85dca752ecf27f13 +Author: Jim Nelson +Date: Wed Sep 29 00:02:22 2010 +0000 + + Fixes a bug in last commit -- app won't close if no metadata was + auto-committed. + +M src/Workers.vala + +commit b4c6f9c6278b26098105eb0ed1966011a6bf302c +Author: Jim Nelson +Date: Tue Sep 28 22:54:34 2010 +0000 + + #1290: Store tags and other metadata (title/caption, rating, exposure + date/time) in photo files + +M Makefile +M src/AppWindow.vala +A src/Application.vala +M src/BatchImport.vala +M src/DatabaseTables.vala +A src/DelayedQueue.vala +M src/Dialogs.vala +M src/DirectoryMonitor.vala +M src/JfifSupport.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +A src/MetadataWriter.vala +M src/Photo.vala +M src/PhotoFileAdapter.vala +M src/PhotoFileFormat.vala +M src/PhotoMetadata.vala +M src/PhotoPage.vala +M src/PngSupport.vala +M src/RawSupport.vala +M src/SortedList.vala +M src/Workers.vala +M src/main.vala +M src/util.vala + +commit e9334e4d1b9ccde5cf5b0bad54fa79a0deee9e9f +Author: Vera Yin +Date: Mon Sep 27 20:16:29 2010 +0000 + + Updated Portuguese (Portgual) translation in trunk. + +M THANKS +M po/pt.po + +commit 0585b4d895065d0971e78dd7129e5bb857af181a +Author: Vera Yin +Date: Wed Sep 22 18:54:49 2010 +0000 + + Copied translation updates from 0.7 branch to trunk. + +M po/cs.po +M po/el.po + +commit ca21f76eb3f0b4136e6cb04bfe7064d3ee230619 +Author: Jim Nelson +Date: Wed Sep 22 17:19:29 2010 +0000 + + #2577: Support MTS video files. + +M src/VideoSupport.vala + +commit 2021775b0ce7e46629573a34ae1f4a3770e86c72 +Author: Vera Yin +Date: Tue Sep 21 18:42:24 2010 +0000 + + Copied translation update from 0.7 branch to trunk. + +M po/zh_CN.po + +commit d8c40caeaa56f22adb54475519e95b556a2fe41f +Author: Vera Yin +Date: Fri Sep 17 21:59:21 2010 +0000 + + Copied translation update from 0.7 branch to trunk. + +M THANKS +M po/el.po + +commit f9fb073443fa923b54120f1fbe112f75c9fd9e68 +Author: Vera Yin +Date: Fri Sep 17 18:02:17 2010 +0000 + + Copied translation update from 0.7 branch to trunk. + +M po/kk.po + +commit 456922c7c11ce42e36304cf11d0cbc2d35ddcad2 +Author: Lucas Beeler +Date: Fri Sep 17 01:40:43 2010 +0000 + + Enables Shotwell to import video files from cameras or the filesystem + and play them back in the system-defined media player. Closes #855. + +M Makefile +A icons/noninterpretable-video.png +M src/AlienDatabaseImportJob.vala +M src/BatchImport.vala +M src/CollectionPage.vala +M src/DataObject.vala +M src/DatabaseTables.vala +R068 src/PhotoExporter.vala src/Exporter.vala +M src/ImportPage.vala +M src/LibraryFiles.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/Properties.vala +M src/Resources.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +A src/VideoSupport.vala +A src/VideosPage.vala +M src/main.vala +M src/util.vala +A ui/videos.ui + +commit cb1f4e2798f96709d70e0c8aabcb94301350d914 +Author: Vera Yin +Date: Thu Sep 16 18:51:56 2010 +0000 + + Copied translation updates from 0.7 branch to trunk. + +M po/kk.po +M po/pt.po + +commit 0be0447bec288862da2be1c866dbddc9c0b673e0 +Author: Jim Nelson +Date: Wed Sep 15 17:00:04 2010 +0000 + + #2537: Checking for null refs before calling is_page_selected(). + +M src/LibraryWindow.vala + +commit 65adc2444b8f37331298152f3eb43acee81a7e71 +Author: Jim Nelson +Date: Wed Sep 15 16:53:49 2010 +0000 + + #2563: Startup scan no longer reimports if file is merely touched. + +M src/DatabaseTables.vala +M src/LibraryMonitor.vala + +commit 88611579bca5e5c476db5715b354a53c6823f24f +Author: Vera Yin +Date: Wed Sep 15 00:05:07 2010 +0000 + + Copied translation updates from 0.7 branch to trunk. + +M Makefile +M THANKS +M po/hu.po +M po/it.po +M po/pt.po +C088 po/pt.po po/pt_BR.po +M po/sr.po +M po/sv.po + +commit 192ca547af59c965113904e2c062a097c7909d9a +Merge: b9ae51a c5bd728 +Author: Jim Nelson +Date: Sat Sep 11 01:20:50 2010 +0000 + + Merge from 0.7.2. + +commit c5bd728da418f109794621b4529ee84299e76ea9 +Author: Jim Nelson +Date: Sat Sep 11 00:13:56 2010 +0000 + + Changes for packaging 0.7.2. + +M Makefile +M NEWS +M debian/changelog +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po +M windows/winstall.iss + +commit b4bd97d4252e258d14c02d67c424e30bfa6b1927 +Author: Jim Nelson +Date: Fri Sep 10 19:28:12 2010 +0000 + + #2526: A null reference was not handled properly, causing this + problem. + +M src/LibraryWindow.vala + +commit b9ae51a7e0410f26c56539956e5ceb4e404c9c1c +Author: Vera Yin +Date: Fri Sep 10 19:08:00 2010 +0000 + + Copied German and Korean translations from branch to trunk. + +M THANKS +M po/de.po +M po/ko.po + +commit 89c992e13b0a02adde4008bf12ccce388e482fc0 +Author: Vera Yin +Date: Fri Sep 10 19:02:28 2010 +0000 + + Updated German and Korean translations in 0.7 branch. + +M THANKS +M po/de.po +M po/ko.po + +commit 4f1a759006b5d9c40e9b6b73e5032cf93ff6866d +Author: Vera Yin +Date: Fri Sep 10 03:22:41 2010 +0000 + + Copied Slovak translation from branch to trunk. + +M po/sk.po + +commit 27f31f46d726520c6a5ab7b8a97f0c462ada9b47 +Author: Vera Yin +Date: Fri Sep 10 03:19:04 2010 +0000 + + Updated Slovak translation. + +M po/sk.po + +commit 66fd8fc3ed10fcf6108adc63c72377543ce78f03 +Author: Vera Yin +Date: Thu Sep 9 20:20:48 2010 +0000 + + Copied po files from 0.7 branch to trunk. + +M po/ar.po +M po/ast.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/gl.po +M po/hr.po +M po/id.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit cf531de2f544793e60d68cac7d79aee890e99836 +Author: Vera Yin +Date: Thu Sep 9 20:12:56 2010 +0000 + + Updated Bulgarian, Catalan, Chinese (Taiwan), Danish, Dutch, Finnish, + French, Hungarian, Italian, Japanese, Kazakh, Korean, Spanish, Thai, + and Ukrainian translations. Updated shotwell.pot (pulled from trunk + version which includes 'Import All' and 'Import Selected'). + +M po/bg.po +M po/ca.po +M po/da.po +M po/es.po +M po/fi.po +M po/fr.po +M po/hu.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/nl.po +M po/shotwell.pot +M po/th.po +M po/uk.po +M po/zh_TW.po + +commit 05fdcadfb8752a613892c1c60f0ed882ea5aadf9 +Author: Jim Nelson +Date: Thu Sep 9 20:01:34 2010 +0000 + + Fixes two debug messages only logged when TRACE_MD5 is set in the + configure script. + +M src/AlienDatabaseImportJob.vala +M src/Photo.vala + +commit 82e3caf8f09f71e8d98299cb862fefeac6d7278c +Author: Jim Nelson +Date: Thu Sep 9 02:20:30 2010 +0000 + + #2532: If Shotwell can't create vital data files/directories at + startup, instead of logging an error and exiting, it displays a + dialog box error and exits. NOTE: This introduces new translatable + strings that are not the .pot file. Although past string freeze, we + feel these are very rare cases and won't be seen by 99.9% of users, + but should be visible to that one-tenth of a percent that have done + something really odd with their permissions. + +M src/AppDirs.vala +M src/AppWindow.vala +M src/DatabaseTables.vala + +commit 614fea20f3f7835555bc74fb4aa48a2fd514c978 +Author: Lucas Beeler +Date: Thu Sep 9 01:31:50 2010 +0000 + + Fixes sidebar color when running under dark themes. Closes #2483. + +M src/LibraryWindow.vala + +commit 08831ebde8f98a5c3b62c3e29c8d2fe2a894952b +Author: Jim Nelson +Date: Thu Sep 9 00:08:48 2010 +0000 + + #2488: Shotwell will only ask user to copy or link on file import if + any of the files or directories are outside the library. If they're + all in the library, we always link. + +M src/AppDirs.vala +M src/LibraryWindow.vala + +commit 417034ea89cc847226ecae77e7ff326ba9972359 +Author: Jim Nelson +Date: Wed Sep 8 23:34:21 2010 +0000 + + #2528: libraw-config tries to find thread-safe version of libraw + package file (.pc), which is called libraw_r.pc on Gentoo, before + falling back to libraw.pc (which is what I *expect* other packages + to use when this is widespread), then going to the manual step. + + This will be a heckuva lot easier when libraw is properly packaged. + + Patch courtesy Valentin David. + +M THANKS +M libraw-config + +commit 67d4146fea47b13de9748e965f1f693a14034a10 +Author: Lucas Beeler +Date: Wed Sep 8 23:20:36 2010 +0000 + + Properly encodes the '+' character during the Picasa login + transaction. Closes #2533. + +M src/WebConnectors.vala + +commit 77d601532137dcae23ffd3990d05bbade757c179 +Author: Jim Nelson +Date: Wed Sep 8 17:52:38 2010 +0000 + + Fix I noticed while working on 0.8 that has been reported by 0.7.1 + user. Backported for inclusion in 0.7.2. + +M src/BatchImport.vala + +commit a5daf40ede749b5695f298a1fe5ca3b295bfa46e +Author: Jim Nelson +Date: Wed Sep 8 00:36:19 2010 +0000 + + Backmerged change to trunk to 0.7.1+branch for #2523. + +M src/WebConnectors.vala + +commit 38b3ac1afb97e56c3a6484a4937aa41d725a2db3 +Author: Lucas Beeler +Date: Wed Sep 8 00:25:12 2010 +0000 + + Adds null guards in PublishingDialog.go( ). Closes #2523. + +M src/WebConnectors.vala + +commit 7b2de4180264d97631d5fe36cd49e472a06d663f +Merge: 0f499a2 af61ecf +Author: Jim Nelson +Date: Wed Sep 8 00:21:20 2010 +0000 + + Merge from 0.7.1+branch. + +commit af61ecfcc18f0e1287333c6ebc3bc8f7c44ebc05 +Author: Jim Nelson +Date: Tue Sep 7 21:39:02 2010 +0000 + + #2516: File monitor wasn't being created when externally editing a + previously-edited file. + +M src/Photo.vala + +commit caa10e0f3b16f4c1131bcde5708eeac8085179dc +Author: Jim Nelson +Date: Tue Sep 7 20:24:55 2010 +0000 + + #2520: Removed all references to deprecated string.len() method. + +M src/Dialogs.vala + +commit aeb08fd7391b3d1544ba4211a10a123bb72f1bbf +Author: Jim Nelson +Date: Tue Sep 7 19:48:00 2010 +0000 + + #2524: apport hook now distributed with tar ball. + +M Makefile + +commit ba8025b552037e9e401c137d093b650f63159404 +Author: Jim Nelson +Date: Fri Sep 3 22:38:05 2010 +0000 + + #2515: When the root of the library directory was a symbolic link, + DirectoryMonitor would fail to search (not following symbolic links) + and so all photos in the library would be marked offline. Then the + offline files were searched to see if they were online individually, + which they all were, and so they were marked online. This solves + the problem by following symbolic links *only* in the directory scan. + More thorough symbolic link support needs to happen. + +M src/DirectoryMonitor.vala +M src/LibraryMonitor.vala + +commit 5da3f5d41ff0e473948605a0e7b9c8bb2c329a56 +Author: Vera Yin +Date: Fri Sep 3 18:25:40 2010 +0000 + + Updated Korean translation. + +M po/ko.po + +commit 0f499a29fe52c2fbcf772d39ab71f6bda80601fd +Merge: 9ad4f31 6024a6e +Author: Jim Nelson +Date: Thu Sep 2 20:29:46 2010 +0000 + + Merge from 0.7.1+branch (candidate fix for #2510) + +commit 9ad4f31d5821de339acb1f0eb4478200793162d0 +Author: Jim Nelson +Date: Thu Sep 2 19:56:01 2010 +0000 + + #2511: Vala 0.9.7 now required to build. + +M Makefile + +commit 6024a6e1e743af36c3beeb99e3a978a3a4d97b39 +Author: Jim Nelson +Date: Thu Sep 2 19:44:24 2010 +0000 + + #2510: This limits the number of directories that are traversed at + any one time to five. + +M Makefile +M src/DirectoryMonitor.vala + +commit 0e49db51567c0f8e742a8cd2b5ff5cf6db955c94 +Author: Vera Yin +Date: Thu Sep 2 18:53:30 2010 +0000 + + Updated Catalan, Chinese (Taiwan), French, and Italian translations. + +M THANKS +M po/ca.po +M po/fr.po +M po/it.po +M po/zh_TW.po + +commit 2507bea0b88196a600d13e120e4fa7da3095494b +Author: Jim Nelson +Date: Wed Sep 1 23:54:23 2010 +0000 + + #2504: VALAC makefile variable not used when detecting compiler + version number. Courtesy Elliot S. + +M Makefile +M THANKS + +commit c591e9670ab43521bc09d263dc8c77dc1f293dc7 +Author: Jim Nelson +Date: Wed Sep 1 23:46:38 2010 +0000 + + #2478: Files now added (auto-imported) when discovered at startup + (use --auto-import command-line option until #2492 is implemented). + #2491: Now have an update bar for background operations. More work + may need to be done if this is used by multiple background operations + at the same time. Note that this patch does NOT address symbolic + links, which is ticketed at #2307. + +M Makefile +M src/BatchImport.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/Photo.vala +A src/Tombstone.vala +M src/main.vala + +commit 203b20fd3421a383a9d14c2886e3683ed3908670 +Author: Lucas Beeler +Date: Tue Aug 31 23:33:20 2010 +0000 + + Added GNOME Gettext domain tags to desktop template files following + Canonical's changes in response to Launchpad bug #616856. + +M misc/shotwell-viewer.desktop.head +M misc/shotwell.desktop.head + +commit bd5254d53d12a471f8a6763e7c700d9ed237323d +Author: Patrick Tierney +Date: Tue Aug 31 20:20:36 2010 +0000 + + #2499: updated tooltip for rotate button + +M src/Resources.vala + +commit 9d5c5a29858e0515ab53584352edf577f4682411 +Author: Patrick Tierney +Date: Tue Aug 31 20:18:33 2010 +0000 + + #2484: added keyboard accelerator to Edit menu in DirectPhotoPage + +M src/PhotoPage.vala + +commit 9976f73152372c9799dbbc8112957fbaee47d31e +Author: Vera Yin +Date: Tue Aug 31 18:28:45 2010 +0000 + + Updated Dutch and Korean translations. + +M THANKS +M po/ko.po +M po/nl.po + +commit 4f076e4b572f4f6c9d78d6e8e918c7177f82084e +Author: Patrick Tierney +Date: Tue Aug 31 01:26:17 2010 +0000 + + #1712: added No Event page + +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala + +commit 80a242fa61b94a1bc730f0e8120c56a719de5d31 +Author: Vera Yin +Date: Mon Aug 30 21:20:12 2010 +0000 + + Updated French translation. + +M po/fr.po + +commit ad11e2f5edaf29007c99ad083ab33b82ce53e810 +Author: Vera Yin +Date: Mon Aug 30 18:51:05 2010 +0000 + + Updated Bulgarian, Chinese (Taiwan), and Japanese translations. + +M po/bg.po +M po/ja.po +M po/zh_TW.po + +commit d082bcbb0e77db39b2a2490b9a19bdc65bb355a1 +Author: Jim Nelson +Date: Mon Aug 30 18:34:54 2010 +0000 + + #2495: Four strings in ImportPage were not marked for translation. + Fix and Finnish translations courtesy Mikko Huhtala. + +M THANKS +M po/fi.po +M po/shotwell.pot +M src/ImportPage.vala + +commit f7303f52c2769bfcf8acb2260cd654c3cf460c74 +Author: Jim Nelson +Date: Fri Aug 27 21:36:27 2010 +0000 + + #2476: At startup (discovery) Shotwell will now notice if a photo's + been modified externally and update state, including regen'ing + thumbnails, importing new metadata, and discarding transformations. + There's also work done to speed up marking files online/offline. + +M src/DatabaseTables.vala +M src/LibraryMonitor.vala +M src/Photo.vala + +commit b4ae514bd45a47b9a3d3519f121aa6c8ba2084ef +Author: Jim Nelson +Date: Fri Aug 27 21:11:18 2010 +0000 + + #2248: Jump to event for selected photo. + +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M ui/collection.ui + +commit 6d71f62d9b57bb68e5e4fbbbe6ed4923111ea718 +Author: Vera Yin +Date: Fri Aug 27 18:29:58 2010 +0000 + + Updated Hungarian translation. + +M po/hu.po + +commit 3153d8f954d60212d3ff2bcde9a7cb15683b4407 +Author: Jim Nelson +Date: Fri Aug 27 00:53:05 2010 +0000 + + DataObjects no longer have an "altered" signal. All "altered" + signals come off their SourceCollection, which means it's easier to + aggregate and issue them in a single signal. + +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DirectWindow.vala +M src/EditingTools.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/SlideshowPage.vala +M src/Tag.vala +M src/TagPage.vala +M src/Thumbnail.vala + +commit 012dcd4500ba50c02b1d0fab576a0f4a80ae667b +Author: Jim Nelson +Date: Fri Aug 27 00:06:35 2010 +0000 + + Kazahk translation didn't merge properly. + +A po/kk.po + +commit 28ef3d0109f86e0c53c70cf0390b4d14b5fe2e0b +Merge: 66ac9e9 f065768 +Author: Jim Nelson +Date: Fri Aug 27 00:03:03 2010 +0000 + + Merge from 0.7.1. + +commit 66ac9e9436ad2574c31d7cf0f193a2a6bbbac4b7 +Author: Jim Nelson +Date: Thu Aug 26 23:20:17 2010 +0000 + + Versioned to 0.7.1+trunk. + +M Makefile + +commit f065768b2c508c4b38167e6110c4ef60aefaa97a +Author: Adam Dingle +Date: Thu Aug 26 20:31:16 2010 +0000 + + Updated Makefile given recent Mallard doc changes. + +M Makefile +M THANKS +M help/C/index.page + +commit 2414b82346ee3b27e2d15976c72a693e9f18b1da +Author: Lucas Beeler +Date: Thu Aug 26 20:20:04 2010 +0000 + + Updated version numbers, NEWS and debian/changelog file to prepare + for 0.7.1 release. + +M Makefile +M NEWS +M debian/changelog +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/kk.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po +M windows/winstall.iss + +commit 53fc6ef5a9bd2039e609b2311dc386b7b00fa44d +Author: Jim Nelson +Date: Thu Aug 26 20:02:21 2010 +0000 + + #2479: Although the same symptoms as the original report of + the ticket, it was manifesting itself in a very different way. + This solves the problem of unlocking the ViewCollection before + its destroyed. + +M src/AppWindow.vala +M src/DataCollection.vala +M src/PhotoPage.vala + +commit e4db6678ed554363ee5435d724b62427964b296f +Author: Adam Dingle +Date: Thu Aug 26 19:10:06 2010 +0000 + + A minor text fix. + +M help/C/running.page + +commit 68c97e7dfd24df1aac6923f8bef485c9e0493cfd +Author: Adam Dingle +Date: Thu Aug 26 18:55:49 2010 +0000 + + Added Mallard documentation fixes from Phil Bull along with various + further edits. + +M help/C/edit-adjustments.page +M help/C/edit-crop.page +M help/C/edit-enhance.page +M help/C/edit-external.page +R060 help/C/edit-introduction.page help/C/edit-nondestructive.page +M help/C/edit-redeye.page +M help/C/edit-rotate.page +M help/C/edit-time-date.page +M help/C/edit-undo.page +A help/C/figures/crop_thirds.jpg +A help/C/formats.page +M help/C/import-camera.page +M help/C/import-f-spot.page +M help/C/import-file.page +A help/C/import-memorycard.page +M help/C/index.page +D help/C/introduction.page +M help/C/organize-event.page +M help/C/organize-rating.page +M help/C/organize-remove.page +M help/C/organize-tag.page +M help/C/organize-title.page +M help/C/other-missing.page +M help/C/other-multiple.page +M help/C/running.page +M help/C/share-background.page +M help/C/share-export.page +M help/C/share-print.page +M help/C/share-slideshow.page +M help/C/share-upload.page +M help/C/view-displaying.page +M help/C/view-information.page +M help/C/view-sidebar.page + +commit da566ebd1115d8d6388d70500a989cbe5078d265 +Author: Vera Yin +Date: Thu Aug 26 18:29:01 2010 +0000 + + Corrected translation mistake in French. + +M po/fr.po + +commit 8b3abd85fd0ef8a818deef3d54af7384f5310bdb +Author: Vera Yin +Date: Thu Aug 26 18:18:02 2010 +0000 + + Added Kazakh translation, updated Estonian, Hungarian, and Japanese + translations. + +M Makefile +M THANKS +M po/et.po +M po/hu.po +M po/ja.po +C077 po/ja.po po/kk.po + +commit 355b9e8d5eaef5ff0b255b8663d54ea26c79cc2e +Author: Vera Yin +Date: Wed Aug 25 20:04:37 2010 +0000 + + Merged updated translations from trunk to 0.7 branch. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit ad89f5120ce288b98c95b84b4d8192bdb8fc0d53 +Author: Vera Yin +Date: Wed Aug 25 19:31:24 2010 +0000 + + Updated Japanese translation. + +M po/ja.po + +commit 7d16e14b56cdcfb0ed447b2cbd7308da904af7c6 +Author: Vera Yin +Date: Wed Aug 25 18:53:32 2010 +0000 + + Updated Czech, Galician, Hungarian, Portugese translations. + +M po/cs.po +M po/gl.po +M po/hu.po +M po/pt.po + +commit 740943d40bdab3ff91b59b52ef2e2dd664aa0399 +Author: Jim Nelson +Date: Tue Aug 24 23:43:11 2010 +0000 + + TransformablePhoto -> Photo + +M src/BatchImport.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DirectWindow.vala +M src/EditingTools.vala +M src/Event.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/LibraryMonitor.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +M src/Printing.vala +M src/Properties.vala +M src/WebConnectors.vala +M src/image_util.vala +M src/util.vala + +commit 787e50875e3901eba6a864f920054928e59075ee +Merge: 5f2f05d 72b6b52 +Author: Jim Nelson +Date: Tue Aug 24 23:05:27 2010 +0000 + + Merge from 0.7 branch. + +commit 72b6b52e6335e81fdd5d8d06e9c6003f32aad000 +Author: Jim Nelson +Date: Tue Aug 24 18:59:58 2010 +0000 + + #2479: Fixed crash when removing last photo from an event in + full-window page. + +M src/PhotoPage.vala + +commit 519c17e91d2118a7f92ec453596809d75f35b2dd +Author: Patrick Tierney +Date: Tue Aug 24 17:34:05 2010 +0000 + + #2463: added context menu to missing photo page + +M src/OfflinePage.vala +M ui/offline.ui + +commit f51ea84da23167c6e62f3f919da907cc8c63eb9e +Author: Patrick Tierney +Date: Tue Aug 24 00:14:56 2010 +0000 + + #2472: fixed fullscreen F11 accelerator key + +M src/AppWindow.vala + +commit ce1b9857891379bc64a48d5a676f420d94784cec +Author: Patrick Tierney +Date: Mon Aug 23 22:45:32 2010 +0000 + + #2396: made zoom icons clickable + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit e0d03f9f9244db8d79e66da11d800b2d8ec3075f +Author: Jim Nelson +Date: Mon Aug 23 22:38:09 2010 +0000 + + #2465: F-Spot import skipped files imported from F-Spot 0.4.3.1 + (and perhaps later) because it did not have a photo_versions table. + This corrects that problem. Courtesy Bruno Girin. + +M src/FSpotDatabaseDriver.vala + +commit 055a2d53f3f6928e71a85872d5c28104376ea73c +Author: Jim Nelson +Date: Mon Aug 23 22:26:14 2010 +0000 + + Versioning. + +M Makefile + +commit 5f2f05d941fe1bb94fb127ebb1b4368cddd45880 +Author: Lucas Beeler +Date: Mon Aug 23 19:00:28 2010 +0000 + + Re-versioned PO files to have version number 0.7.0+trunk. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit c8caabd7ec1c6b4b357aa102467dae3d7ce893bd +Author: Vera Yin +Date: Mon Aug 23 18:43:36 2010 +0000 + + Updated Chinese (Taiwan), Italian, Japanese, Hungarian, Portuguese, + Russian, and Spanish translations. + +M THANKS +M po/es.po +M po/hu.po +M po/it.po +M po/ja.po +M po/pt.po +M po/ru.po +M po/zh_TW.po + +commit 9d37b9449966a3507e18b0d9173a78985a16233f +Merge: 2b8b515 4bfac1e +Author: Adam Dingle +Date: Sat Aug 21 10:25:20 2010 +0000 + + Merged changes from branches/shotwell-0.7 to trunk. + +commit 4bfac1e7ee4332de753df21b0cabe6fa734f60e6 +Author: Vera Yin +Date: Sat Aug 21 00:06:38 2010 +0000 + + Changed the gexiv2 dependency version in the Makefile to agree with + the debian/control file. + +M Makefile + +commit 1e15cf3a9ce63e4cfa41d8a369dc9421516a8b41 +Author: Vera Yin +Date: Fri Aug 20 23:59:53 2010 +0000 + + Updated Mallard documentation. + +M help/C/edit-enhance.page +M help/C/edit-introduction.page +M help/C/edit-undo.page +M help/C/import-f-spot.page +M help/C/import-file.page +M help/C/organize-rating.page +M help/C/organize-remove.page +M help/C/running.page +M help/C/share-upload.page +M help/C/view-displaying.page + +commit 14dc1ebdf2d95acf8f957c0b4cb4e969d460e503 +Author: Lucas Beeler +Date: Fri Aug 20 21:55:57 2010 +0000 + + Prepared the debian and base directories for packaging Shotwell 0.7. + +M Makefile +M NEWS +M README +M debian/changelog +M debian/control +M debian/dirs +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po +M windows/winstall.iss + +commit 35cc3dbf5e6df85c17a237cd8510add4f207ff4d +Author: Adam Dingle +Date: Fri Aug 20 21:53:14 2010 +0000 + + More Mallard documentation changes. + +M help/C/edit-adjustments.page +M help/C/edit-external.page +M help/C/edit-introduction.page +M help/C/edit-rotate.page +M help/C/edit-undo.page +M help/C/organize-remove.page +M help/C/organize-tag.page +M help/C/organize-title.page +M help/C/other-missing.page +M help/C/running.page +M help/C/view-displaying.page + +commit f5b961a530abfb277a68b7297cd9b0ec92986e01 +Author: Lucas Beeler +Date: Fri Aug 20 20:02:18 2010 +0000 + + Branch for preparing the Shotwell 0.7 release image. + +commit 2b8b51589c9c1fbe0a1dd22c86397eee23e9c07d +Author: Jim Nelson +Date: Fri Aug 20 19:34:44 2010 +0000 + + Fixes a bug Vera found where Revert to Original wasn't working after + editing externally. + +M src/Photo.vala + +commit 34bac57ecde4fdd762ebc64e3a193abcc540210c +Author: Adam Dingle +Date: Fri Aug 20 19:13:42 2010 +0000 + + Removed a duplicate help page. + +M Makefile +D help/C/other-standalone.page + +commit add56afad1a2543330a533fc428a8fa802d26eaa +Author: Jim Nelson +Date: Fri Aug 20 19:05:13 2010 +0000 + + #2449: Full-window page was using wrong dimensions when displaying + master (original) image. + +M src/Photo.vala +M src/PhotoPage.vala + +commit c03734d8956871acc31faf3dc5eb0b4e6258a266 +Author: Patrick Tierney +Date: Fri Aug 20 18:53:11 2010 +0000 + + #2395: increased signals emitted after external edit to fix bug with + reverting external edits + +M src/CollectionPage.vala +M src/Photo.vala + +commit dd844dbf8025f09b61a12782ace70c03793c71c1 +Author: Jim Nelson +Date: Fri Aug 20 18:40:35 2010 +0000 + + Moving help documents from ./help to ./help/C broke loading help + when running from build directory. This fixes it. See #2451. + +M src/Resources.vala + +commit 9a0ba10a78296a307e4d6314cefa48676aa49820 +Author: Adam Dingle +Date: Fri Aug 20 18:14:44 2010 +0000 + + More Mallard documentation changes. + +M Makefile +A help/C/edit-adjustments.page +M help/C/edit-enhance.page +M help/C/edit-external.page +M help/C/edit-introduction.page +D help/C/edit-multiple.page +A help/C/edit-time-date.page +M help/C/index.page +M help/C/introduction.page +M help/C/organize-rating.page +M help/C/organize-tag.page +A help/C/other-missing.page +A help/C/other-multiple.page +A help/C/other-standalone.page +A help/C/running.page +M help/C/share-background.page +A help/C/share-export.page +M help/C/share-slideshow.page + +commit b0ff882eb8a32b8893cbac3a3fbe6470b766131d +Author: Lucas Beeler +Date: Fri Aug 20 01:34:02 2010 +0000 + + Moves Mallard docs to help/C directory. Closes #2438. + +M Makefile +R100 help/edit-crop.page help/C/edit-crop.page +R100 help/edit-enhance.page help/C/edit-enhance.page +R100 help/edit-external.page help/C/edit-external.page +R100 help/edit-introduction.page help/C/edit-introduction.page +R100 help/edit-multiple.page help/C/edit-multiple.page +R100 help/edit-redeye.page help/C/edit-redeye.page +R100 help/edit-rotate.page help/C/edit-rotate.page +R100 help/edit-undo.page help/C/edit-undo.page +R100 help/figures/edit_toolbar.png help/C/figures/edit_toolbar.png +R100 help/figures/editing_overview.png +help/C/figures/editing_overview.png +R100 help/figures/shotwell_logo.png help/C/figures/shotwell_logo.png +R100 help/figures/trash_process.png help/C/figures/trash_process.png +R100 help/import-camera.page help/C/import-camera.page +R100 help/import-f-spot.page help/C/import-f-spot.page +R100 help/import-file.page help/C/import-file.page +R100 help/index.page help/C/index.page +R100 help/introduction.page help/C/introduction.page +R100 help/organize-event.page help/C/organize-event.page +R100 help/organize-rating.page help/C/organize-rating.page +R100 help/organize-remove.page help/C/organize-remove.page +R100 help/organize-tag.page help/C/organize-tag.page +R100 help/organize-title.page help/C/organize-title.page +R100 help/share-background.page help/C/share-background.page +R100 help/share-print.page help/C/share-print.page +R100 help/share-slideshow.page help/C/share-slideshow.page +R100 help/share-upload.page help/C/share-upload.page +R100 help/view-displaying.page help/C/view-displaying.page +R100 help/view-information.page help/C/view-information.page +R100 help/view-sidebar.page help/C/view-sidebar.page + +commit cf56c441cc2e24ac370eb847878b74d5aafc3369 +Author: Patrick Tierney +Date: Fri Aug 20 01:20:04 2010 +0000 + + #2428: removed LibSoup code from PublishingDialog constructor. The + code was spinning the event loop and opening the possibility for + multiple PublishingDialog windows being created. + +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/WebConnectors.vala + +commit 8fe0a67d5de38a9be7b7a476bdc4a45af1a037b2 +Author: Jim Nelson +Date: Fri Aug 20 01:14:06 2010 +0000 + + #2433: Still faster than before, but now more responsive throughout + the operation. + +M src/Commands.vala + +commit 750f6d7fdbadf7fa7176a9db6fc36289617d1a9f +Author: Jim Nelson +Date: Fri Aug 20 01:05:13 2010 +0000 + + #2431: Memory leak was due to the Thumbnail exposure flag being + initialized to the wrong value, leading every Thumbnail to load its + thumbnail, thrashing on the cache. + +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit a8a100c1fc1514fa7c9f32f60b71c42a79b0078d +Author: Adam Dingle +Date: Fri Aug 20 00:52:44 2010 +0000 + + Many changes to Mallard documentation. + +M Makefile +D help/advanced-startup.page +D help/advanced-where.page +D help/browse-navigate.page +D help/browse-view.page +D help/features-browsing.page +D help/features-editing.page +D help/features-importing.page +D help/features-introduction.page +D help/features-organizing.page +D help/features-sharing.page +D help/figures/adjust.png +D help/figures/autoenhance.png +D help/figures/crop.png +D help/figures/direct.png +D help/figures/fullwindow.png +D help/figures/grandma.png +D help/figures/grandma_favorites.png +D help/figures/key_photo.png +D help/figures/photos_collection.png +D help/figures/preferences.png +D help/figures/publish.png +D help/figures/select_rating.png +D help/figures/tags.png +D help/figures/time.png +M help/import-camera.page +M help/import-f-spot.page +M help/import-file.page +M help/index.page +A help/introduction.page +M help/organize-event.page +M help/organize-rating.page +R098 help/organize-delete.page help/organize-remove.page +R100 help/background.page help/share-background.page +M help/share-print.page +M help/share-upload.page +A help/view-displaying.page +A help/view-information.page +A help/view-sidebar.page + +commit 7fdcf293d7508c6f93764e63e0a63acc23f1c96b +Author: Lucas Beeler +Date: Fri Aug 20 00:06:12 2010 +0000 + + Closes #2448. + +M src/LibraryWindow.vala + +commit c1819b9970a318fa5e417260a462590988ad8bf1 +Author: Lucas Beeler +Date: Fri Aug 20 00:05:15 2010 +0000 + + Closes #2447. + +M src/OfflinePage.vala + +commit cb27e0d1b7895ae20034c264d2c453f78eda0f33 +Author: Lucas Beeler +Date: Fri Aug 20 00:04:18 2010 +0000 + + Fixes #2437. + +M src/AlienDatabaseImportDialog.vala +M src/FSpotDatabaseDriver.vala + +commit f38167aa28fc0edabbbe356d05c8b64ff0bae7f5 +Author: Lucas Beeler +Date: Thu Aug 19 22:00:50 2010 +0000 + + Changes the way ImportIDs are generated for F-Spot import operations + thereby ensuring that F-Spot imports properly appear on the Last + Import Page. Closes #2355. + +M src/AlienDatabaseImportJob.vala + +commit bd9eb00ece81f2b9ea521d1cedef82dbd8856094 +Author: Jim Nelson +Date: Thu Aug 19 21:09:33 2010 +0000 + + #2322: Stops renaming the Tags sidebar item when the locus is on it. + Courtesy Philip Beam. + +M src/Sidebar.vala + +commit 883879038ae198728cfb5619926b78a82e2bac60 +Author: Jim Nelson +Date: Thu Aug 19 21:05:37 2010 +0000 + + #2422: Patch to make Shotwell more responsive while marking photos + offline/online, as well as do the operation quicker than before. + +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LastImportPage.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 2b55bdb643ae42b6492d0a5be2d961321ebaa340 +Author: Lucas Beeler +Date: Thu Aug 19 19:42:29 2010 +0000 + + This is an evaluation check-in to determine how memebers of the + Shotwell team feel about moving the ratings icon flush-right in + the toolbar. + +M src/CollectionPage.vala + +commit bbe6180d1aca4fd7cefa8a5382801ab3bb1d91f4 +Author: Lucas Beeler +Date: Thu Aug 19 19:15:30 2010 +0000 + + Desaturated and darkened event icon. Closes #2405. + +M icons/multiple-events.png +M icons/one-event.png + +commit 9ea1f1c9f1fec1bceb1a3cbca576feb2ad4b4088 +Author: Jim Nelson +Date: Thu Aug 19 19:07:04 2010 +0000 + + Fixed a problem with installing help, courtesy Jürg Billeter. + +M Makefile +M THANKS + +commit d3b67c1e99936a22499f3c9f9706dc942fe9b0d1 +Author: Jim Nelson +Date: Thu Aug 19 03:21:59 2010 +0000 + + #2440: Fixes jarring behavior when navigating full-window with + missing backing files. + +M src/PhotoPage.vala +M src/PixbufCache.vala + +commit 37c425f0f0da1e396c9d75284084740b09b98c22 +Author: Lucas Beeler +Date: Thu Aug 19 01:46:46 2010 +0000 + + Last import page is now properly shown/hidden depending on import + roll state. Closes #2312. + +M src/LibraryWindow.vala + +commit 9f7fb8d557d8b806dc848a3be064f5566db26ff6 +Author: Jim Nelson +Date: Thu Aug 19 00:34:06 2010 +0000 + + Fixed a bug in how ImportIDs were being stored in memory. This may + affect #2355. + +M src/Photo.vala + +commit ce25d071fdd2cc1c88c867321c4b68268faa58cc +Author: Adam Dingle +Date: Thu Aug 19 00:33:17 2010 +0000 + + Renamed documentation pages in Makefile: I had changed these in + an earlier + commit but forgot to update the Makefile. + +M Makefile + +commit f780475f92021e92e670125dec944bbb124f726f +Author: Vera Yin +Date: Thu Aug 19 00:25:34 2010 +0000 + + Updated POT file to include "User Manual" string. + +M po/shotwell.pot + +commit a63abac447342ceea6628383d11950337e6c859f +Author: Vera Yin +Date: Thu Aug 19 00:13:28 2010 +0000 + + Added translations for "User Manual" to po files. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 5e6b7483206e3a6d84aaf599bcee6f8aeb6ff373 +Author: Lucas Beeler +Date: Wed Aug 18 23:46:19 2010 +0000 + + Slots in new custom icons as well as stock icons as per the work of + an outside contributor. Closes #2435. + +M Makefile +D icons/adjust.png +D icons/all-photos.svg +A icons/image-adjust.svg +D icons/object-flip-horizontal.svg +D icons/object-flip-vertical.svg +D icons/object-rotate-left.svg +D icons/object-rotate-right.svg +M icons/pin-toolbar.svg +D icons/shotwell-16.png +A icons/shotwell-16.svg +D icons/shotwell-24.png +A icons/shotwell-24.svg +M icons/shotwell.svg +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit d2eef14bf17cb6bac9166b78a121a45f255d3b28 +Author: Patrick Tierney +Date: Wed Aug 18 23:11:14 2010 +0000 + + #2427: grouped zoom slider and icons together so they disappear at + the same time + +M src/CollectionPage.vala + +commit a29372b7e958aba7e48ac182d15e8a6b39e046a1 +Author: Vera Yin +Date: Wed Aug 18 23:10:12 2010 +0000 + + Updated Japanese translation. + +M po/ja.po + +commit 882bac89f3d66bfe24898a82e43e8dc9cc3f6289 +Author: Jim Nelson +Date: Wed Aug 18 23:07:24 2010 +0000 + + Fixed a null deref. + +M src/BatchImport.vala + +commit 4d9df144aff19bf28d69815027e3c4550db839e6 +Author: Jim Nelson +Date: Wed Aug 18 22:58:52 2010 +0000 + + #2418: Added User Manual to Help menu. + +M src/AppWindow.vala +M ui/collection.ui +M ui/direct.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui + +commit bd37e8233e125d0cad64cfb9d2a68cb1ba903f44 +Author: Adam Dingle +Date: Wed Aug 18 20:14:24 2010 +0000 + + Added Peter Smith's latest Mallard documentation changes along with + some minor edits of my own. + +M help/advanced-startup.page +M help/advanced-where.page +A help/edit-introduction.page +M help/features-introduction.page +R085 help/features-organising.page help/features-organizing.page +A help/figures/edit_toolbar.png +A help/figures/trash_process.png +M help/index.page +R068 help/organise-delete.page help/organize-delete.page +R100 help/organise-event.page help/organize-event.page +R100 help/organise-rating.page help/organize-rating.page +R096 help/organise-tag.page help/organize-tag.page +R100 help/organise-title.page help/organize-title.page + +commit 53f12a8ca7b8e6cfbe00b06d43e04c8a5af24503 +Author: Lucas Beeler +Date: Wed Aug 18 18:46:04 2010 +0000 + + Fixes Welcome dialog import behavior such that photos imported + during F-Spot import are no longer reported as duplicates during + the follow-on XDG pictures directory import. Closes #2379. + +M src/AlienDatabaseImportDialog.vala +M src/BatchImport.vala +M src/FSpotDatabaseDriver.vala +M src/LibraryWindow.vala +M src/main.vala + +commit 5c4210fcb62eae37c1d703a8b7391968bb527e70 +Author: Patrick Tierney +Date: Wed Aug 18 17:36:19 2010 +0000 + + #2409: added duplicate detection to trash for files copied into + the library + +M src/BatchImport.vala +M src/Photo.vala + +commit 2cc270d5caa361a7b1a5f71a4b65312b96199916 +Author: Jim Nelson +Date: Wed Aug 18 17:34:07 2010 +0000 + + #2433: Sped up time to rate multiple photos. + +M src/Commands.vala + +commit 0a495cefe6a79ded930a5960d211e5d740b0ae38 +Author: Jim Nelson +Date: Wed Aug 18 03:21:54 2010 +0000 + + #1143: First cut of Mallard documentation, courtesy Robert Ancell + and Peter DO Smith. + +M Makefile +M THANKS +M configure +A help/advanced-startup.page +A help/advanced-where.page +A help/background.page +A help/browse-navigate.page +A help/browse-view.page +A help/edit-crop.page +A help/edit-enhance.page +A help/edit-external.page +A help/edit-multiple.page +A help/edit-redeye.page +A help/edit-rotate.page +A help/edit-undo.page +A help/features-browsing.page +A help/features-editing.page +A help/features-importing.page +A help/features-introduction.page +A help/features-organising.page +A help/features-sharing.page +A help/figures/adjust.png +A help/figures/autoenhance.png +A help/figures/crop.png +A help/figures/direct.png +A help/figures/editing_overview.png +A help/figures/fullwindow.png +A help/figures/grandma.png +A help/figures/grandma_favorites.png +A help/figures/key_photo.png +A help/figures/photos_collection.png +A help/figures/preferences.png +A help/figures/publish.png +A help/figures/select_rating.png +A help/figures/shotwell_logo.png +A help/figures/tags.png +A help/figures/time.png +A help/import-camera.page +A help/import-f-spot.page +A help/import-file.page +A help/index.page +A help/organise-delete.page +A help/organise-event.page +A help/organise-rating.page +A help/organise-tag.page +A help/organise-title.page +A help/share-print.page +A help/share-slideshow.page +A help/share-upload.page +M src/AppDirs.vala +M src/AppWindow.vala +M src/Resources.vala +M src/main.vala + +commit b69d0a02c4ce446a840f2ee0597fdda947ceb739 +Author: Vera Yin +Date: Tue Aug 17 20:02:42 2010 +0000 + + Updated Russian translation. + +M po/ru.po + +commit 4b2fa8df065f76ca6647224a896f04df25d21e17 +Author: Jim Nelson +Date: Tue Aug 17 18:59:06 2010 +0000 + + #1334: Autocompletion for tags dialogs. Courtesy Marcel Stimberg. + +M src/Dialogs.vala +M src/Tag.vala + +commit e6fb2dc2721dba7802d7d386322097c7b360f6b7 +Author: Jim Nelson +Date: Tue Aug 17 01:43:29 2010 +0000 + + An edge case I discovered where the sensitivity of Select All wasn't + being updated properly. + +M src/AppWindow.vala + +commit 30cc5dd603b6f32cdad7f915ee8f05cdf9be6611 +Author: Patrick Tierney +Date: Tue Aug 17 01:35:15 2010 +0000 + + #2410: fixed bug in which shotwell exported tags when there were + nono on a photo + +M src/Photo.vala + +commit dc88421c393c6ad370ad260c86b8f9f1eead386a +Author: Jim Nelson +Date: Tue Aug 17 00:10:45 2010 +0000 + + #2407: Fixed assertion when moving from full-window page back to + originating page (which happened when the single-click on the sidebar + caused the element to be edited). + +M src/LibraryWindow.vala +M src/PhotoPage.vala +M src/Sidebar.vala +M src/ThumbnailCache.vala + +commit e42dd0d91e78a4c22bffb70a05fa48c19bbd1a8e +Author: Jim Nelson +Date: Mon Aug 16 22:39:02 2010 +0000 + + #2350: F-Spot import now available throughout application, courtesy + Bruno Girin. + +M src/AlienDatabase.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/OfflinePage.vala +M src/PhotoPage.vala +M src/TrashPage.vala +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/offline.ui +M ui/photo.ui +M ui/trash.ui + +commit c7e30c58bc9659c4ebe5a7489e5618e3dae09585 +Author: Lucas Beeler +Date: Mon Aug 16 19:32:17 2010 +0000 + + Makes the All Photos and All+Rejected ratings filter icons fixed-size + PNGs to improve their appearnace. Closes #2415. + +M Makefile +A icons/all-rejected.png +D icons/all-rejected.svg +A icons/shotwell-24.png +M src/CollectionPage.vala +M src/Resources.vala + +commit 5eca5f87c6dd45c38cdf035af06fc8e8fc853d4d +Author: Vera Yin +Date: Mon Aug 16 18:08:51 2010 +0000 + + Updated Danish, Japanese, and Portuguese translations. + +M po/da.po +M po/ja.po +M po/pt.po + +commit 6faac38ba4fdc3a8dfc8cf5e343c058b98be6630 +Author: Adam Dingle +Date: Mon Aug 16 15:17:02 2010 +0000 + + Added Vera to THANKS file. + +M THANKS + +commit a4462cb828f2f1026d3219a87dc1246cfe578a6e +Author: Jim Nelson +Date: Sat Aug 14 01:08:40 2010 +0000 + + #2308: Now marking photos missing on the fly (when they double-click + on it). + +M src/DataCollection.vala +M src/DataObject.vala +M src/PhotoPage.vala + +commit 5e3edca72e71151050adfd39a7d75a47f542aa98 +Author: Jim Nelson +Date: Fri Aug 13 23:54:26 2010 +0000 + + #2404: Date displayed when event name is deleted, even after restart. + +M src/Event.vala + +commit 58502c50c2c0672b645334fc3419e9795681c550 +Author: Jim Nelson +Date: Fri Aug 13 23:44:09 2010 +0000 + + #2383: "No photos imported" now reported if no photos were imported + from F-Spot. Courtesy Bruno Girin. + +M src/AlienDatabaseImportDialog.vala + +commit d5d61974b540497d35c3351ff90207c3c0db2842 +Author: Lucas Beeler +Date: Fri Aug 13 23:25:51 2010 +0000 + + The Shotwell icon is now properly displayed next to the "Photos" + sidebar entry. Closes #2403. + +M Makefile +A icons/shotwell-16.png +M src/Resources.vala + +commit 92da881c75ecb1fbe8f372650e5931e930980fe1 +Author: Patrick Tierney +Date: Fri Aug 13 20:43:26 2010 +0000 + + #2392: enabled importing, exporting, and setting library directory + with network shares + +M src/Dialogs.vala +M src/LibraryWindow.vala +M src/PhotoPage.vala + +commit 885f90c023104ee1e99ae6ca8ae56cd85d1e3b18 +Author: Patrick Tierney +Date: Fri Aug 13 20:30:00 2010 +0000 + + #2360: removed from numeric accelerators due to conflicts + with non-english keyboard layouts + +M src/CollectionPage.vala + +commit 3e74755fc6d84daf548067fca3cec7f0c4643570 +Author: Vera Yin +Date: Fri Aug 13 20:02:16 2010 +0000 + + Updated German and Italian translations. + +M THANKS +M po/de.po +M po/it.po + +commit 745a00e96076bdcd76be4b96cf655f1128087fa4 +Author: Patrick Tierney +Date: Fri Aug 13 19:17:20 2010 +0000 + + #2345: changed slideshow delay time + +M misc/shotwell.schemas +M src/Config.vala + +commit b579b7479f80f1888d13e5428c998bf44ba3406c +Author: Lucas Beeler +Date: Fri Aug 13 01:43:22 2010 +0000 + + Cancels the overall printing operation when a photo fails to print + due its backing file being missing. Closes #2376. + +M src/Printing.vala + +commit 28fad8a8aa679a1d5d3b52e16fecf28e6453d3a8 +Author: Vera Yin +Date: Fri Aug 13 01:30:57 2010 +0000 + + Added +trunk tag following 0.6.91 release. + +M Makefile + +commit a3cdd68088bea0d99fc17ebcadafd0f479f172ec +Author: Vera Yin +Date: Fri Aug 13 01:29:44 2010 +0000 + + This is the Shotwell 0.6.91 release image. + +M Makefile +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/ko.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit ba77fe6e69ee8cf421a7cb9306d37cb23393556c +Author: Jim Nelson +Date: Fri Aug 13 00:16:09 2010 +0000 + + #2408: Critical assertion after edit and save in external editor + fixed. + +M src/Photo.vala + +commit c850d79928d9df7e5bf3c4f23ea5b77255c8ea0c +Author: Adam Dingle +Date: Thu Aug 12 23:17:27 2010 +0000 + + Updated THANKS file. + +M THANKS + +commit bc3e4847de0de509532dd61026314e857b7566bd +Author: Jim Nelson +Date: Thu Aug 12 22:40:58 2010 +0000 + + Forgotten extensions on Makefile + +M Makefile + +commit 3674201a847a8ec587486b5b79a744e1a6eb5e34 +Author: Lucas Beeler +Date: Thu Aug 12 22:38:16 2010 +0000 + + Updated Makefile such that the new sidebar and zoom slider end icons + are included in the distribution. + +M Makefile + +commit 607f4d43b429cbe58c218bb3f3f0f4068b4601e1 +Author: Lucas Beeler +Date: Thu Aug 12 22:10:12 2010 +0000 + + Adds improved sidebar icons; closes #2331. + +A icons/last-import-roll.png +A icons/multiple-events.png +A icons/multiple-tags.png +A icons/one-event.png +A icons/one-tag.png +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Resources.vala +M src/TagPage.vala + +commit 3c7b177fc1d9f23dc2b620a63ab195710434e37f +Author: Patrick Tierney +Date: Thu Aug 12 21:43:53 2010 +0000 + + #1614: added icons to the ends of the zoom slider + +A icons/zoom-in.png +A icons/zoom-out.png +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit 4863f4fc5122916861da089c19d455c9bce9de07 +Author: Patrick Tierney +Date: Thu Aug 12 21:41:46 2010 +0000 + + Addresses the issues in #2357, without solving it. Makes the All + Photas and All + Rejected icons slightly larger + +M src/CollectionPage.vala + +commit 29e060455d39027075c371e10d40cea7faca8b03 +Author: Jim Nelson +Date: Thu Aug 12 21:39:40 2010 +0000 + + Backed out 2058. + +M src/CollectionPage.vala + +commit a06c94af16be586ec297d9cd400306dacd4f4376 +Author: Patrick Tierney +Date: Thu Aug 12 21:12:31 2010 +0000 + + Addresses the issues in #2357, without solving it. Makes the All + Photas and All + Rejected icons slightly larger + +M src/CollectionPage.vala + +commit bd8d014168e232d4d7a3bcb85ffcb433a20d60ce +Author: Vera Yin +Date: Thu Aug 12 20:16:22 2010 +0000 + + Updated Portuguese translation. + +M po/pt.po + +commit f370cc32439f22eaeda97985a4b1292f71d6006e +Author: Jim Nelson +Date: Thu Aug 12 04:30:42 2010 +0000 + + #2377: Further work to speed up startup. Now only marking photos + online/offline, no attempt to reimport or discover renames. + Huge speed increase in unlinking/relinking tags and events. + +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/LibraryMonitor.vala +M src/Photo.vala +M src/Tag.vala +M src/Thumbnail.vala + +commit 05939e704d4109ddcd1b731de4035e615ceb3a65 +Author: Jim Nelson +Date: Thu Aug 12 00:43:30 2010 +0000 + + #2346: F-Spot import dialog now is cancellable if F-Spot database + is not present. + +M src/AlienDatabaseImportDialog.vala +M src/AlienDatabaseImportJob.vala +M src/FSpotDatabaseDriver.vala +M ui/shotwell.glade +M ui/shotwell.xml + +commit 0a9374e240cdfc93a3e3fe4311b235ff8391bda4 +Author: Jim Nelson +Date: Wed Aug 11 23:42:25 2010 +0000 + + Update to visibility interface in ViewCollection. + +M src/DataCollection.vala + +commit cf563d9a75504c1c8fd34e9a755f4c2244caf6fb +Author: Vera Yin +Date: Wed Aug 11 18:58:49 2010 +0000 + + Updated Japanese and Slovak translations. + +M po/ja.po +M po/sk.po + +commit 80e3c68c453743a5b745a9341f044a10d8b6b2a5 +Author: Lucas Beeler +Date: Wed Aug 11 01:45:58 2010 +0000 + + Fixes a critical bug in which Shotwell would crash when the user + attempted to publish a photo whose backing file was missing. Closes + #2254. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/PicasaConnector.vala +M src/WebConnectors.vala + +commit 6e54a5db7c6bfb9548d4e0372478367e8919636d +Author: Patrick Tierney +Date: Wed Aug 11 01:12:11 2010 +0000 + + #2374: added tooltips to rating filter button + +M src/CollectionPage.vala +M src/Resources.vala + +commit b6e39217d073765f698e45b2daf541630a76a18a +Author: Jim Nelson +Date: Wed Aug 11 00:28:46 2010 +0000 + + #2319: Improved detection of RAW duplicates on camera when thumbnail + is not present by comparing filesize and basename in library. + This prevents copying the (large) file off the camera only to match + it via MD5 once it's on local disk. + +M src/BatchImport.vala +M src/ImportPage.vala +M src/Photo.vala + +commit 01e1a5975bcb089e4ea4b167818c7693b459847a +Author: Jim Nelson +Date: Tue Aug 10 21:29:27 2010 +0000 + + #2377: Startup scan of library directory was taking too long when + a large number of files were present that weren't imported into + the database. This fix reduces the time to process these files. + +M src/DataCollection.vala +M src/DatabaseTables.vala +M src/Photo.vala +M src/util.vala + +commit 195ec5540bfc06c7a173076eef6cce91a442f997 +Author: Patrick Tierney +Date: Tue Aug 10 18:48:33 2010 +0000 + + #2185: fixed a PhotoPage navigation bug, and introduced changes to + the ViewCollection data structure + +M src/Commands.vala +M src/DataCollection.vala +M src/PhotoPage.vala + +commit bab48f3c0c367b4e4f62cda0b6708ff8c18d7b19 +Author: Jim Nelson +Date: Tue Aug 10 01:31:29 2010 +0000 + + #2335: F-Spot import now available from welcome dialog. + +M src/AlienDatabaseImportDialog.vala +M src/Dialogs.vala +M src/FSpotDatabaseDriver.vala +M src/main.vala + +commit dcfc014ca9bd1d8063e63bcbe8cb2a9494184f41 +Author: Jim Nelson +Date: Mon Aug 9 22:21:42 2010 +0000 + + #2348: Slideshow now available in full-window mode. + +M src/PhotoPage.vala +M ui/photo.ui + +commit 7ac4e31a783119ff302ae2be8ed5e327825f5ec3 +Author: Jim Nelson +Date: Mon Aug 9 22:11:40 2010 +0000 + + #2343: Crash after fullscreen red eye reduction fixed. + +M src/PhotoPage.vala + +commit f7bf5a065ffbf3d00a4c5c6436de3bc2834cbc9b +Author: Jim Nelson +Date: Mon Aug 9 22:00:39 2010 +0000 + + #2373: Print no longer crashes if the backing file is missing. + +M src/CollectionPage.vala +M src/Printing.vala + +commit 394a6c43c0168306d6da004bcd4baa7d8614f217 +Author: Vera Yin +Date: Mon Aug 9 20:13:50 2010 +0000 + + Removed c-format comment from strings containing '% ' in POT and + PO files. + +M po/ast.po +M po/ca.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/it.po +M po/ja.po +M po/ko.po +M po/lt.po +M po/nb.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sl.po +M po/sr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 6ae65908adabe7ed707d7783ea8cfda89b8a7554 +Author: Jim Nelson +Date: Mon Aug 9 19:54:59 2010 +0000 + + Additional optimizations ... plenty more work to be done in this + area, however. + +M src/DataCollection.vala +M src/Event.vala +M src/Photo.vala + +commit 93875fca4bf12a64b6550ef82b23f0b5f3b51a2f +Author: Jim Nelson +Date: Mon Aug 9 19:42:17 2010 +0000 + + #2371: valac 0.9.5 knows that error() will not return and so no + need to provide fake return values for code correctness. This patch + makes Shotwell unable to compile with earlier compilers. + +M Makefile +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/DatabaseTables.vala +M src/Dimensions.vala +M src/EditingTools.vala +M src/ImportPage.vala +M src/MimicManager.vala +M src/Orientation.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/PixbufCache.vala +M src/Printing.vala +M src/ThumbnailCache.vala +M src/WebConnectors.vala +M src/Workers.vala + +commit 2ba0e6ae8cdf7071fa5b89010a8729ac7a752553 +Author: Vera Yin +Date: Mon Aug 9 18:33:44 2010 +0000 + + Added Korean translation. Updated Catalan, Danish, Estonian, Italian, + Japanese, Lithuanian, and Romanian translations. + +M Makefile +M THANKS +M po/ca.po +M po/da.po +M po/et.po +M po/it.po +M po/ja.po +C060 po/et.po po/ko.po +M po/lt.po +M po/ro.po + +commit 4ff3dc5ebb88a3fec554ee19a36c513d719310d9 +Author: Jim Nelson +Date: Sat Aug 7 01:29:07 2010 +0000 + + Further optimizations and code refactoring to help speed up startup + time and trash/offline moves. + +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Sidebar.vala +M src/SortedList.vala +M src/Thumbnail.vala + +commit 005c3d5d31f903a03ba67613cfb292114b8c8280 +Author: Patrick Tierney +Date: Fri Aug 6 20:25:59 2010 +0000 + + #2361: fixed rating menu sensitivity bug + +M src/PhotoPage.vala + +commit 0b182b1ec4e4c6dbd63a536032a995dda70744c6 +Author: Jim Nelson +Date: Fri Aug 6 19:27:51 2010 +0000 + + Further optimizations in startup time. Almost all pages (the Photos + page is the lone hold-out) are stubs, the pages themselves created + as they're accessed. This has big wins on startup time. + +M src/Commands.vala +M src/EventsDirectoryPage.vala +M src/LastImportPage.vala +M src/LibraryWindow.vala +M src/OfflinePage.vala +M src/Page.vala +M src/TagPage.vala +M src/TrashPage.vala + +commit fdd472a11b2281bbac5a6902ee9b02617d86cea1 +Author: Patrick Tierney +Date: Fri Aug 6 19:12:24 2010 +0000 + + #2354: fixed set rating display bug when photo is missing + +M src/PhotoPage.vala + +commit b4de2e238b52f537077e9c11b9d3bc8a3046f60d +Author: Vera Yin +Date: Fri Aug 6 17:47:44 2010 +0000 + + Updated Galician, Polish, and Swedish translations. + +M po/gl.po +M po/pl.po +M po/sv.po + +commit cb1c5228cf79c2e635e1753d9d1bc154fb44126f +Author: Jim Nelson +Date: Thu Aug 5 21:47:30 2010 +0000 + + #2302: On startup, now checking all photos at startup for + online/offline status, including those outside the library directory. + This patch also includes various optimizations in linking/unlinking + and freezing/thawing DataCollections, which improves the performance + of marking online/offline status as well as moving to the trash. + +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DirectoryMonitor.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LastImportPage.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Thumbnail.vala +M src/main.vala + +commit 0b242b7e06168ba35cc2ea21e19fa865dedd5133 +Author: Vera Yin +Date: Thu Aug 5 18:16:31 2010 +0000 + + Updated Estonian, Greek, Japanese, Russian, and Ukrainian + translations. + +M po/el.po +M po/et.po +M po/ja.po +M po/ru.po +M po/uk.po + +commit 66e625cbd1a2f5a8f3df354e93c61f683f2df556 +Author: Jim Nelson +Date: Wed Aug 4 23:32:09 2010 +0000 + + Small update to the photo viewer and pixbuf cache, to better + prioritize background fetches. + +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/ThumbnailCache.vala +M src/Workers.vala + +commit 7a2dc435e85e54556f05e12baad414898b669932 +Author: Patrick Tierney +Date: Wed Aug 4 20:30:11 2010 +0000 + + #2353: fixed crashing bug relating to importing a photo while a view + filter is in place + +M src/DataCollection.vala + +commit 06bd621f7f86f4f87927922527d2613c6ac019a2 +Author: Vera Yin +Date: Tue Aug 3 23:33:20 2010 +0000 + + Added +trunk tag following 0.6.90 release. + +M Makefile + +commit 68521d6a63be9e619162d6bc68ffbaa3a820270a +Author: Vera Yin +Date: Tue Aug 3 23:31:50 2010 +0000 + + This is the Shotwell 0.6.90 release image. + +M Makefile +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/ca.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/gl.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/tr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 62cbf4193325c3685111ede61a365baea20447cd +Author: Patrick Tierney +Date: Tue Aug 3 22:59:24 2010 +0000 + + fixed bug involving ratings not being set in the database on photo + import + +M src/DatabaseTables.vala + +commit f0acb412911fd2eb7e14f95e90cd6bf8b6b5e46f +Author: Patrick Tierney +Date: Tue Aug 3 20:38:49 2010 +0000 + + #2235: added importing and exporting ratings + +M src/Photo.vala +M src/PhotoMetadata.vala + +commit 313c1b7ed161cf9317005867a3249118e95abded +Author: Vera Yin +Date: Tue Aug 3 02:21:12 2010 +0000 + + Updated English (Great Britain) and French translations. + +M po/en_GB.po +M po/fr.po + +commit 2e87f06952aa3db3530f0066720746085a905797 +Author: Patrick Tierney +Date: Mon Aug 2 22:18:50 2010 +0000 + + #2296: added filter button and menu to bottom chrome + +A icons/all-photos.svg +A icons/all-rejected.svg +A icons/five-star-filter.svg +A icons/four-star-filter-plus.svg +A icons/one-star-filter-plus.svg +A icons/three-star-filter-plus.svg +A icons/two-star-filter-plus.svg +M src/CollectionPage.vala +M src/Resources.vala +M ui/collection.ui + +commit 175ba689320a31006dd0c13959d22b704fc452f5 +Author: Jim Nelson +Date: Mon Aug 2 21:58:46 2010 +0000 + + #2334: F-Spot import requires less memory during run. + +M src/AlienDatabaseImportJob.vala + +commit bbe118a1781026b342a6d033e841eaff496d8ccd +Author: Jim Nelson +Date: Mon Aug 2 21:32:42 2010 +0000 + + #2333: Improved F-Spot import error handling. + +M src/AlienDatabase.vala +M src/AlienDatabaseImportDialog.vala +M src/FSpotDatabaseDriver.vala +M src/FSpotDatabaseTables.vala + +commit 3b052fed11eaba64a487895d754056c93e23d7fa +Author: Jim Nelson +Date: Mon Aug 2 21:04:44 2010 +0000 + + Changed calls deprecated in Gee 0.5.2. + +M src/DirectoryMonitor.vala +M src/PixbufCache.vala +M src/Tag.vala + +commit 599d686ed56cbdd107aabd0bb1e5074c149af608 +Author: Vera Yin +Date: Mon Aug 2 19:21:36 2010 +0000 + + Updated Asturian, Chinese (Mainland PRC), Chinese (Taiwan), German, + Serbian, Slovenian, and Ukrainian translations. + +M po/ast.po +M po/de.po +M po/sl.po +M po/sr.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit e9b14c16b24d383d7bbcbd5d1780dc376f8bde78 +Author: Vera Yin +Date: Fri Jul 30 23:40:23 2010 +0000 + + Updated Norwegian translation. + +M po/nb.po + +commit f80a971414957d86be7086ae1bffcabdba18c767 +Author: Vera Yin +Date: Fri Jul 30 22:58:28 2010 +0000 + + Updated Finnish and Ukrainian translations. + +M po/fi.po +M po/uk.po + +commit 49430992fb269cce28222dc940a90e67d766a4b9 +Author: Vera Yin +Date: Fri Jul 30 19:36:23 2010 +0000 + + Updated shotwell.pot after real string freeze. + +M po/shotwell.pot + +commit eac5ccae588cdf2709f221be70f59f07bda507e9 +Author: Lucas Beeler +Date: Fri Jul 30 14:42:41 2010 +0000 + + Fixes duplicate mnemonics. Closes #2341. + +M src/AppWindow.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit edfe805e86b202a30a985196700e6849d8ad8d91 +Author: Jim Nelson +Date: Fri Jul 30 13:41:06 2010 +0000 + + Added mnemonics to Welcome dialog checkboxes. + +M src/Dialogs.vala + +commit 415158ba649d1c0913b57de7ee2ba34c2e27988a +Author: Lucas Beeler +Date: Fri Jul 30 12:48:22 2010 +0000 + + Fixes Welcome Dialog nits, closes #2338. + +M src/Dialogs.vala + +commit 2d7c6dcfd80198c49301b3f64f4b40fd4847d2d4 +Author: Patrick Tierney +Date: Fri Jul 30 00:55:46 2010 +0000 + + #2337: default filter level now shows unrated or better photos + +M misc/shotwell.schemas +M src/Config.vala + +commit 1217a9520c0dfc0f2ee3204fa755c968576147bc +Author: Vera Yin +Date: Thu Jul 29 21:39:35 2010 +0000 + + Updated shotwell.pot following 0.7 string freeze. + +M po/shotwell.pot + +commit 27b5e3d0ea767e144d7fbd4d4e50135e9e327a97 +Author: Jim Nelson +Date: Thu Jul 29 21:12:13 2010 +0000 + + #2262: Always show master file when Shift key is pressed, even if + external edit is in place. + +M src/MimicManager.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/SlideshowPage.vala + +commit 5673e27fbe747c185947421a9cb19fb053932138 +Author: Jim Nelson +Date: Thu Jul 29 21:07:38 2010 +0000 + + #2336: Duplicate mnemonic taken care of. + +M src/Resources.vala + +commit 69a5ec870f9756dd4ec1e8aec82d8649ed19e000 +Author: Vera Yin +Date: Thu Jul 29 21:02:30 2010 +0000 + + Updated English (Great Britain) translation. + +M po/en_GB.po + +commit 6da895b38e1bc802adc1aa2e8b7b3c9be79973a7 +Author: Jim Nelson +Date: Thu Jul 29 14:32:39 2010 +0000 + + #324: Accelerators of hosted page now available in fullscreen mode. + +M src/AppWindow.vala + +commit efdc88b39005f43a13c2ecc5a3a3e63e9953ce41 +Author: Lucas Beeler +Date: Thu Jul 29 13:49:19 2010 +0000 + + Prompts the user to import from an existing F-spot library or + the system pictures directory when Shotwell is run for the first + time. Closes #1908. + +M src/Dialogs.vala +M src/LibraryWindow.vala +M src/main.vala + +commit 2cc23d0d9a71dd368bfa26209f03d2e7c64786d4 +Author: Jim Nelson +Date: Thu Jul 29 12:42:25 2010 +0000 + + #2329: 64-bit library support for libraw-config. + +M libraw-config + +commit 4791b737af61e0a523244b2c5f4ab46a650a4930 +Author: Jim Nelson +Date: Thu Jul 29 11:08:19 2010 +0000 + + #2304: "Already in library" changed to "duplicate photo" not imported. + +M src/Dialogs.vala + +commit fd5b59a120295f261725c8543e48b4c2d4903789 +Author: Jim Nelson +Date: Thu Jul 29 11:06:15 2010 +0000 + + #2327: Changed text for rating filter strings, as discussed. + +M src/Resources.vala + +commit 222cb80a6d395715bb3dceb94cfef6cceab9ab26 +Author: Jim Nelson +Date: Thu Jul 29 10:42:33 2010 +0000 + + #139: F-Spot migration. Courtesy the diligent and dedicated work + of Bruno Girin. Thanks, Bruno! + +M Makefile +M THANKS +A src/AlienDatabase.vala +A src/AlienDatabaseImportDialog.vala +A src/AlienDatabaseImportJob.vala +M src/BatchImport.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/Event.vala +A src/FSpotDatabaseDriver.vala +A src/FSpotDatabaseTables.vala +M src/Photo.vala +M src/main.vala +M ui/collection.ui +M ui/shotwell.glade + +commit ccadbad0db0726783571e4bede4dd768c5b9ade1 +Author: Patrick Tierney +Date: Wed Jul 28 20:02:17 2010 +0000 + + #2279: user can now toggle display of photo ratings + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Config.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Thumbnail.vala +M ui/collection.ui +M ui/photo.ui + +commit 4af51bbc7987adb2fdc235f2b5fbdc6f2942416a +Author: Jim Nelson +Date: Wed Jul 28 15:09:59 2010 +0000 + + #2297: Reset to default background color with Ctrl+Click on Prefs + slider. Courtesy Philip Beam. + +M src/Dialogs.vala +M ui/shotwell.glade + +commit 983227894706fb8b28f6bfed0dc5f10136390884 +Author: Jim Nelson +Date: Wed Jul 28 15:02:38 2010 +0000 + + #295: Icons in sidebar, courtesy Philip Beam. + +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LastImportPage.vala +M src/LibraryWindow.vala +M src/OfflinePage.vala +M src/Page.vala +M src/Resources.vala +M src/Sidebar.vala +M src/TrashPage.vala + +commit 779002d58ec170de71cbc51cfe4e3d1c5aef57b9 +Author: Vera Yin +Date: Mon Jul 26 20:53:32 2010 +0000 + + Updated Catalan and Chinese (Taiwan) translations. + +M po/ca.po +M po/zh_TW.po + +commit 6d015ffdda55b5979a5d63a72b81fd36c40b6821 +Author: Vera Yin +Date: Thu Jul 22 18:44:01 2010 +0000 + + Added Catalan translation. + +M Makefile +M THANKS +A po/ca.po + +commit 2ea3dbc68838c5fad6e3052db271b639770f54bf +Author: Jim Nelson +Date: Thu Jul 22 01:38:54 2010 +0000 + + #2306: Remove files from the Missing Files page. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/OfflinePage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/TrashPage.vala +M src/util.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/offline.ui +M ui/trash.ui + +commit 84282b93ce91993af93c0d28eaf18fbaa7a1f790 +Author: Jim Nelson +Date: Wed Jul 21 23:33:20 2010 +0000 + + #374: Auto-import files added to library directory. + +M src/BatchImport.vala +M src/ImportPage.vala +M src/LibraryMonitor.vala +M src/LibraryWindow.vala +M src/Photo.vala + +commit 195eda1afd0904e97fcb95ec9acaebd6fd32d899 +Author: Vera Yin +Date: Wed Jul 21 23:22:14 2010 +0000 + + Updated Czech translation. + +M THANKS +M po/cs.po + +commit d1fef52a9c840083f34561092b5c41b8ef30442c +Author: Jim Nelson +Date: Wed Jul 21 23:13:59 2010 +0000 + + #2210: Relative path now allowed when specifying database directory + on command-line. Courtesy Philip Beam. + +M src/main.vala + +commit dd25d9986ceec3989d1184cc8d43bd071fcf19d8 +Author: Jim Nelson +Date: Wed Jul 21 23:03:40 2010 +0000 + + Updated glib requirement to 2.24 (for directory monitoring). + +M Makefile +M debian/control +M src/DirectoryMonitor.vala + +commit 8d98fd85ad8eba1b6408f3209a0e4968fab97efe +Author: Patrick Tierney +Date: Wed Jul 21 18:42:56 2010 +0000 + + #2277: removed all code relating to hiding and favorites + +D icons/favorite.svg +R100 icons/hidden.svg icons/rejected.svg +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Thumbnail.vala +M ui/collection.ui +M ui/photo.ui + +commit 6e397a7be6655c7a73d9849a69306e351f1e1011 +Author: Jim Nelson +Date: Wed Jul 21 01:46:56 2010 +0000 + + #897: Last Import page. + +M Makefile +M src/DatabaseTables.vala +A src/LastImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala + +commit 6a75fcfdf586d6477f5eae164473d022c2dcfb55 +Author: Patrick Tierney +Date: Tue Jul 20 20:33:30 2010 +0000 + + #2187: added progress window when deleting photos from a camera + +M src/ImportPage.vala + +commit 095bc2ed219503be9de1e8f442f634926bdd97a4 +Author: Patrick Tierney +Date: Tue Jul 20 20:29:52 2010 +0000 + + #2295: removed "or Better" from five star rating filter + +M src/Resources.vala + +commit 17b4d04280011a4e83a57bd8d3624f38b338716c +Author: Vera Yin +Date: Tue Jul 20 19:13:13 2010 +0000 + + Assertion fired if a duplicate tag was in the photo at import time. + This corrects the problem. + +M src/Tag.vala + +commit 3bfa37b88a601f402788041ddd931e35ed83a420 +Author: Jim Nelson +Date: Tue Jul 20 18:08:05 2010 +0000 + + #2294: Down arrow selects last photo on next row if none directly + below. Courtesy Philip Beam. + +M src/CheckerboardLayout.vala + +commit fd386f9b93729d7608e46b3e11ffca0ab65b256f +Author: Jim Nelson +Date: Tue Jul 20 02:24:10 2010 +0000 + + #374: First commit for library monitoring. Run with + --enable-monitoring to activate. Will scan library directory at + startup and the continue monitoring the entire tree. For now only + moves, alterations, and deletes are handled. Future work will + auto-import added files and (possibly) handle symbolic links. + +M Makefile +M src/DatabaseTables.vala +A src/DirectoryMonitor.vala +A src/LibraryMonitor.vala +M src/LibraryWindow.vala +A src/OfflinePage.vala +M src/Photo.vala +M src/main.vala +M src/util.vala +A ui/offline.ui + +commit a188d2cac0e5356902dd36921445c59dec2d2519 +Author: Patrick Tierney +Date: Tue Jul 20 00:44:03 2010 +0000 + + #2234: Rating filtering. Users can filter photo display based + on ratings. + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Config.vala +M src/Resources.vala +M ui/collection.ui + +commit 78aac83d5595883e3d8229c3ae7737a15fbc5282 +Author: Lucas Beeler +Date: Tue Jul 20 00:33:54 2010 +0000 + + The ThumbnailCache now operates over ThumbnailSources, not + TransformablePhotos. This is to prepare for video handling. + +M src/DataObject.vala +M src/Event.vala +M src/ImportPage.vala +M src/Photo.vala +M src/ThumbnailCache.vala + +commit f67af9545b7ed4934e49b5ff196f6d4c30833476 +Author: Jim Nelson +Date: Mon Jul 19 21:06:25 2010 +0000 + + Added Tobias' last name to THANKS file. + +M THANKS + +commit 4e1a20dce79c50520bbcc73e4f23b06bb4ae5af5 +Author: Patrick Tierney +Date: Mon Jul 19 20:34:08 2010 +0000 + + #2281: rearranged rating menu items + +M ui/collection.ui +M ui/photo.ui + +commit 33b02ce54a56dffb2db17ac6dfa8ed6d87027c6d +Author: Jim Nelson +Date: Mon Jul 19 19:34:18 2010 +0000 + + #2025: Images with transparencies now painted with proper background + color. Courtesy Philip Beam. + +M src/CheckerboardLayout.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala + +commit 3f9a73f6dd762f744c6ba872ebae9479ac5f964f +Author: Patrick Tierney +Date: Mon Jul 19 19:05:58 2010 +0000 + + #2283: < and > keys now increase and decrease ratings + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit 8bc51366a3551bc00919e6accbb1f3e53721c744 +Author: Patrick Tierney +Date: Mon Jul 19 17:54:57 2010 +0000 + + #2280: user can set ratings via keypad + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit f81b867f4778c0f0f624807868a6d77f356c790c +Author: Vera Yin +Date: Fri Jul 16 23:48:51 2010 +0000 + + Added Turkish translation. + +M Makefile +M THANKS +A po/tr.po + +commit 28ed0f41c140bc4228e6be75d52c9cda81935a8c +Author: Vera Yin +Date: Fri Jul 16 19:08:08 2010 +0000 + + Updated Asturian, Chinese (Taiwan), Italian, and Thai translations. + +M po/ast.po +M po/it.po +M po/th.po +M po/zh_TW.po + +commit 855c95bbac70c446fa45358f744d456b81fe63a9 +Author: Jim Nelson +Date: Thu Jul 15 19:50:06 2010 +0000 + + #2276: Fixed to work with Vala 0.9.3. + +M src/ImportPage.vala +M src/util.vala + +commit 168fa569b89ec1cb9a677d0fa0ec5a782cefa2a2 +Author: Jim Nelson +Date: Thu Jul 15 18:48:06 2010 +0000 + + #2266: "Rename Photo" -> "Edit Title" + +M src/CollectionPage.vala +M src/Commands.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M src/Resources.vala +M ui/collection.ui +M ui/photo.ui + +commit fa2559a5e4240369d51ab6e0569bf335b16838ea +Author: Jim Nelson +Date: Thu Jul 15 18:39:46 2010 +0000 + + #2259: Drag-and-drop was activated when a photo was selected and a + drag was initiated on a blank area of the checkerboard. + +M THANKS +M src/Page.vala + +commit 7efccc5f2e769c9db1a2b663c2006632b81d3bc7 +Author: Jim Nelson +Date: Thu Jul 15 18:26:44 2010 +0000 + + #2268: Mouse wheel was still adjusting slider, even if it was + insensitive (during editing, for example). + +M src/PhotoPage.vala + +commit 3c1305dc45662d6ffcdb8e40262659657c0e9e0c +Author: Jim Nelson +Date: Thu Jul 15 18:18:48 2010 +0000 + + #2267: Fixed configure script to work on FreeBSD (and other Unices) + where bash in not installed in /bin. + +M configure + +commit cfee921f0e13898c119426127170e7fa554da002 +Author: Jim Nelson +Date: Wed Jul 14 23:02:46 2010 +0000 + + Changed default cursor type in Page from ARROW to LEFT_PTR. See #1319 + and changeset 1142 for details. + +M src/Page.vala + +commit 10a06054175b0a5d962ee34ef4cd62468dac7183 +Author: Patrick Tierney +Date: Wed Jul 14 17:59:59 2010 +0000 + + #2233: adding star icon media + +A icons/five-stars.svg +A icons/four-stars.svg +A icons/one-star.svg +A icons/three-stars.svg +A icons/two-stars.svg + +commit 0a38982e3eac1cc336b38bfe09ee7fe38807537f +Author: Patrick Tierney +Date: Wed Jul 14 17:54:45 2010 +0000 + + #2233: Added 5 star rating system, and ability to sort photos + by rating. + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DatabaseTables.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Thumbnail.vala +M ui/collection.ui +M ui/photo.ui + +commit ab9d9bd7feb5745d8d63eb837cc25759d4daa851 +Author: Jim Nelson +Date: Tue Jul 13 22:28:33 2010 +0000 + + This change addresses a long-standing issue in the + DataObject/DataCollection system, being able to be notified of what + was altered when an "altered" signal is fired. The Alteration object + gives details. This change gets rid of "metadata-altered" signal, + and could potentially be used to reduce other signals as well. + +M src/CheckerboardLayout.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DirectWindow.vala +M src/Event.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Tag.vala +M src/Thumbnail.vala + +commit 88362f158c2d83eca65ff5491ca7774e13b5f255 +Author: Allison Barlow +Date: Fri Jul 9 18:57:52 2010 +0000 + + fixes an unticketed scrolling prblem for rename in place. + +M src/Sidebar.vala + +commit 9b33d80783cfc59b157c93c1add53e970dbdf643 +Author: Jim Nelson +Date: Fri Jul 9 18:49:31 2010 +0000 + + There was one oversight in the Trash code: If a trashed + (i.e. unlinked) photo was destroyed (removed from + trash) and it was the last photo in an unlinked + ContainerSourceCollection (i.e. a Tag or an Event), the Tag or + Event would not be destroyed. This was being taken care of at + startup when the database is verified, but that's + not the right way to handle this. This patch adds a signal for + unlinked DataSources being destroyed as orphans, + allowing for the ContainerSourceCollections to clean up appropriately. + +M src/DataCollection.vala +M src/DataObject.vala + +commit e8a031b1f450de6d86ccf5fdefab219bbefb056a +Author: Jim Nelson +Date: Fri Jul 9 17:30:44 2010 +0000 + + Removed unusued icon (return-to-page). + +D icons/return-to-page.svg +M src/Resources.vala + +commit 3491a0e025bd97c4349f2a1f2dcf1980d0fbec8a +Author: Allison Barlow +Date: Fri Jul 9 16:26:17 2010 +0000 + + fixes #2219 Fullscreen does not work correctly with multiple monitors. + +M src/AppWindow.vala + +commit b907fdaef25762d24d5cde4dac1e800778cf6cee +Author: Allison Barlow +Date: Fri Jul 9 16:19:09 2010 +0000 + + Fixes #733 (rename events in place) and #2199 (allow me to rename + sidebar items using F2). + +M src/AppWindow.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Sidebar.vala +M src/TagPage.vala + +commit e1ab69cb0ed1089d19074c77544cf7f019ac49d8 +Author: Vera Yin +Date: Fri Jul 9 00:57:54 2010 +0000 + + Updated Thai translation. + +M po/th.po + +commit 070fc9470b02b7a2161ac91fe2e380a3bc1c2c91 +Author: Vera Yin +Date: Wed Jul 7 20:36:05 2010 +0000 + + Added Galician translation. + +M Makefile +M THANKS +A po/gl.po + +commit 85eba7609a84a8b4d2c1335ef6e572c0b744aed1 +Author: Vera Yin +Date: Wed Jul 7 20:13:49 2010 +0000 + + Updated Italian translation. + +M po/it.po + +commit ca4c9e3e75ea30d7501461be30a187d0c19f9118 +Author: Vera Yin +Date: Wed Jul 7 18:36:38 2010 +0000 + + Updated Thai translation. + +M THANKS +M po/th.po + +commit 00c46dc0eda59075e37c3508c395f21edaf4d551 +Author: Jim Nelson +Date: Tue Jul 6 19:40:09 2010 +0000 + + #2223: Mirror -> Flip Horizontally, Flip -> Flip Vertically + +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui + +commit 901733bf301dd81524ddb255c664cfa9ed8cf0b8 +Author: Patrick Tierney +Date: Tue Jul 6 19:36:11 2010 +0000 + + #1858: added cursor hiding to fullscreen mode and slideshow mode. + +M src/AppWindow.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 98352b02004ccc2e1cc5920f73f0eea10805f2b6 +Author: Jim Nelson +Date: Tue Jul 6 19:20:19 2010 +0000 + + #2243: Three strings were not internationalized. Fixed. + +M src/AppWindow.vala + +commit b4d62cf1c92fe4a2fb6f5f3dc2bc88f7fec03998 +Author: Jim Nelson +Date: Tue Jul 6 19:18:06 2010 +0000 + + #2244: Release notes for 0.6.1 and 0.5.1 were not added to NEWS file. + Added now. + +M NEWS + +commit a944351b2a3301cf967fb31bb3f83038ab38db13 +Author: Vera Yin +Date: Tue Jul 6 18:48:28 2010 +0000 + + Updated Estonian, French, and Italian translations. + +M po/et.po +M po/fr.po +M po/it.po + +commit 384327be5eff2ed0511e4743ae85152ad768bab0 +Author: Patrick Tierney +Date: Fri Jul 2 18:07:13 2010 +0000 + + #2169: added keyboard shortcuts for zooming to window, zooming 100%, + and zooming 200% + +M src/PhotoPage.vala +M ui/direct.ui +M ui/photo.ui + +commit f11686478214e030c40e4032578fef3f13721331 +Author: Vera Yin +Date: Thu Jul 1 18:20:45 2010 +0000 + + Updated Spanish translation. + +M po/es.po + +commit dabe06104126412ec5eb62267534736b45f1db39 +Merge: b59d046 7bb2969 +Author: Allison Barlow +Date: Wed Jun 30 22:09:29 2010 +0000 + + Merge from 0.6 branch, includes all changes for 0.6.1 + +commit 7bb29693cb46ecf7f0536b667da9a1b63792f7e4 +Author: Allison Barlow +Date: Wed Jun 30 20:03:27 2010 +0000 + + Shotwell 0.6.1 packaging changes + +M Makefile +M debian/changelog +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lt.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sr.po +M po/sv.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po +M windows/winstall.iss + +commit e928ce4c53d10103688704bedb1c4930038c4c7d +Author: Jim Nelson +Date: Tue Jun 29 23:39:08 2010 +0000 + + #2225: Library directory now defaults to XDG Pictures directory if + no directory is specified by the user (entry + is cleared in Preferences dialog). If a relative path is specified, + it's made relative to user's home + directory, not Shotwell's cwd. + +M src/AppDirs.vala +M src/Dialogs.vala +M src/LibraryWindow.vala + +commit 52033c71febd046ed82d3f7b9925203642624fc5 +Author: Patrick Tierney +Date: Tue Jun 29 22:35:58 2010 +0000 + + #2228: Added keypad shortcuts for zooming + +M src/PhotoPage.vala + +commit 10e9f96136cfb8994203a3c7000fcd32326feb69 +Author: Jim Nelson +Date: Tue Jun 29 22:11:01 2010 +0000 + + #2048: Shotwell now only offers to delete photos that successfully + imported. This patch also fixes a segfault + that occurs if the user says to delete photos from a camera that is + no longer available (i.e. powered down). + +M src/Dialogs.vala +M src/ImportPage.vala + +commit 594713a2c22c340ad4b0ca038fe3f9d7e8222378 +Author: Jim Nelson +Date: Tue Jun 29 20:18:08 2010 +0000 + + #2224: Photos emptied from trash appear on next run fixed. + +M src/Photo.vala + +commit 7dccaaab0783f65cbaeeb08e3c90055736516fa0 +Author: Vera Yin +Date: Tue Jun 29 19:18:42 2010 +0000 + + (Re)versioned Makefile as 0.6.0+branch. + +M Makefile + +commit 5bfc8ae6d93e79c1ee8480f0af237445f37b9248 +Author: Vera Yin +Date: Tue Jun 29 19:13:26 2010 +0000 + + Added Lithuanian and Serbian translations, updated Italian and + Spanish translations in Shotwell-0.6 branch. + +M Makefile +M THANKS +M po/es.po +M po/it.po +C061 po/es.po po/lt.po +A po/sr.po + +commit b59d04610243767c5c0e072256c43c56147ff95e +Author: Vera Yin +Date: Tue Jun 29 19:03:58 2010 +0000 + + Updated Italian and Spanish translations. + +M po/es.po +M po/it.po + +commit 086a2fdf52d123d9dd6348a02a2e3e3746d87178 +Author: Jim Nelson +Date: Tue Jun 29 18:10:27 2010 +0000 + + Versioned as 0.6.0+branch; updated gexiv2 version requirement + to 0.1.0. + +M Makefile +M debian/control + +commit e435b6ae82f76a7b27cb63d42dee952fc31643f9 +Author: Vera Yin +Date: Tue Jun 29 03:26:58 2010 +0000 + + Added Lithuanian and Serbian translations. + +M Makefile +M THANKS +A po/lt.po +A po/sr.po + +commit b59fb19bced914f88955d40a4bc1395fbea3bff5 +Author: Jim Nelson +Date: Tue Jun 29 01:16:51 2010 +0000 + + Updated gexiv2 version requirement to 0.1.0. + +M Makefile + +commit b9ea83f46efae43c960a5dca96e09fb85b7d5034 +Merge: 42daba6 4608a46 +Author: Allison Barlow +Date: Tue Jun 29 00:29:47 2010 +0000 + + Merge from 0.6 branch + +commit 4608a4610cd072b51bedc8c150f9b18ca60bb5e0 +Author: Allison Barlow +Date: Mon Jun 28 23:50:44 2010 +0000 + + packaging changes + +M Makefile +M NEWS +M README +M debian/changelog +M debian/control +M windows/winstall.iss + +commit 42daba677196dfdc4f1419f266b9e87f14ec1679 +Author: Jim Nelson +Date: Mon Jun 28 19:11:13 2010 +0000 + + Versioned to 0.6.0+trunk. + +M Makefile + +commit 7637bc74c4d51f8892f690804d05d7894549661e +Author: Vera Yin +Date: Mon Jun 28 19:10:10 2010 +0000 + + Updated translation files to 0.6.0+trunk. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sv.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 7d1d689638eefb32cbc34f36366f077fa9e074db +Author: Allison Barlow +Date: Mon Jun 28 18:38:50 2010 +0000 + + creating shotwell 0.6 branch + +commit d5102c69a8669faa667369637fa7f3d3f30adef8 +Author: Vera Yin +Date: Mon Jun 28 18:34:31 2010 +0000 + + Updated translation files to version 0.6.0. + +M po/ar.po +M po/ast.po +M po/bg.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ro.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sv.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 58e894e771ce7d854e07206a81cecd4b950586ef +Author: Jim Nelson +Date: Sat Jun 26 00:26:18 2010 +0000 + + #2200: This patch fixes the second case Adam reported, photos being + imported with no thumbnails after an import. + (Simple change -- an overlooked call when BatchImport was re-factored + earlier this week). The problem of the + thumbnails not being available when the program is closed is a + tougher problem. + +M src/BatchImport.vala + +commit 58de2af0f7a7ee54d8fedbc2e980f8ab78cea485 +Author: Lucas Beeler +Date: Sat Jun 26 00:24:28 2010 +0000 + + Suppresses the close button on the progress dialogs of non-cancellable + operations. Closes #2207. + +M src/Dialogs.vala + +commit 2797b5bac0d314056ac2a1db4be669c1a960900e +Author: Jim Nelson +Date: Fri Jun 25 23:36:08 2010 +0000 + + #2213: Removing photos while importing caused assertion. Fixed. + +M src/BatchImport.vala +M src/Event.vala +M src/PhotoExporter.vala + +commit eb9f3318cb55199e30b2c1c43d0d5b49225aa02d +Author: Jim Nelson +Date: Fri Jun 25 22:58:28 2010 +0000 + + #2214/#2215: Sidebar changes to move the cameras and importing pages + up toward the top. + +M src/LibraryWindow.vala + +commit 15ff07e694045aade4e07b3b89ddbb4ccc626cc3 +Author: Jim Nelson +Date: Fri Jun 25 22:53:02 2010 +0000 + + #2205: Speed up removing large number of photos from library + (especially when there are few photos per event). + +M src/DataCollection.vala +M src/Photo.vala +M src/Tag.vala + +commit 990455258d41f673b6abc03bedc5ad5f0392f912 +Author: Vera Yin +Date: Fri Jun 25 18:17:19 2010 +0000 + + Updated Asturian translation. + +M po/ast.po + +commit 440a7fa2e4997943edd56834b774ddec1d62b707 +Author: Allison Barlow +Date: Fri Jun 25 18:04:20 2010 +0000 + + #2208: edit->undo is available when there are no actions to undo + +M src/Page.vala +M src/PhotoPage.vala + +commit 59ecee5ae5f772351f43a1959bc7959a5a89d5d1 +Author: Jim Nelson +Date: Fri Jun 25 00:07:44 2010 +0000 + + #2206: Original committer used state to track when Ctrl was + pressed/released in regards to the mousewheel zoom + functionality. Mousewheel events can fall through to the window + even when it does not have focus. If a + mousewheel event comes through when Shotwell loses focus with the + Ctrl key down (Shift+Ctrl+M), and then the + ctrl key is released, the state will not be reset until Shotwell + regains focus. Now using the modifier flags + provided by the GDK event. + +M src/CollectionPage.vala + +commit 0ea5bc0946c9c708ddc4f506f6bf554b264b8260 +Author: Lucas Beeler +Date: Thu Jun 24 23:52:01 2010 +0000 + + Fixes #2202 ("soft assertion: gtk_tree_path_compare: assertion `b != + NULL' failed"). + +M src/LibraryWindow.vala + +commit b5c73c96cfef83047f63fc7c746ae577229f49f0 +Author: Jim Nelson +Date: Thu Jun 24 23:47:38 2010 +0000 + + #2203: Keyboard shortcut for Show in File Manager. #2204: Keyboard + shortcut for Delete in Trash Page. + +M src/AppWindow.vala +M src/TrashPage.vala + +commit d94c34117d014078bc48e6eb71f4fe9c283c84c9 +Author: Jim Nelson +Date: Thu Jun 24 23:34:19 2010 +0000 + + #2197: Full-sized export some times caused soft assertion. + Subtle timing bug. + +M src/Dialogs.vala +M src/PhotoExporter.vala + +commit 2af9e641336b84003c8bd707b0e7dd94cce36077 +Author: Allison Barlow +Date: Thu Jun 24 22:51:17 2010 +0000 + + fix for #2141: Issues with Fullscreen mode and GNOME panel. + +M Makefile +M src/Config.vala +M src/PhotoPage.vala +M src/util.vala + +commit e0035993ea7600140119182a087b7d88f05d351c +Author: Jim Nelson +Date: Thu Jun 24 22:22:59 2010 +0000 + + #2201: Smoothed the progress bar by skipping over non-image files + during the WorkSniffer phase. + +M src/BatchImport.vala + +commit e0b60a4173bbb4952ce237ddd44f236f6ce279d3 +Author: Allison Barlow +Date: Thu Jun 24 21:56:01 2010 +0000 + + #2191: space items evenly in Preferences dialog. + +M ui/shotwell.glade + +commit 13c2e983a7620352815d69ed6bab619884c85122 +Author: Allison Barlow +Date: Thu Jun 24 21:41:52 2010 +0000 + + #2194: some programs which handle RAW photos missing in Preferences + dialog. + +M src/Dialogs.vala +M src/util.vala + +commit b4115309e09519ebb466c3e89930d05e8ac4116c +Author: Jim Nelson +Date: Thu Jun 24 21:34:58 2010 +0000 + + #2078: Logging to file only occurs in library mode. Direct edit + mode will still log to console if + SHOTWELL_LOG is set. + +M src/AppDirs.vala +M src/Debug.vala +M src/LibraryWindow.vala +M src/main.vala +M src/system.vala + +commit ba037dcac4f2aee370a4a99c8b141fd11558659c +Author: Patrick Tierney +Date: Thu Jun 24 21:20:45 2010 +0000 + + #2033: Allows user to set library directory via a text entry box. + +M src/Dialogs.vala +M ui/shotwell.glade + +commit b06ce2ea63ab90b31a91984293b1353a1b1acac6 +Author: Lucas Beeler +Date: Thu Jun 24 21:17:25 2010 +0000 + + Makes thumbnail sort order stable across the various checkerboard + views. Closes #1895. + +M src/Thumbnail.vala + +commit ff77549e17af3a232307d22c2967bdab527801d0 +Author: Jim Nelson +Date: Thu Jun 24 20:40:35 2010 +0000 + + #2188: Fatal abort after interrupted batch import fixed. Also, + BatchImport wasn't cleaning up all files + generated during import process after an abort; this is fixed as well. + +M src/BatchImport.vala +M src/ImportPage.vala + +commit 3339f7fd34225310a5b80afc68544ca322fafd78 +Author: Jim Nelson +Date: Thu Jun 24 19:11:25 2010 +0000 + + #2179: No longer recurse w/ segfault if go to fullscreen on a photo + with no backing file. + +M src/AppWindow.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 8642dd2f239f3b6653ce2851414731f2092515a0 +Author: Vera Yin +Date: Thu Jun 24 18:39:59 2010 +0000 + + Updated Hungarian translation. + +M THANKS +M po/hu.po + +commit d47726c91ce83edb955c401a19ed491fd0e860ac +Author: Patrick Tierney +Date: Thu Jun 24 18:17:09 2010 +0000 + + #1462: AppWindow now maintains its position after going to fullscreen + +M src/AppWindow.vala + +commit f6349be7db03148c62d8a5e103054d343f04853e +Author: Patrick Tierney +Date: Thu Jun 24 17:58:49 2010 +0000 + + #2184: fixed soft assertion when choosing an external editor in + Windows. Fixed several bugs regarding opening an external editor on + Windows relating to AppInfo quirks. + +M src/Config.vala +M src/Dialogs.vala +M src/Photo.vala +M src/util.vala + +commit 0cf69164b8e5029058217470f8650ef4a00e665a +Author: Lucas Beeler +Date: Wed Jun 23 20:30:07 2010 +0000 + + Updated the NEWS and debian changelog files to prepare for the + 0.6 release. + +M NEWS +M debian/changelog + +commit 9fab1ecc868095db86f443869e48746e2c3b76db +Author: Jim Nelson +Date: Wed Jun 23 01:20:11 2010 +0000 + + #1682: Makefile now does checking of libraw, even if not available + in packaged form. + +M Makefile +A libraw-config +M minver + +commit 0a50da4a199cf06f2fc49137c5e68dc6e8b614dc +Author: Lucas Beeler +Date: Wed Jun 23 00:35:06 2010 +0000 + + Changed the way the configure script is invoked in the debian rules + file to suppress extraneous warning messages. Closes #1555. + +M debian/rules + +commit 73defcb0f4225f57797726f479b16127660dd3a5 +Author: Lucas Beeler +Date: Wed Jun 23 00:16:40 2010 +0000 + + Updated the debian/control file add runtime dependencies on + librsvg2-common and dbus-x11. Closes #1766. + +M debian/control + +commit a4dd12655e25e92a964d4eb3e8980df4a78a5e22 +Author: Lucas Beeler +Date: Tue Jun 22 23:46:08 2010 +0000 + + Removes wildcards from the definition of the DIST_FILES variable. This + prevents temporary files from being included in Shotwell distribution + packages. Closes #2044. + +M Makefile + +commit d13902c833941a964eac85a0609738b6c4862f14 +Author: Jim Nelson +Date: Tue Jun 22 22:31:36 2010 +0000 + + Vera discovered a corner case where a single photo import did not + appear in Photos view until exiting the + application, nor was an Event generated for it. Order of operation + problem; fixed. + +M src/BatchImport.vala + +commit b6eddb7f07630eee863116977629425e9a5c683f +Author: Patrick Tierney +Date: Tue Jun 22 20:55:12 2010 +0000 + + #2158, #2159: Windows dialogs display and function correctly + +M Makefile + +commit 8cf7862dc6e4c8f830ee0e9beb43f1ae0148b1a0 +Author: Jim Nelson +Date: Tue Jun 22 18:19:13 2010 +0000 + + #2111: Refactoring of BatchImport to reduce the overhead of managing + background jobs and their completion + callbacks, to keep the UI responsive during an import while + (attempting) to not sacrifice speed. There remains + a corner case when a large number of small files (8,000 8K JPEGs in + my test case) will still swamp the UI, but + we will live with that for now ... importing that many in a responsive + way will require more work, and more + consideration of BatchImport's requirements. + +M src/BatchImport.vala +M src/DataCollection.vala +M src/Event.vala +M src/ImportPage.vala +M src/MimicManager.vala +M src/Photo.vala +M src/Tag.vala +M src/Workers.vala + +commit 7f9121d2c755f798721cf8b5c2e23369edf224aa +Author: Lucas Beeler +Date: Tue Jun 22 18:15:25 2010 +0000 + + Fixes a problem whereby the toolbar would disappear during a zoom + operation in fullscreen mode. Closes #2176. + +M src/AppWindow.vala +M src/PhotoPage.vala + +commit d3ddb690a21cfe2f644aaf0b0cba139da7e620e5 +Author: Patrick Tierney +Date: Tue Jun 22 18:14:27 2010 +0000 + + #2142: fixed menu senitivities when a photo is missing. + +M src/PhotoPage.vala + +commit 69dd8b55155c6753b8a80a62b695f51707377c41 +Author: Lucas Beeler +Date: Tue Jun 22 18:12:57 2010 +0000 + + Fixes a problem whereby the currently viewed photo in full-window + mode would disappear when the context menu was shown. Closes #2178. + +M src/PhotoPage.vala + +commit df1774120929b7776e2d4166b0fed1c1c46b9002 +Author: Lucas Beeler +Date: Mon Jun 21 20:50:15 2010 +0000 + + Made trivial changes to the ColorTransformation.vala module such + that it compiles with vala 0.9.2. Closes #2164. + +M src/ColorTransformation.vala + +commit f557b17db2c98a768f2adb418c82dfe99f49623b +Author: Lucas Beeler +Date: Mon Jun 21 20:34:29 2010 +0000 + + Fixes an problem whereby the transient toolbar in full screen mode + would disappear when a zoom drag was in progress, causing the zoom + state to become inconsistent then reset to default. Closes #2166. + +M src/AppWindow.vala + +commit aa8fb85e29cf52a83f99b61b31a8d632296bf643 +Author: Allison Barlow +Date: Mon Jun 21 19:46:59 2010 +0000 + + updated sw-glade to check for shared library libshotwell.so + +M sw-glade + +commit be677559b5ef2707332f052186c589b2b4928e09 +Author: Lucas Beeler +Date: Mon Jun 21 19:18:16 2010 +0000 + + Properly cancels batch operations when the progress dialog's close + button is clicked. Closes #2152. + +M src/Dialogs.vala + +commit a6caf3a13a9061dd03c85b21379653b691443be7 +Author: Allison Barlow +Date: Mon Jun 21 19:05:21 2010 +0000 + + #2155: always ask whether to copy or link + +M src/LibraryWindow.vala +M src/util.vala + +commit 075e5ba42e7f03f31106d485b5ec845f8c7ed433 +Author: Lucas Beeler +Date: Mon Jun 21 19:04:55 2010 +0000 + + Fixes a problem whereby opening a Foveon(tm) RAW image in direct-edit + mode caused Shotwell to silently fail to start. Closes #2126. + +M src/Photo.vala +M src/PhotoPage.vala + +commit 863e1eb00bfdd20402557148e564c8d08bef16ca +Author: Allison Barlow +Date: Mon Jun 21 19:02:16 2010 +0000 + + #2119: improve menu grouping + +M src/CollectionPage.vala +M src/PhotoPage.vala +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui + +commit 3bcb911b0bdb1bce277222095f849f2b913f352a +Author: Vera Yin +Date: Mon Jun 21 18:18:54 2010 +0000 + + Updated Asturian, Portuguese, and Spanish translations. + +M po/ast.po +M po/es.po +M po/pt.po + +commit 14f7b7870539e578ab12412a0dbfe8ddc9e98cfc +Author: Lucas Beeler +Date: Fri Jun 18 18:05:37 2010 +0000 + + Short-circuits image scaling via the Gdk Pixbuf library during + thumbnail generation for PNG images under certain highly specific + conditions under which a floating point round-off error can + occur. Closes #2151. + +M src/PngSupport.vala + +commit 4508a3161c970dcc508eac2fe5af03c0fdf07a9c +Author: Allison Barlow +Date: Fri Jun 18 16:11:27 2010 +0000 + + fixes #2123 Open with RAW Editor visibility not updated properly. + reverts to old widget-based control instead of action-based--the + action-based had problems with setting visibility. When this gets + figured out, we'd like to go back to action-based. + +M src/CollectionPage.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 8afaabde747f491c39ea3966b80c5e1e7b0ef821 +Author: Allison Barlow +Date: Fri Jun 18 16:07:41 2010 +0000 + + fixes #2149 photo and raw editor combo boxes should have same length. + +M ui/shotwell.glade + +commit 079cfbc50a480c01a3224478954518783ed6b5e7 +Author: Allison Barlow +Date: Fri Jun 18 16:05:05 2010 +0000 + + this patch changes the default time format to be based on location + in the date/time adjust dialog (#2137). + +M src/Config.vala +M src/util.vala + +commit 2050f92751a4f9876dec4ddc2b3960dcdc976959 +Author: Lucas Beeler +Date: Fri Jun 18 01:35:01 2010 +0000 + + Modifies exposure and ISO number metadata fetching functions to + check their results for sanity. Closes #2140. + +M src/PhotoMetadata.vala + +commit cd669afa840aa665f392f1c2ee44c3638db2401f +Author: Patrick Tierney +Date: Fri Jun 18 01:10:44 2010 +0000 + + #1973: Removed rotate and set background from contextual menus + +M src/CollectionPage.vala +M src/PhotoPage.vala +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui + +commit 598e138f87ff76232c233ed147773204d30e70ec +Author: Vera Yin +Date: Thu Jun 17 21:18:50 2010 +0000 + + Updated Bulgarian, Estonian, Italian, Spanish, and Thai translations. + +M THANKS +M po/bg.po +M po/es.po +M po/et.po +M po/it.po +M po/th.po + +commit 62927c6da321f9f160085168ebf325f495de9dad +Author: Jim Nelson +Date: Thu Jun 17 21:13:01 2010 +0000 + + #2145: Crash due to keyword with invalid UTF-8 fixed. The bad + Unicode was causing Markup.escape_text() to yarf. + +M src/EventsDirectoryPage.vala +M src/PhotoMetadata.vala +M src/Properties.vala +M src/Sidebar.vala +M src/Tag.vala +M src/util.vala + +commit 75c909e0c1e92049e7e5f64d9f70d66d9e870bda +Author: Allison Barlow +Date: Thu Jun 17 19:59:58 2010 +0000 + + removes a stray setting in glade which was causing a soft assertion + +M ui/shotwell.glade + +commit 6d6784d83159c82afb99496ed6b445a0bb09e139 +Author: Patrick Tierney +Date: Thu Jun 17 19:30:29 2010 +0000 + + #2143: Added keyboard accelerators for open with editor, Return, + and open with RAW editor, Return. + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit c4ee6ede0ea3d0573d1b1452b4888499b67c1ac2 +Author: Allison Barlow +Date: Thu Jun 17 19:05:27 2010 +0000 + + #2139 Markup escaping required in Properties Title: field + +M src/Properties.vala + +commit 3fddc876d8919c4fcc1d54e68b8aafdedd11d849 +Author: Patrick Tierney +Date: Thu Jun 17 18:46:32 2010 +0000 + + #2077: Show in File Manager command now appears on Trash + Page. Required code refractoring, so that menu appears in + DirectEditMode too. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/LibraryWindow.vala +M src/PhotoPage.vala +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui +M ui/trash.ui + +commit 3684a7e1e49c3b064c5de71a9ca75439d61ea6e1 +Author: Allison Barlow +Date: Thu Jun 17 18:30:23 2010 +0000 + + fixes three preferences dialog tickets: #2132 Mnemonics issues + with Preferences dialog, #2130 More padding in Browse button in + Preferences, and #2131 Resizable Preferences dialog. + +M ui/shotwell.glade + +commit 7573b0de9f49820a1c99ff26f82deac38d1b004a +Author: Allison Barlow +Date: Thu Jun 17 18:17:58 2010 +0000 + + fixes #2125 Shotwell asks whether to copy or link when Pictures + directory is missing + +M src/LibraryWindow.vala + +commit 2828d5f96a4c4b862a556cf932f6eca7c63865f4 +Author: Allison Barlow +Date: Thu Jun 17 18:16:23 2010 +0000 + + updates icon per #2120 fix trash/delete icons + +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/TrashPage.vala + +commit 393eb4e8863594684dafa69dbffeeb7188cd72a8 +Author: Jim Nelson +Date: Thu Jun 17 02:35:40 2010 +0000 + + #2124: Import view was flashing wildly if window configured to a + specific size. Tricky bug! Single piece of + state was not being reset to zero when a recompute had to take place. + +M src/CheckerboardLayout.vala + +commit 09235b95611603cee600fdffe36d33caa2f72e4a +Author: Lucas Beeler +Date: Thu Jun 17 00:35:53 2010 +0000 + + Fixes bogus mnemonics in the Picasa Web Albums credentials capture + pane. Closes #2134. As a bonus, changes the sizes of action buttons + in the Picasa Web Albums credentials capture pane to accomodate long + internationalized text. + +M src/PicasaConnector.vala + +commit b07e30a54641f9ecc3420311c2ef1578af6cb112 +Author: Lucas Beeler +Date: Thu Jun 17 00:18:28 2010 +0000 + + Single-pixel images no longer generate critical GTK assertion failures + when the Adjust palette is opened. Closes #2122. + +M src/EditingTools.vala + +commit b4fb7b9a334bcb25efbe73401eed8276d167b5c7 +Author: Lucas Beeler +Date: Thu Jun 17 00:03:02 2010 +0000 + + Adjusts the layout of various panes in the publishing subsystem to + better accomodate internationalized text. Fixes #2127. + +M src/FacebookConnector.vala +M src/PicasaConnector.vala +M src/WebConnectors.vala + +commit 6abf46ad2e5f0912d9a413884891dad78df1db3d +Author: Patrick Tierney +Date: Wed Jun 16 23:57:12 2010 +0000 + + #2020: opens on external editor on super double click and ctrl-enter, + opens raw editor on ctrl-shift-enter + +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 7dec20a1a2a19ec9e630002a23236950f5ee5c71 +Author: Patrick Tierney +Date: Wed Jun 16 22:47:30 2010 +0000 + + #2098 added Add Tags \/ Modify Tags to context menu in full-window + mode. + +M src/PhotoPage.vala +M ui/photo.ui + +commit 0d0dfe3711aa903a623d8f0fe43959975cc3c008 +Author: Lucas Beeler +Date: Wed Jun 16 19:30:10 2010 +0000 + + Updates supported MIME types across source and desktop files to + reflect the addition of RAW and PNG support; closes #1882. + +M misc/shotwell-viewer.desktop.head +M src/RawSupport.vala + +commit 171294581ce4b28069cc640e9adadcafeb630cae +Author: Jim Nelson +Date: Wed Jun 16 17:41:44 2010 +0000 + + Additional debugging for TRACE_REFLOW. + +M src/CheckerboardLayout.vala + +commit 3b3ddd426b579ab08ce5a2d5c3b9a28eccb1a570 +Author: Patrick Tierney +Date: Wed Jun 16 00:57:58 2010 +0000 + + #1623: shotwell exports metadata when it can. Objects + derived from TransformablePhoto now need to implement + set_user_metadata_for_export(PhotoMetadata) + +M src/Photo.vala + +commit cc7da50d86cbc03a68267d37c489b740bd01489a +Author: Patrick Tierney +Date: Tue Jun 15 23:18:21 2010 +0000 + + #2112: removed ability to save RAW photo in direct edit mode. + +M src/PhotoPage.vala + +commit 3ff8781856ac9c443fd0a223cb0771bad10e27b8 +Author: Allison Barlow +Date: Tue Jun 15 23:15:47 2010 +0000 + + implements #1602 link rather than copy by default when importing + ...at long last + +M Makefile +M src/Dialogs.vala +M src/LibraryWindow.vala +M src/util.vala +A vapi/gdk-none.vapi + +commit adc19aebdc408e6a036a7d9d7f1830ef926bb8e8 +Author: Allison Barlow +Date: Tue Jun 15 23:11:36 2010 +0000 + + Implements some external editing changes. Fixes #2024 Update external + editor in Preferences dialog while Shotwell is running, #2093 show + Open With RAW Editor in context menu for RAW photos, #2094 eliminate + Revert External Edits command, #2095 gray out Open With External + Editor when no editor present, and #2096 Cancel button in Revert + External Edit dialog. + +M src/CollectionPage.vala +M src/Config.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M src/util.vala +M ui/collection.ui +M ui/photo.ui + +commit b0b7aa4f0effecc80ee8101b73e3d9b198037f63 +Author: Lucas Beeler +Date: Tue Jun 15 22:57:36 2010 +0000 + + Enables the use of internationalized characters in PicasaWeb album + names. Closes #2112. As a side benefit, changes to the way PicasaWeb + XML is parsed also enables us to close #1637. + +M src/PicasaConnector.vala +M src/WebConnectors.vala + +commit 91e30d21c7e7cf28df38064f12f20647611d1871 +Author: Lucas Beeler +Date: Tue Jun 15 22:10:43 2010 +0000 + + Enables generation of PNG images directly from RAW pixel information, + without passing through a JPEG intermediate. Closes #1875. + +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 57ef0c6ceec3da7c242878b50e4e6d060c2d3fec +Author: Adam Dingle +Date: Tue Jun 15 16:02:09 2010 +0000 + + Added Patrick to THANKS file. + +M THANKS + +commit f4607b99c08e8ec9bc8cff8a1d1ddd536ad2b329 +Author: Jim Nelson +Date: Tue Jun 15 01:24:14 2010 +0000 + + #1951: Thumbnails don't distort as zoom level changes. + +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit 06b594e473f5ed03c3413ac80d376f3364d3e8cd +Author: Jim Nelson +Date: Tue Jun 15 00:33:23 2010 +0000 + + #2009: $#%&@! daylight savings. + +M src/Event.vala + +commit 3c47226629f0ff4d5e24f9ae648063474a0c02e1 +Author: Allison Barlow +Date: Tue Jun 15 00:20:31 2010 +0000 + + fixes #2043 Remove From Library doesn't remove photo. + +M src/Photo.vala + +commit d317860ce28de6d297ac3453dab2ec6d7bb64f6a +Author: Jim Nelson +Date: Tue Jun 15 00:15:08 2010 +0000 + + #1900: XMP time format now supported. + +M src/PhotoMetadata.vala + +commit f6fb31cea066417f31de70d97e5297201237b5c6 +Author: Jim Nelson +Date: Mon Jun 14 23:10:40 2010 +0000 + + #1418: Shotwell detects duplicates in the current import set as well + as the library. + +M src/BatchImport.vala +M src/DataObject.vala + +commit b26df69f19f1efb14f6c8821a222cb5bca2996a4 +Author: Patrick Tierney +Date: Mon Jun 14 22:14:35 2010 +0000 + + Updated windows install-deps script to cache some of the downloaded + files. + +M windows/install-deps + +commit 810521738ff37d0c604f3ba46c9e6934c3232849 +Author: Patrick Tierney +Date: Mon Jun 14 22:00:16 2010 +0000 + + #2099: Removed NO_SVG code, duplicate PNG files, and all traces of + building on MacOS + +M Makefile +D icons/crop.png +D icons/import.png +D icons/make-primary.png +D icons/object-flip-horizontal.png +D icons/object-flip-vertical.png +D icons/object-rotate-left.png +D icons/object-rotate-right.png +D icons/pin-toolbar.png +D icons/return-to-page.png +D icons/shotwell.png +M src/GConf.vala +M src/LibraryWindow.vala +M src/Resources.vala +D vapi/ige-mac-integration.vapi + +commit b5889b3aaf6e0c2a77f602297c5bbdcdaf0d6e45 +Author: Jim Nelson +Date: Mon Jun 14 20:18:23 2010 +0000 + + #1151: Generate events continuously during import + +M src/BatchImport.vala +M src/Dialogs.vala +M src/Event.vala +M src/ImportPage.vala +M src/LibraryWindow.vala + +commit cafafcacd15e77824a3a15239829f7f7e40b3cde +Author: Vera Yin +Date: Mon Jun 14 19:01:12 2010 +0000 + + Added Arabic, Asturian, Romanian translations. Updated German, Greek, + Polish, Russian, Ukrainian translations. + +M Makefile +M THANKS +C059 po/pl.po po/ar.po +C060 po/de.po po/ast.po +M po/de.po +M po/el.po +M po/pl.po +C059 po/de.po po/ro.po +M po/ru.po +M po/uk.po + +commit 7a5e96f534f2ce6624f589962f28eabba132e23b +Author: Lucas Beeler +Date: Mon Jun 14 18:55:18 2010 +0000 + + Allows the user to resize the publishing dialog during interaction + phases where resizing is applicable. Closes #1923. + +M src/FacebookConnector.vala +M src/WebConnectors.vala + +commit ed05edc6fd4902db6c30e04bc6e8f26c0188250d +Author: Lucas Beeler +Date: Mon Jun 14 18:54:12 2010 +0000 + + Enables panning a zoomed photo in the single-photo view with the + numeric keypad even if num lock is on. + +M src/PhotoPage.vala + +commit 7069242a37d98d3b7a4513bf49e4b5d89fb31166 +Author: Jim Nelson +Date: Sat Jun 12 02:15:44 2010 +0000 + + #1166: Initial phase of import now in background thread and + cancellable by user. + +M src/BatchImport.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Workers.vala +M src/util.vala + +commit bc1a5920922929e772cfa1e49830847d5198ba78 +Author: Patrick Tierney +Date: Fri Jun 11 21:56:17 2010 +0000 + + Fixed unwrapped raw and GPhoto code in Shotwell source. Updated + windows install-deps file to work with Shotwell 0.6. Updated Makefile + to work with new dependencies, exiv2 and gexiv2. + +M Makefile +M src/CollectionPage.vala +M src/Config.vala +M src/Dialogs.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/PhotoPage.vala +M src/Resources.vala +M windows/install-deps +M windows/winstall.iss + +commit c3726fcdb89b7e0699b9b7a35dfab34bf608fed7 +Author: Vera Yin +Date: Fri Jun 11 02:14:10 2010 +0000 + + Added +trunk tag following 0.5.91 release. + +M Makefile + +commit e0e367832eb3b0e90386461523220b11cb69a00a +Author: Vera Yin +Date: Fri Jun 11 02:12:46 2010 +0000 + + This is the 0.5.91 release image. + +M Makefile +M po/bg.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sl.po +M po/sv.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 8b96c4df70c4d9d4a23c587c43044a0d72c433fa +Author: Lucas Beeler +Date: Fri Jun 11 00:36:23 2010 +0000 + + Logs the user out of PicasaWeb if his or her authentication token + has become invalid (e.g., it could've expired, or invalidated by + the Google security manager, etc.). Closes #1987. + +M src/PicasaConnector.vala + +commit e9329b1c5819e2b6f67e544ae5f7a1508d6693df +Author: Lucas Beeler +Date: Fri Jun 11 00:15:14 2010 +0000 + + Enables panning over a photo when it is zoomed using the keyboard + arrow keys. Closes #2072. + +M src/PhotoPage.vala + +commit 6279ff1f8326c6a79c9b139f3f6e04accb7dad1c +Author: Lucas Beeler +Date: Fri Jun 11 00:05:28 2010 +0000 + + Fixes an issue whereby the Ctrl+= zoom accelerator behaved differently + depending on whether or not the zoom slider had keyboard focus. Closes + #2038. + +M src/PhotoPage.vala + +commit c9380b569e13ed322d23e2af8a374c209e166891 +Author: Lucas Beeler +Date: Thu Jun 10 23:52:07 2010 +0000 + + Enables the user to zoom the sizes of thumbnails up or down in any + CollectionPage-derived view by using the mouse wheel in conjunction + with the Ctrl key. Closes #1919. + +M src/CollectionPage.vala + +commit fd6541346618a6650e14158a58747be997cd32a2 +Author: Lucas Beeler +Date: Thu Jun 10 23:44:32 2010 +0000 + + Fixes the EditingHostPage's cursor handling such that the grip-hand + cursor is displayed when and only when panning is applicable, across + a wide variety of cases. Closes #1911. + +M src/PhotoPage.vala + +commit bac0b445280b05fa9b26a2aa11b4ec76f7b7b61b +Author: Adam Dingle +Date: Thu Jun 10 22:31:01 2010 +0000 + + Updated COPYING to reflect the fact that human-icon-theme icons are + now available under Creative Commons Attribution ShareAlike 3.0. + +M COPYING + +commit d4a9eb68ba012d7d8586748abb85bc07f0f63c16 +Author: Vera Yin +Date: Thu Jun 10 21:47:00 2010 +0000 + + Updated POT file to reflect newly marked up strings. + +M po/shotwell.pot + +commit 1f55cd5d516649bf9e90dd9d37dde3a7cf7c7dee +Author: Vera Yin +Date: Thu Jun 10 21:34:46 2010 +0000 + + Marked up strings for translation in Resources.vala that had been + overlooked by the original committer. + +M src/Resources.vala + +commit 59e28bf722a512ea2cf6620e50789bba8eca521b +Author: Vera Yin +Date: Thu Jun 10 20:41:37 2010 +0000 + + Updated Thai translation. + +M po/th.po + +commit 5551052a9c85d5f4230ded07004e2ede6b697608 +Author: Jim Nelson +Date: Thu Jun 10 17:47:46 2010 +0000 + + Fixes bug where Shotwell crashes if SHOTWELL_LOG_FILE=:console:. + +M src/Debug.vala + +commit 18971ed670183ff7bcc6d5e5bd9d4fd5fac8ff33 +Author: Lucas Beeler +Date: Thu Jun 10 01:05:26 2010 +0000 + + Implements zoom-in/zoom-out with the mousewheel that maintains the + position of the zoomed content relative to the cursor. Closes #1910. + +M src/Dimensions.vala +M src/Page.vala +M src/PhotoPage.vala +M src/image_util.vala + +commit 746101f76860ac66c95d921468ab4d76a4710b18 +Author: Vera Yin +Date: Thu Jun 10 00:18:15 2010 +0000 + + Updated Indonesian and Thai translations. + +M po/id.po +M po/th.po + +commit d26fa8d785297b7e2e760618eadc1c412cc115c1 +Author: Allison Barlow +Date: Wed Jun 9 21:58:45 2010 +0000 + + fixes #1844 Trash interferes with dupe detection. + +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/ImportPage.vala +M src/Photo.vala + +commit 79c2d34dd5457a0460cd890c44c93110d8f2135c +Author: Jim Nelson +Date: Wed Jun 9 17:39:28 2010 +0000 + + #2063: Optionally install apport hook. Courtesy Bruno Girin. + +M Makefile +A apport/shotwell.py + +commit 0bb354843ee4df8396a02ad4908f67e745521269 +Author: Jim Nelson +Date: Wed Jun 9 17:35:02 2010 +0000 + + #2000: Write log while running. Courtest Bruno Girin. + +M src/AppDirs.vala +M src/Debug.vala +M src/main.vala + +commit 50d34f01581531cf24af438fae840edc27e7eb05 +Author: Vera Yin +Date: Wed Jun 9 00:27:46 2010 +0000 + + Updated Russian and Swedish translations. + +M po/ru.po +M po/sv.po + +commit 7fbc6262a9b67321a19f76716090293c63498095 +Author: Jim Nelson +Date: Tue Jun 8 23:42:24 2010 +0000 + + #1855: Recursive calculation of file size now properly handles + permission failures when enumerating a directory. + +M src/util.vala + +commit e11e3bfff6050e4b3bbf9a3145c8fc0c1affd547 +Author: Allison Barlow +Date: Tue Jun 8 23:12:20 2010 +0000 + + fixes #2037 Slideshow button grayed out. + +M src/CollectionPage.vala + +commit f348dba7d4d0689229308c6e979d3a5af2fafbc7 +Author: Jim Nelson +Date: Tue Jun 8 19:51:55 2010 +0000 + + #2061: Shotwell now compiles without error or warning with Vala 0.9.1. + +M src/AppWindow.vala +M src/BatchImport.vala +M src/CameraTable.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/CustomComponents.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Dialogs.vala +M src/DirectWindow.vala +M src/EditingTools.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/GRaw.vala +M src/GdkSupport.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/MimicManager.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +M src/PixbufCache.vala +M src/Printing.vala +M src/Properties.vala +M src/Sidebar.vala +M src/SlideshowPage.vala +M src/Tag.vala +M src/TagPage.vala +M src/Thumbnail.vala +M src/TrashPage.vala +M src/WebConnectors.vala +M src/main.vala +M vapi/libraw.vapi + +commit 3ffabb1288f98e47d618c1559987ab7fbac6976b +Author: Vera Yin +Date: Tue Jun 8 01:08:35 2010 +0000 + + Updated Chinese (Mainland China), Croatian, Czech, Danish, English + (Great Britain), Finnish, French, German, Greek, Polish, Punjabi, + Norwegian, Russian, Slovenian, Ukrainian translations following + string freeze for 0.6 release. + +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/fi.po +M po/fr.po +M po/hr.po +M po/nb.po +M po/pa.po +M po/pl.po +M po/ru.po +M po/sl.po +M po/uk.po +M po/zh_CN.po + +commit 005cf3ad2764c09750add9b43958c9f223a9d4cf +Author: Jim Nelson +Date: Mon Jun 7 23:27:11 2010 +0000 + + First round of commits for Canon EOS 50D fixes. Hope this will make + headway on #1852. + +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/ImportPage.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M vapi/libgphoto2.vapi + +commit 3f3643abbe2f535e87d983e06751eec32cee3601 +Author: Lucas Beeler +Date: Mon Jun 7 21:59:47 2010 +0000 + + Evens out the zoom scale such that each tick corresponds to + multiplying the zoom level by a constant, adaptive factor. Closes + #1943. + +M src/Dimensions.vala + +commit 05db8a7c130f7b1a5706910553a83b403eff362c +Author: Jim Nelson +Date: Mon Jun 7 21:36:37 2010 +0000 + + #2004/#1344: No longer using libusb to map gPhoto camera objects to + USB ports. gudev gives us all the + information we need. Thanks to Bruno Girin. + +M Makefile +M THANKS +M debian/control +M src/CameraTable.vala + +commit 46f4dfca68dbf878a5d9c0fa65bf95417cf63bb4 +Author: Vera Yin +Date: Fri Jun 4 23:38:44 2010 +0000 + + Updated pot file following string freeze in anticipation for 0.6 + release. + +M po/shotwell.pot +M po/sl.po + +commit fc3d5338ba590730fdc72fa3ebbe3c326c56f1dd +Author: Patrick Tierney +Date: Fri Jun 4 22:10:31 2010 +0000 + + Changed importing dialogs and import menu strings + +M src/LibraryWindow.vala + +commit 242590085ad09ec73224889b8d1d3321df913a1c +Author: Allison Barlow +Date: Fri Jun 4 21:58:05 2010 +0000 + + fixes #2018 background color slider in preferences is too long, #2031 + [strings] warn user if Pictures directory is ~, #2041 [strings] + preferences dialog label nit, and changes the preferences dialog + alignment to be GNOME HIG compliant. + +M src/AppWindow.vala +M src/LibraryWindow.vala +M ui/shotwell.glade + +commit 216439e44ff85b823a725c85f094ad847c23dd7f +Author: Lucas Beeler +Date: Fri Jun 4 21:56:46 2010 +0000 + + Merged NEWS file from the 0.5.x branch into trunk so the release + history is properly reflected on the wiki. Closes #2007. + +M NEWS + +commit 2de64561f6c5d7c0158d63d62fb527084dc380a4 +Author: Lucas Beeler +Date: Fri Jun 4 21:22:43 2010 +0000 + + Changes the Facebook service welcome message in the publishing + dialog such that the user is informed that he/she must grant + Shotwell Connect certain permissions in order for it to function + properly. Closes #1982. + +M src/FacebookConnector.vala + +commit 33a2bf060b7e662b964f6cd24dab105eeec6f631 +Author: Vera Yin +Date: Fri Jun 4 20:43:31 2010 +0000 + + Updated Slovenian translation, added plural forms to Croation + translation. + +M po/hr.po +M po/sl.po + +commit 50052ce38160bc9627a842f520fdd0194f6db95b +Author: Patrick Tierney +Date: Fri Jun 4 18:45:50 2010 +0000 + + Removed mnemonic collisions in various menus + +M src/LibraryWindow.vala +M src/Resources.vala + +commit 45002a5832062b9971e35e7b918bed638700133b +Author: Lucas Beeler +Date: Fri Jun 4 01:43:17 2010 +0000 + + Updated all translation files to support gettext lookup on the + 'translator-credits' msgid to allow display of translator credits + in the "About..." box; changed "About..." box invocation code in + the AppWindow class to inject a translator credits pane. Closes #2005. + +M po/bg.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/hr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ru.po +M po/sk.po +M po/sl.po +M po/sv.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po +M src/AppWindow.vala + +commit 03dedffa332af3d764f41f76ae287ed68b6545c4 +Author: Jim Nelson +Date: Thu Jun 3 23:58:19 2010 +0000 + + #2039: I18N "modified" suffix for externally editable files. + +M src/Photo.vala + +commit 3b30cdc859717ee0b690d36318f9ab02b9cbf1ce +Author: Patrick Tierney +Date: Thu Jun 3 23:05:28 2010 +0000 + + Changed dimensions to display multiplication sign rather than the + letter x + +M src/Properties.vala + +commit c3f897abd12765d8983989dfee1cd7a7350f5d7a +Author: Allison Barlow +Date: Thu Jun 3 23:01:17 2010 +0000 + + One liner fix for #1885 photo jumps when scaled. + +M src/Dimensions.vala + +commit 535d368a54f98564a446cfc6a72cabae5cb8c3c4 +Author: Allison Barlow +Date: Thu Jun 3 22:56:09 2010 +0000 + + fixes #2022 (direct-edit mode is broken), #1997 (Close image viewer + with Escape), and #2015 (in Preferences dialog, indent labels relative + to section headers). + +M src/DirectWindow.vala +M src/PhotoPage.vala +M ui/shotwell.glade + +commit 3cd161349d2bdb00575d6da6836dd9ee828892c1 +Author: Lucas Beeler +Date: Thu Jun 3 22:48:27 2010 +0000 + + Constitutes a total re-write of the zooming subsystem, introducing + the new ZoomBuffer class that takes advantage of parellelism and + clever case-specific optimizations to significantly improve zooming + performance. Closes #1906 as well. + +M src/ColorTransformation.vala +M src/Dimensions.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 4a42cb4ec45e1b6ad0d58f53ec784babd9a8998c +Author: Patrick Tierney +Date: Thu Jun 3 19:37:35 2010 +0000 + + Fix of DnD bug, now on_motion attempts to stop DnD events in addition + to on_left_click + +M src/PhotoPage.vala + +commit a34cc0e1993d58437163d0f64b29ecac4b4275aa +Author: Vera Yin +Date: Thu Jun 3 19:26:00 2010 +0000 + + Added Croatian translation. + +M Makefile +M THANKS +A po/hr.po + +commit aa7fded7d0d3d5800ad38f946a73c1597deaaf12 +Author: Jim Nelson +Date: Thu Jun 3 18:52:53 2010 +0000 + + Makefile tab thing and a minor bug fix. + +M Makefile +M src/Page.vala + +commit 846fa0391050a4e2ff9e074b7b391f116ab26918 +Author: Patrick Tierney +Date: Thu Jun 3 02:26:35 2010 +0000 + + Added PNG thumbnail support to ThumbnailCache, and changed the + interface with ThumbnailCache to use LibraryPhoto instead of PhotoID + +M src/Photo.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit 1beefe1a9d40a10e6e45b641d2a5d3f965494a39 +Author: Allison Barlow +Date: Thu Jun 3 02:09:08 2010 +0000 + + fixes #1974 Select external editor in Preferences dialog + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Config.vala +M src/Dialogs.vala +M src/JfifSupport.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/PhotoPage.vala +M src/PngSupport.vala +M src/RawSupport.vala +M src/util.vala +M ui/shotwell.glade + +commit a331027bd408b7e64128f8c733bd4b27d87604b2 +Author: Patrick Tierney +Date: Thu Jun 3 01:23:37 2010 +0000 + + Added coment to EditingHostPage regarding assert statement + +M src/PhotoPage.vala + +commit e92a4820b5f6ac118be69e90565be4cec03f2f0b +Author: Jim Nelson +Date: Wed Jun 2 23:35:53 2010 +0000 + + #1834: Preferences dialog now non-modal thanks to Marcel Stimberg. + +M THANKS +M src/Dialogs.vala +M src/LibraryWindow.vala +M ui/shotwell.glade + +commit b14d0bcf8a4ebdc6a0b48ebd13767db73280a242 +Author: Vera Yin +Date: Wed Jun 2 21:09:55 2010 +0000 + + Added Slovenian translation. + +M Makefile +M THANKS +A po/sl.po + +commit e4d13afc00bbcb2b0010a98bd91964bbf4bec079 +Author: Jim Nelson +Date: Wed Jun 2 17:28:00 2010 +0000 + + #2002: Fullscreen no longer asserts. + +M src/LibraryWindow.vala + +commit d6088409e8b6333b7126f3e2866249540320f904 +Author: Jim Nelson +Date: Wed Jun 2 17:12:36 2010 +0000 + + #423: Small corruption when dragging crop tool corners resolved + courtesy Josh Freeman. + +M THANKS +M src/Box.vala + +commit 48b57a1c56bdd8696450c6d0f359facbdfcbc4e8 +Author: Jim Nelson +Date: Wed Jun 2 01:32:21 2010 +0000 + + #1851: Catches long filenames and skips them before calling gPhoto + functions which perform unchecked strcpy's. + +M src/GPhoto.vala +M src/ImportPage.vala + +commit f21d34c0c82146c3e0c7605403c728600cc4561f +Author: Patrick Tierney +Date: Tue Jun 1 23:39:19 2010 +0000 + + Fixed bug in Page::update_modifiers(), so that internal key modifier + variables are in sync with poll + +M src/Page.vala + +commit f51cb9574b839fb29e48327b431eeeb25941ea50 +Author: Jim Nelson +Date: Tue Jun 1 22:55:15 2010 +0000 + + #1995: Support for Canon's owner name in artist field. + +M src/PhotoMetadata.vala + +commit e91dc7936738b69dd84cc71c81519a8d48cecc6f +Author: Lucas Beeler +Date: Tue Jun 1 22:24:18 2010 +0000 + + Updated Thai translation. + +M po/th.po + +commit d5ba5a4fab69681086ecd03e277dbc415635470b +Author: Jim Nelson +Date: Tue Jun 1 19:19:17 2010 +0000 + + #1954: Exposure bias in extended properties. + +M src/PhotoMetadata.vala +M src/Properties.vala + +commit 0c779365d1aebf2c2420a29d0573e282213dfceb +Author: Patrick Tierney +Date: Sat May 29 01:56:45 2010 +0000 + + Fixed crash introduced to fix ticket 1991. Updated PageCommand to + allow it to properly restore the LibraryPhotoPage to its previous + state as undos are executed, and introduced assert in switched_to + to check for future bugs involving an empty view. + +M src/CollectionPage.vala +M src/Commands.vala +M src/LibraryWindow.vala +M src/PhotoPage.vala + +commit 189d671a09b6580bf5665c5807d637c338076e53 +Author: Allison Barlow +Date: Fri May 28 22:08:01 2010 +0000 + + fixes #1556 don't allow Page Up/Down to affect zoom slider (reopened + for home/end keys) and #1957 preferences dialog should be hidden + when Shotwell is minimized + +M src/CollectionPage.vala +M src/Dialogs.vala +M ui/shotwell.glade + +commit f72d49974bd59b055c85c4452e7a21ad88c21f5b +Author: Jim Nelson +Date: Fri May 28 21:38:05 2010 +0000 + + #1909: Faster export by parallelizing the exports in background + threads. This also keeps the UI thread free to + update. + +M Makefile +M src/CollectionPage.vala +M src/Dialogs.vala +M src/Page.vala +M src/Photo.vala +A src/PhotoExporter.vala +M src/Workers.vala + +commit 5a8a46cd05071446ac8b65508c7cc1a7ad83795b +Author: Patrick Tierney +Date: Fri May 28 20:53:46 2010 +0000 + + EditingHostPage now clears its ViewCollection in switching_from, + so non-active LibraryPhotoPages do reference a photo. + +M src/PhotoPage.vala + +commit f7cbc48fff046b2aecc1f1ec08ab581384da56f3 +Author: Allison Barlow +Date: Fri May 28 00:19:26 2010 +0000 + + adds Remove From Library Command, per ticket #1756. Also adds Delete + in the Trash Page. + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/TrashPage.vala +M src/util.vala +M ui/collection.ui +M ui/photo.ui +M ui/trash.ui + +commit 156c0ba7c379e6008aeea2a1dd154cbcce5cd643 +Author: Lucas Beeler +Date: Thu May 27 23:13:55 2010 +0000 + + Updated Spanish and Thai translations. + +M po/es.po +M po/th.po + +commit 391eada8c20d23b23e7fecf6a5f0279af4909fcf +Author: Patrick Tierney +Date: Thu May 27 22:43:51 2010 +0000 + + Added comment to EditingTools.vala regarding ticket 1946 + +M src/EditingTools.vala + +commit 74bb2c6f3896637b6b735b4b01bce5802317baeb +Author: Patrick Tierney +Date: Thu May 27 21:43:36 2010 +0000 + + Added preferences command to TrashPage. + +M ui/trash.ui + +commit 3097154b2e7e28066405c970e70dfd21cb6847d5 +Author: Patrick Tierney +Date: Thu May 27 18:36:03 2010 +0000 + + Added Tags menu to LibraryPhotoPage. Restructured ModifyTagsDialog + to accept a photo, and updated code in CollectionPage to use the + new ModifyTagsDialog constructor. + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M ui/photo.ui + +commit e1de788c48ccb29c12d003ffc1392495b42a337e +Author: Jim Nelson +Date: Thu May 27 03:11:20 2010 +0000 + + #1552: Jump to file in file manager + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui + +commit 583c969c93e4e8e325109a289cdee2f8f6dc7320 +Author: Jim Nelson +Date: Thu May 27 01:31:24 2010 +0000 + + One slight change to the externally editable commit: orientation + (which is a transformation) should only be held + in PhotoTable. BackingPhotoTable should only hold the source file's + original_orientation. This keeps all + transformations in PhotoTable, freeing BackingPhotoTable to merely + store what the backing photo's pristine + state. + +M src/DatabaseTables.vala +M src/Photo.vala + +commit b2c99eedb7c0861de6f3e33287ec8d4ffc77b5f7 +Author: Allison Barlow +Date: Wed May 26 23:20:24 2010 +0000 + + fixes #1075 Allow User to specify import directory + +M misc/shotwell.schemas +M src/AppDirs.vala +M src/BatchImport.vala +M src/Config.vala +M src/Dialogs.vala +M src/LibraryFiles.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/util.vala +M ui/shotwell.glade + +commit 95c598f0b42527fc96372895be29488f39535222 +Author: Patrick Tierney +Date: Wed May 26 22:23:37 2010 +0000 + + Added check to PhotoRenameDialog for a null string return from + execute that was causing a soft assert. + +M src/Dialogs.vala + +commit 185021969cd0dd500fb5e82759750215d0dd5a5c +Author: Jim Nelson +Date: Wed May 26 21:57:40 2010 +0000 + + #1978: Close application properly when Alt+F4 is pressed in fullscreen + mode. + +M src/AppWindow.vala + +commit a4305775b23b4eb14425a2d0180f10302298cf2d +Author: Allison Barlow +Date: Wed May 26 18:22:51 2010 +0000 + + fixes #1956 by revamping the properties class + +M src/LibraryWindow.vala +M src/Properties.vala + +commit 854fb702b2a1982fb0132bea232d5fa73ea7bb63 +Author: Patrick Tierney +Date: Wed May 26 18:10:06 2010 +0000 + + Removed the Display Borders preference checkbox. Removed checkbox + object from Dialogs.vala, shotwell.glade, shotwell.schema. + Removed the save and load commands in Config.vala. Updated the + get_border_width() function in CheckerboardLayout.vala to reflect + a constant border with. + +M misc/shotwell.schemas +M src/CheckerboardLayout.vala +M src/Config.vala +M src/Dialogs.vala +M ui/shotwell.glade + +commit 8aae77d4ca9c3d33c416a01d3d7659b1c5020881 +Author: Jim Nelson +Date: Wed May 26 00:55:44 2010 +0000 + + #1479: Open with external editor. Currently the editor is hardcoded + as GIMP (/usr/bin/gimp), but this will + change with #1974 (Select external editor in Preferences dialog). + +M src/CollectionPage.vala +M src/Commands.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/LibraryFiles.vala +M src/MimicManager.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/main.vala +M ui/collection.ui +M ui/photo.ui + +commit fcd27a0fa82825e80f13a1db23d942983f42ac2f +Author: Patrick Tierney +Date: Tue May 25 23:18:42 2010 +0000 + + Removed "move to" comment from drag and drop import dialog, and + added keyboard mnemonics for import and copy. + +M src/LibraryWindow.vala + +commit 8045868067a9d13d366e03b9f47c02e19b9be8c5 +Author: Lucas Beeler +Date: Tue May 25 21:16:50 2010 +0000 + + Updated Spanish translation. + +M THANKS +M po/es.po + +commit d8d15f000777235fbd02eb59e3ddf3a9594a5a85 +Author: Jim Nelson +Date: Tue May 25 19:07:50 2010 +0000 + + #1939: Addresses oddball EXIF date/time format in Minolta DiMAGE E223. + +M THANKS +M src/PhotoMetadata.vala + +commit f77700e6f8312d71ff01e2f60d4523a46ea2dca4 +Author: Jim Nelson +Date: Tue May 25 18:38:27 2010 +0000 + + #1953: Sorting files using UTF8 collating. + +M THANKS +M src/SortedList.vala + +commit e9037eb171adac0eae31e300b1c62358b47629d5 +Author: Jim Nelson +Date: Tue May 25 18:22:08 2010 +0000 + + #1967: Added Restore label to button on Trash Page. + +M src/Resources.vala +M src/TrashPage.vala + +commit 944c8fe3211f5ae664015ed14474bcf9f099423b +Author: Jim Nelson +Date: Tue May 25 18:14:48 2010 +0000 + + #959: Center color adjustment sliders with Ctrl+LMB. + +M THANKS +M src/EditingTools.vala +M src/util.vala + +commit 20d11c3349838a0076e05557e3df4aa5b7f4f52e +Author: Lucas Beeler +Date: Tue May 25 00:34:03 2010 +0000 + + Added +trunk tag following 0.5.90 release. + +M Makefile +M po/bg.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ru.po +M po/sk.po +M po/sv.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 61edad726c755dd319937b6ff82a996171f36dc0 +Author: Lucas Beeler +Date: Tue May 25 00:20:56 2010 +0000 + + This is the 0.5.90 release image. + +M INSTALL +M Makefile +M README +M po/bg.po +M po/bn.po +M po/cs.po +M po/da.po +M po/de.po +M po/el.po +M po/en_GB.po +M po/es.po +M po/et.po +M po/fi.po +M po/fr.po +M po/hu.po +M po/id.po +M po/it.po +M po/ja.po +M po/lv.po +M po/nb.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ru.po +M po/sk.po +M po/sv.po +M po/th.po +M po/uk.po +M po/zh_CN.po +M po/zh_TW.po + +commit 3661f334546967472eb23a972555b291e5291e73 +Author: Lucas Beeler +Date: Mon May 24 23:21:52 2010 +0000 + + Correct a software distribution error whereby the shotwell.glade + definition file wasn't included in the RESOURCE_FILES list. + +M Makefile + +commit 6442e427def1a2598fe9d2d7c48cd9286eb32dda +Author: Vera Yin +Date: Mon May 24 21:46:27 2010 +0000 + + Updated Ukrainian and Chinese (Taiwan) translations. + +M po/uk.po +M po/zh_TW.po + +commit 52c559527e612ab62d7fcfc0f95b486fedf02031 +Author: Allison Barlow +Date: Fri May 21 19:42:53 2010 +0000 + + fixes #1949 format f-number more nicely + +M src/PhotoMetadata.vala +M src/Properties.vala + +commit 31d817a51f8dd85bdbb1c5c83ae467a6e013e29b +Author: Vera Yin +Date: Fri May 21 18:26:10 2010 +0000 + + Added Thai translation, updated Czech translation. + +M Makefile +M THANKS +M po/cs.po +A po/th.po + +commit 6fdbdde08b039d02a238e0c0742e26dc82f52121 +Author: Jim Nelson +Date: Wed May 19 17:45:08 2010 +0000 + + #1944: MEASURE_PIPELINE now builds. + +M src/Photo.vala + +commit 17e57c06c9acebb117b5bde02cebf564fef87999 +Author: Jim Nelson +Date: Wed May 19 17:22:13 2010 +0000 + + Some of the rotations in Orientation were improperly mapped. + The recent Flip command exposed them. + +M src/Orientation.vala + +commit 736501d1ac6190acae48ad1e575fe7da5ee0db0c +Author: Vera Yin +Date: Tue May 18 05:54:23 2010 +0000 + + Updated Slovak translation. + +M po/sk.po + +commit d3d2640a150966f6162c50a673ad9d2450a5235b +Author: Lucas Beeler +Date: Tue May 18 01:18:44 2010 +0000 + + Eliminates GTK assertion errors that appeared when working with PNG + images in direct-edit mode. Closes #1937. + +M src/Photo.vala + +commit aa571f18f6e2674aa62a513011f48f89cf238514 +Author: Lucas Beeler +Date: Tue May 18 00:12:07 2010 +0000 + + Bumps the MAX_PHOTO_DIMENSION constant in the FacebookConnector to + 720 pixels. Closes #1922. + +M src/FacebookConnector.vala + +commit ca1138d99e7497b3c7836c6d0a15b9165c0fca80 +Author: Allison Barlow +Date: Mon May 17 22:45:27 2010 +0000 + + fixes #1912 welcome dialog shouldn't have a separator + +M src/Dialogs.vala +M ui/shotwell.glade + +commit 6a8f5d6fa955fcf3c24fb991406ef7dd351e3d30 +Author: Vera Yin +Date: Mon May 17 21:41:17 2010 +0000 + + Updated Italian translation. + +M po/it.po + +commit 47877774cd143591d8012e89aecedc3d1ce69db6 +Author: Vera Yin +Date: Mon May 17 21:37:01 2010 +0000 + + Updated Slovak translation. + +M po/sk.po + +commit 4e6ed6399218df8ab82c64a3a8cf41a85ba3fd29 +Author: Vera Yin +Date: Mon May 17 21:00:12 2010 +0000 + + Added Indonesian translation. + +M Makefile +M THANKS +A po/id.po + +commit 653533b514b20e72bc5db413b3c7ddd793012634 +Author: Vera Yin +Date: Mon May 17 20:42:11 2010 +0000 + + Updated Norwegian translation. + +M po/nb.po + +commit e2f1e998470ac0b3b540d054c0046f267cd04dc7 +Author: Allison Barlow +Date: Mon May 17 19:01:15 2010 +0000 + + fixes four tickets: #1820 (Don't reflow CheckerboardLayout if not + in view), #1866 (version compatibility message is confusing), #1881 + (crop, red-eye, adjust should have keyboard shortcuts), and #1915 + (flip image vertically). + +A icons/object-flip-vertical.png +A icons/object-flip-vertical.svg +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/EditingTools.vala +M src/PhotoPage.vala +M src/Resources.vala +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui + +commit 9658661107418e1b6348d00dc065e79023525d5c +Author: Vera Yin +Date: Sat May 15 00:49:18 2010 +0000 + + Updated British English translation. + +M po/en_GB.po + +commit cda66bb8cd14df4c226028e7bda02e6240644360 +Author: Adam Dingle +Date: Fri May 14 22:42:13 2010 +0000 + + Autoenhanced the About box photo. + +M icons/shotwell-street.jpg + +commit 6792e8dc084b2954c9ac9abfa674314fca6e23fa +Author: Lucas Beeler +Date: Fri May 14 22:33:34 2010 +0000 + + Properly handles file extensions on Save As... in direct-edit + mode. Closes #1876. + +M src/PhotoPage.vala + +commit 1e94d58bf2d7655ceb86e039c2c45a755983975d +Author: Vera Yin +Date: Fri May 14 18:37:08 2010 +0000 + + Updated Norwegian translation. + +M po/nb.po + +commit 5727b7ec12a532a4bddceb1186e79188a2c08acb +Author: Vera Yin +Date: Thu May 13 22:34:42 2010 +0000 + + Added Norwegian Bokmal translation. + +M Makefile +M THANKS +A po/nb.po + +commit 076e7b16b5222783c940737db7c7d4cde7900603 +Author: Allison Barlow +Date: Thu May 13 20:54:59 2010 +0000 + + fixes #1535 (improve Import Complete dialog) and #1809 (jump to + camera view when camera is connected) + +M src/Dialogs.vala +M src/LibraryWindow.vala +M src/main.vala + +commit 81c2fb899e6f4e49b00b9b623cc22d7bec63c751 +Author: Allison Barlow +Date: Thu May 13 18:51:48 2010 +0000 + + fixes #1819 drag and drop export is broken + +M src/Page.vala + +commit 39e29eff6a51d6bf9d4f72866d9c37c2a15ed31c +Author: Allison Barlow +Date: Wed May 12 23:16:35 2010 +0000 + + fixes #1898 (direct edit crashes on loading photo with unexpected + orientation) and #1806 (Tag with ampersand in title causes Pango + warning) + +M src/PhotoMetadata.vala +M src/Tag.vala +M src/Thumbnail.vala + +commit dea0fc581a2a1efa93ed3e1d0a83f029a3452333 +Author: Jim Nelson +Date: Tue May 11 22:12:55 2010 +0000 + + This corrects a number of bugs uncovered by the Google Nexus One. + +M src/ImportPage.vala + +commit ebf9b48098d93b676f7c3b2752701c11936185e1 +Author: Lucas Beeler +Date: Tue May 11 19:00:21 2010 +0000 + + Fixes critical bug #1861. + +M src/Dialogs.vala + +commit 7c257bb4ae291779c046d998f5f0534c79192c47 +Author: Allison Barlow +Date: Tue May 11 16:11:14 2010 +0000 + + shaves off a few seconds for #1892 opening a a RAW photo in + direct-edit is slow + +M src/Photo.vala + +commit efb7cdc7dc33d9e4b6a14ad1570f58f9e867ba64 +Author: Jim Nelson +Date: Tue May 11 00:07:54 2010 +0000 + + #1893: iPhoto titles/descriptions now supported. Better metadata + tag coverage for title/descriptions in + general. + +M src/PhotoMetadata.vala + +commit e1c139dd8c88d244c3644bac22ed6e7441acec89 +Author: Vera Yin +Date: Mon May 10 22:56:40 2010 +0000 + + Added Czech translation, updated Finnish translation. + +M Makefile +M THANKS +A po/cs.po +M po/fi.po + +commit b5b72a2948cd5232c58d65a0830b64c40c40e6c8 +Author: Lucas Beeler +Date: Mon May 10 19:48:01 2010 +0000 + + Enables zooming via the mouse wheel in full window, direct edit and + full screen modes. Closes #1796. + +M src/Page.vala +M src/PhotoPage.vala + +commit 7d873510ecef04a8962f8055620113ce4488b941 +Author: Allison Barlow +Date: Mon May 10 17:15:13 2010 +0000 + + fixes #1731 RAW in direct-edit mode + +M misc/shotwell-viewer.desktop.head +M src/Photo.vala +M src/PhotoPage.vala + +commit 09ef4a594bec7ace000d9be840265d9ccaef8b94 +Author: Vera Yin +Date: Sat May 8 01:36:20 2010 +0000 + + Updated Portuguese translation. + +M po/pt.po + +commit dbe23b3971dea99ad22cde26efb65ffbd43ea39b +Author: Jim Nelson +Date: Sat May 8 00:40:41 2010 +0000 + + #1886: Set as Desktop Background no longer abends with RAW photos. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/image_util.vala + +commit 1b40568659012575085a78f3b517b8f526a8854b +Author: Jim Nelson +Date: Fri May 7 23:17:28 2010 +0000 + + #1852: Although I cannot reproduce this, I do see how this can occur. + I believe this fixes the problem. + +M src/DataCollection.vala +M src/ImportPage.vala + +commit eb5ebc31aef0bb36fff178dcd816a4dd35e22da0 +Author: Jim Nelson +Date: Fri May 7 23:04:16 2010 +0000 + + #1828: Added better null-checking for selection paths in the sidebar. + +M src/Sidebar.vala + +commit a0e82fd65488f748d1efe0f873630af419b4937d +Author: Jim Nelson +Date: Fri May 7 22:41:53 2010 +0000 + + This fixes a double-free in PhotoMetadata. + +M src/PhotoMetadata.vala + +commit 887c4c97640f0fb41a6a5d91e449bd4f6aed9bf6 +Author: Jim Nelson +Date: Fri May 7 22:25:20 2010 +0000 + + #1596: Import tags from photo files. + +M src/BatchImport.vala +M src/Photo.vala +M src/PhotoMetadata.vala + +commit df160a6408e0abf1acdd5e6ab40bcf699df22bd1 +Author: Lucas Beeler +Date: Fri May 7 21:04:06 2010 +0000 + + Enables the use of the 0, 1, and 2 keys as hotkeys that snap the image + zoom level to min, isomorphic, and max, respectively, in full-window, + full-screen, and direct-edit modes. Closes #1706. + +M src/Dimensions.vala +M src/PhotoPage.vala + +commit 0273cb44ee8a4fbd5652c5e7244e48a5aa3e50ef +Author: Jim Nelson +Date: Fri May 7 20:22:22 2010 +0000 + + #1714: Dupe detection works for RAW now. + +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/ImportPage.vala +M src/Photo.vala +M src/PhotoMetadata.vala + +commit 6624163c193394bb6b448c40ae17084f5b065cf6 +Author: Vera Yin +Date: Fri May 7 20:03:07 2010 +0000 + + Troubleshot Danish and German translations. + +M po/da.po +M po/de.po + +commit 190bab07cf868633364788e597b432834813164b +Author: Vera Yin +Date: Fri May 7 19:51:49 2010 +0000 + + Updated Danish and German translations. + +M THANKS +M po/da.po +M po/de.po + +commit a380ad6c03d8bf301de932080001f0493b030987 +Author: Vera Yin +Date: Thu May 6 22:51:55 2010 +0000 + + Updated Portuguese translation. + +M THANKS +M po/pt.po + +commit 9f069eacee4197fa590a4f50018bb024e8d4b0a4 +Author: Allison Barlow +Date: Thu May 6 21:34:59 2010 +0000 + + fixes #1862 (exit full screen on double click). + +M src/PhotoPage.vala + +commit 4a1c1f322955dae83de144459c2f504e2ca86497 +Author: Jim Nelson +Date: Thu May 6 01:11:20 2010 +0000 + + #1863: RAW photos now oriented correctly. + +M src/MimicManager.vala +M src/Orientation.vala +M src/Photo.vala +M src/RawSupport.vala + +commit 1d8be10324d86d8617f156c7b6135c7dc320ea0e +Author: Vera Yin +Date: Thu May 6 00:08:55 2010 +0000 + + Updated French translation. + +M THANKS +M po/fr.po + +commit 698cd7b13d5aaddbfcd8670dcbf0ec9322b7047e +Author: Jim Nelson +Date: Wed May 5 22:31:20 2010 +0000 + + #1877: Typo and an oversight conspired to kill dupe detection. + +M src/GdkSupport.vala +M src/PhotoMetadata.vala + +commit 4cc96e66a52672b01f0a4f15ed7fcb226bb1f3ab +Author: Vera Yin +Date: Wed May 5 20:00:14 2010 +0000 + + Updated Polish translation. + +M po/pl.po + +commit efc417460a45b5c411d9dbae97d6599b6d99dc1d +Author: Jim Nelson +Date: Wed May 5 18:02:03 2010 +0000 + + #1291: Got tired of mucking around with directories to make sure I + wasn't putting my personal library at risk as I developed new code. + This is a basic command-line implementation, but it suffices. + +M src/AppDirs.vala +M src/main.vala + +commit 63889e03aa278299e2da7babd47fc9df61fe2d66 +Author: Allison Barlow +Date: Wed May 5 16:58:16 2010 +0000 + + a step forward on #894 (display selection rectangle in focus-specific + color) and #1873 (don't colorize photo text on selection). + exact colors can be re-examined later. + +M src/CheckerboardLayout.vala +M src/Config.vala + +commit 96319917c734ab62a1d76051b7f16093774b1e89 +Author: Allison Barlow +Date: Tue May 4 22:16:57 2010 +0000 + + improves selection borders (#1832) + +M src/CheckerboardLayout.vala +M src/EventsDirectoryPage.vala +M src/image_util.vala + +commit 7f7fbc2343d174f97809dafb1e6b3f1917632889 +Author: Vera Yin +Date: Tue May 4 21:40:54 2010 +0000 + + Updated Chinese (China) translation, added Chinese (Taiwan) + translation. + +M Makefile +M THANKS +M po/zh_CN.po +A po/zh_TW.po + +commit 39c8e4e4cca0749a5ae6cecb8f79e94c1ac801fa +Author: Jim Nelson +Date: Tue May 4 21:17:14 2010 +0000 + + This is something I've wanted to do for a while now: SortedList is + now a Gee.Collection and DataCollection + exports its lists as Gee.Collections. This will make it more flexible + for callers. It may be worthwhile to + make these read-only views, but that would require more testing. + +M src/DataCollection.vala +M src/Event.vala +M src/SortedList.vala +M src/system.vala + +commit ee5ecac9eac8ff0f01b486e60b89cb09466697cf +Author: Allison Barlow +Date: Tue May 4 20:52:31 2010 +0000 + + fixes tickets #1556 (don't allow Page Up/Down to affect zoom slider) + and #1576 (Right click support for import from camera). + +M src/CollectionPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Sidebar.vala +M ui/import.ui + +commit 49e72d98b228f48d60e5d44b40a219acd03b3c41 +Author: Jim Nelson +Date: Tue May 4 20:37:22 2010 +0000 + + #1868: Previews now load from camera without problem. + +M src/GPhoto.vala +M src/PhotoMetadata.vala + +commit 5eac068474411b5a3ebe0de87f1504ec68f01fbe +Author: Allison Barlow +Date: Tue May 4 20:18:36 2010 +0000 + + fixes tickets #1848 (multiline title messes up Basic Information pane) + and #1867 (use [ and ] for rotating left/right). + +M src/CollectionPage.vala +M src/PhotoMetadata.vala +M src/PhotoPage.vala + +commit e337e9a77bbbceb02875847ef733dc284bc360c0 +Author: Allison Barlow +Date: Tue May 4 20:05:22 2010 +0000 + + #1761 Selected picture not updated in single picture mode + +M src/Page.vala +M src/PhotoPage.vala + +commit 3c3910f622639b143b4c0293636d15fe9a8456fc +Author: Jim Nelson +Date: Tue May 4 18:11:38 2010 +0000 + + Being more selective about what constitutes a title now. + +M src/PhotoMetadata.vala + +commit 3b18a7647e670c51f3d4c2321d3cd9160b9e9e87 +Author: Allison Barlow +Date: Tue May 4 18:08:18 2010 +0000 + + fixes #1842 (Export dialog doesn't preserve settings between + invocations) and #1535 (improve Import Complete dialog). + +M src/Dialogs.vala +M src/PhotoPage.vala + +commit fe6563eed05bf5c626a93b3c6f2300d83c2b36d7 +Author: Jim Nelson +Date: Mon May 3 23:12:11 2010 +0000 + + #1693: Migrated from libexif to exiv2 via gexiv2. Note that libexif + is still a dependency due to an outstanding + issue obtaining the EXIF binary block for MD5 hashing. #1740: + EXIF <-> PNG operational. #1683: Display EXIF + information in RAW photos now fully functional (as much as Exiv2 + supports them). + +M Makefile +M src/BatchImport.vala +M src/DataObject.vala +M src/DatabaseTables.vala +D src/Exif.vala +M src/GPhoto.vala +M src/GdkSupport.vala +M src/ImportPage.vala +M src/JfifSupport.vala +M src/LibraryFiles.vala +M src/Photo.vala +M src/PhotoFileAdapter.vala +M src/PhotoFileFormat.vala +M src/PhotoFileSniffer.vala +A src/PhotoMetadata.vala +M src/PngSupport.vala +M src/Properties.vala +M src/RawSupport.vala + +commit eac3515548759c9b30f4298b91f2003038f664d1 +Author: Allison Barlow +Date: Mon May 3 19:48:07 2010 +0000 + + unmarked a string in glade so it will not be translated + +M ui/shotwell.glade + +commit d2987931d89e388b9ba7b186a93f9c8cc6ad36fe +Author: Allison Barlow +Date: Mon May 3 18:24:41 2010 +0000 + + implements #894 display selection rectangle in focus-specific color + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Dialogs.vala +M src/Page.vala + +commit 14f73dbcdd05a7e81b73b2a4814dc1472a1cbb97 +Author: Vera Yin +Date: Sat May 1 00:22:10 2010 +0000 + + Merged comments into POT file. This is the definitive version of + the POT file for this weekly POT regen. + +M po/shotwell.pot + +commit 8e53090c293cf1ecda10d5adff7d3378abd6b1b8 +Author: Vera Yin +Date: Sat May 1 00:17:24 2010 +0000 + + Injected temporary fixes into POT file as part of Transifex debuggin'. + +M po/shotwell.pot + +commit 2d3fc135a1365681f869bfe8954bcfec8896e88d +Author: Vera Yin +Date: Sat May 1 00:11:26 2010 +0000 + + Updated POT file. + +M po/shotwell.pot + +commit 66bf99e89e89e9497133b42cdb3eee951af1f485 +Author: Vera Yin +Date: Fri Apr 30 23:54:50 2010 +0000 + + Added Finnish translation. + +M Makefile +M THANKS +A po/fi.po + +commit b965e41e139bfe57ddad0534042115b136055026 +Author: Lucas Beeler +Date: Fri Apr 30 23:03:22 2010 +0000 + + Fixes significant user interface issues with single-photo zoom. Closes + #1774. + +M src/PhotoPage.vala + +commit 0d6c011cb916ca50aad64355197395dc0ef78023 +Author: Allison Barlow +Date: Fri Apr 30 00:14:42 2010 +0000 + + fixes #1595 Include Windows-specific files in source tarballs + +M Makefile + +commit c75d3340e01308ac4a5fe915f71a832d78696f81 +Author: Lucas Beeler +Date: Thu Apr 29 22:45:33 2010 +0000 + + Allows converting between image file formats at export time (and via + "Save As..." in direct-edit mode); this closes ticket #1598. As a + bonus, also resolves #1817 "exporting multiple scaled-down photos + broken". + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/JfifSupport.vala +M src/Page.vala +M src/PhotoFileFormat.vala +M src/PhotoPage.vala +M src/PngSupport.vala +M src/RawSupport.vala + +commit 3c64624a71dec6607be18b99f0346efb959a0ca8 +Author: Allison Barlow +Date: Thu Apr 29 19:49:08 2010 +0000 + + fixes tickets #1535, #1833, and #1621. + +M Makefile +M src/Dialogs.vala +M ui/shotwell.glade + +commit bb1f980ab34823bd66e402b9761d4c957875de4a +Author: Allison Barlow +Date: Wed Apr 28 21:54:23 2010 +0000 + + fixes #894 display selection rectangle in focus-specific color + +M src/AppWindow.vala +M src/CheckerboardLayout.vala +M src/Config.vala +M src/LibraryWindow.vala +M src/Page.vala + +commit 353866c2a2b16b58c8572956b7c5d44c3936775b +Author: Jim Nelson +Date: Wed Apr 28 21:45:10 2010 +0000 + + #1835: Move to Trash item properly sensitized. + +M src/CollectionPage.vala + +commit 5d9ebaaf2f9cf1444e51fc1052c4099dc4c903e4 +Author: Allison Barlow +Date: Wed Apr 28 17:26:37 2010 +0000 + + implements display border around each photo, which is part of #1304 + +M misc/shotwell.schemas +M src/CheckerboardLayout.vala +M src/Config.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/image_util.vala +M ui/shotwell.glade + +commit 79c8d5fe7908f9181a46b0bcf4051967ba64a4b6 +Author: Lucas Beeler +Date: Tue Apr 27 20:27:09 2010 +0000 + + Adds basic PNG support. Closes ticket #602. + +M Makefile +M src/CollectionPage.vala +M src/Dialogs.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/GdkSupport.vala +M src/Photo.vala +M src/PhotoFileFormat.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +A src/PngSupport.vala + +commit f4aa023b569ebc69bee6ec6f222c6223896de2d3 +Author: Allison Barlow +Date: Thu Apr 22 00:52:24 2010 +0000 + + #1708: update copyright lines in source code to 2010 + +M src/AppDirs.vala +M src/AppWindow.vala +M src/BatchImport.vala +M src/Box.vala +M src/CameraTable.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/Config.vala +M src/CustomComponents.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Debug.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/DirectWindow.vala +M src/EditingTools.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/Exif.vala +M src/GConf.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/International.vala +M src/LibraryFiles.vala +M src/LibraryWindow.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Properties.vala +M src/Resources.vala +M src/Sidebar.vala +M src/SortedList.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/Workers.vala +M src/image_util.vala +M src/main.vala +M src/system.vala +M src/util.vala + +commit 33d0366b2228005e5aa989fcdb10fa4e7532b994 +Author: Allison Barlow +Date: Wed Apr 21 18:02:46 2010 +0000 + + #1612 drag select while ctrl pressed + +M src/DataCollection.vala +M src/Page.vala + +commit 96da319664090419e8860f9341d5c0f9a062d433 +Author: Jim Nelson +Date: Tue Apr 20 22:44:52 2010 +0000 + + #937: Progress bar now expands to fill toolbar with text centered. + Patch courtesy Matt Jones. + +M THANKS +M src/ImportPage.vala + +commit 3913abc8f3a2c2beee2c2b7fbda3598b771cf8df +Author: Allison Barlow +Date: Tue Apr 20 21:41:07 2010 +0000 + + fixes #1762 Black screen after full screen and #1763 Photos with + blank ImageDescriptions should be treated as no title at all + +M src/AppWindow.vala +M src/Dialogs.vala +M src/Exif.vala +M src/PhotoPage.vala + +commit bfc9d06668ea19ae91d9ec1eb9b6da0d93cda2a2 +Author: Jim Nelson +Date: Tue Apr 20 18:05:32 2010 +0000 + + #1795: Fixed thanks to Paul Novak. + +M src/EditingTools.vala + +commit 97dcaab716fe02a323660dc2f435ce36436e1afb +Author: Allison Barlow +Date: Mon Apr 19 21:25:24 2010 +0000 + + fixes #1751: Checkerboard not updated when photo hidden or deleted + +M src/CheckerboardLayout.vala + +commit 429ecb3dd478e30e6fd1143aca5c3ce7bbf14e2a +Author: Vera Yin +Date: Mon Apr 19 20:35:13 2010 +0000 + + Updated Greek translation. + +M po/el.po + +commit ac559150a72f6c20e156a6c2a14938a9d5f47ec5 +Author: Vera Yin +Date: Fri Apr 16 22:39:16 2010 +0000 + + Updated Greek translation. + +M THANKS +M po/el.po + +commit 4662a43c9dc0752c5b9113976b5e7d93f8ede703 +Author: Vera Yin +Date: Fri Apr 16 21:40:23 2010 +0000 + + Updated Japanese translation. + +M po/ja.po +M src/AppWindow.vala + +commit b98d96a63e261747d704563b87b4d9067bcdda9a +Author: Jim Nelson +Date: Fri Apr 16 00:19:53 2010 +0000 + + #594: Shotwell trash can. + +M Makefile +M src/AppWindow.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Tag.vala +M src/Thumbnail.vala +A src/TrashPage.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/photo.ui +C071 ui/events_directory.ui ui/trash.ui + +commit 8a3c522b38ce0f3c48f63beb84a54ee094ee0e08 +Author: Allison Barlow +Date: Thu Apr 15 18:11:49 2010 +0000 + + re-added deleted text_entry_dialog to glade file. + +M ui/shotwell.glade + +commit 09ee7990ae41b5adf50d30493193bb7bd6c8b256 +Author: Allison Barlow +Date: Wed Apr 14 22:25:55 2010 +0000 + + implements #1574: allow user to set thumbnail background color + +M misc/shotwell.schemas +M src/AppWindow.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Config.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Resources.vala +M src/image_util.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/photo.ui +M ui/shotwell.glade + +commit 238f344bb6cfc8cf2be6553e495d9be35bac1ed9 +Author: Allison Barlow +Date: Wed Apr 14 18:53:51 2010 +0000 + + fixes #1600 advance/back on Space/Backspace. + +M src/PhotoPage.vala + +commit 84379cbccc23439d69735af7238da552901c390b +Author: Lucas Beeler +Date: Fri Apr 9 23:51:30 2010 +0000 + + Allows user to zoom in and out of photos in the single picture library + view, the direct edit view, and the full screen view. Closes #1162. + +M src/Dimensions.vala +M src/Page.vala +M src/PhotoPage.vala +M ui/direct.ui +M ui/photo.ui + +commit 44479a9c4b8c89b2c270ef7baf09f7376288e34b +Author: Lucas Beeler +Date: Fri Apr 9 23:49:57 2010 +0000 + + Fixes a problem with the way login redirect urls are parsed with + new accounts in the facebook publishing subsystem. Closes bug #1696. + +M src/FacebookConnector.vala + +commit 6cf57d1a029ca1daa22726eee264c55e34118372 +Author: Vera Yin +Date: Fri Apr 9 23:29:00 2010 +0000 + + Updated Japanese translation. + +M Makefile +M po/ja.po + +commit 2d77b00871ff311cffc7723c6936956a4a75ff2a +Author: Jim Nelson +Date: Fri Apr 9 18:29:37 2010 +0000 + + Better handling of linking to libraw in the Makefile (specifically + for Vala build bot). Also, gudev #define + only added to gcc command if on Linux (which is the only platform + today with udev). + +M Makefile + +commit 7219aa9d7d1da091566516959ff0ee77c6fc5c81 +Author: Allison Barlow +Date: Thu Apr 8 18:49:31 2010 +0000 + + fixes #857, keeping the current photos in view when adjusting the + thumbnail slider + +M src/CheckerboardLayout.vala + +commit 3cd569b7d49c506b26b06437f59be837b71acb8b +Author: Jim Nelson +Date: Thu Apr 8 02:25:36 2010 +0000 + + Further work on the libraw bindings. + +M src/GRaw.vala +M vapi/libraw.vapi + +commit 0b6bea18e802c1c9e10523bd909af247adb76236 +Author: Vera Yin +Date: Thu Apr 8 02:03:59 2010 +0000 + + Added (empty) Japanese translation. + +M THANKS +A po/ja.po + +commit da907bdbbbbc6f5f6d7aa3716acd28e5f7e72123 +Author: Jim Nelson +Date: Wed Apr 7 00:45:21 2010 +0000 + + I went through and culled all references in the comments to Vala + bugzilla reports that have been resolved as of + 0.8.0. I corrected the code and removed the comment references. + I also updated a couple of the references that + were duplicates of other reports. + +M src/CameraTable.vala +M src/ColorTransformation.vala +M src/DataObject.vala +M src/Dialogs.vala +M src/GRaw.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PixbufCache.vala +M src/Sidebar.vala +M src/ThumbnailCache.vala +M src/Workers.vala +M vapi/FixedKeyFile.vapi + +commit 59369a7bc721fb80cbff73ece423950da8deabb9 +Author: Jim Nelson +Date: Tue Apr 6 23:18:40 2010 +0000 + + #1570: Removed GObject workarounds for + https://bugzilla.gnome.org/show_bug.cgi?id=611845 + +M src/BatchImport.vala +M src/CameraTable.vala +M src/DataObject.vala +M src/PicasaConnector.vala + +commit b536ff32c72fe5bf79d6a0f093254f56442efe34 +Author: Jim Nelson +Date: Tue Apr 6 23:10:58 2010 +0000 + + #1684: This is a first commit toward support for importing RAW files + from cameras. The current test case (Canon + S90) has this problem: gPhoto will return the thumbnail for the RAW + image, but no EXIF. When the CR2 file is + copied to the local machine, it's possible to extract the EXIF from + the embedded JPEG file, but not the EXIF + thumbnail. This mismatch kills dupe detection. + +M src/BatchImport.vala +M src/Exif.vala +M src/GPhoto.vala +M src/GRaw.vala +M src/GdkSupport.vala +M src/ImportPage.vala +M src/JfifSupport.vala +M src/LibraryFiles.vala +M src/PhotoFileFormat.vala +M src/RawSupport.vala +M vapi/libgphoto2.vapi + +commit 9ea596b3718318c842ba8cb040ad52254460c3e7 +Author: Vera Yin +Date: Tue Apr 6 21:10:10 2010 +0000 + + Updated Portguese translation. + +M THANKS +M po/pt.po + +commit d743d11e1f9442ac7fd8f147c069c1fc9954822b +Author: Adam Dingle +Date: Mon Apr 5 23:01:02 2010 +0000 + + Fixed #1691 (exit more gently on bad command-line argument). + +M src/main.vala + +commit 83d0cde40db2c1a0f5291a7f83ba831155cf352e +Author: Vera Yin +Date: Mon Apr 5 22:52:49 2010 +0000 + + Updated Russian translation. + +M THANKS +M po/ru.po + +commit e02a5d800e9383808a07354af56f5e2dc177b453 +Author: Allison Barlow +Date: Mon Apr 5 20:46:09 2010 +0000 + + implements #1533: ability to edit photo titles + +M src/CollectionPage.vala +M src/Commands.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/Exif.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Thumbnail.vala +M ui/collection.ui +M ui/photo.ui +M vapi/libexif.vapi + +commit 2932545b705a798106355a9d7fc470aaed288f1b +Author: Jim Nelson +Date: Fri Apr 2 00:47:14 2010 +0000 + + #522: Using auto-brightness for RAW color correction. See #1694. + +M src/GRaw.vala + +commit 9b2bd84d0fc942cddf80bdb77b405c23fc21d266 +Author: Allison Barlow +Date: Fri Apr 2 00:46:30 2010 +0000 + + #1530 allows Shotwell to build using Glade dialogs. TextEntryDialog + is the working example. + +M Makefile +M configure +M src/AppWindow.vala +M src/Dialogs.vala +A sw-glade +A ui/shotwell.glade +A ui/shotwell.xml + +commit 52cb85a5793c8fdc4dd36094d783d764330a4df0 +Author: Jim Nelson +Date: Thu Apr 1 23:02:13 2010 +0000 + + Added thumbnail support to all PhotoReaders. + +M src/Exif.vala +M src/GRaw.vala +M src/JfifSupport.vala +M src/MimicManager.vala +M src/Photo.vala +M src/PhotoFileAdapter.vala +M src/RawSupport.vala +M vapi/libraw.vapi + +commit 7a1dfecb89d721bcc1336ab6411858f0cda31351 +Author: Jim Nelson +Date: Thu Apr 1 20:16:18 2010 +0000 + + This fix solves a problem in EditingHostPage where two requests for + the same pixbuf may occur: one in the + background as a prefetch and the other as a blocked fetch. + +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/Workers.vala + +commit fc4c76254d2f9667f1ad920ac0e63825ebea5207 +Author: Jim Nelson +Date: Thu Apr 1 20:13:52 2010 +0000 + + #1346: Removed our custom FStream.vapi now that FileStream supports + random access I/O. + +M Makefile +M src/Exif.vala +D vapi/FStream.vapi + +commit 4e006aa6712ca2b96d05368b09ae15551d0256bb +Author: Jim Nelson +Date: Wed Mar 31 22:46:55 2010 +0000 + + #1613: Removed local gudev bindings -- now part of Vala std dist. + +M Makefile +D vapi/gudev-1.0.vapi + +commit 79b445826c4d60c463d474057c9427565fbff0fc +Author: Jim Nelson +Date: Wed Mar 31 22:41:56 2010 +0000 + + #1577: Shotwell compiles with Vala 0.8.0. + +M Makefile +M src/Page.vala +M src/Sidebar.vala + +commit 6271f10bb2f478c57ac4de3f136329c9782dc463 +Author: Jim Nelson +Date: Wed Mar 31 19:24:06 2010 +0000 + + This fixes a dimensions problem with certain RAW files (those from + Fuji cameras, as it turns out) and improves + exception reporting in GRaw. + +M src/GRaw.vala +M src/RawSupport.vala + +commit 4a65fdf4f5eeadb066167783a3d0c4b0d7e8b96c +Author: Jim Nelson +Date: Wed Mar 31 01:36:09 2010 +0000 + + #522: Initial commit for 8-bit RAW support. This commit provides + support for file import (but not from camera), + JPEG mimicking (to prevent full-sized RAW decodes and processing + whenever possible), and a file format + abstraction layer in anticipation of PNG and TIFF support. + + Some RAW files do not display correctly; some have odd dimensions, + other have color problems. I'm investigating + these currently. Also, to improve import time, instead of displaying + a full-window pixbuf of each photo as it's + loaded, the largest thumbnail is displayed instead. This behavior + can be reinstated, if deemed important. + +M Makefile +M src/BatchImport.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Exif.vala +A src/GRaw.vala +A src/GdkSupport.vala +M src/ImportPage.vala +A src/JfifSupport.vala +A src/MimicManager.vala +M src/Orientation.vala +M src/Photo.vala +A src/PhotoFileAdapter.vala +A src/PhotoFileFormat.vala +A src/PhotoFileSniffer.vala +M src/PhotoPage.vala +A src/RawSupport.vala +M src/ThumbnailCache.vala +M src/image_util.vala +M src/main.vala +M vapi/libexif.vapi +A vapi/libraw.vapi + +commit 9710ba80c17888a3e6d3bf7a961777425e01be14 +Author: Allison Barlow +Date: Fri Mar 26 22:23:41 2010 +0000 + + fixes #1152: photos with no/bogus time create 1969 events + +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala + +commit 3424f9df0d7581d9fcf7ecc2d27dc8901930769a +Author: Jim Nelson +Date: Fri Mar 26 18:41:12 2010 +0000 + + Further improvements to scaling operations on thumbnails and + CheckerboardLayout. + +M src/CheckerboardLayout.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit 9ff7eec785b5c867c63d7d85813a94470cf6a458 +Author: Jim Nelson +Date: Thu Mar 25 23:40:19 2010 +0000 + + This fixes a problem with large collections with loading thumbnails. + +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit e061f00460ebd2c6a427c62833d72b4816e0908a +Author: Lucas Beeler +Date: Thu Mar 25 22:06:35 2010 +0000 + + Updated Ukranian translation. + +M po/uk.po + +commit 6b4320b2225ba9d741f8eae10bd3792a725f092b +Author: Jim Nelson +Date: Tue Mar 23 02:04:03 2010 +0000 + + Two missed "organizer" -> "manager" references. + +M README +M debian/control + +commit a41c70ec0b5dba14e4c10008f16fa0dfd8aa3d8f +Author: Jim Nelson +Date: Mon Mar 22 22:33:11 2010 +0000 + + Fixes a divide-by-zero error. + +M src/ThumbnailCache.vala + +commit 88da9eb2e548c93813c6d2e2a54e6a9903a05d70 +Author: Jim Nelson +Date: Mon Mar 22 21:19:06 2010 +0000 + + More fixed warnings for the next version of Vala. + +M src/CommandManager.vala +M src/Printing.vala + +commit f2b9e2a34593772d849e31a402905a24022d4492 +Author: Jim Nelson +Date: Mon Mar 22 19:04:31 2010 +0000 + + Removes warnings seen on the Vala buildbot (will be seen in the next + release of Vala). + +M vapi/FStream.vapi +M vapi/LConv.vapi +M vapi/libgphoto2.vapi + +commit 4a7a189a52866b5a8c371a7034379d1d32f9bfd0 +Author: Jim Nelson +Date: Fri Mar 19 22:16:14 2010 +0000 + + This simplifies the CheckerboardLayout code, which relied on a more + complicated scheme to reflow the layout and + report exposed/unexposed to the CheckerboardItems. This change + centralizes the state changes and handles them + in the expose-event in a more intelligent manner. + +M src/CheckerboardLayout.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit 2e199da23eeee9f3dfcedb3ea01efee37ee11baa +Author: Allison Barlow +Date: Fri Mar 19 21:54:53 2010 +0000 + + #1542 remember zoom level + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Config.vala +M src/LibraryWindow.vala + +commit 9b9c6924e8d17cc3827602245bea0032408f002a +Author: Lucas Beeler +Date: Fri Mar 19 20:24:48 2010 +0000 + + Added Ukrainian translation ; updated Makefile to include language + code UK in SUPPORTED_LANGUAGES ; added translator's name to the + THANKS file. + +M Makefile +M THANKS +A po/uk.po + +commit 83bf7af0b7505533195208eade5a098da54f2304 +Author: Lucas Beeler +Date: Fri Mar 19 20:13:36 2010 +0000 + + Updated Russian translation. + +M po/ru.po + +commit a531b7d10dbabcb80d2c68cb846e39ae2830e770 +Author: Lucas Beeler +Date: Fri Mar 19 19:03:30 2010 +0000 + + Updated Hungarian translation. + +M po/hu.po + +commit e6d35454a7a8dcb59b2134f3617ee165138d5c36 +Author: Adam Dingle +Date: Thu Mar 18 18:37:06 2010 +0000 + + Fixed #1599 (inconsistent version numbers in debian/control). + +M debian/control + +commit e8b6640d7c020d044fb20442a6602487232ee413 +Merge: b9270b3 d9b9e58 +Author: Lucas Beeler +Date: Wed Mar 17 23:11:47 2010 +0000 + + Merged PO file changes, Makefile dependency corrections, and Windows + install bug fixes from the 0.5 branch into trunk. + +commit d9b9e58473e966d854b8814465e8d5f3dcdef208 +Author: Lucas Beeler +Date: Wed Mar 17 22:52:12 2010 +0000 + + Added English (Great Britain & Northern Ireland) translation ; + modified Makefile to add en_GB to SUPPORTED_LANGUAGES ; added + translators name to THANKS file. + +M Makefile +M THANKS +A po/en_GB.po + +commit 4922bf6355bed7133f719676602f6a8a0f9722b5 +Author: Lucas Beeler +Date: Wed Mar 17 22:36:24 2010 +0000 + + Updated Swedish translation. + +M po/sv.po + +commit 9c64fad4086b931c9c8c9dfdd0b5589c830cdf4c +Author: Lucas Beeler +Date: Wed Mar 17 22:30:16 2010 +0000 + + Added Hungarian PO file mistakenly omitted from last commit; updated + THANKS file to acknowledge name of translator. + +M THANKS +A po/hu.po + +commit 49f48c18ea826d963f3b017fc0efc0e061bf13e0 +Author: Lucas Beeler +Date: Wed Mar 17 22:28:11 2010 +0000 + + Updated PO and POT file version string to "shotwell-0.5.1+branch" + ; added Hungarian translation. + +M Makefile +M po/bg.po +M po/bn.po +M po/da.po +M po/de.po +M po/el.po +M po/es.po +M po/et.po +M po/fr.po +M po/it.po +M po/lv.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sv.po +M po/zh_CN.po + +commit 7f6f72fb4d3017198f89ae656e76242eb62327d2 +Author: Adam Dingle +Date: Tue Mar 16 20:55:24 2010 +0000 + + Changed the version number in winstall.iss to 0.5.1 ; this updates + the Shotwell 0.5.1 release image. + +M windows/winstall.iss + +commit d15a303e2d9b7cefa5bce9b521442559b0b507c4 +Author: Lucas Beeler +Date: Tue Mar 16 20:32:52 2010 +0000 + + Updated the README file to correct an outdated URL; this updates + the 0.5.1 release image. + +M README + +commit 636769b286da3b4590c9c16b71e8e8454a75320f +Author: Lucas Beeler +Date: Tue Mar 16 20:16:49 2010 +0000 + + This is the Shotwell 0.5.1 release image. Note that Shotwell 0.5.1 + is a minor, Windows-only release that fixes a broken installer + on Windows. + +M Makefile +M po/bg.po +M po/bn.po +M po/da.po +M po/de.po +M po/el.po +M po/es.po +M po/et.po +M po/fr.po +M po/it.po +M po/lv.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ru.po +M po/shotwell.pot +M po/sk.po +M po/sv.po +M po/zh_CN.po + +commit 2909d55bf5ebea1169dafd02785a45cebe14c4a9 +Author: Adam Dingle +Date: Mon Mar 15 21:41:58 2010 +0000 + + Backing off version number to 0.5.0+branch until final release. + +M Makefile +M windows/winstall.iss + +commit a0682a5bdcec0bed015862e131ff5b800756734b +Author: Adam Dingle +Date: Mon Mar 15 21:37:47 2010 +0000 + + Fixed Windows installer; updated version number to 0.5.1. + +M Makefile +M windows/install-deps +M windows/winstall.iss + +commit b9270b3d5e5af4a1e85487d63b7c498cb64fd496 +Author: Adam Dingle +Date: Mon Mar 15 20:57:28 2010 +0000 + + Back to GTK 2.18.1. + +M windows/install-deps + +commit 816f7e4558fe58625033aceb5c9eb0a6d588750a +Author: Adam Dingle +Date: Mon Mar 15 18:21:32 2010 +0000 + + Fall back to GTK 2.16.6 on Windows. + +M windows/install-deps + +commit 3b92a396f76089418761aee5431462bffe36bf56 +Author: Allison Barlow +Date: Mon Mar 15 16:57:50 2010 +0000 + + fixes 3 mnemonic tickets and updates version to +trunk (#1514, + #1515, #1516) + +M Makefile +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M windows/winstall.iss + +commit 39d0bd8a2ac178cecd283c1d038b7229986b4d6c +Author: Lucas Beeler +Date: Fri Mar 12 22:19:53 2010 +0000 + + Opening branch for the Shotwell 0.5.x release stream. + +commit 4b363ecffa72bfd276413f496983eb3b6a47d59f +Author: Lucas Beeler +Date: Fri Mar 12 22:15:48 2010 +0000 + + Updated rules and changelog files to strip symbols in lauchpad builds; + closes #1349. + +M debian/changelog +M debian/rules + +commit 7fb6e212e8147950260ab455c7a17bdd2a7f6c1b +Author: Lucas Beeler +Date: Fri Mar 12 21:33:51 2010 +0000 + + This revision is the 0.5.0 release image. + +M Makefile +M NEWS +M debian/changelog +M debian/control +M po/de.po +M po/el.po +M po/es.po +M po/et.po +M po/it.po +M po/lv.po +M po/pa.po +M po/ru.po +M po/sk.po +M po/sv.po +M windows/winstall.iss + +commit 19052da6b39fc8e23a50aaa27def67bc3e8a4a46 +Author: Lucas Beeler +Date: Fri Mar 12 02:49:09 2010 +0000 + + Updated Makefile to add dbus-glib dependency. + +M Makefile + +commit c18931e06d631577510a7466fb3448736dcb9170 +Author: Lucas Beeler +Date: Thu Mar 11 19:39:56 2010 +0000 + + Added X-Poedit-Language metadata fields to po files that were + lacking theme. + +M po/bn.po +M po/da.po +M po/de.po +M po/el.po +M po/fr.po +M po/it.po +M po/lv.po +M po/nl.po +M po/pa.po +M po/pl.po +M po/pt.po +M po/ru.po +M po/sk.po +M po/sv.po + +commit 32ea5a77a11b9cf717ecd6432c3747df4c4726b6 +Author: Jim Nelson +Date: Thu Mar 11 19:28:07 2010 +0000 + + #1485: Fixes it so current photo in full-window mode is always + selected when returning to the Photos page. Also + fixes a separate bug (reported in the same ticket) where the photo + is not selected if no navigation occurs in + full-window mode. + +M src/Page.vala +M src/PhotoPage.vala + +commit c1c0676bde6046bd146243ed129932acd5535f07 +Author: Jim Nelson +Date: Thu Mar 11 02:33:13 2010 +0000 + + Discovered a bug where if the user resizes the window while in + full-window mode then returns to the Photos page, + the thumbnails are missing. This is due to some changes in the + flicker reducing code checked in earlier. This + fixes the problem. + +M src/CheckerboardLayout.vala + +commit 13dfd90df9772650a7d71ff73a7d25e3ea2ac058 +Author: Jim Nelson +Date: Thu Mar 11 00:32:49 2010 +0000 + + #1548: Exported files are now copied with default target permissions. + +M src/Photo.vala + +commit d6b6d9e49e2dcc7b551121d6ed717ce1e968d7ca +Author: Allison Barlow +Date: Thu Mar 11 00:31:20 2010 +0000 + + fixes #1541 give initial focus to photo collection + +M src/LibraryWindow.vala + +commit ec7964692a16a50ccf58235c78a5bd7d9e51cf0d +Author: Jim Nelson +Date: Wed Mar 10 23:39:20 2010 +0000 + + #1474: These workarounds fix a bug that is current in Vala trunk + today: + https://bugzilla.gnome.org/show_bug.cgi?id=612315 + +M src/CameraTable.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Sidebar.vala +M src/ThumbnailCache.vala + +commit 1146433024637ff2301c34e5e354a43f0e546d2c +Author: Jim Nelson +Date: Wed Mar 10 22:50:21 2010 +0000 + + #1538/#1018/#1534: Various flicker problems in CheckerboardLayout + fixed by more aggressive batching of updates + into single queue_redraw_for_area() commands, as well as scheduling + the reflow higher in the event queue to + reduce the number of exposure events. + +M src/CheckerboardLayout.vala +M src/DataCollection.vala +M src/image_util.vala + +commit d20f3d0c07ed701c27d7b06466a7e56decd7e030 +Author: Lucas Beeler +Date: Wed Mar 10 22:32:39 2010 +0000 + + Updated Polish translation. + +M po/pl.po + +commit 87472d0ed4b388d0a9111d183668726403bf1b03 +Author: Lucas Beeler +Date: Wed Mar 10 22:26:18 2010 +0000 + + Updated Bengali translation. + +M po/bn.po + +commit 52bc711a2d64c45bf169edb8344f3700445fbd70 +Author: Lucas Beeler +Date: Wed Mar 10 22:11:08 2010 +0000 + + Updated Dutch translation. + +M po/nl.po + +commit 4d95d3d76f54467a58a5ac6ea40628540e86a0ba +Author: Lucas Beeler +Date: Wed Mar 10 22:01:07 2010 +0000 + + Updated Danish translation. + +M po/da.po + +commit 39a8f548cca9425fb22f994e0be93556982c0d01 +Author: Lucas Beeler +Date: Wed Mar 10 21:22:00 2010 +0000 + + Updated Italian translation. + +M po/it.po + +commit 1228de1bc28e7fda0287394306eae84f5c80f5b9 +Author: Lucas Beeler +Date: Wed Mar 10 21:02:34 2010 +0000 + + Updated Simplified Chinese (Mainland China/PRC dialect translation). + +M po/zh_CN.po + +commit 35ab6513a8c1560ac42c2287a30b377e6c081abd +Author: Lucas Beeler +Date: Wed Mar 10 02:34:52 2010 +0000 + + Updated Bulgarian translation. + +M po/bg.po + +commit 100e6ec4f4ba72cf96d0fba101d72b8b46dca579 +Author: Lucas Beeler +Date: Wed Mar 10 02:27:34 2010 +0000 + + Updated Portuguese translation. + +M po/pt.po + +commit 78074c2934ae9b15dafbf7f5d061455730ba09df +Author: Lucas Beeler +Date: Wed Mar 10 02:20:26 2010 +0000 + + Updated French translation; note that French translation now carries + version 0.5.0. + +M po/fr.po + +commit 188143c2f6feab6daecbcadac7c6d26d2bc32055 +Author: Jim Nelson +Date: Wed Mar 10 00:35:35 2010 +0000 + + #1525: Improved log message displayed when creating database. + +M src/DatabaseTables.vala + +commit 906d3eef59cf33f45c094b3309e18df3fd64ae91 +Author: Jim Nelson +Date: Wed Mar 10 00:23:46 2010 +0000 + + #1539: The reason the photos triggered a false positive in the dupe + detection code is that they have no + thumbnail but the exact same EXIF. Now dupe detection requires that + both EXIF and the thumbnail are present, + otherwise a full content comparision will be performed. + +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/ImportPage.vala + +commit 36f56549545dd0a5646380464e843be831072fe6 +Author: Jim Nelson +Date: Tue Mar 9 22:44:31 2010 +0000 + + #1519: segault on import solved. Problem relates to #1520 (also + closed in this commit). Completion callback + was being re-entered due to the thumbnail import code calling + spin_event_loop() (which is a legacy aspect of the + old-style import, which was serialized in the main event thread). + Additionally, the BatchImport object was + being derefed and freed because the Workers/BackgroundJob system + does not maintain a reference to the object + with the callbacks; this has been remedied. + +M src/BatchImport.vala +M src/PixbufCache.vala +M src/ThumbnailCache.vala +M src/Workers.vala + +commit 31149daa550f3fef7997207438bf0bbf0abd2235 +Author: Allison Barlow +Date: Tue Mar 9 22:30:29 2010 +0000 + + fixes #1521 [lucid] Set as Desktop Background fails when run a second + time, #1522 suggested wallpaper changes and #1523 unable to export + background: permission denied + +M src/Config.vala +M src/image_util.vala + +commit d2b429f0226cc62d1f40fee6f747c8ca82ff0c60 +Author: Lucas Beeler +Date: Tue Mar 9 22:05:24 2010 +0000 + + Places Welcome dialog in the native Dialog position used by the + window manager; closes #1537. + +M src/Dialogs.vala + +commit 65d4e1ffaba03870dc7ddfb8c4ed3b4fc07351b8 +Author: Lucas Beeler +Date: Tue Mar 9 20:54:03 2010 +0000 + + Resolves progress dialog positioning issues; closes ticket #1051. + +M src/Dialogs.vala + +commit 5ce36a321b9ae0fb1d2ac72d2147e8c0e358e5ce +Author: Allison Barlow +Date: Tue Mar 9 19:20:47 2010 +0000 + + fixes #1492 assertion failure when exporting to Computer folder and + #1497 import from Trash hangs + +M src/BatchImport.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala + +commit 6b0dd7498effa2e392d7a1737585427bbbc92d66 +Author: Lucas Beeler +Date: Tue Mar 9 02:20:09 2010 +0000 + + Fixes Facebook ampersand encoding problem; closes #1531. + +M src/WebConnectors.vala + +commit 3aacbb959d1175e21c73d6f24a18cf8a1494a602 +Author: Lucas Beeler +Date: Tue Mar 9 00:41:13 2010 +0000 + + Disallows publishing to Picasa Web Albums when the user enters a + new album name that is solely whitespace (resolves #1526); HTML + entity encodes the characters '&', '>' and '<' when the user uses + them in the name of a new album when publishing to Picasa Web Albums + (resolves #1528). + +M src/PicasaConnector.vala +M src/WebConnectors.vala + +commit 1ec3930adc59822aaf1bf50e5519f4e4ab6c2144 +Author: Jim Nelson +Date: Tue Mar 9 00:09:42 2010 +0000 + + #1518: Duplicate after hide results in assertion fixed; problem due + to order of notifications being propagated + (subclasses of DataCollection needed to integrate the duplicated + objects in their data structures before the + objects themselves began performing operations). + +M src/DataCollection.vala +M src/DataObject.vala + +commit 5e8eda2406ec2aea632dffb22048764f74dad798 +Author: Jim Nelson +Date: Mon Mar 8 22:14:06 2010 +0000 + + #1517: Fixes Modify Tags command segfaulting if the photo has no tags. + +M src/Commands.vala + +commit bf0a6e91dd15906be1666f3c62bebfd6b9bc2e61 +Author: Allison Barlow +Date: Mon Mar 8 20:28:17 2010 +0000 + + #1496 (event is not visible in sidebar after time change) + +M src/LibraryWindow.vala + +commit f583af811f4e364d0d10d074c534326bd8ae88ec +Author: Lucas Beeler +Date: Mon Mar 8 20:19:26 2010 +0000 + + Improves the layout of the "Image Settings" pane in the Print dialog; + closes ticket #1476. + +M src/Printing.vala + +commit 3c2977a58d143e22e1edaf532c7f81cf67783971 +Author: Allison Barlow +Date: Mon Mar 8 19:01:21 2010 +0000 + + fixes #1510 don't show time adjustment options in direct edit + +M src/Dialogs.vala + +commit 6ee4708a5bbc6b0d90793592ff9822a9537e572d +Author: Jim Nelson +Date: Sat Mar 6 02:41:05 2010 +0000 + + #1513: Fixes moving photo from one event to another segfaulting. + +M src/CheckerboardLayout.vala +M src/DataCollection.vala +M src/DataObject.vala + +commit 45ec6d9b4c78f950f16868c77c2d317c6367be60 +Author: Jim Nelson +Date: Sat Mar 6 01:50:08 2010 +0000 + + #1504/#1505: Fixed drag-and-drop in full-window mode. + +M src/Page.vala +M src/PhotoPage.vala + +commit af5ec28f5e7ec80815421fb853a7d11f39e07abd +Author: Jim Nelson +Date: Sat Mar 6 00:34:03 2010 +0000 + + #1484: Using rounded corners instead of curved rectangles for + EventDirectoryPage. + +M src/image_util.vala + +commit ebbdd2c5f07d449ebacdd59972dcbce44e80a231 +Author: Lucas Beeler +Date: Sat Mar 6 00:16:59 2010 +0000 + + Removed nocona optimizations. + +M Makefile + +commit 24d64df74a2351d19c43c3114a8ed1873afeaed7 +Author: Allison Barlow +Date: Fri Mar 5 18:51:48 2010 +0000 + + fortgot to remove a printf before commit + +M src/ImportPage.vala + +commit 1649822b5adcbd5787c55b17a058c92eac35e4e9 +Author: Allison Barlow +Date: Fri Mar 5 18:47:37 2010 +0000 + + fixes #1507 Warning message about PrintPlaceholder in full-window mode + and #1509 Apply button should be called OK in Crop and Adjust windows + +M src/EditingTools.vala +M src/ImportPage.vala +M src/PhotoPage.vala + +commit 5de577974fcd9a22c086e3ebe90692c19f8b3eac +Author: Jim Nelson +Date: Fri Mar 5 18:10:22 2010 +0000 + + #1118: Further work to improve startup time. + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Thumbnail.vala +M src/util.vala + +commit e51c6fc0e8b4399bdb17a4d3365e670c1caf1365 +Author: Lucas Beeler +Date: Fri Mar 5 03:05:44 2010 +0000 + + Updated POT file; this is the Shotwell 0.5.0 release string-freeze + POT file. + +M po/shotwell.pot + +commit 9276c0310aa6d3684a6a2954d7747a8cf2a201a9 +Author: Lucas Beeler +Date: Fri Mar 5 02:29:35 2010 +0000 + + Updated Danish translation. + +M po/da.po + +commit e152c95db29c8d799297c519672d73a9a3b8cd0a +Author: Lucas Beeler +Date: Fri Mar 5 02:21:55 2010 +0000 + + Modified the Makefile and the .desktop files to enable translation + of desktop file entries through the normal PO/POT mechanism; updated + French translation to test this functionality. + +M Makefile +R076 misc/shotwell-viewer.desktop misc/shotwell-viewer.desktop.head +R088 misc/shotwell.desktop misc/shotwell.desktop.head +M po/fr.po + +commit fae9650a3c30a59297cfb32c0b2ee698af2d4f12 +Author: Jim Nelson +Date: Fri Mar 5 01:07:04 2010 +0000 + + #1481: Missed one. (Two, actually.) + +M src/BatchImport.vala +M src/ImportPage.vala + +commit ccbf20820621a80f77df12f07f2889a324068059 +Author: Jim Nelson +Date: Fri Mar 5 00:02:55 2010 +0000 + + #1481/#1482/#1483: Fixes a multitude of problems exposed by glib-2.23 + due to this bug in valac: + https://bugzilla.gnome.org/show_bug.cgi?id=611845 We must ensure + that all objects passed by signals inherit + from Object until this bug is fixed. + +M src/BatchImport.vala +M src/CameraTable.vala +M src/DataObject.vala +M src/PicasaConnector.vala + +commit e99525138dd6f24d9fd0de896aeea689b424ca6c +Author: Lucas Beeler +Date: Thu Mar 4 19:54:27 2010 +0000 + + The commit Implements asynchronous publishing across all supported + web services. It also closes the following tickets: #1135, #1138, + #1139, #1316, #1347, #1370, #1477, #1149. + +M src/CollectionPage.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +M src/WebConnectors.vala + +commit 762184f88b20b33e337ad82587adcd5bacc0e639 +Author: Lucas Beeler +Date: Thu Mar 4 03:50:36 2010 +0000 + + Updated Italian translation. + +M po/it.po + +commit bc6b0ebaecb9264e37f62d6ef835c2306ed4f366 +Author: Lucas Beeler +Date: Thu Mar 4 03:40:35 2010 +0000 + + Updated German translation. + +M po/de.po + +commit 02586625ec1d3f74c13834a55b4db09b7f4db131 +Author: Lucas Beeler +Date: Thu Mar 4 03:24:09 2010 +0000 + + Updated Estonian translation. + +M po/et.po + +commit 3caef9e2de311d90f2bf4b52a503c5bd0762f2b5 +Author: Lucas Beeler +Date: Thu Mar 4 03:13:56 2010 +0000 + + Updated Chinese (Mainland China/PRC dialect) and Polish translations. + +M po/pl.po +M po/zh_CN.po + +commit 83aa6fc2a47e06fa7c7e2e004f4a7c8845dfd07e +Author: Lucas Beeler +Date: Thu Mar 4 01:17:41 2010 +0000 + + Updated Bulgarian translation. + +M po/bg.po + +commit 5ded5dc919613019ff8cade82defb465ff58b0c2 +Author: Allison Barlow +Date: Wed Mar 3 23:50:14 2010 +0000 + + fixes #1500 single photo page to sidebar drag + +M src/LibraryWindow.vala +M src/util.vala + +commit 931971559c8c667c6003c09ebb057e4dd9416ac8 +Author: Allison Barlow +Date: Wed Mar 3 23:49:03 2010 +0000 + + fixes #1501 debug build crashes on startup + +M src/AppWindow.vala +M src/Resources.vala +M src/main.vala + +commit 44f2b51b7f81a2482567c808eb15279d078c6c43 +Author: Allison Barlow +Date: Wed Mar 3 23:43:00 2010 +0000 + + fixes two multi-monitor related bugs: #1461 External monitor + fullscreen toolbar misplaced and #1468 fullscreen view is not on + correct monitor + +M src/AppWindow.vala + +commit 7f6397cbe2fc5e2e0e9dd7082bd888cbfa6bd19c +Author: Allison Barlow +Date: Wed Mar 3 23:37:48 2010 +0000 + + updates man page per #1376 + +M debian/shotwell.1 + +commit 39c65dde90281cd09ea5952296ac8a880d850bfc +Author: Allison Barlow +Date: Wed Mar 3 19:54:50 2010 +0000 + + fixes tickets #1495 [strings] progress windows should conform to + interface guidelines and #1491 [strings] offer to Replace All in + export dialog + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/Dialogs.vala +M src/main.vala + +commit f5c6dbaa3891e7e8a65bcdf66a9eab5d8af8d642 +Author: Jim Nelson +Date: Wed Mar 3 01:46:55 2010 +0000 + + Fix for multiple trinkets from Martin Robinson. + +M THANKS +M src/CheckerboardLayout.vala + +commit 0595475f63a6199597eb84ce19dc88be37283694 +Author: Allison Barlow +Date: Tue Mar 2 19:38:48 2010 +0000 + + fixes three yes/no tickets: #1490, #1493, and #1494 + +M src/AppWindow.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M src/TagPage.vala + +commit 1e8e3f0730fe07652359afbdb78fb27399832863 +Author: Allison Barlow +Date: Tue Mar 2 01:48:00 2010 +0000 + + fixes #1472 [strings] Modify Original -> Modify original (files) + and #1475 [strings] inconsistent capitalization + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit 71e793c1142c7e3bcbb92271be95648d973e7640 +Author: Allison Barlow +Date: Tue Mar 2 01:23:12 2010 +0000 + + fixes #1469 fullscreen segfault, #1470 remove New Event from context + menu#1471 duplicate mnemonic in Photos menu. + +M src/CollectionPage.vala +M src/Page.vala +M src/PhotoPage.vala +M ui/collection.ui + +commit c7c0317cdd61b11a72bf74cc0e8ff4e57dedba27 +Author: Jim Nelson +Date: Tue Mar 2 01:08:32 2010 +0000 + + #1417: Fixes problem of dragging hundreds of photos by using XDS + instead of standard GTK drag-and-drop when + dealing with Nautilus. Because of this change, photo export is + remarkably simpler. Also, refactored the DnD + export code out to a separate class, and the batch export code to + a separate function. Also, a case where + dropping 5000 photos onto a tag being excessively slow is fixed. + +M src/AppWindow.vala +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PicasaConnector.vala +M src/Tag.vala +M src/Thumbnail.vala +M src/image_util.vala +M src/util.vala + +commit 9201324a806744f54afdd05b1748aa8f221d82e9 +Author: Allison Barlow +Date: Mon Mar 1 23:01:29 2010 +0000 + + fixes #1084 don't report import errors for non-image files and #1409 + Help->Contents should go to UsingShotwell0.5 + +M src/BatchImport.vala +M src/Dialogs.vala +M src/Photo.vala +M src/Resources.vala + +commit 28de7ae0a8ed91651eb64332e97725e6ff66b37c +Author: Allison Barlow +Date: Fri Feb 26 19:26:27 2010 +0000 + + fixes #1315 direct edit printing + +M src/Config.vala +M src/PhotoPage.vala +M ui/direct.ui + +commit 1ce6db2c61a3a3fa9a212ebf42e96ea3ce9846ef +Author: Allison Barlow +Date: Fri Feb 26 01:53:03 2010 +0000 + + fixes #1405 [windows] don't display Set as Desktop Background + +M Makefile +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/image_util.vala +M ui/collection.ui +M ui/photo.ui + +commit dd9e4459ca837493bc898682c188e4dbbfc5c7b2 +Author: Allison Barlow +Date: Thu Feb 25 21:56:56 2010 +0000 + + fixes #1379 and cleans up Photo.update() + +M src/Photo.vala +M src/PhotoPage.vala + +commit d43928bf9fdd976f2e7f868a37e4676ac0cf6857 +Author: Adam Dingle +Date: Thu Feb 25 19:13:40 2010 +0000 + + #1425: GValue warning fixed. + +M src/GConf.vala + +commit c088ff9a06463697dd8332b076550ecaf63d597a +Author: Adam Dingle +Date: Thu Feb 25 18:46:03 2010 +0000 + + Implemented #1314 (disable printing on Windows). + +M Makefile +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Printing.vala +M ui/collection.ui +M ui/photo.ui + +commit 61cf40c9632a4a2576bb94fb955e54d9932bf44f +Author: Allison Barlow +Date: Thu Feb 25 18:24:54 2010 +0000 + + fixes #1428 use typographic right arrow in welcome dialog + +M src/Dialogs.vala + +commit f6a1b5b8a81f8ece91a3a6e1074cafb15821f995 +Author: Adam Dingle +Date: Thu Feb 25 13:42:19 2010 +0000 + + Use GTK 2.18.1 on Windows; it was the last binary version built + without GTK+. + +M windows/install-deps + +commit 0bba560aaff9b4cba881785939d390dcc646fe4f +Author: Lucas Beeler +Date: Thu Feb 25 06:18:38 2010 +0000 + + Updated the POT file. + +M po/shotwell.pot + +commit 3c920c523cdfbbeafc0fe1f13cc9cafe315ee991 +Author: Lucas Beeler +Date: Thu Feb 25 05:50:50 2010 +0000 + + Changed three characters in one string in the Welcome dialog: + replaced three raw bullet characters ("•") with their corresponding + HTML character entity codes ("•" -- correctly interpreted + by Pango). This was necessary because the bullet character is a + Unicode character outside of the basic ASCII plane, and the GNU + gettext tools don't support strings containing characters outside + of the basic ASCII plane as inputs for translation. + +M src/Dialogs.vala + +commit 611f4b213adfe6ca42af226210700b3aacb7104d +Author: Lucas Beeler +Date: Thu Feb 25 05:37:00 2010 +0000 + + Replaced one character in one string: in the Welcome dialog, I + replaced a typographic right arrow ("▸") with a right angle bracket + (">"). This was necessary because the typographic right arrow is + a Unicode character outside of the basic ASCII plane and xgettext + doesn't support translation input strings that contain characters + outside of the basic ASCII plane. + +M src/Dialogs.vala + +commit 9eff919ccb6d954d0c7d3e220566ddd4b6b5ac4e +Author: Lucas Beeler +Date: Thu Feb 25 05:07:17 2010 +0000 + + Normalized copyright dates and version numbers (version == + shotwell-0.4.3+trunk) across all language files. + +M po/bg.po +M po/bn.po +M po/da.po +M po/de.po +M po/el.po +M po/es.po +M po/et.po +M po/fr.po +M po/it.po +M po/lv.po +M po/nl.po +M po/pl.po +M po/pt.po +M po/sk.po +M po/sv.po +M po/zh_CN.po + +commit 980ece0de749d64a9a940904651641b76cc16d93 +Author: Lucas Beeler +Date: Thu Feb 25 04:55:28 2010 +0000 + + Added Punjabi translation; updated Makefile to add ISO language code + PA to SUPPORTED_LANGUAGES; added translator's name to THANKS file. + +M Makefile +M THANKS +A po/pa.po + +commit 6ed2bc19a1ef0dcad4540e6b699d486511fb8169 +Author: Lucas Beeler +Date: Thu Feb 25 04:49:17 2010 +0000 + + Added Russian translation; updated Makefile to add ISO language + code RU to SUPPORTED_LANGUAGES list; added translator's name to + THANKS file. + +M Makefile +M THANKS +A po/ru.po + +commit 98b334b4801b120dc3bf214b4846b2cccd78d058 +Author: Lucas Beeler +Date: Thu Feb 25 04:42:05 2010 +0000 + + Added Greek translation; updated Makefile to add ISO language code + EL to SUPPORTED_LANGUAGES list; added translators name to THANKS file. + +M Makefile +M THANKS +A po/el.po + +commit 41cbf62fee1782bdd3ca3fcfa5995f2eff0b00fd +Author: Lucas Beeler +Date: Thu Feb 25 04:26:54 2010 +0000 + + Updated Chinese (Mainland China/PRC dialect) translation. + +M po/zh_CN.po + +commit 4e3a5cc5e76ef01c2be901c734711dd75e2bdf13 +Author: Jim Nelson +Date: Thu Feb 25 02:38:08 2010 +0000 + + #1413: If no tag in a row of photos, empty space is not consumed + (but bottom-alignment remains). + +M src/CheckerboardLayout.vala +M src/Thumbnail.vala + +commit f14e70fad09b8477e10c3aff6dcc5fd9cab6fc83 +Author: Allison Barlow +Date: Thu Feb 25 00:12:00 2010 +0000 + + adds feature #438 welcome screen for new users + +M misc/shotwell.schemas +M src/Config.vala +M src/Dialogs.vala +M src/main.vala + +commit 429cd95918d75e7d8dd3b586f4d364d582a233c7 +Author: Rob Powell +Date: Wed Feb 24 19:43:53 2010 +0000 + + Not an error if the theme file is missing. Force update even if + cache may + be up-to-date. + +M Makefile + +commit a269cb5c5d68294583e576f87014a133e8078c6e +Author: Jim Nelson +Date: Wed Feb 24 18:07:05 2010 +0000 + + #1412: Tags branch in sidebar now expanded at startup. #1360: Set + Tag (now Modify Tags) no longer leaves the selection cursor on the + tag although not viewing it. #1348: Likewise, tag drag-and-drop + doesn't leave the cursor on the tag. + +M src/LibraryWindow.vala +M src/Sidebar.vala + +commit 88a9634d52c36e83599838811336a0b0ad062d1a +Author: Jim Nelson +Date: Wed Feb 24 17:47:16 2010 +0000 + + #1419: Pluralization trouble. + +M src/Dialogs.vala + +commit 92afbd915a2fb487bbf33c42ba5c176982469c0d +Author: Allison Barlow +Date: Wed Feb 24 00:49:53 2010 +0000 + + #1313 Keep relativity in adjust date/time dialog was unclear, + so we added a radio buttons for each option: batch change and + relative shift. + +M src/Dialogs.vala + +commit 39aea52e77044089b4622baff60747cd2db51db4 +Author: Jim Nelson +Date: Tue Feb 23 22:28:48 2010 +0000 + + #1416: Oops. Needed to call virtual method before using context + menu object. + +M src/Page.vala + +commit a035795297aee5f231bc8cb9d7442cab6f8cae57 +Author: Jim Nelson +Date: Tue Feb 23 22:20:16 2010 +0000 + + #1090: Display Basic Information and View Tags default to true, + but GConf doesn't throw an error when a key is + missing, so our defaults are not used. + +M misc/shotwell.schemas +M src/Config.vala +M src/GConf.vala + +commit f10d72f667373be2758bc62104953cbbeff66ad0 +Author: Allison Barlow +Date: Tue Feb 23 21:54:59 2010 +0000 + + #1341 was mostly fixed as fallout of other fixes, but this fixes + the last remaining case + +M src/Photo.vala + +commit 0bdabb7b9fce5877e2439d5eaf508cf5dfe94613 +Author: Jim Nelson +Date: Tue Feb 23 21:41:00 2010 +0000 + + #1414: Adjust zoom via keypad +/- keys. + +M src/CollectionPage.vala + +commit c070658e2f5f59a9257debae42d02ff6a988656c +Author: Allison Barlow +Date: Tue Feb 23 20:09:44 2010 +0000 + + #1371 dragging to sidebar shouldn't offer insertion between rows + +M src/Sidebar.vala + +commit e76094af1aa931934124c0a02eb25aaac11b2879 +Author: Jim Nelson +Date: Tue Feb 23 03:38:12 2010 +0000 + + Design feature, per pRob. + +M Makefile + +commit d340cbc6d31089e0141f2e37d491d563170e3508 +Author: Jim Nelson +Date: Tue Feb 23 03:30:15 2010 +0000 + + #1233: Fixed SD card support. Needed to tell udev what subsystem + to monitor for SD support ("block"). + +M src/CameraTable.vala + +commit 8ae6ad1c3f2f9b5e66c70836fc960fcd8285c094 +Author: Jim Nelson +Date: Tue Feb 23 01:26:37 2010 +0000 + + #1400: Selection frame now drawn around the thumbnail image only, + with the title and tag text merely changing to + the selection color. + +M src/CheckerboardLayout.vala + +commit 5a3549881dd590ad52e922ce3f8ec3fc82875788 +Author: Jim Nelson +Date: Tue Feb 23 01:13:37 2010 +0000 + + #595: Move delete files to desktop trash can. I've implemented this + ahead of the trash can changes because I + realized there were some string changes required and wanted to get + them in ASAP. + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit fa2eb19685da8e32146f619601ecfc0ec0187bbb +Author: Jim Nelson +Date: Tue Feb 23 00:49:04 2010 +0000 + + #1357: Replace New Tag with Add Tags... Also, renamed Set Tags... to + Modify Tags... + +M src/CollectionPage.vala +M src/Commands.vala +M src/Dialogs.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Resources.vala +M ui/collection.ui + +commit 457174f49c12ce056efb1cbcdfd631bed8ad2647 +Author: Jim Nelson +Date: Mon Feb 22 19:28:01 2010 +0000 + + #1378: Exif.alloc_entry fixed. libexif appears to *never* set the + Exif.Data data_type (i.e. data arrangement) + field, so this must be done every time. Fixed in PhotoExif. + +M src/Exif.vala +M vapi/libexif.vapi + +commit 6baf51c153d25f85bf7d979c3b1b9d13c395559c +Author: Jim Nelson +Date: Sat Feb 20 02:26:23 2010 +0000 + + #1158: File -> Publish in full-window mode + +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Resources.vala +M ui/photo.ui + +commit 4a7243b7fb7e7c68e93160af99a6e75c31c3b5d3 +Author: Jim Nelson +Date: Sat Feb 20 02:00:08 2010 +0000 + + #1345: Local GTK bindings no longer necessary (fixed in 0.7.10). + +D vapi/gtk+-2.0.vapi + +commit 5f4bd6be0799fe695583688d4d561c54f7a7c0c6 +Author: Jim Nelson +Date: Sat Feb 20 01:32:25 2010 +0000 + + #1377: Fixed mouse selecting problem. + +M src/Page.vala + +commit 9e117d01214d06fd9849add90e67c821a299204e +Author: Jim Nelson +Date: Fri Feb 19 23:42:39 2010 +0000 + + #1374: Fixed problem with New Tags command and redoing and undone + command. + +M src/Commands.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Tag.vala +M src/Thumbnail.vala + +commit e5c8927c72f6af967f9f8ce3820cef36547ad569 +Author: Jim Nelson +Date: Fri Feb 19 19:29:46 2010 +0000 + + #1373: "Remove Tag from Photos" -> "Remove Tag From Photos". #1372: + Better input validation with New Tag and Rename Tag. + +M src/AppWindow.vala +M src/Dialogs.vala +M src/Resources.vala +M src/Tag.vala + +commit 7fad15e1fee023874d8669eee2a7afa9fe086cd8 +Author: Jim Nelson +Date: Fri Feb 19 02:06:48 2010 +0000 + + Added tooltips to checkerboard page, works for photo name and tags + (but especially useful for tags). + +M src/CheckerboardLayout.vala +M src/PhotoPage.vala +M src/image_util.vala +M src/util.vala + +commit 575199cc4e77c4cd814a41896adf2aabae93c7cd +Author: Jim Nelson +Date: Fri Feb 19 01:31:27 2010 +0000 + + #1369: Rename tag followed by delete tag yielded an assert. Map of + names -> Tags was kept but did not monitor + renames, hence the problem. + +M src/Tag.vala + +commit faad38c07c1473ebbf284323cfe186de94e85774 +Author: Jim Nelson +Date: Fri Feb 19 01:04:16 2010 +0000 + + #1366: Fatal error when renaming tag to name of existing tag resolved. + +M src/Commands.vala +M src/Dialogs.vala +M src/Resources.vala +M src/Tag.vala +M src/TagPage.vala + +commit f4b7ec57e593ee294f047cafdb904d5e55f35f1d +Author: Jim Nelson +Date: Fri Feb 19 00:47:28 2010 +0000 + + #1368: Fixed refreshing thumbnail tag list when tags renamed or + destroyed. + +M src/Tag.vala +M src/Thumbnail.vala + +commit 95e9079dd0f67d61579c4f002830aa6884c4f86f +Author: Jim Nelson +Date: Fri Feb 19 00:12:14 2010 +0000 + + Slideshow was never ported to the new PixbufCache (which uses + background threads), and continued to use the Idle + queue to load the next pixbuf. This remedies this situation. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/PhotoPage.vala +M src/PixbufCache.vala +M src/SlideshowPage.vala + +commit f39e113fe1f1b9ef28d6f314c6b602a2aa2bffd6 +Author: Allison Barlow +Date: Thu Feb 18 22:34:05 2010 +0000 + + fixes #882 synchronize selection between views + +M src/Page.vala +M src/PhotoPage.vala + +commit 3a366a61d96be7b13a9aa872faf38f97ec1730b6 +Author: Jim Nelson +Date: Thu Feb 18 22:17:38 2010 +0000 + + #1359: Tag name included in menu commands. + +M src/Commands.vala +M src/Resources.vala +M src/TagPage.vala + +commit 29f122733b4d1fdadb6072f1604802c3890bc0ae +Author: Jim Nelson +Date: Thu Feb 18 20:39:38 2010 +0000 + + #1358: Tags menu items reorganized, moving all to Tags menu. + Internationalizable plural extra credit included. + +M src/CollectionPage.vala +M src/Commands.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Resources.vala +M src/TagPage.vala +M ui/collection.ui +M ui/tags.ui + +commit 5b0dbf5b6eb18558c85fe573a454a0d3082b44f1 +Author: Jim Nelson +Date: Thu Feb 18 19:32:40 2010 +0000 + + #1356: Delete Tag now presents a confirmation dialog before + proceeding. + +M src/Resources.vala +M src/Tag.vala +M src/TagPage.vala + +commit 48cbc9a20e954a08337a5d8632253af0cb1f7e56 +Author: Jim Nelson +Date: Thu Feb 18 19:04:38 2010 +0000 + + #1355: This commit looks scarier than it really is for this ticket. + Displays each photo's tags beneath the + title, and can be toggled on and off. Changed the name of the + checkerboard item object (been meaning to do that + for some time), which is a lot of the diffs. Also added a mechanism + for setting properties on an entire + ViewCollection, which is a more centralized system than the way we + were toggling title and thumbnail size + before. + +M misc/shotwell.schemas +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Config.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Tag.vala +M src/Thumbnail.vala +M ui/collection.ui + +commit 910828e73975b81c0bf48ac6ec2e8917f7a9e201 +Author: Lucas Beeler +Date: Wed Feb 17 23:29:03 2010 +0000 + + [internationalization] Updated POT file. + +M po/shotwell.pot + +commit 12ab65e98430da549d4dd4b64964ae4ce28f0195 +Author: Lucas Beeler +Date: Wed Feb 17 23:12:47 2010 +0000 + + Updated Spanish translation. + +M po/es.po + +commit c19ab628acd94a50c11b253f6616fa25b8592db1 +Author: Allison Barlow +Date: Wed Feb 17 23:05:27 2010 +0000 + + implements #1195 inibit screensaver while slideshow running. + This is for gnome-screensver only, and we should implement X11 and + windows-specific screensaver disables as well. + +M Makefile +A src/Screensaver.vala +M src/SlideshowPage.vala + +commit 612378501a8453c64ed42ea91d173c9c64826128 +Author: Jim Nelson +Date: Wed Feb 17 01:30:41 2010 +0000 + + #1352: Import no longer hangs when importing nothing but photos + already in library. + +M src/BatchImport.vala + +commit fe71a1bc6ee7d4776843ae42e008a5992dfeb66d +Author: Jim Nelson +Date: Mon Feb 15 23:54:13 2010 +0000 + + #1331: Photos -> Remove Tag + +M src/CollectionPage.vala +M src/Commands.vala +M src/Dialogs.vala +M src/LibraryWindow.vala +M src/Resources.vala +M src/TagPage.vala +M ui/collection.ui + +commit 97cc2a29fcb463b2e2d12115d10f3e48f580d137 +Author: Lucas Beeler +Date: Mon Feb 15 22:24:04 2010 +0000 + + Enables Publishing to Google's Picasa Web Albums service; closes + bug #667. + +M Makefile +M misc/shotwell.schemas +M src/Config.vala +M src/FlickrConnector.vala +A src/PicasaConnector.vala +M src/WebConnectors.vala + +commit db3877036de602a21465d60f91d29e33b3c8dade +Author: Allison Barlow +Date: Mon Feb 15 21:55:06 2010 +0000 + + fixes #1338 Triple-click in Extended Properties info window should + select a single line of text and #1185 Mark as favorite in single + photo view. Also implemented mark as hidden in single photo view. + +M src/Commands.vala +M src/PhotoPage.vala +M src/Properties.vala +M ui/photo.ui + +commit 93d06d92db00a5f940879dce896bba25b2e70741 +Author: Allison Barlow +Date: Mon Feb 15 21:04:04 2010 +0000 + + fixes #1350 extended properties box floats above non-shotwell windows + and #1343 Context-menu not available in direct-edit mode + +M src/PhotoPage.vala +M src/Properties.vala + +commit c3c4638b01726c08279ff04b6e3f113cbe72a041 +Author: Jim Nelson +Date: Mon Feb 15 18:43:54 2010 +0000 + + String problems. + +M src/Dialogs.vala +M src/Resources.vala + +commit a79b5fe442c0bed2c4c66d2ea001bb81d61031d8 +Author: Allison Barlow +Date: Mon Feb 15 17:51:03 2010 +0000 + + #1299 direct-edit time/date adjust + +M src/Commands.vala +M src/Dialogs.vala +M src/DirectWindow.vala +M src/Exif.vala +M src/Photo.vala +M src/PhotoPage.vala +M ui/direct.ui +M vapi/libexif.vapi + +commit 51225a8778cfef9586af714063c52763c72a93e9 +Author: Lucas Beeler +Date: Mon Feb 15 17:33:25 2010 +0000 + + Updated Chinese (Mainland China/PRC) translation. + +M po/zh_CN.po + +commit 3e72b93d0028be741727148145334a854c856755 +Author: Jim Nelson +Date: Sat Feb 13 02:54:56 2010 +0000 + + Forgot to add tags.ui to project. + +M Makefile +A ui/tags.ui + +commit ce271f1497e278c54ebf0c8193b8fa57a906fb31 +Author: Jim Nelson +Date: Sat Feb 13 02:37:40 2010 +0000 + + #1329: Drag-and-drop photos onto tag. Still some wonkiness with + the sidebar selector, which needs to be addressed. + +M src/Commands.vala +M src/LibraryWindow.vala +M src/Resources.vala +M src/Sidebar.vala +M src/Tag.vala + +commit d3b5d65e20bc09b775f22e4b0914c83a57767c47 +Author: Jim Nelson +Date: Sat Feb 13 00:44:00 2010 +0000 + + #1332: Tag -> Rename + +M src/Commands.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/LibraryWindow.vala +M src/Resources.vala +M src/Sidebar.vala +M src/Tag.vala +M src/TagPage.vala + +commit 245f1e6b1ca9528d18dc56eb4846163e48f0d5ad +Author: Jim Nelson +Date: Fri Feb 12 23:23:50 2010 +0000 + + #1330: Tag -> Delete + +M src/Commands.vala +M src/Resources.vala +M src/Tag.vala +M src/TagPage.vala + +commit bd5eff4a9b85a6625ee40cd90e93d66ee0476807 +Author: Jim Nelson +Date: Fri Feb 12 02:14:32 2010 +0000 + + #1328: Tag -> New. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/Dialogs.vala +M src/Event.vala +M src/Resources.vala +M src/Tag.vala +M ui/collection.ui + +commit 0e280b8bb77837e058a607934fa9529b38c4857e +Author: Jim Nelson +Date: Thu Feb 11 23:24:29 2010 +0000 + + #79: Tags. This first commit sets up the plumbing for tags and + implements a basic mechanism for adding/removing + tags to a single photo. + +M Makefile +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Event.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Properties.vala +M src/Resources.vala +A src/Tag.vala +A src/TagPage.vala +M src/main.vala +M src/util.vala +M ui/collection.ui + +commit 82ad2d95690c3fd990ee5e2b6f6af79bfdb95064 +Author: Jim Nelson +Date: Thu Feb 11 03:07:45 2010 +0000 + + #1206: Stricter EXIF checking. Possibly fixes #1310, but want to + wait and get photo file from user to verify. + +M minver +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/Exif.vala +M src/LibraryFiles.vala +M src/Photo.vala +M src/image_util.vala +M vapi/libexif.vapi + +commit fc5ce470bdcb63c0433cba59b4b1a83f2f4967d5 +Author: Jim Nelson +Date: Thu Feb 11 01:08:08 2010 +0000 + + Photos were not being added to database in direct-edit mode. + +M src/Photo.vala + +commit 226f9d9551e59821f1cb57b7a0c5640741bdea27 +Author: Jim Nelson +Date: Wed Feb 10 20:26:51 2010 +0000 + + #1207: Photos in import/camera view now sorted by exposure time. + +M src/DataCollection.vala +M src/ImportPage.vala + +commit 0d1c430e75e63195fcb48e238987d2c87c446ad7 +Author: Lucas Beeler +Date: Tue Feb 9 20:08:18 2010 +0000 + + Added Simplified Chinese (Mainland China/PRC dialect) translation; + added ISO language code zh_CN to SUPPORTED_LANGUAGES list in Makefile + ; added translator's name to THANKS file. + +M Makefile +M THANKS +A po/zh_CN.po + +commit e98aeae607c520d06f33d3b6ca20c9d7bf80e16b +Author: Allison Barlow +Date: Mon Feb 8 22:04:45 2010 +0000 + + fixes #1200 Support context menu key, #1204 View original photo + should check for other modifier keys, and #1311 directories listed + as unimported photos. + +M src/BatchImport.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Sidebar.vala + +commit c318b2a08545e58b67354c616cc2288afef084b4 +Author: Allison Barlow +Date: Mon Feb 8 20:45:05 2010 +0000 + + #1327 Extended Properties text selected when window opened + +M src/Properties.vala + +commit caf25ee28b0a550efd5fd8c435a44a4d3349f823 +Author: Jim Nelson +Date: Sun Feb 7 10:41:56 2010 +0000 + + #1324: Fixes to compile under Vala 0.7.10. + +M Makefile +M src/ColorTransformation.vala +M src/EditingTools.vala +M src/LibraryWindow.vala +M src/Properties.vala +M src/WebConnectors.vala +M vapi/libexif.vapi + +commit bd59c94d01b328bc18609e9be1df048c5b67a9cd +Author: Lucas Beeler +Date: Wed Feb 3 00:30:48 2010 +0000 + + Updated Spanish translation. + +M po/es.po + +commit f123720776cfbdf74cecb16f6dc29f94ac4bb048 +Author: Lucas Beeler +Date: Wed Feb 3 00:26:02 2010 +0000 + + Updated Polish translation. + +M po/pl.po + +commit 1ce8a3250e72e1e275eecf1b6ef6ad4a3889dbcc +Author: Lucas Beeler +Date: Wed Feb 3 00:20:39 2010 +0000 + + Updated Dutch translation. + +M po/nl.po + +commit 5a68bf37f79789641d8c79131e32809384da21f0 +Author: Lucas Beeler +Date: Wed Feb 3 00:12:54 2010 +0000 + + Added Danish translation; updated Makefile to add ISO language code DA + to SUPPORTED_LANGUAGES list; added translator's name to THANKS file. + +M Makefile +M THANKS +A po/da.po + +commit 5720548ed3e285ddadf8f2710aac53875f77707e +Author: Allison Barlow +Date: Tue Feb 2 22:54:43 2010 +0000 + + fixes the following three bugs: #1186 Exposure time fraction issues, + #1164 when scanning, exclude directories beginning with a period, + and #1302 text in Remove dialog should be pluralized when appropriate + +M src/BatchImport.vala +M src/CollectionPage.vala +M src/Exif.vala + +commit a41d5b0c7766c85c204ca462af4016d523dc1485 +Author: Adam Dingle +Date: Mon Feb 1 19:17:09 2010 +0000 + + Unbroke the Windows build. + +M src/GPhoto.vala + +commit 15d4e26848aaa3f044414907a67400b44c02cfe2 +Author: Adam Dingle +Date: Mon Feb 1 18:20:08 2010 +0000 + + From Paul Novak : + + Fixed #1319 (rightward pointing mouse cursor). + +M THANKS +M src/AppWindow.vala +M src/EditingTools.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala + +commit 9c2935b5e1ab6b4be51fc7ce179644d995ca95eb +Author: Allison Barlow +Date: Thu Jan 28 19:38:20 2010 +0000 + + fixes a bug (unticketed?) where photos without any exif data at all + aren't appropriately when the exposure time is changed. + +M src/Dialogs.vala +M src/Exif.vala +M src/Photo.vala + +commit da24c2e710857251048eef93e426b94072f9c0ef +Author: Allison Barlow +Date: Thu Jan 28 19:33:16 2010 +0000 + + fixes #1312 Adjust Date and Time displays 1969 when no EXIF data + +M src/Dialogs.vala + +commit 53621ae94b381c7168f597c8481011ffcf3629e1 +Author: Jim Nelson +Date: Thu Jan 28 19:33:13 2010 +0000 + + With Allison's recent changes to updating time/date adjustment, + need to notify DataCollection observers of a + possible re-sort when this happens. + +M src/DataCollection.vala + +commit 7174f5f48a5d7bf4763caec18e67491a347b28a2 +Author: Jim Nelson +Date: Thu Jan 28 19:21:56 2010 +0000 + + While testing found a bug when resizing for 1x1 pixel image + ... Gdk.Pixbuf.scale_simple will hang if resizing a + large image (its 360x360 thumbnail) to a 1x1 image, or anything + below 5x5. Added code to enforce sane minimums + when resizing. + +M src/Dimensions.vala +M src/Photo.vala +M src/image_util.vala + +commit d42fc8078fdce70b2199d3358b0d519031af94ad +Author: Allison Barlow +Date: Thu Jan 28 18:47:24 2010 +0000 + + fixes #1119 and #1120, making property info selectable + +M src/Properties.vala + +commit b85554be32615cdfe3ad15043c3e7f413025d6b7 +Author: Jim Nelson +Date: Thu Jan 28 18:20:22 2010 +0000 + + Rolled back gudev requirement to 145 for out-of-the-box Fedora + 12 support. + +M Makefile + +commit d81a0680fa3104de9fcf6502bbb4b743504b14d1 +Author: Lucas Beeler +Date: Tue Jan 26 22:05:39 2010 +0000 + + Updated French translation. Added Dutch and Spanish translations; + updated Makefile to add ISO language codes NL and ES to + SUPPORTED_LANGUAGES list; updated THANKS file to acknowledge + translators. + +M Makefile +M THANKS +A po/es.po +M po/fr.po +A po/nl.po + +commit 2dbbf7c71100e0cd81030d76cd4439f6845f2460 +Author: Jim Nelson +Date: Tue Jan 26 03:16:09 2010 +0000 + + #531: Disable synchronizing commits in database to speed up + insert/updates time (which helps import + tremendously). Also removed the essentially unused ThumbnailCache + tables, which helps when generating + thumbnails. + +M src/DatabaseTables.vala +M src/ThumbnailCache.vala +M src/util.vala + +commit 2132f3d3222c5660d4ed1606199e2d49f51f835c +Author: Lucas Beeler +Date: Tue Jan 26 02:40:39 2010 +0000 + + Added a comment to the POT file to remove an ambiguity pointed out + in a mailing list post. + +M po/shotwell.pot + +commit efe3d09f7ac1d46f1738faf5f843a96249b959d6 +Author: Lucas Beeler +Date: Tue Jan 26 02:21:39 2010 +0000 + + Fixed two string glitches that had caused trouble for translators -- + one string was broken over two lines and so was truncated in the + POT file; the other string lacked appropriate context. Updated the + POT file accordingly. + +M po/shotwell.pot +M src/Dialogs.vala +M src/FlickrConnector.vala + +commit e84fc18affa75aaf5d1c4df4be50b07a98850308 +Author: Adam Dingle +Date: Mon Jan 25 18:28:52 2010 +0000 + + Implemented #1142 (-h or --help should print command-line options). + +M src/main.vala + +commit 79f834473af5034d6d8c9a48bd2ada3a9cbf5236 +Author: Adam Dingle +Date: Fri Jan 22 19:37:37 2010 +0000 + + Fixed #1300: "Shotwell Photo Manager" in Applications menu + +M misc/shotwell.desktop +M src/Resources.vala + +commit 7c9e96dd82af20fbd190c62e7cfede90df2b0c19 +Author: Adam Dingle +Date: Fri Jan 22 17:45:01 2010 +0000 + + Fixed #1303 (Edit->Remove should use red minus sign icon). + +M src/CollectionPage.vala +M src/PhotoPage.vala + +commit 65cf716455d54c57e9629a072b1c1d26f4340691 +Author: Lucas Beeler +Date: Fri Jan 22 01:52:00 2010 +0000 + + Updated POT file. + +M po/shotwell.pot + +commit 22468b1a8c94ed110e224ff43001adde4fa5d9bd +Author: Jim Nelson +Date: Fri Jan 22 01:45:50 2010 +0000 + + Removed gettext() of command-line switch. + +M src/main.vala + +commit 5da129d5e9b9c96434eb6394e3285fd5ef4046f8 +Author: Lucas Beeler +Date: Fri Jan 22 01:01:56 2010 +0000 + + Updated French translation. + +M po/fr.po + +commit be169563a7cf9285ebb9096c595abb2c0d01c82f +Author: Jim Nelson +Date: Fri Jan 22 00:38:19 2010 +0000 + + #531: Importing now takes place completely in background threads. + Thumbnails are generated in background, but + they are written in the foreground; this could be avoided with + more work. + +M Makefile +M src/AppWindow.vala +M src/BatchImport.vala +M src/CheckerboardLayout.vala +M src/ColorTransformation.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Debug.vala +M src/Dialogs.vala +M src/Dimensions.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/LibraryFiles.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PixbufCache.vala +M src/ThumbnailCache.vala +M src/Workers.vala +M src/image_util.vala +M src/util.vala + +commit 68935da0b7b9f42509e7f33d465ef3c4bd08b25b +Author: Lucas Beeler +Date: Fri Jan 22 00:29:58 2010 +0000 + + Allows user to specify printing resolution in pixels per inch. Closes + #1277. + +M misc/shotwell.schemas +M src/Config.vala +M src/Printing.vala + +commit 72dc99229f5bbf1f3d72366be8c7385f3ddf9a79 +Author: Lucas Beeler +Date: Thu Jan 21 20:05:26 2010 +0000 + + Allows user to specify a custom size for printing or choose from a + pre-selected menu of standard photo frame sizes. Closes #1276. + +M Makefile +M misc/shotwell.schemas +M src/Config.vala +M src/Dimensions.vala +M src/Printing.vala +A vapi/LConv.vapi + +commit 2a6581253def024ab8fe4a6177a0ef11fc8b83ba +Author: Allison Barlow +Date: Wed Jan 20 21:46:30 2010 +0000 + + implements #1179, giving the user the option to update the exif data + when adjusting the date/time of a photo. also implements #1289, but + brought to our attention #1295 and that the feature isn't implemented + for direct edit (soon to be ticketed) + +M src/Commands.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Exif.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Properties.vala +M ui/photo.ui + +commit d4f7c2fcf93b704815d1bcff4e0b43a97c3e9f8b +Author: Allison Barlow +Date: Wed Jan 20 19:43:51 2010 +0000 + + implements set photo as desktop background feature + +M src/CollectionPage.vala +M src/Config.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/image_util.vala +M ui/collection.ui +M ui/direct.ui +M ui/photo.ui + +commit cd883d802a35841924b9da6abd31589d6cf8ac74 +Merge: 2bd7dbd 02720bd +Author: Jim Nelson +Date: Mon Jan 18 22:59:44 2010 +0000 + + Merge of 0.4.3 branch. + +commit 02720bde7cbf3faf1063b10e1ad536bd64023ad6 +Author: Jim Nelson +Date: Mon Jan 18 22:36:12 2010 +0000 + + For 0.4.3 release. + +M Makefile +M NEWS +M debian/changelog +M po/shotwell.pot +M windows/winstall.iss + +commit 2bd7dbd441ac78a443c9f8b8bcb7bdc28b711eb5 +Author: Lucas Beeler +Date: Mon Jan 18 21:35:28 2010 +0000 + + Added Bengali translation file; updated Makefile to add ISO + language code BN to supported languages list; updated THANKS file + to acknowledge translator. + +M Makefile +M THANKS +A po/bn.po + +commit 346c5f19b3347964684a31476977b9e1a81d41a8 +Author: Lucas Beeler +Date: Mon Jan 18 21:25:21 2010 +0000 + + Updated French translation; added translator's name to THANKS file. + +M THANKS +M po/fr.po + +commit cc77e978e715e588b18edc4a6789a7f62fa8b283 +Author: Lucas Beeler +Date: Mon Jan 18 19:10:19 2010 +0000 + + Updated Italian translation. + +M po/it.po + +commit 3263781857a85ffe8049c99333e71474ec3efd35 +Author: Allison Barlow +Date: Thu Jan 14 17:31:09 2010 +0000 + + fixes #1131 by removing double inset + +M src/LibraryWindow.vala + +commit 83bd259b093dea6d740f897d6133d173ae775565 +Author: Jim Nelson +Date: Thu Jan 14 01:38:42 2010 +0000 + + This fixes the binding fix we have in the custom GTK+ vapi. It also + adds a comment and a link to the bug report + so we know when this vapi is no longer needed and we can use the + distributed version. + +M src/EditingTools.vala +M vapi/gtk+-2.0.vapi + +commit b71e56b22a809ebc4c622dbec6c07db2d58a580c +Author: Jim Nelson +Date: Tue Jan 12 20:32:34 2010 +0000 + + Further optimizations toward #1118. The big win in this round is + speeding up Page lookups in the Sidebar. + +M src/CheckerboardLayout.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/Sidebar.vala +M src/SortedList.vala +M src/Thumbnail.vala + +commit d5fffeeb333fbb3ca8937aaf741a9395145c0160 +Author: Jim Nelson +Date: Mon Jan 11 22:37:27 2010 +0000 + + More optimizations for #1118. + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Sidebar.vala +M src/SortedList.vala +M src/Thumbnail.vala +M src/main.vala + +commit 84ef969ac5c5448524e5321ca1c1d6224827ac32 +Author: Jim Nelson +Date: Fri Jan 8 21:19:13 2010 +0000 + + Bug. + +M src/SortedList.vala + +commit b4ca46dcb21623bd85d942a6794dd4bd5e0e5626 +Author: Jim Nelson +Date: Fri Jan 8 21:16:30 2010 +0000 + + #1118: A variety of patches to speed up startup time. More work + may follow, but this patch was getting large + enough I wanted to commit. SortedList has serious performance + improvements. + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Photo.vala +M src/SortedList.vala +M src/Thumbnail.vala +M src/main.vala + +commit dc3f2989d8e280d09f5beb44ac1cc16c0032d541 +Author: Lucas Beeler +Date: Fri Jan 8 18:51:54 2010 +0000 + + Adds support for the Gtk+ standard page setup dialog, closes #1275. + +M src/CollectionPage.vala +M src/PhotoPage.vala +M src/Printing.vala +M ui/collection.ui +M ui/photo.ui + +commit c807bcf80cb2227d0671aaf11e211ccafa8fbc2d +Author: Lucas Beeler +Date: Fri Jan 8 00:05:23 2010 +0000 + + Added basic printing support (closes #66). + +M Makefile +M src/CollectionPage.vala +M src/PhotoPage.vala +A src/Printing.vala +M ui/collection.ui +M ui/photo.ui + +commit 411da615e8694a2667b7fe04292d007b3ddf65e6 +Merge: a46fd2b 4b2d878 +Author: Jim Nelson +Date: Thu Jan 7 22:38:53 2010 +0000 + + Merge from 0.4.2+branch. + +commit a46fd2b8829eddbdb0de1b9b31aedbc9db9fdb02 +Author: Jim Nelson +Date: Thu Jan 7 22:36:55 2010 +0000 + + Fixed mnemonic for dialog. + +M src/ImportPage.vala + +commit 4b2d8784b0944088c0bcab90cbd6247ed38648fb +Author: Jim Nelson +Date: Thu Jan 7 22:16:27 2010 +0000 + + #1237: Fixed. Now attempting to initialize camera when the + "unmounted" signal is fired rather than when the + unmount callback is invoked. + +M Makefile +M src/ImportPage.vala + +commit c847cfea38f8d37ce4448385e651b8e91a04e0b2 +Author: Jim Nelson +Date: Wed Jan 6 22:34:44 2010 +0000 + + Fixes a bug in SortedList.resort_item(). + +M src/SortedList.vala + +commit 579a2f522053e64bfcf6bc083c55a8f13fb1e807 +Merge: e60183e 74235cf +Author: Jim Nelson +Date: Wed Jan 6 02:34:20 2010 +0000 + + Merge Windows installation updates from 0.4 branch. + +commit e60183ea45bd1d830f089d7e911bd05da2d44e7b +Author: Jim Nelson +Date: Wed Jan 6 00:47:49 2010 +0000 + + #999: HAL dependency removed. Now using GUdev (GObject wrapper + around libudev). + +M Makefile +M debian/control +M src/CameraTable.vala +M src/Resources.vala +A vapi/gudev-1.0.vapi + +commit 74235cf80b063d54cadddd49458abe98136084f3 +Author: Adam Dingle +Date: Tue Jan 5 22:43:28 2010 +0000 + + Fixed #1238 ([windows] wrong theme when MinGW is not installed). + +M windows/winstall.iss + +commit 64842a6f22f43da45d62899aba6edb1d5d4675db +Author: Adam Dingle +Date: Tue Jan 5 20:52:25 2010 +0000 + + Remove gdk-pixbuf.loaders on uninstall. + +M Makefile +M windows/winstall.iss + +commit 0ec25dbdcb0984308034ef43df9f23fd0d9ad885 +Author: Adam Dingle +Date: Tue Jan 5 19:49:33 2010 +0000 + + Allow building the Windows installer from the command line. + +M Makefile + +commit cd9a204a3114a63482725439072df6ac1067c972 +Merge: 9296063 8b5cc75 +Author: Jim Nelson +Date: Tue Jan 5 00:31:52 2010 +0000 + + Merge from 0.4.2. + +commit 8b5cc7589a48c0ddf2681950942d2f8da133b8f1 +Author: Jim Nelson +Date: Mon Jan 4 23:41:36 2010 +0000 + + 0.4.2 updates. + +M Makefile +M NEWS +M debian/changelog +M windows/winstall.iss + +commit a8d4a1300c6c15dc977b8bbfeff90ca201e1f50c +Author: Lucas Beeler +Date: Mon Jan 4 21:59:49 2010 +0000 + + Merged in new & changed translations from trunk; updated Makefile + to add new translations to SUPPORTED_LANGUAGES list; updated THANKS + file to acknowledge translators. + +M Makefile +M THANKS +C053 po/de.po po/bg.po +M po/de.po +M po/et.po +M po/it.po +C061 po/it.po po/lv.po +M po/pl.po +C063 po/sv.po po/pt.po +M po/shotwell.pot +C061 po/it.po po/sk.po +M po/sv.po + +commit 9296063c24c687a357321b9e20e154d3e2e490b8 +Author: Lucas Beeler +Date: Mon Jan 4 21:51:55 2010 +0000 + + Updated version number and header information in current translation + files to have version 0.4.2+trunk. + +M po/de.po +M po/et.po +M po/it.po +M po/lv.po +M po/pl.po +M po/pt.po +M po/shotwell.pot +M po/sk.po +M po/sv.po + +commit 46d094bebf04930f40a9420e918f97e72c694df7 +Author: Lucas Beeler +Date: Mon Jan 4 21:40:16 2010 +0000 + + Added Bulgarian translation; updated Makefile to add ISO langauge + code BG to SUPPORTED_LANGUAGES; updated THANKS file to acknowledge + translator. + +M Makefile +M THANKS +A po/bg.po + +commit 421285c129983282f239845492fa31416d501802 +Author: Adam Dingle +Date: Mon Jan 4 20:35:42 2010 +0000 + + Fixed #1229 ([windows] won't run without DLLs in c:\MinGW). + +M windows/winstall.iss + +commit 99d551947afcccefb7d0d85ade9000684adebe24 +Author: Lucas Beeler +Date: Thu Dec 31 22:44:48 2009 +0000 + + Added Portuguese translation; updated makefile to add ISO language + code PT to SUPPORTED_LANGUAGES; added translator to THANKS file. + +M Makefile +M THANKS +A po/pt.po + +commit 528d89b8fe5a501fc949a90be5b4c4c3be23728d +Author: Lucas Beeler +Date: Thu Dec 31 22:34:20 2009 +0000 + + Updated Slovak translation. + +M po/sk.po + +commit a920cd569594b968042cb3c2b7baa6c5a894ce95 +Author: Lucas Beeler +Date: Thu Dec 31 22:29:46 2009 +0000 + + Added new Latvian translation; updated Makefile to add ISO language + code LV (Latvian) to SUPPORTED_LANGUAGES; added translator's name + to THANKS file. + +M Makefile +M THANKS +A po/lv.po + +commit 417d7d663aaa4f901de508d031e91d9ebc1fd62a +Author: Lucas Beeler +Date: Thu Dec 31 22:21:06 2009 +0000 + + Updated Slovak translation. + +M po/sk.po + +commit 167259cda7a53c1eb81e94eee4c27516a1ddec56 +Author: Lucas Beeler +Date: Thu Dec 31 22:03:26 2009 +0000 + + Updated German translation. + +M po/de.po + +commit ab839e1f238c6659d2d143b0298e2bc1018a61c7 +Author: Jim Nelson +Date: Thu Dec 31 01:27:25 2009 +0000 + + Grooming DataCollection to consolidate code that had started to + creep between DataCollection and ViewCollection. + This will help us in the future when we optimize some of + DataCollection's code. Also fixed an unchecked + Exception in Dialogs.vala. + +M src/DataCollection.vala +M src/Dialogs.vala +M src/PhotoPage.vala +M src/SortedList.vala + +commit 7b702b8f054a116cd199ce5d4a9214136175ae2d +Author: Jim Nelson +Date: Wed Dec 30 20:39:36 2009 +0000 + + #1232: ImportSources were improperly removed from their + SourceCollection, causing the assertion. + +M Makefile +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/ImportPage.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 171b030e74ac7e2c815281e45b7b6e2517ed16a2 +Merge: 19107f1 ae7a8eb +Author: Jim Nelson +Date: Tue Dec 29 19:11:12 2009 +0000 + + Merge from 0.4.1 branch. + +commit ae7a8ebd1a03c80d0fb5dac21e1d418439eddf29 +Author: Adam Dingle +Date: Thu Dec 24 13:15:40 2009 +0000 + + Updates in preparation for packaging 0.4.1. + +M Makefile +M NEWS +M debian/changelog +M windows/winstall.iss + +commit 709fc4b4634897b8bc13e7b3079efe48d644c3d7 +Author: Adam Dingle +Date: Thu Dec 24 12:39:02 2009 +0000 + + Added minver script to distribution. + +M Makefile + +commit 19107f19907e7d70f6b35975f15c6e2aa874ee3b +Merge: 2ea50d0 8035f57 +Author: Jim Nelson +Date: Thu Dec 24 01:21:38 2009 +0000 + + Further merges from 0.4 branch. + +commit 8035f57a24ec4e0365264b3619d0d321bf75de69 +Author: Adam Dingle +Date: Thu Dec 24 00:03:07 2009 +0000 + + Windows version for release. + +M windows/winstall.iss + +commit 1e94d1635ff7921ec33b14f90a86f54e9bd622d2 +Author: Jim Nelson +Date: Wed Dec 23 22:58:21 2009 +0000 + + Updates in preparation for packaging 0.4.0. + +M Makefile +M NEWS +M README +M THANKS +M debian/changelog +M debian/control +M debian/copyright + +commit 2ea50d0a866e5407313a52478090d7dcf4378c70 +Merge: d57c15e 39583c7 +Author: Jim Nelson +Date: Wed Dec 23 22:28:12 2009 +0000 + + Merge from 0.4 branch. + +commit 39583c731dbb4ed1587829d400697e3c7c048dcb +Author: Jim Nelson +Date: Wed Dec 23 22:20:25 2009 +0000 + + #1215: Now using a simple script to verify compiler version numbers. + +M Makefile +A minver + +commit d57c15e5a8a81a70371d15a619071c7133f156a3 +Author: Allison Barlow +Date: Wed Dec 23 18:58:27 2009 +0000 + + implements date/time adjustment per #76 + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Event.vala +M src/Photo.vala +M src/Resources.vala +M ui/collection.ui + +commit 1f43a1ef48975a3a533a3f8351c4b07164f2d0bc +Author: Lucas Beeler +Date: Wed Dec 23 14:58:19 2009 +0000 + + Added Swedish translation; updated THANKS file to acknowledge + translator (Daniel Nylander). + +M Makefile +M THANKS +A po/sv.po + +commit c42aa881214b63424697268c981653676a54acd9 +Author: Lucas Beeler +Date: Wed Dec 23 03:50:29 2009 +0000 + + Updated German, Italian, and Swedish translations. Added Slovak + translation. Changed THANKS file and Makefile to reflect new languages + and contributors. + +M Makefile +M THANKS +M po/de.po +M po/it.po +C066 po/it.po po/sk.po +M po/sv.po + +commit d81d498c53bdbd561eeb3efa9075d190728d49f8 +Author: Jim Nelson +Date: Wed Dec 23 02:45:34 2009 +0000 + + #1217: Fixed import perf regression. Now relying on thumbnail + generation to detect bogus image files. + +M src/DataCollection.vala +M src/Photo.vala +M src/ThumbnailCache.vala +M src/image_util.vala + +commit f6a23b9c585a3a7b93119c511222e6ecb4605c0a +Author: Jim Nelson +Date: Wed Dec 23 01:59:15 2009 +0000 + + #1198: Display progress on startup if the user's library is large + enough to warrant it. Also some optimizations + to improve startup time. + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/main.vala + +commit f29de615d5c9b2159af99eb484da519fb1790b85 +Author: Jim Nelson +Date: Tue Dec 22 18:58:35 2009 +0000 + + German and Italian updates. + +M po/de.po +M po/it.po +M src/CheckerboardLayout.vala + +commit a2adfb823d8000707b58e4e6f2a484a776228feb +Author: Adam Dingle +Date: Mon Dec 21 23:55:32 2009 +0000 + + Updated version number in Windows install script. + +M windows/winstall.iss + +commit ac2e2af68a6e3ef2fe7a80ffdb8d2daa12795b5f +Author: Jim Nelson +Date: Mon Dec 21 22:45:17 2009 +0000 + + #1208: Red-eye failure due to a rounding error. + +M src/image_util.vala + +commit d6bfdfa3ba81bdd6d9c54c9fc2528a9c10c5cf66 +Author: Jim Nelson +Date: Mon Dec 21 21:07:22 2009 +0000 + + #1211: Made the PhotoInterrogator check the actual encoding of the + JPEG file. Previously it used PixbufLoader, + but only going so far as to the first decoded block. + +M src/image_util.vala + +commit 987db14d75286498f7e4aaf77eb119ce24f682b6 +Author: Adam Dingle +Date: Mon Dec 21 20:03:03 2009 +0000 + + Updated Windows icon. + +M icons/shotwell.ico + +commit 341d0c0f8a6404313de3246ee77353d7a5d9a6a8 +Author: Jim Nelson +Date: Mon Dec 21 19:43:47 2009 +0000 + + #1209/#1210: Strengthened malformed EXIF checking, removing assertions + and replacing them with error-handling + code. This fixes parsing EXIF structure for photos with bogus EXIF. + +M src/Exif.vala + +commit 8b7bb0e402cf8a3e9ab72eb20051370d49c42d9a +Author: Jim Nelson +Date: Mon Dec 21 19:23:20 2009 +0000 + + #1201: Export/publish no longer fails on photos that have EXIF but + no orientation tag. Also, Shotwell now + requires 0.7.9, as one of the bindings it relies upon has been fixed. + +M Makefile +M src/Exif.vala +M src/image_util.vala + +commit ebf4d9afbb028857c03661fdc93202bd9227aba8 +Author: Jim Nelson +Date: Sat Dec 19 02:27:22 2009 +0000 + + #1203: Photo caused crash on import due to rounding. The photo is + so wide and short its height was being scaled + to zero. Now, all scaled dimensions are returned floored at least + to one in both dimensions. This patch also + fixes a problem with the crop/redeye tools on small/narrow/short + photos (due to their displayed, scaled + size). + +M src/Dimensions.vala +M src/EditingTools.vala +M src/PhotoPage.vala + +commit aa241df6d289c7625e8581b9aeef399047fde45b +Author: Lucas Beeler +Date: Sat Dec 19 00:55:59 2009 +0000 + + Closes #1197. + +M src/ColorTransformation.vala + +commit ce64c24e5a3cc48bd0458f14f8c036efbfc27314 +Author: Lucas Beeler +Date: Sat Dec 19 00:51:44 2009 +0000 + + Added partial Swedish translation. + +A po/sv.po + +commit 4d9717f1cf0d3614e59c4e47c1b10a515cd13c2c +Author: Lucas Beeler +Date: Sat Dec 19 00:50:26 2009 +0000 + + Added partial Swedish translation. + +M Makefile + +commit 054667af0ce2bc4cdd5ffc43dca859ce76a45e3d +Author: Lucas Beeler +Date: Fri Dec 18 23:30:27 2009 +0000 + + Closes #1193; allows adjustment of bilevel images. + +M src/ColorTransformation.vala + +commit 3c3360ed9b23d329ded5a6e7f7175067ff5de484 +Author: Jim Nelson +Date: Fri Dec 18 23:20:20 2009 +0000 + + #1194: Now greying out the crop (and red-eye) tool when images are + too small for them. + +M src/EditingTools.vala +M src/PhotoPage.vala + +commit 861e19cbe857c15e5f264c04a99d82dbd3cab682 +Author: Allison Barlow +Date: Fri Dec 18 22:11:34 2009 +0000 + + fixes publish menu item bug #1192 + +M src/CollectionPage.vala + +commit 7aaf3fd63d7cbbbdb59e0e493efecef6072d9370 +Author: Lucas Beeler +Date: Fri Dec 18 22:05:49 2009 +0000 + + Updated German translation. + +M po/de.po + +commit 88702f9635dbd95ede0623e46a0e5083a7be4698 +Author: Lucas Beeler +Date: Fri Dec 18 22:04:54 2009 +0000 + + Updated German translation. + +M po/de.po + +commit fbf8b36574ce333a1ef577f56f5415e7ed4d8bbb +Author: Lucas Beeler +Date: Fri Dec 18 19:42:14 2009 +0000 + + Updated Estonian translation. + +M po/et.po + +commit 95a54868b9a75959133f552e6bb891b09a68fba7 +Author: Lucas Beeler +Date: Fri Dec 18 19:37:39 2009 +0000 + + Updated Estonian translation. + +M po/et.po + +commit a6ddfffabc3a2e38e362cbd0a444fb078e674584 +Author: Allison Barlow +Date: Fri Dec 18 18:23:46 2009 +0000 + + fixes #1191, allowing parts of the gconf schema to install properly. + +M misc/shotwell.schemas + +commit 670a708d5fc380e6ffb1b292cdd6690cb625d40e +Merge: 201d857 e44d0ff +Author: Jim Nelson +Date: Fri Dec 18 01:31:56 2009 +0000 + + Merge from 0.4 branch into trunk. + +commit e44d0ffa4ef4f44282c106ce8c4153446ca37ada +Author: Jim Nelson +Date: Fri Dec 18 01:12:06 2009 +0000 + + #1183: Now display ISO, exposure, and/or aperture when available, + even if not all are available. + +M src/Exif.vala +M src/Properties.vala + +commit ae4e1fac96153b64f75844dabf1e7e130eacb0ec +Author: Jim Nelson +Date: Fri Dec 18 00:50:04 2009 +0000 + + #1176: More event generation issues, this time when photos all are + in the morning before the event boundary + (4AM). #1174/#1181: We're now more aggressive searching the JPEG + file for EXIF. This solves the problem of + some photos (either from GIMP or from certain cameras) not being + recognized as having EXIF in them. + +M src/Event.vala +M src/Exif.vala + +commit 5f7efc30b8a827741c30795f0f86085f4cf7ed0f +Author: Allison Barlow +Date: Thu Dec 17 23:42:30 2009 +0000 + + removes publishing menu item on windows build. + +M src/CollectionPage.vala +M ui/collection.ui + +commit ee391daa327ad4745dfb54056403187ea7637b21 +Author: Jim Nelson +Date: Thu Dec 17 21:59:49 2009 +0000 + + #1165: Shotwell no longer aborts when import runs out of disk space. + The import will halt and the user will be + presented an error dialog. Also, fixed Events so small thumbnails + are enlarged to fit the square, guaranteeing + all are the same size in the checkerboard display. + +M src/BatchImport.vala +M src/Dimensions.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryFiles.vala +M src/Photo.vala +M src/util.vala + +commit 2a131f26e870264d5f23f65288f635d032c702d1 +Author: Allison Barlow +Date: Thu Dec 17 17:30:01 2009 +0000 + + reduces number of significant digits displayed for exposure. + +M src/Exif.vala + +commit 9508dbca0deb5fd8136a5bd73c8c39ddee2b4e21 +Author: Lucas Beeler +Date: Thu Dec 17 01:49:57 2009 +0000 + + Added new icons. + +M icons/shotwell.png +M icons/shotwell.svg + +commit ccdc497f67e326edd315db7336166d5eedc4e0a2 +Author: Jim Nelson +Date: Wed Dec 16 23:29:24 2009 +0000 + + #1163: Import of 160x3 image no longer causes assertion. #1168: + Shotwell would attempt to import files without + supported filename extensions if it was a directory import opertion. + This is now circumvented. Also, + fixed a rounding error in the EventDirectoryItem code related to + rounding-corners that caused some key + photos to not be displayed. + +M src/BatchImport.vala +M src/EventsDirectoryPage.vala +M src/Photo.vala + +commit bf985b04d4b719b6be2c26bc2af8cc89ea5e9b51 +Author: Allison Barlow +Date: Wed Dec 16 22:53:44 2009 +0000 + + changed selection color. + +M src/CheckerboardLayout.vala + +commit afc6cccc04ea93f6cb59bda9766f053e44385677 +Author: Lucas Beeler +Date: Wed Dec 16 22:28:20 2009 +0000 + + Fixed a multi-byte code point issue with the new Pango markup used in + the events directory page; merged translation files against current + POT file; verified that all translations function as expecte with + the 0.4 source tree. + +M po/de.po +M po/et.po +M po/fr.po +M po/it.po +M po/pl.po +M src/CheckerboardLayout.vala +M src/EventsDirectoryPage.vala + +commit 9e1fd6f936bd0463fbdd1dc8437b9392b49a5b56 +Author: Allison Barlow +Date: Wed Dec 16 20:04:36 2009 +0000 + + removes minimize and maximize decorations on extended info window, + fixing #1154 + +M src/LibraryWindow.vala +M src/Properties.vala + +commit e42d28fc96e207fb7980626a4269bc9484f26231 +Author: Jim Nelson +Date: Wed Dec 16 19:41:47 2009 +0000 + + #1155: Ctrl++ and Ctrl+- now accelerator keys for zooming. Code also + checks for unadorned plus and minus, or + those keys with any modifier key, in fact. + +M src/CollectionPage.vala +M src/Page.vala + +commit 98c43147ed38cc8d332dd75753fd20faef80d5b2 +Author: Jim Nelson +Date: Wed Dec 16 19:14:18 2009 +0000 + + #1153: Events now displayed as a squared key photo with rounded + corners, with its name centered and in boldface, + with the number of photos in the event below that in smaller font. + +M src/CheckerboardLayout.vala +M src/Dimensions.vala +M src/EventsDirectoryPage.vala +M src/image_util.vala + +commit 79a5b65e4ac5125b63eb98a184d8e3baffd7f39b +Author: Lucas Beeler +Date: Wed Dec 16 02:15:05 2009 +0000 + + Added new merge icon. + +A icons/merge.svg +M src/EventsDirectoryPage.vala +M src/Resources.vala + +commit 97fa76a716b12ceb9e5bb3ca524414b6a9f712b0 +Author: Lucas Beeler +Date: Tue Dec 15 22:59:05 2009 +0000 + + Added the new pin toolbar icon. + +M icons/pin-toolbar.svg + +commit 201d85728630904a7f0652f7b636fade9902b6cf +Author: Adam Dingle +Date: Tue Dec 15 22:23:35 2009 +0000 + + Fixed capitalization in the Extended Information window. + +M src/Properties.vala + +commit ca6897735d87804004a016583a7939795cc1ae82 +Author: Jim Nelson +Date: Tue Dec 15 22:14:49 2009 +0000 + + Fixes a problem with generating too many events when photos are on + the same day. + +M src/Event.vala + +commit 9163f24f6637ac8e1c47b51375e2545df580f73c +Author: Jim Nelson +Date: Tue Dec 15 20:33:57 2009 +0000 + + #1145/#1146: These were caused by the programmatic switching of pages. + Some of the other controls (in this + case, the Gtk.TreeView) allow for events to be processed in their + own handlers, and causing an expose_event to + be called before Page.switched_to() was invoked. This is safe, + but an assertion was in place to check for pages + being seen when they weren't supposed to. Since this can happen + during a switch, removing this assertion. + +M src/CheckerboardLayout.vala + +commit a20354871b5f960c89c4a5e2e97eb89c41d930dc +Author: Lucas Beeler +Date: Tue Dec 15 19:34:57 2009 +0000 + + Added new pin-toolbar icon. + +M icons/pin-toolbar.svg + +commit 84cc750d98e3c1035b187a3afad920ba3883d0f5 +Author: Jim Nelson +Date: Tue Dec 15 19:11:03 2009 +0000 + + #973: Display corruption when dragging below the last photo in + GTK+ 2.18. There appears to be a change in how + Gtk.Adjustment values are clamped between 2.16 and 2.18. This patch + enforces the limit. + +M src/Page.vala + +commit 962e5628cababce55d1881cdab2da4b9c14736b5 +Author: Lucas Beeler +Date: Tue Dec 15 19:11:03 2009 +0000 + + Touched-up favorites icon. + +M icons/favorite.svg + +commit 4f8dc09e89c17013b47da1ec63c41d7a9e533ce8 +Author: Jim Nelson +Date: Tue Dec 15 01:40:57 2009 +0000 + + #1130: Now detecting bogus EXIF timestamps and treating them as + through they're unset. Will need more work if + want to ignore them in some cases and use them in others. + +M src/Exif.vala +M src/WebConnectors.vala + +commit bc9fa2936c3961d713976c6cbccbc026166ef5cb +Author: Lucas Beeler +Date: Tue Dec 15 01:38:34 2009 +0000 + + Closes #1047 (Facebook publishing should fail gracefully if user + has deauthorized application); user is now gracefully logged out + when a 102 (session key has become invalid) error is detected. + +M src/FacebookConnector.vala +M src/WebConnectors.vala + +commit be9718c5d5618f432705e692bb9337738c3a4528 +Author: Lucas Beeler +Date: Tue Dec 15 01:32:25 2009 +0000 + + Closes #1089 (favorites star icon needs touching up). + +M icons/favorite.svg + +commit fe0824a3770ef4eb70a5e5d297dfb2e0936ca76e +Author: Jim Nelson +Date: Tue Dec 15 00:31:56 2009 +0000 + + #1122: Photos now imported into proper events, respecting the new + event boundary algorithm. #1134: Help -> + Contents now goes to new Wiki page. + +M src/Event.vala +M src/Resources.vala + +commit 8d11e9052798cf2f4405755ac456503aa34a6681 +Author: Jim Nelson +Date: Mon Dec 14 23:59:57 2009 +0000 + + Branching from trunk for 0.4. + +M Makefile + +commit 7e30c00f1d3cd0795d6ec49388a2c9f7f5f76ec9 +Author: Jim Nelson +Date: Mon Dec 14 23:58:39 2009 +0000 + + Trunk splitting from 0.4 branch. + +M Makefile + +commit 2377b139fc877c513ba0457f8a160bb134b0fd24 +Author: Jim Nelson +Date: Mon Dec 14 23:56:15 2009 +0000 + + Branching in preparation for the 0.4 release. + +commit c10e3df013f5a66274b4579cc9e4504e133d8409 +Author: Lucas Beeler +Date: Mon Dec 14 23:51:35 2009 +0000 + + Resolves #1136 ("can't publish to Facebook" -- occurred with newly + created Facebook accounts where no photo albums were present); makes + Publishing dialog taller to accomodate changed Facebook pane layout. + +M src/FacebookConnector.vala +M src/WebConnectors.vala + +commit f9e08f4a70f54d6e7494ad6c0bbcd2ebdf721b81 +Author: Jim Nelson +Date: Mon Dec 14 22:16:38 2009 +0000 + + #1137: Needed to monitor the destruction of the duplicated photo + and reset the command manager if it occurs. + +M src/Commands.vala + +commit 8683b445908122b4f202f30dc0385d0379c5fa3b +Author: Jim Nelson +Date: Mon Dec 14 22:02:08 2009 +0000 + + Refinement to the web publishing error reporting. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/WebConnectors.vala + +commit 4c9795b1bf58c1c59349c4355c612a4aa5ef02aa +Author: Jim Nelson +Date: Mon Dec 14 21:27:57 2009 +0000 + + #1124: More fine-grained error reporting in Web publishing. + PublishingError used more thoughly throughout to + facilitate error reporting. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/WebConnectors.vala + +commit ba839a152935cf95b689e950955c8f3cfe840c04 +Author: Allison Barlow +Date: Mon Dec 14 20:51:53 2009 +0000 + + changes view menu according to #1141 + +M ui/collection.ui + +commit 5bfa3146a666c0c7ccf63920bbfb5967cefe163a +Author: Lucas Beeler +Date: Sat Dec 12 02:41:36 2009 +0000 + + Closes #1128 and #1129. + +M misc/shotwell.schemas +M src/Config.vala +M src/FlickrConnector.vala +M src/WebConnectors.vala + +commit d08ad18852fe47dc96c685700e1f392813711f61 +Author: Lucas Beeler +Date: Sat Dec 12 02:34:28 2009 +0000 + + Adds new POT file with proper plural forms to the po/ directory; + closes #1079. + +M po/shotwell.pot + +commit 324f7c535001777616ddf3127566aa7fbae05345 +Author: Jim Nelson +Date: Sat Dec 12 02:16:41 2009 +0000 + + First commit toward #1124: Finer-grained exceptions in the publishing + code. Added preliminary strings for error + messages for string freeze. + +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/WebConnectors.vala + +commit 1464a2de299a1b39921c029256ead48ca636ce69 +Author: Lucas Beeler +Date: Sat Dec 12 00:25:42 2009 +0000 + + Resolves bug #1126 ("publishing dialog buttons should have access + keys") + +M src/Config.vala +M src/FacebookConnector.vala +M src/FlickrConnector.vala +M src/WebConnectors.vala + +commit 8cae88187f29c41f54c895477bd9f892664978bd +Author: Allison Barlow +Date: Sat Dec 12 00:12:56 2009 +0000 + + fixes #1121 (extended info window should be wider) and implements + #1019 (publish item in dropdown). + +M src/CollectionPage.vala +M src/Properties.vala +M src/Resources.vala +M ui/collection.ui + +commit 37e7575fb3c1703bbe5b29a11883384864a651c6 +Author: Lucas Beeler +Date: Sat Dec 12 00:06:36 2009 +0000 + + Changed all gettext invocations in strings with embedded numbers to + ngettext calls to support proper plural form handling for non-Western + languages. + +M src/CollectionPage.vala +M src/Commands.vala +M src/Dialogs.vala +M src/ImportPage.vala +M src/Properties.vala + +commit 82858c9fb7a8914bd9601c02f65926aa46788883 +Author: Allison Barlow +Date: Fri Dec 11 21:50:30 2009 +0000 + + adds persistence of sort settings for events, photos within events, + and library photos. #1104 and #1103. + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Config.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala + +commit fe8187094b03e43c7d6f44e1d2d9be04e36c2313 +Author: Lucas Beeler +Date: Fri Dec 11 19:46:22 2009 +0000 + + Introduces a unified publishing subsystem, closes bug #181 ("Export + photos to Flickr"). + +M Makefile +M src/Config.vala +M src/FacebookConnector.vala +A src/FlickrConnector.vala +M src/WebConnectors.vala + +commit 34cc938f1b61e7890d64eea611d6b015b3b244e2 +Author: Adam Dingle +Date: Fri Dec 11 16:35:31 2009 +0000 + + Fixed #1116 (check for gettext in makefile). + +M Makefile + +commit 076e2e712f440216b3843e97483171ec74f70224 +Author: Jim Nelson +Date: Fri Dec 11 03:23:37 2009 +0000 + + #874: Gap threshold increased to one event per day, with the boundary + being 4AM. + +M src/Event.vala + +commit c3200cf25a5758536f9f4969088625d55b05d43b +Author: Adam Dingle +Date: Fri Dec 11 01:00:51 2009 +0000 + + Updated minimal version number for WebKit. + +M Makefile + +commit a02392dc6489ce7492ccc438545d56824d6610f5 +Author: Adam Dingle +Date: Fri Dec 11 00:52:10 2009 +0000 + + Added version checks for webkit, libsoup and libxml. This fixes + #1015. + +M Makefile + +commit 416ad04e3c4a49644985de0b9dcf12774970a230 +Author: Jim Nelson +Date: Thu Dec 10 22:19:54 2009 +0000 + + #1102: Bug due to rounding down to zero in integer division. + +M src/CheckerboardLayout.vala + +commit bf155ac86d4478f9258457a4dabc66076009f2e3 +Author: Jim Nelson +Date: Thu Dec 10 19:25:49 2009 +0000 + + #873: Import and directory reads were slowing down moving between + photos in direct-edit mode. Import is much + faster now (and faster for library mode as well!) and the directory + is only read once. Will need to later + monitor the directory for file additions/removals. #1106: Modified + asterisk now working. Also fixed other + little bit rots in direct-edit mode that had gone undetected. + +M src/CollectionPage.vala +M src/Dimensions.vala +M src/DirectWindow.vala +M src/EventsDirectoryPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/ThumbnailCache.vala +M src/image_util.vala +M ui/direct.ui + +commit 63397656e7d204af575edf65d46ecf1b82f75852 +Author: Adam Dingle +Date: Thu Dec 10 00:48:28 2009 +0000 + + Added get_int() and set_int() to the Windows GConf implementation. + +M src/GConf.vala + +commit 36fc0e32b1221b909f762ff2d8f7b05d0c5bc610 +Author: Allison Barlow +Date: Wed Dec 9 23:40:19 2009 +0000 + + implements 1042: persist sidebar width + +M misc/shotwell.schemas +M src/AppWindow.vala +M src/Config.vala +M src/DirectWindow.vala +M src/LibraryWindow.vala + +commit ba49b4341bf3abc46e9fe2e22882384d02ec44d0 +Author: Adam Dingle +Date: Wed Dec 9 22:53:42 2009 +0000 + + Updated w32api URL. + +M windows/install-deps + +commit d0a4cbebffbf986ea49548b541b82acad8d5da72 +Author: Allison Barlow +Date: Wed Dec 9 22:27:43 2009 +0000 + + takes care of ticket 1096--both of the cases where hiding photos + should make the toolbar buttons unavailable. + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala + +commit f45dc59e6b0e6af14e3a4b2ddee270eac0a48ce3 +Author: Jim Nelson +Date: Wed Dec 9 22:20:49 2009 +0000 + + #1100: get_start_time()/get_end_time() fixed and now using all photos, + including hidden, when calculating. + +M src/Event.vala + +commit 2a453cca511f9a9e418d7a9a1ee2284d599b563b +Author: Allison Barlow +Date: Wed Dec 9 21:53:37 2009 +0000 + + Improves toolbar layout (#1045) by removing new event and adding in + a separator. + +M src/CollectionPage.vala + +commit bf3a1b00be046635646499bd357423f1ef72ae71 +Author: Allison Barlow +Date: Wed Dec 9 18:13:58 2009 +0000 + + fixes 1065: hidden photos remain selected. + +M src/DataCollection.vala + +commit f925e1b3eb5fe3b8deabab3a79bbaa5cbb07bdc4 +Author: Jim Nelson +Date: Wed Dec 9 00:10:14 2009 +0000 + + #1088: Rounding error. + +M src/image_util.vala + +commit 481dd44fa497d331f19ba1e544d3657e1e97b6c3 +Author: Allison Barlow +Date: Tue Dec 8 23:51:48 2009 +0000 + + fixes 1083 so maximization state and window dimensions are remembered. + also changes basic properties to default on + +M misc/shotwell.schemas +M src/AppWindow.vala +M src/Config.vala + +commit ada955c46fefe5ce8dffa24073c329da5010a298 +Author: Allison Barlow +Date: Tue Dec 8 23:36:26 2009 +0000 + + fixes 935, making select_all work for event directory pages. + +M src/EventsDirectoryPage.vala +M ui/events_directory.ui + +commit 76e143ba2d23562b03a85990c23a86db099332ef +Author: Adam Dingle +Date: Tue Dec 8 23:25:50 2009 +0000 + + Updated Help->Contents URL. + +M src/Resources.vala + +commit a6ab975aab20402096abaf81efb3e4356378934e +Author: Jim Nelson +Date: Tue Dec 8 23:20:17 2009 +0000 + + #774: In full-window/fullscreen mode, images now shown in actual size. + In slideshow, images shown fullscreen. + +M THANKS +M src/Dimensions.vala +M src/EditingTools.vala +M src/ImportPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/SlideshowPage.vala + +commit 146d6753bd2b14476bdb1af344baa2bd077ae812 +Author: Adam Dingle +Date: Tue Dec 8 16:08:48 2009 +0000 + + Added Mattias to THANKS file. Alphabetized names. + +M THANKS + +commit 9aa80094bb2c28f3b214ec2baaf74dee63cf6f1d +Author: Lucas Beeler +Date: Tue Dec 8 03:08:28 2009 +0000 + + Added Estonian translation file; updated Makefile languages line to + include "et". + +M Makefile +A po/et.po + +commit 332c733c3315b13391c2b3c8efcad862db435f0d +Author: Lucas Beeler +Date: Tue Dec 8 03:05:34 2009 +0000 + + Polish translation file is now complete. + +M po/pl.po + +commit 0bc696369d60623d064d8418c4375b6fed5d28d0 +Author: Jim Nelson +Date: Tue Dec 8 02:22:24 2009 +0000 + + #871: Mark as Favorite implemented. Some questions remain about + the favorite icon and whether the hidden icon + should be similarly sized/placed or back in its original + location/size. + +A icons/favorite.svg +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/EventsDirectoryPage.vala +M src/Photo.vala +M src/Resources.vala +M src/Thumbnail.vala +M ui/collection.ui +M ui/event.ui +M ui/events_directory.ui +M ui/photo.ui + +commit 28b04008cd3a6db740461e58dbe8738c05b82d9e +Author: Allison Barlow +Date: Tue Dec 8 02:21:22 2009 +0000 + + fixes 956: empty progress bar reappears. + +M src/ImportPage.vala + +commit 509916fb4b7820bef1497b4ef69fd73f053ed70e +Author: Allison Barlow +Date: Tue Dec 8 02:01:02 2009 +0000 + + fixes 1070: app hangs while parsing events after large import. + added progress dialog. + +M src/Dialogs.vala +M src/Event.vala +M src/ImportPage.vala +M src/LibraryWindow.vala + +commit 34c1891cd1aad2d1f089aceeba2733ba094187ae +Author: Adam Dingle +Date: Mon Dec 7 22:48:24 2009 +0000 + + Fixed bug #1074 (about box links don't work). + +M src/AppWindow.vala + +commit 4334546ee10ec4db8d60bf279aa92b6b89bcfe84 +Author: Jim Nelson +Date: Mon Dec 7 18:59:04 2009 +0000 + + #1085: GTK assertion due to signal being fired before import queue + page was hidden. Assertion due to hidden + pages maintaining their PageLayout even when hidden. + +M src/ImportPage.vala +M src/LibraryWindow.vala + +commit 482b586aa4d1a5b5b255f69af891dca9c2a3fe01 +Author: Jim Nelson +Date: Sat Dec 5 01:31:16 2009 +0000 + + #1069: Pages are now destroyed when removed from LibraryWindow, + and each Page destroys all the widgets it + creates that are not contained/parented when the Page is destroyed + (i.e. the menu bar). This issue was + exacerbated by drag-and-drop, which obtains references on all widgets + in the application and releases them after + the Page was deref'ed. + +M src/CollectionPage.vala +M src/Commands.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +M src/SlideshowPage.vala + +commit d6a8f33ff2b34ba7761e8f2fe91c89b66685d7be +Author: Allison Barlow +Date: Sat Dec 5 00:56:49 2009 +0000 + + fixes #1061 (hidden photo titles not displayed) and related hidden + thumbnail size not updating + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/Page.vala + +commit 731aefa3f03732d0f03b4a1566389a2063cbbac7 +Author: Allison Barlow +Date: Fri Dec 4 20:28:42 2009 +0000 + + fixes #1056: hiding ellipsis + +M src/Commands.vala + +commit 14861edfde0f47b740655eaae4b1e052a51770cb +Author: Allison Barlow +Date: Fri Dec 4 01:57:35 2009 +0000 + + fixes 1044: Shift key does not work after window resize + +M src/PhotoPage.vala + +commit 9df92f848cd44a3c13692910ac423c36760e6738 +Author: Allison Barlow +Date: Fri Dec 4 01:03:07 2009 +0000 + + cleaning up how modifiers behave with change of focus, page switching, + etc. Inspired by #1049 + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 4bd814c69d61d8a3ee1688322c04c252e4db2600 +Author: Lucas Beeler +Date: Thu Dec 3 22:19:19 2009 +0000 + + Updated the THANKS file to include a translations section. + +M THANKS + +commit f90a533bd134b0975e57fff0ab52b2202487488b +Author: Lucas Beeler +Date: Thu Dec 3 22:07:48 2009 +0000 + + Added Polish translation file; updated German translation file + +M Makefile +M po/de.po +C052 po/de.po po/pl.po + +commit e92ec3aca935d75e2b17f4ba9738160463fe900e +Author: Allison Barlow +Date: Thu Dec 3 18:13:17 2009 +0000 + + fixes 1055, tool dialogs not appearing in fullscreen mode. + +M src/EditingTools.vala + +commit 55ecc77fd6b4fd20442c99e87a46dad837c09636 +Author: Jim Nelson +Date: Thu Dec 3 17:57:06 2009 +0000 + + #1067: Undo drag-and-drop move photos to event no longer asserts. + Also cleaned up some code that, in this + particular code path, was preventing Pages from being fully unref'ed. + +M THANKS +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/CommandManager.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/util.vala + +commit 211a38e716a43be05309f201184bddffaf134336 +Author: Allison Barlow +Date: Thu Dec 3 00:41:42 2009 +0000 + + fixes access key bugs 1060, 1062, and 1063. adds hide command to + photo context menu. + +M src/CollectionPage.vala +M src/EditingTools.vala +M src/LibraryWindow.vala +M src/PhotoPage.vala +M ui/collection.ui + +commit f32e8bde97c76d046c49646d9b1e67ba218c1619 +Author: Jim Nelson +Date: Thu Dec 3 00:07:15 2009 +0000 + + #1066: Fixed assertion triggered when using Ctrl+H to hide an item + while the mouse was hovering over it. + +M src/CheckerboardLayout.vala +M src/DataObject.vala +M src/Page.vala + +commit b698ee1d8c63631871d6696cefbc335b4dc8e4ea +Author: Jim Nelson +Date: Wed Dec 2 23:18:57 2009 +0000 + + Due to changes for Hide/Unhide, some assertions improperly fire + in DataCollection. This has to do with + ViewCollection filtering. This fixes that so the assertions are + properly checked. + +M src/DataCollection.vala + +commit 9ef095969f816eb2782053482607ad1b51bca3ae +Author: Jim Nelson +Date: Wed Dec 2 22:51:32 2009 +0000 + + #1032: Assertion due to pages being double-freed -- forgot to clear + the lists. + +M src/LibraryWindow.vala + +commit 97630233ac5b0474858eddcbf557dbdd9f0b7cfb +Author: Allison Barlow +Date: Wed Dec 2 22:21:16 2009 +0000 + + fixes 1064: remove mirror from context menu + +M src/CollectionPage.vala +M src/PhotoPage.vala +M ui/collection.ui +M ui/photo.ui + +commit 2e72e447f0e1cb986eb6f5c4c9d013877cf3b9ee +Author: Allison Barlow +Date: Wed Dec 2 22:18:06 2009 +0000 + + fixes 954: down arrow gives focus to toolbar, up arrow doesn't give + focus back + +M src/PhotoPage.vala + +commit 7313f20a86a3af22852e1ecc06ecdec9d17ca15d +Author: Lucas Beeler +Date: Wed Dec 2 21:48:57 2009 +0000 + + Resolves bug #1046 (can't log out of Facebook and log in as a + different user) + +M src/FacebookConnector.vala +M src/WebConnectors.vala + +commit 2d9fc337b0c3de9cddbb41dd5bbeed4e485f13cd +Author: Lucas Beeler +Date: Wed Dec 2 21:36:52 2009 +0000 + + Changed Makefile to support installing German and Italian + translations; changed Makefile such that POT strings template file + (shotwell.pot) is included in the distribution tarball. + +M Makefile + +commit 49ac227d0cf6c233a70e3bf4ea6583b3f08f4074 +Author: Lucas Beeler +Date: Wed Dec 2 21:07:40 2009 +0000 + + Added user-submitted German translation; fixed POEdit metadata in + French and Italian translation files; fixed POEdit metadata in POT + strings template file. + +C052 po/shotwell.pot po/de.po +M po/fr.po +M po/it.po +M po/shotwell.pot + +commit 65ef7f4e3eca30afcde2f7c006ce36b8fbe72a7f +Author: Jim Nelson +Date: Wed Dec 2 20:41:53 2009 +0000 + + #1058/#1059: Both were related to how hidden photos are handled + inside the ViewCollection. Now reinforcing + interface where a ViewFilter must be used to control hidden-ness. + Also, found a minor bug where the "View -> + Hidden Photos" was not keeping its state when switching between pages. + +M src/CollectionPage.vala +M src/DataCollection.vala + +commit 963831309140f9c04c34f1681821b5dab35531f3 +Author: Jim Nelson +Date: Wed Dec 2 19:24:52 2009 +0000 + + #1053: Missing ? in SQL command. + +M src/DatabaseTables.vala + +commit 2513627d795666f262c1d2f3f8093aff3eefb55e +Author: Allison Barlow +Date: Wed Dec 2 19:23:31 2009 +0000 + + fixes 940: Export Photo dialog should conform to interface, 960: + progress dialog should conform to interface, 972: uneven selection + margin + +M src/CheckerboardLayout.vala +M src/Dialogs.vala + +commit e60b7e7bc52d3d8432cc85c08ecd1d7081f34c5e +Author: Jim Nelson +Date: Wed Dec 2 19:20:31 2009 +0000 + + #1054: Direct-load icons need to be copied now if they're to be + modified (which the histogram control does to + theme the nubs). + +M src/CustomComponents.vala +M src/Resources.vala + +commit 5613d33747cc27fcaebd06c13ddf8f3b3e42d36d +Author: Lucas Beeler +Date: Wed Dec 2 19:06:58 2009 +0000 + + Fixes bug #1030, "Facebook login yields segmentation fault." + +M src/WebConnectors.vala + +commit dce4183aaa74e2b6f2e227d99013eb0a36d84409 +Author: Jim Nelson +Date: Wed Dec 2 02:24:41 2009 +0000 + + #73: Hide/Unhide photos implemented. + +A icons/hidden.svg +M misc/shotwell.schemas +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/DatabaseTables.vala +M src/Photo.vala +M src/Resources.vala +M src/Thumbnail.vala +M src/main.vala +M ui/collection.ui + +commit 5bad8e9a4e4f76f6be6552b27338be9cbf8ff50b +Author: Allison Barlow +Date: Tue Dec 1 20:48:02 2009 +0000 + + implements 964: move photos between events and fixes 1004: move Zoom + In, Zoom Out to View menu, 1027: slideshow delay defaults to 1 second, + and 936: Make Key Photo in context menu is available when more than + one photo is selected + +M src/CollectionPage.vala +M src/Commands.vala +M src/Config.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Sidebar.vala +M src/util.vala +M ui/collection.ui + +commit e87b37ddfe0c4bf0187dad21eea55f512c554e9a +Author: Adam Dingle +Date: Wed Nov 25 21:55:31 2009 +0000 + + Added a comment. + +M src/system.vala + +commit 779b13d7e81d91a334de9847d79566596ecb1349 +Author: Adam Dingle +Date: Wed Nov 25 21:52:41 2009 +0000 + + Fixed bug 1033 ([windows] Help->Contents does nothing). + +M src/AppWindow.vala +M src/system.vala +M src/windows.c + +commit d97228c5a00ddbb90414640c6775e163bb982313 +Author: Jim Nelson +Date: Wed Nov 25 01:25:55 2009 +0000 + + #1029: Fixes bug where second import would cause a crash. + +M src/LibraryWindow.vala + +commit 46a1eb568e318e45d5bf47be8a9d2f02198203c8 +Author: Jim Nelson +Date: Wed Nov 25 00:57:35 2009 +0000 + + #879: Delete open photo (i.e. when in full-window or fullscreen mode) + +M src/CollectionPage.vala +M src/Dialogs.vala +M src/Page.vala +M src/PhotoPage.vala +M ui/direct.ui +M ui/photo.ui + +commit fe00403d16e762b0b12fdf3567f2b6f948028ee2 +Author: Adam Dingle +Date: Tue Nov 24 22:40:36 2009 +0000 + + Eliminated a couple of build warnings on Windows. + +M src/LibraryWindow.vala + +commit 89d8dd310aa36848aecef4a032cbb6f272afadea +Author: Jim Nelson +Date: Tue Nov 24 22:30:13 2009 +0000 + + #72: Duplicate photo implemented. + +M Makefile +M src/BatchImport.vala +M src/CollectionPage.vala +M src/Commands.vala +M src/DatabaseTables.vala +M src/Exif.vala +M src/ImportPage.vala +A src/LibraryFiles.vala +M src/Photo.vala +M src/Properties.vala +M src/Resources.vala +M src/ThumbnailCache.vala +M ui/collection.ui + +commit 8d70f98f4cf118c9c65991e48e4c72b587029c59 +Author: Adam Dingle +Date: Tue Nov 24 21:21:20 2009 +0000 + + This change adds an alternate GConf implementation to be used only + on Windows and Mac OS. + It simply writes out GConf settings to an .ini file. + + This fixes bug #968 ([windows] wait cursor displays for 5 seconds + at startup). + +M Makefile +M src/Config.vala +A src/GConf.vala +M windows/install-deps +M windows/winstall.iss + +commit cfa188428b4acc530912c5b9832987639fefab6a +Author: Adam Dingle +Date: Tue Nov 24 19:06:56 2009 +0000 + + Fixed a typo in the extended properties view. + +M src/Properties.vala + +commit 46745b72a35f75d95fca0e5534dc286cb6d17bd7 +Author: Adam Dingle +Date: Tue Nov 24 18:12:39 2009 +0000 + + Added binutils as a Shotwell build dependency; it contains the + windres binary which + we use for adding an icon to the Shotwell executable. + +M windows/install-deps + +commit aec487140541a6f4fbe8eac25d46e8facfed76a4 +Author: Jim Nelson +Date: Mon Nov 23 22:32:19 2009 +0000 + + #65/#1001: Undo/redo implemented for all appropriate commands. + When undo/redo selected, switches back to page + the operation occurred on. Also detected during this patch that + Pages were not always being freed when removed; + this fixes that as well. + +M src/CheckerboardLayout.vala +M src/CommandManager.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Resources.vala + +commit 3628f9d39505421f78fbc59dc1f64def860586d0 +Author: Adam Dingle +Date: Mon Nov 23 20:36:53 2009 +0000 + + Fixed bugs #933 ([windows] Shift key does not work for before/after + comparison) and + #1023 ([windows] Ctrl key should reverse rotation direction). + +M src/AppWindow.vala +M src/Page.vala + +commit 1e89316d417167dc937bd57878327d7ddf47b784 +Author: Adam Dingle +Date: Mon Nov 23 18:34:51 2009 +0000 + + Fixed #910 ([windows] tool windows should not have title bars). + +M src/EditingTools.vala + +commit f0d3c613b83e87dca46d6fa48399a3aa0e2d74f5 +Author: Adam Dingle +Date: Mon Nov 23 16:17:40 2009 +0000 + + Fixed #967 ([windows] Start menu item should show Shotwell icon). + +M Makefile +A icons/shotwell.ico +A windows/shotwell.rc +M windows/winstall.iss + +commit 35d1aec427c334d56eb1ffe3f02fe71c69ddabed +Author: Adam Dingle +Date: Fri Nov 20 23:33:44 2009 +0000 + + Fixed bug 1020 (imported photos have date January 1900). + +M src/windows.c + +commit 5356d1401c620d266a93e7544dfb591378fbcfa8 +Author: Adam Dingle +Date: Fri Nov 20 22:54:13 2009 +0000 + + Eliminated two string literal build warnings. + +M src/CameraTable.vala +M src/FacebookConnector.vala + +commit 4356f57ea36e4666f5cc890a50e7bc3caf7ebebb +Author: Adam Dingle +Date: Fri Nov 20 22:00:33 2009 +0000 + + Added NO_PUBLISHING define which excludes Facebook/Flickr export + on Windows. + +M Makefile +M src/CollectionPage.vala +M src/FacebookConnector.vala +M src/WebConnectors.vala + +commit 13980e0d635a1aafad105bd97ec87dce871993bf +Author: Adam Dingle +Date: Fri Nov 20 20:15:06 2009 +0000 + + Added a script which downloads and installs build dependencies + on Windows. + +M src/windows.c +A windows/install-deps + +commit 362f0afa1f0760f6ebe4137a8225a0dc272872dd +Author: Jim Nelson +Date: Fri Nov 20 04:37:31 2009 +0000 + + For #65/#1001: Create Event now undoable. Allison needs this to + complete #964. + +M src/CollectionPage.vala +M src/Commands.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit 3c9780dd7643652ce19262bc30d5ab5712dcfb68 +Author: Lucas Beeler +Date: Wed Nov 18 19:34:34 2009 +0000 + + Enables publishing of photos to Facebook directly from Shotwell; + closes ticket #180. + +M Makefile +A icons/publish.png +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Config.vala +A src/FacebookConnector.vala +M src/Resources.vala +A src/WebConnectors.vala + +commit a5f02bb3f63229c1ad6b7f8116e2883a5394ffb8 +Author: Jim Nelson +Date: Wed Nov 18 19:11:19 2009 +0000 + + Updated to Emanuele's name. + +M THANKS + +commit 05abb62d5a86cbd650c787c7ddaa43fc6aac5157 +Author: Jim Nelson +Date: Wed Nov 18 19:10:00 2009 +0000 + + Updated configure script (with appropriate changes in Makefile) + to assist packagers. From Joeny Ang. + +M Makefile +M THANKS +M configure + +commit 8012c3c7e0cadf14137725f5cebaeafdf88e86b5 +Author: Jim Nelson +Date: Wed Nov 18 18:49:34 2009 +0000 + + Italian translation and type from caccolangrifata@gmail.com. + +M THANKS +A po/it.po +M src/AppWindow.vala + +commit 95a7ce9f92f9e9fcab8f4e6e36e7b21441b73027 +Author: Allison Barlow +Date: Wed Nov 18 18:05:28 2009 +0000 + + added extended information window + +M misc/shotwell.schemas +M src/Config.vala +M src/Exif.vala +M src/LibraryWindow.vala +M src/Properties.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/photo.ui +M vapi/libexif.vapi + +commit 5c29a2e0883a4dcd1ac74aaaa851ea589b52c304 +Author: Jim Nelson +Date: Wed Nov 18 04:16:23 2009 +0000 + + Part two of #65: All adjustments in the photo editor (including each + slider in the adjustments panel) are now + available as undo/redo. + +M src/ColorTransformation.vala +M src/CommandManager.vala +M src/Commands.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/util.vala +M ui/direct.ui +M ui/photo.ui + +commit 74dc7f23144598ac3cf93db2624dc4b7e9f46c2b +Author: Jim Nelson +Date: Mon Nov 16 18:46:39 2009 +0000 + + Moved VAPI files into their own directory. + +M Makefile +R100 src/ExtendedPosix.vapi vapi/ExtendedPosix.vapi +R100 src/FStream.vapi vapi/FStream.vapi +R100 src/FixedKeyFile.vapi vapi/FixedKeyFile.vapi +R100 src/gphoto.h vapi/gphoto.h +R100 src/libexif.vapi vapi/libexif.vapi +R100 src/libgphoto2.vapi vapi/libgphoto2.vapi + +commit da35e8b137657f21a3ba0083400bf952257d741a +Author: Jim Nelson +Date: Sat Nov 14 03:18:20 2009 +0000 + + Minor fixes to the init/terminate logic. + +M src/AppDirs.vala +M src/AppWindow.vala +M src/Debug.vala +M src/main.vala + +commit 9432a48f2ca4f9c2f1e8bf01a39c77163ac3906b +Author: Jim Nelson +Date: Sat Nov 14 02:58:08 2009 +0000 + + Switching fully over to using a Singleton pattern for PhotoTable + and EventTable. + +M src/DatabaseTables.vala +M src/Event.vala +M src/ThumbnailCache.vala + +commit 4f70d3cf4b3ccf8e58ed3c7bcc440ff0bebb91b9 +Author: Jim Nelson +Date: Thu Nov 12 22:55:23 2009 +0000 + + First stage of #65/#1001. This patch was getting large and I wanted + to check it in. Undo and Redo are + functional for most operations on photos and renaming events. + Other operations in next commit. + +M Makefile +M src/AppDirs.vala +M src/AppWindow.vala +M src/CollectionPage.vala +A src/CommandManager.vala +A src/Commands.vala +M src/DatabaseTables.vala +M src/Dialogs.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +A src/SlideshowPage.vala +M src/image_util.vala +M ui/collection.ui +M ui/direct.ui +M ui/events_directory.ui +M ui/photo.ui + +commit 7649c34c185200712a58cb06c816759499330dc0 +Merge: a33ec8f ed7fb71 +Author: Jim Nelson +Date: Thu Nov 12 19:56:16 2009 +0000 + + Merge from 0.3 branch. + +commit ed7fb71c4e7f6f264d485c3954ae7012c871c473 +Author: Jim Nelson +Date: Thu Nov 12 19:55:19 2009 +0000 + + From Matthias Clasen. + +M Makefile + +commit a33ec8f5da69873d95d0c3977f05b5a0b05d45f6 +Merge: 9bb87f0 166ccb5 +Author: Jim Nelson +Date: Thu Nov 12 00:08:37 2009 +0000 + + Merge from 0.3.2 branch. + +commit 166ccb58765ef474bef76e16446b8559b0198dfa +Author: Jim Nelson +Date: Wed Nov 11 23:47:51 2009 +0000 + + Marked for branch. + +M Makefile + +commit 85e2fe50a2af483e957ab2c145cda4be7bf1581a +Author: Jim Nelson +Date: Wed Nov 11 23:46:13 2009 +0000 + + Changes for 0.3.2. + +M Makefile +M NEWS +M debian/changelog + +commit 616f9df8c0a0ca02802c32b0056e5a7b6d5f2f77 +Author: Jim Nelson +Date: Wed Nov 11 23:04:51 2009 +0000 + + #1002: Loosened up the assertion that checks the pixbuf's dimensions + in the pipeline. Pixel-accuracy is too + much to ask here when considering all the subsystems involved. + Now the assertions just check that the pixbuf's + dimensions are in the ballpark. + +M src/Box.vala +M src/Dimensions.vala +M src/Photo.vala +M src/image_util.vala + +commit 9bb87f0c444c77ad73a554425429b0b9fec645e4 +Author: Adam Dingle +Date: Wed Nov 11 19:33:49 2009 +0000 + + Updated Windows installer generator to include SVG dependencies. + +M windows/winstall.iss + +commit 3ac58f189a9454abc2b406fc3c83aa17ca950b6a +Author: Jim Nelson +Date: Wed Nov 11 19:04:39 2009 +0000 + + #998: Now handles situation where hald is not running or ready + for connections. Shotwell will continue to run, + but won't be able to detect cameras. + +M Makefile +M src/CameraTable.vala + +commit 2a0262b18de17686282b27db81e83acdee78c453 +Author: Adam Dingle +Date: Wed Nov 11 18:41:31 2009 +0000 + + Removed NO_SVG in the Windows build since we've figured out how to + get SVG working on Windows. + +M Makefile + +commit 35c478d5165f25a3da85f245ae79b61803fc8ff3 +Author: Jim Nelson +Date: Wed Nov 11 00:28:36 2009 +0000 + + Updating version number to trunk. + +M Makefile + +commit c2fdd646e87dad08f993beffd2e6ba9cbf25aa42 +Author: Allison Barlow +Date: Tue Nov 10 19:35:39 2009 +0000 + + batch autoenhance feature (642) added and bug 994 fixed + +M src/CollectionPage.vala +M src/DataCollection.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/SortedList.vala +M ui/collection.ui + +commit fba1e5ada30c803312e073d41d07ada28251931f +Merge: 4f2830d 8634ac0 +Author: Jim Nelson +Date: Mon Nov 9 23:55:16 2009 +0000 + + Merge of 0.3.0 branch. + +commit 8634ac02f55a5271e902eea1fbf906fbc51b3946 +Author: Jim Nelson +Date: Mon Nov 9 23:52:41 2009 +0000 + + #990: Binary dependencies fixed in Debian packaging. Other work in + prep for packaging 0.3.1. + +M Makefile +M NEWS +M THANKS +M debian/changelog +M debian/control +M debian/copyright + +commit 4f2830dcd570a2788b092749edc89d9744e16586 +Merge: 71b7914 5613559 +Author: Jim Nelson +Date: Mon Nov 9 23:28:08 2009 +0000 + + Merge from 0.3.0 branch. + +commit 71b7914f34f17283d3b779ca5a265ebfcce6768c +Author: Allison Barlow +Date: Mon Nov 9 22:44:22 2009 +0000 + + creat new events from selected photos + +M src/CollectionPage.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/PhotoPage.vala +M ui/collection.ui +M ui/events_directory.ui + +commit 5613559571d86ab96b95d607711532088e1b5dec +Author: Jim Nelson +Date: Fri Nov 6 01:55:50 2009 +0000 + + Further changes for packagers. + +M Makefile + +commit 4d7b99494137736804213efdaedbbb1829064510 +Author: Allison Barlow +Date: Fri Nov 6 00:36:26 2009 +0000 + + altered items in DataCollections are properly re-sorted + +M src/DataCollection.vala +M src/Event.vala +M src/EventsDirectoryPage.vala + +commit 7d8c6cb03250bd758968c35fa47706f869144027 +Author: Jim Nelson +Date: Thu Nov 5 19:22:17 2009 +0000 + + Some changes to help package managers -- mkdir -p on every directory + during install (think DESTDIR) and + back-porting configure script changes made by Adam. + +M Makefile +M configure + +commit 486c905cc573a700d5efc2c3be7dac36a0b6ac1e +Author: Jim Nelson +Date: Thu Nov 5 00:36:11 2009 +0000 + + #963: Merge button now marked as important. Other buttons will come + in when the 0.3.0 branch is merged to + trunk. + +M src/EventsDirectoryPage.vala + +commit 526b4ad2ccea8cc915e774e40ae983447a18d28c +Author: Jim Nelson +Date: Thu Nov 5 00:34:17 2009 +0000 + + #963: Now marking toolbar items as important where appropriate. + +M src/CollectionPage.vala +M src/ImportPage.vala +M src/PhotoPage.vala + +commit 831417fa4fc56793569a1b61ff8b555a15fb23eb +Author: Jim Nelson +Date: Thu Nov 5 00:11:15 2009 +0000 + + Fixes unhandled exceptions caught by Vala 0.7.8. + +M src/AppWindow.vala +M src/CameraTable.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/Exif.vala +M src/Photo.vala + +commit 555368278f9e3dd77b52c60cb09589952013d21e +Author: Jim Nelson +Date: Wed Nov 4 22:23:07 2009 +0000 + + Makefile changes for better packaging support, from a patch submitted + by Matthias Clasen. + +M Makefile +M misc/shotwell-viewer.desktop + +commit e5bd957bb798467a0248748cc9853eb73324544e +Author: Adam Dingle +Date: Wed Nov 4 20:11:00 2009 +0000 + + Added an #if to fix the Windows build. + +M src/LibraryWindow.vala + +commit 1114af4885eaf3deeb648f1fa6264b127fa21131 +Author: Allison Barlow +Date: Tue Nov 3 20:32:19 2009 +0000 + + added progress bar for merging over 50 photos into an event + +M src/EventsDirectoryPage.vala + +commit 1b379f71b4b1826481d84426a41a8fc49da58be8 +Merge: 574cce1 f9b19cf +Author: Jim Nelson +Date: Tue Nov 3 19:32:46 2009 +0000 + + Final merge from 0.3.0 branch to trunk. These changes are largely + related to the packaging process. + +commit 574cce1b6cff20f837146acb15356592620df0e9 +Author: Jim Nelson +Date: Tue Nov 3 19:04:43 2009 +0000 + + For some reason, Queryable has returned. Bye. + +D src/Queryable.vala + +commit 50860377c2565184397674dd458b71f40dd0d359 +Author: Allison Barlow +Date: Tue Nov 3 00:46:55 2009 +0000 + + adds merge events feature. present in right-click context menu, + in the edit menu, and in the toolbar. + +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Sidebar.vala +M src/Thumbnail.vala +M src/Workers.vala +M ui/events_directory.ui + +commit f9b19cf5a281693b04c34470e839b8431a7567f7 +Author: Jim Nelson +Date: Mon Nov 2 22:49:02 2009 +0000 + + And yet more Debian goofery. + +M Makefile +M debian/control +M debian/dirs + +commit d8e23200c3ff6d47d65a5e7515db66b4a4393a59 +Author: Jim Nelson +Date: Mon Nov 2 21:45:50 2009 +0000 + + More changelog goofery. + +M debian/changelog + +commit 050e35cfc6c6d37d0332ef80e66656663c647244 +Author: Jim Nelson +Date: Mon Nov 2 21:25:42 2009 +0000 + + Forgot to sign the changelog. + +M debian/changelog + +commit 42c249659ef92ac075bdebb0631718ccb1efc23c +Author: Jim Nelson +Date: Mon Nov 2 20:15:12 2009 +0000 + + Changelog, readme, and Debian changes in preparation of packaging. + +M Makefile +M NEWS +M README +M debian/changelog +M debian/control +M debian/copyright + +commit da3433f47e2f0214da62cd877918ac2db8cd36f8 +Author: Lucas Beeler +Date: Mon Nov 2 19:45:15 2009 +0000 + + Updated POT translations template file so that it reflects the + set of strings present in the application after the shotwell 0.3 + string freeze. + +M po/shotwell.pot + +commit 9a9544bb6ca9ec883ed6271a94d1294b95c42e56 +Merge: 0ce4554 b9a5300 +Author: Jim Nelson +Date: Mon Nov 2 19:14:32 2009 +0000 + + Merge from Shotwell 0.3.0 branch. + +commit b9a5300b8a9538157c56d679bf2f46ec8102f1b8 +Author: Jim Nelson +Date: Mon Nov 2 19:11:08 2009 +0000 + + #970: Dialog is now Keep / Delete. + +M src/Dialogs.vala +M src/ImportPage.vala + +commit 0ce4554f314cae170fbbff9bca6f98aa7383ad78 +Merge: 05ab194 bc7951b +Author: Jim Nelson +Date: Mon Nov 2 18:59:23 2009 +0000 + + Merge from shotwell-0.3.0 branch. + +commit 05ab1943b8e80bafbaeeb3379fa1630f1506ef96 +Author: Adam Dingle +Date: Fri Oct 30 23:21:59 2009 +0000 + + 1. Factored out directory-related methods from AppWindow into a + new class + AppDirs. + + 2. On Windows, prepend the directory containing the Shotwell + executable to + the PATH on startup. This is necessary so that gconfd can find + its DLLs, + which live in the Shotwell executable directory. + +M Makefile +A src/AppDirs.vala +M src/AppWindow.vala +M src/BatchImport.vala +M src/GPhoto.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Resources.vala +M src/ThumbnailCache.vala +M src/main.vala +M src/system.vala + +commit bc7951bb636147a8db08c1d8a1ad21817602cdb9 +Author: Jim Nelson +Date: Fri Oct 30 23:10:35 2009 +0000 + + This fixes a bug Allison discovered in trunk. Migrating it to 0.3.0. + +M src/Thumbnail.vala + +commit acf9707ae51a1aaa53a4dd8740df8e4f2fff8cd9 +Author: Jim Nelson +Date: Fri Oct 30 21:29:51 2009 +0000 + + #956: Need to re-hide progress bar after pages are added to the + notebook, as this requires a show_all() on it, + which shows all hidden widgets. This fixes the problem by hiding + the progress_bar when necessary when the page + is switched to. + +M src/ImportPage.vala + +commit bd896a0c22874fcf714aacaa33447217ce09166e +Author: Jim Nelson +Date: Fri Oct 30 19:13:15 2009 +0000 + + #962: The full-window page was holding a ref to the Photo object + after it had been deleted, triggering the + assertion. This change ensures the ref is dropped when a photo + is deleted. + +M src/PhotoPage.vala + +commit a7b6053c5e73966f962de6e6dd5d50f4301ff685 +Author: Jim Nelson +Date: Fri Oct 30 17:49:28 2009 +0000 + + #957: A function used within the Photo pipeline needed to be performed + atomically and was not. This fixes that + problem and cleans up atomicity elsewhere in the pipeline. + +M src/Photo.vala + +commit 35d592bf52630a89c1545d1510597b92f74dc4b4 +Author: Adam Dingle +Date: Fri Oct 30 17:35:28 2009 +0000 + + Added an Inno Setup script which can generate a Windows installer. + +A windows/winstall.iss + +commit 05fd127079ac5f41f5d143b25f526a52c765fdca +Author: Jim Nelson +Date: Fri Oct 30 00:28:49 2009 +0000 + + #961: Fixed. A long-running problem was that SinglePhotoPage resized + the DrawingArea widget to match the + viewport. This was unnecessary (GtkViewport does this automatically) + and, with certain scrollbar policies, + would cause the described problem. + +M src/Page.vala + +commit c52960c4b5939d221b06407bdbdf55a22eb39752 +Author: Lucas Beeler +Date: Thu Oct 29 21:29:59 2009 +0000 + + Changed the event signalling mode of the adjustment palette sliders + from Discontinuous to Delayed. + +M src/EditingTools.vala + +commit 4857e5f162bf69040be658aa803e36e28c8ab005 +Author: Jim Nelson +Date: Thu Oct 29 21:03:57 2009 +0000 + + #995: Ellipses fixed when unmounting camera. #958: Double-clicking + slider and moving it is a feature of GTK. + Changed code to fix crash due to reference counting/signal disconnect + issues. + +M src/EditingTools.vala +M src/ImportPage.vala + +commit 9590df69dcd0bf52d0695ca066c20c4236d3bff2 +Author: Jim Nelson +Date: Wed Oct 28 23:57:50 2009 +0000 + + #656: Remove dialog reworded. Fixed an HIG issue with the dialog + title. + +M src/CollectionPage.vala + +commit 956f6d7e8257a60d250b37d41e25488b2fa903fe +Author: Jim Nelson +Date: Wed Oct 28 22:54:04 2009 +0000 + + #948: Folders no longer counted as part of the import manifest. + If absolutely nothing is imported, an + appropriate dialog is presented to the user. + +M src/BatchImport.vala +M src/Dialogs.vala + +commit d7cbd2105d53259d1b8ab75c1fe92f3caf4870e4 +Author: Adam Dingle +Date: Wed Oct 28 22:45:00 2009 +0000 + + Added code so that we can find the directory where Shotwell is + installed on either Linux or Windows. + +M Makefile +M src/AppWindow.vala +M src/system.vala + +commit 864a83fcccd4032b1fa60fdbaddf099e3613f086 +Author: Jim Nelson +Date: Wed Oct 28 22:20:39 2009 +0000 + + Fixed a bug where a month event page was triggering an assertion + when accessed immediately after it was created + by an import. This was due to Gtk.Notebook.show_all() not being + called after the page was added to the notebook + (which is a no-no). This fixes it, and hopefully ensures it's always + called when a page is added. + +M src/Event.vala +M src/LibraryWindow.vala +M src/Page.vala + +commit 7bd262055c99d702d1778e5a128fb8d9bf85bd14 +Author: Adam Dingle +Date: Wed Oct 28 21:20:35 2009 +0000 + + Use GConf on Windows. + +M Makefile + +commit 8ee8bb6d20758af5fc60e7682e5fadb363c21dff +Author: Adam Dingle +Date: Wed Oct 28 19:51:29 2009 +0000 + + Use /bin/bash to execute configure. This avoids a shell portability + problem since + different versions of /bin/sh may echo newlines differently. + +M configure + +commit 0478f27be43b8db1dbc54929565f51bf53da6dc8 +Author: Jim Nelson +Date: Wed Oct 28 19:26:19 2009 +0000 + + #728: Drag selection now works properly at the bottom of a large + collection. Related to a signed 16-bit + overflow bug when GDK window grab is enabled (reported at + https://bugzilla.gnome.org/show_bug.cgi?id=599937). + Also, we discovered that signals must be disconnected manually, + so have done that as well in places where + required. + +M src/BatchImport.vala +M src/CheckerboardLayout.vala +M src/DataCollection.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Thumbnail.vala + +commit 1afb19009e911934ac74fcad90fc9c6b958478ac +Author: Lucas Beeler +Date: Wed Oct 28 18:22:42 2009 +0000 + + Removed periods after "cm" abbreviation in crop tool aspect ratio + popup box. This change resolves ticket #941. + +M src/EditingTools.vala + +commit b7ea71fef191eca2092ef22514d19976fcb835b3 +Author: Jim Nelson +Date: Sat Oct 24 01:01:42 2009 +0000 + + #711: No full fixes for this, as it's been decided this is a Gtk + issue. However, did remove the scrollbars + flashing as the window is shrunk by the user, which helps. Also, + in the investigation found some + unused/unnecessary code paths. Also fine-tuned the readahead caching, + which was not quite right. Finally, + removing the flashing scrollbars revealed problems in fullscreen mode, + and fixed that as well. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/Dimensions.vala +M src/DirectWindow.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +M src/PixbufCache.vala + +commit 897f634f5faa34d4b700a583d44fd60819d008f8 +Author: Adam Dingle +Date: Fri Oct 23 22:35:25 2009 +0000 + + Check the number of CPUs on Windows systems. + +M Makefile +M src/Workers.vala +M src/main.vala +A src/system.vala +M src/windows.c + +commit d8678b060548e7683ecabd67c70e1c7b70adbbc4 +Author: Adam Dingle +Date: Fri Oct 23 21:46:38 2009 +0000 + + Enabled building on a Mac via GTK-OSX. + +M Makefile +M src/LibraryWindow.vala +A vapi/ige-mac-integration.vapi + +commit 324b7ef97530e2d8bfdff85070c8965e4a8d1b54 +Author: Jim Nelson +Date: Thu Oct 22 22:17:54 2009 +0000 + + #874: Increased event lull duration (event gap threshold) to 4 hours. + +M src/Event.vala + +commit 44d47c1d9592823fd9f9738f52e04e29f6d1dd6d +Author: Jim Nelson +Date: Thu Oct 22 22:06:12 2009 +0000 + + #743: Now displaying a cancellable modal progress bar while rotating, + reverting, or deleting a large number of + photos at once. + +M src/CollectionPage.vala +M src/DataCollection.vala +M src/Dialogs.vala + +commit 3a58286d303a74aa3e6a269018ab98b01a0c93fa +Author: Adam Dingle +Date: Thu Oct 22 22:00:55 2009 +0000 + + 1. On Windows, allow files to be imported by dragging them into the + Shotwell window. + + 2. On Windows, added a linker flag which prevents a console window + from appearing each time we run Shotwell. + +M Makefile +M src/LibraryWindow.vala + +commit b46e5672c6d29a51dc5466476d5c5d10556c12e8 +Author: Jim Nelson +Date: Thu Oct 22 00:23:03 2009 +0000 + + #899: Fixed crash on import due to faulty EXIF data. Also fixed a + bug due to recent readahead commit. + +M src/Photo.vala +M src/PhotoPage.vala + +commit d08d436f039bdd0b04e7edff57fbba483e1423ee +Author: Jim Nelson +Date: Wed Oct 21 23:32:39 2009 +0000 + + This prevents readahead in the direct edit case, which only slows + it down (due to importing on the fly). Will + need to be revisited at a future point. + +M src/PhotoPage.vala + +commit c7469c915b42f10788993035d53f6d3027f48621 +Author: Jim Nelson +Date: Wed Oct 21 22:56:48 2009 +0000 + + #741: Now performing readaheads in full-window and fullscreen view + with a cache filled by background threads. + Also fixed some issues exposed by these readaheads in direct edit + mode and fullscreen mode. + +M Makefile +M src/AppWindow.vala +M src/ImportPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +A src/PixbufCache.vala +M src/ThumbnailCache.vala +M src/Workers.vala +M src/main.vala +M src/util.vala + +commit c469ac23b551d8a7f5fb8751850a8cfa2a01d6ab +Author: Adam Dingle +Date: Wed Oct 21 14:47:19 2009 +0000 + + Added PNG icons for Windows port. + +A icons/crop.png +A icons/import.png +A icons/make-primary.png +A icons/object-flip-horizontal.png +A icons/object-rotate-left.png +A icons/object-rotate-right.png +A icons/pin-toolbar.png +A icons/return-to-page.png +A icons/shotwell.png + +commit 4a202fa5e32d9f2f137e8fed659c16f1e79ca28d +Author: Adam Dingle +Date: Wed Oct 21 14:45:53 2009 +0000 + + Various changes to allow Shotwell to build on Windows. + + (The new .png files will arrive in a separate commit since I have + them on + a different machine.) + +M Makefile +M src/CameraTable.vala +M src/Config.vala +M src/CustomComponents.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Resources.vala +M src/Workers.vala +M src/main.vala +A src/windows.c + +commit 15496f2459759c50bea18105353d3710df487070 +Author: Allison Barlow +Date: Mon Oct 19 22:43:28 2009 +0000 + + generalized EventProxyPage code to StubPage, which is used to create + stubs for Event pages and EventDirectory pages. + +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala + +commit 716c866c73fee3cfe39a45a0378c5dd1560ebe88 +Author: Jim Nelson +Date: Fri Oct 16 22:56:56 2009 +0000 + + Upped to version 0.3.1 in preparation for 0.4.0 development. + +M Makefile + +commit 5d3b898ff001fbf2184c291982a8e85868344c37 +Author: Jim Nelson +Date: Fri Oct 16 22:54:37 2009 +0000 + + Branching to complete 0.3.0 tickets. Trunk now code repository + for 0.4.0. + +commit a599540dbfd79e2b6fca6cdf3e5dc172721a9a6b +Author: Allison Barlow +Date: Fri Oct 16 17:50:51 2009 +0000 + + proper conf install + +M Makefile + +commit 7b9d01a3ce5457d7b517fa4b5e5d93a75b35a96e +Author: Allison Barlow +Date: Fri Oct 16 00:01:36 2009 +0000 + + allows for sidebar navigation with keyboard + +M src/LibraryWindow.vala +M src/Page.vala +M src/Sidebar.vala + +commit 82624ecb694f34857e28068efc81b5129de5af31 +Author: Jim Nelson +Date: Thu Oct 15 23:42:39 2009 +0000 + + #893 exposed a bug in the import code where a file that was not + copied into the library directory (typically + ~/Pictures) because it was located inside the user photos directory + was deleted if the import failed. Shotwell + was deleting the file if it was supposed to be copied but wasn't. + Now, it only deletes if file was actually + copied. + +M src/AppWindow.vala +M src/BatchImport.vala + +commit f8c461b5ab105c914b263ce06d526f16b92952c3 +Author: Jim Nelson +Date: Thu Oct 15 20:55:32 2009 +0000 + + #534: User now asked at end of import if they want to delete the + photos on the camera. + +M Makefile +M src/BatchImport.vala +A src/Dialogs.vala +M src/Event.vala +D src/ExportDialog.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Sidebar.vala + +commit 0bdbc1dae13f486e2f4e32ca9bf3dd0bcdffb7ad +Author: Lucas Beeler +Date: Wed Oct 14 23:34:20 2009 +0000 + + Resolves bug #891 ("Image does not grow/shrink with window when + red-eye is activated, and may crash"). + +M src/EditingTools.vala + +commit 0d66130afa5e7abbb54d066112bad038f5183c0c +Author: Lucas Beeler +Date: Wed Oct 14 23:17:01 2009 +0000 + + I failed to add a vapi patch and binary icon file in the previous + commit; this commit adds these overlooked files. + +A icons/crop-pivot-reticle.png +A vapi/gtk+-2.0.vapi + +commit 8d1e0cce9be2993704479c7b22df6f4ac09d59ee +Author: Lucas Beeler +Date: Wed Oct 14 23:08:35 2009 +0000 + + Completes implementation of feature #199 (Crop aspect ratios). + +M Makefile +M src/EditingTools.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit f7a66cfc472f258b4690c38584d80f8de6d525fd +Author: Allison Barlow +Date: Wed Oct 14 20:03:05 2009 +0000 + + fixes for tickets 622 (tool placement in fullscreen), 835 (pixelated + fullscreen image), 878 (titles persist between event pages), 666 + (basic info pane padded), and 875 autoenhance shortcut) + +M misc/shotwell.schemas +M src/CollectionPage.vala +M src/Config.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +M ui/import.ui +M ui/photo.ui + +commit f93231d60535a30114e951850595fca0010c32c3 +Author: Jim Nelson +Date: Tue Oct 13 22:59:52 2009 +0000 + + #535: Duplicates now detected on import and reported in summary + to user. This patch will check camera photos + for duplicates via their EXIF/thumbnail hashes as well drag-and-drop + files, either by EXIF/thumbnail (if + available) or by a full-file hash. + +M src/BatchImport.vala +M src/Exif.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/util.vala + +commit a83143f3b0831bec2d8ab84d25c69d9419213e8f +Author: Jim Nelson +Date: Tue Oct 13 19:23:24 2009 +0000 + + With libgphoto 2.4.6, EXIF data is garbage from the camera, so cannot + accurately count how many preview bytes + have to be downloaded when updating the progress bar. Now merely + reflecting the number of loaded photos + in the progress bar. + +M src/ImportPage.vala + +commit 5458fde50e1c4f7a957f8789c14684eea442a69e +Author: Jim Nelson +Date: Tue Oct 13 19:11:55 2009 +0000 + + #888: This is due to the code rework for #887 and a bug in libgphoto2 + 2.4.6 where garbage is returned + when querying for EXIF data on a camera photo. This fixes the + problem by querying for the EXIF and the + thumbnail separately. + +M src/Exif.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/Photo.vala +M src/main.vala + +commit 9e918504c071ebd16305a81395c755d193f4b643 +Author: Allison Barlow +Date: Tue Oct 13 16:17:44 2009 +0000 + + implements shift+arrow selection (393), the sidebar selection fix + (877), and changes the unmount diaglog (883) + +M src/CheckerboardLayout.vala +M src/ImportPage.vala +M src/Page.vala +M src/Sidebar.vala + +commit 6723fdde6ffb293bbce2e8ee4d919b036ca73cb4 +Author: Jim Nelson +Date: Tue Oct 13 03:31:53 2009 +0000 + + #536: Toggle button on import page allows user to hide photos that + have already been imported. + +M src/CheckerboardLayout.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/DatabaseTables.vala +M src/Exif.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/main.vala +M src/util.vala + +commit 27ed23b8b929648b28a594373a1e4845f9824c1c +Author: Allison Barlow +Date: Mon Oct 12 20:00:17 2009 +0000 + + changed all instances of name to title, titles default to off + +M src/CollectionPage.vala +M ui/collection.ui + +commit 15e431c3ca890ae6fc501d6bba29e92f018edfa4 +Author: Allison Barlow +Date: Mon Oct 12 19:59:03 2009 +0000 + + fixes export dialog pango errors + +M src/ExportDialog.vala + +commit 9ff2433c645620eff27c222771974939f9fcfc61 +Author: Allison Barlow +Date: Mon Oct 12 17:56:08 2009 +0000 + + shift+home and shift+end now work properly. + +M src/Page.vala + +commit f415c0d37d900c18226e389f75f1372bc011c1f2 +Author: Allison Barlow +Date: Fri Oct 9 22:18:31 2009 +0000 + + Fixes ampersand in event tooltip bug and corrects shift+click + selection to be linear. + +M src/LibraryWindow.vala +M src/Page.vala +M src/Sidebar.vala + +commit 7df9276bcccbbcd374103bb994f95f267165216f +Author: Jim Nelson +Date: Thu Oct 8 21:59:29 2009 +0000 + + #866: Updated to work with libgee 0.5.0. Deprecated calls now + replaced with new methods. + +M Makefile +M src/CameraTable.vala +M src/DataCollection.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/ThumbnailCache.vala +M src/util.vala + +commit 4d37a92aa9cda31e025c5299c9d401ca36510173 +Author: Jim Nelson +Date: Thu Oct 8 21:04:24 2009 +0000 + + #865: Direct editing fixed. Was not entirely integrated into the + new architecture. + +M src/Photo.vala +M src/PhotoPage.vala + +commit a65d569425c0b2a742a23a0a1c61e576d515f954 +Author: Adam Dingle +Date: Thu Oct 8 19:40:26 2009 +0000 + + Added David Jeske to THANKS file. + +M THANKS + +commit 7f7aec4c275c4e4c09fad31760928943752508be +Author: Jim Nelson +Date: Thu Oct 8 19:25:04 2009 +0000 + + #612: (Jeske) Escape cancels current tool, then returns to collection + page. Removed "Return to Photos" from + View menu. + +M src/EditingTools.vala +M src/PhotoPage.vala +M ui/photo.ui + +commit 4707ac0d95cd69a7a8572268ab4bb0d668db234b +Author: Jim Nelson +Date: Thu Oct 8 18:52:00 2009 +0000 + + #658: (Jeske) F11 and Esc now exit fullscreen mode. + +M src/AppWindow.vala + +commit ff2022c755ddd0d136926b5761dca8d9f696eb42 +Author: Allison Barlow +Date: Thu Oct 8 17:49:41 2009 +0000 + + These changes make it so Shotwell starts with only the most recent + event branch open, opens the tree containing an event when the event + is selected, scrolls appropriately to a newly selected event in the + sidebar, and maintains the expanded/collapsed state of the sidebar + tree when resorting events. + +M src/LibraryWindow.vala +M src/Sidebar.vala + +commit 3d1427dd9bb0945fce910b320156125131ace89a +Author: Jim Nelson +Date: Thu Oct 8 02:53:05 2009 +0000 + + #859: Reflow was not occuring after import. This fell out of some + of the recent optimizations (but is fixed + thanks to recent erchitecture change!) + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Page.vala + +commit 6da4dc626034a0e0f9f774ee79e4e57543ca0c81 +Author: Jim Nelson +Date: Wed Oct 7 21:34:19 2009 +0000 + + Fixed an issue where a reflow() wasn't being called when the new + EventPage was realized on the screen. This bug + popped up in Allison's work on heirarchical events. + +M src/CheckerboardLayout.vala + +commit 1cbc301c3b8a99a1c0423bfc95b041d3f04925b3 +Author: Jim Nelson +Date: Wed Oct 7 03:26:55 2009 +0000 + + #842: Fixed. #742: Fixed. #710: Fixed. Empty space shown on quick + drag if thumbnail not in cache. Good + enough for now. #709: Usable but could be better. Good enough + for now. + +M src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/Workers.vala +M src/util.vala + +commit 493a9445199993574af83a5acd690965ec97c36e +Author: Allison Barlow +Date: Tue Oct 6 16:16:36 2009 +0000 + + Added date hierarchy to event directory. + +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Sidebar.vala + +commit b3a95e720e350074d213b36b34da1e2edc145299 +Author: Adam Dingle +Date: Tue Oct 6 15:22:47 2009 +0000 + + Added Allison to AUTHORS list. + +M AUTHORS +M THANKS +M src/Resources.vala + +commit 03d4a6c1cc828b6d9a600e78564e864bf393b430 +Author: Jim Nelson +Date: Fri Oct 2 19:52:20 2009 +0000 + + More work on improving UI responsiveness. In particular, + CheckerboardLayout now maintains a spatial + (two-dimensional) data structure to allow for quicker traversal of + its laid-out items. This speeds up finding + items at pixel coordinates and intersections of area and items + (which in turn is a boost in expose_event() and + update_visible_page()). + +M src/CheckerboardLayout.vala +M src/DataCollection.vala +M src/main.vala + +commit 22cfc327a81585ee26ec0377172bf1c048d21966 +Author: Jim Nelson +Date: Fri Oct 2 00:46:46 2009 +0000 + + #710: Now using threads to load thumbnails in the background. + More work to be done to close ticket, but with + blocking I/O now in the background, the UI controls are much more + responsive. + +M Makefile +M src/CollectionPage.vala +M src/Dimensions.vala +M src/EventsDirectoryPage.vala +A src/ExtendedPosix.vapi +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Resources.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +A src/Workers.vala +M src/image_util.vala +M src/main.vala + +commit ab78f0f6e2c96fe374aa0195a64eca9b404c5ebb +Author: Lucas Beeler +Date: Thu Oct 1 23:16:02 2009 +0000 + + Improves auto-enhance performance by about 25%, closes #674. + +M misc/shotwell.schemas +M src/PhotoPage.vala + +commit b3b86439814234a6da3815fd7a1dd1492a1e6726 +Author: Lucas Beeler +Date: Thu Oct 1 18:40:18 2009 +0000 + + Closes ticket #818 (internationalize .desktop files) + +M misc/shotwell-viewer.desktop +M misc/shotwell.desktop + +commit f76ddfef9d7bd274c047a9af876573889a9f23e8 +Author: Jim Nelson +Date: Wed Sep 30 16:32:12 2009 +0000 + + Now require Vala 0.7.7 to compile. + +M Makefile + +commit 384e442b4523e83ee11f50ab1397aaf6f3acf634 +Author: Jim Nelson +Date: Tue Sep 29 23:45:15 2009 +0000 + + #710: Some work done to improve performance of scrollbar (with + large libraries). Specifically, this introduces + the difference for a ThumbnailView to have a view_altered (which + requires a repaint) and a geometry_altered + (which requires a reflow in the layout). + +M Makefile +R096 src/CollectionLayout.vala src/CheckerboardLayout.vala +M src/CollectionPage.vala +M src/DataCollection.vala +M src/DataObject.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Page.vala +M src/Photo.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/util.vala + +commit 05a3a3e11ad2dba6a7db4b9a4b5188582076170a +Author: Allison Barlow +Date: Mon Sep 28 21:18:00 2009 +0000 + + Fixes problems caused by missing photo files in slideshow. Regresses + on manual advance so that no low res image put up immediately, + but that should be fixed with readahead. + +M src/AppWindow.vala +M src/CollectionPage.vala + +commit 3fee29c960f1ed58196464403e15b5699cdad626 +Author: Jim Nelson +Date: Mon Sep 28 17:31:56 2009 +0000 + + #824: Fixes for 0.7.7, binding updates and compiler/syntax changes. + +M src/ColorTransformation.vala +M src/ExportDialog.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/util.vala + +commit 4165977134a0a448ce0e603187d801253a10f76c +Author: Jim Nelson +Date: Thu Sep 24 01:47:02 2009 +0000 + + #809: Final step of model/view refactoring. Data objects and their + collections are now maintained in the + classes in DataObject.vala and DataCollection.vala. All other + objects throughout the system can now access + photos and events in a unified way, and keep their own state + synchronized consistently. + +M Makefile +M src/AppWindow.vala +M src/BatchImport.vala +M src/CollectionLayout.vala +M src/CollectionPage.vala +A src/DataCollection.vala +A src/DataObject.vala +D src/DataSource.vala +M src/DatabaseTables.vala +M src/DirectWindow.vala +M src/EditingTools.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Properties.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit 276351094654497ea4947a81938ba9331ab192a8 +Author: Allison Barlow +Date: Tue Sep 22 22:31:10 2009 +0000 + + no longer crashes when photo file source is missing + +M src/CollectionPage.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 0e5647328a1328fadb207b02c93cced4e51524ae +Author: Lucas Beeler +Date: Fri Sep 18 23:56:00 2009 +0000 + + This revision implements full international support (enhancement + #625) in the codebase and build system, including installation of + translation files during make install. Enhancement #625 is now closed. + +M Makefile +M src/International.vala +M src/main.vala + +commit 0e63b8ba1496092469921b4f64602f36876b618a +Author: Jim Nelson +Date: Fri Sep 18 00:37:03 2009 +0000 + + #809: Part two of the model/view refactoring. Photo is now integrated + into the new architecture, now breaking + the other half of the Queryable system for Basic Properties. + After some consideration, didn't want to fold + these changes in with the next (which integrates Page with the new + architecture) because that represents another + large change, and the two together will be unwieldy. However, + the next commit will restore Basic Properties. + +M src/CollectionPage.vala +M src/DataSource.vala +M src/Event.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Queryable.vala +M src/Thumbnail.vala + +commit 03e0c268055fde50570a46ebb3f49c4d9cffcb19 +Author: Lucas Beeler +Date: Thu Sep 17 22:01:30 2009 +0000 + + This revision includes fully internationalized program + code. Internationalization support in the build process and packaging + are not yet complete. + +M Makefile +A po/fr.po +A po/shotwell.pot +M src/AppWindow.vala +M src/CollectionPage.vala +M src/CustomComponents.vala +M src/DatabaseTables.vala +M src/Dimensions.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/ExportDialog.vala +M src/ImportPage.vala +A src/International.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Properties.vala +M src/Resources.vala +M src/Sidebar.vala +M src/image_util.vala +M src/main.vala +M src/util.vala + +commit 143c3acbf1c0092c63637bc703941c0ebe9de6cb +Author: Jim Nelson +Date: Thu Sep 17 01:09:00 2009 +0000 + + #809: This is part one of the model/view refactoring. This adds + the new DataObject and DataCollection classes + which are the basis of all data objects in the system that need to + be organized. Event and EventSource were + refactored as part of this first pass. Note that the properties + sheet is broken when displaying events because + the refactoring is not complete. The next commit (or perhaps the + one after that) will fix this when Page and + its children are integrated with DataObject/DataCollection. + +M Makefile +A src/DataSource.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Queryable.vala + +commit 63689c41e1dcf4e9cc8087abf7fc50d79a23105f +Author: Jim Nelson +Date: Tue Sep 15 23:46:47 2009 +0000 + + Fixes an assertion bug in direct edit mode. Also, direct edit now + takes advantage of some scaling optimizations + recently made available. + +M src/Photo.vala +M src/PhotoPage.vala + +commit 5addd9d711f58ac5b612b74d759e217a3f103bbb +Author: Allison Barlow +Date: Thu Sep 10 23:17:18 2009 +0000 + + Implemented basic event rename, using a dialog. + +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Sidebar.vala +M ui/event.ui +M ui/events_directory.ui + +commit a6e0078ce5f359b7bfdc50bdb8a265ef00835045 +Author: Jim Nelson +Date: Thu Sep 10 23:01:42 2009 +0000 + + Regression: This speeds up the time it takes to display the Events + Directory. + +M src/EventsDirectoryPage.vala + +commit d5309be81003cbd3abffab9a081986c4e3c4cf1a +Author: Jim Nelson +Date: Thu Sep 10 22:29:38 2009 +0000 + + #257: Removed 64-pixel thumbnails. Do not think at this time we + need to have screen-sized thumbnails. #621 + and #677: Applying color transformations is much speedier. + Pipeline only runs once, to generate thumbnails, and + thumbnails are now generated in the idle queue. + +M Makefile +M src/CollectionPage.vala +M src/ColorTransformation.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala + +commit 08c2cad0ae6361660a409a35e1cbd9ddfef16685 +Author: Jim Nelson +Date: Tue Sep 8 01:14:53 2009 +0000 + + Added the Event class, which is akin to the Photo (now LibraryPhoto) + class. All event-related logic outside of + database queries belongs here. + +M Makefile +M src/BatchImport.vala +M src/DatabaseTables.vala +A src/Event.vala +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/Queryable.vala +M src/main.vala + +commit 45b64686df176df39b06b0c4b089582257a00871 +Author: Jim Nelson +Date: Mon Sep 7 20:47:27 2009 +0000 + + Fixes a couple of scaling bugs exposed with the recent changes to + load-and-decode. Also, tweaks and bug-fixes + in the thumbnail caching. + +M src/PhotoPage.vala +M src/ThumbnailCache.vala + +commit 9dd0e31d0ac1f7768050f9acc09d2375578cded0 +Author: Jim Nelson +Date: Mon Sep 7 19:24:49 2009 +0000 + + This is all work toward #677, attempting to avoid running the pipeline + when doing edit operations. Because the + pipeline must be run for generating thumbnails, that run is not + avoided with this check-in. (This may be + addressed with background threads.) This check-in avoids the pipeline + when possible with current architecture, + and attempts to reuse an old pixbuf if the user cancels the edit tool. + +M src/AppWindow.vala +M src/ColorTransformation.vala +M src/DatabaseTables.vala +M src/EditingTools.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 8f35cba88b6742ab3501049b65707ff08408f8b0 +Author: Jim Nelson +Date: Fri Sep 4 22:31:30 2009 +0000 + + Fixed scaled load-and-decode to properly scale images which are + re-oriented and/or have a crop. Assertions in + the code guarantee that the pixbuf should not be rescaled once it + leaves the pipeline. + +M src/Box.vala +M src/CollectionPage.vala +M src/CustomComponents.vala +M src/Dimensions.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Thumbnail.vala +M src/image_util.vala + +commit 4153a88271a997094747048e29ff119a4a97e748 +Author: Lucas Beeler +Date: Fri Sep 4 01:37:00 2009 +0000 + + Auto-enhance sets the Shadows slider in this revision, completing + implementation of enhancement #641. + +M src/ColorTransformation.vala +M src/PhotoPage.vala + +commit 2ee75b311e1de05609cda9fed725b3ad1491350a +Author: Jim Nelson +Date: Thu Sep 3 02:26:03 2009 +0000 + + Now using a scaled load-and-decode in the pipeline. Full-window + images are no longer requested at screen size + and then scaled to fit the window, but rather requested at window + (actually, viewport) size. Window resizing is + done with current pixbuf until the resize completes and the pipeline + is re-run. + +M src/Box.vala +M src/CollectionPage.vala +M src/Dimensions.vala +M src/ImportPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/image_util.vala +M src/util.vala + +commit 99e75b4d97072e977c421366e06f6ca9740e14cc +Author: Lucas Beeler +Date: Wed Sep 2 23:43:00 2009 +0000 + + Resolves bug #756. + +M src/ColorTransformation.vala + +commit 985233adaadfc1af2252b7c2c7dcaff80077a4c6 +Author: Lucas Beeler +Date: Wed Sep 2 21:05:33 2009 +0000 + + Adds a Shadows slider to the Adjustments palette, closing enhancement + request #640. + +M src/ColorTransformation.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 0fc67a6005893423ab8d89a55c4f46c83b8c738f +Author: Jim Nelson +Date: Wed Sep 2 00:24:09 2009 +0000 + + #701: Changed translucency from 75% to 90%. + +M src/AppWindow.vala +M src/EditingTools.vala +M src/Resources.vala + +commit bdba810689ee660732222b9909d2fe11f4050913 +Author: Jim Nelson +Date: Wed Sep 2 00:12:07 2009 +0000 + + Optimizations to speed up the photo viewer, including using bilinear + rather than hyper interpolation for images + going to the screen. + +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit dad701c8d37a91b6937c524ac9fc7fe7745ec800 +Author: Lucas Beeler +Date: Tue Sep 1 21:38:54 2009 +0000 + + Resolves #738. Fixes a bug whereby the position of the exposure slider + wasn't set properly when the Adjustments palette was opened. Increases + image update performance when sliders are re-positioned in the + Adjustments palette. + +M src/ColorTransformation.vala +M src/EditingTools.vala +M src/Photo.vala + +commit 541e72f3be211ac5b15e411751f1df067d417264 +Author: Jim Nelson +Date: Tue Sep 1 17:51:34 2009 +0000 + + Added remove_transformation to Photo for set_adjustment(). + +M src/Photo.vala + +commit f171db6a5c5043c54b238b8d3fa94fed5ca9851f +Author: Jim Nelson +Date: Tue Sep 1 01:53:29 2009 +0000 + + #737: Fixes enhancement being run twice when activated while another + tool is open. + +M src/PhotoPage.vala + +commit ca21278ba944d3e153041af2f09639636f4e57ba +Author: Lucas Beeler +Date: Tue Sep 1 01:26:04 2009 +0000 + + Fixed a minor bug introduced in the previous revision whereby the + histogram graphic in the adjustment palette failed to update in + response to movement of the exposure slider. + +M src/EditingTools.vala + +commit fdc538f0ac2f9a2d435bcf92d2a652187ff3a189 +Author: Lucas Beeler +Date: Tue Sep 1 00:20:16 2009 +0000 + + Color adjustment and enhancement are condensed into one operation + in this revision (#678). This change was effected through a major + refactoring of the color transformation subsystem. This refactoring + provides other performance gains throughout the color transformation + subsystem. + +M src/ColorTransformation.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 1d138acc1ae5f012096d062b0a9162a257720334 +Author: Jim Nelson +Date: Mon Aug 31 20:13:41 2009 +0000 + + Bug: Need a TransformablePhoto.has_transformation() to deal with a + null transformations map. + +M src/Photo.vala + +commit 21c159b8eddb25a70ae653fc25deb3d093ff33d9 +Author: Allison Barlow +Date: Mon Aug 31 16:31:08 2009 +0000 + + Added settings toolbar button in slideshow page. Settings dialog + allows user + to modify the delay (in seconds) between slideshow frames. + The slideshow + delay and display basic info menu option now persist between sessions. + +M Makefile +A misc/shotwell.schemas +M src/AppWindow.vala +M src/CollectionPage.vala +A src/Config.vala +M src/LibraryWindow.vala + +commit bebebeaa1000aad67c58a8f0c969978fd20c43db +Author: Jim Nelson +Date: Fri Aug 28 21:55:32 2009 +0000 + + Refactoring of the drag-select code into CollectionLayout. This is + to push drawing code out of + CheckerboardPage, which holds the selection list. This is part of + the refactoring for collections. + +M src/CollectionLayout.vala +M src/Page.vala + +commit c73e07c22a052f2a841dd107e1413210e29afb53 +Author: Jim Nelson +Date: Thu Aug 27 02:37:30 2009 +0000 + + Widgetless thumbnail implementation. This commit assists with #136. + Also added aggregate debug logging to + ThumbnailCache, as its log messages interfered with performance + testing. CameraTable initializes after a delay + to shave even more time off the app startup time. + +M src/CameraTable.vala +M src/CollectionLayout.vala +M src/CollectionPage.vala +M src/Page.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/util.vala + +commit 3fa29f91307f93160b388a2657c86f1c7560c054 +Author: Jim Nelson +Date: Tue Aug 25 02:04:18 2009 +0000 + + Nub icon not added to last commit. + +A icons/drag_nub.png + +commit 5a5653198cd57bc77eb0ceb2c9b9b9306e4511df +Author: Lucas Beeler +Date: Tue Aug 25 01:17:12 2009 +0000 + + Adjustment palette now includes histogram slider controls (#615) + that are automatically set by auto-enhance (#681). + +M Makefile +M src/ColorTransformation.vala +A src/CustomComponents.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit ec535051f39e67b84f0087be5385d21b72e83e27 +Author: Jim Nelson +Date: Mon Aug 24 23:44:29 2009 +0000 + + All PhotoTable rows are not stored in memory, to speed up startup. + Database verification is looser now, as all + photos are not verified at initialization. + +M src/DatabaseTables.vala +M src/Photo.vala +M src/main.vala + +commit baad86116bf1c862edbe17ffced54151b1a6416d +Author: Jim Nelson +Date: Mon Aug 24 22:52:33 2009 +0000 + + EventPages now loaded on-demand rather than created all at once. + A similar strategy can be used with albums. + +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Sidebar.vala + +commit a6e387284392016b220cb138bc12e1d51179c8bb +Author: Jim Nelson +Date: Fri Aug 21 00:12:03 2009 +0000 + + As part of #136: CollectionPage was iterating its parent's list to + ensure the same photo was not added twice to + its view. Smart! CollectionPage now maintains a HashMap of + LibraryPhoto -> Thumbnail. + +M src/CollectionPage.vala + +commit ed09d96e9c65b29176b3cd847f1be0708035363d +Author: Allison Barlow +Date: Thu Aug 20 18:12:27 2009 +0000 + + the basic properties display now updates with multiple selection. + +M src/LibraryWindow.vala +M src/Properties.vala + +commit 39eeb57cb8380fa0f1194f4acaf99f0f7888b555 +Author: Jim Nelson +Date: Wed Aug 19 23:56:52 2009 +0000 + + Detected a bug when testing iPhone 3.0 with Rob's: the unmount failed + and the unmount progress bar remained + visible and the camera remained marked as busy. This fixes that + problem. Have not been able to reproduce the + unmount problem. + +M src/ImportPage.vala + +commit cac5dec7d92a675dcc536900d969e084bbb46eb4 +Author: Jim Nelson +Date: Wed Aug 19 21:31:17 2009 +0000 + + #670: When Shotwell first starts, it runs a verify_database() + function. This now looks for events with no + end_time set (due to #665) and sets it to the exposure_time of the + newest photo in the event. + +M src/DatabaseTables.vala + +commit 331f59909db182781f5e22ddbb16a419a9759fa1 +Author: Jim Nelson +Date: Wed Aug 19 21:08:27 2009 +0000 + + Gah ... corner-case in last commit. This solves it. + +M src/Page.vala + +commit 847307db72ea632eabd8701b10298701621e20a3 +Author: Jim Nelson +Date: Wed Aug 19 21:03:09 2009 +0000 + + #669: F11 now works as it should in the Events Directory page. + Also cleaned up SinglePhotoPage to be more + efficient about only creating a new pixmap when it's absolutely + required. + +M src/EventsDirectoryPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 359bf86ed1fbd2b26e2871d695728c164ede1d19 +Author: Jim Nelson +Date: Wed Aug 19 03:39:37 2009 +0000 + + #533: Holding down the arrow key doesn't hang Shotwell any longer. + #63: Quick compare holding down the Shift + key of a modified photo (works both in library and direct-edit mode). + #537: Slideshow now begins with selected + photo. #665: Last event now marked with its end time. #668: + Toolbar now remains in-place in fullscreen mode + when using compiz. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/SortedList.vala + +commit 9877aab228d183ab094b1590869d7ddddbb41ee4 +Author: Jim Nelson +Date: Wed Aug 19 00:28:38 2009 +0000 + + Fixed graying out Revert menu item in context menu. + +M src/DirectWindow.vala +M src/PhotoPage.vala + +commit dadcf26243c54cc3582bb0f339104e54ffa8310c +Author: Jim Nelson +Date: Tue Aug 18 22:53:43 2009 +0000 + + Fixes various problems in direct-edit identified by Adam, including + Save/Save As behavior and dialog titles, + displaying a dirty asterisk and path in the title bar (a la gedit), + and handling cases where a file is + unreadable or undecodable. + +M src/CollectionPage.vala +M src/DirectWindow.vala +M src/ExportDialog.vala +M src/ImportPage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/util.vala + +commit 096727a84f382fc6282def4471093d27ca0f7b72 +Author: Allison Barlow +Date: Tue Aug 18 20:01:32 2009 +0000 + + added display basic photo info feature for single selection + +M Makefile +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/Exif.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +A src/Properties.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/photo.ui + +commit df5c5c2e24785985cdc209f08ea1bdbfddb8004d +Author: Jim Nelson +Date: Tue Aug 18 18:50:49 2009 +0000 + + Regression in the refactoring for direct-edit mode; thumbnails were + being re-oriented twice when the user + rotated an image. (Caught by Allison.) + +M src/Photo.vala + +commit 362962c7d6dc3a3c8f1d09270d0f09c0a4609910 +Author: Jim Nelson +Date: Mon Aug 17 23:25:09 2009 +0000 + + #652: Shotwell will now register itself as a JPEG viewer when + installed. Fixed About box. + +M Makefile +A misc/shotwell-viewer.desktop +M src/AppWindow.vala +M src/DirectWindow.vala +M src/LibraryWindow.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit cea90792cfe7dcf38356b6d3bf23fbd744c26df4 +Author: Jim Nelson +Date: Mon Aug 17 22:11:37 2009 +0000 + + Edit/Undo -> Photo/Revert to Original. A better solution in the + future is for EditingHostPage to have its own + PhotoMenu and PhotoContextMenu that is shared by the subclasses. + +M src/PhotoPage.vala +M ui/direct.ui + +commit 94c22e1ccea5e497f53dec0c3614976b1b1ec2ba +Author: Jim Nelson +Date: Mon Aug 17 21:19:29 2009 +0000 + + #647: Context menu added to direct editing page. Queries before + losing changes to photo. Fixed thumbing + through directory. + +M src/AppWindow.vala +M src/DirectWindow.vala +M src/ExportDialog.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/main.vala +M ui/direct.ui + +commit 68b1f5abf7d8a75daecc10d7ff97bb3597ee7077 +Author: Adam Dingle +Date: Mon Aug 17 19:25:06 2009 +0000 + + Added Lucas to AUTHORS file. + +M AUTHORS +M THANKS +M src/Resources.vala + +commit 0539fd5348308b391a9ba1febdec98d7e759b2bb +Author: Jim Nelson +Date: Mon Aug 17 18:44:50 2009 +0000 + + Added Save and Save As ... to direct editing window. Moved more + functionality from LibraryPhoto into + TransformablePhoto. Thumbing through directory now operational. + +M Makefile +M src/AppWindow.vala +M src/CollectionPage.vala +M src/DirectWindow.vala +M src/ExportDialog.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/SortedList.vala +M src/main.vala +M ui/direct.ui + +commit 3fcba76bd5ccb90bb5e3388a062c9f55d3cfe5a6 +Author: Lucas Beeler +Date: Sat Aug 15 01:02:50 2009 +0000 + + implements one-touch, toggle-able auto-enhance functionality; + resolves ticket #62 + +A icons/enhance.png +M src/ColorTransformation.vala +M src/DatabaseTables.vala +M src/EditingTools.vala +M src/FixedKeyFile.vapi +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/util.vala + +commit 86d0bb11dac112cbcb5b5ee142d435b1f518f299 +Author: Jim Nelson +Date: Fri Aug 14 22:09:01 2009 +0000 + + Fixed mechanics of replacing photo object displayed in full-screen + view. + +M src/PhotoPage.vala + +commit 428e3579656ff23aedb7a68a9c02afa37b437cf2 +Author: Jim Nelson +Date: Fri Aug 14 18:39:40 2009 +0000 + + First stab at direct photo editing (#187); can open a single file + and edit it with our tool set. Fullscreen + mode supported. No save feature or directory traversal yet. + +M Makefile +M src/DatabaseTables.vala +A src/DirectWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/main.vala +A ui/direct.ui + +commit 43919b9d3f75324b6bfff3e816c60ba5f2ab20dc +Author: Jim Nelson +Date: Fri Aug 14 00:00:41 2009 +0000 + + #397: Fixed crop tool buttons for GNOME HIG. + +M src/EditingTools.vala + +commit 4ee5d0ca172622775fcb693493f53fc442115a40 +Author: Jim Nelson +Date: Thu Aug 13 23:38:54 2009 +0000 + + Broke PhotoPage into EditingHostPage and LibraryPhotoPage, in + preparation for direct editing. Also introduced + PhotoCollection, a grouping interface for EditingHostPage to + generically move through a group of photos. + +M src/CollectionPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit 2be1e084d7abbdf16cb9923d1e7d9d09d7882082 +Author: Jim Nelson +Date: Thu Aug 13 17:45:05 2009 +0000 + + Moved PhotoTransformer into TransformablePhoto, which is now properly + in the inheritance tree. Also prepped + PhotoPage for using TransformablePhoto rather than Photo (which is + now LibraryPhoto), so it can be reused for + direct edit mode. + +M Makefile +M src/BatchImport.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/LibraryWindow.vala +M src/Photo.vala +M src/PhotoPage.vala +D src/PhotoTransformer.vala +M src/Queryable.vala +M src/Thumbnail.vala +M src/main.vala + +commit deee14d6533c138d901f7a8e18e7b8ae4d74e38c +Author: Jim Nelson +Date: Thu Aug 13 00:38:36 2009 +0000 + + Exeption enum was accepted as int for get_pixbuf() parameter + ... caused adjust tool to display psychadelic + image. + +M src/EditingTools.vala + +commit 3f12a8ccc2ee6d61659288875e973a1fdb1b5e2f +Author: Jim Nelson +Date: Wed Aug 12 19:25:21 2009 +0000 + + Callers to PhotoTransformer.get_pixbuf now must specify a scale, + to discourage pipeline transformations of + unscaled pixbufs. Support added for retrieving pixbufs at screen + size, which is adequate for most display + operations. Beefed-up the get_preview_pixbuf() method, which + encourages using lower-quality but + fully-transformed pixbufs when possible. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/EditingTools.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/PhotoTransformer.vala +M src/image_util.vala + +commit 1bccf59fe17d86a4e69e3bd11291df73cb87b65b +Author: Allison Barlow +Date: Wed Aug 12 16:00:27 2009 +0000 + + restructured queryable interfaces to return static types + +M src/CollectionLayout.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Photo.vala +M src/Queryable.vala +M src/Thumbnail.vala + +commit 52bc267176aec3174c2a076df3e4b9ac84a0728f +Author: Jim Nelson +Date: Tue Aug 11 22:33:58 2009 +0000 + + Part two of staged commit to refactor for #189: new PhotoTransformer + class deals with transformations without + knowledge of how they're backed. + +M Makefile +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala +A src/PhotoTransformer.vala + +commit d551ac021ce2a78672164dee3b82c4e0ae3e8a83 +Author: Jim Nelson +Date: Tue Aug 11 21:59:32 2009 +0000 + + Refactoring in preparation of direct-edit window (#187): AppWindow + now broken into AppWindow & LibraryWindow. + +M Makefile +M NEWS +M src/AppWindow.vala +M src/BatchImport.vala +A src/CameraTable.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +A src/LibraryWindow.vala +M src/Page.vala +M src/PhotoPage.vala +M src/main.vala + +commit 4e3e9df4a4825ac46a7ff918e3aa6af373f78ef6 +Author: Adam Dingle +Date: Mon Aug 10 22:22:53 2009 +0000 + + Added Allison to THANKS file. + +M THANKS + +commit cdea6b984095370d84a4fdc10a113c75e1c45996 +Author: Allison Barlow +Date: Fri Aug 7 23:15:54 2009 +0000 + + Adds the Queryable class and classes for boxing stucts, changes + Photo's + query_filesize to get_filesize, and moves set/get_dimensions to + Exif from + PhotoExif. + +M Makefile +M src/CollectionLayout.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/EventsDirectoryPage.vala +M src/Exif.vala +M src/ImportPage.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +A src/Queryable.vala +M src/Thumbnail.vala + +commit 210c130d9dda19fca147994714283796d3020bfa +Author: Jim Nelson +Date: Fri Aug 7 17:33:10 2009 +0000 + + In preparation for 0.2.0. + +M Makefile +M NEWS +M debian/changelog +M src/SortedList.vala + +commit 405c50d1aa3f835bab9e0ad17c4972c6807a9971 +Author: Jim Nelson +Date: Wed Aug 5 00:14:57 2009 +0000 + + #600: Now using user-defined pictures directory for default library + storage. + +M src/AppWindow.vala + +commit c322171ba18fe1aa0315762e58f316842d2293f7 +Author: Lucas Beeler +Date: Wed Aug 5 00:09:58 2009 +0000 + + Closes ticket #77. A dynamically-updating image histogram is now + displayed in the Adjustment palette. + +M src/ColorTransformation.vala +M src/EditingTools.vala + +commit abe13c5bfc22ad8263d56e59ce85bb83ac190bf0 +Author: Jim Nelson +Date: Tue Aug 4 19:48:03 2009 +0000 + + #372: Import DND modifier keys. Note that Move is not implemented, + for reasons I detail in #603. + +M Makefile +M src/AppWindow.vala +M src/Page.vala +M src/Photo.vala + +commit 03982eb87a4ed2a49085102fdc2c2b6f939afe64 +Author: Jim Nelson +Date: Tue Aug 4 18:41:08 2009 +0000 + + Added instrumentation to Photo pixbuf pipeline to measure absolute + time of each stage. Also added feature to + allow caller to declare a scale for the pixbuf; Photo can perform + the scale at an opportune time and reduce + overhead in certain operations. Also fixed bug where the Thumbnail + objects in the entire system were being + resized when the slider moved; now, only those that are in view are + resized, and the others resize when they + come into view. + +M Makefile +M configure +M src/CollectionPage.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit d47f3eb68344cd12ad1b5d13705b52a698308ed4 +Author: Jim Nelson +Date: Tue Aug 4 03:16:20 2009 +0000 + + #380: X server corruption when selecting with compositing WM fixed. + Different technique used, which should actually be faster and results + in nicer presentation. + +M src/Page.vala +M src/image_util.vala + +commit 397ba9f671fa476d23bf1e1a3c71530199142565 +Author: Jim Nelson +Date: Mon Aug 3 19:41:54 2009 +0000 + + Support for Vala 0.7.5. + +M NEWS +M debian/changelog +M src/AppWindow.vala +M src/ColorTransformation.vala +M src/Exif.vala +M src/libexif.vapi + +commit 5eaceca27ab09adbfd06b7860cf80393e2aec980 +Author: Jim Nelson +Date: Mon Aug 3 18:30:48 2009 +0000 + + Doc changes in preparation for 0.1.2. + +M NEWS +M README +M THANKS +M debian/changelog + +commit b3086e52a630fec4a8114d732051de36198d9539 +Author: Jim Nelson +Date: Mon Aug 3 18:16:04 2009 +0000 + + Previous version segfaults on 64-bit builds. Issue is a bad binding + for KeyFile; see + http://bugzilla.gnome.org/show_bug.cgi?id=588104 KeyFile is only + used in the database in PhotoTable. It + appears the adjustment code (when compiled for release) exposed the + binding problem. Now using a custom vapi + until the binding is fixed. + +M Makefile +M src/DatabaseTables.vala +R100 src/fstream.vapi src/FStream.vapi +A src/FixedKeyFile.vapi + +commit be0405268317daffd6d67b60045416e6e1b498ea +Author: Jim Nelson +Date: Fri Jul 31 20:41:55 2009 +0000 + + Not quite ... had to update toolbar controls as well. + +M src/CollectionPage.vala + +commit 711272180aee446b5c7cd8bdc8d541041d1546c9 +Author: Jim Nelson +Date: Fri Jul 31 20:33:06 2009 +0000 + + #504: Arrow keys move quicker through slideshow by using a 360 + thumbnail for initial display. #581: FP compiler + optimizations now included in release build. + +M Makefile +M src/CollectionPage.vala + +commit 66c3e2c2a6f7faa43daf8c707d6a45618b231fc0 +Author: Jim Nelson +Date: Fri Jul 31 01:42:21 2009 +0000 + + #506: Sped up opening photos by using large thumbnail is initial + image. #580: "Copy files to library" option + now available in File / Import. + +M Makefile +M src/AppWindow.vala +M src/BatchImport.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/EventsDirectoryPage.vala +M src/Exif.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/image_util.vala +M src/libgphoto2.vapi + +commit 1daaf56140e8515567a1c4256c197b3f87b1f65e +Author: Lucas Beeler +Date: Thu Jul 30 22:20:55 2009 +0000 + + resolved bug #591 : assertion fails when null color adjustment + (i.e. all sliders set to zero) is applied + +M src/EditingTools.vala + +commit d13e7a3bccfa759909f77bf65da2900580774181 +Author: Lucas Beeler +Date: Thu Jul 30 01:53:41 2009 +0000 + + #78: added adjust control manipulating exposure, saturation, + temperature and tint + +M Makefile +A icons/adjust.png +A src/ColorTransformation.vala +M src/DatabaseTables.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit 176c2ef7a8a84f12c82aff316ccd3b8e15f641fd +Author: Jim Nelson +Date: Wed Jul 29 03:31:09 2009 +0000 + + #439: Resorting photos with large collection does not take so + much time. This one has been bugging me for a + long time. I replaced SortedList's inane insertion sort with a + less-inane binary insertion sort. Photo now + caches exposure_time to speed up comparisons, as going out to the + database every time was too expensive. Both + changes result in a marked improvement for the user. Also made Sort + By Exposure Time / Descending the default, + as that's more interesting for the user. Also spotted a subtle bug + in fullscreen window; fixed. + +M src/BatchImport.vala +M src/CollectionLayout.vala +M src/CollectionPage.vala +M src/ImportPage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/SortedList.vala + +commit 4e5ac0b8bc8eb3d49d39995a9ee9c3fe3c6b0a18 +Author: Jim Nelson +Date: Wed Jul 29 02:39:04 2009 +0000 + + #464: Makefile no longer broken for incremental builds (hard-tab + empty command fix). #451: --debug | --release + in ./configure. #452: Release build is default (-g -O2). + +M Makefile +M configure + +commit 91fdd120ba46a0a6301c277743fb2f16c1723044 +Author: Jim Nelson +Date: Tue Jul 28 03:39:59 2009 +0000 + + #441: Ubuntu packaging. #460: Cross-compilation under Launchpad. + #461: Man page. #462: Debian menu file. + #530: Tarball provides top-level directory. #538: configure.in -> + configure.mk #544: Proper "make distclean". + #554: Makefile builds .tar.gz. #572: Only require libgee 0.1.3. + +M Makefile +M NEWS +M configure +A debian/changelog +A debian/compat +A debian/control +A debian/copyright +A debian/dirs +A debian/docs +A debian/manpages +A debian/menu +A debian/rules +A debian/shotwell.1 +A debian/watch +M src/PhotoPage.vala +M src/SortedList.vala + +commit 5e0a4307b8c817209c1ebe44ff1ebe89f0b69f75 +Author: Lucas Beeler +Date: Wed Jul 22 19:08:40 2009 +0000 + + Resolved bugs #547 ("Crop reticle leaves artifacts in gutter") + and #548 ("Crop reticle can't be gripped if dropped in gutter") + +M src/EditingTools.vala + +commit ddfad85664ba8ee3998fc34123049d27f4669ad6 +Author: Allison Barlow +Date: Wed Jul 22 18:24:43 2009 +0000 + + fixed bugs #551 and #552: import/export menus now have ellipses and + dialog titles now match command names + +M src/CollectionPage.vala + +commit 7d8a8f337520d4b189d79619d3dfc554254180ca +Author: Allison Barlow +Date: Wed Jul 22 17:30:49 2009 +0000 + + fixed bugs #551 and #552: import/export menus now have ellipses and + dialog titles now match command names + +M src/AppWindow.vala +M src/ExportDialog.vala +M src/PhotoPage.vala +M ui/events_directory.ui + +commit f449e3758c7bd75863161bab6f48449c1810e02d +Author: Allison Barlow +Date: Wed Jul 22 15:57:15 2009 +0000 + + added enhancement #527: import from file menu option + +M src/AppWindow.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/photo.ui + +commit fd3c1db80ef95e7774d446013847e03c6677251d +Author: Lucas Beeler +Date: Wed Jul 22 01:12:56 2009 +0000 + + Implemented red-eye removal feature. + +A icons/redeye.png +M src/DatabaseTables.vala +M src/EditingTools.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/util.vala + +commit 1c495ed4ca076ab6d9064a3ecfb0b2a808147625 +Author: Jim Nelson +Date: Tue Jul 21 18:26:50 2009 +0000 + + Need to check for null with exif. + +M src/BatchImport.vala + +commit 2c661155df7c266d57ea2acf260796148846b55a +Author: Allison Barlow +Date: Mon Jul 20 18:35:40 2009 +0000 + + fixed bug #588: delete photos confirmation now uses Cancel and Delete, + buttons. changed dialog icon to Warning and edited dialog message + +M src/CollectionPage.vala + +commit 0b19fdca9fa8d4942af9146594afa1548b81fd57 +Author: Allison Barlow +Date: Fri Jul 17 21:34:52 2009 +0000 + + fix bug that last checkin caused--added 1900 to date + +M src/DatabaseTables.vala + +commit dfc5336f3e7f84e0584d30975638006503c3ac70 +Author: Allison Barlow +Date: Fri Jul 17 21:17:02 2009 +0000 + + fixed bug #502: extra space in event dates + +M src/DatabaseTables.vala + +commit ed4bedb1e93daaa5edcd1ef7399de6c9fd942fc2 +Author: Jim Nelson +Date: Fri Jul 10 14:44:10 2009 +0000 + + Imported photos are sorted by exposure time as they're imported. + +M src/BatchImport.vala +M src/Exif.vala +M src/ImportPage.vala + +commit 0bb904bff14d055956dbc7a6d9bd873b575bd063 +Author: Jim Nelson +Date: Fri Jul 10 13:59:56 2009 +0000 + + Crop code refactored into its own class of abstract type. This allows + PhotoPage to host more tools in the future via an abstract interface. + #456: THANKS file added. + +M Makefile +A THANKS +A src/EditingTools.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala + +commit a56ec5c718803fff72a1b04b757c8974e8742fd2 +Author: Jim Nelson +Date: Wed Jul 8 13:28:29 2009 +0000 + + #426: Parallel builds now supported. + +M Makefile +M configure + +commit 7aa77f0c73c50b4b09f8615be3dafa2ee9fd8f12 +Author: Jim Nelson +Date: Tue Jul 7 20:08:29 2009 +0000 + + Fixes importing from mass storage devices, especially card readers. + +M src/AppWindow.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/Sidebar.vala +M src/main.vala + +commit 6599730704cef512fa9426e5bc86e4639bcdcfa8 +Author: Jim Nelson +Date: Mon Jul 6 11:39:51 2009 +0000 + + Brighten thumbnails on mouse-over. + +M src/CollectionLayout.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Page.vala +M src/Thumbnail.vala + +commit 92c889bb73024d75203d9a8a6abc7fcadca21ab1 +Author: Jim Nelson +Date: Sat Jul 4 22:41:39 2009 +0000 + + #437: Select All in camera import view. + +M src/ImportPage.vala +M ui/import.ui + +commit 3b9be649f8646c61abcef82756809c806903171c +Author: Jim Nelson +Date: Sat Jul 4 22:26:54 2009 +0000 + + #435: Sidebar refactored into own class. This will pay dividends + later when more features come on line that incorporate more pages + and more sidebar requirements. + +M Makefile +M src/AppWindow.vala +M src/Page.vala +A src/Sidebar.vala + +commit 35648b6a3192948ed9dcce4c7efa37ca306bb61a +Author: Jim Nelson +Date: Thu Jul 2 00:35:56 2009 +0000 + + #433: Slideshow now paints high-quality without stepping up the + improvement. + +M src/CollectionPage.vala +M src/Page.vala +M src/PhotoPage.vala + +commit c05b387557e5a395cac646bd0679b9754eb14079 +Author: Jim Nelson +Date: Thu Jul 2 00:23:43 2009 +0000 + + #205: Sort events by date, reflected in sidebar and in the events + directory page. + +M Makefile +M src/AppWindow.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Page.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/photo.ui + +commit 429194522ac1896e24e1e43a9e7d9e6deb918e55 +Author: Jim Nelson +Date: Wed Jul 1 00:15:32 2009 +0000 + + Upping version number to 0.1.2, for next release. + +M Makefile + +commit 156db6b8a3e467fc0134429ef4168c5a30558020 +Author: Jim Nelson +Date: Wed Jul 1 00:07:35 2009 +0000 + + #305: Base slideshow functionality. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/PhotoPage.vala +M ui/collection.ui + +commit f0174d4d69fe96a8563f417e5778bc2d7b914bf0 +Author: Jim Nelson +Date: Tue Jun 30 18:06:18 2009 +0000 + + Made changes for Shotwell to depend on gee-1.0 alone and not vala-1.0 + (save to compile). + +M Makefile +M NEWS +M src/SortedList.vala + +commit 9849bb9f6fdfbedd27761c3d721bcb5c5a7b1b0c +Author: Jim Nelson +Date: Tue Jun 30 01:54:35 2009 +0000 + + Fixes compile errors with valac 0.7.4. Explicitly checks for vala + 0.7.3 or above in Makefile for building, + separating the check from packages Shotwell depends on at runtime. + +M Makefile +M src/DatabaseTables.vala +M src/ImportPage.vala + +commit 63175f93e5311741d7edab2a942a7e3317d5f4de +Author: Jim Nelson +Date: Mon Jun 29 21:34:41 2009 +0000 + + An attempt to fix #380, although still reported in the wild. This, + however, fixes a serious problem in how the + selection rubberband is painted. + +M Makefile +M NEWS +M src/Page.vala + +commit 2890e13674675a9d40a262ec867fb51668a674db +Author: Adam Dingle +Date: Sat Jun 27 03:50:47 2009 +0000 + + Fixed version number in COPYING file. + +M COPYING + +commit 9749b5e3b03e02befa5554e27d60c81512fa1c45 +Author: Adam Dingle +Date: Fri Jun 26 18:13:15 2009 +0000 + + Various pre-release fixes. + +M AUTHORS +M COPYING +M Makefile +M NEWS +M README +M configure +M misc/shotwell.desktop +M src/AppWindow.vala +M src/Resources.vala + +commit 11197c81f51dbf929f3380f191332a28ae544947 +Author: Jim Nelson +Date: Fri Jun 26 02:13:09 2009 +0000 + + Fixed bug where was not switching to Camera view when desktop + indicated a new attached device. Fixed stepper + buttons on scrollbar to now work. + +M README +M misc/shotwell.desktop +M src/AppWindow.vala +M src/CollectionLayout.vala +M src/ImportPage.vala +M src/Page.vala + +commit 0977b61d6bfb373a99c943811e055d15ec775fb4 +Author: Jim Nelson +Date: Wed Jun 24 23:51:25 2009 +0000 + + Updated URLs + +M README +M src/Resources.vala + +commit edd31c2536d9024970354ac64a6dfbea7d43a4ed +Author: Jim Nelson +Date: Wed Jun 24 23:16:26 2009 +0000 + + #386: Renamed Subversion directory to "shotwell" + +commit 971d4d1eb01b4fc3f05ceb6023cd320cdafa62ab +Author: Jim Nelson +Date: Wed Jun 24 22:29:43 2009 +0000 + + #416: make dist now available. + +M Makefile +M src/AppWindow.vala +M src/DatabaseTables.vala +M src/Resources.vala +M src/main.vala + +commit b3566631762922615a73bfdf56a20f2e9fa23007 +Author: Jim Nelson +Date: Wed Jun 24 20:04:17 2009 +0000 + + #337: Added README, INSTALL, etc. files. #378: More thorough + About box. #389: Icon licensing information added to AUTHORS. + #413: Copyright/licensing added to all source files. + +A AUTHORS +A COPYING +A INSTALL +A MAINTAINERS +A NEWS +A README +M src/AppWindow.vala +M src/BatchImport.vala +M src/Box.vala +M src/CollectionLayout.vala +M src/CollectionPage.vala +M src/DatabaseTables.vala +M src/Debug.vala +M src/Dimensions.vala +M src/EventsDirectoryPage.vala +M src/Exif.vala +M src/ExportDialog.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/Orientation.vala +M src/Page.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/SortedList.vala +M src/Thumbnail.vala +M src/ThumbnailCache.vala +M src/fstream.vapi +M src/gphoto.h +M src/image_util.vala +M src/libexif.vapi +M src/libgphoto2.vapi +M src/main.vala +M src/util.vala + +commit 28070155e8a71c5be256a0fc195a09396d65af3a +Author: Jim Nelson +Date: Wed Jun 24 02:30:51 2009 +0000 + + #392: Arrow keys now available in all checkerboard views (Events + and Camera included). #342: Shift+Click now selects all in smallest + rectangle. + +M src/Box.vala +M src/CollectionPage.vala +M src/Page.vala + +commit 535511876e7095ac1b531261517d9039676bdec2 +Author: Jim Nelson +Date: Wed Jun 24 01:35:12 2009 +0000 + + #289: Check dependency versions, using Intrepid as base build system. + Vala 0.7.3 required, however. + +M Makefile +M configure + +commit 75055b10774ae5185174881e96908b823107e9ca +Author: Jim Nelson +Date: Tue Jun 23 19:32:05 2009 +0000 + + Improved installation: Application icon now installed. + +M Makefile +R100 icons/shotwell-icon.svg icons/shotwell.svg +M misc/shotwell.desktop +M src/Resources.vala + +commit 0d0e195d026150a763bc5644bac5f4e805494098 +Author: Jim Nelson +Date: Tue Jun 23 17:36:20 2009 +0000 + + Removed Gtk call that was 2.16 or above. Changed .desktop file to not + launch terminal window. + +M misc/shotwell.desktop +M src/PhotoPage.vala + +commit 57e5dd77fa861a016ecc9b5225c6809821fbaa5c +Author: Jim Nelson +Date: Tue Jun 23 01:07:31 2009 +0000 + + #396: Right-click on crop tool window no longer crashes. #339: Data + directory now ~/.shotwell. #394: Arrow keys to move next/previous + photo in full-window and fullscreen mode. + +M src/AppWindow.vala +M src/CollectionLayout.vala +M src/CollectionPage.vala +M src/Page.vala +M src/PhotoPage.vala + +commit 3df9d1b82e7f7fc446e8cb43444dd04bc051ee49 +Author: Jim Nelson +Date: Mon Jun 22 18:32:27 2009 +0000 + + #308: Icons for all current buttons. #388: Help/Contents URL. + +A icons/crop.svg +A icons/import-all.png +A icons/import.svg +A icons/make-primary.svg +A icons/object-flip-horizontal.svg +M icons/object-rotate-left.svg +M icons/object-rotate-right.svg +A icons/pin-toolbar.svg +A icons/return-to-page.svg +A icons/shotwell-icon.svg +A icons/shotwell-street.jpg +M src/AppWindow.vala +M src/CollectionLayout.vala +M src/CollectionPage.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Page.vala +M src/PhotoPage.vala +M src/Resources.vala +M src/ThumbnailCache.vala + +commit 94ecc1ce9814a8fa7cbf8c13888081f4d599f62e +Author: Jim Nelson +Date: Fri Jun 19 19:19:38 2009 +0000 + + #348: Now darkening area outside of crop rectangle. Lightening it + didn't look right; this can be easily changed, however. + +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/EventsDirectoryPage.vala +M src/ImportPage.vala +M src/Photo.vala +M src/PhotoPage.vala +M src/image_util.vala + +commit 9e25c8613bde4de3f1516248e604906a5b713071 +Author: Jim Nelson +Date: Wed Jun 17 22:30:09 2009 +0000 + + #370: Photo file deleted when removed from library. User confirms + with dialog. + +M src/BatchImport.vala +M src/CollectionPage.vala +M src/Photo.vala +M src/util.vala + +commit 37e3b9131adf9e68594853070704b34f69f8f720 +Author: Jim Nelson +Date: Wed Jun 17 21:16:19 2009 +0000 + + #369: All imported files are now copied into the user's photo library. + +M src/AppWindow.vala +M src/BatchImport.vala +M src/ImportPage.vala +M src/util.vala + +commit 183e151330ba516e0d416162f21d019cad2c1ddc +Author: Jim Nelson +Date: Wed Jun 17 18:23:42 2009 +0000 + + Fixed up the About dialog a little bit. Still more work to be done + on it. + +M src/AppWindow.vala + +commit 5cc61071cc8efd2c195ce28043021719c6455d3f +Author: Jim Nelson +Date: Wed Jun 17 18:11:40 2009 +0000 + + #367: Help/Contents implemented. + +M Makefile +M src/AppWindow.vala +M ui/collection.ui +M ui/events_directory.ui +M ui/import.ui +M ui/import_queue.ui +M ui/photo.ui + +commit a2a159e7a19797d8cc69e9185480ea7131374e04 +Author: Jim Nelson +Date: Wed Jun 17 17:19:42 2009 +0000 + + #377: Forgot to add .ui file. + +A ui/import_queue.ui + +commit e5953f99692586375bf2ca44183e5db13d9c6186 +Author: Jim Nelson +Date: Wed Jun 17 02:48:10 2009 +0000 + + #314: Show photos in full-window view as they're imported. #315: + Stop Import button. #312: Drag-and-drop file import looks and acts + the same as camera import. + +M src/AppWindow.vala +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/ImportPage.vala +M src/Photo.vala +M src/util.vala + +commit 34abe99eaf717b0ecbf509e42a44ba967e5c562e +Author: Jim Nelson +Date: Tue Jun 16 21:49:49 2009 +0000 + + Refactoring to prep for import queue page. + +M src/Page.vala +M src/PhotoPage.vala + +commit 3e788b7e4a8e8a94f906185dba7da2cb517d42a9 +Author: Jim Nelson +Date: Tue Jun 16 00:00:26 2009 +0000 + + #313: Smooth import progress bar. + +M src/BatchImport.vala +M src/GPhoto.vala +M src/ImportPage.vala +M src/Photo.vala + +commit 4244556354a28b7da5d4a086dc60fa89231e57ee +Author: Jim Nelson +Date: Mon Jun 15 20:49:27 2009 +0000 + + Fixed an edge case where the user exits the app during an import + and import is not cancelled. + +M src/AppWindow.vala +M src/BatchImport.vala +M src/ImportPage.vala +M src/Page.vala + +commit 47ea59ffeb183bf7652cad76cb06fedad6263de1 +Author: Jim Nelson +Date: Mon Jun 15 19:08:56 2009 +0000 + + #183: Major improvements to importing infrastructure to accumulate + errors, report them all at once to the user, and to import from camera + on-the-fly rather than copying all photos to local FS then importing. + +M Makefile +M src/AppWindow.vala +M src/BatchImport.vala +M src/DatabaseTables.vala +M src/ExportDialog.vala +M src/ImportPage.vala +D src/Makefile +M src/Photo.vala +M src/main.vala + +commit f130ccd74b7ce2f186bfa9840df0b4b6e23eb217 +Author: Jim Nelson +Date: Fri Jun 12 20:57:17 2009 +0000 + + #352: Crop tool window no longer steals focus. + +M src/PhotoPage.vala + +commit 0d438e1aacdddc592719711422275b1f7f8796e3 +Author: Jim Nelson +Date: Fri Jun 12 18:22:01 2009 +0000 + + #96: App exit now quick no matter if closed with close button or + File/Quit. + +M src/AppWindow.vala + +commit aef2df3dbcace7843bc4c2c2558dcf766184f9b9 +Author: Jim Nelson +Date: Fri Jun 12 18:05:37 2009 +0000 + + #338: "Cameras" row in sidebar only visible when cameras actually + present. + +M src/AppWindow.vala + +commit 9a6914051515939db37ca12bbf4db000766309ed +Author: Jim Nelson +Date: Fri Jun 12 02:24:33 2009 +0000 + + #344: Use arrow keys to move between photos, as well as Home/End. + Enter will load single-selected photo in full-window view. + +M src/CollectionLayout.vala +M src/CollectionPage.vala +M src/Page.vala +M src/util.vala + +commit 335ceb6e389b8e45bcff03871d8d9e4538a8ba04 +Author: Jim Nelson +Date: Thu Jun 11 23:48:30 2009 +0000 + + #353: Escape to exit fullscreen mode. + +M src/AppWindow.vala + +commit f91926c2190e1d55ad189966c24d2b0508f281e7 +Author: Jim Nelson +Date: Thu Jun 11 23:43:50 2009 +0000 + + #341: Zoom level shared between events and Photos view. + +M src/CollectionPage.vala +M src/Page.vala + +commit cddd2d7a74baba2d2478562def62541211c2517c +Author: Jim Nelson +Date: Thu Jun 11 22:40:24 2009 +0000 + + Error with package checking. + +M Makefile + +commit ad8d4abb6b77547ecbc1561cd39af3e192d6a9b6 +Author: Jim Nelson +Date: Thu Jun 11 19:28:35 2009 +0000 + + Decided to keep selection banding code inside CheckerboardPage, + so CollectionLayout can focus on layout. + +M src/CollectionLayout.vala +M src/Page.vala + +commit 5f0700ecf5cc37c2e7957605a29247c8b5baa9ce +Author: Jim Nelson +Date: Thu Jun 11 03:01:43 2009 +0000 + + #193: Drag selection now available. + +M src/Box.vala +M src/CollectionLayout.vala +M src/Page.vala +M src/PhotoPage.vala +M src/util.vala + +commit d1da9440ceac3713db513892e1be9d4781cf8d3a +Author: Jim Nelson +Date: Wed Jun 10 01:45:41 2009 +0000 + + #346: Context menu now available for multiple selected items. + +M src/CollectionPage.vala +M src/Page.vala +M src/Resources.vala + +commit 6a8395fa63e7d1bc1f40521d1a60be7365e7d92c +Author: Jim Nelson +Date: Wed Jun 10 01:14:34 2009 +0000 + + #347: All toolbar buttons now have tooltips. + +M src/AppWindow.vala +M src/CollectionPage.vala +M src/ImportPage.vala +M src/PhotoPage.vala +M src/Resources.vala + +commit 0451a8bb82e0279c51728a7aff04e848b4d2c994 +Author: Jim Nelson +Date: Tue Jun 9 23:50:53 2009 +0000 + + #345: Home/End/PgUp/PgDn now available to move the viewport around. + Sidebar does not maintain focus to make this happen. This may be + revisited later, esp. for accessibility review. + +M src/AppWindow.vala +A src/Makefile +M src/Page.vala + +commit 3c5c1704254eb6863bcec6eea8ec35d717bf7bcf +Author: Jim Nelson +Date: Tue Jun 9 21:28:04 2009 +0000 + + Further file organization in preparation for the first tarball. + +M Makefile +R100 shotwell.desktop misc/shotwell.desktop +R100 AppWindow.vala src/AppWindow.vala +R100 BatchImport.vala src/BatchImport.vala +R100 Box.vala src/Box.vala +R100 CollectionLayout.vala src/CollectionLayout.vala +R100 CollectionPage.vala src/CollectionPage.vala +R100 DatabaseTables.vala src/DatabaseTables.vala +R100 Debug.vala src/Debug.vala +R100 Dimensions.vala src/Dimensions.vala +R100 EventsDirectoryPage.vala src/EventsDirectoryPage.vala +R100 Exif.vala src/Exif.vala +R100 ExportDialog.vala src/ExportDialog.vala +R100 GPhoto.vala src/GPhoto.vala +R100 ImportPage.vala src/ImportPage.vala +R100 Orientation.vala src/Orientation.vala +R100 Page.vala src/Page.vala +R100 Photo.vala src/Photo.vala +R100 PhotoPage.vala src/PhotoPage.vala +R100 Resources.vala src/Resources.vala +R100 SortedList.vala src/SortedList.vala +R100 Thumbnail.vala src/Thumbnail.vala +R100 ThumbnailCache.vala src/ThumbnailCache.vala +R100 fstream.vapi src/fstream.vapi +R100 gphoto.h src/gphoto.h +R100 image_util.vala src/image_util.vala +R100 libexif.vapi src/libexif.vapi +R100 libgphoto2.vapi src/libgphoto2.vapi +R100 main.vala src/main.vala +R100 util.vala src/util.vala + +commit 8b483f917b0464e6d1fee5fe393fadcd5b015c59 +Author: Jim Nelson +Date: Tue Jun 9 21:13:21 2009 +0000 + + #340: Logging suppressed by default. Set environment variable + SHOTWELL_LOG to see all, SHOTWELL_DEBUG, SHOTWELL_MESSAGE, etc. to + see by level. + +A Debug.vala +M Makefile +M main.vala + +commit e0eaa97a70fd71152ecde1ad2d37a831da4705ca +Author: Jim Nelson +Date: Tue Jun 9 18:24:17 2009 +0000 + + #350: Ok button is now default in Export Photo dialog. + +M ExportDialog.vala + +commit 2d65406116a1fc282bca819c9921aa3022a7fbea +Author: Jim Nelson +Date: Tue Jun 9 01:13:11 2009 +0000 + + #342: Fixes assertion crash where item was not selected on mouse-up + due to unimplemented modifier key. + +M Page.vala + +commit e70c9f23fd68361936d71b2fd4f79e23a1a21807 +Author: Jim Nelson +Date: Sat Jun 6 01:20:28 2009 +0000 + + Minor fix to crop tool and DnD. Fixed regression with crop tool + window placement. + +M PhotoPage.vala + +commit 1f49f1606a2f10fcdf75a1f02a6f0415fd89444c +Author: Jim Nelson +Date: Fri Jun 5 23:29:59 2009 +0000 + + #296: Now with configure script to set installation prefix. Also, + moved all .ui files into separate directory. Shotwell determines + whether to use local or installed resources files at runtime. + +M AppWindow.vala +M CollectionPage.vala +M Makefile +M Page.vala +M PhotoPage.vala +A Resources.vala +M ThumbnailCache.vala +A configure +M main.vala +M shotwell.desktop +R100 collection.ui ui/collection.ui +R100 event.ui ui/event.ui +R100 events_directory.ui ui/events_directory.ui +R100 fullscreen.ui ui/fullscreen.ui +R100 import.ui ui/import.ui +R100 photo.ui ui/photo.ui + +commit 66f1ec318512e505aaf3b4367dfc6a0aa40522dd +Author: Jim Nelson +Date: Thu Jun 4 16:41:38 2009 +0000 + + Fixed bug reported by Vadim Peretokin. + +M PhotoPage.vala + +commit 15a242045bac88e32c5f095f22b2716f1ca1640c +Author: Jim Nelson +Date: Thu Jun 4 02:26:17 2009 +0000 + + Some cleaning up, esp. how groups of IDs are reported by the database + objects. + +M AppWindow.vala +M DatabaseTables.vala +M EventsDirectoryPage.vala +M Photo.vala + +commit 140359a8581b2de3d2cd52d6aa99bf4f453e8c65 +Author: Jim Nelson +Date: Thu Jun 4 00:33:12 2009 +0000 + + #151: Using square brackets rather than +/- for thumbnail zoom + accelerators. + +M AppWindow.vala +M CollectionPage.vala + +commit bfe16670a875d2758adaf7d7e2b7e1a6d0fd9d9b +Author: Jim Nelson +Date: Thu Jun 4 00:14:55 2009 +0000 + + #284: File/Export w/ scaling. + +M AppWindow.vala +M CollectionPage.vala +M Dimensions.vala +M Exif.vala +A ExportDialog.vala +M Makefile +M Photo.vala +M PhotoPage.vala +M collection.ui +M image_util.vala +M libexif.vapi +M photo.ui + +commit c0c45ca767878ad9b7ddc92d9880e14a7497917f +Author: Jim Nelson +Date: Tue Jun 2 17:44:17 2009 +0000 + + #321: Cameras item in sidebar unselectable. + +M AppWindow.vala + +commit 5b407559fe6278c0b76d566530d1291fb27503ad +Author: Jim Nelson +Date: Tue Jun 2 02:03:53 2009 +0000 + + #259: Database versioning. Also some long-needed refactoring of + database code. + +M AppWindow.vala +M DatabaseTables.vala +M main.vala + +commit 5a5c7a5d94a1a3d9f9d361af96d9f59c74185dd7 +Author: Jim Nelson +Date: Mon Jun 1 23:09:57 2009 +0000 + + Better image generation when exporting. Cleaned up photo updates + (performed when external image change is detected). + +M AppWindow.vala +M Exif.vala +M Photo.vala +M image_util.vala + +commit fd30d580f23fcb4fce01d76e7a5f2f54aebc7249 +Author: Jim Nelson +Date: Mon Jun 1 20:10:07 2009 +0000 + + #294: Off-white sidebar. #88: Blue photo selection color. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M Page.vala + +commit 6ca26236989bdc4c3f59846382f921d2fc013d90 +Author: Jim Nelson +Date: Mon Jun 1 19:14:05 2009 +0000 + + #229: Basic export via drag-and-drop. More work can be done on + the generated JPEG (if it's not simply a copy of the file stored + in the library, i.e. it's been modified). #293: Darker background, + although not configurable at this time. + +M AppWindow.vala +M BatchImport.vala +M CollectionPage.vala +M DatabaseTables.vala +M GPhoto.vala +M Page.vala +M Photo.vala +M PhotoPage.vala + +commit a7386215483b7572ed80eee70981bc52f4158df4 +Author: Jim Nelson +Date: Wed May 27 22:57:53 2009 +0000 + + #189: Bug in libgphoto2 + pausing between unmount and camera_init() + solved problem. #301: Vala 0.7.3 resolves. #192:Not a dirty flag + issue, but iPhone changing its mount point name every time it's + locked. Resolved. #196:Imported photos now saved in heirarchical + directories, and unique filenames are guaranteed. + +M AppWindow.vala +A BatchImport.vala +M CollectionPage.vala +M Exif.vala +M GPhoto.vala +M ImportPage.vala +M Makefile +M Photo.vala +M libgphoto2.vapi +M util.vala + +commit 97cff74da68ed6167bde3799dbcc64a01faaa32e +Author: Jim Nelson +Date: Fri May 22 18:00:40 2009 +0000 + + #292: Menu item capitalization fixed. Now using Rotate Right/Left + for menu labels. + +M CollectionPage.vala +M PhotoPage.vala + +commit 5d2301e5184867f2674352ac4a3a987ed1ef958c +Author: Jim Nelson +Date: Fri May 22 01:44:18 2009 +0000 + + #282: Cancel in crop tool window doesn't remove the crop. #283: + Standard icons in crop tool window buttons. #64: Revert to original. + +M CollectionLayout.vala +M CollectionPage.vala +M DatabaseTables.vala +M Page.vala +M Photo.vala +M PhotoPage.vala +M collection.ui +M image_util.vala +M photo.ui + +commit 02c4e07d23d72a7a2bdf517bbe023277a8a34733 +Author: Jim Nelson +Date: Thu May 21 02:40:56 2009 +0000 + + Prettier crop tool. Simplified some of the invalidation code. + Not going to mark #203 as done until more discussion. + +M Box.vala +M Dimensions.vala +M PhotoPage.vala +M image_util.vala + +commit e08099ad19b74560545db67af42105bc0421a9ac +Author: Jim Nelson +Date: Tue May 19 18:27:44 2009 +0000 + + Fixed issues with crop tool in fullscreen mode. Added opacity to + the fullscreen toolbar and sized it smaller. Opacity only works + with a compositing WM. Currently there's some flicker which needs + investigation. + +M AppWindow.vala +M CollectionPage.vala +M Page.vala +M PhotoPage.vala + +commit 759cbc61d70f989e1898e7aef5f193b7a957f324 +Author: Jim Nelson +Date: Mon May 18 21:53:21 2009 +0000 + + Crop toolbar window now follows window if moved or resized, unless + the user explicitly moves it to a position on the screen. + +M AppWindow.vala +M PhotoPage.vala + +commit 92429b9b9f874bd2954f0232b93c6b1d58bc6a23 +Author: Jim Nelson +Date: Mon May 18 18:59:26 2009 +0000 + + Fixed an off-by-one error when rotating and derotating crop + dimensions. + +M Box.vala +M Orientation.vala +M Photo.vala + +commit 79da4b6e13fe4d29909d3d23e3f1b6cfc4acb48c +Author: Jim Nelson +Date: Sat May 16 02:04:57 2009 +0000 + + Fixed bug in sorting code. + +M CollectionPage.vala +M Orientation.vala + +commit c02170e5ca7c8b4d78fd41ba32ae9554cbe63257 +Author: Jim Nelson +Date: Sat May 16 01:36:49 2009 +0000 + + Major overhaul to improve responsiveness of editing photos and + generating new thumbnails. All modifications to the photo stored in + the database are stored in the photo's original, unrotated coordinate + system, which means they do not have to be adjusted whenever the + image is rotated. Some refactoring, including making Orientation + a powerhouse of its own. + +M AppWindow.vala +M Box.vala +M CollectionLayout.vala +M CollectionPage.vala +M DatabaseTables.vala +M Dimensions.vala +M EventsDirectoryPage.vala +M Exif.vala +M ImportPage.vala +M Makefile +A Orientation.vala +M Photo.vala +M PhotoPage.vala +M Thumbnail.vala +M ThumbnailCache.vala +M image_util.vala +M main.vala +M util.vala + +commit 964e75adae4949349b2f59d64a66f0636284ac71 +Author: Jim Nelson +Date: Tue May 12 19:54:26 2009 +0000 + + Major improvement to performance when moving and resizing the + crop tool. For now, the crop tool is embedded in the PhotoPage + class; should be broken out in the near future. Probably will do + when another editing tool is introduced and the abstractions become + more necessary. + +M Box.vala +M Makefile +M PhotoPage.vala + +commit ce2e522b4a02f67dc4313c07ecc617c473ad963a +Author: Jim Nelson +Date: Fri May 8 19:23:21 2009 +0000 + + #201: Rule-of-thirds lines. However, moving and resizing the crop + is now unacceptably slow. + +M Exif.vala +M PhotoPage.vala + +commit 26304fd0809db7be4a8c7e7f1d17c727c30d7c6f +Author: Jim Nelson +Date: Fri May 8 18:23:25 2009 +0000 + + This fixes maintaining the crop for rotated images. Now, crop is + rotated along with image. + +M Box.vala +M Exif.vala +M Photo.vala +M PhotoPage.vala + +commit 145ddbb82552523f6559d51f2bf670e2868de008 +Author: Jim Nelson +Date: Fri May 8 02:27:45 2009 +0000 + + Crop now following photo orientation. + +M Box.vala +M CollectionPage.vala +M Photo.vala +M PhotoPage.vala + +commit 8a41e42bb67a6f0de2e0727add12fef821778152 +Author: Jim Nelson +Date: Fri May 8 00:29:38 2009 +0000 + + Fixed bug where crop would fail on small photos. + +M PhotoPage.vala +M ThumbnailCache.vala + +commit c1e79cd055c4e0792d19859822c3f39806d8d835 +Author: Jim Nelson +Date: Fri May 8 00:11:20 2009 +0000 + + #60: Crop tool. + +M Box.vala +M DatabaseTables.vala +M Photo.vala +M PhotoPage.vala + +commit b5a223f65bc88416d0270318f7c9f573f97508d0 +Author: Jim Nelson +Date: Thu May 7 22:33:28 2009 +0000 + + Fixed a bug in photo removal. + +M CollectionLayout.vala +M CollectionPage.vala +M Page.vala + +commit 55ee68492d0cfcf234acb4e3ae883fb96d01ba9a +Author: Jim Nelson +Date: Thu May 7 21:44:29 2009 +0000 + + Performance boost on resizing thumbnails in view ... came to me + over lunch. + +M ThumbnailCache.vala + +commit 83560c4d0d775390be290ed3b43f0666bd574242 +Author: Jim Nelson +Date: Thu May 7 20:26:08 2009 +0000 + + Major refactoring in preparation for photo editing. New Photo + object centralizes pixbuf generation and photo manipulation, and + introduces GObject signals into the system so various interested + parties (esp. various pages) are notified when a photo is modified + or removed. Also refactored Dimensions struct, as what started out as + a utility record has become a first-class citizen of Shotwell. Also, + while refactoring, went ahead and made changes to reflect Yorba's + coding style (i.e. camelCase for variables -> underscored_names). + In the process, knocked out #198: Databases and thumbnail cache + always in sync with modifications. #202: Black-and-white shading + with crop tool. + +M AppWindow.vala +A Box.vala +M CollectionLayout.vala +M CollectionPage.vala +M DatabaseTables.vala +A Dimensions.vala +M EventsDirectoryPage.vala +M Exif.vala +M GPhoto.vala +M ImportPage.vala +M Makefile +M Page.vala +A Photo.vala +M PhotoPage.vala +M Thumbnail.vala +M ThumbnailCache.vala +M image_util.vala +M main.vala +A util.vala + +commit afc5c855437b92d33f16d92de3e3f97060396341 +Author: Jim Nelson +Date: Tue May 5 18:23:35 2009 +0000 + + Basic crop UI functionality, although some UI spottiness and crop + is not persisted. + +M PhotoPage.vala +M image_util.vala + +commit 53f32f4b0af2f72719e9c1306d763c439c56a6a5 +Author: Jim Nelson +Date: Fri May 1 01:28:32 2009 +0000 + + Early crop functionality. + +M CollectionLayout.vala +M CollectionPage.vala +M EventsDirectoryPage.vala +M ImportPage.vala +M Page.vala +M PhotoPage.vala +M ThumbnailCache.vala +M image_util.vala + +commit 67e41c5423f9418eb307bc588560445bcb1020d8 +Author: Jim Nelson +Date: Wed Apr 29 22:43:10 2009 +0000 + + #191: Accelerators for fullscreen view. Crop button (but no + implementation!) added. + +M AppWindow.vala +M Makefile +M Page.vala +M PhotoPage.vala +A fullscreen.ui + +commit 912a935beec6e37b2c0d38a70b11c85d63958df3 +Author: Jim Nelson +Date: Wed Apr 29 21:58:29 2009 +0000 + + Fixed bug where rotating a photo in fullscreen was not reflected in + the events directory page. + +M AppWindow.vala +M EventsDirectoryPage.vala + +commit 5400a4219eb4a04918d6a805a3410be115b1762f +Author: Jim Nelson +Date: Wed Apr 29 21:28:05 2009 +0000 + + Now refreshing files & folders during import to workaround #192. + Optimization in CollectionLayout to deal with now having multiple + pages with large thumbnail collections. + +M CollectionLayout.vala +M CollectionPage.vala +M ImportPage.vala +M Page.vala +M libgphoto2.vapi + +commit 0dcf6b1ff8c0ebb811e57100c1b5731069219941 +Author: Jim Nelson +Date: Wed Apr 29 19:29:10 2009 +0000 + + This fixes the problem with fullscreen occassionally not displaying + the initial image. + +M AppWindow.vala +M Makefile +M PhotoPage.vala +M photo.ui + +commit e7f351d3223ac0205b2ec23e16005193945e97b2 +Author: Jim Nelson +Date: Wed Apr 29 03:50:53 2009 +0000 + + #177: Fullscreen F11 with floating control bar. #71: Let use select + key photo for each event. Added gphoto macros to prevent worrisome + compiler warnings. + +M AppWindow.vala +M CollectionPage.vala +M EventsDirectoryPage.vala +M GPhoto.vala +M ImportPage.vala +M Makefile +M Page.vala +M PhotoPage.vala +M collection.ui +A event.ui +M events_directory.ui +A gphoto.h +M libgphoto2.vapi +M photo.ui + +commit bf0a233aada415a702f8de47977ee58311468ebb +Author: Jim Nelson +Date: Mon Apr 27 23:14:35 2009 +0000 + + #185: pkg-config checks for package existance. + +M Makefile + +commit d37182a73cb8c58715c58f6f7d68d1162dc7e7de +Author: Jim Nelson +Date: Sat Apr 25 02:36:41 2009 +0000 + + Forgot to add .ui file. + +A events_directory.ui + +commit 7a9e8528b21191bf9b48a16197057eea2a215044 +Author: Jim Nelson +Date: Sat Apr 25 02:30:22 2009 +0000 + + #67: Events. Lots of refactoring to accomdate database and UI + changes. Another valac bug found in + CollectionLayout.vala, probably related to generics. Will fix soon. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M DatabaseTables.vala +A EventsDirectoryPage.vala +M Exif.vala +M ImportPage.vala +M Makefile +M Page.vala +M PhotoPage.vala +M Thumbnail.vala +M ThumbnailCache.vala + +commit e3afaf17684488c76f4c617f021999b1b0612d02 +Author: Jim Nelson +Date: Thu Apr 23 00:51:59 2009 +0000 + + Lots of changes working toward events, including some database work. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M DatabaseTables.vala +M Exif.vala +M ImportPage.vala +M Makefile +M Page.vala +A SortedList.vala +M Thumbnail.vala +M ThumbnailCache.vala + +commit a7c90ca10449288db92cb9bb59a0e0016099f888 +Author: Jim Nelson +Date: Wed Apr 22 02:12:34 2009 +0000 + + #56: Sort by EXIF date. + +M CollectionLayout.vala +M CollectionPage.vala +M Page.vala +M Thumbnail.vala +M collection.ui + +commit 5d3d128ff2344796f06c34f31ec8cdb8cb6bc236 +Author: Jim Nelson +Date: Tue Apr 21 18:55:03 2009 +0000 + + #148: View/Titles checkbox. + +M CollectionLayout.vala +M CollectionPage.vala +M Page.vala +M Thumbnail.vala + +commit c36e7a8458871c9d634e1d87a73f3a5abc73fc70 +Author: Jim Nelson +Date: Tue Apr 21 01:37:43 2009 +0000 + + #172: Now handle situations where we need to ask user to unmount + camera (or tell them to close application + holding the lock). + +M AppWindow.vala +M CollectionLayout.vala +M ImportPage.vala +M Page.vala + +commit 3157ff0521f223b9b55e13c12b26e7a877bd3839 +Author: Jim Nelson +Date: Mon Apr 20 22:22:07 2009 +0000 + + #170: Auto-unmount on startup (when notified by nautilus). #171: + Auto-unmount when running and notified by + nautilus. Added (sudo) make install and (sudo) make uninstall. + Added .desktop file (necessary for nautilus + integration). + +M AppWindow.vala +M ImportPage.vala +M Makefile +M Page.vala +M main.vala +A shotwell.desktop + +commit cbb211aadea23c5fee6d38c65a09e37a067a0577 +Author: Jim Nelson +Date: Fri Apr 17 22:02:13 2009 +0000 + + #167: libunique. #168:Switch to camera view on startup. #169:Switch + to camera view when user attaches on while + running. Also, get_instance() to reflect that Shotwell is + single-window app. + +M AppWindow.vala +M CollectionPage.vala +M ImportPage.vala +M Makefile +M Page.vala +M PhotoPage.vala +M main.vala + +commit 8fecedd2ce03a14ce0f071b05b5410277c4bee74 +Author: Jim Nelson +Date: Fri Apr 17 01:33:21 2009 +0000 + + #150: Progress bar is in better shape. Fine-tuning discussed in #92. + #145 and #146:Cameras detected + at initialization and runtime, and appear as children of "Cameras" + in the sidebar. + +M AppWindow.vala +M ImportPage.vala +M Makefile +M Page.vala +M PhotoPage.vala +M libgphoto2.vapi + +commit 29f6358e06e28bcaa1a506fc737d18fdec875cbd +Author: Jim Nelson +Date: Tue Apr 14 02:26:02 2009 +0000 + + #141: Next/Previous in full-window view added. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M ImportPage.vala +M Page.vala +M PhotoPage.vala +M Thumbnail.vala +M libgphoto2.vapi +M photo.ui + +commit cc39a5758910709b9d3d11fa13374fe2a3a97168 +Author: Jim Nelson +Date: Mon Apr 13 22:47:15 2009 +0000 + + #150: Ugly progress bar, but it's there. Useful even for development + to see what's going on. Finer-detailed UI + work to come. + +M ImportPage.vala + +commit 63a9da8573df65d96a10a35a5030f0d580acfec8 +Author: Jim Nelson +Date: Mon Apr 13 21:51:14 2009 +0000 + + #147: Fixed, although icons would be nice. #149:Import in background + added. Rotate buttons now have text. + +M AppWindow.vala +M CollectionPage.vala +M ImportPage.vala +M PhotoPage.vala +M libgphoto2.vapi + +commit 7e28a47be1cbb8c47716ababa5a79fca40e2878c +Author: Jim Nelson +Date: Sat Apr 11 01:56:14 2009 +0000 + + #138: Actions and ActionGroups now handled in intelligent manner. + Also added moveable thumb between sidebar and + view pages. + +M AppWindow.vala +M CollectionPage.vala +M ImportPage.vala +M Makefile +M Page.vala +M PhotoPage.vala +A collection.ui +A import.ui +M photo.ui + +commit 71a755413679e416f79c7eadc9b65e857faa746f +Author: Jim Nelson +Date: Fri Apr 10 19:40:40 2009 +0000 + + Whoops. + +M CollectionPage.vala + +commit 2b7e127061f90d9c52599cd8179183d22b42b6a4 +Author: Jim Nelson +Date: Fri Apr 10 04:14:53 2009 +0000 + + #57: Import photos from camera. Tons of refactoring to share layout + and functionality between multiple pages. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M Exif.vala +A GPhoto.vala +A ImportPage.vala +M Makefile +M Page.vala +M PhotoPage.vala +M Thumbnail.vala +M libexif.vapi +M libgphoto2.vapi +M photo.ui + +commit ae606325112a1f313127a06d90931e6008faa61f +Author: Jim Nelson +Date: Thu Apr 9 02:34:28 2009 +0000 + + Photo full-window view available by double-clicking on photo. + libgphoto.vapi. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M Exif.vala +M Makefile +A Page.vala +M PhotoPage.vala +M Thumbnail.vala +M image_util.vala +A libgphoto2.vapi +M photo.ui + +commit 39cf8e6e8aa7ebe1548fab60919539406203a4c0 +Author: Jim Nelson +Date: Tue Apr 7 18:29:07 2009 +0000 + + Forgot to commit icons in last update. Also added first steps + toward sorting. + +M CollectionPage.vala +M Exif.vala +M Thumbnail.vala +A icons/object-rotate-left.svg +A icons/object-rotate-right.svg +M photo.ui + +commit f6bcadf001464016da96d20ea07ddefdc8984b87 +Author: Jim Nelson +Date: Mon Apr 6 23:00:20 2009 +0000 + + #59: Rotate photo w/ EXIF, including toolbar button. + +M AppWindow.vala +M CollectionPage.vala +M Exif.vala +M Makefile +A fstream.vapi + +commit fe7822f8adf95367efc1c77a636cd6a69402e439 +Author: Jim Nelson +Date: Sat Apr 4 02:36:59 2009 +0000 + + JPEG/EXIF rotations implemented and stored in the photo file itself. + Further work to be done before marking off + the ticket. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M Exif.vala +M Makefile +M Thumbnail.vala +M image_util.vala +M libexif.vapi +M photo.ui + +commit 48241be178c12e00b68605ddb9ae6e650c02c463 +Author: Jim Nelson +Date: Thu Apr 2 02:08:34 2009 +0000 + + Backed out a strategy of incrementally loading EXIF data. + +M Thumbnail.vala + +commit 18a9f25a28e13db73a8c4792e8d1785ab497dbbe +Author: Jim Nelson +Date: Thu Apr 2 02:04:30 2009 +0000 + + libexif bindings built and now in use throughout app. Need to clean + up display before claiming tickets. Also, + first stab at adding a full-page view of photos. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M DatabaseTables.vala +A Exif.vala +M Makefile +A PhotoPage.vala +M Thumbnail.vala +M image_util.vala +A libexif.vapi +M photo.ui + +commit 20a84f4664f6426202053cdcf40784d8f00aca22 +Author: Jim Nelson +Date: Thu Mar 26 19:43:01 2009 +0000 + + Fixed a corner case in the layout code. + +M CollectionLayout.vala +M Thumbnail.vala + +commit 2473dcf7ce7a885b00dc866bfd55c706e55ebbb0 +Author: Jim Nelson +Date: Thu Mar 26 02:28:59 2009 +0000 + + Major tune-up of collection layout as well as appearance. This scales + well to 1200 photos, although resizing + the thumbs at that number leaves something to be desired. Fixes #89. + +M AppWindow.vala +M CollectionLayout.vala +M CollectionPage.vala +M Thumbnail.vala + +commit a81ea64bde0b67f50b2db46ebebe95e65e85b76c +Author: Jim Nelson +Date: Wed Mar 25 20:56:34 2009 +0000 + + More work to be done for aesthetics, but this fixes #93 in a big way. + +M AppWindow.vala +A CollectionLayout.vala +M CollectionPage.vala +M Makefile +M Thumbnail.vala + +commit 4d87f53d481abc620194db43096f1cdc167de491 +Author: Jim Nelson +Date: Tue Mar 24 19:05:24 2009 +0000 + + Fixed a bug where the thumbnails were not improved after a repack(). + Also, timing repacks. + +M CollectionPage.vala + +commit 6c9560293a5d8ad6dc896b5a82e39c5ee88c5a54 +Author: Jim Nelson +Date: Tue Mar 24 18:47:15 2009 +0000 + + Speed improvements for large photo collections. More work to be done. + #95: Three-tier thumbnail system in memory (JPEG -> unscaled pixbuf -> + scaled pixbuf). #94: Fixed. + +M CollectionPage.vala +M DatabaseTables.vala +M Thumbnail.vala +M ThumbnailCache.vala +M image_util.vala + +commit 14d2eb571a97493bc7867119ee674999d0315bfb +Author: Jim Nelson +Date: Mon Mar 23 23:17:17 2009 +0000 + + Improvement of scaling speed. Now storing three persistent thumbnail + caches (360px, 128px, 64px). How these work need to be reviewed. + +M AppWindow.vala +M CollectionPage.vala +M DatabaseTables.vala +M Thumbnail.vala +M ThumbnailCache.vala +M image_util.vala + +commit 72186fb18d55d726edae35265a70c4fbd673a4e7 +Author: Jim Nelson +Date: Sat Mar 21 01:42:06 2009 +0000 + + #55: Slider control added. Also, refactored code so CollectionPage + provides menu bar and tool bar. Eventually AppWindow will become a + controller merely switching between various pages (views). + +M AppWindow.vala +M CollectionPage.vala +M Thumbnail.vala +M ThumbnailCache.vala +M photo.ui + +commit b2636cea29a0a9038a1813f2a52269e175dba06e +Author: Jim Nelson +Date: Fri Mar 20 22:36:31 2009 +0000 + + #85: Added right-click/Remove on thumbnail. #87: Photo scaling is + improved by generating higher-quality thumbnails to disk and better + in-memory scaling. #90 and #91: Detailed in Wiki, implemented + throughout. + +M AppWindow.vala +M CollectionPage.vala +A DatabaseTables.vala +M Makefile +D PhotoTable.vala +M Thumbnail.vala +M ThumbnailCache.vala +D ThumbnailCacheTable.vala +M image_util.vala +M main.vala +M photo.ui + +commit bb471325440c8f2cd4abf63a4ea5d1c9aafc0809 +Author: Jim Nelson +Date: Thu Mar 19 19:02:56 2009 +0000 + + Thumbnail dimensions are now stored in a table rather than fetched + from + disk and examined. This speeds up init time, esp. with large + collections. + +M AppWindow.vala +M CollectionPage.vala +M Makefile +M PhotoTable.vala +M ThumbnailCache.vala +A ThumbnailCacheTable.vala + +commit c30b6ce94266033ac24f7b098ce8ab4a85d88359 +Author: Jim Nelson +Date: Thu Mar 19 02:39:27 2009 +0000 + + Updated the cache to store JPEG data in memory and convert to + pixbufs on + the fly. Thumbnails only hold pixbufs when they're on screen, + otherwise + they're tossed. Fixed #86. + +M AppWindow.vala +M CollectionPage.vala +M Makefile +M Thumbnail.vala +M ThumbnailCache.vala +M image_util.vala +M main.vala + +commit bf66ffeb733b43d4eaa4aa70dcea101958176d90 +Author: Jim Nelson +Date: Wed Mar 18 03:39:00 2009 +0000 + + Added adjustable thumbnail sizing, however, need to add UI slider for + ticket to be marked off. Implemented a persistent thumbnail cache. + Began work to have thumbnail objects on-screen load and unload their + pixbufs dynamically. + +M AppWindow.vala +M CollectionPage.vala +M Makefile +M PhotoTable.vala +M Thumbnail.vala +A ThumbnailCache.vala +A image_util.vala +M photo.ui + +commit b09360aef635affd7b94ff8f7b946569af4cffe4 +Author: Jim Nelson +Date: Tue Mar 17 18:32:02 2009 +0000 + + Adds #58. First stab at #83. + +M AppWindow.vala +M CollectionPage.vala +M PhotoTable.vala +M Thumbnail.vala +M photo.ui + +commit 4770cdc203c25c0610499c07e0f6eac946213575 +Author: Jim Nelson +Date: Tue Mar 17 01:10:04 2009 +0000 + + First stab at #54. Can now distinguish which photo has been + clicked on, + prelim work for selecting photos. + +M AppWindow.vala +M CollectionPage.vala +A PhotoTable.vala +M Thumbnail.vala + +commit 82d42056850958c5739654f33639c0a62df69257 +Author: Jim Nelson +Date: Wed Mar 11 21:05:41 2009 +0000 + + Cleanup. Thumbnails now bottom-aligned with white text. + +M AppWindow.vala +M CollectionPage.vala +M Makefile +M Thumbnail.vala + +commit 3b70ad9d6461c58374289fedb324ba932eee78ba +Author: Jim Nelson +Date: Wed Mar 11 01:16:11 2009 +0000 + + Photo organizer ho. + +A AppWindow.vala +A CollectionPage.vala +A Makefile +A Thumbnail.vala +A main.vala +A photo.ui diff --git a/INSTALL b/INSTALL index dd54ec7..3fd6efa 100644 --- a/INSTALL +++ b/INSTALL @@ -4,14 +4,15 @@ To build and install Shotwell, type the following commands: + $ [ -f configure ] || ./autogen.sh $ ./configure $ make - $ make install + $ Optional: make install * By default, Shotwell will install under /usr/local. The configure script can customize the prefix directory. Run ./configure --help for instructions and other installation options. - + * You may need to execute "make install" as root (i.e. sudo make install) if installing to system directories. diff --git a/MAINTAINERS b/MAINTAINERS deleted file mode 100644 index 712c23b..0000000 --- a/MAINTAINERS +++ /dev/null @@ -1,3 +0,0 @@ -Jim Nelson -email: jim@yorba.org - diff --git a/Makefile b/Makefile deleted file mode 100644 index fbd3ebb..0000000 --- a/Makefile +++ /dev/null @@ -1,730 +0,0 @@ -PROGRAM = shotwell -PROGRAM_THUMBNAILER = shotwell-video-thumbnailer -PROGRAM_MIGRATOR = shotwell-settings-migrator - -VERSION = 0.23.2 -GITVER := $(shell git rev-parse HEAD) -GETTEXT_PACKAGE = $(PROGRAM) -BUILD_ROOT = 1 - -ifndef VALAC -VALAC := $(shell which valac) -else -VALAC := $(shell which $(VALAC)) -endif - -VALAC_VERSION := `$(VALAC) --version | awk '{print $$2}'` -MIN_VALAC_VERSION := 0.28.0 -INSTALL_PROGRAM := install -INSTALL_DATA := install -m 644 - -export MIN_GLIB_VERSION=2.30.0 - -# defaults that may be overridden by configure.mk -PREFIX=/usr/local -BUILD_RELEASE=1 -LIB=lib - --include configure.mk -ifndef LIBEXECDIR -LIBEXECDIR=$(PREFIX)/libexec/shotwell -endif - -CORE_SUPPORTED_LANGUAGES=$(shell cat po/LINGUAS) - -LOCAL_LANG_DIR=locale-langpack -SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale - -VALAFLAGS := -g --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) -ifdef UNITY_SUPPORT -VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT -endif - -DEFINES := _PREFIX='"$(PREFIX)"' _VERSION='"$(VERSION)"' GETTEXT_PACKAGE='"$(GETTEXT_PACKAGE)"' \ - _LANG_SUPPORT_DIR='"$(SYSTEM_LANG_DIR)"' _LIB='"${LIB}"' _LIBEXECDIR='"$(LIBEXECDIR)"' - -ifdef GITVER -DEFINES := $(DEFINES) _GIT_VERSION='"$(GITVER)"' -VALAFLAGS := $(VALAFLAGS) --define=_GITVERSION -endif - -EXPORT_FLAGS = -export-dynamic - -include units.mk -include plugins/plugins.mk - -UNUNITIZED_SRC_FILES = \ - main.vala \ - AppWindow.vala \ - CollectionPage.vala \ - NaturalCollate.vala \ - Thumbnail.vala \ - ThumbnailCache.vala \ - CheckerboardLayout.vala \ - PhotoPage.vala \ - Page.vala \ - SortedList.vala \ - Dimensions.vala \ - Box.vala \ - Photo.vala \ - Orientation.vala \ - BatchImport.vala \ - Dialogs.vala \ - Resources.vala \ - Debug.vala \ - ColorTransformation.vala \ - Properties.vala \ - CustomComponents.vala \ - Event.vala \ - International.vala \ - AppDirs.vala \ - PixbufCache.vala \ - CommandManager.vala \ - Commands.vala \ - SlideshowPage.vala \ - LibraryFiles.vala \ - Printing.vala \ - Tag.vala \ - Screensaver.vala \ - Exporter.vala \ - DirectoryMonitor.vala \ - LibraryMonitor.vala \ - VideoSupport.vala \ - Tombstone.vala \ - MetadataWriter.vala \ - Application.vala \ - TimedQueue.vala \ - MediaPage.vala \ - MediaDataRepresentation.vala \ - DesktopIntegration.vala \ - MediaInterfaces.vala \ - MediaMetadata.vala \ - VideoMetadata.vala \ - MediaMonitor.vala \ - PhotoMonitor.vala \ - VideoMonitor.vala \ - SearchFilter.vala \ - MediaViewTracker.vala \ - UnityProgressBar.vala \ - Upgrades.vala - -THUMBNAILER_SRC_FILES = \ - shotwell-video-thumbnailer.vala - -VAPI_FILES = \ - LConv.vapi \ - libexif.vapi \ - libraw.vapi \ - unity.vapi \ - libgphoto2.vapi - -DEPS_FILES = \ - unity.deps - -RESOURCE_FILES = \ - collection.ui \ - direct.ui \ - direct_context.ui \ - events_directory.ui \ - event.ui \ - fullscreen.ui \ - import_queue.ui \ - import.ui \ - media.ui \ - offline.ui \ - photo.ui \ - photo_context.ui \ - savedsearch.ui \ - search_bar.ui \ - search_sidebar_context.ui \ - set_background_dialog.glade \ - set_background_slideshow_dialog.glade \ - shotwell.glade \ - shotwell.xml \ - sidebar_default_context.ui \ - tag_sidebar_context.ui \ - tags.ui \ - top.ui \ - trash.ui - -SYS_INTEGRATION_FILES = \ - shotwell.appdata.xml \ - shotwell.desktop.head \ - shotwell-viewer.desktop.head \ - org.yorba.shotwell.gschema.xml \ - org.yorba.shotwell-extras.gschema.xml \ - shotwell.convert - -SCHEMA_FILES := $(shell ls misc/*.gschema.xml) - -SRC_HEADER_FILES = \ - gphoto.h - -TEXT_FILES = \ - AUTHORS \ - COPYING \ - INSTALL \ - MAINTAINERS \ - NEWS \ - README \ - THANKS - -ICON_FILES = \ - all-rejected.png \ - crop-pivot-reticle.png \ - crop.svg \ - drag_nub.png \ - five-star-filter.svg \ - five-stars.svg \ - flag-page.png \ - flag-trinket.png \ - four-star-filter-plus.svg \ - four-stars.svg \ - image-adjust.svg \ - import-all.png \ - import.svg \ - make-primary.svg \ - merge.svg \ - multiple-events.png \ - multiple-tags.png \ - no-event.png \ - noninterpretable-video.png \ - one-event.png \ - one-star-filter-plus.svg \ - one-star.svg \ - one-tag.png \ - pin-toolbar.svg \ - publish.png \ - redeye.png \ - rejected.svg \ - shotwell-street.jpg \ - shotwell-auto-enhance.png \ - sprocket.png \ - straighten.svg \ - three-star-filter-plus.svg \ - three-stars.svg \ - two-star-filter-plus.svg \ - two-stars.svg \ - videos-page.png \ - zoom-in.png \ - zoom-out.png \ - slideshow-extension-point.png \ - generic-plugin.png \ - filter-raw.png \ - filter-photos.png \ - filter-videos.png \ - filter-flagged.png - -VAPI_DIRS = \ - ./vapi - -HEADER_DIRS = \ - ./vapi - -LOCAL_PKGS = \ - posix \ - LConv - -EXT_PKGS = \ - atk \ - gdk-3.0 \ - gee-0.8 \ - gexiv2 \ - gio-unix-2.0 \ - glib-2.0 \ - gmodule-2.0 \ - gstreamer-1.0 \ - gstreamer-base-1.0 \ - gstreamer-pbutils-1.0 \ - gtk+-3.0 \ - gudev-1.0 \ - libexif \ - libgphoto2 \ - json-glib-1.0 \ - libraw \ - libsoup-2.4 \ - libxml-2.0 \ - sqlite3 \ - webkit2gtk-4.0 -ifdef UNITY_SUPPORT -EXT_PKGS += unity -endif - -THUMBNAILER_PKGS = \ - gtk+-3.0 \ - gee-0.8 \ - gstreamer-1.0 \ - gstreamer-base-1.0 - -DIRECT_LIBS = - -EXT_PKG_VERSIONS = \ - gee-0.8 >= 0.10.0 \ - gexiv2 >= 0.4.90 \ - gio-unix-2.0 >= 2.20 \ - glib-2.0 >= $(MIN_GLIB_VERSION) \ - gmodule-2.0 >= 2.24.0 \ - gstreamer-1.0 >= 1.0.0 \ - gstreamer-base-1.0 >= 1.0.0 \ - gstreamer-plugins-base-1.0 >= 1.0.0 \ - gstreamer-pbutils-1.0 >= 1.0.0 \ - gtk+-3.0 >= 3.12.2 \ - gudev-1.0 >= 145 \ - libexif >= 0.6.16 \ - libgphoto2 >= 2.4.2 \ - libraw >= 0.13.2 \ - libsoup-2.4 >= 2.26.0 \ - libxml-2.0 >= 2.6.32 \ - rest-0.7 >= 0.7 \ - sqlite3 >= 3.5.9 \ - webkit2gtk-4.0 - -DIRECT_LIBS_VERSIONS = - -VALA_PKGS = $(EXT_PKGS) $(LOCAL_PKGS) - -ifndef BUILD_DIR -BUILD_DIR=src -endif - -DESKTOP_APP_SHORT_NAME="Shotwell" -DESKTOP_APP_FULL_NAME="Shotwell Photo Manager" -DESKTOP_APPLICATION_COMMENT="Organize your photos" -DESKTOP_APPLICATION_CLASS="Photo Manager" -DESKTOP_APP_KEYWORDS="album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;organize;photo;photographs;photos;picture;pictures;photography;print;publish;rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" -DIRECT_EDIT_DESKTOP_APP_SHORT_NAME="Shotwell" -DIRECT_EDIT_DESKTOP_APP_FULL_NAME="Shotwell Photo Viewer" -DIRECT_EDIT_DESKTOP_APPLICATION_CLASS="Photo Viewer" -TEMPORARY_DESKTOP_FILES = misc/shotwell.desktop misc/shotwell-viewer.desktop - -# for help page and translation .po files -include help/Makefile.am - -# Process the units -UNIT_MKS := $(foreach unit,$(UNITS),src/$(unit)/mk/$(notdir $(unit)).mk) -include $(UNIT_MKS) - -UNITIZE_DIR := src/.unitize -UNITIZE_ENTRIES := $(foreach unit,$(APP_UNITS),$(UNITIZE_DIR)/_$(unit)_unitize_entry.vala) -UNITIZE_INITS := $(foreach nm,$(UNIT_NAMESPACES),$(UNITIZE_DIR)/_$(nm)Internals.vala) -UNITIZE_STAMP := $(UNITIZE_DIR)/.unitized - -PLUGINS_DIR := plugins -INSTALL_PLUGINS = $(filter-out common,$(PLUGINS)) -PLUGINS_SO := $(foreach plugin,$(INSTALL_PLUGINS),$(PLUGINS_DIR)/$(plugin)/$(plugin).so) -EXTRA_PLUGINS_SO := $(foreach plugin,$(EXTRA_PLUGINS),$(PLUGINS_DIR)/$(plugin)/$(plugin).so) -PLUGINS_DIST_FILES := `$(MAKE) --directory=plugins --no-print-directory listfiles` - -THUMBNAILER_DIR := thumbnailer -THUMBNAILER_BIN := $(THUMBNAILER_DIR)/$(PROGRAM_THUMBNAILER) -EXPANDED_THUMBNAILER_SRC_FILES := $(foreach file, $(THUMBNAILER_SRC_FILES), $(THUMBNAILER_DIR)/$(file)) - -MIGRATOR_DIR := settings-migrator -MIGRATOR_BIN := $(MIGRATOR_DIR)/$(PROGRAM_MIGRATOR) - -EXPANDED_CORE_PO_FILES := $(foreach po,$(CORE_SUPPORTED_LANGUAGES),po/$(po).po) - -EXPANDED_SRC_FILES := $(UNITIZED_SRC_FILES) $(foreach src,$(UNUNITIZED_SRC_FILES),src/$(src)) \ - $(UNITIZE_INITS) $(UNITIZE_ENTRIES) -EXPANDED_DIST_SRC_FILES := $(UNITIZED_SRC_FILES) $(foreach src,$(UNUNITIZED_SRC_FILES),src/$(src)) -EXPANDED_C_FILES := $(foreach file,$(subst src,$(BUILD_DIR),$(EXPANDED_SRC_FILES)),$(file:.vala=.c)) -EXPANDED_OBJ_FILES := $(foreach file,$(subst src,$(BUILD_DIR),$(EXPANDED_SRC_FILES)),$(file:.vala=.o)) -EXPANDED_SYS_INTEGRATION_FILES := $(foreach file,$(SYS_INTEGRATION_FILES),misc/$(file)) -EXPANDED_ICON_FILES := $(foreach file,$(ICON_FILES),icons/$(file)) -EXPANDED_APP_ICON_FILES := $(shell find app-icons -type f) -EXPANDED_VAPI_FILES := $(foreach vapi,$(VAPI_FILES),vapi/$(vapi)) -EXPANDED_DEPS_FILES := $(foreach deps,$(DEPS_FILES),vapi/$(deps)) -EXPANDED_SRC_HEADER_FILES := $(foreach header,$(SRC_HEADER_FILES),vapi/$(header)) -EXPANDED_RESOURCE_FILES := $(foreach res,$(RESOURCE_FILES),ui/$(res)) -EXPANDED_DOC_IMAGES := $(foreach file,$(DOC_IMAGES),help/C/figures/$(file)) -EXPANDED_DOC_PAGES := $(foreach page,$(DOC_PAGES),help/C/$(page)) -EXPANDED_DOC_PO := $(foreach lang,$(DOC_LINGUAS),help/$(lang)/$(lang).po) -EXPANDED_XLAT_DOC_PAGES := \ - $(foreach lang,$(DOC_LINGUAS),\ - $(foreach page,$(DOC_PAGES),help/$(lang)/$(page))) -VALA_STAMP := $(BUILD_DIR)/.stamp -LANG_STAMP := $(LOCAL_LANG_DIR)/.langstamp -DOC_LANG_STAMP := help/.langstamp -MAKE_FILES := Makefile $(CONFIG_IN) $(UNIT_MKS) unitize.mk units.mk -PC_INPUT := shotwell-plugin-dev-1.0.m4 -PC_FILE := $(PC_INPUT:.m4=.pc) - -DIST_FILES = Makefile configure chkver $(EXPANDED_DIST_SRC_FILES) $(EXPANDED_VAPI_FILES) \ - $(EXPANDED_DEPS_FILES) $(EXPANDED_SRC_HEADER_FILES) $(EXPANDED_RESOURCE_FILES) $(TEXT_FILES) \ - $(EXPANDED_ICON_FILES) $(EXPANDED_APP_ICON_FILES) $(EXPANDED_SYS_INTEGRATION_FILES) $(EXPANDED_CORE_PO_FILES) \ - po/LINGUAS po/POTFILES.in po/POTFILES.skip \ - $(EXPANDED_DOC_PAGES) $(EXPANDED_DOC_IMAGES) $(EXPANDED_DOC_PO) help/Makefile.am \ - apport/shotwell.py $(UNIT_RESOURCES) $(UNIT_MKS) \ - unitize.mk units.mk $(PC_INPUT) $(PLUGINS_DIST_FILES) \ - $(EXPANDED_THUMBNAILER_SRC_FILES) $(MIGRATOR_BIN) - -DIST_TAR = $(PROGRAM)-$(VERSION).tar -DIST_TAR_XZ = $(DIST_TAR).xz -PACKAGE_ORIG_XZ = $(PROGRAM)_`parsechangelog | grep Version | sed 's/.*: //'`.orig.tar.xz - -VALAFLAGS := $(VALAFLAGS) $(VALA_DEFINES) --vapidir=plugins/ - -VALA_CFLAGS := $(shell pkg-config --cflags $(EXT_PKGS) $(DIRECT_LIBS)) \ - $(foreach hdir,$(HEADER_DIRS),-I$(hdir)) \ - $(foreach def,$(DEFINES),-D$(def)) - -VALA_LDFLAGS := $(shell pkg-config --libs $(EXT_PKGS) $(DIRECT_LIBS) gthread-2.0) - -# REQUIRED_CFLAGS absolutely get appended to CFLAGS, whatever the -# the value of CFLAGS in the environment -REQUIRED_CFLAGS := -fPIC - -# setting CFLAGS in configure.mk overrides build type -ifndef CFLAGS -ifdef BUILD_DEBUG -CFLAGS = -O0 -g -pipe -PLUGIN_CFLAGS = -O0 -g -pipe -else -CFLAGS = -O2 -g -pipe -PLUGIN_CFLAGS = -O2 -g -pipe -endif -endif - -CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) -PLUGIN_CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) - -# Required for gudev-1.0 -CFLAGS += -DG_UDEV_API_IS_SUBJECT_TO_CHANGE - -all: pkgcheck valacheck desktop - -ifdef ENABLE_BUILD_FOR_GLADE -all: $(PLUGINS_DIR) lib$(PROGRAM).so $(PROGRAM) $(PC_FILE) -else -all: $(PLUGINS_DIR) $(PROGRAM) $(PC_FILE) -endif - - -include src/plugins/mk/interfaces.mk - -$(LANG_STAMP): $(EXPANDED_CORE_PO_FILES) - @$(foreach po,$(CORE_SUPPORTED_LANGUAGES),`mkdir -p $(LOCAL_LANG_DIR)/$(po)/LC_MESSAGES ; \ - msgfmt -c -o $(LOCAL_LANG_DIR)/$(po)/LC_MESSAGES/shotwell.mo po/$(po).po`) - @touch $(LANG_STAMP) - -clean: - rm -f $(EXPANDED_C_FILES) - rm -f $(EXPANDED_OBJ_FILES) - rm -f $(VALA_STAMP) - rm -rf $(PROGRAM)-$(VERSION) - rm -f $(PROGRAM) - rm -f $(THUMBNAILER_DIR)/$(PROGRAM_THUMBNAILER) - rm -rf $(LOCAL_LANG_DIR) - rm -f $(LANG_STAMP) - rm -f $(DOC_LANG_STAMP) - rm -f $(EXPANDED_XLAT_DOC_PAGES) - rm -f $(TEMPORARY_DESKTOP_FILES) - rm -f lib$(PROGRAM).so - rm -rf $(UNITIZE_DIR) - rm -f $(PLUGIN_VAPI) - rm -f $(PLUGIN_HEADER) - rm -f $(PLUGIN_DEPS) - rm -f $(PLUGINS_SO) - rm -f $(EXTRA_PLUGINS_SO) - @$(MAKE) --directory=plugins clean - rm -f $(PC_FILE) - -cleantemps: - rm -f $(EXPANDED_C_FILES) - rm -f $(EXPANDED_OBJ_FILES) - rm -f $(VALA_STAMP) - rm -f $(LANG_STAMP) - rm -f $(DOC_LANG_STAMP) - rm -f $(TEMPORARY_DESKTOP_FILES) - @$(MAKE) --directory=plugins cleantemps - rm -f misc/gschemas.compiled - -package: - $(MAKE) dist - cp $(DIST_TAR_XZ) $(PACKAGE_ORIG_XZ) - rm -f $(DIST_TAR_XZ) - -misc/shotwell.desktop: misc/shotwell.desktop.head $(EXPANDED_CORE_PO_FILES) - cp misc/shotwell.desktop.head misc/shotwell.desktop - @ $(foreach lang,$(CORE_SUPPORTED_LANGUAGES), echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack \ - LANGUAGE=$(lang) gettext --domain=shotwell $(DESKTOP_APP_FULL_NAME)` \ - >> misc/shotwell.desktop ; \ - echo GenericName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) \ - gettext --domain=shotwell $(DESKTOP_APPLICATION_CLASS)` >> misc/shotwell.desktop ; \ - echo Comment[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ - --domain=shotwell $(DESKTOP_APPLICATION_COMMENT)` >> misc/shotwell.desktop ; \ - echo Keywords[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ - --domain=shotwell $(DESKTOP_APP_KEYWORDS)` >> misc/shotwell.desktop ;) -ifndef DISABLE_DESKTOP_VALIDATE - @ desktop-file-validate misc/shotwell.desktop 1>misc/shotwell.desktop.errors 2>&1; \ - if test -s misc/shotwell.desktop.errors; then \ - echo -e "\nThe file misc/shotwell.desktop.head or one of the .po files contains errors and may need to be edited.\nPlease see the file misc/shotwell.desktop.errors for details."; \ - exit 1; \ - else rm -f misc/shotwell.desktop.errors; \ - fi -endif - -misc/shotwell-viewer.desktop: misc/shotwell-viewer.desktop.head $(EXPANDED_CORE_PO_FILES) - cp misc/shotwell-viewer.desktop.head misc/shotwell-viewer.desktop - $(foreach lang,$(CORE_SUPPORTED_LANGUAGES), echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack \ - LANGUAGE=$(lang) gettext --domain=shotwell $(DIRECT_EDIT_DESKTOP_APP_FULL_NAME)` \ - >> misc/shotwell-viewer.desktop ; \ - echo GenericName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ - --domain=shotwell $(DIRECT_EDIT_DESKTOP_APPLICATION_CLASS)` >> misc/shotwell-viewer.desktop ;) -ifndef DISABLE_DESKTOP_VALIDATE - @ desktop-file-validate misc/shotwell-viewer.desktop 1>misc/shotwell-viewer.desktop.errors 2>&1; \ - if test -s misc/shotwell-viewer.desktop.errors; then \ - echo -e S"\nThe file misc/shotwell-viewer.desktop.head or one of the .po files contains errors and may need to be edited.\nPlease see the file misc/shotwell-viewer.desktop.errors for details."; \ - exit 1; \ - else rm -f misc/shotwell-viewer.desktop.errors; \ - fi -endif - -.PHONY: desktop -desktop: misc/shotwell.desktop misc/shotwell-viewer.desktop - -.PHONY: dist -dist: - mkdir -p $(PROGRAM)-$(VERSION) - cp --parents --preserve $(DIST_FILES) $(PROGRAM)-$(VERSION) - tar --xz -cvf $(DIST_TAR_XZ) $(PROGRAM)-$(VERSION) - rm -rf $(PROGRAM)-$(VERSION) - -distclean: clean - rm -f configure.mk - rm -f $(DIST_TAR_XZ) - @$(MAKE) --directory=plugins distclean - -.PHONY: install -install: - touch $(LANG_STAMP) - mkdir -p $(DESTDIR)$(PREFIX)/bin - $(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(PREFIX)/bin - mkdir -p $(DESTDIR)$(LIBEXECDIR) - $(INSTALL_PROGRAM) $(THUMBNAILER_BIN) $(DESTDIR)$(LIBEXECDIR) - $(INSTALL_PROGRAM) $(MIGRATOR_BIN) $(DESTDIR)$(LIBEXECDIR) - mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/icons - $(INSTALL_DATA) icons/* $(DESTDIR)$(PREFIX)/share/shotwell/icons - mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps - $(INSTALL_DATA) app-icons/16x16/apps/shotwell.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/shotwell.png - mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/22x22/apps - $(INSTALL_DATA) app-icons/22x22/apps/shotwell.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/22x22/apps/shotwell.png - mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps - $(INSTALL_DATA) app-icons/24x24/apps/shotwell.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps/shotwell.png - mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/32x32/apps - $(INSTALL_DATA) app-icons/32x32/apps/shotwell.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/32x32/apps/shotwell.png - mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps - $(INSTALL_DATA) app-icons/256x256/apps/shotwell.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/shotwell.png - mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps - $(INSTALL_DATA) app-icons/48x48/apps/shotwell.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/shotwell.png - mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/symbolic/apps - $(INSTALL_DATA) app-icons/symbolic/apps/shotwell-symbolic.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/symbolic/apps/shotwell-symbolic.svg - - mkdir -p $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas - $(INSTALL_DATA) misc/org.yorba.shotwell.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas - $(INSTALL_DATA) misc/org.yorba.shotwell-extras.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas -ifndef DISABLE_SCHEMAS_COMPILE - glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas -endif -ifndef DISABLE_GSETTINGS_CONVERT_INSTALL - mkdir -p $(DESTDIR)/usr/share/GConf/gsettings - $(INSTALL_DATA) misc/shotwell.convert $(DESTDIR)/usr/share/GConf/gsettings -endif -ifndef DISABLE_ICON_UPDATE - -gtk-update-icon-cache -t -f $(DESTDIR)$(PREFIX)/share/icons/hicolor || : -endif - mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/ui - $(INSTALL_DATA) ui/* $(DESTDIR)$(PREFIX)/share/shotwell/ui - mkdir -p $(DESTDIR)$(PREFIX)/share/applications - mkdir -p $(DESTDIR)$(PREFIX)/share/appdata - $(INSTALL_DATA) misc/shotwell.desktop $(DESTDIR)$(PREFIX)/share/applications - $(INSTALL_DATA) misc/shotwell-viewer.desktop $(DESTDIR)$(PREFIX)/share/applications - $(INSTALL_DATA) misc/shotwell.appdata.xml $(DESTDIR)$(PREFIX)/share/appdata -ifndef DISABLE_DESKTOP_UPDATE - -update-desktop-database || : -endif -ifdef ENABLE_APPORT_HOOK_INSTALL - mkdir -p $(DESTDIR)$(PREFIX)/share/apport/package-hooks - $(INSTALL_DATA) apport/shotwell.py $(DESTDIR)$(PREFIX)/share/apport/package-hooks -endif -ifndef DISABLE_HELP_INSTALL - mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C - $(INSTALL_DATA) $(EXPANDED_DOC_PAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C - mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures - $(INSTALL_DATA) $(EXPANDED_DOC_IMAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures - $(foreach lang,$(DOC_LINGUAS),`mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/$(lang)`) - $(foreach lang,$(DOC_LINGUAS),\ - $(foreach page,$(DOC_PAGES),\ - `$(INSTALL_DATA) help/$(lang)/$(page) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/$(lang)`\ - )\ - ) -endif - -$(foreach lang,$(CORE_SUPPORTED_LANGUAGES),`mkdir -p $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES ; \ - $(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \ - $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`) - mkdir -p $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin - $(INSTALL_PROGRAM) $(PLUGINS_SO) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin - $(INSTALL_PROGRAM) plugins/common/libshotwell-plugin-common.so $(DESTDIR)$(PREFIX)/$(LIB) -ifdef PLUGINS_RC - $(INSTALL_DATA) $(PLUGINS_RC) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin -endif -ifndef DISABLE_EXTRA_PLUGINS_INSTALL - $(INSTALL_PROGRAM) $(EXTRA_PLUGINS_SO) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin -ifdef EXTRA_PLUGINS_RC - $(INSTALL_DATA) $(EXTRA_PLUGINS_RC) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin -endif -endif -ifdef INSTALL_HEADERS - mkdir -p $(DESTDIR)$(PREFIX)/include/shotwell/plugins - $(INSTALL_DATA) $(PLUGIN_HEADER) $(DESTDIR)$(PREFIX)/include/shotwell/plugins - mkdir -p $(DESTDIR)$(PREFIX)/share/vala/vapi - $(INSTALL_DATA) $(PLUGIN_VAPI) $(DESTDIR)$(PREFIX)/share/vala/vapi - $(INSTALL_DATA) $(PLUGIN_DEPS) $(DESTDIR)$(PREFIX)/share/vala/vapi - test -d $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig || mkdir -p $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig - $(INSTALL_DATA) $(PC_FILE) $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig -endif - -# Old versions of Makefile installed util binaries to $(PREFIX)/bin, so uninstall from there for now -uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM) - rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM_THUMBNAILER) - rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM_MIGRATOR) - rm -f $(DESTDIR)$(LIBEXECDIR)/$(PROGRAM_THUMBNAILER) - rm -f $(DESTDIR)$(LIBEXECDIR)/$(PROGRAM_MIGRATOR) - rm -fr $(DESTDIR)$(PREFIX)/share/shotwell - rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/shotwell.png - rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/22x22/apps/shotwell.png - rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps/shotwell.png - rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/32x32/apps/shotwell.png - rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/shotwell.png - rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/shotwell.png - rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/symbolic/apps/shotwell-symbolic.svg - rm -f $(DESTDIR)$(PREFIX)/share/applications/shotwell.desktop - rm -f $(DESTDIR)$(PREFIX)/share/applications/shotwell-viewer.desktop - rm -f $(DESTDIR)$(PREFIX)/share/appdata/shotwell.appdata.xml -ifndef DISABLE_DESKTOP_UPDATE - -update-desktop-database || : -endif -ifndef DISABLE_HELP_INSTALL - rm -rf $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell -endif -ifdef ENABLE_APPORT_HOOK_INSTALL - rm -f $(DESTDIR)$(PREFIX)/share/apport/package-hooks/shotwell.py -endif - $(foreach lang,$(CORE_SUPPORTED_LANGUAGES),`rm -f $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`) - rm -rf $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin - rm -rf $(DESTDIR)$(PREFIX)/$(LIB)/libshotwell-plugin-common.so -ifdef INSTALL_HEADERS - rm -rf $(DESTDIR)$(PREFIX)/include/shotwell - rm -f $(foreach vapi,$(PLUGIN_VAPI),$(DESTDIR)$(PREFIX)/share/vala/vapi/$(notdir $(vapi))) - rm -f $(foreach dep,$(PLUGIN_DEPS),$(DESTDIR)$(PREFIX)/share/vala/vapi/$(notdir $(dep))) - rm -f $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig/$(PC_FILE) -endif - rm -f $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/org.yorba.shotwell.gschema.xml - rm -f $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/org.yorba.shotwell-extras.gschema.xml -ifndef DISABLE_SCHEMAS_COMPILE - glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas -endif -ifndef DISABLE_GSETTINGS_CONVERT_INSTALL - rm -f $(DESTDIR)/usr/share/GConf/gsettings/shotwell.convert -endif - -$(PC_FILE): $(PC_INPUT) $(MAKE_FILES) - m4 '-D_VERSION_=$(VERSION)' '-D_PREFIX_=$(PREFIX)' '-D_REQUIREMENTS_=$(PLUGIN_PKG_REQS)' \ - '-D_LIB_=$(LIB)' $< > $@ - -$(UNITIZE_STAMP): $(MAKE_FILES) src/unit/rc/UnitInternals.m4 src/unit/rc/unitize_entry.m4 - @mkdir -p $(UNITIZE_DIR) - @$(foreach unit,$(APP_UNITS),\ - `m4 '-D_APP_UNIT_=$(unit)' src/unit/rc/unitize_entry.m4 > $(UNITIZE_DIR)/_$(unit)_unitize_entry.vala`) - @$(foreach nm,$(UNIT_NAMESPACES),\ - `m4 '-D_UNIT_NAME_=$(nm)' '-D_UNIT_USES_INITS_=$($(nm)_USES_INITS)' '-D_UNIT_USES_TERMINATORS_=$($(nm)_USES_TERMINATORS)' src/unit/rc/UnitInternals.m4 > $(UNITIZE_DIR)/_$(nm)Internals.vala`) - @touch $@ - -$(UNITIZE_INITS) $(UNITIZE_ENTRIES): $(UNITIZE_STAMP) - @ - -# EXPANDED_SRC_FILES includes UNITIZE_INITS and UNITIZE_ENTRY -$(VALA_STAMP): $(EXPANDED_SRC_FILES) $(EXPANDED_VAPI_FILES) $(EXPANDED_SRC_HEADER_FILES) - $(call check_valac_version) - @echo Compiling Vala code... - @mkdir -p $(BUILD_DIR) - $(VALAC) --ccode --directory=$(BUILD_DIR) --basedir=src \ - $(foreach pkg,$(VALA_PKGS),--pkg=$(pkg)) \ - $(foreach vapidir,$(VAPI_DIRS),--vapidir=$(vapidir)) \ - $(VALAFLAGS) \ - $(EXPANDED_SRC_FILES) - @touch $@ - -# Do not remove hard tab or at symbol; necessary for dependencies to complete. -$(EXPANDED_C_FILES): $(VALA_STAMP) - @ - -$(EXPANDED_OBJ_FILES): %.o: %.c $(CONFIG_IN) Makefile - $(CC) -c $(VALA_CFLAGS) $(CFLAGS) -o $@ $< - -$(PROGRAM): $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) $(THUMBNAILER_BIN) misc/gschemas.compiled $(DOC_LANG_STAMP) - $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -o $@ - -misc/gschemas.compiled: $(SCHEMA_FILES) - rm -f misc/gschemas.compiled - glib-compile-schemas misc - -$(DOC_LANG_STAMP): $(EXPANDED_DOC_PAGES) $(EXPANDED_DOC_PO) - $(foreach lang,$(DOC_LINGUAS), \ - $(foreach page,$(DOC_PAGES), `xml2po -m mallard -p help/$(lang)/$(lang).po -o help/$(lang)/$(page) help/C/$(page)`)) - @touch $(DOC_LANG_STAMP) - -$(THUMBNAILER_BIN): $(EXPANDED_THUMBNAILER_SRC_FILES) - $(VALAC) $(EXPANDED_THUMBNAILER_SRC_FILES) $(VALAFLAGS) -o $@ $(foreach pkg,$(THUMBNAILER_PKGS),--pkg=$(pkg)) - -$(PLUGINS_SO) $(EXTRA_PLUGINS_SO): $(PLUGINS_DIR) - @ - -.PHONY: $(PLUGINS_DIR) -$(PLUGINS_DIR): $(PLUGIN_VAPI) $(PLUGIN_HEADER) $(PLUGIN_DEPS) - $(call check_valac_version) - @$(MAKE) --directory=$@ PLUGINS_VERSION="$(VERSION)" USER_VALAFLAGS="$(USER_VALAFLAGS)" \ - PLUGIN_CFLAGS="$(PLUGIN_CFLAGS)" - -.PHONY: docs -docs: -# valadoc complains if the directory already exists - @rm -rf docs - valadoc --directory=docs --package-name=shotwell-plugin-dev --package-version=$(VERSION) --verbose \ - --no-protected \ - $(foreach def,$(DEFINES),--define=$(def)) \ - $(foreach pkg,$(VALA_PKGS),--pkg=$(pkg)) \ - $(foreach vapidir,$(VAPI_DIRS),--vapidir=$(vapidir)) \ - $(PLUGIN_INTERFACES) - -glade: lib$(PROGRAM).so - -lib$(PROGRAM).so: $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) - $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -shared -o $@ - -.PHONY: pkgcheck -pkgcheck: - @if ! test -f configure.mk; then echo "Please run ./configure first."; exit 2; fi - -.PHONY: valacheck -valacheck: - @ $(VALAC) --version >/dev/null 2>/dev/null || ( echo 'Shotwell requires Vala compiler $(MIN_VALAC_VERSION) or greater. No valac found in path or $$VALAC.'; exit 1 ) - @ ./chkver min $(VALAC_VERSION) $(MIN_VALAC_VERSION) || ( echo 'Shotwell requires Vala compiler $(MIN_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 ) - $(if $(MAX_VALAC_VERSION),\ - @ ./chkver max $(VALAC_VERSION) $(MAX_VALAC_VERSION) || ( echo 'Shotwell cannot be built by Vala compiler $(MAX_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 ),) - - - -ifndef ASSUME_PKGS -ifdef EXT_PKG_VERSIONS - @pkg-config --print-errors --exists '$(EXT_PKG_VERSIONS) $(DIRECT_LIBS_VERSIONS)' -endif -ifdef EXT_PKGS - @pkg-config --print-errors --exists $(EXT_PKGS) $(DIRECT_LIBS_VERSIONS) -endif -endif - @ type msgfmt > /dev/null || ( echo 'msgfmt (usually found in the gettext package) is missing and is required to build Shotwell. ' ; exit 1 ) -ifndef DISABLE_DESKTOP_VALIDATE - @ type desktop-file-validate > /dev/null || ( echo 'desktop-file-validate (usually found in the desktop-file-utils package) is missing and is required to build Shotwell. ' ; exit 1 ) -endif diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..c133334 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,153 @@ +SUBDIRS = misc help po app-icons icons ui + +EXTRA_DIST = AUTHORS + +AUTHORS: + $(AM_V_GEN)if test -d "$(srcdir)/.git"; \ + then \ + echo Creating $@ && \ + ( cd "$(top_srcdir)" && \ + echo '# Generated by Makefile. Do not edit.'; echo; \ + git log --no-merges --pretty=format:"%an" $(SUBDIRS) \ + | sort | uniq ) > $@.tmp \ + && mv -f $@.tmp $@ \ + || ( rm -f $@.tmp ; \ + echo Failed to generate $@ >&2 ); \ + else touch $@; fi + +# Generate the ChangeLog and clean the dist tarball +@GENERATE_CHANGELOG_RULES@ + +dist-hook: dist-ChangeLog +# find $(distdir) -name "*.c" -o -name "shotwell*.h" -o -name "shotwell*.vapi" -o -name "*vala.stamp" -exec rm {} \; + +MAINTAINERCLEANFILES = \ + $(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \ + $(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \ + $(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) + +GITIGNOREFILES = \ + ABOUT-NLS \ + plugins/**/*.h \ + plugins/**/*.vapi \ + **/*.sw[nop] \ + **/*~ \ + *.o \ + m4/* \ + **/resource.c \ + aclocal.m4 \ + build-aux \ + ChangeLog \ + config \ + config.h.in \ + gtk-doc.m4 \ + gtk-doc.make \ + INSTALL \ + $(NULL) +# +# Generate utility library for plugins +# + +lib_LTLIBRARIES = \ + plugins/common/libshotwell-plugin-common.la + +plugins_common_libshotwell_plugin_common_la_SOURCES = \ + plugins/common/RESTSupport.vala \ + plugins/common/Resources.vala \ + plugins/shotwell-plugin-dev-1.0.vapi + +$(top_srcdir)/plugins/shotwell-plugin-common.vapi plugins/shotwell-plugin-common.h: \ + plugins_common_libshotwell_plugin_common_la_vala.stamp + +plugins_common_libshotwell_plugin_common_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --library publishing-support \ + --pkg gtk+-3.0 \ + --pkg json-glib-1.0 \ + --pkg libsoup-2.4 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --pkg gee-0.8 \ + --vapi=plugins/shotwell-plugin-common.vapi \ + --header=plugins/shotwell-plugin-common.h + +plugins_common_libshotwell_plugin_common_la_CFLAGS = \ + $(PLUGIN_CFLAGS) \ + -DGETTEXT_PACKAGE='"$(GETTEXT_PACKAGE)"' \ + -I $(top_srcdir)/plugins -I$(top_builddir)/plugins + +plugins_common_libshotwell_plugin_common_la_LIBADD = \ + $(PLUGIN_LIBS) + +plugins/shotwell-plugin-dev-1.0.vapi plugins/shotwell-plugin-dev-1.0.h: src_plugins_libplugin_la_vala.stamp + +# +# Create intermediate library for the Plugin API +# +noinst_LTLIBRARIES = \ + src/plugins/libplugin.la + +src_plugins_libplugin_la_SOURCES = \ + src/plugins/SpitInterfaces.vala \ + src/plugins/TransitionsInterfaces.vala \ + src/plugins/PublishingInterfaces.vala \ + src/plugins/DataImportsInterfaces.vala + +src_plugins_libplugin_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gio-2.0 \ + --pkg gtk+-3.0 \ + --pkg gmodule-2.0 \ + --pkg gee-0.8 \ + --library plugins \ + --vapi=plugins/shotwell-plugin-dev-1.0.vapi \ + --header=plugins/shotwell-plugin-dev-1.0.h + +src_plugins_libplugin_la_CFLAGS = $(PLUGIN_CFLAGS) + +SHOTWELL_PLUGIN_LDFLAGS = \ + -no-undefined \ + -module \ + -shared \ + -export_dynamic \ + -avoid-version + +-include $(top_srcdir)/git.mk + +plugindir = $(pkglibdir)/plugins/builtin +plugin_LTLIBRARIES = +dist_plugin_DATA = +pkglibexec_PROGRAMS = + +dist_pkglibexec_SCRIPTS = $(top_srcdir)/settings-migrator/shotwell-settings-migrator +dist_noinst_DATA = $(NULL) + +MOSTLYCLEANFILES = $(NULL) + +include $(top_srcdir)/common.am +include $(top_srcdir)/shotwell.am +include $(top_srcdir)/thumbnailer.am + +# Plugins +include $(top_srcdir)/publish.am + +if HAVE_EXTRA_PLUGINS +include $(top_srcdir)/publish-extra.am +endif + +include $(top_srcdir)/transition.am +include $(top_srcdir)/import.am + +dist_noinst_SCRIPTS = \ + autogen.sh + +dist_noinst_DATA += \ + plugins/shotwell-plugin-dev-1.0.h \ + plugins/shotwell-plugin-common.h \ + vapi/gphoto.h \ + vapi/LConv.vapi \ + vapi/libexif.vapi \ + vapi/libgphoto2.vapi \ + vapi/libraw.vapi \ + vapi/unity.deps \ + vapi/unity.vapi diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..fe97449 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,8161 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +pkglibexec_PROGRAMS = thumbnailer/shotwell-video-thumbnailer$(EXEEXT) +@IS_GITVERSION_TRUE@am__append_1 = -D_GIT_VERSION='"@GITVER@"' +@IS_GITVERSION_TRUE@am__append_2 = --define=_GITVERSION +bin_PROGRAMS = shotwell$(EXEEXT) +@HAVE_EXTRA_PLUGINS_TRUE@am__append_3 = plugins/shotwell-publishing-extras/shotwell-publishing-extras.la +@HAVE_EXTRA_PLUGINS_TRUE@am__append_4 = \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/gallery3.png \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/rajce.png \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/tumblr.png \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/rajce_authentication_pane.ui \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/yandex_publish_model.ui \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml + +@HAVE_EXTRA_PLUGINS_TRUE@am__append_5 = plugins/shotwell-publishing-extras/resource.c +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/appdata-xml.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/ax_generate_changelog.m4 \ + $(top_srcdir)/m4/ax_is_release.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(dist_noinst_SCRIPTS) \ + $(dist_pkglibexec_SCRIPTS) $(am__dist_noinst_DATA_DIST) \ + $(dist_plugin_DATA) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(plugindir)" \ + "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ + "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(plugindir)" +LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) \ + $(plugin_LTLIBRARIES) +am__DEPENDENCIES_1 = +plugins_common_libshotwell_plugin_common_la_DEPENDENCIES = \ + $(am__DEPENDENCIES_1) +am__dirstamp = $(am__leading_dot)dirstamp +am_plugins_common_libshotwell_plugin_common_la_OBJECTS = plugins/common/plugins_common_libshotwell_plugin_common_la-RESTSupport.lo \ + plugins/common/plugins_common_libshotwell_plugin_common_la-Resources.lo +plugins_common_libshotwell_plugin_common_la_OBJECTS = \ + $(am_plugins_common_libshotwell_plugin_common_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +plugins_common_libshotwell_plugin_common_la_LINK = $(LIBTOOL) \ + $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) \ + $(plugins_common_libshotwell_plugin_common_la_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +plugins_shotwell_data_imports_shotwell_data_imports_la_DEPENDENCIES = \ + $(am__DEPENDENCIES_1) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la +am_plugins_shotwell_data_imports_shotwell_data_imports_la_OBJECTS = plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.lo \ + plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.lo +nodist_plugins_shotwell_data_imports_shotwell_data_imports_la_OBJECTS = plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.lo +plugins_shotwell_data_imports_shotwell_data_imports_la_OBJECTS = $(am_plugins_shotwell_data_imports_shotwell_data_imports_la_OBJECTS) \ + $(nodist_plugins_shotwell_data_imports_shotwell_data_imports_la_OBJECTS) +plugins_shotwell_data_imports_shotwell_data_imports_la_LINK = \ + $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) \ + $(CFLAGS) \ + $(plugins_shotwell_data_imports_shotwell_data_imports_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +@HAVE_EXTRA_PLUGINS_TRUE@plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_DEPENDENCIES = \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(am__DEPENDENCIES_1) \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(top_builddir)/plugins/common/libshotwell-plugin-common.la +am__plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES_DIST = \ + plugins/shotwell-publishing-extras/GalleryConnector.vala \ + plugins/shotwell-publishing-extras/RajcePublishing.vala \ + plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala \ + plugins/shotwell-publishing-extras/TumblrPublishing.vala \ + plugins/shotwell-publishing-extras/YandexPublishing.vala \ + plugins/shotwell-plugin-common.vapi +@HAVE_EXTRA_PLUGINS_TRUE@am_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_OBJECTS = plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.lo \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.lo \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.lo \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.lo \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.lo +@HAVE_EXTRA_PLUGINS_TRUE@nodist_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_OBJECTS = plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.lo +plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_OBJECTS = $(am_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_OBJECTS) \ + $(nodist_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_OBJECTS) +plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LINK = \ + $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) \ + $(CFLAGS) \ + $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +@HAVE_EXTRA_PLUGINS_TRUE@am_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_rpath = \ +@HAVE_EXTRA_PLUGINS_TRUE@ -rpath $(plugindir) +plugins_shotwell_publishing_shotwell_publishing_la_DEPENDENCIES = \ + $(am__DEPENDENCIES_1) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la +am_plugins_shotwell_publishing_shotwell_publishing_la_OBJECTS = plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.lo \ + plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.lo \ + plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.lo \ + plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.lo \ + plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.lo \ + plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.lo +nodist_plugins_shotwell_publishing_shotwell_publishing_la_OBJECTS = plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-resource.lo +plugins_shotwell_publishing_shotwell_publishing_la_OBJECTS = $(am_plugins_shotwell_publishing_shotwell_publishing_la_OBJECTS) \ + $(nodist_plugins_shotwell_publishing_shotwell_publishing_la_OBJECTS) +plugins_shotwell_publishing_shotwell_publishing_la_LINK = $(LIBTOOL) \ + $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) \ + $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) \ + $(CFLAGS) \ + $(plugins_shotwell_publishing_shotwell_publishing_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +plugins_shotwell_transitions_shotwell_transitions_la_DEPENDENCIES = \ + $(am__DEPENDENCIES_1) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la +am_plugins_shotwell_transitions_shotwell_transitions_la_OBJECTS = plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.lo \ + plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.lo +nodist_plugins_shotwell_transitions_shotwell_transitions_la_OBJECTS = plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-resource.lo +plugins_shotwell_transitions_shotwell_transitions_la_OBJECTS = $(am_plugins_shotwell_transitions_shotwell_transitions_la_OBJECTS) \ + $(nodist_plugins_shotwell_transitions_shotwell_transitions_la_OBJECTS) +plugins_shotwell_transitions_shotwell_transitions_la_LINK = \ + $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) \ + $(CFLAGS) \ + $(plugins_shotwell_transitions_shotwell_transitions_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +src_plugins_libplugin_la_LIBADD = +am_src_plugins_libplugin_la_OBJECTS = \ + src/plugins/src_plugins_libplugin_la-SpitInterfaces.lo \ + src/plugins/src_plugins_libplugin_la-TransitionsInterfaces.lo \ + src/plugins/src_plugins_libplugin_la-PublishingInterfaces.lo \ + src/plugins/src_plugins_libplugin_la-DataImportsInterfaces.lo +src_plugins_libplugin_la_OBJECTS = \ + $(am_src_plugins_libplugin_la_OBJECTS) +src_plugins_libplugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +PROGRAMS = $(bin_PROGRAMS) $(pkglibexec_PROGRAMS) +am_shotwell_OBJECTS = src/unit/shotwell-Unit.$(OBJEXT) \ + src/util/shotwell-Util.$(OBJEXT) \ + src/util/shotwell-file.$(OBJEXT) \ + src/util/shotwell-image.$(OBJEXT) \ + src/util/shotwell-misc.$(OBJEXT) \ + src/util/shotwell-string.$(OBJEXT) \ + src/util/shotwell-system.$(OBJEXT) \ + src/util/shotwell-KeyValueMap.$(OBJEXT) \ + src/util/shotwell-ui.$(OBJEXT) \ + src/threads/shotwell-Threads.$(OBJEXT) \ + src/threads/shotwell-Workers.$(OBJEXT) \ + src/threads/shotwell-BackgroundJob.$(OBJEXT) \ + src/threads/shotwell-Semaphore.$(OBJEXT) \ + src/db/shotwell-Db.$(OBJEXT) \ + src/db/shotwell-DatabaseTable.$(OBJEXT) \ + src/db/shotwell-PhotoTable.$(OBJEXT) \ + src/db/shotwell-EventTable.$(OBJEXT) \ + src/db/shotwell-TagTable.$(OBJEXT) \ + src/db/shotwell-TombstoneTable.$(OBJEXT) \ + src/db/shotwell-VideoTable.$(OBJEXT) \ + src/db/shotwell-VersionTable.$(OBJEXT) \ + src/db/shotwell-SavedSearchDBTable.$(OBJEXT) \ + src/editing_tools/shotwell-EditingTools.$(OBJEXT) \ + src/editing_tools/shotwell-StraightenTool.$(OBJEXT) \ + src/slideshow/shotwell-Slideshow.$(OBJEXT) \ + src/slideshow/shotwell-TransitionEffects.$(OBJEXT) \ + src/photos/shotwell-Photos.$(OBJEXT) \ + src/photos/shotwell-PhotoFileAdapter.$(OBJEXT) \ + src/photos/shotwell-PhotoFileFormat.$(OBJEXT) \ + src/photos/shotwell-PhotoFileSniffer.$(OBJEXT) \ + src/photos/shotwell-PhotoMetadata.$(OBJEXT) \ + src/photos/shotwell-GRaw.$(OBJEXT) \ + src/photos/shotwell-GdkSupport.$(OBJEXT) \ + src/photos/shotwell-JfifSupport.$(OBJEXT) \ + src/photos/shotwell-BmpSupport.$(OBJEXT) \ + src/photos/shotwell-RawSupport.$(OBJEXT) \ + src/photos/shotwell-PngSupport.$(OBJEXT) \ + src/photos/shotwell-TiffSupport.$(OBJEXT) \ + src/plugins/shotwell-Plugins.$(OBJEXT) \ + src/plugins/shotwell-StandardHostInterface.$(OBJEXT) \ + src/plugins/shotwell-ManifestWidget.$(OBJEXT) \ + src/publishing/shotwell-Publishing.$(OBJEXT) \ + src/publishing/shotwell-PublishingUI.$(OBJEXT) \ + src/publishing/shotwell-PublishingPluginHost.$(OBJEXT) \ + src/publishing/shotwell-APIGlue.$(OBJEXT) \ + src/library/shotwell-Library.$(OBJEXT) \ + src/library/shotwell-LibraryWindow.$(OBJEXT) \ + src/library/shotwell-Branch.$(OBJEXT) \ + src/library/shotwell-TrashSidebarEntry.$(OBJEXT) \ + src/library/shotwell-OfflineSidebarEntry.$(OBJEXT) \ + src/library/shotwell-FlaggedSidebarEntry.$(OBJEXT) \ + src/library/shotwell-LastImportSidebarEntry.$(OBJEXT) \ + src/library/shotwell-ImportQueueSidebarEntry.$(OBJEXT) \ + src/library/shotwell-FlaggedPage.$(OBJEXT) \ + src/library/shotwell-ImportQueuePage.$(OBJEXT) \ + src/library/shotwell-LastImportPage.$(OBJEXT) \ + src/library/shotwell-OfflinePage.$(OBJEXT) \ + src/library/shotwell-TrashPage.$(OBJEXT) \ + src/direct/shotwell-Direct.$(OBJEXT) \ + src/direct/shotwell-DirectWindow.$(OBJEXT) \ + src/direct/shotwell-DirectPhoto.$(OBJEXT) \ + src/direct/shotwell-DirectPhotoPage.$(OBJEXT) \ + src/direct/shotwell-DirectView.$(OBJEXT) \ + src/core/shotwell-Core.$(OBJEXT) \ + src/core/shotwell-DataCollection.$(OBJEXT) \ + src/core/shotwell-DataSet.$(OBJEXT) \ + src/core/shotwell-util.$(OBJEXT) \ + src/core/shotwell-SourceCollection.$(OBJEXT) \ + src/core/shotwell-SourceHoldingTank.$(OBJEXT) \ + src/core/shotwell-DatabaseSourceCollection.$(OBJEXT) \ + src/core/shotwell-ContainerSourceCollection.$(OBJEXT) \ + src/core/shotwell-ViewCollection.$(OBJEXT) \ + src/core/shotwell-DataObject.$(OBJEXT) \ + src/core/shotwell-Alteration.$(OBJEXT) \ + src/core/shotwell-DataSource.$(OBJEXT) \ + src/core/shotwell-DataSourceTypes.$(OBJEXT) \ + src/core/shotwell-DataView.$(OBJEXT) \ + src/core/shotwell-DataViewTypes.$(OBJEXT) \ + src/core/shotwell-Tracker.$(OBJEXT) \ + src/core/shotwell-SourceInterfaces.$(OBJEXT) \ + src/sidebar/shotwell-Sidebar.$(OBJEXT) \ + src/sidebar/shotwell-Branch.$(OBJEXT) \ + src/sidebar/shotwell-Entry.$(OBJEXT) \ + src/sidebar/shotwell-Tree.$(OBJEXT) \ + src/sidebar/shotwell-common.$(OBJEXT) \ + src/events/shotwell-Events.$(OBJEXT) \ + src/events/shotwell-Branch.$(OBJEXT) \ + src/events/shotwell-EventsDirectoryPage.$(OBJEXT) \ + src/events/shotwell-EventPage.$(OBJEXT) \ + src/events/shotwell-EventDirectoryItem.$(OBJEXT) \ + src/tags/shotwell-Tags.$(OBJEXT) \ + src/tags/shotwell-Branch.$(OBJEXT) \ + src/tags/shotwell-TagPage.$(OBJEXT) \ + src/tags/shotwell-HierarchicalTagIndex.$(OBJEXT) \ + src/tags/shotwell-HierarchicalTagUtilities.$(OBJEXT) \ + src/camera/shotwell-Camera.$(OBJEXT) \ + src/camera/shotwell-Branch.$(OBJEXT) \ + src/camera/shotwell-CameraTable.$(OBJEXT) \ + src/camera/shotwell-GPhoto.$(OBJEXT) \ + src/camera/shotwell-ImportPage.$(OBJEXT) \ + src/searches/shotwell-Searches.$(OBJEXT) \ + src/searches/shotwell-Branch.$(OBJEXT) \ + src/searches/shotwell-SearchBoolean.$(OBJEXT) \ + src/searches/shotwell-SavedSearchPage.$(OBJEXT) \ + src/searches/shotwell-SavedSearchDialog.$(OBJEXT) \ + src/config/shotwell-Config.$(OBJEXT) \ + src/config/shotwell-ConfigurationInterfaces.$(OBJEXT) \ + src/config/shotwell-GSettingsEngine.$(OBJEXT) \ + src/data_imports/shotwell-DataImports.$(OBJEXT) \ + src/data_imports/shotwell-DataImportsPluginHost.$(OBJEXT) \ + src/data_imports/shotwell-DataImportsUI.$(OBJEXT) \ + src/data_imports/shotwell-DataImportJob.$(OBJEXT) \ + src/data_imports/shotwell-DataImportSource.$(OBJEXT) \ + src/folders/shotwell-Folders.$(OBJEXT) \ + src/folders/shotwell-Branch.$(OBJEXT) \ + src/folders/shotwell-Page.$(OBJEXT) \ + src/shotwell-main.$(OBJEXT) src/shotwell-AppWindow.$(OBJEXT) \ + src/shotwell-CollectionPage.$(OBJEXT) \ + src/shotwell-NaturalCollate.$(OBJEXT) \ + src/shotwell-Thumbnail.$(OBJEXT) \ + src/shotwell-ThumbnailCache.$(OBJEXT) \ + src/shotwell-CheckerboardLayout.$(OBJEXT) \ + src/shotwell-PhotoPage.$(OBJEXT) src/shotwell-Page.$(OBJEXT) \ + src/shotwell-SortedList.$(OBJEXT) \ + src/shotwell-Dimensions.$(OBJEXT) src/shotwell-Box.$(OBJEXT) \ + src/shotwell-Photo.$(OBJEXT) \ + src/shotwell-Orientation.$(OBJEXT) \ + src/shotwell-BatchImport.$(OBJEXT) \ + src/shotwell-Dialogs.$(OBJEXT) \ + src/shotwell-Resources.$(OBJEXT) src/shotwell-Debug.$(OBJEXT) \ + src/shotwell-ColorTransformation.$(OBJEXT) \ + src/shotwell-Properties.$(OBJEXT) \ + src/shotwell-CustomComponents.$(OBJEXT) \ + src/shotwell-Event.$(OBJEXT) \ + src/shotwell-International.$(OBJEXT) \ + src/shotwell-AppDirs.$(OBJEXT) \ + src/shotwell-PixbufCache.$(OBJEXT) \ + src/shotwell-CommandManager.$(OBJEXT) \ + src/shotwell-Commands.$(OBJEXT) \ + src/shotwell-SlideshowPage.$(OBJEXT) \ + src/shotwell-LibraryFiles.$(OBJEXT) \ + src/shotwell-Printing.$(OBJEXT) src/shotwell-Tag.$(OBJEXT) \ + src/shotwell-Screensaver.$(OBJEXT) \ + src/shotwell-Exporter.$(OBJEXT) \ + src/shotwell-DirectoryMonitor.$(OBJEXT) \ + src/shotwell-LibraryMonitor.$(OBJEXT) \ + src/shotwell-VideoSupport.$(OBJEXT) \ + src/shotwell-Tombstone.$(OBJEXT) \ + src/shotwell-MetadataWriter.$(OBJEXT) \ + src/shotwell-Application.$(OBJEXT) \ + src/shotwell-TimedQueue.$(OBJEXT) \ + src/shotwell-MediaPage.$(OBJEXT) \ + src/shotwell-MediaDataRepresentation.$(OBJEXT) \ + src/shotwell-DesktopIntegration.$(OBJEXT) \ + src/shotwell-MediaInterfaces.$(OBJEXT) \ + src/shotwell-MediaMetadata.$(OBJEXT) \ + src/shotwell-VideoMetadata.$(OBJEXT) \ + src/shotwell-MediaMonitor.$(OBJEXT) \ + src/shotwell-PhotoMonitor.$(OBJEXT) \ + src/shotwell-VideoMonitor.$(OBJEXT) \ + src/shotwell-SearchFilter.$(OBJEXT) \ + src/shotwell-MediaViewTracker.$(OBJEXT) \ + src/shotwell-UnityProgressBar.$(OBJEXT) \ + src/shotwell-Upgrades.$(OBJEXT) \ + src/.unitize/shotwell-_UnitInternals.$(OBJEXT) \ + src/.unitize/shotwell-_UtilInternals.$(OBJEXT) \ + src/.unitize/shotwell-_ThreadsInternals.$(OBJEXT) \ + src/.unitize/shotwell-_DbInternals.$(OBJEXT) \ + src/.unitize/shotwell-_EditingToolsInternals.$(OBJEXT) \ + src/.unitize/shotwell-_PluginsInternals.$(OBJEXT) \ + src/.unitize/shotwell-_SlideshowInternals.$(OBJEXT) \ + src/.unitize/shotwell-_PhotosInternals.$(OBJEXT) \ + src/.unitize/shotwell-_PublishingInternals.$(OBJEXT) \ + src/.unitize/shotwell-_LibraryInternals.$(OBJEXT) \ + src/.unitize/shotwell-_DirectInternals.$(OBJEXT) \ + src/.unitize/shotwell-_CoreInternals.$(OBJEXT) \ + src/.unitize/shotwell-_SidebarInternals.$(OBJEXT) \ + src/.unitize/shotwell-_EventsInternals.$(OBJEXT) \ + src/.unitize/shotwell-_TagsInternals.$(OBJEXT) \ + src/.unitize/shotwell-_CameraInternals.$(OBJEXT) \ + src/.unitize/shotwell-_SearchesInternals.$(OBJEXT) \ + src/.unitize/shotwell-_ConfigInternals.$(OBJEXT) \ + src/.unitize/shotwell-_DataImportsInternals.$(OBJEXT) \ + src/.unitize/shotwell-_FoldersInternals.$(OBJEXT) \ + src/.unitize/shotwell-_Library_unitize_entry.$(OBJEXT) \ + src/.unitize/shotwell-_Direct_unitize_entry.$(OBJEXT) +shotwell_OBJECTS = $(am_shotwell_OBJECTS) +shotwell_DEPENDENCIES = src/plugins/libplugin.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +shotwell_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(shotwell_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_thumbnailer_shotwell_video_thumbnailer_OBJECTS = thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.$(OBJEXT) +thumbnailer_shotwell_video_thumbnailer_OBJECTS = \ + $(am_thumbnailer_shotwell_video_thumbnailer_OBJECTS) +thumbnailer_shotwell_video_thumbnailer_DEPENDENCIES = \ + $(am__DEPENDENCIES_1) +thumbnailer_shotwell_video_thumbnailer_LINK = $(LIBTOOL) $(AM_V_lt) \ + --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ + $(CCLD) $(thumbnailer_shotwell_video_thumbnailer_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SCRIPTS = $(dist_noinst_SCRIPTS) $(dist_pkglibexec_SCRIPTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +VALACOMPILE = $(VALAC) $(AM_VALAFLAGS) $(VALAFLAGS) +LTVALACOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(VALAC) $(AM_VALAFLAGS) \ + $(VALAFLAGS) +AM_V_VALAC = $(am__v_VALAC_@AM_V@) +am__v_VALAC_ = $(am__v_VALAC_@AM_DEFAULT_V@) +am__v_VALAC_0 = @echo " VALAC " $@; +am__v_VALAC_1 = +SOURCES = $(plugins_common_libshotwell_plugin_common_la_SOURCES) \ + $(plugins_shotwell_data_imports_shotwell_data_imports_la_SOURCES) \ + $(nodist_plugins_shotwell_data_imports_shotwell_data_imports_la_SOURCES) \ + $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES) \ + $(nodist_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES) \ + $(plugins_shotwell_publishing_shotwell_publishing_la_SOURCES) \ + $(nodist_plugins_shotwell_publishing_shotwell_publishing_la_SOURCES) \ + $(plugins_shotwell_transitions_shotwell_transitions_la_SOURCES) \ + $(nodist_plugins_shotwell_transitions_shotwell_transitions_la_SOURCES) \ + $(src_plugins_libplugin_la_SOURCES) $(shotwell_SOURCES) \ + $(thumbnailer_shotwell_video_thumbnailer_SOURCES) +DIST_SOURCES = $(plugins_common_libshotwell_plugin_common_la_SOURCES) \ + $(plugins_shotwell_data_imports_shotwell_data_imports_la_SOURCES) \ + $(am__plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES_DIST) \ + $(plugins_shotwell_publishing_shotwell_publishing_la_SOURCES) \ + $(plugins_shotwell_transitions_shotwell_transitions_la_SOURCES) \ + $(src_plugins_libplugin_la_SOURCES) $(shotwell_SOURCES) \ + $(thumbnailer_shotwell_video_thumbnailer_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__dist_noinst_DATA_DIST = plugins/shotwell-publishing/facebook.png \ + plugins/shotwell-publishing/flickr.png \ + plugins/shotwell-publishing/picasa.png \ + plugins/shotwell-publishing/piwigo.png \ + plugins/shotwell-publishing/youtube.png \ + plugins/shotwell-publishing/facebook_publishing_options_pane.ui \ + plugins/shotwell-publishing/flickr_pin_entry_pane.ui \ + plugins/shotwell-publishing/flickr_publishing_options_pane.ui \ + plugins/shotwell-publishing/picasa_publishing_options_pane.ui \ + plugins/shotwell-publishing/piwigo_authentication_pane.ui \ + plugins/shotwell-publishing/piwigo_publishing_options_pane.ui \ + plugins/shotwell-publishing/youtube_publishing_options_pane.ui \ + plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml \ + plugins/shotwell-publishing-extras/gallery3.png \ + plugins/shotwell-publishing-extras/rajce.png \ + plugins/shotwell-publishing-extras/tumblr.png \ + plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui \ + plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui \ + plugins/shotwell-publishing-extras/rajce_authentication_pane.ui \ + plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui \ + plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui \ + plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui \ + plugins/shotwell-publishing-extras/yandex_publish_model.ui \ + plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml \ + plugins/shotwell-transitions/slideshow-plugin.png \ + plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml \ + plugins/shotwell-data-imports/f-spot-24.png \ + plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml \ + plugins/shotwell-plugin-dev-1.0.h \ + plugins/shotwell-plugin-common.h vapi/gphoto.h vapi/LConv.vapi \ + vapi/libexif.vapi vapi/libgphoto2.vapi vapi/libraw.vapi \ + vapi/unity.deps vapi/unity.vapi +DATA = $(dist_noinst_DATA) $(dist_plugin_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp \ + $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp \ + $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp \ + $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp \ + $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp \ + $(srcdir)/shotwell_vala.stamp \ + $(srcdir)/src_plugins_libplugin_la_vala.stamp \ + $(srcdir)/thumbnailer_shotwell_video_thumbnailer_vala.stamp \ + $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/depcomp \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/ltmain.sh \ + $(top_srcdir)/build-aux/missing $(top_srcdir)/common.am \ + $(top_srcdir)/import.am $(top_srcdir)/publish-extra.am \ + $(top_srcdir)/publish.am $(top_srcdir)/shotwell.am \ + $(top_srcdir)/thumbnailer.am $(top_srcdir)/transition.am \ + ABOUT-NLS AUTHORS COPYING INSTALL NEWS README THANKS \ + build-aux/compile build-aux/config.guess \ + build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ + build-aux/install-sh build-aux/ltmain.sh build-aux/missing \ + plugins/common/RESTSupport.c plugins/common/Resources.c \ + plugins/shotwell-data-imports/FSpotDatabase.c \ + plugins/shotwell-data-imports/FSpotDatabaseBehavior.c \ + plugins/shotwell-data-imports/FSpotDatabaseTable.c \ + plugins/shotwell-data-imports/FSpotImporter.c \ + plugins/shotwell-data-imports/FSpotMetaTable.c \ + plugins/shotwell-data-imports/FSpotPhotoTagsTable.c \ + plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c \ + plugins/shotwell-data-imports/FSpotPhotosTable.c \ + plugins/shotwell-data-imports/FSpotRollsTable.c \ + plugins/shotwell-data-imports/FSpotTableBehavior.c \ + plugins/shotwell-data-imports/FSpotTagsTable.c \ + plugins/shotwell-data-imports/SqliteSupport.c \ + plugins/shotwell-data-imports/VersionNumber.c \ + plugins/shotwell-data-imports/shotwell-data-imports.c \ + plugins/shotwell-publishing-extras/GalleryConnector.c \ + plugins/shotwell-publishing-extras/RajcePublishing.c \ + plugins/shotwell-publishing-extras/TumblrPublishing.c \ + plugins/shotwell-publishing-extras/YandexPublishing.c \ + plugins/shotwell-publishing-extras/shotwell-publishing-extras.c \ + plugins/shotwell-publishing/FacebookPublishing.c \ + plugins/shotwell-publishing/FlickrPublishing.c \ + plugins/shotwell-publishing/PicasaPublishing.c \ + plugins/shotwell-publishing/PiwigoPublishing.c \ + plugins/shotwell-publishing/YouTubePublishing.c \ + plugins/shotwell-publishing/shotwell-publishing.c \ + plugins/shotwell-transitions/BlindsEffect.c \ + plugins/shotwell-transitions/ChessEffect.c \ + plugins/shotwell-transitions/CircleEffect.c \ + plugins/shotwell-transitions/CirclesEffect.c \ + plugins/shotwell-transitions/ClockEffect.c \ + plugins/shotwell-transitions/CrumbleEffect.c \ + plugins/shotwell-transitions/FadeEffect.c \ + plugins/shotwell-transitions/SlideEffect.c \ + plugins/shotwell-transitions/SquaresEffect.c \ + plugins/shotwell-transitions/StripesEffect.c \ + plugins/shotwell-transitions/shotwell-transitions.c \ + src/.unitize/_CameraInternals.c \ + src/.unitize/_ConfigInternals.c src/.unitize/_CoreInternals.c \ + src/.unitize/_DataImportsInternals.c \ + src/.unitize/_DbInternals.c src/.unitize/_DirectInternals.c \ + src/.unitize/_Direct_unitize_entry.c \ + src/.unitize/_EditingToolsInternals.c \ + src/.unitize/_EventsInternals.c \ + src/.unitize/_FoldersInternals.c \ + src/.unitize/_LibraryInternals.c \ + src/.unitize/_Library_unitize_entry.c \ + src/.unitize/_PhotosInternals.c \ + src/.unitize/_PluginsInternals.c \ + src/.unitize/_PublishingInternals.c \ + src/.unitize/_SearchesInternals.c \ + src/.unitize/_SidebarInternals.c \ + src/.unitize/_SlideshowInternals.c \ + src/.unitize/_TagsInternals.c src/.unitize/_ThreadsInternals.c \ + src/.unitize/_UnitInternals.c src/.unitize/_UtilInternals.c \ + src/AppDirs.c src/AppWindow.c src/Application.c \ + src/BatchImport.c src/Box.c src/CheckerboardLayout.c \ + src/CollectionPage.c src/ColorTransformation.c \ + src/CommandManager.c src/Commands.c src/CustomComponents.c \ + src/Debug.c src/DesktopIntegration.c src/Dialogs.c \ + src/Dimensions.c src/DirectoryMonitor.c src/Event.c \ + src/Exporter.c src/International.c src/LibraryFiles.c \ + src/LibraryMonitor.c src/MediaDataRepresentation.c \ + src/MediaInterfaces.c src/MediaMetadata.c src/MediaMonitor.c \ + src/MediaPage.c src/MediaViewTracker.c src/MetadataWriter.c \ + src/NaturalCollate.c src/Orientation.c src/Page.c src/Photo.c \ + src/PhotoMonitor.c src/PhotoPage.c src/PixbufCache.c \ + src/Printing.c src/Properties.c src/Resources.c \ + src/Screensaver.c src/SearchFilter.c src/SlideshowPage.c \ + src/SortedList.c src/Tag.c src/Thumbnail.c \ + src/ThumbnailCache.c src/TimedQueue.c src/Tombstone.c \ + src/UnityProgressBar.c src/Upgrades.c src/VideoMetadata.c \ + src/VideoMonitor.c src/VideoSupport.c src/camera/Branch.c \ + src/camera/Camera.c src/camera/CameraTable.c \ + src/camera/GPhoto.c src/camera/ImportPage.c \ + src/config/Config.c src/config/ConfigurationInterfaces.c \ + src/config/GSettingsEngine.c src/core/Alteration.c \ + src/core/ContainerSourceCollection.c src/core/Core.c \ + src/core/DataCollection.c src/core/DataObject.c \ + src/core/DataSet.c src/core/DataSource.c \ + src/core/DataSourceTypes.c src/core/DataView.c \ + src/core/DataViewTypes.c src/core/DatabaseSourceCollection.c \ + src/core/SourceCollection.c src/core/SourceHoldingTank.c \ + src/core/SourceInterfaces.c src/core/Tracker.c \ + src/core/ViewCollection.c src/core/util.c \ + src/data_imports/DataImportJob.c \ + src/data_imports/DataImportSource.c \ + src/data_imports/DataImports.c \ + src/data_imports/DataImportsPluginHost.c \ + src/data_imports/DataImportsUI.c src/db/DatabaseTable.c \ + src/db/Db.c src/db/EventTable.c src/db/PhotoTable.c \ + src/db/SavedSearchDBTable.c src/db/TagTable.c \ + src/db/TombstoneTable.c src/db/VersionTable.c \ + src/db/VideoTable.c src/direct/Direct.c \ + src/direct/DirectPhoto.c src/direct/DirectPhotoPage.c \ + src/direct/DirectView.c src/direct/DirectWindow.c \ + src/editing_tools/EditingTools.c \ + src/editing_tools/StraightenTool.c src/events/Branch.c \ + src/events/EventDirectoryItem.c src/events/EventPage.c \ + src/events/Events.c src/events/EventsDirectoryPage.c \ + src/folders/Branch.c src/folders/Folders.c src/folders/Page.c \ + src/library/Branch.c src/library/FlaggedPage.c \ + src/library/FlaggedSidebarEntry.c \ + src/library/ImportQueuePage.c \ + src/library/ImportQueueSidebarEntry.c \ + src/library/LastImportPage.c \ + src/library/LastImportSidebarEntry.c src/library/Library.c \ + src/library/LibraryWindow.c src/library/OfflinePage.c \ + src/library/OfflineSidebarEntry.c src/library/TrashPage.c \ + src/library/TrashSidebarEntry.c src/main.c \ + src/photos/BmpSupport.c src/photos/GRaw.c \ + src/photos/GdkSupport.c src/photos/JfifSupport.c \ + src/photos/PhotoFileAdapter.c src/photos/PhotoFileFormat.c \ + src/photos/PhotoFileSniffer.c src/photos/PhotoMetadata.c \ + src/photos/Photos.c src/photos/PngSupport.c \ + src/photos/RawSupport.c src/photos/TiffSupport.c \ + src/plugins/DataImportsInterfaces.c \ + src/plugins/ManifestWidget.c src/plugins/Plugins.c \ + src/plugins/PublishingInterfaces.c \ + src/plugins/SpitInterfaces.c \ + src/plugins/StandardHostInterface.c \ + src/plugins/TransitionsInterfaces.c src/publishing/APIGlue.c \ + src/publishing/Publishing.c \ + src/publishing/PublishingPluginHost.c \ + src/publishing/PublishingUI.c src/searches/Branch.c \ + src/searches/SavedSearchDialog.c \ + src/searches/SavedSearchPage.c src/searches/SearchBoolean.c \ + src/searches/Searches.c src/sidebar/Branch.c \ + src/sidebar/Entry.c src/sidebar/Sidebar.c src/sidebar/Tree.c \ + src/sidebar/common.c src/slideshow/Slideshow.c \ + src/slideshow/TransitionEffects.c src/tags/Branch.c \ + src/tags/HierarchicalTagIndex.c \ + src/tags/HierarchicalTagUtilities.c src/tags/TagPage.c \ + src/tags/Tags.c src/threads/BackgroundJob.c \ + src/threads/Semaphore.c src/threads/Threads.c \ + src/threads/Workers.c src/unit/Unit.c src/util/KeyValueMap.c \ + src/util/Util.c src/util/file.c src/util/image.c \ + src/util/misc.c src/util/string.c src/util/system.c \ + src/util/ui.c thumbnailer/shotwell-video-thumbnailer.c +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +GZIP_ENV = --best +DIST_ARCHIVES = $(distdir).tar.xz +DIST_TARGETS = dist-xz +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +API_VERSION = @API_VERSION@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GIT = @GIT@ +GITVER = @GITVER@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_EXTRA_PLUGINS = @HAVE_EXTRA_PLUGINS@ +HAVE_UNITY = @HAVE_UNITY@ +HELP_DIR = @HELP_DIR@ +IMPORT_CFLAGS = @IMPORT_CFLAGS@ +IMPORT_LIBS = @IMPORT_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +ITSTOOL = @ITSTOOL@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MICRO_VERSION = @MICRO_VERSION@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ +PLUGIN_LIBS = @PLUGIN_LIBS@ +POSUB = @POSUB@ +PUBLISHING_CFLAGS = @PUBLISHING_CFLAGS@ +PUBLISHING_LIBS = @PUBLISHING_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHOTWELL_CFLAGS = @SHOTWELL_CFLAGS@ +SHOTWELL_LIBS = @SHOTWELL_LIBS@ +STRIP = @STRIP@ +THUMBNAILER_CFLAGS = @THUMBNAILER_CFLAGS@ +THUMBNAILER_LIBS = @THUMBNAILER_LIBS@ +TRANSITIONS_CFLAGS = @TRANSITIONS_CFLAGS@ +TRANSITIONS_LIBS = @TRANSITIONS_LIBS@ +UNITY_CFLAGS = @UNITY_CFLAGS@ +UNITY_LIBS = @UNITY_LIBS@ +UNITY_VALAFLAGS = @UNITY_VALAFLAGS@ +USE_NLS = @USE_NLS@ +VALAC = @VALAC@ +VALAFLAGS = @VALAFLAGS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMLLINT = @XMLLINT@ +YELP_LC_DIST = @YELP_LC_DIST@ +YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appdataxmldir = @appdataxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = misc help po app-icons icons ui +EXTRA_DIST = AUTHORS +# find $(distdir) -name "*.c" -o -name "shotwell*.h" -o -name "shotwell*.vapi" -o -name "*vala.stamp" -exec rm {} \; +MAINTAINERCLEANFILES = \ + $(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \ + $(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \ + $(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) + +GITIGNOREFILES = \ + ABOUT-NLS \ + plugins/**/*.h \ + plugins/**/*.vapi \ + **/*.sw[nop] \ + **/*~ \ + *.o \ + m4/* \ + **/resource.c \ + aclocal.m4 \ + build-aux \ + ChangeLog \ + config \ + config.h.in \ + gtk-doc.m4 \ + gtk-doc.make \ + INSTALL \ + $(NULL) + +# +# Generate utility library for plugins +# +lib_LTLIBRARIES = \ + plugins/common/libshotwell-plugin-common.la + +plugins_common_libshotwell_plugin_common_la_SOURCES = \ + plugins/common/RESTSupport.vala \ + plugins/common/Resources.vala \ + plugins/shotwell-plugin-dev-1.0.vapi + +plugins_common_libshotwell_plugin_common_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --library publishing-support \ + --pkg gtk+-3.0 \ + --pkg json-glib-1.0 \ + --pkg libsoup-2.4 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --pkg gee-0.8 \ + --vapi=plugins/shotwell-plugin-common.vapi \ + --header=plugins/shotwell-plugin-common.h + +plugins_common_libshotwell_plugin_common_la_CFLAGS = \ + $(PLUGIN_CFLAGS) \ + -DGETTEXT_PACKAGE='"$(GETTEXT_PACKAGE)"' \ + -I $(top_srcdir)/plugins -I$(top_builddir)/plugins + +plugins_common_libshotwell_plugin_common_la_LIBADD = \ + $(PLUGIN_LIBS) + + +# +# Create intermediate library for the Plugin API +# +noinst_LTLIBRARIES = \ + src/plugins/libplugin.la + +src_plugins_libplugin_la_SOURCES = \ + src/plugins/SpitInterfaces.vala \ + src/plugins/TransitionsInterfaces.vala \ + src/plugins/PublishingInterfaces.vala \ + src/plugins/DataImportsInterfaces.vala + +src_plugins_libplugin_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gio-2.0 \ + --pkg gtk+-3.0 \ + --pkg gmodule-2.0 \ + --pkg gee-0.8 \ + --library plugins \ + --vapi=plugins/shotwell-plugin-dev-1.0.vapi \ + --header=plugins/shotwell-plugin-dev-1.0.h + +src_plugins_libplugin_la_CFLAGS = $(PLUGIN_CFLAGS) +SHOTWELL_PLUGIN_LDFLAGS = \ + -no-undefined \ + -module \ + -shared \ + -export_dynamic \ + -avoid-version + +plugindir = $(pkglibdir)/plugins/builtin +plugin_LTLIBRARIES = \ + plugins/shotwell-publishing/shotwell-publishing.la \ + $(am__append_3) \ + plugins/shotwell-transitions/shotwell-transitions.la \ + plugins/shotwell-data-imports/shotwell-data-imports.la +dist_plugin_DATA = +dist_pkglibexec_SCRIPTS = $(top_srcdir)/settings-migrator/shotwell-settings-migrator +dist_noinst_DATA = $(NULL) plugins/shotwell-publishing/facebook.png \ + plugins/shotwell-publishing/flickr.png \ + plugins/shotwell-publishing/picasa.png \ + plugins/shotwell-publishing/piwigo.png \ + plugins/shotwell-publishing/youtube.png \ + plugins/shotwell-publishing/facebook_publishing_options_pane.ui \ + plugins/shotwell-publishing/flickr_pin_entry_pane.ui \ + plugins/shotwell-publishing/flickr_publishing_options_pane.ui \ + plugins/shotwell-publishing/picasa_publishing_options_pane.ui \ + plugins/shotwell-publishing/piwigo_authentication_pane.ui \ + plugins/shotwell-publishing/piwigo_publishing_options_pane.ui \ + plugins/shotwell-publishing/youtube_publishing_options_pane.ui \ + plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml \ + $(am__append_4) \ + plugins/shotwell-transitions/slideshow-plugin.png \ + plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml \ + plugins/shotwell-data-imports/f-spot-24.png \ + plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml \ + plugins/shotwell-plugin-dev-1.0.h \ + plugins/shotwell-plugin-common.h vapi/gphoto.h vapi/LConv.vapi \ + vapi/libexif.vapi vapi/libgphoto2.vapi vapi/libraw.vapi \ + vapi/unity.deps vapi/unity.vapi +MOSTLYCLEANFILES = $(NULL) plugins/shotwell-publishing/resource.c \ + $(am__append_5) plugins/shotwell-transitions/resource.c \ + plugins/shotwell-data-imports/resource.c + +# --enable-checking needs to come first to not trigger +# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18734 +COMMON_VALAFLAGS = --enable-checking --target-glib=2.32 --thread \ + --fatal-warnings --enable-experimental --enable-deprecated \ + $(am__append_2) +COMMON_CFLAGS = -I$(top_srcdir)/vapi -D_PREFIX='"$(prefix)"' \ + -D_VERSION='"$(VERSION)"' \ + -DGETTEXT_PACKAGE='"$(GETTEXT_PACKAGE)"' \ + -D_LANG_SUPPORT_DIR='"$(prefix)/share/locale"' \ + -D_LIBEXECDIR='"$(libexecdir)"' -D_LIB='"$(libdir)"' \ + $(am__append_1) +shotwell_CFLAGS = \ + $(SHOTWELL_CFLAGS) \ + $(UNITY_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I$(top_builddir)/plugins \ + -I$(abs_top_srcdir)/plugins + +shotwell_LDADD = \ + src/plugins/libplugin.la \ + $(SHOTWELL_LIBS) \ + $(UNITY_LIBS) + +shotwell_VALAFLAGS = $(COMMON_VALAFLAGS) \ + --pkg gio-2.0 --pkg gtk+-3.0 --pkg gee-0.8 \ + --pkg gio-unix-2.0 --pkg sqlite3 --pkg gmodule-2.0 \ + --vapidir $(abs_top_srcdir)/vapi \ + --pkg libgphoto2 --pkg posix --pkg LConv --pkg libraw --pkg gexiv2 \ + --pkg libexif --pkg gudev-1.0 --pkg gstreamer-1.0 \ + --pkg gstreamer-pbutils-1.0 \ + $(UNITY_VALAFLAGS) \ + $(COMMON_VALAFLAGS_POST) + +shotwell_SOURCES = \ + src/unit/Unit.vala \ + src/util/Util.vala \ + src/util/file.vala \ + src/util/image.vala \ + src/util/misc.vala \ + src/util/string.vala \ + src/util/system.vala \ + src/util/KeyValueMap.vala \ + src/util/ui.vala \ + src/threads/Threads.vala \ + src/threads/Workers.vala \ + src/threads/BackgroundJob.vala \ + src/threads/Semaphore.vala \ + src/db/Db.vala \ + src/db/DatabaseTable.vala \ + src/db/PhotoTable.vala \ + src/db/EventTable.vala \ + src/db/TagTable.vala \ + src/db/TombstoneTable.vala \ + src/db/VideoTable.vala \ + src/db/VersionTable.vala \ + src/db/SavedSearchDBTable.vala \ + src/editing_tools/EditingTools.vala \ + src/editing_tools/StraightenTool.vala \ + src/slideshow/Slideshow.vala \ + src/slideshow/TransitionEffects.vala \ + src/photos/Photos.vala \ + src/photos/PhotoFileAdapter.vala \ + src/photos/PhotoFileFormat.vala \ + src/photos/PhotoFileSniffer.vala \ + src/photos/PhotoMetadata.vala \ + src/photos/GRaw.vala \ + src/photos/GdkSupport.vala \ + src/photos/JfifSupport.vala \ + src/photos/BmpSupport.vala \ + src/photos/RawSupport.vala \ + src/photos/PngSupport.vala \ + src/photos/TiffSupport.vala \ + src/plugins/Plugins.vala \ + src/plugins/StandardHostInterface.vala \ + src/plugins/ManifestWidget.vala \ + src/publishing/Publishing.vala \ + src/publishing/PublishingUI.vala \ + src/publishing/PublishingPluginHost.vala \ + src/publishing/APIGlue.vala \ + src/library/Library.vala \ + src/library/LibraryWindow.vala \ + src/library/Branch.vala \ + src/library/TrashSidebarEntry.vala \ + src/library/OfflineSidebarEntry.vala \ + src/library/FlaggedSidebarEntry.vala \ + src/library/LastImportSidebarEntry.vala \ + src/library/ImportQueueSidebarEntry.vala \ + src/library/FlaggedPage.vala \ + src/library/ImportQueuePage.vala \ + src/library/LastImportPage.vala \ + src/library/OfflinePage.vala \ + src/library/TrashPage.vala \ + src/direct/Direct.vala \ + src/direct/DirectWindow.vala \ + src/direct/DirectPhoto.vala \ + src/direct/DirectPhotoPage.vala \ + src/direct/DirectView.vala \ + src/core/Core.vala \ + src/core/DataCollection.vala \ + src/core/DataSet.vala \ + src/core/util.vala \ + src/core/SourceCollection.vala \ + src/core/SourceHoldingTank.vala \ + src/core/DatabaseSourceCollection.vala \ + src/core/ContainerSourceCollection.vala \ + src/core/ViewCollection.vala \ + src/core/DataObject.vala \ + src/core/Alteration.vala \ + src/core/DataSource.vala \ + src/core/DataSourceTypes.vala \ + src/core/DataView.vala \ + src/core/DataViewTypes.vala \ + src/core/Tracker.vala \ + src/core/SourceInterfaces.vala \ + src/sidebar/Sidebar.vala \ + src/sidebar/Branch.vala \ + src/sidebar/Entry.vala \ + src/sidebar/Tree.vala \ + src/sidebar/common.vala \ + src/events/Events.vala \ + src/events/Branch.vala \ + src/events/EventsDirectoryPage.vala \ + src/events/EventPage.vala \ + src/events/EventDirectoryItem.vala \ + src/tags/Tags.vala \ + src/tags/Branch.vala \ + src/tags/TagPage.vala \ + src/tags/HierarchicalTagIndex.vala \ + src/tags/HierarchicalTagUtilities.vala \ + src/camera/Camera.vala \ + src/camera/Branch.vala \ + src/camera/CameraTable.vala \ + src/camera/GPhoto.vala \ + src/camera/ImportPage.vala \ + src/searches/Searches.vala \ + src/searches/Branch.vala \ + src/searches/SearchBoolean.vala \ + src/searches/SavedSearchPage.vala \ + src/searches/SavedSearchDialog.vala \ + src/config/Config.vala \ + src/config/ConfigurationInterfaces.vala \ + src/config/GSettingsEngine.vala \ + src/data_imports/DataImports.vala \ + src/data_imports/DataImportsPluginHost.vala \ + src/data_imports/DataImportsUI.vala \ + src/data_imports/DataImportJob.vala \ + src/data_imports/DataImportSource.vala \ + src/folders/Folders.vala \ + src/folders/Branch.vala \ + src/folders/Page.vala \ + src/main.vala \ + src/AppWindow.vala \ + src/CollectionPage.vala \ + src/NaturalCollate.vala \ + src/Thumbnail.vala \ + src/ThumbnailCache.vala \ + src/CheckerboardLayout.vala \ + src/PhotoPage.vala \ + src/Page.vala \ + src/SortedList.vala \ + src/Dimensions.vala \ + src/Box.vala \ + src/Photo.vala \ + src/Orientation.vala \ + src/BatchImport.vala \ + src/Dialogs.vala \ + src/Resources.vala \ + src/Debug.vala \ + src/ColorTransformation.vala \ + src/Properties.vala \ + src/CustomComponents.vala \ + src/Event.vala \ + src/International.vala \ + src/AppDirs.vala \ + src/PixbufCache.vala \ + src/CommandManager.vala \ + src/Commands.vala \ + src/SlideshowPage.vala \ + src/LibraryFiles.vala \ + src/Printing.vala \ + src/Tag.vala \ + src/Screensaver.vala \ + src/Exporter.vala \ + src/DirectoryMonitor.vala \ + src/LibraryMonitor.vala \ + src/VideoSupport.vala \ + src/Tombstone.vala \ + src/MetadataWriter.vala \ + src/Application.vala \ + src/TimedQueue.vala \ + src/MediaPage.vala \ + src/MediaDataRepresentation.vala \ + src/DesktopIntegration.vala \ + src/MediaInterfaces.vala \ + src/MediaMetadata.vala \ + src/VideoMetadata.vala \ + src/MediaMonitor.vala \ + src/PhotoMonitor.vala \ + src/VideoMonitor.vala \ + src/SearchFilter.vala \ + src/MediaViewTracker.vala \ + src/UnityProgressBar.vala \ + src/Upgrades.vala \ + src/.unitize/_UnitInternals.vala \ + src/.unitize/_UtilInternals.vala \ + src/.unitize/_ThreadsInternals.vala \ + src/.unitize/_DbInternals.vala \ + src/.unitize/_EditingToolsInternals.vala \ + src/.unitize/_PluginsInternals.vala \ + src/.unitize/_SlideshowInternals.vala \ + src/.unitize/_PhotosInternals.vala \ + src/.unitize/_PublishingInternals.vala \ + src/.unitize/_LibraryInternals.vala \ + src/.unitize/_DirectInternals.vala \ + src/.unitize/_CoreInternals.vala \ + src/.unitize/_SidebarInternals.vala \ + src/.unitize/_EventsInternals.vala \ + src/.unitize/_TagsInternals.vala \ + src/.unitize/_CameraInternals.vala \ + src/.unitize/_SearchesInternals.vala \ + src/.unitize/_ConfigInternals.vala \ + src/.unitize/_DataImportsInternals.vala \ + src/.unitize/_FoldersInternals.vala \ + src/.unitize/_Library_unitize_entry.vala \ + src/.unitize/_Direct_unitize_entry.vala \ + plugins/shotwell-plugin-dev-1.0.vapi + +thumbnailer_shotwell_video_thumbnailer_SOURCES = thumbnailer/shotwell-video-thumbnailer.vala +thumbnailer_shotwell_video_thumbnailer_VALAFLAGS = $(COMMON_VALAFLAGS) \ + --pkg gstreamer-1.0 \ + --pkg gee-0.8 \ + --pkg gtk+-3.0 + +thumbnailer_shotwell_video_thumbnailer_CFLAGS = $(THUMBNAILER_CFLAGS) +thumbnailer_shotwell_video_thumbnailer_LDADD = $(THUMBNAILER_LIBS) +plugins_shotwell_publishing_shotwell_publishing_la_SOURCES = \ + plugins/shotwell-publishing/shotwell-publishing.vala \ + plugins/shotwell-publishing/FacebookPublishing.vala \ + plugins/shotwell-publishing/PicasaPublishing.vala \ + plugins/shotwell-publishing/FlickrPublishing.vala \ + plugins/shotwell-publishing/YouTubePublishing.vala \ + plugins/shotwell-publishing/PiwigoPublishing.vala \ + plugins/shotwell-plugin-common.vapi + +nodist_plugins_shotwell_publishing_shotwell_publishing_la_SOURCES = \ + plugins/shotwell-publishing/resource.c + +plugins_shotwell_publishing_shotwell_publishing_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gtk+-3.0 \ + --pkg libsoup-2.4 \ + --pkg gexiv2 \ + --pkg gee-0.8 \ + --pkg json-glib-1.0 \ + --pkg shotwell-plugin-dev-1.0 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --vapidir $(abs_top_srcdir)/plugins + +plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS = \ + -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Publishing"' \ + $(PLUGIN_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I $(top_srcdir)/plugins + +plugins_shotwell_publishing_shotwell_publishing_la_LDFLAGS = \ + $(SHOTWELL_PLUGIN_LDFLAGS) + +plugins_shotwell_publishing_shotwell_publishing_la_LIBADD = \ + $(PUBLISHING_LIBS) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la + +@HAVE_EXTRA_PLUGINS_TRUE@plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES = \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/GalleryConnector.vala \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/RajcePublishing.vala \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/TumblrPublishing.vala \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/YandexPublishing.vala \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-plugin-common.vapi + +@HAVE_EXTRA_PLUGINS_TRUE@nodist_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES = \ +@HAVE_EXTRA_PLUGINS_TRUE@ plugins/shotwell-publishing-extras/resource.c + +@HAVE_EXTRA_PLUGINS_TRUE@plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_VALAFLAGS = \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(COMMON_VALAFLAGS) \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg gtk+-3.0 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg libsoup-2.4 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg gexiv2 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg gee-0.8 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg json-glib-1.0 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg shotwell-plugin-dev-1.0 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg libxml-2.0 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --pkg webkit2gtk-4.0 \ +@HAVE_EXTRA_PLUGINS_TRUE@ --vapidir $(abs_top_srcdir)/plugins + +@HAVE_EXTRA_PLUGINS_TRUE@plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS = \ +@HAVE_EXTRA_PLUGINS_TRUE@ -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Publishing/Extras"' \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(PLUGIN_CFLAGS) \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(COMMON_CFLAGS) \ +@HAVE_EXTRA_PLUGINS_TRUE@ -I $(abs_top_srcdir)/plugins + +@HAVE_EXTRA_PLUGINS_TRUE@plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LDFLAGS = \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(SHOTWELL_PLUGIN_LDFLAGS) + +@HAVE_EXTRA_PLUGINS_TRUE@plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LIBADD = \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(PUBLISHING_LIBS) \ +@HAVE_EXTRA_PLUGINS_TRUE@ $(top_builddir)/plugins/common/libshotwell-plugin-common.la + +plugins_shotwell_transitions_shotwell_transitions_la_SOURCES = \ + plugins/shotwell-transitions/BlindsEffect.vala \ + plugins/shotwell-transitions/ChessEffect.vala \ + plugins/shotwell-transitions/CircleEffect.vala \ + plugins/shotwell-transitions/CirclesEffect.vala \ + plugins/shotwell-transitions/ClockEffect.vala \ + plugins/shotwell-transitions/CrumbleEffect.vala \ + plugins/shotwell-transitions/FadeEffect.vala \ + plugins/shotwell-transitions/shotwell-transitions.vala \ + plugins/shotwell-transitions/SlideEffect.vala \ + plugins/shotwell-transitions/SquaresEffect.vala \ + plugins/shotwell-transitions/StripesEffect.vala \ + plugins/shotwell-plugin-common.vapi + +nodist_plugins_shotwell_transitions_shotwell_transitions_la_SOURCES = \ + plugins/shotwell-transitions/resource.c + +plugins_shotwell_transitions_shotwell_transitions_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gtk+-3.0 \ + --pkg libsoup-2.4 \ + --pkg gexiv2 \ + --pkg gee-0.8 \ + --pkg json-glib-1.0 \ + --pkg shotwell-plugin-dev-1.0 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --vapidir $(abs_top_srcdir)/plugins + +plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS = \ + -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Transitions"' \ + $(PLUGIN_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I $(abs_top_srcdir)/plugins + +plugins_shotwell_transitions_shotwell_transitions_la_LDFLAGS = \ + $(SHOTWELL_PLUGIN_LDFLAGS) + +plugins_shotwell_transitions_shotwell_transitions_la_LIBADD = \ + $(TRANSITIONS_LIBS) -lm \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la + +plugins_shotwell_data_imports_shotwell_data_imports_la_SOURCES = \ + plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala \ + plugins/shotwell-data-imports/FSpotDatabaseTable.vala \ + plugins/shotwell-data-imports/FSpotDatabase.vala \ + plugins/shotwell-data-imports/FSpotImporter.vala \ + plugins/shotwell-data-imports/FSpotMetaTable.vala \ + plugins/shotwell-data-imports/FSpotPhotosTable.vala \ + plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala \ + plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala \ + plugins/shotwell-data-imports/FSpotRollsTable.vala \ + plugins/shotwell-data-imports/FSpotTableBehavior.vala \ + plugins/shotwell-data-imports/FSpotTagsTable.vala \ + plugins/shotwell-data-imports/shotwell-data-imports.vala \ + plugins/shotwell-data-imports/SqliteSupport.vala \ + plugins/shotwell-data-imports/VersionNumber.vala \ + plugins/shotwell-plugin-common.vapi + +nodist_plugins_shotwell_data_imports_shotwell_data_imports_la_SOURCES = \ + plugins/shotwell-data-imports/resource.c + +plugins_shotwell_data_imports_shotwell_data_imports_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gtk+-3.0 \ + --pkg libsoup-2.4 \ + --pkg gexiv2 \ + --pkg gee-0.8 \ + --pkg json-glib-1.0 \ + --pkg shotwell-plugin-dev-1.0 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --pkg sqlite3 \ + --vapidir $(abs_top_srcdir)/plugins + +plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS = \ + -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Imports"' \ + $(PLUGIN_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I $(abs_top_srcdir)/plugins + +plugins_shotwell_data_imports_shotwell_data_imports_la_LDFLAGS = \ + $(SHOTWELL_PLUGIN_LDFLAGS) + +plugins_shotwell_data_imports_shotwell_data_imports_la_LIBADD = \ + $(IMPORT_LIBS) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la + + +# Plugins +dist_noinst_SCRIPTS = \ + autogen.sh + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/common.am $(top_srcdir)/shotwell.am $(top_srcdir)/thumbnailer.am $(top_srcdir)/publish.am $(top_srcdir)/publish-extra.am $(top_srcdir)/transition.am $(top_srcdir)/import.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/common.am $(top_srcdir)/shotwell.am $(top_srcdir)/thumbnailer.am $(top_srcdir)/publish.am $(top_srcdir)/publish-extra.am $(top_srcdir)/transition.am $(top_srcdir)/import.am $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \ + } + +uninstall-pluginLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \ + done + +clean-pluginLTLIBRARIES: + -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES) + @list='$(plugin_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +plugins/common/$(am__dirstamp): + @$(MKDIR_P) plugins/common + @: > plugins/common/$(am__dirstamp) +plugins/common/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) plugins/common/$(DEPDIR) + @: > plugins/common/$(DEPDIR)/$(am__dirstamp) +plugins/common/plugins_common_libshotwell_plugin_common_la-RESTSupport.lo: \ + plugins/common/$(am__dirstamp) \ + plugins/common/$(DEPDIR)/$(am__dirstamp) +plugins/common/plugins_common_libshotwell_plugin_common_la-Resources.lo: \ + plugins/common/$(am__dirstamp) \ + plugins/common/$(DEPDIR)/$(am__dirstamp) + +plugins/common/libshotwell-plugin-common.la: $(plugins_common_libshotwell_plugin_common_la_OBJECTS) $(plugins_common_libshotwell_plugin_common_la_DEPENDENCIES) $(EXTRA_plugins_common_libshotwell_plugin_common_la_DEPENDENCIES) plugins/common/$(am__dirstamp) + $(AM_V_CCLD)$(plugins_common_libshotwell_plugin_common_la_LINK) -rpath $(libdir) $(plugins_common_libshotwell_plugin_common_la_OBJECTS) $(plugins_common_libshotwell_plugin_common_la_LIBADD) $(LIBS) +plugins/shotwell-data-imports/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-data-imports + @: > plugins/shotwell-data-imports/$(am__dirstamp) +plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-data-imports/$(DEPDIR) + @: > plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.lo: \ + plugins/shotwell-data-imports/$(am__dirstamp) \ + plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) + +plugins/shotwell-data-imports/shotwell-data-imports.la: $(plugins_shotwell_data_imports_shotwell_data_imports_la_OBJECTS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_DEPENDENCIES) $(EXTRA_plugins_shotwell_data_imports_shotwell_data_imports_la_DEPENDENCIES) plugins/shotwell-data-imports/$(am__dirstamp) + $(AM_V_CCLD)$(plugins_shotwell_data_imports_shotwell_data_imports_la_LINK) -rpath $(plugindir) $(plugins_shotwell_data_imports_shotwell_data_imports_la_OBJECTS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_LIBADD) $(LIBS) +plugins/shotwell-publishing-extras/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-publishing-extras + @: > plugins/shotwell-publishing-extras/$(am__dirstamp) +plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-publishing-extras/$(DEPDIR) + @: > plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.lo: \ + plugins/shotwell-publishing-extras/$(am__dirstamp) \ + plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.lo: \ + plugins/shotwell-publishing-extras/$(am__dirstamp) \ + plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.lo: \ + plugins/shotwell-publishing-extras/$(am__dirstamp) \ + plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.lo: \ + plugins/shotwell-publishing-extras/$(am__dirstamp) \ + plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.lo: \ + plugins/shotwell-publishing-extras/$(am__dirstamp) \ + plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.lo: \ + plugins/shotwell-publishing-extras/$(am__dirstamp) \ + plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) + +plugins/shotwell-publishing-extras/shotwell-publishing-extras.la: $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_OBJECTS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_DEPENDENCIES) $(EXTRA_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_DEPENDENCIES) plugins/shotwell-publishing-extras/$(am__dirstamp) + $(AM_V_CCLD)$(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LINK) $(am_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_rpath) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_OBJECTS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LIBADD) $(LIBS) +plugins/shotwell-publishing/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-publishing + @: > plugins/shotwell-publishing/$(am__dirstamp) +plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-publishing/$(DEPDIR) + @: > plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.lo: \ + plugins/shotwell-publishing/$(am__dirstamp) \ + plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.lo: \ + plugins/shotwell-publishing/$(am__dirstamp) \ + plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.lo: \ + plugins/shotwell-publishing/$(am__dirstamp) \ + plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.lo: \ + plugins/shotwell-publishing/$(am__dirstamp) \ + plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.lo: \ + plugins/shotwell-publishing/$(am__dirstamp) \ + plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.lo: \ + plugins/shotwell-publishing/$(am__dirstamp) \ + plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-resource.lo: \ + plugins/shotwell-publishing/$(am__dirstamp) \ + plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) + +plugins/shotwell-publishing/shotwell-publishing.la: $(plugins_shotwell_publishing_shotwell_publishing_la_OBJECTS) $(plugins_shotwell_publishing_shotwell_publishing_la_DEPENDENCIES) $(EXTRA_plugins_shotwell_publishing_shotwell_publishing_la_DEPENDENCIES) plugins/shotwell-publishing/$(am__dirstamp) + $(AM_V_CCLD)$(plugins_shotwell_publishing_shotwell_publishing_la_LINK) -rpath $(plugindir) $(plugins_shotwell_publishing_shotwell_publishing_la_OBJECTS) $(plugins_shotwell_publishing_shotwell_publishing_la_LIBADD) $(LIBS) +plugins/shotwell-transitions/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-transitions + @: > plugins/shotwell-transitions/$(am__dirstamp) +plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) plugins/shotwell-transitions/$(DEPDIR) + @: > plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-resource.lo: \ + plugins/shotwell-transitions/$(am__dirstamp) \ + plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) + +plugins/shotwell-transitions/shotwell-transitions.la: $(plugins_shotwell_transitions_shotwell_transitions_la_OBJECTS) $(plugins_shotwell_transitions_shotwell_transitions_la_DEPENDENCIES) $(EXTRA_plugins_shotwell_transitions_shotwell_transitions_la_DEPENDENCIES) plugins/shotwell-transitions/$(am__dirstamp) + $(AM_V_CCLD)$(plugins_shotwell_transitions_shotwell_transitions_la_LINK) -rpath $(plugindir) $(plugins_shotwell_transitions_shotwell_transitions_la_OBJECTS) $(plugins_shotwell_transitions_shotwell_transitions_la_LIBADD) $(LIBS) +src/plugins/$(am__dirstamp): + @$(MKDIR_P) src/plugins + @: > src/plugins/$(am__dirstamp) +src/plugins/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/plugins/$(DEPDIR) + @: > src/plugins/$(DEPDIR)/$(am__dirstamp) +src/plugins/src_plugins_libplugin_la-SpitInterfaces.lo: \ + src/plugins/$(am__dirstamp) \ + src/plugins/$(DEPDIR)/$(am__dirstamp) +src/plugins/src_plugins_libplugin_la-TransitionsInterfaces.lo: \ + src/plugins/$(am__dirstamp) \ + src/plugins/$(DEPDIR)/$(am__dirstamp) +src/plugins/src_plugins_libplugin_la-PublishingInterfaces.lo: \ + src/plugins/$(am__dirstamp) \ + src/plugins/$(DEPDIR)/$(am__dirstamp) +src/plugins/src_plugins_libplugin_la-DataImportsInterfaces.lo: \ + src/plugins/$(am__dirstamp) \ + src/plugins/$(DEPDIR)/$(am__dirstamp) + +src/plugins/libplugin.la: $(src_plugins_libplugin_la_OBJECTS) $(src_plugins_libplugin_la_DEPENDENCIES) $(EXTRA_src_plugins_libplugin_la_DEPENDENCIES) src/plugins/$(am__dirstamp) + $(AM_V_CCLD)$(src_plugins_libplugin_la_LINK) $(src_plugins_libplugin_la_OBJECTS) $(src_plugins_libplugin_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + || test -f $$p1 \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibexecdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + || test -f $$p1 \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(pkglibexecdir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(pkglibexecdir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-pkglibexecPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(pkglibexecdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(pkglibexecdir)" && rm -f $$files + +clean-pkglibexecPROGRAMS: + @list='$(pkglibexec_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +src/unit/$(am__dirstamp): + @$(MKDIR_P) src/unit + @: > src/unit/$(am__dirstamp) +src/unit/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/unit/$(DEPDIR) + @: > src/unit/$(DEPDIR)/$(am__dirstamp) +src/unit/shotwell-Unit.$(OBJEXT): src/unit/$(am__dirstamp) \ + src/unit/$(DEPDIR)/$(am__dirstamp) +src/util/$(am__dirstamp): + @$(MKDIR_P) src/util + @: > src/util/$(am__dirstamp) +src/util/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/util/$(DEPDIR) + @: > src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-Util.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-file.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-image.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-misc.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-string.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-system.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-KeyValueMap.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/util/shotwell-ui.$(OBJEXT): src/util/$(am__dirstamp) \ + src/util/$(DEPDIR)/$(am__dirstamp) +src/threads/$(am__dirstamp): + @$(MKDIR_P) src/threads + @: > src/threads/$(am__dirstamp) +src/threads/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/threads/$(DEPDIR) + @: > src/threads/$(DEPDIR)/$(am__dirstamp) +src/threads/shotwell-Threads.$(OBJEXT): src/threads/$(am__dirstamp) \ + src/threads/$(DEPDIR)/$(am__dirstamp) +src/threads/shotwell-Workers.$(OBJEXT): src/threads/$(am__dirstamp) \ + src/threads/$(DEPDIR)/$(am__dirstamp) +src/threads/shotwell-BackgroundJob.$(OBJEXT): \ + src/threads/$(am__dirstamp) \ + src/threads/$(DEPDIR)/$(am__dirstamp) +src/threads/shotwell-Semaphore.$(OBJEXT): src/threads/$(am__dirstamp) \ + src/threads/$(DEPDIR)/$(am__dirstamp) +src/db/$(am__dirstamp): + @$(MKDIR_P) src/db + @: > src/db/$(am__dirstamp) +src/db/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/db/$(DEPDIR) + @: > src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-Db.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-DatabaseTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-PhotoTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-EventTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-TagTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-TombstoneTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-VideoTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-VersionTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/db/shotwell-SavedSearchDBTable.$(OBJEXT): src/db/$(am__dirstamp) \ + src/db/$(DEPDIR)/$(am__dirstamp) +src/editing_tools/$(am__dirstamp): + @$(MKDIR_P) src/editing_tools + @: > src/editing_tools/$(am__dirstamp) +src/editing_tools/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/editing_tools/$(DEPDIR) + @: > src/editing_tools/$(DEPDIR)/$(am__dirstamp) +src/editing_tools/shotwell-EditingTools.$(OBJEXT): \ + src/editing_tools/$(am__dirstamp) \ + src/editing_tools/$(DEPDIR)/$(am__dirstamp) +src/editing_tools/shotwell-StraightenTool.$(OBJEXT): \ + src/editing_tools/$(am__dirstamp) \ + src/editing_tools/$(DEPDIR)/$(am__dirstamp) +src/slideshow/$(am__dirstamp): + @$(MKDIR_P) src/slideshow + @: > src/slideshow/$(am__dirstamp) +src/slideshow/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/slideshow/$(DEPDIR) + @: > src/slideshow/$(DEPDIR)/$(am__dirstamp) +src/slideshow/shotwell-Slideshow.$(OBJEXT): \ + src/slideshow/$(am__dirstamp) \ + src/slideshow/$(DEPDIR)/$(am__dirstamp) +src/slideshow/shotwell-TransitionEffects.$(OBJEXT): \ + src/slideshow/$(am__dirstamp) \ + src/slideshow/$(DEPDIR)/$(am__dirstamp) +src/photos/$(am__dirstamp): + @$(MKDIR_P) src/photos + @: > src/photos/$(am__dirstamp) +src/photos/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/photos/$(DEPDIR) + @: > src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-Photos.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-PhotoFileAdapter.$(OBJEXT): \ + src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-PhotoFileFormat.$(OBJEXT): \ + src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-PhotoFileSniffer.$(OBJEXT): \ + src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-PhotoMetadata.$(OBJEXT): \ + src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-GRaw.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-GdkSupport.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-JfifSupport.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-BmpSupport.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-RawSupport.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-PngSupport.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/photos/shotwell-TiffSupport.$(OBJEXT): src/photos/$(am__dirstamp) \ + src/photos/$(DEPDIR)/$(am__dirstamp) +src/plugins/shotwell-Plugins.$(OBJEXT): src/plugins/$(am__dirstamp) \ + src/plugins/$(DEPDIR)/$(am__dirstamp) +src/plugins/shotwell-StandardHostInterface.$(OBJEXT): \ + src/plugins/$(am__dirstamp) \ + src/plugins/$(DEPDIR)/$(am__dirstamp) +src/plugins/shotwell-ManifestWidget.$(OBJEXT): \ + src/plugins/$(am__dirstamp) \ + src/plugins/$(DEPDIR)/$(am__dirstamp) +src/publishing/$(am__dirstamp): + @$(MKDIR_P) src/publishing + @: > src/publishing/$(am__dirstamp) +src/publishing/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/publishing/$(DEPDIR) + @: > src/publishing/$(DEPDIR)/$(am__dirstamp) +src/publishing/shotwell-Publishing.$(OBJEXT): \ + src/publishing/$(am__dirstamp) \ + src/publishing/$(DEPDIR)/$(am__dirstamp) +src/publishing/shotwell-PublishingUI.$(OBJEXT): \ + src/publishing/$(am__dirstamp) \ + src/publishing/$(DEPDIR)/$(am__dirstamp) +src/publishing/shotwell-PublishingPluginHost.$(OBJEXT): \ + src/publishing/$(am__dirstamp) \ + src/publishing/$(DEPDIR)/$(am__dirstamp) +src/publishing/shotwell-APIGlue.$(OBJEXT): \ + src/publishing/$(am__dirstamp) \ + src/publishing/$(DEPDIR)/$(am__dirstamp) +src/library/$(am__dirstamp): + @$(MKDIR_P) src/library + @: > src/library/$(am__dirstamp) +src/library/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/library/$(DEPDIR) + @: > src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-Library.$(OBJEXT): src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-LibraryWindow.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-Branch.$(OBJEXT): src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-TrashSidebarEntry.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-OfflineSidebarEntry.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-FlaggedSidebarEntry.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-LastImportSidebarEntry.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-ImportQueueSidebarEntry.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-FlaggedPage.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-ImportQueuePage.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-LastImportPage.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-OfflinePage.$(OBJEXT): \ + src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/library/shotwell-TrashPage.$(OBJEXT): src/library/$(am__dirstamp) \ + src/library/$(DEPDIR)/$(am__dirstamp) +src/direct/$(am__dirstamp): + @$(MKDIR_P) src/direct + @: > src/direct/$(am__dirstamp) +src/direct/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/direct/$(DEPDIR) + @: > src/direct/$(DEPDIR)/$(am__dirstamp) +src/direct/shotwell-Direct.$(OBJEXT): src/direct/$(am__dirstamp) \ + src/direct/$(DEPDIR)/$(am__dirstamp) +src/direct/shotwell-DirectWindow.$(OBJEXT): \ + src/direct/$(am__dirstamp) \ + src/direct/$(DEPDIR)/$(am__dirstamp) +src/direct/shotwell-DirectPhoto.$(OBJEXT): src/direct/$(am__dirstamp) \ + src/direct/$(DEPDIR)/$(am__dirstamp) +src/direct/shotwell-DirectPhotoPage.$(OBJEXT): \ + src/direct/$(am__dirstamp) \ + src/direct/$(DEPDIR)/$(am__dirstamp) +src/direct/shotwell-DirectView.$(OBJEXT): src/direct/$(am__dirstamp) \ + src/direct/$(DEPDIR)/$(am__dirstamp) +src/core/$(am__dirstamp): + @$(MKDIR_P) src/core + @: > src/core/$(am__dirstamp) +src/core/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/core/$(DEPDIR) + @: > src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-Core.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DataCollection.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DataSet.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-util.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-SourceCollection.$(OBJEXT): \ + src/core/$(am__dirstamp) src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-SourceHoldingTank.$(OBJEXT): \ + src/core/$(am__dirstamp) src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DatabaseSourceCollection.$(OBJEXT): \ + src/core/$(am__dirstamp) src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-ContainerSourceCollection.$(OBJEXT): \ + src/core/$(am__dirstamp) src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-ViewCollection.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DataObject.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-Alteration.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DataSource.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DataSourceTypes.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DataView.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-DataViewTypes.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-Tracker.$(OBJEXT): src/core/$(am__dirstamp) \ + src/core/$(DEPDIR)/$(am__dirstamp) +src/core/shotwell-SourceInterfaces.$(OBJEXT): \ + src/core/$(am__dirstamp) src/core/$(DEPDIR)/$(am__dirstamp) +src/sidebar/$(am__dirstamp): + @$(MKDIR_P) src/sidebar + @: > src/sidebar/$(am__dirstamp) +src/sidebar/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/sidebar/$(DEPDIR) + @: > src/sidebar/$(DEPDIR)/$(am__dirstamp) +src/sidebar/shotwell-Sidebar.$(OBJEXT): src/sidebar/$(am__dirstamp) \ + src/sidebar/$(DEPDIR)/$(am__dirstamp) +src/sidebar/shotwell-Branch.$(OBJEXT): src/sidebar/$(am__dirstamp) \ + src/sidebar/$(DEPDIR)/$(am__dirstamp) +src/sidebar/shotwell-Entry.$(OBJEXT): src/sidebar/$(am__dirstamp) \ + src/sidebar/$(DEPDIR)/$(am__dirstamp) +src/sidebar/shotwell-Tree.$(OBJEXT): src/sidebar/$(am__dirstamp) \ + src/sidebar/$(DEPDIR)/$(am__dirstamp) +src/sidebar/shotwell-common.$(OBJEXT): src/sidebar/$(am__dirstamp) \ + src/sidebar/$(DEPDIR)/$(am__dirstamp) +src/events/$(am__dirstamp): + @$(MKDIR_P) src/events + @: > src/events/$(am__dirstamp) +src/events/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/events/$(DEPDIR) + @: > src/events/$(DEPDIR)/$(am__dirstamp) +src/events/shotwell-Events.$(OBJEXT): src/events/$(am__dirstamp) \ + src/events/$(DEPDIR)/$(am__dirstamp) +src/events/shotwell-Branch.$(OBJEXT): src/events/$(am__dirstamp) \ + src/events/$(DEPDIR)/$(am__dirstamp) +src/events/shotwell-EventsDirectoryPage.$(OBJEXT): \ + src/events/$(am__dirstamp) \ + src/events/$(DEPDIR)/$(am__dirstamp) +src/events/shotwell-EventPage.$(OBJEXT): src/events/$(am__dirstamp) \ + src/events/$(DEPDIR)/$(am__dirstamp) +src/events/shotwell-EventDirectoryItem.$(OBJEXT): \ + src/events/$(am__dirstamp) \ + src/events/$(DEPDIR)/$(am__dirstamp) +src/tags/$(am__dirstamp): + @$(MKDIR_P) src/tags + @: > src/tags/$(am__dirstamp) +src/tags/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/tags/$(DEPDIR) + @: > src/tags/$(DEPDIR)/$(am__dirstamp) +src/tags/shotwell-Tags.$(OBJEXT): src/tags/$(am__dirstamp) \ + src/tags/$(DEPDIR)/$(am__dirstamp) +src/tags/shotwell-Branch.$(OBJEXT): src/tags/$(am__dirstamp) \ + src/tags/$(DEPDIR)/$(am__dirstamp) +src/tags/shotwell-TagPage.$(OBJEXT): src/tags/$(am__dirstamp) \ + src/tags/$(DEPDIR)/$(am__dirstamp) +src/tags/shotwell-HierarchicalTagIndex.$(OBJEXT): \ + src/tags/$(am__dirstamp) src/tags/$(DEPDIR)/$(am__dirstamp) +src/tags/shotwell-HierarchicalTagUtilities.$(OBJEXT): \ + src/tags/$(am__dirstamp) src/tags/$(DEPDIR)/$(am__dirstamp) +src/camera/$(am__dirstamp): + @$(MKDIR_P) src/camera + @: > src/camera/$(am__dirstamp) +src/camera/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/camera/$(DEPDIR) + @: > src/camera/$(DEPDIR)/$(am__dirstamp) +src/camera/shotwell-Camera.$(OBJEXT): src/camera/$(am__dirstamp) \ + src/camera/$(DEPDIR)/$(am__dirstamp) +src/camera/shotwell-Branch.$(OBJEXT): src/camera/$(am__dirstamp) \ + src/camera/$(DEPDIR)/$(am__dirstamp) +src/camera/shotwell-CameraTable.$(OBJEXT): src/camera/$(am__dirstamp) \ + src/camera/$(DEPDIR)/$(am__dirstamp) +src/camera/shotwell-GPhoto.$(OBJEXT): src/camera/$(am__dirstamp) \ + src/camera/$(DEPDIR)/$(am__dirstamp) +src/camera/shotwell-ImportPage.$(OBJEXT): src/camera/$(am__dirstamp) \ + src/camera/$(DEPDIR)/$(am__dirstamp) +src/searches/$(am__dirstamp): + @$(MKDIR_P) src/searches + @: > src/searches/$(am__dirstamp) +src/searches/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/searches/$(DEPDIR) + @: > src/searches/$(DEPDIR)/$(am__dirstamp) +src/searches/shotwell-Searches.$(OBJEXT): \ + src/searches/$(am__dirstamp) \ + src/searches/$(DEPDIR)/$(am__dirstamp) +src/searches/shotwell-Branch.$(OBJEXT): src/searches/$(am__dirstamp) \ + src/searches/$(DEPDIR)/$(am__dirstamp) +src/searches/shotwell-SearchBoolean.$(OBJEXT): \ + src/searches/$(am__dirstamp) \ + src/searches/$(DEPDIR)/$(am__dirstamp) +src/searches/shotwell-SavedSearchPage.$(OBJEXT): \ + src/searches/$(am__dirstamp) \ + src/searches/$(DEPDIR)/$(am__dirstamp) +src/searches/shotwell-SavedSearchDialog.$(OBJEXT): \ + src/searches/$(am__dirstamp) \ + src/searches/$(DEPDIR)/$(am__dirstamp) +src/config/$(am__dirstamp): + @$(MKDIR_P) src/config + @: > src/config/$(am__dirstamp) +src/config/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/config/$(DEPDIR) + @: > src/config/$(DEPDIR)/$(am__dirstamp) +src/config/shotwell-Config.$(OBJEXT): src/config/$(am__dirstamp) \ + src/config/$(DEPDIR)/$(am__dirstamp) +src/config/shotwell-ConfigurationInterfaces.$(OBJEXT): \ + src/config/$(am__dirstamp) \ + src/config/$(DEPDIR)/$(am__dirstamp) +src/config/shotwell-GSettingsEngine.$(OBJEXT): \ + src/config/$(am__dirstamp) \ + src/config/$(DEPDIR)/$(am__dirstamp) +src/data_imports/$(am__dirstamp): + @$(MKDIR_P) src/data_imports + @: > src/data_imports/$(am__dirstamp) +src/data_imports/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/data_imports/$(DEPDIR) + @: > src/data_imports/$(DEPDIR)/$(am__dirstamp) +src/data_imports/shotwell-DataImports.$(OBJEXT): \ + src/data_imports/$(am__dirstamp) \ + src/data_imports/$(DEPDIR)/$(am__dirstamp) +src/data_imports/shotwell-DataImportsPluginHost.$(OBJEXT): \ + src/data_imports/$(am__dirstamp) \ + src/data_imports/$(DEPDIR)/$(am__dirstamp) +src/data_imports/shotwell-DataImportsUI.$(OBJEXT): \ + src/data_imports/$(am__dirstamp) \ + src/data_imports/$(DEPDIR)/$(am__dirstamp) +src/data_imports/shotwell-DataImportJob.$(OBJEXT): \ + src/data_imports/$(am__dirstamp) \ + src/data_imports/$(DEPDIR)/$(am__dirstamp) +src/data_imports/shotwell-DataImportSource.$(OBJEXT): \ + src/data_imports/$(am__dirstamp) \ + src/data_imports/$(DEPDIR)/$(am__dirstamp) +src/folders/$(am__dirstamp): + @$(MKDIR_P) src/folders + @: > src/folders/$(am__dirstamp) +src/folders/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/folders/$(DEPDIR) + @: > src/folders/$(DEPDIR)/$(am__dirstamp) +src/folders/shotwell-Folders.$(OBJEXT): src/folders/$(am__dirstamp) \ + src/folders/$(DEPDIR)/$(am__dirstamp) +src/folders/shotwell-Branch.$(OBJEXT): src/folders/$(am__dirstamp) \ + src/folders/$(DEPDIR)/$(am__dirstamp) +src/folders/shotwell-Page.$(OBJEXT): src/folders/$(am__dirstamp) \ + src/folders/$(DEPDIR)/$(am__dirstamp) +src/$(am__dirstamp): + @$(MKDIR_P) src + @: > src/$(am__dirstamp) +src/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/$(DEPDIR) + @: > src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-main.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-AppWindow.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-CollectionPage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-NaturalCollate.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Thumbnail.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-ThumbnailCache.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-CheckerboardLayout.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-PhotoPage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Page.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-SortedList.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Dimensions.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Box.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Photo.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Orientation.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-BatchImport.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Dialogs.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Resources.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Debug.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-ColorTransformation.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Properties.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-CustomComponents.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Event.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-International.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-AppDirs.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-PixbufCache.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-CommandManager.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Commands.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-SlideshowPage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-LibraryFiles.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Printing.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Tag.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Screensaver.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Exporter.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-DirectoryMonitor.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-LibraryMonitor.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-VideoSupport.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Tombstone.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-MetadataWriter.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Application.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-TimedQueue.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-MediaPage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-MediaDataRepresentation.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-DesktopIntegration.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-MediaInterfaces.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-MediaMetadata.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-VideoMetadata.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-MediaMonitor.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-PhotoMonitor.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-VideoMonitor.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-SearchFilter.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-MediaViewTracker.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-UnityProgressBar.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/shotwell-Upgrades.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/.unitize/$(am__dirstamp): + @$(MKDIR_P) src/.unitize + @: > src/.unitize/$(am__dirstamp) +src/.unitize/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/.unitize/$(DEPDIR) + @: > src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_UnitInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_UtilInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_ThreadsInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_DbInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_EditingToolsInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_PluginsInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_SlideshowInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_PhotosInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_PublishingInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_LibraryInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_DirectInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_CoreInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_SidebarInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_EventsInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_TagsInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_CameraInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_SearchesInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_ConfigInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_DataImportsInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_FoldersInternals.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_Library_unitize_entry.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) +src/.unitize/shotwell-_Direct_unitize_entry.$(OBJEXT): \ + src/.unitize/$(am__dirstamp) \ + src/.unitize/$(DEPDIR)/$(am__dirstamp) + +shotwell$(EXEEXT): $(shotwell_OBJECTS) $(shotwell_DEPENDENCIES) $(EXTRA_shotwell_DEPENDENCIES) + @rm -f shotwell$(EXEEXT) + $(AM_V_CCLD)$(shotwell_LINK) $(shotwell_OBJECTS) $(shotwell_LDADD) $(LIBS) +thumbnailer/$(am__dirstamp): + @$(MKDIR_P) thumbnailer + @: > thumbnailer/$(am__dirstamp) +thumbnailer/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) thumbnailer/$(DEPDIR) + @: > thumbnailer/$(DEPDIR)/$(am__dirstamp) +thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.$(OBJEXT): \ + thumbnailer/$(am__dirstamp) \ + thumbnailer/$(DEPDIR)/$(am__dirstamp) + +thumbnailer/shotwell-video-thumbnailer$(EXEEXT): $(thumbnailer_shotwell_video_thumbnailer_OBJECTS) $(thumbnailer_shotwell_video_thumbnailer_DEPENDENCIES) $(EXTRA_thumbnailer_shotwell_video_thumbnailer_DEPENDENCIES) thumbnailer/$(am__dirstamp) + @rm -f thumbnailer/shotwell-video-thumbnailer$(EXEEXT) + $(AM_V_CCLD)$(thumbnailer_shotwell_video_thumbnailer_LINK) $(thumbnailer_shotwell_video_thumbnailer_OBJECTS) $(thumbnailer_shotwell_video_thumbnailer_LDADD) $(LIBS) +install-dist_pkglibexecSCRIPTS: $(dist_pkglibexec_SCRIPTS) + @$(NORMAL_INSTALL) + @list='$(dist_pkglibexec_SCRIPTS)'; test -n "$(pkglibexecdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibexecdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) { files[d] = files[d] " " $$1; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$4, $$1 } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibexecdir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibexecdir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-dist_pkglibexecSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(dist_pkglibexec_SCRIPTS)'; test -n "$(pkglibexecdir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + dir='$(DESTDIR)$(pkglibexecdir)'; $(am__uninstall_files_from_dir) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f plugins/common/*.$(OBJEXT) + -rm -f plugins/common/*.lo + -rm -f plugins/shotwell-data-imports/*.$(OBJEXT) + -rm -f plugins/shotwell-data-imports/*.lo + -rm -f plugins/shotwell-publishing-extras/*.$(OBJEXT) + -rm -f plugins/shotwell-publishing-extras/*.lo + -rm -f plugins/shotwell-publishing/*.$(OBJEXT) + -rm -f plugins/shotwell-publishing/*.lo + -rm -f plugins/shotwell-transitions/*.$(OBJEXT) + -rm -f plugins/shotwell-transitions/*.lo + -rm -f src/*.$(OBJEXT) + -rm -f src/.unitize/*.$(OBJEXT) + -rm -f src/camera/*.$(OBJEXT) + -rm -f src/config/*.$(OBJEXT) + -rm -f src/core/*.$(OBJEXT) + -rm -f src/data_imports/*.$(OBJEXT) + -rm -f src/db/*.$(OBJEXT) + -rm -f src/direct/*.$(OBJEXT) + -rm -f src/editing_tools/*.$(OBJEXT) + -rm -f src/events/*.$(OBJEXT) + -rm -f src/folders/*.$(OBJEXT) + -rm -f src/library/*.$(OBJEXT) + -rm -f src/photos/*.$(OBJEXT) + -rm -f src/plugins/*.$(OBJEXT) + -rm -f src/plugins/*.lo + -rm -f src/publishing/*.$(OBJEXT) + -rm -f src/searches/*.$(OBJEXT) + -rm -f src/sidebar/*.$(OBJEXT) + -rm -f src/slideshow/*.$(OBJEXT) + -rm -f src/tags/*.$(OBJEXT) + -rm -f src/threads/*.$(OBJEXT) + -rm -f src/unit/*.$(OBJEXT) + -rm -f src/util/*.$(OBJEXT) + -rm -f thumbnailer/*.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-RESTSupport.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-Resources.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-resource.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-resource.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-AppDirs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-AppWindow.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Application.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-BatchImport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Box.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-CheckerboardLayout.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-CollectionPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-ColorTransformation.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-CommandManager.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Commands.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-CustomComponents.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Debug.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-DesktopIntegration.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Dialogs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Dimensions.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-DirectoryMonitor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Event.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Exporter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-International.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-LibraryFiles.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-LibraryMonitor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-MediaDataRepresentation.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-MediaInterfaces.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-MediaMetadata.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-MediaMonitor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-MediaPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-MediaViewTracker.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-MetadataWriter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-NaturalCollate.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Orientation.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Page.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Photo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-PhotoMonitor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-PhotoPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-PixbufCache.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Printing.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Properties.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Resources.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Screensaver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-SearchFilter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-SlideshowPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-SortedList.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Tag.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Thumbnail.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-ThumbnailCache.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-TimedQueue.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Tombstone.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-UnityProgressBar.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-Upgrades.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-VideoMetadata.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-VideoMonitor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-VideoSupport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/shotwell-main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_CameraInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_ConfigInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_CoreInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_DataImportsInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_DbInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_DirectInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_Direct_unitize_entry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_EditingToolsInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_EventsInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_FoldersInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_LibraryInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_Library_unitize_entry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_PhotosInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_PluginsInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_PublishingInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_SearchesInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_SidebarInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_SlideshowInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_TagsInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_ThreadsInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_UnitInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/.unitize/$(DEPDIR)/shotwell-_UtilInternals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/camera/$(DEPDIR)/shotwell-Branch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/camera/$(DEPDIR)/shotwell-Camera.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/camera/$(DEPDIR)/shotwell-CameraTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/camera/$(DEPDIR)/shotwell-GPhoto.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/camera/$(DEPDIR)/shotwell-ImportPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/config/$(DEPDIR)/shotwell-Config.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/config/$(DEPDIR)/shotwell-ConfigurationInterfaces.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/config/$(DEPDIR)/shotwell-GSettingsEngine.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-Alteration.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-ContainerSourceCollection.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-Core.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DataCollection.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DataObject.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DataSet.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DataSource.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DataSourceTypes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DataView.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DataViewTypes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-DatabaseSourceCollection.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-SourceCollection.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-SourceHoldingTank.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-SourceInterfaces.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-Tracker.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-ViewCollection.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/core/$(DEPDIR)/shotwell-util.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/data_imports/$(DEPDIR)/shotwell-DataImportJob.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/data_imports/$(DEPDIR)/shotwell-DataImportSource.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/data_imports/$(DEPDIR)/shotwell-DataImports.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/data_imports/$(DEPDIR)/shotwell-DataImportsPluginHost.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/data_imports/$(DEPDIR)/shotwell-DataImportsUI.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-DatabaseTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-Db.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-EventTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-PhotoTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-SavedSearchDBTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-TagTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-TombstoneTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-VersionTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/db/$(DEPDIR)/shotwell-VideoTable.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/direct/$(DEPDIR)/shotwell-Direct.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/direct/$(DEPDIR)/shotwell-DirectPhoto.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/direct/$(DEPDIR)/shotwell-DirectPhotoPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/direct/$(DEPDIR)/shotwell-DirectView.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/direct/$(DEPDIR)/shotwell-DirectWindow.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/editing_tools/$(DEPDIR)/shotwell-EditingTools.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/editing_tools/$(DEPDIR)/shotwell-StraightenTool.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/events/$(DEPDIR)/shotwell-Branch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/events/$(DEPDIR)/shotwell-EventDirectoryItem.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/events/$(DEPDIR)/shotwell-EventPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/events/$(DEPDIR)/shotwell-Events.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/events/$(DEPDIR)/shotwell-EventsDirectoryPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/folders/$(DEPDIR)/shotwell-Branch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/folders/$(DEPDIR)/shotwell-Folders.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/folders/$(DEPDIR)/shotwell-Page.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-Branch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-FlaggedPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-FlaggedSidebarEntry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-ImportQueuePage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-ImportQueueSidebarEntry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-LastImportPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-LastImportSidebarEntry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-Library.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-LibraryWindow.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-OfflinePage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-OfflineSidebarEntry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-TrashPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/library/$(DEPDIR)/shotwell-TrashSidebarEntry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-BmpSupport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-GRaw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-GdkSupport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-JfifSupport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-PhotoFileAdapter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-PhotoFileFormat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-PhotoFileSniffer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-PhotoMetadata.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-Photos.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-PngSupport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-RawSupport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/photos/$(DEPDIR)/shotwell-TiffSupport.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/plugins/$(DEPDIR)/shotwell-ManifestWidget.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/plugins/$(DEPDIR)/shotwell-Plugins.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/plugins/$(DEPDIR)/shotwell-StandardHostInterface.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/plugins/$(DEPDIR)/src_plugins_libplugin_la-DataImportsInterfaces.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/plugins/$(DEPDIR)/src_plugins_libplugin_la-PublishingInterfaces.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/plugins/$(DEPDIR)/src_plugins_libplugin_la-SpitInterfaces.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/plugins/$(DEPDIR)/src_plugins_libplugin_la-TransitionsInterfaces.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/publishing/$(DEPDIR)/shotwell-APIGlue.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/publishing/$(DEPDIR)/shotwell-Publishing.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/publishing/$(DEPDIR)/shotwell-PublishingPluginHost.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/publishing/$(DEPDIR)/shotwell-PublishingUI.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/searches/$(DEPDIR)/shotwell-Branch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/searches/$(DEPDIR)/shotwell-SavedSearchDialog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/searches/$(DEPDIR)/shotwell-SavedSearchPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/searches/$(DEPDIR)/shotwell-SearchBoolean.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/searches/$(DEPDIR)/shotwell-Searches.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/sidebar/$(DEPDIR)/shotwell-Branch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/sidebar/$(DEPDIR)/shotwell-Entry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/sidebar/$(DEPDIR)/shotwell-Sidebar.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/sidebar/$(DEPDIR)/shotwell-Tree.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/sidebar/$(DEPDIR)/shotwell-common.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/slideshow/$(DEPDIR)/shotwell-Slideshow.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/slideshow/$(DEPDIR)/shotwell-TransitionEffects.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/tags/$(DEPDIR)/shotwell-Branch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/tags/$(DEPDIR)/shotwell-HierarchicalTagIndex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/tags/$(DEPDIR)/shotwell-HierarchicalTagUtilities.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/tags/$(DEPDIR)/shotwell-TagPage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/tags/$(DEPDIR)/shotwell-Tags.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/threads/$(DEPDIR)/shotwell-BackgroundJob.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/threads/$(DEPDIR)/shotwell-Semaphore.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/threads/$(DEPDIR)/shotwell-Threads.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/threads/$(DEPDIR)/shotwell-Workers.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/unit/$(DEPDIR)/shotwell-Unit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-KeyValueMap.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-Util.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-file.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-image.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-misc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-string.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-system.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/shotwell-ui.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@thumbnailer/$(DEPDIR)/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +plugins/common/plugins_common_libshotwell_plugin_common_la-RESTSupport.lo: plugins/common/RESTSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_common_libshotwell_plugin_common_la_CFLAGS) $(CFLAGS) -MT plugins/common/plugins_common_libshotwell_plugin_common_la-RESTSupport.lo -MD -MP -MF plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-RESTSupport.Tpo -c -o plugins/common/plugins_common_libshotwell_plugin_common_la-RESTSupport.lo `test -f 'plugins/common/RESTSupport.c' || echo '$(srcdir)/'`plugins/common/RESTSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-RESTSupport.Tpo plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-RESTSupport.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/common/RESTSupport.c' object='plugins/common/plugins_common_libshotwell_plugin_common_la-RESTSupport.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_common_libshotwell_plugin_common_la_CFLAGS) $(CFLAGS) -c -o plugins/common/plugins_common_libshotwell_plugin_common_la-RESTSupport.lo `test -f 'plugins/common/RESTSupport.c' || echo '$(srcdir)/'`plugins/common/RESTSupport.c + +plugins/common/plugins_common_libshotwell_plugin_common_la-Resources.lo: plugins/common/Resources.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_common_libshotwell_plugin_common_la_CFLAGS) $(CFLAGS) -MT plugins/common/plugins_common_libshotwell_plugin_common_la-Resources.lo -MD -MP -MF plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-Resources.Tpo -c -o plugins/common/plugins_common_libshotwell_plugin_common_la-Resources.lo `test -f 'plugins/common/Resources.c' || echo '$(srcdir)/'`plugins/common/Resources.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-Resources.Tpo plugins/common/$(DEPDIR)/plugins_common_libshotwell_plugin_common_la-Resources.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/common/Resources.c' object='plugins/common/plugins_common_libshotwell_plugin_common_la-Resources.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_common_libshotwell_plugin_common_la_CFLAGS) $(CFLAGS) -c -o plugins/common/plugins_common_libshotwell_plugin_common_la-Resources.lo `test -f 'plugins/common/Resources.c' || echo '$(srcdir)/'`plugins/common/Resources.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.lo: plugins/shotwell-data-imports/FSpotDatabaseBehavior.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.lo `test -f 'plugins/shotwell-data-imports/FSpotDatabaseBehavior.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotDatabaseBehavior.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotDatabaseBehavior.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseBehavior.lo `test -f 'plugins/shotwell-data-imports/FSpotDatabaseBehavior.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotDatabaseBehavior.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.lo: plugins/shotwell-data-imports/FSpotDatabaseTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.lo `test -f 'plugins/shotwell-data-imports/FSpotDatabaseTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotDatabaseTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotDatabaseTable.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabaseTable.lo `test -f 'plugins/shotwell-data-imports/FSpotDatabaseTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotDatabaseTable.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.lo: plugins/shotwell-data-imports/FSpotDatabase.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.lo `test -f 'plugins/shotwell-data-imports/FSpotDatabase.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotDatabase.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotDatabase.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotDatabase.lo `test -f 'plugins/shotwell-data-imports/FSpotDatabase.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotDatabase.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.lo: plugins/shotwell-data-imports/FSpotImporter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.lo `test -f 'plugins/shotwell-data-imports/FSpotImporter.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotImporter.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotImporter.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotImporter.lo `test -f 'plugins/shotwell-data-imports/FSpotImporter.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotImporter.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.lo: plugins/shotwell-data-imports/FSpotMetaTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.lo `test -f 'plugins/shotwell-data-imports/FSpotMetaTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotMetaTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotMetaTable.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotMetaTable.lo `test -f 'plugins/shotwell-data-imports/FSpotMetaTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotMetaTable.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.lo: plugins/shotwell-data-imports/FSpotPhotosTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.lo `test -f 'plugins/shotwell-data-imports/FSpotPhotosTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotPhotosTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotPhotosTable.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotosTable.lo `test -f 'plugins/shotwell-data-imports/FSpotPhotosTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotPhotosTable.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.lo: plugins/shotwell-data-imports/FSpotPhotoTagsTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotPhotoTagsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotPhotoTagsTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotPhotoTagsTable.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoTagsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotPhotoTagsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotPhotoTagsTable.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.lo: plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotPhotoVersionsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.lo: plugins/shotwell-data-imports/FSpotRollsTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotRollsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotRollsTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotRollsTable.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotRollsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotRollsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotRollsTable.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.lo: plugins/shotwell-data-imports/FSpotTableBehavior.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.lo `test -f 'plugins/shotwell-data-imports/FSpotTableBehavior.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotTableBehavior.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotTableBehavior.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTableBehavior.lo `test -f 'plugins/shotwell-data-imports/FSpotTableBehavior.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotTableBehavior.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.lo: plugins/shotwell-data-imports/FSpotTagsTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotTagsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotTagsTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/FSpotTagsTable.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-FSpotTagsTable.lo `test -f 'plugins/shotwell-data-imports/FSpotTagsTable.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/FSpotTagsTable.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.lo: plugins/shotwell-data-imports/shotwell-data-imports.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.lo `test -f 'plugins/shotwell-data-imports/shotwell-data-imports.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/shotwell-data-imports.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/shotwell-data-imports.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-shotwell-data-imports.lo `test -f 'plugins/shotwell-data-imports/shotwell-data-imports.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/shotwell-data-imports.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.lo: plugins/shotwell-data-imports/SqliteSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.lo `test -f 'plugins/shotwell-data-imports/SqliteSupport.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/SqliteSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/SqliteSupport.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-SqliteSupport.lo `test -f 'plugins/shotwell-data-imports/SqliteSupport.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/SqliteSupport.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.lo: plugins/shotwell-data-imports/VersionNumber.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.lo `test -f 'plugins/shotwell-data-imports/VersionNumber.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/VersionNumber.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/VersionNumber.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-VersionNumber.lo `test -f 'plugins/shotwell-data-imports/VersionNumber.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/VersionNumber.c + +plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.lo: plugins/shotwell-data-imports/resource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.lo -MD -MP -MF plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.Tpo -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.lo `test -f 'plugins/shotwell-data-imports/resource.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/resource.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.Tpo plugins/shotwell-data-imports/$(DEPDIR)/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-data-imports/resource.c' object='plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-data-imports/plugins_shotwell_data_imports_shotwell_data_imports_la-resource.lo `test -f 'plugins/shotwell-data-imports/resource.c' || echo '$(srcdir)/'`plugins/shotwell-data-imports/resource.c + +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.lo: plugins/shotwell-publishing-extras/GalleryConnector.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.lo -MD -MP -MF plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.Tpo -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.lo `test -f 'plugins/shotwell-publishing-extras/GalleryConnector.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/GalleryConnector.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.Tpo plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing-extras/GalleryConnector.c' object='plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-GalleryConnector.lo `test -f 'plugins/shotwell-publishing-extras/GalleryConnector.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/GalleryConnector.c + +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.lo: plugins/shotwell-publishing-extras/RajcePublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.lo -MD -MP -MF plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.Tpo -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.lo `test -f 'plugins/shotwell-publishing-extras/RajcePublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/RajcePublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.Tpo plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing-extras/RajcePublishing.c' object='plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-RajcePublishing.lo `test -f 'plugins/shotwell-publishing-extras/RajcePublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/RajcePublishing.c + +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.lo: plugins/shotwell-publishing-extras/shotwell-publishing-extras.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.lo -MD -MP -MF plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.Tpo -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.lo `test -f 'plugins/shotwell-publishing-extras/shotwell-publishing-extras.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/shotwell-publishing-extras.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.Tpo plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing-extras/shotwell-publishing-extras.c' object='plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-shotwell-publishing-extras.lo `test -f 'plugins/shotwell-publishing-extras/shotwell-publishing-extras.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/shotwell-publishing-extras.c + +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.lo: plugins/shotwell-publishing-extras/TumblrPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.lo -MD -MP -MF plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.Tpo -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.lo `test -f 'plugins/shotwell-publishing-extras/TumblrPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/TumblrPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.Tpo plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing-extras/TumblrPublishing.c' object='plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-TumblrPublishing.lo `test -f 'plugins/shotwell-publishing-extras/TumblrPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/TumblrPublishing.c + +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.lo: plugins/shotwell-publishing-extras/YandexPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.lo -MD -MP -MF plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.Tpo -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.lo `test -f 'plugins/shotwell-publishing-extras/YandexPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/YandexPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.Tpo plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing-extras/YandexPublishing.c' object='plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-YandexPublishing.lo `test -f 'plugins/shotwell-publishing-extras/YandexPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/YandexPublishing.c + +plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.lo: plugins/shotwell-publishing-extras/resource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.lo -MD -MP -MF plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.Tpo -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.lo `test -f 'plugins/shotwell-publishing-extras/resource.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/resource.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.Tpo plugins/shotwell-publishing-extras/$(DEPDIR)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing-extras/resource.c' object='plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing-extras/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la-resource.lo `test -f 'plugins/shotwell-publishing-extras/resource.c' || echo '$(srcdir)/'`plugins/shotwell-publishing-extras/resource.c + +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.lo: plugins/shotwell-publishing/shotwell-publishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.lo -MD -MP -MF plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.Tpo -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.lo `test -f 'plugins/shotwell-publishing/shotwell-publishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/shotwell-publishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.Tpo plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing/shotwell-publishing.c' object='plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-shotwell-publishing.lo `test -f 'plugins/shotwell-publishing/shotwell-publishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/shotwell-publishing.c + +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.lo: plugins/shotwell-publishing/FacebookPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.lo -MD -MP -MF plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.Tpo -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.lo `test -f 'plugins/shotwell-publishing/FacebookPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/FacebookPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.Tpo plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing/FacebookPublishing.c' object='plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FacebookPublishing.lo `test -f 'plugins/shotwell-publishing/FacebookPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/FacebookPublishing.c + +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.lo: plugins/shotwell-publishing/PicasaPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.lo -MD -MP -MF plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.Tpo -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.lo `test -f 'plugins/shotwell-publishing/PicasaPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/PicasaPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.Tpo plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing/PicasaPublishing.c' object='plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PicasaPublishing.lo `test -f 'plugins/shotwell-publishing/PicasaPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/PicasaPublishing.c + +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.lo: plugins/shotwell-publishing/FlickrPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.lo -MD -MP -MF plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.Tpo -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.lo `test -f 'plugins/shotwell-publishing/FlickrPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/FlickrPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.Tpo plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing/FlickrPublishing.c' object='plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-FlickrPublishing.lo `test -f 'plugins/shotwell-publishing/FlickrPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/FlickrPublishing.c + +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.lo: plugins/shotwell-publishing/YouTubePublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.lo -MD -MP -MF plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.Tpo -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.lo `test -f 'plugins/shotwell-publishing/YouTubePublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/YouTubePublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.Tpo plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing/YouTubePublishing.c' object='plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-YouTubePublishing.lo `test -f 'plugins/shotwell-publishing/YouTubePublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/YouTubePublishing.c + +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.lo: plugins/shotwell-publishing/PiwigoPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.lo -MD -MP -MF plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.Tpo -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.lo `test -f 'plugins/shotwell-publishing/PiwigoPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/PiwigoPublishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.Tpo plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing/PiwigoPublishing.c' object='plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-PiwigoPublishing.lo `test -f 'plugins/shotwell-publishing/PiwigoPublishing.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/PiwigoPublishing.c + +plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-resource.lo: plugins/shotwell-publishing/resource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-resource.lo -MD -MP -MF plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-resource.Tpo -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-resource.lo `test -f 'plugins/shotwell-publishing/resource.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/resource.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-resource.Tpo plugins/shotwell-publishing/$(DEPDIR)/plugins_shotwell_publishing_shotwell_publishing_la-resource.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-publishing/resource.c' object='plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-resource.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-publishing/plugins_shotwell_publishing_shotwell_publishing_la-resource.lo `test -f 'plugins/shotwell-publishing/resource.c' || echo '$(srcdir)/'`plugins/shotwell-publishing/resource.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.lo: plugins/shotwell-transitions/BlindsEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.lo `test -f 'plugins/shotwell-transitions/BlindsEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/BlindsEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/BlindsEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-BlindsEffect.lo `test -f 'plugins/shotwell-transitions/BlindsEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/BlindsEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.lo: plugins/shotwell-transitions/ChessEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.lo `test -f 'plugins/shotwell-transitions/ChessEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/ChessEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/ChessEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ChessEffect.lo `test -f 'plugins/shotwell-transitions/ChessEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/ChessEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.lo: plugins/shotwell-transitions/CircleEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.lo `test -f 'plugins/shotwell-transitions/CircleEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/CircleEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/CircleEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CircleEffect.lo `test -f 'plugins/shotwell-transitions/CircleEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/CircleEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.lo: plugins/shotwell-transitions/CirclesEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.lo `test -f 'plugins/shotwell-transitions/CirclesEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/CirclesEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/CirclesEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CirclesEffect.lo `test -f 'plugins/shotwell-transitions/CirclesEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/CirclesEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.lo: plugins/shotwell-transitions/ClockEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.lo `test -f 'plugins/shotwell-transitions/ClockEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/ClockEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/ClockEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-ClockEffect.lo `test -f 'plugins/shotwell-transitions/ClockEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/ClockEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.lo: plugins/shotwell-transitions/CrumbleEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.lo `test -f 'plugins/shotwell-transitions/CrumbleEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/CrumbleEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/CrumbleEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-CrumbleEffect.lo `test -f 'plugins/shotwell-transitions/CrumbleEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/CrumbleEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.lo: plugins/shotwell-transitions/FadeEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.lo `test -f 'plugins/shotwell-transitions/FadeEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/FadeEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/FadeEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-FadeEffect.lo `test -f 'plugins/shotwell-transitions/FadeEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/FadeEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.lo: plugins/shotwell-transitions/shotwell-transitions.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.lo `test -f 'plugins/shotwell-transitions/shotwell-transitions.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/shotwell-transitions.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/shotwell-transitions.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-shotwell-transitions.lo `test -f 'plugins/shotwell-transitions/shotwell-transitions.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/shotwell-transitions.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.lo: plugins/shotwell-transitions/SlideEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.lo `test -f 'plugins/shotwell-transitions/SlideEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/SlideEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/SlideEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SlideEffect.lo `test -f 'plugins/shotwell-transitions/SlideEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/SlideEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.lo: plugins/shotwell-transitions/SquaresEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.lo `test -f 'plugins/shotwell-transitions/SquaresEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/SquaresEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/SquaresEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-SquaresEffect.lo `test -f 'plugins/shotwell-transitions/SquaresEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/SquaresEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.lo: plugins/shotwell-transitions/StripesEffect.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.lo `test -f 'plugins/shotwell-transitions/StripesEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/StripesEffect.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/StripesEffect.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-StripesEffect.lo `test -f 'plugins/shotwell-transitions/StripesEffect.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/StripesEffect.c + +plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-resource.lo: plugins/shotwell-transitions/resource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -MT plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-resource.lo -MD -MP -MF plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-resource.Tpo -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-resource.lo `test -f 'plugins/shotwell-transitions/resource.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/resource.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-resource.Tpo plugins/shotwell-transitions/$(DEPDIR)/plugins_shotwell_transitions_shotwell_transitions_la-resource.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/shotwell-transitions/resource.c' object='plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-resource.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS) $(CFLAGS) -c -o plugins/shotwell-transitions/plugins_shotwell_transitions_shotwell_transitions_la-resource.lo `test -f 'plugins/shotwell-transitions/resource.c' || echo '$(srcdir)/'`plugins/shotwell-transitions/resource.c + +src/plugins/src_plugins_libplugin_la-SpitInterfaces.lo: src/plugins/SpitInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -MT src/plugins/src_plugins_libplugin_la-SpitInterfaces.lo -MD -MP -MF src/plugins/$(DEPDIR)/src_plugins_libplugin_la-SpitInterfaces.Tpo -c -o src/plugins/src_plugins_libplugin_la-SpitInterfaces.lo `test -f 'src/plugins/SpitInterfaces.c' || echo '$(srcdir)/'`src/plugins/SpitInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/src_plugins_libplugin_la-SpitInterfaces.Tpo src/plugins/$(DEPDIR)/src_plugins_libplugin_la-SpitInterfaces.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/SpitInterfaces.c' object='src/plugins/src_plugins_libplugin_la-SpitInterfaces.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -c -o src/plugins/src_plugins_libplugin_la-SpitInterfaces.lo `test -f 'src/plugins/SpitInterfaces.c' || echo '$(srcdir)/'`src/plugins/SpitInterfaces.c + +src/plugins/src_plugins_libplugin_la-TransitionsInterfaces.lo: src/plugins/TransitionsInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -MT src/plugins/src_plugins_libplugin_la-TransitionsInterfaces.lo -MD -MP -MF src/plugins/$(DEPDIR)/src_plugins_libplugin_la-TransitionsInterfaces.Tpo -c -o src/plugins/src_plugins_libplugin_la-TransitionsInterfaces.lo `test -f 'src/plugins/TransitionsInterfaces.c' || echo '$(srcdir)/'`src/plugins/TransitionsInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/src_plugins_libplugin_la-TransitionsInterfaces.Tpo src/plugins/$(DEPDIR)/src_plugins_libplugin_la-TransitionsInterfaces.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/TransitionsInterfaces.c' object='src/plugins/src_plugins_libplugin_la-TransitionsInterfaces.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -c -o src/plugins/src_plugins_libplugin_la-TransitionsInterfaces.lo `test -f 'src/plugins/TransitionsInterfaces.c' || echo '$(srcdir)/'`src/plugins/TransitionsInterfaces.c + +src/plugins/src_plugins_libplugin_la-PublishingInterfaces.lo: src/plugins/PublishingInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -MT src/plugins/src_plugins_libplugin_la-PublishingInterfaces.lo -MD -MP -MF src/plugins/$(DEPDIR)/src_plugins_libplugin_la-PublishingInterfaces.Tpo -c -o src/plugins/src_plugins_libplugin_la-PublishingInterfaces.lo `test -f 'src/plugins/PublishingInterfaces.c' || echo '$(srcdir)/'`src/plugins/PublishingInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/src_plugins_libplugin_la-PublishingInterfaces.Tpo src/plugins/$(DEPDIR)/src_plugins_libplugin_la-PublishingInterfaces.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/PublishingInterfaces.c' object='src/plugins/src_plugins_libplugin_la-PublishingInterfaces.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -c -o src/plugins/src_plugins_libplugin_la-PublishingInterfaces.lo `test -f 'src/plugins/PublishingInterfaces.c' || echo '$(srcdir)/'`src/plugins/PublishingInterfaces.c + +src/plugins/src_plugins_libplugin_la-DataImportsInterfaces.lo: src/plugins/DataImportsInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -MT src/plugins/src_plugins_libplugin_la-DataImportsInterfaces.lo -MD -MP -MF src/plugins/$(DEPDIR)/src_plugins_libplugin_la-DataImportsInterfaces.Tpo -c -o src/plugins/src_plugins_libplugin_la-DataImportsInterfaces.lo `test -f 'src/plugins/DataImportsInterfaces.c' || echo '$(srcdir)/'`src/plugins/DataImportsInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/src_plugins_libplugin_la-DataImportsInterfaces.Tpo src/plugins/$(DEPDIR)/src_plugins_libplugin_la-DataImportsInterfaces.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/DataImportsInterfaces.c' object='src/plugins/src_plugins_libplugin_la-DataImportsInterfaces.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_plugins_libplugin_la_CFLAGS) $(CFLAGS) -c -o src/plugins/src_plugins_libplugin_la-DataImportsInterfaces.lo `test -f 'src/plugins/DataImportsInterfaces.c' || echo '$(srcdir)/'`src/plugins/DataImportsInterfaces.c + +src/unit/shotwell-Unit.o: src/unit/Unit.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/unit/shotwell-Unit.o -MD -MP -MF src/unit/$(DEPDIR)/shotwell-Unit.Tpo -c -o src/unit/shotwell-Unit.o `test -f 'src/unit/Unit.c' || echo '$(srcdir)/'`src/unit/Unit.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/unit/$(DEPDIR)/shotwell-Unit.Tpo src/unit/$(DEPDIR)/shotwell-Unit.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/unit/Unit.c' object='src/unit/shotwell-Unit.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/unit/shotwell-Unit.o `test -f 'src/unit/Unit.c' || echo '$(srcdir)/'`src/unit/Unit.c + +src/unit/shotwell-Unit.obj: src/unit/Unit.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/unit/shotwell-Unit.obj -MD -MP -MF src/unit/$(DEPDIR)/shotwell-Unit.Tpo -c -o src/unit/shotwell-Unit.obj `if test -f 'src/unit/Unit.c'; then $(CYGPATH_W) 'src/unit/Unit.c'; else $(CYGPATH_W) '$(srcdir)/src/unit/Unit.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/unit/$(DEPDIR)/shotwell-Unit.Tpo src/unit/$(DEPDIR)/shotwell-Unit.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/unit/Unit.c' object='src/unit/shotwell-Unit.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/unit/shotwell-Unit.obj `if test -f 'src/unit/Unit.c'; then $(CYGPATH_W) 'src/unit/Unit.c'; else $(CYGPATH_W) '$(srcdir)/src/unit/Unit.c'; fi` + +src/util/shotwell-Util.o: src/util/Util.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-Util.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-Util.Tpo -c -o src/util/shotwell-Util.o `test -f 'src/util/Util.c' || echo '$(srcdir)/'`src/util/Util.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-Util.Tpo src/util/$(DEPDIR)/shotwell-Util.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/Util.c' object='src/util/shotwell-Util.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-Util.o `test -f 'src/util/Util.c' || echo '$(srcdir)/'`src/util/Util.c + +src/util/shotwell-Util.obj: src/util/Util.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-Util.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-Util.Tpo -c -o src/util/shotwell-Util.obj `if test -f 'src/util/Util.c'; then $(CYGPATH_W) 'src/util/Util.c'; else $(CYGPATH_W) '$(srcdir)/src/util/Util.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-Util.Tpo src/util/$(DEPDIR)/shotwell-Util.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/Util.c' object='src/util/shotwell-Util.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-Util.obj `if test -f 'src/util/Util.c'; then $(CYGPATH_W) 'src/util/Util.c'; else $(CYGPATH_W) '$(srcdir)/src/util/Util.c'; fi` + +src/util/shotwell-file.o: src/util/file.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-file.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-file.Tpo -c -o src/util/shotwell-file.o `test -f 'src/util/file.c' || echo '$(srcdir)/'`src/util/file.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-file.Tpo src/util/$(DEPDIR)/shotwell-file.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/file.c' object='src/util/shotwell-file.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-file.o `test -f 'src/util/file.c' || echo '$(srcdir)/'`src/util/file.c + +src/util/shotwell-file.obj: src/util/file.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-file.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-file.Tpo -c -o src/util/shotwell-file.obj `if test -f 'src/util/file.c'; then $(CYGPATH_W) 'src/util/file.c'; else $(CYGPATH_W) '$(srcdir)/src/util/file.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-file.Tpo src/util/$(DEPDIR)/shotwell-file.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/file.c' object='src/util/shotwell-file.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-file.obj `if test -f 'src/util/file.c'; then $(CYGPATH_W) 'src/util/file.c'; else $(CYGPATH_W) '$(srcdir)/src/util/file.c'; fi` + +src/util/shotwell-image.o: src/util/image.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-image.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-image.Tpo -c -o src/util/shotwell-image.o `test -f 'src/util/image.c' || echo '$(srcdir)/'`src/util/image.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-image.Tpo src/util/$(DEPDIR)/shotwell-image.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/image.c' object='src/util/shotwell-image.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-image.o `test -f 'src/util/image.c' || echo '$(srcdir)/'`src/util/image.c + +src/util/shotwell-image.obj: src/util/image.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-image.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-image.Tpo -c -o src/util/shotwell-image.obj `if test -f 'src/util/image.c'; then $(CYGPATH_W) 'src/util/image.c'; else $(CYGPATH_W) '$(srcdir)/src/util/image.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-image.Tpo src/util/$(DEPDIR)/shotwell-image.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/image.c' object='src/util/shotwell-image.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-image.obj `if test -f 'src/util/image.c'; then $(CYGPATH_W) 'src/util/image.c'; else $(CYGPATH_W) '$(srcdir)/src/util/image.c'; fi` + +src/util/shotwell-misc.o: src/util/misc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-misc.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-misc.Tpo -c -o src/util/shotwell-misc.o `test -f 'src/util/misc.c' || echo '$(srcdir)/'`src/util/misc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-misc.Tpo src/util/$(DEPDIR)/shotwell-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/misc.c' object='src/util/shotwell-misc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-misc.o `test -f 'src/util/misc.c' || echo '$(srcdir)/'`src/util/misc.c + +src/util/shotwell-misc.obj: src/util/misc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-misc.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-misc.Tpo -c -o src/util/shotwell-misc.obj `if test -f 'src/util/misc.c'; then $(CYGPATH_W) 'src/util/misc.c'; else $(CYGPATH_W) '$(srcdir)/src/util/misc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-misc.Tpo src/util/$(DEPDIR)/shotwell-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/misc.c' object='src/util/shotwell-misc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-misc.obj `if test -f 'src/util/misc.c'; then $(CYGPATH_W) 'src/util/misc.c'; else $(CYGPATH_W) '$(srcdir)/src/util/misc.c'; fi` + +src/util/shotwell-string.o: src/util/string.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-string.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-string.Tpo -c -o src/util/shotwell-string.o `test -f 'src/util/string.c' || echo '$(srcdir)/'`src/util/string.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-string.Tpo src/util/$(DEPDIR)/shotwell-string.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/string.c' object='src/util/shotwell-string.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-string.o `test -f 'src/util/string.c' || echo '$(srcdir)/'`src/util/string.c + +src/util/shotwell-string.obj: src/util/string.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-string.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-string.Tpo -c -o src/util/shotwell-string.obj `if test -f 'src/util/string.c'; then $(CYGPATH_W) 'src/util/string.c'; else $(CYGPATH_W) '$(srcdir)/src/util/string.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-string.Tpo src/util/$(DEPDIR)/shotwell-string.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/string.c' object='src/util/shotwell-string.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-string.obj `if test -f 'src/util/string.c'; then $(CYGPATH_W) 'src/util/string.c'; else $(CYGPATH_W) '$(srcdir)/src/util/string.c'; fi` + +src/util/shotwell-system.o: src/util/system.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-system.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-system.Tpo -c -o src/util/shotwell-system.o `test -f 'src/util/system.c' || echo '$(srcdir)/'`src/util/system.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-system.Tpo src/util/$(DEPDIR)/shotwell-system.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/system.c' object='src/util/shotwell-system.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-system.o `test -f 'src/util/system.c' || echo '$(srcdir)/'`src/util/system.c + +src/util/shotwell-system.obj: src/util/system.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-system.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-system.Tpo -c -o src/util/shotwell-system.obj `if test -f 'src/util/system.c'; then $(CYGPATH_W) 'src/util/system.c'; else $(CYGPATH_W) '$(srcdir)/src/util/system.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-system.Tpo src/util/$(DEPDIR)/shotwell-system.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/system.c' object='src/util/shotwell-system.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-system.obj `if test -f 'src/util/system.c'; then $(CYGPATH_W) 'src/util/system.c'; else $(CYGPATH_W) '$(srcdir)/src/util/system.c'; fi` + +src/util/shotwell-KeyValueMap.o: src/util/KeyValueMap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-KeyValueMap.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-KeyValueMap.Tpo -c -o src/util/shotwell-KeyValueMap.o `test -f 'src/util/KeyValueMap.c' || echo '$(srcdir)/'`src/util/KeyValueMap.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-KeyValueMap.Tpo src/util/$(DEPDIR)/shotwell-KeyValueMap.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/KeyValueMap.c' object='src/util/shotwell-KeyValueMap.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-KeyValueMap.o `test -f 'src/util/KeyValueMap.c' || echo '$(srcdir)/'`src/util/KeyValueMap.c + +src/util/shotwell-KeyValueMap.obj: src/util/KeyValueMap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-KeyValueMap.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-KeyValueMap.Tpo -c -o src/util/shotwell-KeyValueMap.obj `if test -f 'src/util/KeyValueMap.c'; then $(CYGPATH_W) 'src/util/KeyValueMap.c'; else $(CYGPATH_W) '$(srcdir)/src/util/KeyValueMap.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-KeyValueMap.Tpo src/util/$(DEPDIR)/shotwell-KeyValueMap.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/KeyValueMap.c' object='src/util/shotwell-KeyValueMap.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-KeyValueMap.obj `if test -f 'src/util/KeyValueMap.c'; then $(CYGPATH_W) 'src/util/KeyValueMap.c'; else $(CYGPATH_W) '$(srcdir)/src/util/KeyValueMap.c'; fi` + +src/util/shotwell-ui.o: src/util/ui.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-ui.o -MD -MP -MF src/util/$(DEPDIR)/shotwell-ui.Tpo -c -o src/util/shotwell-ui.o `test -f 'src/util/ui.c' || echo '$(srcdir)/'`src/util/ui.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-ui.Tpo src/util/$(DEPDIR)/shotwell-ui.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/ui.c' object='src/util/shotwell-ui.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-ui.o `test -f 'src/util/ui.c' || echo '$(srcdir)/'`src/util/ui.c + +src/util/shotwell-ui.obj: src/util/ui.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/util/shotwell-ui.obj -MD -MP -MF src/util/$(DEPDIR)/shotwell-ui.Tpo -c -o src/util/shotwell-ui.obj `if test -f 'src/util/ui.c'; then $(CYGPATH_W) 'src/util/ui.c'; else $(CYGPATH_W) '$(srcdir)/src/util/ui.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/util/$(DEPDIR)/shotwell-ui.Tpo src/util/$(DEPDIR)/shotwell-ui.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/util/ui.c' object='src/util/shotwell-ui.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/util/shotwell-ui.obj `if test -f 'src/util/ui.c'; then $(CYGPATH_W) 'src/util/ui.c'; else $(CYGPATH_W) '$(srcdir)/src/util/ui.c'; fi` + +src/threads/shotwell-Threads.o: src/threads/Threads.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-Threads.o -MD -MP -MF src/threads/$(DEPDIR)/shotwell-Threads.Tpo -c -o src/threads/shotwell-Threads.o `test -f 'src/threads/Threads.c' || echo '$(srcdir)/'`src/threads/Threads.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-Threads.Tpo src/threads/$(DEPDIR)/shotwell-Threads.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/Threads.c' object='src/threads/shotwell-Threads.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-Threads.o `test -f 'src/threads/Threads.c' || echo '$(srcdir)/'`src/threads/Threads.c + +src/threads/shotwell-Threads.obj: src/threads/Threads.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-Threads.obj -MD -MP -MF src/threads/$(DEPDIR)/shotwell-Threads.Tpo -c -o src/threads/shotwell-Threads.obj `if test -f 'src/threads/Threads.c'; then $(CYGPATH_W) 'src/threads/Threads.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/Threads.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-Threads.Tpo src/threads/$(DEPDIR)/shotwell-Threads.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/Threads.c' object='src/threads/shotwell-Threads.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-Threads.obj `if test -f 'src/threads/Threads.c'; then $(CYGPATH_W) 'src/threads/Threads.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/Threads.c'; fi` + +src/threads/shotwell-Workers.o: src/threads/Workers.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-Workers.o -MD -MP -MF src/threads/$(DEPDIR)/shotwell-Workers.Tpo -c -o src/threads/shotwell-Workers.o `test -f 'src/threads/Workers.c' || echo '$(srcdir)/'`src/threads/Workers.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-Workers.Tpo src/threads/$(DEPDIR)/shotwell-Workers.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/Workers.c' object='src/threads/shotwell-Workers.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-Workers.o `test -f 'src/threads/Workers.c' || echo '$(srcdir)/'`src/threads/Workers.c + +src/threads/shotwell-Workers.obj: src/threads/Workers.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-Workers.obj -MD -MP -MF src/threads/$(DEPDIR)/shotwell-Workers.Tpo -c -o src/threads/shotwell-Workers.obj `if test -f 'src/threads/Workers.c'; then $(CYGPATH_W) 'src/threads/Workers.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/Workers.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-Workers.Tpo src/threads/$(DEPDIR)/shotwell-Workers.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/Workers.c' object='src/threads/shotwell-Workers.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-Workers.obj `if test -f 'src/threads/Workers.c'; then $(CYGPATH_W) 'src/threads/Workers.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/Workers.c'; fi` + +src/threads/shotwell-BackgroundJob.o: src/threads/BackgroundJob.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-BackgroundJob.o -MD -MP -MF src/threads/$(DEPDIR)/shotwell-BackgroundJob.Tpo -c -o src/threads/shotwell-BackgroundJob.o `test -f 'src/threads/BackgroundJob.c' || echo '$(srcdir)/'`src/threads/BackgroundJob.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-BackgroundJob.Tpo src/threads/$(DEPDIR)/shotwell-BackgroundJob.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/BackgroundJob.c' object='src/threads/shotwell-BackgroundJob.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-BackgroundJob.o `test -f 'src/threads/BackgroundJob.c' || echo '$(srcdir)/'`src/threads/BackgroundJob.c + +src/threads/shotwell-BackgroundJob.obj: src/threads/BackgroundJob.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-BackgroundJob.obj -MD -MP -MF src/threads/$(DEPDIR)/shotwell-BackgroundJob.Tpo -c -o src/threads/shotwell-BackgroundJob.obj `if test -f 'src/threads/BackgroundJob.c'; then $(CYGPATH_W) 'src/threads/BackgroundJob.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/BackgroundJob.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-BackgroundJob.Tpo src/threads/$(DEPDIR)/shotwell-BackgroundJob.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/BackgroundJob.c' object='src/threads/shotwell-BackgroundJob.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-BackgroundJob.obj `if test -f 'src/threads/BackgroundJob.c'; then $(CYGPATH_W) 'src/threads/BackgroundJob.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/BackgroundJob.c'; fi` + +src/threads/shotwell-Semaphore.o: src/threads/Semaphore.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-Semaphore.o -MD -MP -MF src/threads/$(DEPDIR)/shotwell-Semaphore.Tpo -c -o src/threads/shotwell-Semaphore.o `test -f 'src/threads/Semaphore.c' || echo '$(srcdir)/'`src/threads/Semaphore.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-Semaphore.Tpo src/threads/$(DEPDIR)/shotwell-Semaphore.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/Semaphore.c' object='src/threads/shotwell-Semaphore.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-Semaphore.o `test -f 'src/threads/Semaphore.c' || echo '$(srcdir)/'`src/threads/Semaphore.c + +src/threads/shotwell-Semaphore.obj: src/threads/Semaphore.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/threads/shotwell-Semaphore.obj -MD -MP -MF src/threads/$(DEPDIR)/shotwell-Semaphore.Tpo -c -o src/threads/shotwell-Semaphore.obj `if test -f 'src/threads/Semaphore.c'; then $(CYGPATH_W) 'src/threads/Semaphore.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/Semaphore.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/threads/$(DEPDIR)/shotwell-Semaphore.Tpo src/threads/$(DEPDIR)/shotwell-Semaphore.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/threads/Semaphore.c' object='src/threads/shotwell-Semaphore.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/threads/shotwell-Semaphore.obj `if test -f 'src/threads/Semaphore.c'; then $(CYGPATH_W) 'src/threads/Semaphore.c'; else $(CYGPATH_W) '$(srcdir)/src/threads/Semaphore.c'; fi` + +src/db/shotwell-Db.o: src/db/Db.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-Db.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-Db.Tpo -c -o src/db/shotwell-Db.o `test -f 'src/db/Db.c' || echo '$(srcdir)/'`src/db/Db.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-Db.Tpo src/db/$(DEPDIR)/shotwell-Db.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/Db.c' object='src/db/shotwell-Db.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-Db.o `test -f 'src/db/Db.c' || echo '$(srcdir)/'`src/db/Db.c + +src/db/shotwell-Db.obj: src/db/Db.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-Db.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-Db.Tpo -c -o src/db/shotwell-Db.obj `if test -f 'src/db/Db.c'; then $(CYGPATH_W) 'src/db/Db.c'; else $(CYGPATH_W) '$(srcdir)/src/db/Db.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-Db.Tpo src/db/$(DEPDIR)/shotwell-Db.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/Db.c' object='src/db/shotwell-Db.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-Db.obj `if test -f 'src/db/Db.c'; then $(CYGPATH_W) 'src/db/Db.c'; else $(CYGPATH_W) '$(srcdir)/src/db/Db.c'; fi` + +src/db/shotwell-DatabaseTable.o: src/db/DatabaseTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-DatabaseTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-DatabaseTable.Tpo -c -o src/db/shotwell-DatabaseTable.o `test -f 'src/db/DatabaseTable.c' || echo '$(srcdir)/'`src/db/DatabaseTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-DatabaseTable.Tpo src/db/$(DEPDIR)/shotwell-DatabaseTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/DatabaseTable.c' object='src/db/shotwell-DatabaseTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-DatabaseTable.o `test -f 'src/db/DatabaseTable.c' || echo '$(srcdir)/'`src/db/DatabaseTable.c + +src/db/shotwell-DatabaseTable.obj: src/db/DatabaseTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-DatabaseTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-DatabaseTable.Tpo -c -o src/db/shotwell-DatabaseTable.obj `if test -f 'src/db/DatabaseTable.c'; then $(CYGPATH_W) 'src/db/DatabaseTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/DatabaseTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-DatabaseTable.Tpo src/db/$(DEPDIR)/shotwell-DatabaseTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/DatabaseTable.c' object='src/db/shotwell-DatabaseTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-DatabaseTable.obj `if test -f 'src/db/DatabaseTable.c'; then $(CYGPATH_W) 'src/db/DatabaseTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/DatabaseTable.c'; fi` + +src/db/shotwell-PhotoTable.o: src/db/PhotoTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-PhotoTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-PhotoTable.Tpo -c -o src/db/shotwell-PhotoTable.o `test -f 'src/db/PhotoTable.c' || echo '$(srcdir)/'`src/db/PhotoTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-PhotoTable.Tpo src/db/$(DEPDIR)/shotwell-PhotoTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/PhotoTable.c' object='src/db/shotwell-PhotoTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-PhotoTable.o `test -f 'src/db/PhotoTable.c' || echo '$(srcdir)/'`src/db/PhotoTable.c + +src/db/shotwell-PhotoTable.obj: src/db/PhotoTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-PhotoTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-PhotoTable.Tpo -c -o src/db/shotwell-PhotoTable.obj `if test -f 'src/db/PhotoTable.c'; then $(CYGPATH_W) 'src/db/PhotoTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/PhotoTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-PhotoTable.Tpo src/db/$(DEPDIR)/shotwell-PhotoTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/PhotoTable.c' object='src/db/shotwell-PhotoTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-PhotoTable.obj `if test -f 'src/db/PhotoTable.c'; then $(CYGPATH_W) 'src/db/PhotoTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/PhotoTable.c'; fi` + +src/db/shotwell-EventTable.o: src/db/EventTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-EventTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-EventTable.Tpo -c -o src/db/shotwell-EventTable.o `test -f 'src/db/EventTable.c' || echo '$(srcdir)/'`src/db/EventTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-EventTable.Tpo src/db/$(DEPDIR)/shotwell-EventTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/EventTable.c' object='src/db/shotwell-EventTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-EventTable.o `test -f 'src/db/EventTable.c' || echo '$(srcdir)/'`src/db/EventTable.c + +src/db/shotwell-EventTable.obj: src/db/EventTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-EventTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-EventTable.Tpo -c -o src/db/shotwell-EventTable.obj `if test -f 'src/db/EventTable.c'; then $(CYGPATH_W) 'src/db/EventTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/EventTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-EventTable.Tpo src/db/$(DEPDIR)/shotwell-EventTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/EventTable.c' object='src/db/shotwell-EventTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-EventTable.obj `if test -f 'src/db/EventTable.c'; then $(CYGPATH_W) 'src/db/EventTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/EventTable.c'; fi` + +src/db/shotwell-TagTable.o: src/db/TagTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-TagTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-TagTable.Tpo -c -o src/db/shotwell-TagTable.o `test -f 'src/db/TagTable.c' || echo '$(srcdir)/'`src/db/TagTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-TagTable.Tpo src/db/$(DEPDIR)/shotwell-TagTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/TagTable.c' object='src/db/shotwell-TagTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-TagTable.o `test -f 'src/db/TagTable.c' || echo '$(srcdir)/'`src/db/TagTable.c + +src/db/shotwell-TagTable.obj: src/db/TagTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-TagTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-TagTable.Tpo -c -o src/db/shotwell-TagTable.obj `if test -f 'src/db/TagTable.c'; then $(CYGPATH_W) 'src/db/TagTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/TagTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-TagTable.Tpo src/db/$(DEPDIR)/shotwell-TagTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/TagTable.c' object='src/db/shotwell-TagTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-TagTable.obj `if test -f 'src/db/TagTable.c'; then $(CYGPATH_W) 'src/db/TagTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/TagTable.c'; fi` + +src/db/shotwell-TombstoneTable.o: src/db/TombstoneTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-TombstoneTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-TombstoneTable.Tpo -c -o src/db/shotwell-TombstoneTable.o `test -f 'src/db/TombstoneTable.c' || echo '$(srcdir)/'`src/db/TombstoneTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-TombstoneTable.Tpo src/db/$(DEPDIR)/shotwell-TombstoneTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/TombstoneTable.c' object='src/db/shotwell-TombstoneTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-TombstoneTable.o `test -f 'src/db/TombstoneTable.c' || echo '$(srcdir)/'`src/db/TombstoneTable.c + +src/db/shotwell-TombstoneTable.obj: src/db/TombstoneTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-TombstoneTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-TombstoneTable.Tpo -c -o src/db/shotwell-TombstoneTable.obj `if test -f 'src/db/TombstoneTable.c'; then $(CYGPATH_W) 'src/db/TombstoneTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/TombstoneTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-TombstoneTable.Tpo src/db/$(DEPDIR)/shotwell-TombstoneTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/TombstoneTable.c' object='src/db/shotwell-TombstoneTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-TombstoneTable.obj `if test -f 'src/db/TombstoneTable.c'; then $(CYGPATH_W) 'src/db/TombstoneTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/TombstoneTable.c'; fi` + +src/db/shotwell-VideoTable.o: src/db/VideoTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-VideoTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-VideoTable.Tpo -c -o src/db/shotwell-VideoTable.o `test -f 'src/db/VideoTable.c' || echo '$(srcdir)/'`src/db/VideoTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-VideoTable.Tpo src/db/$(DEPDIR)/shotwell-VideoTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/VideoTable.c' object='src/db/shotwell-VideoTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-VideoTable.o `test -f 'src/db/VideoTable.c' || echo '$(srcdir)/'`src/db/VideoTable.c + +src/db/shotwell-VideoTable.obj: src/db/VideoTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-VideoTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-VideoTable.Tpo -c -o src/db/shotwell-VideoTable.obj `if test -f 'src/db/VideoTable.c'; then $(CYGPATH_W) 'src/db/VideoTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/VideoTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-VideoTable.Tpo src/db/$(DEPDIR)/shotwell-VideoTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/VideoTable.c' object='src/db/shotwell-VideoTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-VideoTable.obj `if test -f 'src/db/VideoTable.c'; then $(CYGPATH_W) 'src/db/VideoTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/VideoTable.c'; fi` + +src/db/shotwell-VersionTable.o: src/db/VersionTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-VersionTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-VersionTable.Tpo -c -o src/db/shotwell-VersionTable.o `test -f 'src/db/VersionTable.c' || echo '$(srcdir)/'`src/db/VersionTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-VersionTable.Tpo src/db/$(DEPDIR)/shotwell-VersionTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/VersionTable.c' object='src/db/shotwell-VersionTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-VersionTable.o `test -f 'src/db/VersionTable.c' || echo '$(srcdir)/'`src/db/VersionTable.c + +src/db/shotwell-VersionTable.obj: src/db/VersionTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-VersionTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-VersionTable.Tpo -c -o src/db/shotwell-VersionTable.obj `if test -f 'src/db/VersionTable.c'; then $(CYGPATH_W) 'src/db/VersionTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/VersionTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-VersionTable.Tpo src/db/$(DEPDIR)/shotwell-VersionTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/VersionTable.c' object='src/db/shotwell-VersionTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-VersionTable.obj `if test -f 'src/db/VersionTable.c'; then $(CYGPATH_W) 'src/db/VersionTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/VersionTable.c'; fi` + +src/db/shotwell-SavedSearchDBTable.o: src/db/SavedSearchDBTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-SavedSearchDBTable.o -MD -MP -MF src/db/$(DEPDIR)/shotwell-SavedSearchDBTable.Tpo -c -o src/db/shotwell-SavedSearchDBTable.o `test -f 'src/db/SavedSearchDBTable.c' || echo '$(srcdir)/'`src/db/SavedSearchDBTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-SavedSearchDBTable.Tpo src/db/$(DEPDIR)/shotwell-SavedSearchDBTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/SavedSearchDBTable.c' object='src/db/shotwell-SavedSearchDBTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-SavedSearchDBTable.o `test -f 'src/db/SavedSearchDBTable.c' || echo '$(srcdir)/'`src/db/SavedSearchDBTable.c + +src/db/shotwell-SavedSearchDBTable.obj: src/db/SavedSearchDBTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/db/shotwell-SavedSearchDBTable.obj -MD -MP -MF src/db/$(DEPDIR)/shotwell-SavedSearchDBTable.Tpo -c -o src/db/shotwell-SavedSearchDBTable.obj `if test -f 'src/db/SavedSearchDBTable.c'; then $(CYGPATH_W) 'src/db/SavedSearchDBTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/SavedSearchDBTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/db/$(DEPDIR)/shotwell-SavedSearchDBTable.Tpo src/db/$(DEPDIR)/shotwell-SavedSearchDBTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/db/SavedSearchDBTable.c' object='src/db/shotwell-SavedSearchDBTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/db/shotwell-SavedSearchDBTable.obj `if test -f 'src/db/SavedSearchDBTable.c'; then $(CYGPATH_W) 'src/db/SavedSearchDBTable.c'; else $(CYGPATH_W) '$(srcdir)/src/db/SavedSearchDBTable.c'; fi` + +src/editing_tools/shotwell-EditingTools.o: src/editing_tools/EditingTools.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/editing_tools/shotwell-EditingTools.o -MD -MP -MF src/editing_tools/$(DEPDIR)/shotwell-EditingTools.Tpo -c -o src/editing_tools/shotwell-EditingTools.o `test -f 'src/editing_tools/EditingTools.c' || echo '$(srcdir)/'`src/editing_tools/EditingTools.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/editing_tools/$(DEPDIR)/shotwell-EditingTools.Tpo src/editing_tools/$(DEPDIR)/shotwell-EditingTools.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/editing_tools/EditingTools.c' object='src/editing_tools/shotwell-EditingTools.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/editing_tools/shotwell-EditingTools.o `test -f 'src/editing_tools/EditingTools.c' || echo '$(srcdir)/'`src/editing_tools/EditingTools.c + +src/editing_tools/shotwell-EditingTools.obj: src/editing_tools/EditingTools.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/editing_tools/shotwell-EditingTools.obj -MD -MP -MF src/editing_tools/$(DEPDIR)/shotwell-EditingTools.Tpo -c -o src/editing_tools/shotwell-EditingTools.obj `if test -f 'src/editing_tools/EditingTools.c'; then $(CYGPATH_W) 'src/editing_tools/EditingTools.c'; else $(CYGPATH_W) '$(srcdir)/src/editing_tools/EditingTools.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/editing_tools/$(DEPDIR)/shotwell-EditingTools.Tpo src/editing_tools/$(DEPDIR)/shotwell-EditingTools.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/editing_tools/EditingTools.c' object='src/editing_tools/shotwell-EditingTools.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/editing_tools/shotwell-EditingTools.obj `if test -f 'src/editing_tools/EditingTools.c'; then $(CYGPATH_W) 'src/editing_tools/EditingTools.c'; else $(CYGPATH_W) '$(srcdir)/src/editing_tools/EditingTools.c'; fi` + +src/editing_tools/shotwell-StraightenTool.o: src/editing_tools/StraightenTool.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/editing_tools/shotwell-StraightenTool.o -MD -MP -MF src/editing_tools/$(DEPDIR)/shotwell-StraightenTool.Tpo -c -o src/editing_tools/shotwell-StraightenTool.o `test -f 'src/editing_tools/StraightenTool.c' || echo '$(srcdir)/'`src/editing_tools/StraightenTool.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/editing_tools/$(DEPDIR)/shotwell-StraightenTool.Tpo src/editing_tools/$(DEPDIR)/shotwell-StraightenTool.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/editing_tools/StraightenTool.c' object='src/editing_tools/shotwell-StraightenTool.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/editing_tools/shotwell-StraightenTool.o `test -f 'src/editing_tools/StraightenTool.c' || echo '$(srcdir)/'`src/editing_tools/StraightenTool.c + +src/editing_tools/shotwell-StraightenTool.obj: src/editing_tools/StraightenTool.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/editing_tools/shotwell-StraightenTool.obj -MD -MP -MF src/editing_tools/$(DEPDIR)/shotwell-StraightenTool.Tpo -c -o src/editing_tools/shotwell-StraightenTool.obj `if test -f 'src/editing_tools/StraightenTool.c'; then $(CYGPATH_W) 'src/editing_tools/StraightenTool.c'; else $(CYGPATH_W) '$(srcdir)/src/editing_tools/StraightenTool.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/editing_tools/$(DEPDIR)/shotwell-StraightenTool.Tpo src/editing_tools/$(DEPDIR)/shotwell-StraightenTool.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/editing_tools/StraightenTool.c' object='src/editing_tools/shotwell-StraightenTool.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/editing_tools/shotwell-StraightenTool.obj `if test -f 'src/editing_tools/StraightenTool.c'; then $(CYGPATH_W) 'src/editing_tools/StraightenTool.c'; else $(CYGPATH_W) '$(srcdir)/src/editing_tools/StraightenTool.c'; fi` + +src/slideshow/shotwell-Slideshow.o: src/slideshow/Slideshow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/slideshow/shotwell-Slideshow.o -MD -MP -MF src/slideshow/$(DEPDIR)/shotwell-Slideshow.Tpo -c -o src/slideshow/shotwell-Slideshow.o `test -f 'src/slideshow/Slideshow.c' || echo '$(srcdir)/'`src/slideshow/Slideshow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/slideshow/$(DEPDIR)/shotwell-Slideshow.Tpo src/slideshow/$(DEPDIR)/shotwell-Slideshow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/slideshow/Slideshow.c' object='src/slideshow/shotwell-Slideshow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/slideshow/shotwell-Slideshow.o `test -f 'src/slideshow/Slideshow.c' || echo '$(srcdir)/'`src/slideshow/Slideshow.c + +src/slideshow/shotwell-Slideshow.obj: src/slideshow/Slideshow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/slideshow/shotwell-Slideshow.obj -MD -MP -MF src/slideshow/$(DEPDIR)/shotwell-Slideshow.Tpo -c -o src/slideshow/shotwell-Slideshow.obj `if test -f 'src/slideshow/Slideshow.c'; then $(CYGPATH_W) 'src/slideshow/Slideshow.c'; else $(CYGPATH_W) '$(srcdir)/src/slideshow/Slideshow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/slideshow/$(DEPDIR)/shotwell-Slideshow.Tpo src/slideshow/$(DEPDIR)/shotwell-Slideshow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/slideshow/Slideshow.c' object='src/slideshow/shotwell-Slideshow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/slideshow/shotwell-Slideshow.obj `if test -f 'src/slideshow/Slideshow.c'; then $(CYGPATH_W) 'src/slideshow/Slideshow.c'; else $(CYGPATH_W) '$(srcdir)/src/slideshow/Slideshow.c'; fi` + +src/slideshow/shotwell-TransitionEffects.o: src/slideshow/TransitionEffects.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/slideshow/shotwell-TransitionEffects.o -MD -MP -MF src/slideshow/$(DEPDIR)/shotwell-TransitionEffects.Tpo -c -o src/slideshow/shotwell-TransitionEffects.o `test -f 'src/slideshow/TransitionEffects.c' || echo '$(srcdir)/'`src/slideshow/TransitionEffects.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/slideshow/$(DEPDIR)/shotwell-TransitionEffects.Tpo src/slideshow/$(DEPDIR)/shotwell-TransitionEffects.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/slideshow/TransitionEffects.c' object='src/slideshow/shotwell-TransitionEffects.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/slideshow/shotwell-TransitionEffects.o `test -f 'src/slideshow/TransitionEffects.c' || echo '$(srcdir)/'`src/slideshow/TransitionEffects.c + +src/slideshow/shotwell-TransitionEffects.obj: src/slideshow/TransitionEffects.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/slideshow/shotwell-TransitionEffects.obj -MD -MP -MF src/slideshow/$(DEPDIR)/shotwell-TransitionEffects.Tpo -c -o src/slideshow/shotwell-TransitionEffects.obj `if test -f 'src/slideshow/TransitionEffects.c'; then $(CYGPATH_W) 'src/slideshow/TransitionEffects.c'; else $(CYGPATH_W) '$(srcdir)/src/slideshow/TransitionEffects.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/slideshow/$(DEPDIR)/shotwell-TransitionEffects.Tpo src/slideshow/$(DEPDIR)/shotwell-TransitionEffects.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/slideshow/TransitionEffects.c' object='src/slideshow/shotwell-TransitionEffects.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/slideshow/shotwell-TransitionEffects.obj `if test -f 'src/slideshow/TransitionEffects.c'; then $(CYGPATH_W) 'src/slideshow/TransitionEffects.c'; else $(CYGPATH_W) '$(srcdir)/src/slideshow/TransitionEffects.c'; fi` + +src/photos/shotwell-Photos.o: src/photos/Photos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-Photos.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-Photos.Tpo -c -o src/photos/shotwell-Photos.o `test -f 'src/photos/Photos.c' || echo '$(srcdir)/'`src/photos/Photos.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-Photos.Tpo src/photos/$(DEPDIR)/shotwell-Photos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/Photos.c' object='src/photos/shotwell-Photos.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-Photos.o `test -f 'src/photos/Photos.c' || echo '$(srcdir)/'`src/photos/Photos.c + +src/photos/shotwell-Photos.obj: src/photos/Photos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-Photos.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-Photos.Tpo -c -o src/photos/shotwell-Photos.obj `if test -f 'src/photos/Photos.c'; then $(CYGPATH_W) 'src/photos/Photos.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/Photos.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-Photos.Tpo src/photos/$(DEPDIR)/shotwell-Photos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/Photos.c' object='src/photos/shotwell-Photos.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-Photos.obj `if test -f 'src/photos/Photos.c'; then $(CYGPATH_W) 'src/photos/Photos.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/Photos.c'; fi` + +src/photos/shotwell-PhotoFileAdapter.o: src/photos/PhotoFileAdapter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoFileAdapter.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoFileAdapter.Tpo -c -o src/photos/shotwell-PhotoFileAdapter.o `test -f 'src/photos/PhotoFileAdapter.c' || echo '$(srcdir)/'`src/photos/PhotoFileAdapter.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoFileAdapter.Tpo src/photos/$(DEPDIR)/shotwell-PhotoFileAdapter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoFileAdapter.c' object='src/photos/shotwell-PhotoFileAdapter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoFileAdapter.o `test -f 'src/photos/PhotoFileAdapter.c' || echo '$(srcdir)/'`src/photos/PhotoFileAdapter.c + +src/photos/shotwell-PhotoFileAdapter.obj: src/photos/PhotoFileAdapter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoFileAdapter.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoFileAdapter.Tpo -c -o src/photos/shotwell-PhotoFileAdapter.obj `if test -f 'src/photos/PhotoFileAdapter.c'; then $(CYGPATH_W) 'src/photos/PhotoFileAdapter.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoFileAdapter.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoFileAdapter.Tpo src/photos/$(DEPDIR)/shotwell-PhotoFileAdapter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoFileAdapter.c' object='src/photos/shotwell-PhotoFileAdapter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoFileAdapter.obj `if test -f 'src/photos/PhotoFileAdapter.c'; then $(CYGPATH_W) 'src/photos/PhotoFileAdapter.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoFileAdapter.c'; fi` + +src/photos/shotwell-PhotoFileFormat.o: src/photos/PhotoFileFormat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoFileFormat.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoFileFormat.Tpo -c -o src/photos/shotwell-PhotoFileFormat.o `test -f 'src/photos/PhotoFileFormat.c' || echo '$(srcdir)/'`src/photos/PhotoFileFormat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoFileFormat.Tpo src/photos/$(DEPDIR)/shotwell-PhotoFileFormat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoFileFormat.c' object='src/photos/shotwell-PhotoFileFormat.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoFileFormat.o `test -f 'src/photos/PhotoFileFormat.c' || echo '$(srcdir)/'`src/photos/PhotoFileFormat.c + +src/photos/shotwell-PhotoFileFormat.obj: src/photos/PhotoFileFormat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoFileFormat.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoFileFormat.Tpo -c -o src/photos/shotwell-PhotoFileFormat.obj `if test -f 'src/photos/PhotoFileFormat.c'; then $(CYGPATH_W) 'src/photos/PhotoFileFormat.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoFileFormat.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoFileFormat.Tpo src/photos/$(DEPDIR)/shotwell-PhotoFileFormat.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoFileFormat.c' object='src/photos/shotwell-PhotoFileFormat.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoFileFormat.obj `if test -f 'src/photos/PhotoFileFormat.c'; then $(CYGPATH_W) 'src/photos/PhotoFileFormat.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoFileFormat.c'; fi` + +src/photos/shotwell-PhotoFileSniffer.o: src/photos/PhotoFileSniffer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoFileSniffer.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoFileSniffer.Tpo -c -o src/photos/shotwell-PhotoFileSniffer.o `test -f 'src/photos/PhotoFileSniffer.c' || echo '$(srcdir)/'`src/photos/PhotoFileSniffer.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoFileSniffer.Tpo src/photos/$(DEPDIR)/shotwell-PhotoFileSniffer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoFileSniffer.c' object='src/photos/shotwell-PhotoFileSniffer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoFileSniffer.o `test -f 'src/photos/PhotoFileSniffer.c' || echo '$(srcdir)/'`src/photos/PhotoFileSniffer.c + +src/photos/shotwell-PhotoFileSniffer.obj: src/photos/PhotoFileSniffer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoFileSniffer.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoFileSniffer.Tpo -c -o src/photos/shotwell-PhotoFileSniffer.obj `if test -f 'src/photos/PhotoFileSniffer.c'; then $(CYGPATH_W) 'src/photos/PhotoFileSniffer.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoFileSniffer.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoFileSniffer.Tpo src/photos/$(DEPDIR)/shotwell-PhotoFileSniffer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoFileSniffer.c' object='src/photos/shotwell-PhotoFileSniffer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoFileSniffer.obj `if test -f 'src/photos/PhotoFileSniffer.c'; then $(CYGPATH_W) 'src/photos/PhotoFileSniffer.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoFileSniffer.c'; fi` + +src/photos/shotwell-PhotoMetadata.o: src/photos/PhotoMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoMetadata.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoMetadata.Tpo -c -o src/photos/shotwell-PhotoMetadata.o `test -f 'src/photos/PhotoMetadata.c' || echo '$(srcdir)/'`src/photos/PhotoMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoMetadata.Tpo src/photos/$(DEPDIR)/shotwell-PhotoMetadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoMetadata.c' object='src/photos/shotwell-PhotoMetadata.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoMetadata.o `test -f 'src/photos/PhotoMetadata.c' || echo '$(srcdir)/'`src/photos/PhotoMetadata.c + +src/photos/shotwell-PhotoMetadata.obj: src/photos/PhotoMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PhotoMetadata.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PhotoMetadata.Tpo -c -o src/photos/shotwell-PhotoMetadata.obj `if test -f 'src/photos/PhotoMetadata.c'; then $(CYGPATH_W) 'src/photos/PhotoMetadata.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoMetadata.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PhotoMetadata.Tpo src/photos/$(DEPDIR)/shotwell-PhotoMetadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PhotoMetadata.c' object='src/photos/shotwell-PhotoMetadata.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PhotoMetadata.obj `if test -f 'src/photos/PhotoMetadata.c'; then $(CYGPATH_W) 'src/photos/PhotoMetadata.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PhotoMetadata.c'; fi` + +src/photos/shotwell-GRaw.o: src/photos/GRaw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-GRaw.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-GRaw.Tpo -c -o src/photos/shotwell-GRaw.o `test -f 'src/photos/GRaw.c' || echo '$(srcdir)/'`src/photos/GRaw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-GRaw.Tpo src/photos/$(DEPDIR)/shotwell-GRaw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/GRaw.c' object='src/photos/shotwell-GRaw.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-GRaw.o `test -f 'src/photos/GRaw.c' || echo '$(srcdir)/'`src/photos/GRaw.c + +src/photos/shotwell-GRaw.obj: src/photos/GRaw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-GRaw.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-GRaw.Tpo -c -o src/photos/shotwell-GRaw.obj `if test -f 'src/photos/GRaw.c'; then $(CYGPATH_W) 'src/photos/GRaw.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/GRaw.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-GRaw.Tpo src/photos/$(DEPDIR)/shotwell-GRaw.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/GRaw.c' object='src/photos/shotwell-GRaw.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-GRaw.obj `if test -f 'src/photos/GRaw.c'; then $(CYGPATH_W) 'src/photos/GRaw.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/GRaw.c'; fi` + +src/photos/shotwell-GdkSupport.o: src/photos/GdkSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-GdkSupport.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-GdkSupport.Tpo -c -o src/photos/shotwell-GdkSupport.o `test -f 'src/photos/GdkSupport.c' || echo '$(srcdir)/'`src/photos/GdkSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-GdkSupport.Tpo src/photos/$(DEPDIR)/shotwell-GdkSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/GdkSupport.c' object='src/photos/shotwell-GdkSupport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-GdkSupport.o `test -f 'src/photos/GdkSupport.c' || echo '$(srcdir)/'`src/photos/GdkSupport.c + +src/photos/shotwell-GdkSupport.obj: src/photos/GdkSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-GdkSupport.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-GdkSupport.Tpo -c -o src/photos/shotwell-GdkSupport.obj `if test -f 'src/photos/GdkSupport.c'; then $(CYGPATH_W) 'src/photos/GdkSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/GdkSupport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-GdkSupport.Tpo src/photos/$(DEPDIR)/shotwell-GdkSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/GdkSupport.c' object='src/photos/shotwell-GdkSupport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-GdkSupport.obj `if test -f 'src/photos/GdkSupport.c'; then $(CYGPATH_W) 'src/photos/GdkSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/GdkSupport.c'; fi` + +src/photos/shotwell-JfifSupport.o: src/photos/JfifSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-JfifSupport.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-JfifSupport.Tpo -c -o src/photos/shotwell-JfifSupport.o `test -f 'src/photos/JfifSupport.c' || echo '$(srcdir)/'`src/photos/JfifSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-JfifSupport.Tpo src/photos/$(DEPDIR)/shotwell-JfifSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/JfifSupport.c' object='src/photos/shotwell-JfifSupport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-JfifSupport.o `test -f 'src/photos/JfifSupport.c' || echo '$(srcdir)/'`src/photos/JfifSupport.c + +src/photos/shotwell-JfifSupport.obj: src/photos/JfifSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-JfifSupport.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-JfifSupport.Tpo -c -o src/photos/shotwell-JfifSupport.obj `if test -f 'src/photos/JfifSupport.c'; then $(CYGPATH_W) 'src/photos/JfifSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/JfifSupport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-JfifSupport.Tpo src/photos/$(DEPDIR)/shotwell-JfifSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/JfifSupport.c' object='src/photos/shotwell-JfifSupport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-JfifSupport.obj `if test -f 'src/photos/JfifSupport.c'; then $(CYGPATH_W) 'src/photos/JfifSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/JfifSupport.c'; fi` + +src/photos/shotwell-BmpSupport.o: src/photos/BmpSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-BmpSupport.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-BmpSupport.Tpo -c -o src/photos/shotwell-BmpSupport.o `test -f 'src/photos/BmpSupport.c' || echo '$(srcdir)/'`src/photos/BmpSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-BmpSupport.Tpo src/photos/$(DEPDIR)/shotwell-BmpSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/BmpSupport.c' object='src/photos/shotwell-BmpSupport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-BmpSupport.o `test -f 'src/photos/BmpSupport.c' || echo '$(srcdir)/'`src/photos/BmpSupport.c + +src/photos/shotwell-BmpSupport.obj: src/photos/BmpSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-BmpSupport.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-BmpSupport.Tpo -c -o src/photos/shotwell-BmpSupport.obj `if test -f 'src/photos/BmpSupport.c'; then $(CYGPATH_W) 'src/photos/BmpSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/BmpSupport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-BmpSupport.Tpo src/photos/$(DEPDIR)/shotwell-BmpSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/BmpSupport.c' object='src/photos/shotwell-BmpSupport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-BmpSupport.obj `if test -f 'src/photos/BmpSupport.c'; then $(CYGPATH_W) 'src/photos/BmpSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/BmpSupport.c'; fi` + +src/photos/shotwell-RawSupport.o: src/photos/RawSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-RawSupport.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-RawSupport.Tpo -c -o src/photos/shotwell-RawSupport.o `test -f 'src/photos/RawSupport.c' || echo '$(srcdir)/'`src/photos/RawSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-RawSupport.Tpo src/photos/$(DEPDIR)/shotwell-RawSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/RawSupport.c' object='src/photos/shotwell-RawSupport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-RawSupport.o `test -f 'src/photos/RawSupport.c' || echo '$(srcdir)/'`src/photos/RawSupport.c + +src/photos/shotwell-RawSupport.obj: src/photos/RawSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-RawSupport.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-RawSupport.Tpo -c -o src/photos/shotwell-RawSupport.obj `if test -f 'src/photos/RawSupport.c'; then $(CYGPATH_W) 'src/photos/RawSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/RawSupport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-RawSupport.Tpo src/photos/$(DEPDIR)/shotwell-RawSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/RawSupport.c' object='src/photos/shotwell-RawSupport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-RawSupport.obj `if test -f 'src/photos/RawSupport.c'; then $(CYGPATH_W) 'src/photos/RawSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/RawSupport.c'; fi` + +src/photos/shotwell-PngSupport.o: src/photos/PngSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PngSupport.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PngSupport.Tpo -c -o src/photos/shotwell-PngSupport.o `test -f 'src/photos/PngSupport.c' || echo '$(srcdir)/'`src/photos/PngSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PngSupport.Tpo src/photos/$(DEPDIR)/shotwell-PngSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PngSupport.c' object='src/photos/shotwell-PngSupport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PngSupport.o `test -f 'src/photos/PngSupport.c' || echo '$(srcdir)/'`src/photos/PngSupport.c + +src/photos/shotwell-PngSupport.obj: src/photos/PngSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-PngSupport.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-PngSupport.Tpo -c -o src/photos/shotwell-PngSupport.obj `if test -f 'src/photos/PngSupport.c'; then $(CYGPATH_W) 'src/photos/PngSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PngSupport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-PngSupport.Tpo src/photos/$(DEPDIR)/shotwell-PngSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/PngSupport.c' object='src/photos/shotwell-PngSupport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-PngSupport.obj `if test -f 'src/photos/PngSupport.c'; then $(CYGPATH_W) 'src/photos/PngSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/PngSupport.c'; fi` + +src/photos/shotwell-TiffSupport.o: src/photos/TiffSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-TiffSupport.o -MD -MP -MF src/photos/$(DEPDIR)/shotwell-TiffSupport.Tpo -c -o src/photos/shotwell-TiffSupport.o `test -f 'src/photos/TiffSupport.c' || echo '$(srcdir)/'`src/photos/TiffSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-TiffSupport.Tpo src/photos/$(DEPDIR)/shotwell-TiffSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/TiffSupport.c' object='src/photos/shotwell-TiffSupport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-TiffSupport.o `test -f 'src/photos/TiffSupport.c' || echo '$(srcdir)/'`src/photos/TiffSupport.c + +src/photos/shotwell-TiffSupport.obj: src/photos/TiffSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/photos/shotwell-TiffSupport.obj -MD -MP -MF src/photos/$(DEPDIR)/shotwell-TiffSupport.Tpo -c -o src/photos/shotwell-TiffSupport.obj `if test -f 'src/photos/TiffSupport.c'; then $(CYGPATH_W) 'src/photos/TiffSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/TiffSupport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/photos/$(DEPDIR)/shotwell-TiffSupport.Tpo src/photos/$(DEPDIR)/shotwell-TiffSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/photos/TiffSupport.c' object='src/photos/shotwell-TiffSupport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/photos/shotwell-TiffSupport.obj `if test -f 'src/photos/TiffSupport.c'; then $(CYGPATH_W) 'src/photos/TiffSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/photos/TiffSupport.c'; fi` + +src/plugins/shotwell-Plugins.o: src/plugins/Plugins.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/plugins/shotwell-Plugins.o -MD -MP -MF src/plugins/$(DEPDIR)/shotwell-Plugins.Tpo -c -o src/plugins/shotwell-Plugins.o `test -f 'src/plugins/Plugins.c' || echo '$(srcdir)/'`src/plugins/Plugins.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/shotwell-Plugins.Tpo src/plugins/$(DEPDIR)/shotwell-Plugins.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/Plugins.c' object='src/plugins/shotwell-Plugins.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/plugins/shotwell-Plugins.o `test -f 'src/plugins/Plugins.c' || echo '$(srcdir)/'`src/plugins/Plugins.c + +src/plugins/shotwell-Plugins.obj: src/plugins/Plugins.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/plugins/shotwell-Plugins.obj -MD -MP -MF src/plugins/$(DEPDIR)/shotwell-Plugins.Tpo -c -o src/plugins/shotwell-Plugins.obj `if test -f 'src/plugins/Plugins.c'; then $(CYGPATH_W) 'src/plugins/Plugins.c'; else $(CYGPATH_W) '$(srcdir)/src/plugins/Plugins.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/shotwell-Plugins.Tpo src/plugins/$(DEPDIR)/shotwell-Plugins.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/Plugins.c' object='src/plugins/shotwell-Plugins.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/plugins/shotwell-Plugins.obj `if test -f 'src/plugins/Plugins.c'; then $(CYGPATH_W) 'src/plugins/Plugins.c'; else $(CYGPATH_W) '$(srcdir)/src/plugins/Plugins.c'; fi` + +src/plugins/shotwell-StandardHostInterface.o: src/plugins/StandardHostInterface.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/plugins/shotwell-StandardHostInterface.o -MD -MP -MF src/plugins/$(DEPDIR)/shotwell-StandardHostInterface.Tpo -c -o src/plugins/shotwell-StandardHostInterface.o `test -f 'src/plugins/StandardHostInterface.c' || echo '$(srcdir)/'`src/plugins/StandardHostInterface.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/shotwell-StandardHostInterface.Tpo src/plugins/$(DEPDIR)/shotwell-StandardHostInterface.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/StandardHostInterface.c' object='src/plugins/shotwell-StandardHostInterface.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/plugins/shotwell-StandardHostInterface.o `test -f 'src/plugins/StandardHostInterface.c' || echo '$(srcdir)/'`src/plugins/StandardHostInterface.c + +src/plugins/shotwell-StandardHostInterface.obj: src/plugins/StandardHostInterface.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/plugins/shotwell-StandardHostInterface.obj -MD -MP -MF src/plugins/$(DEPDIR)/shotwell-StandardHostInterface.Tpo -c -o src/plugins/shotwell-StandardHostInterface.obj `if test -f 'src/plugins/StandardHostInterface.c'; then $(CYGPATH_W) 'src/plugins/StandardHostInterface.c'; else $(CYGPATH_W) '$(srcdir)/src/plugins/StandardHostInterface.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/shotwell-StandardHostInterface.Tpo src/plugins/$(DEPDIR)/shotwell-StandardHostInterface.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/StandardHostInterface.c' object='src/plugins/shotwell-StandardHostInterface.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/plugins/shotwell-StandardHostInterface.obj `if test -f 'src/plugins/StandardHostInterface.c'; then $(CYGPATH_W) 'src/plugins/StandardHostInterface.c'; else $(CYGPATH_W) '$(srcdir)/src/plugins/StandardHostInterface.c'; fi` + +src/plugins/shotwell-ManifestWidget.o: src/plugins/ManifestWidget.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/plugins/shotwell-ManifestWidget.o -MD -MP -MF src/plugins/$(DEPDIR)/shotwell-ManifestWidget.Tpo -c -o src/plugins/shotwell-ManifestWidget.o `test -f 'src/plugins/ManifestWidget.c' || echo '$(srcdir)/'`src/plugins/ManifestWidget.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/shotwell-ManifestWidget.Tpo src/plugins/$(DEPDIR)/shotwell-ManifestWidget.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/ManifestWidget.c' object='src/plugins/shotwell-ManifestWidget.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/plugins/shotwell-ManifestWidget.o `test -f 'src/plugins/ManifestWidget.c' || echo '$(srcdir)/'`src/plugins/ManifestWidget.c + +src/plugins/shotwell-ManifestWidget.obj: src/plugins/ManifestWidget.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/plugins/shotwell-ManifestWidget.obj -MD -MP -MF src/plugins/$(DEPDIR)/shotwell-ManifestWidget.Tpo -c -o src/plugins/shotwell-ManifestWidget.obj `if test -f 'src/plugins/ManifestWidget.c'; then $(CYGPATH_W) 'src/plugins/ManifestWidget.c'; else $(CYGPATH_W) '$(srcdir)/src/plugins/ManifestWidget.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/plugins/$(DEPDIR)/shotwell-ManifestWidget.Tpo src/plugins/$(DEPDIR)/shotwell-ManifestWidget.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugins/ManifestWidget.c' object='src/plugins/shotwell-ManifestWidget.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/plugins/shotwell-ManifestWidget.obj `if test -f 'src/plugins/ManifestWidget.c'; then $(CYGPATH_W) 'src/plugins/ManifestWidget.c'; else $(CYGPATH_W) '$(srcdir)/src/plugins/ManifestWidget.c'; fi` + +src/publishing/shotwell-Publishing.o: src/publishing/Publishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-Publishing.o -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-Publishing.Tpo -c -o src/publishing/shotwell-Publishing.o `test -f 'src/publishing/Publishing.c' || echo '$(srcdir)/'`src/publishing/Publishing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-Publishing.Tpo src/publishing/$(DEPDIR)/shotwell-Publishing.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/Publishing.c' object='src/publishing/shotwell-Publishing.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-Publishing.o `test -f 'src/publishing/Publishing.c' || echo '$(srcdir)/'`src/publishing/Publishing.c + +src/publishing/shotwell-Publishing.obj: src/publishing/Publishing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-Publishing.obj -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-Publishing.Tpo -c -o src/publishing/shotwell-Publishing.obj `if test -f 'src/publishing/Publishing.c'; then $(CYGPATH_W) 'src/publishing/Publishing.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/Publishing.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-Publishing.Tpo src/publishing/$(DEPDIR)/shotwell-Publishing.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/Publishing.c' object='src/publishing/shotwell-Publishing.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-Publishing.obj `if test -f 'src/publishing/Publishing.c'; then $(CYGPATH_W) 'src/publishing/Publishing.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/Publishing.c'; fi` + +src/publishing/shotwell-PublishingUI.o: src/publishing/PublishingUI.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-PublishingUI.o -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-PublishingUI.Tpo -c -o src/publishing/shotwell-PublishingUI.o `test -f 'src/publishing/PublishingUI.c' || echo '$(srcdir)/'`src/publishing/PublishingUI.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-PublishingUI.Tpo src/publishing/$(DEPDIR)/shotwell-PublishingUI.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/PublishingUI.c' object='src/publishing/shotwell-PublishingUI.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-PublishingUI.o `test -f 'src/publishing/PublishingUI.c' || echo '$(srcdir)/'`src/publishing/PublishingUI.c + +src/publishing/shotwell-PublishingUI.obj: src/publishing/PublishingUI.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-PublishingUI.obj -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-PublishingUI.Tpo -c -o src/publishing/shotwell-PublishingUI.obj `if test -f 'src/publishing/PublishingUI.c'; then $(CYGPATH_W) 'src/publishing/PublishingUI.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/PublishingUI.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-PublishingUI.Tpo src/publishing/$(DEPDIR)/shotwell-PublishingUI.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/PublishingUI.c' object='src/publishing/shotwell-PublishingUI.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-PublishingUI.obj `if test -f 'src/publishing/PublishingUI.c'; then $(CYGPATH_W) 'src/publishing/PublishingUI.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/PublishingUI.c'; fi` + +src/publishing/shotwell-PublishingPluginHost.o: src/publishing/PublishingPluginHost.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-PublishingPluginHost.o -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-PublishingPluginHost.Tpo -c -o src/publishing/shotwell-PublishingPluginHost.o `test -f 'src/publishing/PublishingPluginHost.c' || echo '$(srcdir)/'`src/publishing/PublishingPluginHost.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-PublishingPluginHost.Tpo src/publishing/$(DEPDIR)/shotwell-PublishingPluginHost.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/PublishingPluginHost.c' object='src/publishing/shotwell-PublishingPluginHost.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-PublishingPluginHost.o `test -f 'src/publishing/PublishingPluginHost.c' || echo '$(srcdir)/'`src/publishing/PublishingPluginHost.c + +src/publishing/shotwell-PublishingPluginHost.obj: src/publishing/PublishingPluginHost.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-PublishingPluginHost.obj -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-PublishingPluginHost.Tpo -c -o src/publishing/shotwell-PublishingPluginHost.obj `if test -f 'src/publishing/PublishingPluginHost.c'; then $(CYGPATH_W) 'src/publishing/PublishingPluginHost.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/PublishingPluginHost.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-PublishingPluginHost.Tpo src/publishing/$(DEPDIR)/shotwell-PublishingPluginHost.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/PublishingPluginHost.c' object='src/publishing/shotwell-PublishingPluginHost.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-PublishingPluginHost.obj `if test -f 'src/publishing/PublishingPluginHost.c'; then $(CYGPATH_W) 'src/publishing/PublishingPluginHost.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/PublishingPluginHost.c'; fi` + +src/publishing/shotwell-APIGlue.o: src/publishing/APIGlue.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-APIGlue.o -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-APIGlue.Tpo -c -o src/publishing/shotwell-APIGlue.o `test -f 'src/publishing/APIGlue.c' || echo '$(srcdir)/'`src/publishing/APIGlue.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-APIGlue.Tpo src/publishing/$(DEPDIR)/shotwell-APIGlue.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/APIGlue.c' object='src/publishing/shotwell-APIGlue.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-APIGlue.o `test -f 'src/publishing/APIGlue.c' || echo '$(srcdir)/'`src/publishing/APIGlue.c + +src/publishing/shotwell-APIGlue.obj: src/publishing/APIGlue.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/publishing/shotwell-APIGlue.obj -MD -MP -MF src/publishing/$(DEPDIR)/shotwell-APIGlue.Tpo -c -o src/publishing/shotwell-APIGlue.obj `if test -f 'src/publishing/APIGlue.c'; then $(CYGPATH_W) 'src/publishing/APIGlue.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/APIGlue.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/publishing/$(DEPDIR)/shotwell-APIGlue.Tpo src/publishing/$(DEPDIR)/shotwell-APIGlue.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/publishing/APIGlue.c' object='src/publishing/shotwell-APIGlue.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/publishing/shotwell-APIGlue.obj `if test -f 'src/publishing/APIGlue.c'; then $(CYGPATH_W) 'src/publishing/APIGlue.c'; else $(CYGPATH_W) '$(srcdir)/src/publishing/APIGlue.c'; fi` + +src/library/shotwell-Library.o: src/library/Library.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-Library.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-Library.Tpo -c -o src/library/shotwell-Library.o `test -f 'src/library/Library.c' || echo '$(srcdir)/'`src/library/Library.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-Library.Tpo src/library/$(DEPDIR)/shotwell-Library.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/Library.c' object='src/library/shotwell-Library.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-Library.o `test -f 'src/library/Library.c' || echo '$(srcdir)/'`src/library/Library.c + +src/library/shotwell-Library.obj: src/library/Library.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-Library.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-Library.Tpo -c -o src/library/shotwell-Library.obj `if test -f 'src/library/Library.c'; then $(CYGPATH_W) 'src/library/Library.c'; else $(CYGPATH_W) '$(srcdir)/src/library/Library.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-Library.Tpo src/library/$(DEPDIR)/shotwell-Library.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/Library.c' object='src/library/shotwell-Library.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-Library.obj `if test -f 'src/library/Library.c'; then $(CYGPATH_W) 'src/library/Library.c'; else $(CYGPATH_W) '$(srcdir)/src/library/Library.c'; fi` + +src/library/shotwell-LibraryWindow.o: src/library/LibraryWindow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-LibraryWindow.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-LibraryWindow.Tpo -c -o src/library/shotwell-LibraryWindow.o `test -f 'src/library/LibraryWindow.c' || echo '$(srcdir)/'`src/library/LibraryWindow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-LibraryWindow.Tpo src/library/$(DEPDIR)/shotwell-LibraryWindow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/LibraryWindow.c' object='src/library/shotwell-LibraryWindow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-LibraryWindow.o `test -f 'src/library/LibraryWindow.c' || echo '$(srcdir)/'`src/library/LibraryWindow.c + +src/library/shotwell-LibraryWindow.obj: src/library/LibraryWindow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-LibraryWindow.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-LibraryWindow.Tpo -c -o src/library/shotwell-LibraryWindow.obj `if test -f 'src/library/LibraryWindow.c'; then $(CYGPATH_W) 'src/library/LibraryWindow.c'; else $(CYGPATH_W) '$(srcdir)/src/library/LibraryWindow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-LibraryWindow.Tpo src/library/$(DEPDIR)/shotwell-LibraryWindow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/LibraryWindow.c' object='src/library/shotwell-LibraryWindow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-LibraryWindow.obj `if test -f 'src/library/LibraryWindow.c'; then $(CYGPATH_W) 'src/library/LibraryWindow.c'; else $(CYGPATH_W) '$(srcdir)/src/library/LibraryWindow.c'; fi` + +src/library/shotwell-Branch.o: src/library/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-Branch.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/library/shotwell-Branch.o `test -f 'src/library/Branch.c' || echo '$(srcdir)/'`src/library/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-Branch.Tpo src/library/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/Branch.c' object='src/library/shotwell-Branch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-Branch.o `test -f 'src/library/Branch.c' || echo '$(srcdir)/'`src/library/Branch.c + +src/library/shotwell-Branch.obj: src/library/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-Branch.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/library/shotwell-Branch.obj `if test -f 'src/library/Branch.c'; then $(CYGPATH_W) 'src/library/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/library/Branch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-Branch.Tpo src/library/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/Branch.c' object='src/library/shotwell-Branch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-Branch.obj `if test -f 'src/library/Branch.c'; then $(CYGPATH_W) 'src/library/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/library/Branch.c'; fi` + +src/library/shotwell-TrashSidebarEntry.o: src/library/TrashSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-TrashSidebarEntry.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-TrashSidebarEntry.Tpo -c -o src/library/shotwell-TrashSidebarEntry.o `test -f 'src/library/TrashSidebarEntry.c' || echo '$(srcdir)/'`src/library/TrashSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-TrashSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-TrashSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/TrashSidebarEntry.c' object='src/library/shotwell-TrashSidebarEntry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-TrashSidebarEntry.o `test -f 'src/library/TrashSidebarEntry.c' || echo '$(srcdir)/'`src/library/TrashSidebarEntry.c + +src/library/shotwell-TrashSidebarEntry.obj: src/library/TrashSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-TrashSidebarEntry.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-TrashSidebarEntry.Tpo -c -o src/library/shotwell-TrashSidebarEntry.obj `if test -f 'src/library/TrashSidebarEntry.c'; then $(CYGPATH_W) 'src/library/TrashSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/TrashSidebarEntry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-TrashSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-TrashSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/TrashSidebarEntry.c' object='src/library/shotwell-TrashSidebarEntry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-TrashSidebarEntry.obj `if test -f 'src/library/TrashSidebarEntry.c'; then $(CYGPATH_W) 'src/library/TrashSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/TrashSidebarEntry.c'; fi` + +src/library/shotwell-OfflineSidebarEntry.o: src/library/OfflineSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-OfflineSidebarEntry.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-OfflineSidebarEntry.Tpo -c -o src/library/shotwell-OfflineSidebarEntry.o `test -f 'src/library/OfflineSidebarEntry.c' || echo '$(srcdir)/'`src/library/OfflineSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-OfflineSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-OfflineSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/OfflineSidebarEntry.c' object='src/library/shotwell-OfflineSidebarEntry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-OfflineSidebarEntry.o `test -f 'src/library/OfflineSidebarEntry.c' || echo '$(srcdir)/'`src/library/OfflineSidebarEntry.c + +src/library/shotwell-OfflineSidebarEntry.obj: src/library/OfflineSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-OfflineSidebarEntry.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-OfflineSidebarEntry.Tpo -c -o src/library/shotwell-OfflineSidebarEntry.obj `if test -f 'src/library/OfflineSidebarEntry.c'; then $(CYGPATH_W) 'src/library/OfflineSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/OfflineSidebarEntry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-OfflineSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-OfflineSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/OfflineSidebarEntry.c' object='src/library/shotwell-OfflineSidebarEntry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-OfflineSidebarEntry.obj `if test -f 'src/library/OfflineSidebarEntry.c'; then $(CYGPATH_W) 'src/library/OfflineSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/OfflineSidebarEntry.c'; fi` + +src/library/shotwell-FlaggedSidebarEntry.o: src/library/FlaggedSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-FlaggedSidebarEntry.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-FlaggedSidebarEntry.Tpo -c -o src/library/shotwell-FlaggedSidebarEntry.o `test -f 'src/library/FlaggedSidebarEntry.c' || echo '$(srcdir)/'`src/library/FlaggedSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-FlaggedSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-FlaggedSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/FlaggedSidebarEntry.c' object='src/library/shotwell-FlaggedSidebarEntry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-FlaggedSidebarEntry.o `test -f 'src/library/FlaggedSidebarEntry.c' || echo '$(srcdir)/'`src/library/FlaggedSidebarEntry.c + +src/library/shotwell-FlaggedSidebarEntry.obj: src/library/FlaggedSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-FlaggedSidebarEntry.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-FlaggedSidebarEntry.Tpo -c -o src/library/shotwell-FlaggedSidebarEntry.obj `if test -f 'src/library/FlaggedSidebarEntry.c'; then $(CYGPATH_W) 'src/library/FlaggedSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/FlaggedSidebarEntry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-FlaggedSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-FlaggedSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/FlaggedSidebarEntry.c' object='src/library/shotwell-FlaggedSidebarEntry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-FlaggedSidebarEntry.obj `if test -f 'src/library/FlaggedSidebarEntry.c'; then $(CYGPATH_W) 'src/library/FlaggedSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/FlaggedSidebarEntry.c'; fi` + +src/library/shotwell-LastImportSidebarEntry.o: src/library/LastImportSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-LastImportSidebarEntry.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-LastImportSidebarEntry.Tpo -c -o src/library/shotwell-LastImportSidebarEntry.o `test -f 'src/library/LastImportSidebarEntry.c' || echo '$(srcdir)/'`src/library/LastImportSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-LastImportSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-LastImportSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/LastImportSidebarEntry.c' object='src/library/shotwell-LastImportSidebarEntry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-LastImportSidebarEntry.o `test -f 'src/library/LastImportSidebarEntry.c' || echo '$(srcdir)/'`src/library/LastImportSidebarEntry.c + +src/library/shotwell-LastImportSidebarEntry.obj: src/library/LastImportSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-LastImportSidebarEntry.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-LastImportSidebarEntry.Tpo -c -o src/library/shotwell-LastImportSidebarEntry.obj `if test -f 'src/library/LastImportSidebarEntry.c'; then $(CYGPATH_W) 'src/library/LastImportSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/LastImportSidebarEntry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-LastImportSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-LastImportSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/LastImportSidebarEntry.c' object='src/library/shotwell-LastImportSidebarEntry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-LastImportSidebarEntry.obj `if test -f 'src/library/LastImportSidebarEntry.c'; then $(CYGPATH_W) 'src/library/LastImportSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/LastImportSidebarEntry.c'; fi` + +src/library/shotwell-ImportQueueSidebarEntry.o: src/library/ImportQueueSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-ImportQueueSidebarEntry.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-ImportQueueSidebarEntry.Tpo -c -o src/library/shotwell-ImportQueueSidebarEntry.o `test -f 'src/library/ImportQueueSidebarEntry.c' || echo '$(srcdir)/'`src/library/ImportQueueSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-ImportQueueSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-ImportQueueSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/ImportQueueSidebarEntry.c' object='src/library/shotwell-ImportQueueSidebarEntry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-ImportQueueSidebarEntry.o `test -f 'src/library/ImportQueueSidebarEntry.c' || echo '$(srcdir)/'`src/library/ImportQueueSidebarEntry.c + +src/library/shotwell-ImportQueueSidebarEntry.obj: src/library/ImportQueueSidebarEntry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-ImportQueueSidebarEntry.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-ImportQueueSidebarEntry.Tpo -c -o src/library/shotwell-ImportQueueSidebarEntry.obj `if test -f 'src/library/ImportQueueSidebarEntry.c'; then $(CYGPATH_W) 'src/library/ImportQueueSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/ImportQueueSidebarEntry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-ImportQueueSidebarEntry.Tpo src/library/$(DEPDIR)/shotwell-ImportQueueSidebarEntry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/ImportQueueSidebarEntry.c' object='src/library/shotwell-ImportQueueSidebarEntry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-ImportQueueSidebarEntry.obj `if test -f 'src/library/ImportQueueSidebarEntry.c'; then $(CYGPATH_W) 'src/library/ImportQueueSidebarEntry.c'; else $(CYGPATH_W) '$(srcdir)/src/library/ImportQueueSidebarEntry.c'; fi` + +src/library/shotwell-FlaggedPage.o: src/library/FlaggedPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-FlaggedPage.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-FlaggedPage.Tpo -c -o src/library/shotwell-FlaggedPage.o `test -f 'src/library/FlaggedPage.c' || echo '$(srcdir)/'`src/library/FlaggedPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-FlaggedPage.Tpo src/library/$(DEPDIR)/shotwell-FlaggedPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/FlaggedPage.c' object='src/library/shotwell-FlaggedPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-FlaggedPage.o `test -f 'src/library/FlaggedPage.c' || echo '$(srcdir)/'`src/library/FlaggedPage.c + +src/library/shotwell-FlaggedPage.obj: src/library/FlaggedPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-FlaggedPage.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-FlaggedPage.Tpo -c -o src/library/shotwell-FlaggedPage.obj `if test -f 'src/library/FlaggedPage.c'; then $(CYGPATH_W) 'src/library/FlaggedPage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/FlaggedPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-FlaggedPage.Tpo src/library/$(DEPDIR)/shotwell-FlaggedPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/FlaggedPage.c' object='src/library/shotwell-FlaggedPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-FlaggedPage.obj `if test -f 'src/library/FlaggedPage.c'; then $(CYGPATH_W) 'src/library/FlaggedPage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/FlaggedPage.c'; fi` + +src/library/shotwell-ImportQueuePage.o: src/library/ImportQueuePage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-ImportQueuePage.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-ImportQueuePage.Tpo -c -o src/library/shotwell-ImportQueuePage.o `test -f 'src/library/ImportQueuePage.c' || echo '$(srcdir)/'`src/library/ImportQueuePage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-ImportQueuePage.Tpo src/library/$(DEPDIR)/shotwell-ImportQueuePage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/ImportQueuePage.c' object='src/library/shotwell-ImportQueuePage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-ImportQueuePage.o `test -f 'src/library/ImportQueuePage.c' || echo '$(srcdir)/'`src/library/ImportQueuePage.c + +src/library/shotwell-ImportQueuePage.obj: src/library/ImportQueuePage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-ImportQueuePage.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-ImportQueuePage.Tpo -c -o src/library/shotwell-ImportQueuePage.obj `if test -f 'src/library/ImportQueuePage.c'; then $(CYGPATH_W) 'src/library/ImportQueuePage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/ImportQueuePage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-ImportQueuePage.Tpo src/library/$(DEPDIR)/shotwell-ImportQueuePage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/ImportQueuePage.c' object='src/library/shotwell-ImportQueuePage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-ImportQueuePage.obj `if test -f 'src/library/ImportQueuePage.c'; then $(CYGPATH_W) 'src/library/ImportQueuePage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/ImportQueuePage.c'; fi` + +src/library/shotwell-LastImportPage.o: src/library/LastImportPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-LastImportPage.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-LastImportPage.Tpo -c -o src/library/shotwell-LastImportPage.o `test -f 'src/library/LastImportPage.c' || echo '$(srcdir)/'`src/library/LastImportPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-LastImportPage.Tpo src/library/$(DEPDIR)/shotwell-LastImportPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/LastImportPage.c' object='src/library/shotwell-LastImportPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-LastImportPage.o `test -f 'src/library/LastImportPage.c' || echo '$(srcdir)/'`src/library/LastImportPage.c + +src/library/shotwell-LastImportPage.obj: src/library/LastImportPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-LastImportPage.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-LastImportPage.Tpo -c -o src/library/shotwell-LastImportPage.obj `if test -f 'src/library/LastImportPage.c'; then $(CYGPATH_W) 'src/library/LastImportPage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/LastImportPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-LastImportPage.Tpo src/library/$(DEPDIR)/shotwell-LastImportPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/LastImportPage.c' object='src/library/shotwell-LastImportPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-LastImportPage.obj `if test -f 'src/library/LastImportPage.c'; then $(CYGPATH_W) 'src/library/LastImportPage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/LastImportPage.c'; fi` + +src/library/shotwell-OfflinePage.o: src/library/OfflinePage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-OfflinePage.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-OfflinePage.Tpo -c -o src/library/shotwell-OfflinePage.o `test -f 'src/library/OfflinePage.c' || echo '$(srcdir)/'`src/library/OfflinePage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-OfflinePage.Tpo src/library/$(DEPDIR)/shotwell-OfflinePage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/OfflinePage.c' object='src/library/shotwell-OfflinePage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-OfflinePage.o `test -f 'src/library/OfflinePage.c' || echo '$(srcdir)/'`src/library/OfflinePage.c + +src/library/shotwell-OfflinePage.obj: src/library/OfflinePage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-OfflinePage.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-OfflinePage.Tpo -c -o src/library/shotwell-OfflinePage.obj `if test -f 'src/library/OfflinePage.c'; then $(CYGPATH_W) 'src/library/OfflinePage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/OfflinePage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-OfflinePage.Tpo src/library/$(DEPDIR)/shotwell-OfflinePage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/OfflinePage.c' object='src/library/shotwell-OfflinePage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-OfflinePage.obj `if test -f 'src/library/OfflinePage.c'; then $(CYGPATH_W) 'src/library/OfflinePage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/OfflinePage.c'; fi` + +src/library/shotwell-TrashPage.o: src/library/TrashPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-TrashPage.o -MD -MP -MF src/library/$(DEPDIR)/shotwell-TrashPage.Tpo -c -o src/library/shotwell-TrashPage.o `test -f 'src/library/TrashPage.c' || echo '$(srcdir)/'`src/library/TrashPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-TrashPage.Tpo src/library/$(DEPDIR)/shotwell-TrashPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/TrashPage.c' object='src/library/shotwell-TrashPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-TrashPage.o `test -f 'src/library/TrashPage.c' || echo '$(srcdir)/'`src/library/TrashPage.c + +src/library/shotwell-TrashPage.obj: src/library/TrashPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/library/shotwell-TrashPage.obj -MD -MP -MF src/library/$(DEPDIR)/shotwell-TrashPage.Tpo -c -o src/library/shotwell-TrashPage.obj `if test -f 'src/library/TrashPage.c'; then $(CYGPATH_W) 'src/library/TrashPage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/TrashPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/library/$(DEPDIR)/shotwell-TrashPage.Tpo src/library/$(DEPDIR)/shotwell-TrashPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/library/TrashPage.c' object='src/library/shotwell-TrashPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/library/shotwell-TrashPage.obj `if test -f 'src/library/TrashPage.c'; then $(CYGPATH_W) 'src/library/TrashPage.c'; else $(CYGPATH_W) '$(srcdir)/src/library/TrashPage.c'; fi` + +src/direct/shotwell-Direct.o: src/direct/Direct.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-Direct.o -MD -MP -MF src/direct/$(DEPDIR)/shotwell-Direct.Tpo -c -o src/direct/shotwell-Direct.o `test -f 'src/direct/Direct.c' || echo '$(srcdir)/'`src/direct/Direct.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-Direct.Tpo src/direct/$(DEPDIR)/shotwell-Direct.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/Direct.c' object='src/direct/shotwell-Direct.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-Direct.o `test -f 'src/direct/Direct.c' || echo '$(srcdir)/'`src/direct/Direct.c + +src/direct/shotwell-Direct.obj: src/direct/Direct.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-Direct.obj -MD -MP -MF src/direct/$(DEPDIR)/shotwell-Direct.Tpo -c -o src/direct/shotwell-Direct.obj `if test -f 'src/direct/Direct.c'; then $(CYGPATH_W) 'src/direct/Direct.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/Direct.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-Direct.Tpo src/direct/$(DEPDIR)/shotwell-Direct.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/Direct.c' object='src/direct/shotwell-Direct.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-Direct.obj `if test -f 'src/direct/Direct.c'; then $(CYGPATH_W) 'src/direct/Direct.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/Direct.c'; fi` + +src/direct/shotwell-DirectWindow.o: src/direct/DirectWindow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectWindow.o -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectWindow.Tpo -c -o src/direct/shotwell-DirectWindow.o `test -f 'src/direct/DirectWindow.c' || echo '$(srcdir)/'`src/direct/DirectWindow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectWindow.Tpo src/direct/$(DEPDIR)/shotwell-DirectWindow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectWindow.c' object='src/direct/shotwell-DirectWindow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectWindow.o `test -f 'src/direct/DirectWindow.c' || echo '$(srcdir)/'`src/direct/DirectWindow.c + +src/direct/shotwell-DirectWindow.obj: src/direct/DirectWindow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectWindow.obj -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectWindow.Tpo -c -o src/direct/shotwell-DirectWindow.obj `if test -f 'src/direct/DirectWindow.c'; then $(CYGPATH_W) 'src/direct/DirectWindow.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectWindow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectWindow.Tpo src/direct/$(DEPDIR)/shotwell-DirectWindow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectWindow.c' object='src/direct/shotwell-DirectWindow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectWindow.obj `if test -f 'src/direct/DirectWindow.c'; then $(CYGPATH_W) 'src/direct/DirectWindow.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectWindow.c'; fi` + +src/direct/shotwell-DirectPhoto.o: src/direct/DirectPhoto.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectPhoto.o -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectPhoto.Tpo -c -o src/direct/shotwell-DirectPhoto.o `test -f 'src/direct/DirectPhoto.c' || echo '$(srcdir)/'`src/direct/DirectPhoto.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectPhoto.Tpo src/direct/$(DEPDIR)/shotwell-DirectPhoto.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectPhoto.c' object='src/direct/shotwell-DirectPhoto.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectPhoto.o `test -f 'src/direct/DirectPhoto.c' || echo '$(srcdir)/'`src/direct/DirectPhoto.c + +src/direct/shotwell-DirectPhoto.obj: src/direct/DirectPhoto.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectPhoto.obj -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectPhoto.Tpo -c -o src/direct/shotwell-DirectPhoto.obj `if test -f 'src/direct/DirectPhoto.c'; then $(CYGPATH_W) 'src/direct/DirectPhoto.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectPhoto.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectPhoto.Tpo src/direct/$(DEPDIR)/shotwell-DirectPhoto.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectPhoto.c' object='src/direct/shotwell-DirectPhoto.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectPhoto.obj `if test -f 'src/direct/DirectPhoto.c'; then $(CYGPATH_W) 'src/direct/DirectPhoto.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectPhoto.c'; fi` + +src/direct/shotwell-DirectPhotoPage.o: src/direct/DirectPhotoPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectPhotoPage.o -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectPhotoPage.Tpo -c -o src/direct/shotwell-DirectPhotoPage.o `test -f 'src/direct/DirectPhotoPage.c' || echo '$(srcdir)/'`src/direct/DirectPhotoPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectPhotoPage.Tpo src/direct/$(DEPDIR)/shotwell-DirectPhotoPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectPhotoPage.c' object='src/direct/shotwell-DirectPhotoPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectPhotoPage.o `test -f 'src/direct/DirectPhotoPage.c' || echo '$(srcdir)/'`src/direct/DirectPhotoPage.c + +src/direct/shotwell-DirectPhotoPage.obj: src/direct/DirectPhotoPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectPhotoPage.obj -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectPhotoPage.Tpo -c -o src/direct/shotwell-DirectPhotoPage.obj `if test -f 'src/direct/DirectPhotoPage.c'; then $(CYGPATH_W) 'src/direct/DirectPhotoPage.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectPhotoPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectPhotoPage.Tpo src/direct/$(DEPDIR)/shotwell-DirectPhotoPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectPhotoPage.c' object='src/direct/shotwell-DirectPhotoPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectPhotoPage.obj `if test -f 'src/direct/DirectPhotoPage.c'; then $(CYGPATH_W) 'src/direct/DirectPhotoPage.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectPhotoPage.c'; fi` + +src/direct/shotwell-DirectView.o: src/direct/DirectView.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectView.o -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectView.Tpo -c -o src/direct/shotwell-DirectView.o `test -f 'src/direct/DirectView.c' || echo '$(srcdir)/'`src/direct/DirectView.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectView.Tpo src/direct/$(DEPDIR)/shotwell-DirectView.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectView.c' object='src/direct/shotwell-DirectView.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectView.o `test -f 'src/direct/DirectView.c' || echo '$(srcdir)/'`src/direct/DirectView.c + +src/direct/shotwell-DirectView.obj: src/direct/DirectView.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/direct/shotwell-DirectView.obj -MD -MP -MF src/direct/$(DEPDIR)/shotwell-DirectView.Tpo -c -o src/direct/shotwell-DirectView.obj `if test -f 'src/direct/DirectView.c'; then $(CYGPATH_W) 'src/direct/DirectView.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectView.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/direct/$(DEPDIR)/shotwell-DirectView.Tpo src/direct/$(DEPDIR)/shotwell-DirectView.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/direct/DirectView.c' object='src/direct/shotwell-DirectView.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/direct/shotwell-DirectView.obj `if test -f 'src/direct/DirectView.c'; then $(CYGPATH_W) 'src/direct/DirectView.c'; else $(CYGPATH_W) '$(srcdir)/src/direct/DirectView.c'; fi` + +src/core/shotwell-Core.o: src/core/Core.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-Core.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-Core.Tpo -c -o src/core/shotwell-Core.o `test -f 'src/core/Core.c' || echo '$(srcdir)/'`src/core/Core.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-Core.Tpo src/core/$(DEPDIR)/shotwell-Core.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/Core.c' object='src/core/shotwell-Core.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-Core.o `test -f 'src/core/Core.c' || echo '$(srcdir)/'`src/core/Core.c + +src/core/shotwell-Core.obj: src/core/Core.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-Core.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-Core.Tpo -c -o src/core/shotwell-Core.obj `if test -f 'src/core/Core.c'; then $(CYGPATH_W) 'src/core/Core.c'; else $(CYGPATH_W) '$(srcdir)/src/core/Core.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-Core.Tpo src/core/$(DEPDIR)/shotwell-Core.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/Core.c' object='src/core/shotwell-Core.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-Core.obj `if test -f 'src/core/Core.c'; then $(CYGPATH_W) 'src/core/Core.c'; else $(CYGPATH_W) '$(srcdir)/src/core/Core.c'; fi` + +src/core/shotwell-DataCollection.o: src/core/DataCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataCollection.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataCollection.Tpo -c -o src/core/shotwell-DataCollection.o `test -f 'src/core/DataCollection.c' || echo '$(srcdir)/'`src/core/DataCollection.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataCollection.Tpo src/core/$(DEPDIR)/shotwell-DataCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataCollection.c' object='src/core/shotwell-DataCollection.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataCollection.o `test -f 'src/core/DataCollection.c' || echo '$(srcdir)/'`src/core/DataCollection.c + +src/core/shotwell-DataCollection.obj: src/core/DataCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataCollection.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataCollection.Tpo -c -o src/core/shotwell-DataCollection.obj `if test -f 'src/core/DataCollection.c'; then $(CYGPATH_W) 'src/core/DataCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataCollection.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataCollection.Tpo src/core/$(DEPDIR)/shotwell-DataCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataCollection.c' object='src/core/shotwell-DataCollection.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataCollection.obj `if test -f 'src/core/DataCollection.c'; then $(CYGPATH_W) 'src/core/DataCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataCollection.c'; fi` + +src/core/shotwell-DataSet.o: src/core/DataSet.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataSet.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataSet.Tpo -c -o src/core/shotwell-DataSet.o `test -f 'src/core/DataSet.c' || echo '$(srcdir)/'`src/core/DataSet.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataSet.Tpo src/core/$(DEPDIR)/shotwell-DataSet.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataSet.c' object='src/core/shotwell-DataSet.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataSet.o `test -f 'src/core/DataSet.c' || echo '$(srcdir)/'`src/core/DataSet.c + +src/core/shotwell-DataSet.obj: src/core/DataSet.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataSet.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataSet.Tpo -c -o src/core/shotwell-DataSet.obj `if test -f 'src/core/DataSet.c'; then $(CYGPATH_W) 'src/core/DataSet.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataSet.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataSet.Tpo src/core/$(DEPDIR)/shotwell-DataSet.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataSet.c' object='src/core/shotwell-DataSet.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataSet.obj `if test -f 'src/core/DataSet.c'; then $(CYGPATH_W) 'src/core/DataSet.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataSet.c'; fi` + +src/core/shotwell-util.o: src/core/util.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-util.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-util.Tpo -c -o src/core/shotwell-util.o `test -f 'src/core/util.c' || echo '$(srcdir)/'`src/core/util.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-util.Tpo src/core/$(DEPDIR)/shotwell-util.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/util.c' object='src/core/shotwell-util.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-util.o `test -f 'src/core/util.c' || echo '$(srcdir)/'`src/core/util.c + +src/core/shotwell-util.obj: src/core/util.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-util.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-util.Tpo -c -o src/core/shotwell-util.obj `if test -f 'src/core/util.c'; then $(CYGPATH_W) 'src/core/util.c'; else $(CYGPATH_W) '$(srcdir)/src/core/util.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-util.Tpo src/core/$(DEPDIR)/shotwell-util.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/util.c' object='src/core/shotwell-util.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-util.obj `if test -f 'src/core/util.c'; then $(CYGPATH_W) 'src/core/util.c'; else $(CYGPATH_W) '$(srcdir)/src/core/util.c'; fi` + +src/core/shotwell-SourceCollection.o: src/core/SourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-SourceCollection.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-SourceCollection.Tpo -c -o src/core/shotwell-SourceCollection.o `test -f 'src/core/SourceCollection.c' || echo '$(srcdir)/'`src/core/SourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-SourceCollection.Tpo src/core/$(DEPDIR)/shotwell-SourceCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/SourceCollection.c' object='src/core/shotwell-SourceCollection.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-SourceCollection.o `test -f 'src/core/SourceCollection.c' || echo '$(srcdir)/'`src/core/SourceCollection.c + +src/core/shotwell-SourceCollection.obj: src/core/SourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-SourceCollection.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-SourceCollection.Tpo -c -o src/core/shotwell-SourceCollection.obj `if test -f 'src/core/SourceCollection.c'; then $(CYGPATH_W) 'src/core/SourceCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/SourceCollection.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-SourceCollection.Tpo src/core/$(DEPDIR)/shotwell-SourceCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/SourceCollection.c' object='src/core/shotwell-SourceCollection.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-SourceCollection.obj `if test -f 'src/core/SourceCollection.c'; then $(CYGPATH_W) 'src/core/SourceCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/SourceCollection.c'; fi` + +src/core/shotwell-SourceHoldingTank.o: src/core/SourceHoldingTank.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-SourceHoldingTank.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-SourceHoldingTank.Tpo -c -o src/core/shotwell-SourceHoldingTank.o `test -f 'src/core/SourceHoldingTank.c' || echo '$(srcdir)/'`src/core/SourceHoldingTank.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-SourceHoldingTank.Tpo src/core/$(DEPDIR)/shotwell-SourceHoldingTank.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/SourceHoldingTank.c' object='src/core/shotwell-SourceHoldingTank.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-SourceHoldingTank.o `test -f 'src/core/SourceHoldingTank.c' || echo '$(srcdir)/'`src/core/SourceHoldingTank.c + +src/core/shotwell-SourceHoldingTank.obj: src/core/SourceHoldingTank.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-SourceHoldingTank.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-SourceHoldingTank.Tpo -c -o src/core/shotwell-SourceHoldingTank.obj `if test -f 'src/core/SourceHoldingTank.c'; then $(CYGPATH_W) 'src/core/SourceHoldingTank.c'; else $(CYGPATH_W) '$(srcdir)/src/core/SourceHoldingTank.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-SourceHoldingTank.Tpo src/core/$(DEPDIR)/shotwell-SourceHoldingTank.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/SourceHoldingTank.c' object='src/core/shotwell-SourceHoldingTank.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-SourceHoldingTank.obj `if test -f 'src/core/SourceHoldingTank.c'; then $(CYGPATH_W) 'src/core/SourceHoldingTank.c'; else $(CYGPATH_W) '$(srcdir)/src/core/SourceHoldingTank.c'; fi` + +src/core/shotwell-DatabaseSourceCollection.o: src/core/DatabaseSourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DatabaseSourceCollection.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DatabaseSourceCollection.Tpo -c -o src/core/shotwell-DatabaseSourceCollection.o `test -f 'src/core/DatabaseSourceCollection.c' || echo '$(srcdir)/'`src/core/DatabaseSourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DatabaseSourceCollection.Tpo src/core/$(DEPDIR)/shotwell-DatabaseSourceCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DatabaseSourceCollection.c' object='src/core/shotwell-DatabaseSourceCollection.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DatabaseSourceCollection.o `test -f 'src/core/DatabaseSourceCollection.c' || echo '$(srcdir)/'`src/core/DatabaseSourceCollection.c + +src/core/shotwell-DatabaseSourceCollection.obj: src/core/DatabaseSourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DatabaseSourceCollection.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DatabaseSourceCollection.Tpo -c -o src/core/shotwell-DatabaseSourceCollection.obj `if test -f 'src/core/DatabaseSourceCollection.c'; then $(CYGPATH_W) 'src/core/DatabaseSourceCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DatabaseSourceCollection.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DatabaseSourceCollection.Tpo src/core/$(DEPDIR)/shotwell-DatabaseSourceCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DatabaseSourceCollection.c' object='src/core/shotwell-DatabaseSourceCollection.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DatabaseSourceCollection.obj `if test -f 'src/core/DatabaseSourceCollection.c'; then $(CYGPATH_W) 'src/core/DatabaseSourceCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DatabaseSourceCollection.c'; fi` + +src/core/shotwell-ContainerSourceCollection.o: src/core/ContainerSourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-ContainerSourceCollection.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-ContainerSourceCollection.Tpo -c -o src/core/shotwell-ContainerSourceCollection.o `test -f 'src/core/ContainerSourceCollection.c' || echo '$(srcdir)/'`src/core/ContainerSourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-ContainerSourceCollection.Tpo src/core/$(DEPDIR)/shotwell-ContainerSourceCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/ContainerSourceCollection.c' object='src/core/shotwell-ContainerSourceCollection.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-ContainerSourceCollection.o `test -f 'src/core/ContainerSourceCollection.c' || echo '$(srcdir)/'`src/core/ContainerSourceCollection.c + +src/core/shotwell-ContainerSourceCollection.obj: src/core/ContainerSourceCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-ContainerSourceCollection.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-ContainerSourceCollection.Tpo -c -o src/core/shotwell-ContainerSourceCollection.obj `if test -f 'src/core/ContainerSourceCollection.c'; then $(CYGPATH_W) 'src/core/ContainerSourceCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/ContainerSourceCollection.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-ContainerSourceCollection.Tpo src/core/$(DEPDIR)/shotwell-ContainerSourceCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/ContainerSourceCollection.c' object='src/core/shotwell-ContainerSourceCollection.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-ContainerSourceCollection.obj `if test -f 'src/core/ContainerSourceCollection.c'; then $(CYGPATH_W) 'src/core/ContainerSourceCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/ContainerSourceCollection.c'; fi` + +src/core/shotwell-ViewCollection.o: src/core/ViewCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-ViewCollection.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-ViewCollection.Tpo -c -o src/core/shotwell-ViewCollection.o `test -f 'src/core/ViewCollection.c' || echo '$(srcdir)/'`src/core/ViewCollection.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-ViewCollection.Tpo src/core/$(DEPDIR)/shotwell-ViewCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/ViewCollection.c' object='src/core/shotwell-ViewCollection.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-ViewCollection.o `test -f 'src/core/ViewCollection.c' || echo '$(srcdir)/'`src/core/ViewCollection.c + +src/core/shotwell-ViewCollection.obj: src/core/ViewCollection.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-ViewCollection.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-ViewCollection.Tpo -c -o src/core/shotwell-ViewCollection.obj `if test -f 'src/core/ViewCollection.c'; then $(CYGPATH_W) 'src/core/ViewCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/ViewCollection.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-ViewCollection.Tpo src/core/$(DEPDIR)/shotwell-ViewCollection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/ViewCollection.c' object='src/core/shotwell-ViewCollection.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-ViewCollection.obj `if test -f 'src/core/ViewCollection.c'; then $(CYGPATH_W) 'src/core/ViewCollection.c'; else $(CYGPATH_W) '$(srcdir)/src/core/ViewCollection.c'; fi` + +src/core/shotwell-DataObject.o: src/core/DataObject.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataObject.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataObject.Tpo -c -o src/core/shotwell-DataObject.o `test -f 'src/core/DataObject.c' || echo '$(srcdir)/'`src/core/DataObject.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataObject.Tpo src/core/$(DEPDIR)/shotwell-DataObject.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataObject.c' object='src/core/shotwell-DataObject.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataObject.o `test -f 'src/core/DataObject.c' || echo '$(srcdir)/'`src/core/DataObject.c + +src/core/shotwell-DataObject.obj: src/core/DataObject.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataObject.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataObject.Tpo -c -o src/core/shotwell-DataObject.obj `if test -f 'src/core/DataObject.c'; then $(CYGPATH_W) 'src/core/DataObject.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataObject.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataObject.Tpo src/core/$(DEPDIR)/shotwell-DataObject.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataObject.c' object='src/core/shotwell-DataObject.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataObject.obj `if test -f 'src/core/DataObject.c'; then $(CYGPATH_W) 'src/core/DataObject.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataObject.c'; fi` + +src/core/shotwell-Alteration.o: src/core/Alteration.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-Alteration.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-Alteration.Tpo -c -o src/core/shotwell-Alteration.o `test -f 'src/core/Alteration.c' || echo '$(srcdir)/'`src/core/Alteration.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-Alteration.Tpo src/core/$(DEPDIR)/shotwell-Alteration.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/Alteration.c' object='src/core/shotwell-Alteration.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-Alteration.o `test -f 'src/core/Alteration.c' || echo '$(srcdir)/'`src/core/Alteration.c + +src/core/shotwell-Alteration.obj: src/core/Alteration.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-Alteration.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-Alteration.Tpo -c -o src/core/shotwell-Alteration.obj `if test -f 'src/core/Alteration.c'; then $(CYGPATH_W) 'src/core/Alteration.c'; else $(CYGPATH_W) '$(srcdir)/src/core/Alteration.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-Alteration.Tpo src/core/$(DEPDIR)/shotwell-Alteration.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/Alteration.c' object='src/core/shotwell-Alteration.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-Alteration.obj `if test -f 'src/core/Alteration.c'; then $(CYGPATH_W) 'src/core/Alteration.c'; else $(CYGPATH_W) '$(srcdir)/src/core/Alteration.c'; fi` + +src/core/shotwell-DataSource.o: src/core/DataSource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataSource.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataSource.Tpo -c -o src/core/shotwell-DataSource.o `test -f 'src/core/DataSource.c' || echo '$(srcdir)/'`src/core/DataSource.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataSource.Tpo src/core/$(DEPDIR)/shotwell-DataSource.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataSource.c' object='src/core/shotwell-DataSource.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataSource.o `test -f 'src/core/DataSource.c' || echo '$(srcdir)/'`src/core/DataSource.c + +src/core/shotwell-DataSource.obj: src/core/DataSource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataSource.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataSource.Tpo -c -o src/core/shotwell-DataSource.obj `if test -f 'src/core/DataSource.c'; then $(CYGPATH_W) 'src/core/DataSource.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataSource.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataSource.Tpo src/core/$(DEPDIR)/shotwell-DataSource.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataSource.c' object='src/core/shotwell-DataSource.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataSource.obj `if test -f 'src/core/DataSource.c'; then $(CYGPATH_W) 'src/core/DataSource.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataSource.c'; fi` + +src/core/shotwell-DataSourceTypes.o: src/core/DataSourceTypes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataSourceTypes.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataSourceTypes.Tpo -c -o src/core/shotwell-DataSourceTypes.o `test -f 'src/core/DataSourceTypes.c' || echo '$(srcdir)/'`src/core/DataSourceTypes.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataSourceTypes.Tpo src/core/$(DEPDIR)/shotwell-DataSourceTypes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataSourceTypes.c' object='src/core/shotwell-DataSourceTypes.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataSourceTypes.o `test -f 'src/core/DataSourceTypes.c' || echo '$(srcdir)/'`src/core/DataSourceTypes.c + +src/core/shotwell-DataSourceTypes.obj: src/core/DataSourceTypes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataSourceTypes.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataSourceTypes.Tpo -c -o src/core/shotwell-DataSourceTypes.obj `if test -f 'src/core/DataSourceTypes.c'; then $(CYGPATH_W) 'src/core/DataSourceTypes.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataSourceTypes.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataSourceTypes.Tpo src/core/$(DEPDIR)/shotwell-DataSourceTypes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataSourceTypes.c' object='src/core/shotwell-DataSourceTypes.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataSourceTypes.obj `if test -f 'src/core/DataSourceTypes.c'; then $(CYGPATH_W) 'src/core/DataSourceTypes.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataSourceTypes.c'; fi` + +src/core/shotwell-DataView.o: src/core/DataView.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataView.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataView.Tpo -c -o src/core/shotwell-DataView.o `test -f 'src/core/DataView.c' || echo '$(srcdir)/'`src/core/DataView.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataView.Tpo src/core/$(DEPDIR)/shotwell-DataView.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataView.c' object='src/core/shotwell-DataView.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataView.o `test -f 'src/core/DataView.c' || echo '$(srcdir)/'`src/core/DataView.c + +src/core/shotwell-DataView.obj: src/core/DataView.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataView.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataView.Tpo -c -o src/core/shotwell-DataView.obj `if test -f 'src/core/DataView.c'; then $(CYGPATH_W) 'src/core/DataView.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataView.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataView.Tpo src/core/$(DEPDIR)/shotwell-DataView.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataView.c' object='src/core/shotwell-DataView.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataView.obj `if test -f 'src/core/DataView.c'; then $(CYGPATH_W) 'src/core/DataView.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataView.c'; fi` + +src/core/shotwell-DataViewTypes.o: src/core/DataViewTypes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataViewTypes.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataViewTypes.Tpo -c -o src/core/shotwell-DataViewTypes.o `test -f 'src/core/DataViewTypes.c' || echo '$(srcdir)/'`src/core/DataViewTypes.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataViewTypes.Tpo src/core/$(DEPDIR)/shotwell-DataViewTypes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataViewTypes.c' object='src/core/shotwell-DataViewTypes.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataViewTypes.o `test -f 'src/core/DataViewTypes.c' || echo '$(srcdir)/'`src/core/DataViewTypes.c + +src/core/shotwell-DataViewTypes.obj: src/core/DataViewTypes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-DataViewTypes.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-DataViewTypes.Tpo -c -o src/core/shotwell-DataViewTypes.obj `if test -f 'src/core/DataViewTypes.c'; then $(CYGPATH_W) 'src/core/DataViewTypes.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataViewTypes.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-DataViewTypes.Tpo src/core/$(DEPDIR)/shotwell-DataViewTypes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/DataViewTypes.c' object='src/core/shotwell-DataViewTypes.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-DataViewTypes.obj `if test -f 'src/core/DataViewTypes.c'; then $(CYGPATH_W) 'src/core/DataViewTypes.c'; else $(CYGPATH_W) '$(srcdir)/src/core/DataViewTypes.c'; fi` + +src/core/shotwell-Tracker.o: src/core/Tracker.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-Tracker.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-Tracker.Tpo -c -o src/core/shotwell-Tracker.o `test -f 'src/core/Tracker.c' || echo '$(srcdir)/'`src/core/Tracker.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-Tracker.Tpo src/core/$(DEPDIR)/shotwell-Tracker.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/Tracker.c' object='src/core/shotwell-Tracker.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-Tracker.o `test -f 'src/core/Tracker.c' || echo '$(srcdir)/'`src/core/Tracker.c + +src/core/shotwell-Tracker.obj: src/core/Tracker.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-Tracker.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-Tracker.Tpo -c -o src/core/shotwell-Tracker.obj `if test -f 'src/core/Tracker.c'; then $(CYGPATH_W) 'src/core/Tracker.c'; else $(CYGPATH_W) '$(srcdir)/src/core/Tracker.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-Tracker.Tpo src/core/$(DEPDIR)/shotwell-Tracker.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/Tracker.c' object='src/core/shotwell-Tracker.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-Tracker.obj `if test -f 'src/core/Tracker.c'; then $(CYGPATH_W) 'src/core/Tracker.c'; else $(CYGPATH_W) '$(srcdir)/src/core/Tracker.c'; fi` + +src/core/shotwell-SourceInterfaces.o: src/core/SourceInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-SourceInterfaces.o -MD -MP -MF src/core/$(DEPDIR)/shotwell-SourceInterfaces.Tpo -c -o src/core/shotwell-SourceInterfaces.o `test -f 'src/core/SourceInterfaces.c' || echo '$(srcdir)/'`src/core/SourceInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-SourceInterfaces.Tpo src/core/$(DEPDIR)/shotwell-SourceInterfaces.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/SourceInterfaces.c' object='src/core/shotwell-SourceInterfaces.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-SourceInterfaces.o `test -f 'src/core/SourceInterfaces.c' || echo '$(srcdir)/'`src/core/SourceInterfaces.c + +src/core/shotwell-SourceInterfaces.obj: src/core/SourceInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/core/shotwell-SourceInterfaces.obj -MD -MP -MF src/core/$(DEPDIR)/shotwell-SourceInterfaces.Tpo -c -o src/core/shotwell-SourceInterfaces.obj `if test -f 'src/core/SourceInterfaces.c'; then $(CYGPATH_W) 'src/core/SourceInterfaces.c'; else $(CYGPATH_W) '$(srcdir)/src/core/SourceInterfaces.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/core/$(DEPDIR)/shotwell-SourceInterfaces.Tpo src/core/$(DEPDIR)/shotwell-SourceInterfaces.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/core/SourceInterfaces.c' object='src/core/shotwell-SourceInterfaces.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/core/shotwell-SourceInterfaces.obj `if test -f 'src/core/SourceInterfaces.c'; then $(CYGPATH_W) 'src/core/SourceInterfaces.c'; else $(CYGPATH_W) '$(srcdir)/src/core/SourceInterfaces.c'; fi` + +src/sidebar/shotwell-Sidebar.o: src/sidebar/Sidebar.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Sidebar.o -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Sidebar.Tpo -c -o src/sidebar/shotwell-Sidebar.o `test -f 'src/sidebar/Sidebar.c' || echo '$(srcdir)/'`src/sidebar/Sidebar.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Sidebar.Tpo src/sidebar/$(DEPDIR)/shotwell-Sidebar.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Sidebar.c' object='src/sidebar/shotwell-Sidebar.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Sidebar.o `test -f 'src/sidebar/Sidebar.c' || echo '$(srcdir)/'`src/sidebar/Sidebar.c + +src/sidebar/shotwell-Sidebar.obj: src/sidebar/Sidebar.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Sidebar.obj -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Sidebar.Tpo -c -o src/sidebar/shotwell-Sidebar.obj `if test -f 'src/sidebar/Sidebar.c'; then $(CYGPATH_W) 'src/sidebar/Sidebar.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Sidebar.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Sidebar.Tpo src/sidebar/$(DEPDIR)/shotwell-Sidebar.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Sidebar.c' object='src/sidebar/shotwell-Sidebar.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Sidebar.obj `if test -f 'src/sidebar/Sidebar.c'; then $(CYGPATH_W) 'src/sidebar/Sidebar.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Sidebar.c'; fi` + +src/sidebar/shotwell-Branch.o: src/sidebar/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Branch.o -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/sidebar/shotwell-Branch.o `test -f 'src/sidebar/Branch.c' || echo '$(srcdir)/'`src/sidebar/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Branch.Tpo src/sidebar/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Branch.c' object='src/sidebar/shotwell-Branch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Branch.o `test -f 'src/sidebar/Branch.c' || echo '$(srcdir)/'`src/sidebar/Branch.c + +src/sidebar/shotwell-Branch.obj: src/sidebar/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Branch.obj -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/sidebar/shotwell-Branch.obj `if test -f 'src/sidebar/Branch.c'; then $(CYGPATH_W) 'src/sidebar/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Branch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Branch.Tpo src/sidebar/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Branch.c' object='src/sidebar/shotwell-Branch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Branch.obj `if test -f 'src/sidebar/Branch.c'; then $(CYGPATH_W) 'src/sidebar/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Branch.c'; fi` + +src/sidebar/shotwell-Entry.o: src/sidebar/Entry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Entry.o -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Entry.Tpo -c -o src/sidebar/shotwell-Entry.o `test -f 'src/sidebar/Entry.c' || echo '$(srcdir)/'`src/sidebar/Entry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Entry.Tpo src/sidebar/$(DEPDIR)/shotwell-Entry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Entry.c' object='src/sidebar/shotwell-Entry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Entry.o `test -f 'src/sidebar/Entry.c' || echo '$(srcdir)/'`src/sidebar/Entry.c + +src/sidebar/shotwell-Entry.obj: src/sidebar/Entry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Entry.obj -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Entry.Tpo -c -o src/sidebar/shotwell-Entry.obj `if test -f 'src/sidebar/Entry.c'; then $(CYGPATH_W) 'src/sidebar/Entry.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Entry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Entry.Tpo src/sidebar/$(DEPDIR)/shotwell-Entry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Entry.c' object='src/sidebar/shotwell-Entry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Entry.obj `if test -f 'src/sidebar/Entry.c'; then $(CYGPATH_W) 'src/sidebar/Entry.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Entry.c'; fi` + +src/sidebar/shotwell-Tree.o: src/sidebar/Tree.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Tree.o -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Tree.Tpo -c -o src/sidebar/shotwell-Tree.o `test -f 'src/sidebar/Tree.c' || echo '$(srcdir)/'`src/sidebar/Tree.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Tree.Tpo src/sidebar/$(DEPDIR)/shotwell-Tree.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Tree.c' object='src/sidebar/shotwell-Tree.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Tree.o `test -f 'src/sidebar/Tree.c' || echo '$(srcdir)/'`src/sidebar/Tree.c + +src/sidebar/shotwell-Tree.obj: src/sidebar/Tree.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-Tree.obj -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-Tree.Tpo -c -o src/sidebar/shotwell-Tree.obj `if test -f 'src/sidebar/Tree.c'; then $(CYGPATH_W) 'src/sidebar/Tree.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Tree.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-Tree.Tpo src/sidebar/$(DEPDIR)/shotwell-Tree.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/Tree.c' object='src/sidebar/shotwell-Tree.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-Tree.obj `if test -f 'src/sidebar/Tree.c'; then $(CYGPATH_W) 'src/sidebar/Tree.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/Tree.c'; fi` + +src/sidebar/shotwell-common.o: src/sidebar/common.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-common.o -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-common.Tpo -c -o src/sidebar/shotwell-common.o `test -f 'src/sidebar/common.c' || echo '$(srcdir)/'`src/sidebar/common.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-common.Tpo src/sidebar/$(DEPDIR)/shotwell-common.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/common.c' object='src/sidebar/shotwell-common.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-common.o `test -f 'src/sidebar/common.c' || echo '$(srcdir)/'`src/sidebar/common.c + +src/sidebar/shotwell-common.obj: src/sidebar/common.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/sidebar/shotwell-common.obj -MD -MP -MF src/sidebar/$(DEPDIR)/shotwell-common.Tpo -c -o src/sidebar/shotwell-common.obj `if test -f 'src/sidebar/common.c'; then $(CYGPATH_W) 'src/sidebar/common.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/common.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/sidebar/$(DEPDIR)/shotwell-common.Tpo src/sidebar/$(DEPDIR)/shotwell-common.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sidebar/common.c' object='src/sidebar/shotwell-common.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/sidebar/shotwell-common.obj `if test -f 'src/sidebar/common.c'; then $(CYGPATH_W) 'src/sidebar/common.c'; else $(CYGPATH_W) '$(srcdir)/src/sidebar/common.c'; fi` + +src/events/shotwell-Events.o: src/events/Events.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-Events.o -MD -MP -MF src/events/$(DEPDIR)/shotwell-Events.Tpo -c -o src/events/shotwell-Events.o `test -f 'src/events/Events.c' || echo '$(srcdir)/'`src/events/Events.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-Events.Tpo src/events/$(DEPDIR)/shotwell-Events.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/Events.c' object='src/events/shotwell-Events.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-Events.o `test -f 'src/events/Events.c' || echo '$(srcdir)/'`src/events/Events.c + +src/events/shotwell-Events.obj: src/events/Events.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-Events.obj -MD -MP -MF src/events/$(DEPDIR)/shotwell-Events.Tpo -c -o src/events/shotwell-Events.obj `if test -f 'src/events/Events.c'; then $(CYGPATH_W) 'src/events/Events.c'; else $(CYGPATH_W) '$(srcdir)/src/events/Events.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-Events.Tpo src/events/$(DEPDIR)/shotwell-Events.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/Events.c' object='src/events/shotwell-Events.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-Events.obj `if test -f 'src/events/Events.c'; then $(CYGPATH_W) 'src/events/Events.c'; else $(CYGPATH_W) '$(srcdir)/src/events/Events.c'; fi` + +src/events/shotwell-Branch.o: src/events/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-Branch.o -MD -MP -MF src/events/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/events/shotwell-Branch.o `test -f 'src/events/Branch.c' || echo '$(srcdir)/'`src/events/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-Branch.Tpo src/events/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/Branch.c' object='src/events/shotwell-Branch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-Branch.o `test -f 'src/events/Branch.c' || echo '$(srcdir)/'`src/events/Branch.c + +src/events/shotwell-Branch.obj: src/events/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-Branch.obj -MD -MP -MF src/events/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/events/shotwell-Branch.obj `if test -f 'src/events/Branch.c'; then $(CYGPATH_W) 'src/events/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/events/Branch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-Branch.Tpo src/events/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/Branch.c' object='src/events/shotwell-Branch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-Branch.obj `if test -f 'src/events/Branch.c'; then $(CYGPATH_W) 'src/events/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/events/Branch.c'; fi` + +src/events/shotwell-EventsDirectoryPage.o: src/events/EventsDirectoryPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-EventsDirectoryPage.o -MD -MP -MF src/events/$(DEPDIR)/shotwell-EventsDirectoryPage.Tpo -c -o src/events/shotwell-EventsDirectoryPage.o `test -f 'src/events/EventsDirectoryPage.c' || echo '$(srcdir)/'`src/events/EventsDirectoryPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-EventsDirectoryPage.Tpo src/events/$(DEPDIR)/shotwell-EventsDirectoryPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/EventsDirectoryPage.c' object='src/events/shotwell-EventsDirectoryPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-EventsDirectoryPage.o `test -f 'src/events/EventsDirectoryPage.c' || echo '$(srcdir)/'`src/events/EventsDirectoryPage.c + +src/events/shotwell-EventsDirectoryPage.obj: src/events/EventsDirectoryPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-EventsDirectoryPage.obj -MD -MP -MF src/events/$(DEPDIR)/shotwell-EventsDirectoryPage.Tpo -c -o src/events/shotwell-EventsDirectoryPage.obj `if test -f 'src/events/EventsDirectoryPage.c'; then $(CYGPATH_W) 'src/events/EventsDirectoryPage.c'; else $(CYGPATH_W) '$(srcdir)/src/events/EventsDirectoryPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-EventsDirectoryPage.Tpo src/events/$(DEPDIR)/shotwell-EventsDirectoryPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/EventsDirectoryPage.c' object='src/events/shotwell-EventsDirectoryPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-EventsDirectoryPage.obj `if test -f 'src/events/EventsDirectoryPage.c'; then $(CYGPATH_W) 'src/events/EventsDirectoryPage.c'; else $(CYGPATH_W) '$(srcdir)/src/events/EventsDirectoryPage.c'; fi` + +src/events/shotwell-EventPage.o: src/events/EventPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-EventPage.o -MD -MP -MF src/events/$(DEPDIR)/shotwell-EventPage.Tpo -c -o src/events/shotwell-EventPage.o `test -f 'src/events/EventPage.c' || echo '$(srcdir)/'`src/events/EventPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-EventPage.Tpo src/events/$(DEPDIR)/shotwell-EventPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/EventPage.c' object='src/events/shotwell-EventPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-EventPage.o `test -f 'src/events/EventPage.c' || echo '$(srcdir)/'`src/events/EventPage.c + +src/events/shotwell-EventPage.obj: src/events/EventPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-EventPage.obj -MD -MP -MF src/events/$(DEPDIR)/shotwell-EventPage.Tpo -c -o src/events/shotwell-EventPage.obj `if test -f 'src/events/EventPage.c'; then $(CYGPATH_W) 'src/events/EventPage.c'; else $(CYGPATH_W) '$(srcdir)/src/events/EventPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-EventPage.Tpo src/events/$(DEPDIR)/shotwell-EventPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/EventPage.c' object='src/events/shotwell-EventPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-EventPage.obj `if test -f 'src/events/EventPage.c'; then $(CYGPATH_W) 'src/events/EventPage.c'; else $(CYGPATH_W) '$(srcdir)/src/events/EventPage.c'; fi` + +src/events/shotwell-EventDirectoryItem.o: src/events/EventDirectoryItem.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-EventDirectoryItem.o -MD -MP -MF src/events/$(DEPDIR)/shotwell-EventDirectoryItem.Tpo -c -o src/events/shotwell-EventDirectoryItem.o `test -f 'src/events/EventDirectoryItem.c' || echo '$(srcdir)/'`src/events/EventDirectoryItem.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-EventDirectoryItem.Tpo src/events/$(DEPDIR)/shotwell-EventDirectoryItem.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/EventDirectoryItem.c' object='src/events/shotwell-EventDirectoryItem.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-EventDirectoryItem.o `test -f 'src/events/EventDirectoryItem.c' || echo '$(srcdir)/'`src/events/EventDirectoryItem.c + +src/events/shotwell-EventDirectoryItem.obj: src/events/EventDirectoryItem.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/events/shotwell-EventDirectoryItem.obj -MD -MP -MF src/events/$(DEPDIR)/shotwell-EventDirectoryItem.Tpo -c -o src/events/shotwell-EventDirectoryItem.obj `if test -f 'src/events/EventDirectoryItem.c'; then $(CYGPATH_W) 'src/events/EventDirectoryItem.c'; else $(CYGPATH_W) '$(srcdir)/src/events/EventDirectoryItem.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/events/$(DEPDIR)/shotwell-EventDirectoryItem.Tpo src/events/$(DEPDIR)/shotwell-EventDirectoryItem.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/events/EventDirectoryItem.c' object='src/events/shotwell-EventDirectoryItem.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/events/shotwell-EventDirectoryItem.obj `if test -f 'src/events/EventDirectoryItem.c'; then $(CYGPATH_W) 'src/events/EventDirectoryItem.c'; else $(CYGPATH_W) '$(srcdir)/src/events/EventDirectoryItem.c'; fi` + +src/tags/shotwell-Tags.o: src/tags/Tags.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-Tags.o -MD -MP -MF src/tags/$(DEPDIR)/shotwell-Tags.Tpo -c -o src/tags/shotwell-Tags.o `test -f 'src/tags/Tags.c' || echo '$(srcdir)/'`src/tags/Tags.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-Tags.Tpo src/tags/$(DEPDIR)/shotwell-Tags.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/Tags.c' object='src/tags/shotwell-Tags.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-Tags.o `test -f 'src/tags/Tags.c' || echo '$(srcdir)/'`src/tags/Tags.c + +src/tags/shotwell-Tags.obj: src/tags/Tags.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-Tags.obj -MD -MP -MF src/tags/$(DEPDIR)/shotwell-Tags.Tpo -c -o src/tags/shotwell-Tags.obj `if test -f 'src/tags/Tags.c'; then $(CYGPATH_W) 'src/tags/Tags.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/Tags.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-Tags.Tpo src/tags/$(DEPDIR)/shotwell-Tags.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/Tags.c' object='src/tags/shotwell-Tags.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-Tags.obj `if test -f 'src/tags/Tags.c'; then $(CYGPATH_W) 'src/tags/Tags.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/Tags.c'; fi` + +src/tags/shotwell-Branch.o: src/tags/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-Branch.o -MD -MP -MF src/tags/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/tags/shotwell-Branch.o `test -f 'src/tags/Branch.c' || echo '$(srcdir)/'`src/tags/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-Branch.Tpo src/tags/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/Branch.c' object='src/tags/shotwell-Branch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-Branch.o `test -f 'src/tags/Branch.c' || echo '$(srcdir)/'`src/tags/Branch.c + +src/tags/shotwell-Branch.obj: src/tags/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-Branch.obj -MD -MP -MF src/tags/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/tags/shotwell-Branch.obj `if test -f 'src/tags/Branch.c'; then $(CYGPATH_W) 'src/tags/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/Branch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-Branch.Tpo src/tags/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/Branch.c' object='src/tags/shotwell-Branch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-Branch.obj `if test -f 'src/tags/Branch.c'; then $(CYGPATH_W) 'src/tags/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/Branch.c'; fi` + +src/tags/shotwell-TagPage.o: src/tags/TagPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-TagPage.o -MD -MP -MF src/tags/$(DEPDIR)/shotwell-TagPage.Tpo -c -o src/tags/shotwell-TagPage.o `test -f 'src/tags/TagPage.c' || echo '$(srcdir)/'`src/tags/TagPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-TagPage.Tpo src/tags/$(DEPDIR)/shotwell-TagPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/TagPage.c' object='src/tags/shotwell-TagPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-TagPage.o `test -f 'src/tags/TagPage.c' || echo '$(srcdir)/'`src/tags/TagPage.c + +src/tags/shotwell-TagPage.obj: src/tags/TagPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-TagPage.obj -MD -MP -MF src/tags/$(DEPDIR)/shotwell-TagPage.Tpo -c -o src/tags/shotwell-TagPage.obj `if test -f 'src/tags/TagPage.c'; then $(CYGPATH_W) 'src/tags/TagPage.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/TagPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-TagPage.Tpo src/tags/$(DEPDIR)/shotwell-TagPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/TagPage.c' object='src/tags/shotwell-TagPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-TagPage.obj `if test -f 'src/tags/TagPage.c'; then $(CYGPATH_W) 'src/tags/TagPage.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/TagPage.c'; fi` + +src/tags/shotwell-HierarchicalTagIndex.o: src/tags/HierarchicalTagIndex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-HierarchicalTagIndex.o -MD -MP -MF src/tags/$(DEPDIR)/shotwell-HierarchicalTagIndex.Tpo -c -o src/tags/shotwell-HierarchicalTagIndex.o `test -f 'src/tags/HierarchicalTagIndex.c' || echo '$(srcdir)/'`src/tags/HierarchicalTagIndex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-HierarchicalTagIndex.Tpo src/tags/$(DEPDIR)/shotwell-HierarchicalTagIndex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/HierarchicalTagIndex.c' object='src/tags/shotwell-HierarchicalTagIndex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-HierarchicalTagIndex.o `test -f 'src/tags/HierarchicalTagIndex.c' || echo '$(srcdir)/'`src/tags/HierarchicalTagIndex.c + +src/tags/shotwell-HierarchicalTagIndex.obj: src/tags/HierarchicalTagIndex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-HierarchicalTagIndex.obj -MD -MP -MF src/tags/$(DEPDIR)/shotwell-HierarchicalTagIndex.Tpo -c -o src/tags/shotwell-HierarchicalTagIndex.obj `if test -f 'src/tags/HierarchicalTagIndex.c'; then $(CYGPATH_W) 'src/tags/HierarchicalTagIndex.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/HierarchicalTagIndex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-HierarchicalTagIndex.Tpo src/tags/$(DEPDIR)/shotwell-HierarchicalTagIndex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/HierarchicalTagIndex.c' object='src/tags/shotwell-HierarchicalTagIndex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-HierarchicalTagIndex.obj `if test -f 'src/tags/HierarchicalTagIndex.c'; then $(CYGPATH_W) 'src/tags/HierarchicalTagIndex.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/HierarchicalTagIndex.c'; fi` + +src/tags/shotwell-HierarchicalTagUtilities.o: src/tags/HierarchicalTagUtilities.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-HierarchicalTagUtilities.o -MD -MP -MF src/tags/$(DEPDIR)/shotwell-HierarchicalTagUtilities.Tpo -c -o src/tags/shotwell-HierarchicalTagUtilities.o `test -f 'src/tags/HierarchicalTagUtilities.c' || echo '$(srcdir)/'`src/tags/HierarchicalTagUtilities.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-HierarchicalTagUtilities.Tpo src/tags/$(DEPDIR)/shotwell-HierarchicalTagUtilities.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/HierarchicalTagUtilities.c' object='src/tags/shotwell-HierarchicalTagUtilities.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-HierarchicalTagUtilities.o `test -f 'src/tags/HierarchicalTagUtilities.c' || echo '$(srcdir)/'`src/tags/HierarchicalTagUtilities.c + +src/tags/shotwell-HierarchicalTagUtilities.obj: src/tags/HierarchicalTagUtilities.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/tags/shotwell-HierarchicalTagUtilities.obj -MD -MP -MF src/tags/$(DEPDIR)/shotwell-HierarchicalTagUtilities.Tpo -c -o src/tags/shotwell-HierarchicalTagUtilities.obj `if test -f 'src/tags/HierarchicalTagUtilities.c'; then $(CYGPATH_W) 'src/tags/HierarchicalTagUtilities.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/HierarchicalTagUtilities.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/tags/$(DEPDIR)/shotwell-HierarchicalTagUtilities.Tpo src/tags/$(DEPDIR)/shotwell-HierarchicalTagUtilities.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tags/HierarchicalTagUtilities.c' object='src/tags/shotwell-HierarchicalTagUtilities.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/tags/shotwell-HierarchicalTagUtilities.obj `if test -f 'src/tags/HierarchicalTagUtilities.c'; then $(CYGPATH_W) 'src/tags/HierarchicalTagUtilities.c'; else $(CYGPATH_W) '$(srcdir)/src/tags/HierarchicalTagUtilities.c'; fi` + +src/camera/shotwell-Camera.o: src/camera/Camera.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-Camera.o -MD -MP -MF src/camera/$(DEPDIR)/shotwell-Camera.Tpo -c -o src/camera/shotwell-Camera.o `test -f 'src/camera/Camera.c' || echo '$(srcdir)/'`src/camera/Camera.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-Camera.Tpo src/camera/$(DEPDIR)/shotwell-Camera.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/Camera.c' object='src/camera/shotwell-Camera.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-Camera.o `test -f 'src/camera/Camera.c' || echo '$(srcdir)/'`src/camera/Camera.c + +src/camera/shotwell-Camera.obj: src/camera/Camera.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-Camera.obj -MD -MP -MF src/camera/$(DEPDIR)/shotwell-Camera.Tpo -c -o src/camera/shotwell-Camera.obj `if test -f 'src/camera/Camera.c'; then $(CYGPATH_W) 'src/camera/Camera.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/Camera.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-Camera.Tpo src/camera/$(DEPDIR)/shotwell-Camera.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/Camera.c' object='src/camera/shotwell-Camera.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-Camera.obj `if test -f 'src/camera/Camera.c'; then $(CYGPATH_W) 'src/camera/Camera.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/Camera.c'; fi` + +src/camera/shotwell-Branch.o: src/camera/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-Branch.o -MD -MP -MF src/camera/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/camera/shotwell-Branch.o `test -f 'src/camera/Branch.c' || echo '$(srcdir)/'`src/camera/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-Branch.Tpo src/camera/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/Branch.c' object='src/camera/shotwell-Branch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-Branch.o `test -f 'src/camera/Branch.c' || echo '$(srcdir)/'`src/camera/Branch.c + +src/camera/shotwell-Branch.obj: src/camera/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-Branch.obj -MD -MP -MF src/camera/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/camera/shotwell-Branch.obj `if test -f 'src/camera/Branch.c'; then $(CYGPATH_W) 'src/camera/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/Branch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-Branch.Tpo src/camera/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/Branch.c' object='src/camera/shotwell-Branch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-Branch.obj `if test -f 'src/camera/Branch.c'; then $(CYGPATH_W) 'src/camera/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/Branch.c'; fi` + +src/camera/shotwell-CameraTable.o: src/camera/CameraTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-CameraTable.o -MD -MP -MF src/camera/$(DEPDIR)/shotwell-CameraTable.Tpo -c -o src/camera/shotwell-CameraTable.o `test -f 'src/camera/CameraTable.c' || echo '$(srcdir)/'`src/camera/CameraTable.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-CameraTable.Tpo src/camera/$(DEPDIR)/shotwell-CameraTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/CameraTable.c' object='src/camera/shotwell-CameraTable.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-CameraTable.o `test -f 'src/camera/CameraTable.c' || echo '$(srcdir)/'`src/camera/CameraTable.c + +src/camera/shotwell-CameraTable.obj: src/camera/CameraTable.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-CameraTable.obj -MD -MP -MF src/camera/$(DEPDIR)/shotwell-CameraTable.Tpo -c -o src/camera/shotwell-CameraTable.obj `if test -f 'src/camera/CameraTable.c'; then $(CYGPATH_W) 'src/camera/CameraTable.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/CameraTable.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-CameraTable.Tpo src/camera/$(DEPDIR)/shotwell-CameraTable.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/CameraTable.c' object='src/camera/shotwell-CameraTable.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-CameraTable.obj `if test -f 'src/camera/CameraTable.c'; then $(CYGPATH_W) 'src/camera/CameraTable.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/CameraTable.c'; fi` + +src/camera/shotwell-GPhoto.o: src/camera/GPhoto.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-GPhoto.o -MD -MP -MF src/camera/$(DEPDIR)/shotwell-GPhoto.Tpo -c -o src/camera/shotwell-GPhoto.o `test -f 'src/camera/GPhoto.c' || echo '$(srcdir)/'`src/camera/GPhoto.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-GPhoto.Tpo src/camera/$(DEPDIR)/shotwell-GPhoto.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/GPhoto.c' object='src/camera/shotwell-GPhoto.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-GPhoto.o `test -f 'src/camera/GPhoto.c' || echo '$(srcdir)/'`src/camera/GPhoto.c + +src/camera/shotwell-GPhoto.obj: src/camera/GPhoto.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-GPhoto.obj -MD -MP -MF src/camera/$(DEPDIR)/shotwell-GPhoto.Tpo -c -o src/camera/shotwell-GPhoto.obj `if test -f 'src/camera/GPhoto.c'; then $(CYGPATH_W) 'src/camera/GPhoto.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/GPhoto.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-GPhoto.Tpo src/camera/$(DEPDIR)/shotwell-GPhoto.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/GPhoto.c' object='src/camera/shotwell-GPhoto.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-GPhoto.obj `if test -f 'src/camera/GPhoto.c'; then $(CYGPATH_W) 'src/camera/GPhoto.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/GPhoto.c'; fi` + +src/camera/shotwell-ImportPage.o: src/camera/ImportPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-ImportPage.o -MD -MP -MF src/camera/$(DEPDIR)/shotwell-ImportPage.Tpo -c -o src/camera/shotwell-ImportPage.o `test -f 'src/camera/ImportPage.c' || echo '$(srcdir)/'`src/camera/ImportPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-ImportPage.Tpo src/camera/$(DEPDIR)/shotwell-ImportPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/ImportPage.c' object='src/camera/shotwell-ImportPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-ImportPage.o `test -f 'src/camera/ImportPage.c' || echo '$(srcdir)/'`src/camera/ImportPage.c + +src/camera/shotwell-ImportPage.obj: src/camera/ImportPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/camera/shotwell-ImportPage.obj -MD -MP -MF src/camera/$(DEPDIR)/shotwell-ImportPage.Tpo -c -o src/camera/shotwell-ImportPage.obj `if test -f 'src/camera/ImportPage.c'; then $(CYGPATH_W) 'src/camera/ImportPage.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/ImportPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/camera/$(DEPDIR)/shotwell-ImportPage.Tpo src/camera/$(DEPDIR)/shotwell-ImportPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/camera/ImportPage.c' object='src/camera/shotwell-ImportPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/camera/shotwell-ImportPage.obj `if test -f 'src/camera/ImportPage.c'; then $(CYGPATH_W) 'src/camera/ImportPage.c'; else $(CYGPATH_W) '$(srcdir)/src/camera/ImportPage.c'; fi` + +src/searches/shotwell-Searches.o: src/searches/Searches.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-Searches.o -MD -MP -MF src/searches/$(DEPDIR)/shotwell-Searches.Tpo -c -o src/searches/shotwell-Searches.o `test -f 'src/searches/Searches.c' || echo '$(srcdir)/'`src/searches/Searches.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-Searches.Tpo src/searches/$(DEPDIR)/shotwell-Searches.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/Searches.c' object='src/searches/shotwell-Searches.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-Searches.o `test -f 'src/searches/Searches.c' || echo '$(srcdir)/'`src/searches/Searches.c + +src/searches/shotwell-Searches.obj: src/searches/Searches.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-Searches.obj -MD -MP -MF src/searches/$(DEPDIR)/shotwell-Searches.Tpo -c -o src/searches/shotwell-Searches.obj `if test -f 'src/searches/Searches.c'; then $(CYGPATH_W) 'src/searches/Searches.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/Searches.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-Searches.Tpo src/searches/$(DEPDIR)/shotwell-Searches.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/Searches.c' object='src/searches/shotwell-Searches.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-Searches.obj `if test -f 'src/searches/Searches.c'; then $(CYGPATH_W) 'src/searches/Searches.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/Searches.c'; fi` + +src/searches/shotwell-Branch.o: src/searches/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-Branch.o -MD -MP -MF src/searches/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/searches/shotwell-Branch.o `test -f 'src/searches/Branch.c' || echo '$(srcdir)/'`src/searches/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-Branch.Tpo src/searches/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/Branch.c' object='src/searches/shotwell-Branch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-Branch.o `test -f 'src/searches/Branch.c' || echo '$(srcdir)/'`src/searches/Branch.c + +src/searches/shotwell-Branch.obj: src/searches/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-Branch.obj -MD -MP -MF src/searches/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/searches/shotwell-Branch.obj `if test -f 'src/searches/Branch.c'; then $(CYGPATH_W) 'src/searches/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/Branch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-Branch.Tpo src/searches/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/Branch.c' object='src/searches/shotwell-Branch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-Branch.obj `if test -f 'src/searches/Branch.c'; then $(CYGPATH_W) 'src/searches/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/Branch.c'; fi` + +src/searches/shotwell-SearchBoolean.o: src/searches/SearchBoolean.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-SearchBoolean.o -MD -MP -MF src/searches/$(DEPDIR)/shotwell-SearchBoolean.Tpo -c -o src/searches/shotwell-SearchBoolean.o `test -f 'src/searches/SearchBoolean.c' || echo '$(srcdir)/'`src/searches/SearchBoolean.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-SearchBoolean.Tpo src/searches/$(DEPDIR)/shotwell-SearchBoolean.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/SearchBoolean.c' object='src/searches/shotwell-SearchBoolean.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-SearchBoolean.o `test -f 'src/searches/SearchBoolean.c' || echo '$(srcdir)/'`src/searches/SearchBoolean.c + +src/searches/shotwell-SearchBoolean.obj: src/searches/SearchBoolean.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-SearchBoolean.obj -MD -MP -MF src/searches/$(DEPDIR)/shotwell-SearchBoolean.Tpo -c -o src/searches/shotwell-SearchBoolean.obj `if test -f 'src/searches/SearchBoolean.c'; then $(CYGPATH_W) 'src/searches/SearchBoolean.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/SearchBoolean.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-SearchBoolean.Tpo src/searches/$(DEPDIR)/shotwell-SearchBoolean.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/SearchBoolean.c' object='src/searches/shotwell-SearchBoolean.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-SearchBoolean.obj `if test -f 'src/searches/SearchBoolean.c'; then $(CYGPATH_W) 'src/searches/SearchBoolean.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/SearchBoolean.c'; fi` + +src/searches/shotwell-SavedSearchPage.o: src/searches/SavedSearchPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-SavedSearchPage.o -MD -MP -MF src/searches/$(DEPDIR)/shotwell-SavedSearchPage.Tpo -c -o src/searches/shotwell-SavedSearchPage.o `test -f 'src/searches/SavedSearchPage.c' || echo '$(srcdir)/'`src/searches/SavedSearchPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-SavedSearchPage.Tpo src/searches/$(DEPDIR)/shotwell-SavedSearchPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/SavedSearchPage.c' object='src/searches/shotwell-SavedSearchPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-SavedSearchPage.o `test -f 'src/searches/SavedSearchPage.c' || echo '$(srcdir)/'`src/searches/SavedSearchPage.c + +src/searches/shotwell-SavedSearchPage.obj: src/searches/SavedSearchPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-SavedSearchPage.obj -MD -MP -MF src/searches/$(DEPDIR)/shotwell-SavedSearchPage.Tpo -c -o src/searches/shotwell-SavedSearchPage.obj `if test -f 'src/searches/SavedSearchPage.c'; then $(CYGPATH_W) 'src/searches/SavedSearchPage.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/SavedSearchPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-SavedSearchPage.Tpo src/searches/$(DEPDIR)/shotwell-SavedSearchPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/SavedSearchPage.c' object='src/searches/shotwell-SavedSearchPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-SavedSearchPage.obj `if test -f 'src/searches/SavedSearchPage.c'; then $(CYGPATH_W) 'src/searches/SavedSearchPage.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/SavedSearchPage.c'; fi` + +src/searches/shotwell-SavedSearchDialog.o: src/searches/SavedSearchDialog.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-SavedSearchDialog.o -MD -MP -MF src/searches/$(DEPDIR)/shotwell-SavedSearchDialog.Tpo -c -o src/searches/shotwell-SavedSearchDialog.o `test -f 'src/searches/SavedSearchDialog.c' || echo '$(srcdir)/'`src/searches/SavedSearchDialog.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-SavedSearchDialog.Tpo src/searches/$(DEPDIR)/shotwell-SavedSearchDialog.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/SavedSearchDialog.c' object='src/searches/shotwell-SavedSearchDialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-SavedSearchDialog.o `test -f 'src/searches/SavedSearchDialog.c' || echo '$(srcdir)/'`src/searches/SavedSearchDialog.c + +src/searches/shotwell-SavedSearchDialog.obj: src/searches/SavedSearchDialog.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/searches/shotwell-SavedSearchDialog.obj -MD -MP -MF src/searches/$(DEPDIR)/shotwell-SavedSearchDialog.Tpo -c -o src/searches/shotwell-SavedSearchDialog.obj `if test -f 'src/searches/SavedSearchDialog.c'; then $(CYGPATH_W) 'src/searches/SavedSearchDialog.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/SavedSearchDialog.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/searches/$(DEPDIR)/shotwell-SavedSearchDialog.Tpo src/searches/$(DEPDIR)/shotwell-SavedSearchDialog.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/searches/SavedSearchDialog.c' object='src/searches/shotwell-SavedSearchDialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/searches/shotwell-SavedSearchDialog.obj `if test -f 'src/searches/SavedSearchDialog.c'; then $(CYGPATH_W) 'src/searches/SavedSearchDialog.c'; else $(CYGPATH_W) '$(srcdir)/src/searches/SavedSearchDialog.c'; fi` + +src/config/shotwell-Config.o: src/config/Config.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/config/shotwell-Config.o -MD -MP -MF src/config/$(DEPDIR)/shotwell-Config.Tpo -c -o src/config/shotwell-Config.o `test -f 'src/config/Config.c' || echo '$(srcdir)/'`src/config/Config.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/config/$(DEPDIR)/shotwell-Config.Tpo src/config/$(DEPDIR)/shotwell-Config.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/config/Config.c' object='src/config/shotwell-Config.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/config/shotwell-Config.o `test -f 'src/config/Config.c' || echo '$(srcdir)/'`src/config/Config.c + +src/config/shotwell-Config.obj: src/config/Config.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/config/shotwell-Config.obj -MD -MP -MF src/config/$(DEPDIR)/shotwell-Config.Tpo -c -o src/config/shotwell-Config.obj `if test -f 'src/config/Config.c'; then $(CYGPATH_W) 'src/config/Config.c'; else $(CYGPATH_W) '$(srcdir)/src/config/Config.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/config/$(DEPDIR)/shotwell-Config.Tpo src/config/$(DEPDIR)/shotwell-Config.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/config/Config.c' object='src/config/shotwell-Config.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/config/shotwell-Config.obj `if test -f 'src/config/Config.c'; then $(CYGPATH_W) 'src/config/Config.c'; else $(CYGPATH_W) '$(srcdir)/src/config/Config.c'; fi` + +src/config/shotwell-ConfigurationInterfaces.o: src/config/ConfigurationInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/config/shotwell-ConfigurationInterfaces.o -MD -MP -MF src/config/$(DEPDIR)/shotwell-ConfigurationInterfaces.Tpo -c -o src/config/shotwell-ConfigurationInterfaces.o `test -f 'src/config/ConfigurationInterfaces.c' || echo '$(srcdir)/'`src/config/ConfigurationInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/config/$(DEPDIR)/shotwell-ConfigurationInterfaces.Tpo src/config/$(DEPDIR)/shotwell-ConfigurationInterfaces.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/config/ConfigurationInterfaces.c' object='src/config/shotwell-ConfigurationInterfaces.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/config/shotwell-ConfigurationInterfaces.o `test -f 'src/config/ConfigurationInterfaces.c' || echo '$(srcdir)/'`src/config/ConfigurationInterfaces.c + +src/config/shotwell-ConfigurationInterfaces.obj: src/config/ConfigurationInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/config/shotwell-ConfigurationInterfaces.obj -MD -MP -MF src/config/$(DEPDIR)/shotwell-ConfigurationInterfaces.Tpo -c -o src/config/shotwell-ConfigurationInterfaces.obj `if test -f 'src/config/ConfigurationInterfaces.c'; then $(CYGPATH_W) 'src/config/ConfigurationInterfaces.c'; else $(CYGPATH_W) '$(srcdir)/src/config/ConfigurationInterfaces.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/config/$(DEPDIR)/shotwell-ConfigurationInterfaces.Tpo src/config/$(DEPDIR)/shotwell-ConfigurationInterfaces.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/config/ConfigurationInterfaces.c' object='src/config/shotwell-ConfigurationInterfaces.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/config/shotwell-ConfigurationInterfaces.obj `if test -f 'src/config/ConfigurationInterfaces.c'; then $(CYGPATH_W) 'src/config/ConfigurationInterfaces.c'; else $(CYGPATH_W) '$(srcdir)/src/config/ConfigurationInterfaces.c'; fi` + +src/config/shotwell-GSettingsEngine.o: src/config/GSettingsEngine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/config/shotwell-GSettingsEngine.o -MD -MP -MF src/config/$(DEPDIR)/shotwell-GSettingsEngine.Tpo -c -o src/config/shotwell-GSettingsEngine.o `test -f 'src/config/GSettingsEngine.c' || echo '$(srcdir)/'`src/config/GSettingsEngine.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/config/$(DEPDIR)/shotwell-GSettingsEngine.Tpo src/config/$(DEPDIR)/shotwell-GSettingsEngine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/config/GSettingsEngine.c' object='src/config/shotwell-GSettingsEngine.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/config/shotwell-GSettingsEngine.o `test -f 'src/config/GSettingsEngine.c' || echo '$(srcdir)/'`src/config/GSettingsEngine.c + +src/config/shotwell-GSettingsEngine.obj: src/config/GSettingsEngine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/config/shotwell-GSettingsEngine.obj -MD -MP -MF src/config/$(DEPDIR)/shotwell-GSettingsEngine.Tpo -c -o src/config/shotwell-GSettingsEngine.obj `if test -f 'src/config/GSettingsEngine.c'; then $(CYGPATH_W) 'src/config/GSettingsEngine.c'; else $(CYGPATH_W) '$(srcdir)/src/config/GSettingsEngine.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/config/$(DEPDIR)/shotwell-GSettingsEngine.Tpo src/config/$(DEPDIR)/shotwell-GSettingsEngine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/config/GSettingsEngine.c' object='src/config/shotwell-GSettingsEngine.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/config/shotwell-GSettingsEngine.obj `if test -f 'src/config/GSettingsEngine.c'; then $(CYGPATH_W) 'src/config/GSettingsEngine.c'; else $(CYGPATH_W) '$(srcdir)/src/config/GSettingsEngine.c'; fi` + +src/data_imports/shotwell-DataImports.o: src/data_imports/DataImports.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImports.o -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImports.Tpo -c -o src/data_imports/shotwell-DataImports.o `test -f 'src/data_imports/DataImports.c' || echo '$(srcdir)/'`src/data_imports/DataImports.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImports.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImports.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImports.c' object='src/data_imports/shotwell-DataImports.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImports.o `test -f 'src/data_imports/DataImports.c' || echo '$(srcdir)/'`src/data_imports/DataImports.c + +src/data_imports/shotwell-DataImports.obj: src/data_imports/DataImports.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImports.obj -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImports.Tpo -c -o src/data_imports/shotwell-DataImports.obj `if test -f 'src/data_imports/DataImports.c'; then $(CYGPATH_W) 'src/data_imports/DataImports.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImports.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImports.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImports.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImports.c' object='src/data_imports/shotwell-DataImports.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImports.obj `if test -f 'src/data_imports/DataImports.c'; then $(CYGPATH_W) 'src/data_imports/DataImports.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImports.c'; fi` + +src/data_imports/shotwell-DataImportsPluginHost.o: src/data_imports/DataImportsPluginHost.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportsPluginHost.o -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportsPluginHost.Tpo -c -o src/data_imports/shotwell-DataImportsPluginHost.o `test -f 'src/data_imports/DataImportsPluginHost.c' || echo '$(srcdir)/'`src/data_imports/DataImportsPluginHost.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportsPluginHost.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportsPluginHost.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportsPluginHost.c' object='src/data_imports/shotwell-DataImportsPluginHost.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportsPluginHost.o `test -f 'src/data_imports/DataImportsPluginHost.c' || echo '$(srcdir)/'`src/data_imports/DataImportsPluginHost.c + +src/data_imports/shotwell-DataImportsPluginHost.obj: src/data_imports/DataImportsPluginHost.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportsPluginHost.obj -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportsPluginHost.Tpo -c -o src/data_imports/shotwell-DataImportsPluginHost.obj `if test -f 'src/data_imports/DataImportsPluginHost.c'; then $(CYGPATH_W) 'src/data_imports/DataImportsPluginHost.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportsPluginHost.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportsPluginHost.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportsPluginHost.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportsPluginHost.c' object='src/data_imports/shotwell-DataImportsPluginHost.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportsPluginHost.obj `if test -f 'src/data_imports/DataImportsPluginHost.c'; then $(CYGPATH_W) 'src/data_imports/DataImportsPluginHost.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportsPluginHost.c'; fi` + +src/data_imports/shotwell-DataImportsUI.o: src/data_imports/DataImportsUI.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportsUI.o -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportsUI.Tpo -c -o src/data_imports/shotwell-DataImportsUI.o `test -f 'src/data_imports/DataImportsUI.c' || echo '$(srcdir)/'`src/data_imports/DataImportsUI.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportsUI.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportsUI.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportsUI.c' object='src/data_imports/shotwell-DataImportsUI.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportsUI.o `test -f 'src/data_imports/DataImportsUI.c' || echo '$(srcdir)/'`src/data_imports/DataImportsUI.c + +src/data_imports/shotwell-DataImportsUI.obj: src/data_imports/DataImportsUI.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportsUI.obj -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportsUI.Tpo -c -o src/data_imports/shotwell-DataImportsUI.obj `if test -f 'src/data_imports/DataImportsUI.c'; then $(CYGPATH_W) 'src/data_imports/DataImportsUI.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportsUI.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportsUI.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportsUI.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportsUI.c' object='src/data_imports/shotwell-DataImportsUI.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportsUI.obj `if test -f 'src/data_imports/DataImportsUI.c'; then $(CYGPATH_W) 'src/data_imports/DataImportsUI.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportsUI.c'; fi` + +src/data_imports/shotwell-DataImportJob.o: src/data_imports/DataImportJob.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportJob.o -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportJob.Tpo -c -o src/data_imports/shotwell-DataImportJob.o `test -f 'src/data_imports/DataImportJob.c' || echo '$(srcdir)/'`src/data_imports/DataImportJob.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportJob.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportJob.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportJob.c' object='src/data_imports/shotwell-DataImportJob.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportJob.o `test -f 'src/data_imports/DataImportJob.c' || echo '$(srcdir)/'`src/data_imports/DataImportJob.c + +src/data_imports/shotwell-DataImportJob.obj: src/data_imports/DataImportJob.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportJob.obj -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportJob.Tpo -c -o src/data_imports/shotwell-DataImportJob.obj `if test -f 'src/data_imports/DataImportJob.c'; then $(CYGPATH_W) 'src/data_imports/DataImportJob.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportJob.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportJob.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportJob.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportJob.c' object='src/data_imports/shotwell-DataImportJob.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportJob.obj `if test -f 'src/data_imports/DataImportJob.c'; then $(CYGPATH_W) 'src/data_imports/DataImportJob.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportJob.c'; fi` + +src/data_imports/shotwell-DataImportSource.o: src/data_imports/DataImportSource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportSource.o -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportSource.Tpo -c -o src/data_imports/shotwell-DataImportSource.o `test -f 'src/data_imports/DataImportSource.c' || echo '$(srcdir)/'`src/data_imports/DataImportSource.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportSource.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportSource.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportSource.c' object='src/data_imports/shotwell-DataImportSource.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportSource.o `test -f 'src/data_imports/DataImportSource.c' || echo '$(srcdir)/'`src/data_imports/DataImportSource.c + +src/data_imports/shotwell-DataImportSource.obj: src/data_imports/DataImportSource.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/data_imports/shotwell-DataImportSource.obj -MD -MP -MF src/data_imports/$(DEPDIR)/shotwell-DataImportSource.Tpo -c -o src/data_imports/shotwell-DataImportSource.obj `if test -f 'src/data_imports/DataImportSource.c'; then $(CYGPATH_W) 'src/data_imports/DataImportSource.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportSource.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/data_imports/$(DEPDIR)/shotwell-DataImportSource.Tpo src/data_imports/$(DEPDIR)/shotwell-DataImportSource.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/data_imports/DataImportSource.c' object='src/data_imports/shotwell-DataImportSource.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/data_imports/shotwell-DataImportSource.obj `if test -f 'src/data_imports/DataImportSource.c'; then $(CYGPATH_W) 'src/data_imports/DataImportSource.c'; else $(CYGPATH_W) '$(srcdir)/src/data_imports/DataImportSource.c'; fi` + +src/folders/shotwell-Folders.o: src/folders/Folders.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/folders/shotwell-Folders.o -MD -MP -MF src/folders/$(DEPDIR)/shotwell-Folders.Tpo -c -o src/folders/shotwell-Folders.o `test -f 'src/folders/Folders.c' || echo '$(srcdir)/'`src/folders/Folders.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/folders/$(DEPDIR)/shotwell-Folders.Tpo src/folders/$(DEPDIR)/shotwell-Folders.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/folders/Folders.c' object='src/folders/shotwell-Folders.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/folders/shotwell-Folders.o `test -f 'src/folders/Folders.c' || echo '$(srcdir)/'`src/folders/Folders.c + +src/folders/shotwell-Folders.obj: src/folders/Folders.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/folders/shotwell-Folders.obj -MD -MP -MF src/folders/$(DEPDIR)/shotwell-Folders.Tpo -c -o src/folders/shotwell-Folders.obj `if test -f 'src/folders/Folders.c'; then $(CYGPATH_W) 'src/folders/Folders.c'; else $(CYGPATH_W) '$(srcdir)/src/folders/Folders.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/folders/$(DEPDIR)/shotwell-Folders.Tpo src/folders/$(DEPDIR)/shotwell-Folders.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/folders/Folders.c' object='src/folders/shotwell-Folders.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/folders/shotwell-Folders.obj `if test -f 'src/folders/Folders.c'; then $(CYGPATH_W) 'src/folders/Folders.c'; else $(CYGPATH_W) '$(srcdir)/src/folders/Folders.c'; fi` + +src/folders/shotwell-Branch.o: src/folders/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/folders/shotwell-Branch.o -MD -MP -MF src/folders/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/folders/shotwell-Branch.o `test -f 'src/folders/Branch.c' || echo '$(srcdir)/'`src/folders/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/folders/$(DEPDIR)/shotwell-Branch.Tpo src/folders/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/folders/Branch.c' object='src/folders/shotwell-Branch.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/folders/shotwell-Branch.o `test -f 'src/folders/Branch.c' || echo '$(srcdir)/'`src/folders/Branch.c + +src/folders/shotwell-Branch.obj: src/folders/Branch.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/folders/shotwell-Branch.obj -MD -MP -MF src/folders/$(DEPDIR)/shotwell-Branch.Tpo -c -o src/folders/shotwell-Branch.obj `if test -f 'src/folders/Branch.c'; then $(CYGPATH_W) 'src/folders/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/folders/Branch.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/folders/$(DEPDIR)/shotwell-Branch.Tpo src/folders/$(DEPDIR)/shotwell-Branch.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/folders/Branch.c' object='src/folders/shotwell-Branch.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/folders/shotwell-Branch.obj `if test -f 'src/folders/Branch.c'; then $(CYGPATH_W) 'src/folders/Branch.c'; else $(CYGPATH_W) '$(srcdir)/src/folders/Branch.c'; fi` + +src/folders/shotwell-Page.o: src/folders/Page.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/folders/shotwell-Page.o -MD -MP -MF src/folders/$(DEPDIR)/shotwell-Page.Tpo -c -o src/folders/shotwell-Page.o `test -f 'src/folders/Page.c' || echo '$(srcdir)/'`src/folders/Page.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/folders/$(DEPDIR)/shotwell-Page.Tpo src/folders/$(DEPDIR)/shotwell-Page.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/folders/Page.c' object='src/folders/shotwell-Page.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/folders/shotwell-Page.o `test -f 'src/folders/Page.c' || echo '$(srcdir)/'`src/folders/Page.c + +src/folders/shotwell-Page.obj: src/folders/Page.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/folders/shotwell-Page.obj -MD -MP -MF src/folders/$(DEPDIR)/shotwell-Page.Tpo -c -o src/folders/shotwell-Page.obj `if test -f 'src/folders/Page.c'; then $(CYGPATH_W) 'src/folders/Page.c'; else $(CYGPATH_W) '$(srcdir)/src/folders/Page.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/folders/$(DEPDIR)/shotwell-Page.Tpo src/folders/$(DEPDIR)/shotwell-Page.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/folders/Page.c' object='src/folders/shotwell-Page.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/folders/shotwell-Page.obj `if test -f 'src/folders/Page.c'; then $(CYGPATH_W) 'src/folders/Page.c'; else $(CYGPATH_W) '$(srcdir)/src/folders/Page.c'; fi` + +src/shotwell-main.o: src/main.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-main.o -MD -MP -MF src/$(DEPDIR)/shotwell-main.Tpo -c -o src/shotwell-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-main.Tpo src/$(DEPDIR)/shotwell-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/main.c' object='src/shotwell-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c + +src/shotwell-main.obj: src/main.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-main.obj -MD -MP -MF src/$(DEPDIR)/shotwell-main.Tpo -c -o src/shotwell-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-main.Tpo src/$(DEPDIR)/shotwell-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/main.c' object='src/shotwell-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi` + +src/shotwell-AppWindow.o: src/AppWindow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-AppWindow.o -MD -MP -MF src/$(DEPDIR)/shotwell-AppWindow.Tpo -c -o src/shotwell-AppWindow.o `test -f 'src/AppWindow.c' || echo '$(srcdir)/'`src/AppWindow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-AppWindow.Tpo src/$(DEPDIR)/shotwell-AppWindow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/AppWindow.c' object='src/shotwell-AppWindow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-AppWindow.o `test -f 'src/AppWindow.c' || echo '$(srcdir)/'`src/AppWindow.c + +src/shotwell-AppWindow.obj: src/AppWindow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-AppWindow.obj -MD -MP -MF src/$(DEPDIR)/shotwell-AppWindow.Tpo -c -o src/shotwell-AppWindow.obj `if test -f 'src/AppWindow.c'; then $(CYGPATH_W) 'src/AppWindow.c'; else $(CYGPATH_W) '$(srcdir)/src/AppWindow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-AppWindow.Tpo src/$(DEPDIR)/shotwell-AppWindow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/AppWindow.c' object='src/shotwell-AppWindow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-AppWindow.obj `if test -f 'src/AppWindow.c'; then $(CYGPATH_W) 'src/AppWindow.c'; else $(CYGPATH_W) '$(srcdir)/src/AppWindow.c'; fi` + +src/shotwell-CollectionPage.o: src/CollectionPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CollectionPage.o -MD -MP -MF src/$(DEPDIR)/shotwell-CollectionPage.Tpo -c -o src/shotwell-CollectionPage.o `test -f 'src/CollectionPage.c' || echo '$(srcdir)/'`src/CollectionPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CollectionPage.Tpo src/$(DEPDIR)/shotwell-CollectionPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CollectionPage.c' object='src/shotwell-CollectionPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CollectionPage.o `test -f 'src/CollectionPage.c' || echo '$(srcdir)/'`src/CollectionPage.c + +src/shotwell-CollectionPage.obj: src/CollectionPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CollectionPage.obj -MD -MP -MF src/$(DEPDIR)/shotwell-CollectionPage.Tpo -c -o src/shotwell-CollectionPage.obj `if test -f 'src/CollectionPage.c'; then $(CYGPATH_W) 'src/CollectionPage.c'; else $(CYGPATH_W) '$(srcdir)/src/CollectionPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CollectionPage.Tpo src/$(DEPDIR)/shotwell-CollectionPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CollectionPage.c' object='src/shotwell-CollectionPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CollectionPage.obj `if test -f 'src/CollectionPage.c'; then $(CYGPATH_W) 'src/CollectionPage.c'; else $(CYGPATH_W) '$(srcdir)/src/CollectionPage.c'; fi` + +src/shotwell-NaturalCollate.o: src/NaturalCollate.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-NaturalCollate.o -MD -MP -MF src/$(DEPDIR)/shotwell-NaturalCollate.Tpo -c -o src/shotwell-NaturalCollate.o `test -f 'src/NaturalCollate.c' || echo '$(srcdir)/'`src/NaturalCollate.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-NaturalCollate.Tpo src/$(DEPDIR)/shotwell-NaturalCollate.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/NaturalCollate.c' object='src/shotwell-NaturalCollate.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-NaturalCollate.o `test -f 'src/NaturalCollate.c' || echo '$(srcdir)/'`src/NaturalCollate.c + +src/shotwell-NaturalCollate.obj: src/NaturalCollate.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-NaturalCollate.obj -MD -MP -MF src/$(DEPDIR)/shotwell-NaturalCollate.Tpo -c -o src/shotwell-NaturalCollate.obj `if test -f 'src/NaturalCollate.c'; then $(CYGPATH_W) 'src/NaturalCollate.c'; else $(CYGPATH_W) '$(srcdir)/src/NaturalCollate.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-NaturalCollate.Tpo src/$(DEPDIR)/shotwell-NaturalCollate.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/NaturalCollate.c' object='src/shotwell-NaturalCollate.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-NaturalCollate.obj `if test -f 'src/NaturalCollate.c'; then $(CYGPATH_W) 'src/NaturalCollate.c'; else $(CYGPATH_W) '$(srcdir)/src/NaturalCollate.c'; fi` + +src/shotwell-Thumbnail.o: src/Thumbnail.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Thumbnail.o -MD -MP -MF src/$(DEPDIR)/shotwell-Thumbnail.Tpo -c -o src/shotwell-Thumbnail.o `test -f 'src/Thumbnail.c' || echo '$(srcdir)/'`src/Thumbnail.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Thumbnail.Tpo src/$(DEPDIR)/shotwell-Thumbnail.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Thumbnail.c' object='src/shotwell-Thumbnail.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Thumbnail.o `test -f 'src/Thumbnail.c' || echo '$(srcdir)/'`src/Thumbnail.c + +src/shotwell-Thumbnail.obj: src/Thumbnail.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Thumbnail.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Thumbnail.Tpo -c -o src/shotwell-Thumbnail.obj `if test -f 'src/Thumbnail.c'; then $(CYGPATH_W) 'src/Thumbnail.c'; else $(CYGPATH_W) '$(srcdir)/src/Thumbnail.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Thumbnail.Tpo src/$(DEPDIR)/shotwell-Thumbnail.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Thumbnail.c' object='src/shotwell-Thumbnail.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Thumbnail.obj `if test -f 'src/Thumbnail.c'; then $(CYGPATH_W) 'src/Thumbnail.c'; else $(CYGPATH_W) '$(srcdir)/src/Thumbnail.c'; fi` + +src/shotwell-ThumbnailCache.o: src/ThumbnailCache.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-ThumbnailCache.o -MD -MP -MF src/$(DEPDIR)/shotwell-ThumbnailCache.Tpo -c -o src/shotwell-ThumbnailCache.o `test -f 'src/ThumbnailCache.c' || echo '$(srcdir)/'`src/ThumbnailCache.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-ThumbnailCache.Tpo src/$(DEPDIR)/shotwell-ThumbnailCache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ThumbnailCache.c' object='src/shotwell-ThumbnailCache.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-ThumbnailCache.o `test -f 'src/ThumbnailCache.c' || echo '$(srcdir)/'`src/ThumbnailCache.c + +src/shotwell-ThumbnailCache.obj: src/ThumbnailCache.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-ThumbnailCache.obj -MD -MP -MF src/$(DEPDIR)/shotwell-ThumbnailCache.Tpo -c -o src/shotwell-ThumbnailCache.obj `if test -f 'src/ThumbnailCache.c'; then $(CYGPATH_W) 'src/ThumbnailCache.c'; else $(CYGPATH_W) '$(srcdir)/src/ThumbnailCache.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-ThumbnailCache.Tpo src/$(DEPDIR)/shotwell-ThumbnailCache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ThumbnailCache.c' object='src/shotwell-ThumbnailCache.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-ThumbnailCache.obj `if test -f 'src/ThumbnailCache.c'; then $(CYGPATH_W) 'src/ThumbnailCache.c'; else $(CYGPATH_W) '$(srcdir)/src/ThumbnailCache.c'; fi` + +src/shotwell-CheckerboardLayout.o: src/CheckerboardLayout.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CheckerboardLayout.o -MD -MP -MF src/$(DEPDIR)/shotwell-CheckerboardLayout.Tpo -c -o src/shotwell-CheckerboardLayout.o `test -f 'src/CheckerboardLayout.c' || echo '$(srcdir)/'`src/CheckerboardLayout.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CheckerboardLayout.Tpo src/$(DEPDIR)/shotwell-CheckerboardLayout.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CheckerboardLayout.c' object='src/shotwell-CheckerboardLayout.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CheckerboardLayout.o `test -f 'src/CheckerboardLayout.c' || echo '$(srcdir)/'`src/CheckerboardLayout.c + +src/shotwell-CheckerboardLayout.obj: src/CheckerboardLayout.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CheckerboardLayout.obj -MD -MP -MF src/$(DEPDIR)/shotwell-CheckerboardLayout.Tpo -c -o src/shotwell-CheckerboardLayout.obj `if test -f 'src/CheckerboardLayout.c'; then $(CYGPATH_W) 'src/CheckerboardLayout.c'; else $(CYGPATH_W) '$(srcdir)/src/CheckerboardLayout.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CheckerboardLayout.Tpo src/$(DEPDIR)/shotwell-CheckerboardLayout.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CheckerboardLayout.c' object='src/shotwell-CheckerboardLayout.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CheckerboardLayout.obj `if test -f 'src/CheckerboardLayout.c'; then $(CYGPATH_W) 'src/CheckerboardLayout.c'; else $(CYGPATH_W) '$(srcdir)/src/CheckerboardLayout.c'; fi` + +src/shotwell-PhotoPage.o: src/PhotoPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-PhotoPage.o -MD -MP -MF src/$(DEPDIR)/shotwell-PhotoPage.Tpo -c -o src/shotwell-PhotoPage.o `test -f 'src/PhotoPage.c' || echo '$(srcdir)/'`src/PhotoPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-PhotoPage.Tpo src/$(DEPDIR)/shotwell-PhotoPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/PhotoPage.c' object='src/shotwell-PhotoPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-PhotoPage.o `test -f 'src/PhotoPage.c' || echo '$(srcdir)/'`src/PhotoPage.c + +src/shotwell-PhotoPage.obj: src/PhotoPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-PhotoPage.obj -MD -MP -MF src/$(DEPDIR)/shotwell-PhotoPage.Tpo -c -o src/shotwell-PhotoPage.obj `if test -f 'src/PhotoPage.c'; then $(CYGPATH_W) 'src/PhotoPage.c'; else $(CYGPATH_W) '$(srcdir)/src/PhotoPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-PhotoPage.Tpo src/$(DEPDIR)/shotwell-PhotoPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/PhotoPage.c' object='src/shotwell-PhotoPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-PhotoPage.obj `if test -f 'src/PhotoPage.c'; then $(CYGPATH_W) 'src/PhotoPage.c'; else $(CYGPATH_W) '$(srcdir)/src/PhotoPage.c'; fi` + +src/shotwell-Page.o: src/Page.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Page.o -MD -MP -MF src/$(DEPDIR)/shotwell-Page.Tpo -c -o src/shotwell-Page.o `test -f 'src/Page.c' || echo '$(srcdir)/'`src/Page.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Page.Tpo src/$(DEPDIR)/shotwell-Page.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Page.c' object='src/shotwell-Page.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Page.o `test -f 'src/Page.c' || echo '$(srcdir)/'`src/Page.c + +src/shotwell-Page.obj: src/Page.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Page.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Page.Tpo -c -o src/shotwell-Page.obj `if test -f 'src/Page.c'; then $(CYGPATH_W) 'src/Page.c'; else $(CYGPATH_W) '$(srcdir)/src/Page.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Page.Tpo src/$(DEPDIR)/shotwell-Page.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Page.c' object='src/shotwell-Page.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Page.obj `if test -f 'src/Page.c'; then $(CYGPATH_W) 'src/Page.c'; else $(CYGPATH_W) '$(srcdir)/src/Page.c'; fi` + +src/shotwell-SortedList.o: src/SortedList.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-SortedList.o -MD -MP -MF src/$(DEPDIR)/shotwell-SortedList.Tpo -c -o src/shotwell-SortedList.o `test -f 'src/SortedList.c' || echo '$(srcdir)/'`src/SortedList.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-SortedList.Tpo src/$(DEPDIR)/shotwell-SortedList.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/SortedList.c' object='src/shotwell-SortedList.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-SortedList.o `test -f 'src/SortedList.c' || echo '$(srcdir)/'`src/SortedList.c + +src/shotwell-SortedList.obj: src/SortedList.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-SortedList.obj -MD -MP -MF src/$(DEPDIR)/shotwell-SortedList.Tpo -c -o src/shotwell-SortedList.obj `if test -f 'src/SortedList.c'; then $(CYGPATH_W) 'src/SortedList.c'; else $(CYGPATH_W) '$(srcdir)/src/SortedList.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-SortedList.Tpo src/$(DEPDIR)/shotwell-SortedList.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/SortedList.c' object='src/shotwell-SortedList.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-SortedList.obj `if test -f 'src/SortedList.c'; then $(CYGPATH_W) 'src/SortedList.c'; else $(CYGPATH_W) '$(srcdir)/src/SortedList.c'; fi` + +src/shotwell-Dimensions.o: src/Dimensions.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Dimensions.o -MD -MP -MF src/$(DEPDIR)/shotwell-Dimensions.Tpo -c -o src/shotwell-Dimensions.o `test -f 'src/Dimensions.c' || echo '$(srcdir)/'`src/Dimensions.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Dimensions.Tpo src/$(DEPDIR)/shotwell-Dimensions.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Dimensions.c' object='src/shotwell-Dimensions.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Dimensions.o `test -f 'src/Dimensions.c' || echo '$(srcdir)/'`src/Dimensions.c + +src/shotwell-Dimensions.obj: src/Dimensions.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Dimensions.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Dimensions.Tpo -c -o src/shotwell-Dimensions.obj `if test -f 'src/Dimensions.c'; then $(CYGPATH_W) 'src/Dimensions.c'; else $(CYGPATH_W) '$(srcdir)/src/Dimensions.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Dimensions.Tpo src/$(DEPDIR)/shotwell-Dimensions.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Dimensions.c' object='src/shotwell-Dimensions.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Dimensions.obj `if test -f 'src/Dimensions.c'; then $(CYGPATH_W) 'src/Dimensions.c'; else $(CYGPATH_W) '$(srcdir)/src/Dimensions.c'; fi` + +src/shotwell-Box.o: src/Box.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Box.o -MD -MP -MF src/$(DEPDIR)/shotwell-Box.Tpo -c -o src/shotwell-Box.o `test -f 'src/Box.c' || echo '$(srcdir)/'`src/Box.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Box.Tpo src/$(DEPDIR)/shotwell-Box.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Box.c' object='src/shotwell-Box.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Box.o `test -f 'src/Box.c' || echo '$(srcdir)/'`src/Box.c + +src/shotwell-Box.obj: src/Box.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Box.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Box.Tpo -c -o src/shotwell-Box.obj `if test -f 'src/Box.c'; then $(CYGPATH_W) 'src/Box.c'; else $(CYGPATH_W) '$(srcdir)/src/Box.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Box.Tpo src/$(DEPDIR)/shotwell-Box.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Box.c' object='src/shotwell-Box.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Box.obj `if test -f 'src/Box.c'; then $(CYGPATH_W) 'src/Box.c'; else $(CYGPATH_W) '$(srcdir)/src/Box.c'; fi` + +src/shotwell-Photo.o: src/Photo.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Photo.o -MD -MP -MF src/$(DEPDIR)/shotwell-Photo.Tpo -c -o src/shotwell-Photo.o `test -f 'src/Photo.c' || echo '$(srcdir)/'`src/Photo.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Photo.Tpo src/$(DEPDIR)/shotwell-Photo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Photo.c' object='src/shotwell-Photo.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Photo.o `test -f 'src/Photo.c' || echo '$(srcdir)/'`src/Photo.c + +src/shotwell-Photo.obj: src/Photo.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Photo.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Photo.Tpo -c -o src/shotwell-Photo.obj `if test -f 'src/Photo.c'; then $(CYGPATH_W) 'src/Photo.c'; else $(CYGPATH_W) '$(srcdir)/src/Photo.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Photo.Tpo src/$(DEPDIR)/shotwell-Photo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Photo.c' object='src/shotwell-Photo.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Photo.obj `if test -f 'src/Photo.c'; then $(CYGPATH_W) 'src/Photo.c'; else $(CYGPATH_W) '$(srcdir)/src/Photo.c'; fi` + +src/shotwell-Orientation.o: src/Orientation.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Orientation.o -MD -MP -MF src/$(DEPDIR)/shotwell-Orientation.Tpo -c -o src/shotwell-Orientation.o `test -f 'src/Orientation.c' || echo '$(srcdir)/'`src/Orientation.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Orientation.Tpo src/$(DEPDIR)/shotwell-Orientation.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Orientation.c' object='src/shotwell-Orientation.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Orientation.o `test -f 'src/Orientation.c' || echo '$(srcdir)/'`src/Orientation.c + +src/shotwell-Orientation.obj: src/Orientation.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Orientation.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Orientation.Tpo -c -o src/shotwell-Orientation.obj `if test -f 'src/Orientation.c'; then $(CYGPATH_W) 'src/Orientation.c'; else $(CYGPATH_W) '$(srcdir)/src/Orientation.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Orientation.Tpo src/$(DEPDIR)/shotwell-Orientation.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Orientation.c' object='src/shotwell-Orientation.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Orientation.obj `if test -f 'src/Orientation.c'; then $(CYGPATH_W) 'src/Orientation.c'; else $(CYGPATH_W) '$(srcdir)/src/Orientation.c'; fi` + +src/shotwell-BatchImport.o: src/BatchImport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-BatchImport.o -MD -MP -MF src/$(DEPDIR)/shotwell-BatchImport.Tpo -c -o src/shotwell-BatchImport.o `test -f 'src/BatchImport.c' || echo '$(srcdir)/'`src/BatchImport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-BatchImport.Tpo src/$(DEPDIR)/shotwell-BatchImport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/BatchImport.c' object='src/shotwell-BatchImport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-BatchImport.o `test -f 'src/BatchImport.c' || echo '$(srcdir)/'`src/BatchImport.c + +src/shotwell-BatchImport.obj: src/BatchImport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-BatchImport.obj -MD -MP -MF src/$(DEPDIR)/shotwell-BatchImport.Tpo -c -o src/shotwell-BatchImport.obj `if test -f 'src/BatchImport.c'; then $(CYGPATH_W) 'src/BatchImport.c'; else $(CYGPATH_W) '$(srcdir)/src/BatchImport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-BatchImport.Tpo src/$(DEPDIR)/shotwell-BatchImport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/BatchImport.c' object='src/shotwell-BatchImport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-BatchImport.obj `if test -f 'src/BatchImport.c'; then $(CYGPATH_W) 'src/BatchImport.c'; else $(CYGPATH_W) '$(srcdir)/src/BatchImport.c'; fi` + +src/shotwell-Dialogs.o: src/Dialogs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Dialogs.o -MD -MP -MF src/$(DEPDIR)/shotwell-Dialogs.Tpo -c -o src/shotwell-Dialogs.o `test -f 'src/Dialogs.c' || echo '$(srcdir)/'`src/Dialogs.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Dialogs.Tpo src/$(DEPDIR)/shotwell-Dialogs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Dialogs.c' object='src/shotwell-Dialogs.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Dialogs.o `test -f 'src/Dialogs.c' || echo '$(srcdir)/'`src/Dialogs.c + +src/shotwell-Dialogs.obj: src/Dialogs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Dialogs.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Dialogs.Tpo -c -o src/shotwell-Dialogs.obj `if test -f 'src/Dialogs.c'; then $(CYGPATH_W) 'src/Dialogs.c'; else $(CYGPATH_W) '$(srcdir)/src/Dialogs.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Dialogs.Tpo src/$(DEPDIR)/shotwell-Dialogs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Dialogs.c' object='src/shotwell-Dialogs.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Dialogs.obj `if test -f 'src/Dialogs.c'; then $(CYGPATH_W) 'src/Dialogs.c'; else $(CYGPATH_W) '$(srcdir)/src/Dialogs.c'; fi` + +src/shotwell-Resources.o: src/Resources.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Resources.o -MD -MP -MF src/$(DEPDIR)/shotwell-Resources.Tpo -c -o src/shotwell-Resources.o `test -f 'src/Resources.c' || echo '$(srcdir)/'`src/Resources.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Resources.Tpo src/$(DEPDIR)/shotwell-Resources.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Resources.c' object='src/shotwell-Resources.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Resources.o `test -f 'src/Resources.c' || echo '$(srcdir)/'`src/Resources.c + +src/shotwell-Resources.obj: src/Resources.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Resources.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Resources.Tpo -c -o src/shotwell-Resources.obj `if test -f 'src/Resources.c'; then $(CYGPATH_W) 'src/Resources.c'; else $(CYGPATH_W) '$(srcdir)/src/Resources.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Resources.Tpo src/$(DEPDIR)/shotwell-Resources.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Resources.c' object='src/shotwell-Resources.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Resources.obj `if test -f 'src/Resources.c'; then $(CYGPATH_W) 'src/Resources.c'; else $(CYGPATH_W) '$(srcdir)/src/Resources.c'; fi` + +src/shotwell-Debug.o: src/Debug.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Debug.o -MD -MP -MF src/$(DEPDIR)/shotwell-Debug.Tpo -c -o src/shotwell-Debug.o `test -f 'src/Debug.c' || echo '$(srcdir)/'`src/Debug.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Debug.Tpo src/$(DEPDIR)/shotwell-Debug.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Debug.c' object='src/shotwell-Debug.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Debug.o `test -f 'src/Debug.c' || echo '$(srcdir)/'`src/Debug.c + +src/shotwell-Debug.obj: src/Debug.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Debug.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Debug.Tpo -c -o src/shotwell-Debug.obj `if test -f 'src/Debug.c'; then $(CYGPATH_W) 'src/Debug.c'; else $(CYGPATH_W) '$(srcdir)/src/Debug.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Debug.Tpo src/$(DEPDIR)/shotwell-Debug.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Debug.c' object='src/shotwell-Debug.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Debug.obj `if test -f 'src/Debug.c'; then $(CYGPATH_W) 'src/Debug.c'; else $(CYGPATH_W) '$(srcdir)/src/Debug.c'; fi` + +src/shotwell-ColorTransformation.o: src/ColorTransformation.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-ColorTransformation.o -MD -MP -MF src/$(DEPDIR)/shotwell-ColorTransformation.Tpo -c -o src/shotwell-ColorTransformation.o `test -f 'src/ColorTransformation.c' || echo '$(srcdir)/'`src/ColorTransformation.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-ColorTransformation.Tpo src/$(DEPDIR)/shotwell-ColorTransformation.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ColorTransformation.c' object='src/shotwell-ColorTransformation.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-ColorTransformation.o `test -f 'src/ColorTransformation.c' || echo '$(srcdir)/'`src/ColorTransformation.c + +src/shotwell-ColorTransformation.obj: src/ColorTransformation.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-ColorTransformation.obj -MD -MP -MF src/$(DEPDIR)/shotwell-ColorTransformation.Tpo -c -o src/shotwell-ColorTransformation.obj `if test -f 'src/ColorTransformation.c'; then $(CYGPATH_W) 'src/ColorTransformation.c'; else $(CYGPATH_W) '$(srcdir)/src/ColorTransformation.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-ColorTransformation.Tpo src/$(DEPDIR)/shotwell-ColorTransformation.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ColorTransformation.c' object='src/shotwell-ColorTransformation.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-ColorTransformation.obj `if test -f 'src/ColorTransformation.c'; then $(CYGPATH_W) 'src/ColorTransformation.c'; else $(CYGPATH_W) '$(srcdir)/src/ColorTransformation.c'; fi` + +src/shotwell-Properties.o: src/Properties.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Properties.o -MD -MP -MF src/$(DEPDIR)/shotwell-Properties.Tpo -c -o src/shotwell-Properties.o `test -f 'src/Properties.c' || echo '$(srcdir)/'`src/Properties.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Properties.Tpo src/$(DEPDIR)/shotwell-Properties.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Properties.c' object='src/shotwell-Properties.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Properties.o `test -f 'src/Properties.c' || echo '$(srcdir)/'`src/Properties.c + +src/shotwell-Properties.obj: src/Properties.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Properties.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Properties.Tpo -c -o src/shotwell-Properties.obj `if test -f 'src/Properties.c'; then $(CYGPATH_W) 'src/Properties.c'; else $(CYGPATH_W) '$(srcdir)/src/Properties.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Properties.Tpo src/$(DEPDIR)/shotwell-Properties.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Properties.c' object='src/shotwell-Properties.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Properties.obj `if test -f 'src/Properties.c'; then $(CYGPATH_W) 'src/Properties.c'; else $(CYGPATH_W) '$(srcdir)/src/Properties.c'; fi` + +src/shotwell-CustomComponents.o: src/CustomComponents.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CustomComponents.o -MD -MP -MF src/$(DEPDIR)/shotwell-CustomComponents.Tpo -c -o src/shotwell-CustomComponents.o `test -f 'src/CustomComponents.c' || echo '$(srcdir)/'`src/CustomComponents.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CustomComponents.Tpo src/$(DEPDIR)/shotwell-CustomComponents.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CustomComponents.c' object='src/shotwell-CustomComponents.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CustomComponents.o `test -f 'src/CustomComponents.c' || echo '$(srcdir)/'`src/CustomComponents.c + +src/shotwell-CustomComponents.obj: src/CustomComponents.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CustomComponents.obj -MD -MP -MF src/$(DEPDIR)/shotwell-CustomComponents.Tpo -c -o src/shotwell-CustomComponents.obj `if test -f 'src/CustomComponents.c'; then $(CYGPATH_W) 'src/CustomComponents.c'; else $(CYGPATH_W) '$(srcdir)/src/CustomComponents.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CustomComponents.Tpo src/$(DEPDIR)/shotwell-CustomComponents.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CustomComponents.c' object='src/shotwell-CustomComponents.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CustomComponents.obj `if test -f 'src/CustomComponents.c'; then $(CYGPATH_W) 'src/CustomComponents.c'; else $(CYGPATH_W) '$(srcdir)/src/CustomComponents.c'; fi` + +src/shotwell-Event.o: src/Event.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Event.o -MD -MP -MF src/$(DEPDIR)/shotwell-Event.Tpo -c -o src/shotwell-Event.o `test -f 'src/Event.c' || echo '$(srcdir)/'`src/Event.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Event.Tpo src/$(DEPDIR)/shotwell-Event.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Event.c' object='src/shotwell-Event.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Event.o `test -f 'src/Event.c' || echo '$(srcdir)/'`src/Event.c + +src/shotwell-Event.obj: src/Event.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Event.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Event.Tpo -c -o src/shotwell-Event.obj `if test -f 'src/Event.c'; then $(CYGPATH_W) 'src/Event.c'; else $(CYGPATH_W) '$(srcdir)/src/Event.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Event.Tpo src/$(DEPDIR)/shotwell-Event.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Event.c' object='src/shotwell-Event.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Event.obj `if test -f 'src/Event.c'; then $(CYGPATH_W) 'src/Event.c'; else $(CYGPATH_W) '$(srcdir)/src/Event.c'; fi` + +src/shotwell-International.o: src/International.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-International.o -MD -MP -MF src/$(DEPDIR)/shotwell-International.Tpo -c -o src/shotwell-International.o `test -f 'src/International.c' || echo '$(srcdir)/'`src/International.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-International.Tpo src/$(DEPDIR)/shotwell-International.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/International.c' object='src/shotwell-International.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-International.o `test -f 'src/International.c' || echo '$(srcdir)/'`src/International.c + +src/shotwell-International.obj: src/International.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-International.obj -MD -MP -MF src/$(DEPDIR)/shotwell-International.Tpo -c -o src/shotwell-International.obj `if test -f 'src/International.c'; then $(CYGPATH_W) 'src/International.c'; else $(CYGPATH_W) '$(srcdir)/src/International.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-International.Tpo src/$(DEPDIR)/shotwell-International.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/International.c' object='src/shotwell-International.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-International.obj `if test -f 'src/International.c'; then $(CYGPATH_W) 'src/International.c'; else $(CYGPATH_W) '$(srcdir)/src/International.c'; fi` + +src/shotwell-AppDirs.o: src/AppDirs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-AppDirs.o -MD -MP -MF src/$(DEPDIR)/shotwell-AppDirs.Tpo -c -o src/shotwell-AppDirs.o `test -f 'src/AppDirs.c' || echo '$(srcdir)/'`src/AppDirs.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-AppDirs.Tpo src/$(DEPDIR)/shotwell-AppDirs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/AppDirs.c' object='src/shotwell-AppDirs.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-AppDirs.o `test -f 'src/AppDirs.c' || echo '$(srcdir)/'`src/AppDirs.c + +src/shotwell-AppDirs.obj: src/AppDirs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-AppDirs.obj -MD -MP -MF src/$(DEPDIR)/shotwell-AppDirs.Tpo -c -o src/shotwell-AppDirs.obj `if test -f 'src/AppDirs.c'; then $(CYGPATH_W) 'src/AppDirs.c'; else $(CYGPATH_W) '$(srcdir)/src/AppDirs.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-AppDirs.Tpo src/$(DEPDIR)/shotwell-AppDirs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/AppDirs.c' object='src/shotwell-AppDirs.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-AppDirs.obj `if test -f 'src/AppDirs.c'; then $(CYGPATH_W) 'src/AppDirs.c'; else $(CYGPATH_W) '$(srcdir)/src/AppDirs.c'; fi` + +src/shotwell-PixbufCache.o: src/PixbufCache.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-PixbufCache.o -MD -MP -MF src/$(DEPDIR)/shotwell-PixbufCache.Tpo -c -o src/shotwell-PixbufCache.o `test -f 'src/PixbufCache.c' || echo '$(srcdir)/'`src/PixbufCache.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-PixbufCache.Tpo src/$(DEPDIR)/shotwell-PixbufCache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/PixbufCache.c' object='src/shotwell-PixbufCache.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-PixbufCache.o `test -f 'src/PixbufCache.c' || echo '$(srcdir)/'`src/PixbufCache.c + +src/shotwell-PixbufCache.obj: src/PixbufCache.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-PixbufCache.obj -MD -MP -MF src/$(DEPDIR)/shotwell-PixbufCache.Tpo -c -o src/shotwell-PixbufCache.obj `if test -f 'src/PixbufCache.c'; then $(CYGPATH_W) 'src/PixbufCache.c'; else $(CYGPATH_W) '$(srcdir)/src/PixbufCache.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-PixbufCache.Tpo src/$(DEPDIR)/shotwell-PixbufCache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/PixbufCache.c' object='src/shotwell-PixbufCache.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-PixbufCache.obj `if test -f 'src/PixbufCache.c'; then $(CYGPATH_W) 'src/PixbufCache.c'; else $(CYGPATH_W) '$(srcdir)/src/PixbufCache.c'; fi` + +src/shotwell-CommandManager.o: src/CommandManager.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CommandManager.o -MD -MP -MF src/$(DEPDIR)/shotwell-CommandManager.Tpo -c -o src/shotwell-CommandManager.o `test -f 'src/CommandManager.c' || echo '$(srcdir)/'`src/CommandManager.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CommandManager.Tpo src/$(DEPDIR)/shotwell-CommandManager.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CommandManager.c' object='src/shotwell-CommandManager.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CommandManager.o `test -f 'src/CommandManager.c' || echo '$(srcdir)/'`src/CommandManager.c + +src/shotwell-CommandManager.obj: src/CommandManager.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-CommandManager.obj -MD -MP -MF src/$(DEPDIR)/shotwell-CommandManager.Tpo -c -o src/shotwell-CommandManager.obj `if test -f 'src/CommandManager.c'; then $(CYGPATH_W) 'src/CommandManager.c'; else $(CYGPATH_W) '$(srcdir)/src/CommandManager.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-CommandManager.Tpo src/$(DEPDIR)/shotwell-CommandManager.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CommandManager.c' object='src/shotwell-CommandManager.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-CommandManager.obj `if test -f 'src/CommandManager.c'; then $(CYGPATH_W) 'src/CommandManager.c'; else $(CYGPATH_W) '$(srcdir)/src/CommandManager.c'; fi` + +src/shotwell-Commands.o: src/Commands.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Commands.o -MD -MP -MF src/$(DEPDIR)/shotwell-Commands.Tpo -c -o src/shotwell-Commands.o `test -f 'src/Commands.c' || echo '$(srcdir)/'`src/Commands.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Commands.Tpo src/$(DEPDIR)/shotwell-Commands.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Commands.c' object='src/shotwell-Commands.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Commands.o `test -f 'src/Commands.c' || echo '$(srcdir)/'`src/Commands.c + +src/shotwell-Commands.obj: src/Commands.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Commands.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Commands.Tpo -c -o src/shotwell-Commands.obj `if test -f 'src/Commands.c'; then $(CYGPATH_W) 'src/Commands.c'; else $(CYGPATH_W) '$(srcdir)/src/Commands.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Commands.Tpo src/$(DEPDIR)/shotwell-Commands.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Commands.c' object='src/shotwell-Commands.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Commands.obj `if test -f 'src/Commands.c'; then $(CYGPATH_W) 'src/Commands.c'; else $(CYGPATH_W) '$(srcdir)/src/Commands.c'; fi` + +src/shotwell-SlideshowPage.o: src/SlideshowPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-SlideshowPage.o -MD -MP -MF src/$(DEPDIR)/shotwell-SlideshowPage.Tpo -c -o src/shotwell-SlideshowPage.o `test -f 'src/SlideshowPage.c' || echo '$(srcdir)/'`src/SlideshowPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-SlideshowPage.Tpo src/$(DEPDIR)/shotwell-SlideshowPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/SlideshowPage.c' object='src/shotwell-SlideshowPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-SlideshowPage.o `test -f 'src/SlideshowPage.c' || echo '$(srcdir)/'`src/SlideshowPage.c + +src/shotwell-SlideshowPage.obj: src/SlideshowPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-SlideshowPage.obj -MD -MP -MF src/$(DEPDIR)/shotwell-SlideshowPage.Tpo -c -o src/shotwell-SlideshowPage.obj `if test -f 'src/SlideshowPage.c'; then $(CYGPATH_W) 'src/SlideshowPage.c'; else $(CYGPATH_W) '$(srcdir)/src/SlideshowPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-SlideshowPage.Tpo src/$(DEPDIR)/shotwell-SlideshowPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/SlideshowPage.c' object='src/shotwell-SlideshowPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-SlideshowPage.obj `if test -f 'src/SlideshowPage.c'; then $(CYGPATH_W) 'src/SlideshowPage.c'; else $(CYGPATH_W) '$(srcdir)/src/SlideshowPage.c'; fi` + +src/shotwell-LibraryFiles.o: src/LibraryFiles.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-LibraryFiles.o -MD -MP -MF src/$(DEPDIR)/shotwell-LibraryFiles.Tpo -c -o src/shotwell-LibraryFiles.o `test -f 'src/LibraryFiles.c' || echo '$(srcdir)/'`src/LibraryFiles.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-LibraryFiles.Tpo src/$(DEPDIR)/shotwell-LibraryFiles.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/LibraryFiles.c' object='src/shotwell-LibraryFiles.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-LibraryFiles.o `test -f 'src/LibraryFiles.c' || echo '$(srcdir)/'`src/LibraryFiles.c + +src/shotwell-LibraryFiles.obj: src/LibraryFiles.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-LibraryFiles.obj -MD -MP -MF src/$(DEPDIR)/shotwell-LibraryFiles.Tpo -c -o src/shotwell-LibraryFiles.obj `if test -f 'src/LibraryFiles.c'; then $(CYGPATH_W) 'src/LibraryFiles.c'; else $(CYGPATH_W) '$(srcdir)/src/LibraryFiles.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-LibraryFiles.Tpo src/$(DEPDIR)/shotwell-LibraryFiles.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/LibraryFiles.c' object='src/shotwell-LibraryFiles.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-LibraryFiles.obj `if test -f 'src/LibraryFiles.c'; then $(CYGPATH_W) 'src/LibraryFiles.c'; else $(CYGPATH_W) '$(srcdir)/src/LibraryFiles.c'; fi` + +src/shotwell-Printing.o: src/Printing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Printing.o -MD -MP -MF src/$(DEPDIR)/shotwell-Printing.Tpo -c -o src/shotwell-Printing.o `test -f 'src/Printing.c' || echo '$(srcdir)/'`src/Printing.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Printing.Tpo src/$(DEPDIR)/shotwell-Printing.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Printing.c' object='src/shotwell-Printing.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Printing.o `test -f 'src/Printing.c' || echo '$(srcdir)/'`src/Printing.c + +src/shotwell-Printing.obj: src/Printing.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Printing.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Printing.Tpo -c -o src/shotwell-Printing.obj `if test -f 'src/Printing.c'; then $(CYGPATH_W) 'src/Printing.c'; else $(CYGPATH_W) '$(srcdir)/src/Printing.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Printing.Tpo src/$(DEPDIR)/shotwell-Printing.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Printing.c' object='src/shotwell-Printing.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Printing.obj `if test -f 'src/Printing.c'; then $(CYGPATH_W) 'src/Printing.c'; else $(CYGPATH_W) '$(srcdir)/src/Printing.c'; fi` + +src/shotwell-Tag.o: src/Tag.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Tag.o -MD -MP -MF src/$(DEPDIR)/shotwell-Tag.Tpo -c -o src/shotwell-Tag.o `test -f 'src/Tag.c' || echo '$(srcdir)/'`src/Tag.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Tag.Tpo src/$(DEPDIR)/shotwell-Tag.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Tag.c' object='src/shotwell-Tag.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Tag.o `test -f 'src/Tag.c' || echo '$(srcdir)/'`src/Tag.c + +src/shotwell-Tag.obj: src/Tag.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Tag.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Tag.Tpo -c -o src/shotwell-Tag.obj `if test -f 'src/Tag.c'; then $(CYGPATH_W) 'src/Tag.c'; else $(CYGPATH_W) '$(srcdir)/src/Tag.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Tag.Tpo src/$(DEPDIR)/shotwell-Tag.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Tag.c' object='src/shotwell-Tag.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Tag.obj `if test -f 'src/Tag.c'; then $(CYGPATH_W) 'src/Tag.c'; else $(CYGPATH_W) '$(srcdir)/src/Tag.c'; fi` + +src/shotwell-Screensaver.o: src/Screensaver.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Screensaver.o -MD -MP -MF src/$(DEPDIR)/shotwell-Screensaver.Tpo -c -o src/shotwell-Screensaver.o `test -f 'src/Screensaver.c' || echo '$(srcdir)/'`src/Screensaver.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Screensaver.Tpo src/$(DEPDIR)/shotwell-Screensaver.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Screensaver.c' object='src/shotwell-Screensaver.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Screensaver.o `test -f 'src/Screensaver.c' || echo '$(srcdir)/'`src/Screensaver.c + +src/shotwell-Screensaver.obj: src/Screensaver.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Screensaver.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Screensaver.Tpo -c -o src/shotwell-Screensaver.obj `if test -f 'src/Screensaver.c'; then $(CYGPATH_W) 'src/Screensaver.c'; else $(CYGPATH_W) '$(srcdir)/src/Screensaver.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Screensaver.Tpo src/$(DEPDIR)/shotwell-Screensaver.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Screensaver.c' object='src/shotwell-Screensaver.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Screensaver.obj `if test -f 'src/Screensaver.c'; then $(CYGPATH_W) 'src/Screensaver.c'; else $(CYGPATH_W) '$(srcdir)/src/Screensaver.c'; fi` + +src/shotwell-Exporter.o: src/Exporter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Exporter.o -MD -MP -MF src/$(DEPDIR)/shotwell-Exporter.Tpo -c -o src/shotwell-Exporter.o `test -f 'src/Exporter.c' || echo '$(srcdir)/'`src/Exporter.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Exporter.Tpo src/$(DEPDIR)/shotwell-Exporter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Exporter.c' object='src/shotwell-Exporter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Exporter.o `test -f 'src/Exporter.c' || echo '$(srcdir)/'`src/Exporter.c + +src/shotwell-Exporter.obj: src/Exporter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Exporter.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Exporter.Tpo -c -o src/shotwell-Exporter.obj `if test -f 'src/Exporter.c'; then $(CYGPATH_W) 'src/Exporter.c'; else $(CYGPATH_W) '$(srcdir)/src/Exporter.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Exporter.Tpo src/$(DEPDIR)/shotwell-Exporter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Exporter.c' object='src/shotwell-Exporter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Exporter.obj `if test -f 'src/Exporter.c'; then $(CYGPATH_W) 'src/Exporter.c'; else $(CYGPATH_W) '$(srcdir)/src/Exporter.c'; fi` + +src/shotwell-DirectoryMonitor.o: src/DirectoryMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-DirectoryMonitor.o -MD -MP -MF src/$(DEPDIR)/shotwell-DirectoryMonitor.Tpo -c -o src/shotwell-DirectoryMonitor.o `test -f 'src/DirectoryMonitor.c' || echo '$(srcdir)/'`src/DirectoryMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-DirectoryMonitor.Tpo src/$(DEPDIR)/shotwell-DirectoryMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/DirectoryMonitor.c' object='src/shotwell-DirectoryMonitor.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-DirectoryMonitor.o `test -f 'src/DirectoryMonitor.c' || echo '$(srcdir)/'`src/DirectoryMonitor.c + +src/shotwell-DirectoryMonitor.obj: src/DirectoryMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-DirectoryMonitor.obj -MD -MP -MF src/$(DEPDIR)/shotwell-DirectoryMonitor.Tpo -c -o src/shotwell-DirectoryMonitor.obj `if test -f 'src/DirectoryMonitor.c'; then $(CYGPATH_W) 'src/DirectoryMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/DirectoryMonitor.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-DirectoryMonitor.Tpo src/$(DEPDIR)/shotwell-DirectoryMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/DirectoryMonitor.c' object='src/shotwell-DirectoryMonitor.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-DirectoryMonitor.obj `if test -f 'src/DirectoryMonitor.c'; then $(CYGPATH_W) 'src/DirectoryMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/DirectoryMonitor.c'; fi` + +src/shotwell-LibraryMonitor.o: src/LibraryMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-LibraryMonitor.o -MD -MP -MF src/$(DEPDIR)/shotwell-LibraryMonitor.Tpo -c -o src/shotwell-LibraryMonitor.o `test -f 'src/LibraryMonitor.c' || echo '$(srcdir)/'`src/LibraryMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-LibraryMonitor.Tpo src/$(DEPDIR)/shotwell-LibraryMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/LibraryMonitor.c' object='src/shotwell-LibraryMonitor.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-LibraryMonitor.o `test -f 'src/LibraryMonitor.c' || echo '$(srcdir)/'`src/LibraryMonitor.c + +src/shotwell-LibraryMonitor.obj: src/LibraryMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-LibraryMonitor.obj -MD -MP -MF src/$(DEPDIR)/shotwell-LibraryMonitor.Tpo -c -o src/shotwell-LibraryMonitor.obj `if test -f 'src/LibraryMonitor.c'; then $(CYGPATH_W) 'src/LibraryMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/LibraryMonitor.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-LibraryMonitor.Tpo src/$(DEPDIR)/shotwell-LibraryMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/LibraryMonitor.c' object='src/shotwell-LibraryMonitor.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-LibraryMonitor.obj `if test -f 'src/LibraryMonitor.c'; then $(CYGPATH_W) 'src/LibraryMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/LibraryMonitor.c'; fi` + +src/shotwell-VideoSupport.o: src/VideoSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-VideoSupport.o -MD -MP -MF src/$(DEPDIR)/shotwell-VideoSupport.Tpo -c -o src/shotwell-VideoSupport.o `test -f 'src/VideoSupport.c' || echo '$(srcdir)/'`src/VideoSupport.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-VideoSupport.Tpo src/$(DEPDIR)/shotwell-VideoSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/VideoSupport.c' object='src/shotwell-VideoSupport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-VideoSupport.o `test -f 'src/VideoSupport.c' || echo '$(srcdir)/'`src/VideoSupport.c + +src/shotwell-VideoSupport.obj: src/VideoSupport.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-VideoSupport.obj -MD -MP -MF src/$(DEPDIR)/shotwell-VideoSupport.Tpo -c -o src/shotwell-VideoSupport.obj `if test -f 'src/VideoSupport.c'; then $(CYGPATH_W) 'src/VideoSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/VideoSupport.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-VideoSupport.Tpo src/$(DEPDIR)/shotwell-VideoSupport.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/VideoSupport.c' object='src/shotwell-VideoSupport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-VideoSupport.obj `if test -f 'src/VideoSupport.c'; then $(CYGPATH_W) 'src/VideoSupport.c'; else $(CYGPATH_W) '$(srcdir)/src/VideoSupport.c'; fi` + +src/shotwell-Tombstone.o: src/Tombstone.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Tombstone.o -MD -MP -MF src/$(DEPDIR)/shotwell-Tombstone.Tpo -c -o src/shotwell-Tombstone.o `test -f 'src/Tombstone.c' || echo '$(srcdir)/'`src/Tombstone.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Tombstone.Tpo src/$(DEPDIR)/shotwell-Tombstone.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Tombstone.c' object='src/shotwell-Tombstone.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Tombstone.o `test -f 'src/Tombstone.c' || echo '$(srcdir)/'`src/Tombstone.c + +src/shotwell-Tombstone.obj: src/Tombstone.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Tombstone.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Tombstone.Tpo -c -o src/shotwell-Tombstone.obj `if test -f 'src/Tombstone.c'; then $(CYGPATH_W) 'src/Tombstone.c'; else $(CYGPATH_W) '$(srcdir)/src/Tombstone.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Tombstone.Tpo src/$(DEPDIR)/shotwell-Tombstone.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Tombstone.c' object='src/shotwell-Tombstone.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Tombstone.obj `if test -f 'src/Tombstone.c'; then $(CYGPATH_W) 'src/Tombstone.c'; else $(CYGPATH_W) '$(srcdir)/src/Tombstone.c'; fi` + +src/shotwell-MetadataWriter.o: src/MetadataWriter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MetadataWriter.o -MD -MP -MF src/$(DEPDIR)/shotwell-MetadataWriter.Tpo -c -o src/shotwell-MetadataWriter.o `test -f 'src/MetadataWriter.c' || echo '$(srcdir)/'`src/MetadataWriter.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MetadataWriter.Tpo src/$(DEPDIR)/shotwell-MetadataWriter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MetadataWriter.c' object='src/shotwell-MetadataWriter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MetadataWriter.o `test -f 'src/MetadataWriter.c' || echo '$(srcdir)/'`src/MetadataWriter.c + +src/shotwell-MetadataWriter.obj: src/MetadataWriter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MetadataWriter.obj -MD -MP -MF src/$(DEPDIR)/shotwell-MetadataWriter.Tpo -c -o src/shotwell-MetadataWriter.obj `if test -f 'src/MetadataWriter.c'; then $(CYGPATH_W) 'src/MetadataWriter.c'; else $(CYGPATH_W) '$(srcdir)/src/MetadataWriter.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MetadataWriter.Tpo src/$(DEPDIR)/shotwell-MetadataWriter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MetadataWriter.c' object='src/shotwell-MetadataWriter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MetadataWriter.obj `if test -f 'src/MetadataWriter.c'; then $(CYGPATH_W) 'src/MetadataWriter.c'; else $(CYGPATH_W) '$(srcdir)/src/MetadataWriter.c'; fi` + +src/shotwell-Application.o: src/Application.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Application.o -MD -MP -MF src/$(DEPDIR)/shotwell-Application.Tpo -c -o src/shotwell-Application.o `test -f 'src/Application.c' || echo '$(srcdir)/'`src/Application.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Application.Tpo src/$(DEPDIR)/shotwell-Application.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Application.c' object='src/shotwell-Application.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Application.o `test -f 'src/Application.c' || echo '$(srcdir)/'`src/Application.c + +src/shotwell-Application.obj: src/Application.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Application.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Application.Tpo -c -o src/shotwell-Application.obj `if test -f 'src/Application.c'; then $(CYGPATH_W) 'src/Application.c'; else $(CYGPATH_W) '$(srcdir)/src/Application.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Application.Tpo src/$(DEPDIR)/shotwell-Application.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Application.c' object='src/shotwell-Application.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Application.obj `if test -f 'src/Application.c'; then $(CYGPATH_W) 'src/Application.c'; else $(CYGPATH_W) '$(srcdir)/src/Application.c'; fi` + +src/shotwell-TimedQueue.o: src/TimedQueue.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-TimedQueue.o -MD -MP -MF src/$(DEPDIR)/shotwell-TimedQueue.Tpo -c -o src/shotwell-TimedQueue.o `test -f 'src/TimedQueue.c' || echo '$(srcdir)/'`src/TimedQueue.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-TimedQueue.Tpo src/$(DEPDIR)/shotwell-TimedQueue.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/TimedQueue.c' object='src/shotwell-TimedQueue.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-TimedQueue.o `test -f 'src/TimedQueue.c' || echo '$(srcdir)/'`src/TimedQueue.c + +src/shotwell-TimedQueue.obj: src/TimedQueue.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-TimedQueue.obj -MD -MP -MF src/$(DEPDIR)/shotwell-TimedQueue.Tpo -c -o src/shotwell-TimedQueue.obj `if test -f 'src/TimedQueue.c'; then $(CYGPATH_W) 'src/TimedQueue.c'; else $(CYGPATH_W) '$(srcdir)/src/TimedQueue.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-TimedQueue.Tpo src/$(DEPDIR)/shotwell-TimedQueue.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/TimedQueue.c' object='src/shotwell-TimedQueue.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-TimedQueue.obj `if test -f 'src/TimedQueue.c'; then $(CYGPATH_W) 'src/TimedQueue.c'; else $(CYGPATH_W) '$(srcdir)/src/TimedQueue.c'; fi` + +src/shotwell-MediaPage.o: src/MediaPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaPage.o -MD -MP -MF src/$(DEPDIR)/shotwell-MediaPage.Tpo -c -o src/shotwell-MediaPage.o `test -f 'src/MediaPage.c' || echo '$(srcdir)/'`src/MediaPage.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaPage.Tpo src/$(DEPDIR)/shotwell-MediaPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaPage.c' object='src/shotwell-MediaPage.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaPage.o `test -f 'src/MediaPage.c' || echo '$(srcdir)/'`src/MediaPage.c + +src/shotwell-MediaPage.obj: src/MediaPage.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaPage.obj -MD -MP -MF src/$(DEPDIR)/shotwell-MediaPage.Tpo -c -o src/shotwell-MediaPage.obj `if test -f 'src/MediaPage.c'; then $(CYGPATH_W) 'src/MediaPage.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaPage.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaPage.Tpo src/$(DEPDIR)/shotwell-MediaPage.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaPage.c' object='src/shotwell-MediaPage.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaPage.obj `if test -f 'src/MediaPage.c'; then $(CYGPATH_W) 'src/MediaPage.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaPage.c'; fi` + +src/shotwell-MediaDataRepresentation.o: src/MediaDataRepresentation.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaDataRepresentation.o -MD -MP -MF src/$(DEPDIR)/shotwell-MediaDataRepresentation.Tpo -c -o src/shotwell-MediaDataRepresentation.o `test -f 'src/MediaDataRepresentation.c' || echo '$(srcdir)/'`src/MediaDataRepresentation.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaDataRepresentation.Tpo src/$(DEPDIR)/shotwell-MediaDataRepresentation.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaDataRepresentation.c' object='src/shotwell-MediaDataRepresentation.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaDataRepresentation.o `test -f 'src/MediaDataRepresentation.c' || echo '$(srcdir)/'`src/MediaDataRepresentation.c + +src/shotwell-MediaDataRepresentation.obj: src/MediaDataRepresentation.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaDataRepresentation.obj -MD -MP -MF src/$(DEPDIR)/shotwell-MediaDataRepresentation.Tpo -c -o src/shotwell-MediaDataRepresentation.obj `if test -f 'src/MediaDataRepresentation.c'; then $(CYGPATH_W) 'src/MediaDataRepresentation.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaDataRepresentation.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaDataRepresentation.Tpo src/$(DEPDIR)/shotwell-MediaDataRepresentation.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaDataRepresentation.c' object='src/shotwell-MediaDataRepresentation.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaDataRepresentation.obj `if test -f 'src/MediaDataRepresentation.c'; then $(CYGPATH_W) 'src/MediaDataRepresentation.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaDataRepresentation.c'; fi` + +src/shotwell-DesktopIntegration.o: src/DesktopIntegration.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-DesktopIntegration.o -MD -MP -MF src/$(DEPDIR)/shotwell-DesktopIntegration.Tpo -c -o src/shotwell-DesktopIntegration.o `test -f 'src/DesktopIntegration.c' || echo '$(srcdir)/'`src/DesktopIntegration.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-DesktopIntegration.Tpo src/$(DEPDIR)/shotwell-DesktopIntegration.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/DesktopIntegration.c' object='src/shotwell-DesktopIntegration.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-DesktopIntegration.o `test -f 'src/DesktopIntegration.c' || echo '$(srcdir)/'`src/DesktopIntegration.c + +src/shotwell-DesktopIntegration.obj: src/DesktopIntegration.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-DesktopIntegration.obj -MD -MP -MF src/$(DEPDIR)/shotwell-DesktopIntegration.Tpo -c -o src/shotwell-DesktopIntegration.obj `if test -f 'src/DesktopIntegration.c'; then $(CYGPATH_W) 'src/DesktopIntegration.c'; else $(CYGPATH_W) '$(srcdir)/src/DesktopIntegration.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-DesktopIntegration.Tpo src/$(DEPDIR)/shotwell-DesktopIntegration.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/DesktopIntegration.c' object='src/shotwell-DesktopIntegration.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-DesktopIntegration.obj `if test -f 'src/DesktopIntegration.c'; then $(CYGPATH_W) 'src/DesktopIntegration.c'; else $(CYGPATH_W) '$(srcdir)/src/DesktopIntegration.c'; fi` + +src/shotwell-MediaInterfaces.o: src/MediaInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaInterfaces.o -MD -MP -MF src/$(DEPDIR)/shotwell-MediaInterfaces.Tpo -c -o src/shotwell-MediaInterfaces.o `test -f 'src/MediaInterfaces.c' || echo '$(srcdir)/'`src/MediaInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaInterfaces.Tpo src/$(DEPDIR)/shotwell-MediaInterfaces.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaInterfaces.c' object='src/shotwell-MediaInterfaces.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaInterfaces.o `test -f 'src/MediaInterfaces.c' || echo '$(srcdir)/'`src/MediaInterfaces.c + +src/shotwell-MediaInterfaces.obj: src/MediaInterfaces.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaInterfaces.obj -MD -MP -MF src/$(DEPDIR)/shotwell-MediaInterfaces.Tpo -c -o src/shotwell-MediaInterfaces.obj `if test -f 'src/MediaInterfaces.c'; then $(CYGPATH_W) 'src/MediaInterfaces.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaInterfaces.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaInterfaces.Tpo src/$(DEPDIR)/shotwell-MediaInterfaces.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaInterfaces.c' object='src/shotwell-MediaInterfaces.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaInterfaces.obj `if test -f 'src/MediaInterfaces.c'; then $(CYGPATH_W) 'src/MediaInterfaces.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaInterfaces.c'; fi` + +src/shotwell-MediaMetadata.o: src/MediaMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaMetadata.o -MD -MP -MF src/$(DEPDIR)/shotwell-MediaMetadata.Tpo -c -o src/shotwell-MediaMetadata.o `test -f 'src/MediaMetadata.c' || echo '$(srcdir)/'`src/MediaMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaMetadata.Tpo src/$(DEPDIR)/shotwell-MediaMetadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaMetadata.c' object='src/shotwell-MediaMetadata.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaMetadata.o `test -f 'src/MediaMetadata.c' || echo '$(srcdir)/'`src/MediaMetadata.c + +src/shotwell-MediaMetadata.obj: src/MediaMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaMetadata.obj -MD -MP -MF src/$(DEPDIR)/shotwell-MediaMetadata.Tpo -c -o src/shotwell-MediaMetadata.obj `if test -f 'src/MediaMetadata.c'; then $(CYGPATH_W) 'src/MediaMetadata.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaMetadata.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaMetadata.Tpo src/$(DEPDIR)/shotwell-MediaMetadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaMetadata.c' object='src/shotwell-MediaMetadata.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaMetadata.obj `if test -f 'src/MediaMetadata.c'; then $(CYGPATH_W) 'src/MediaMetadata.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaMetadata.c'; fi` + +src/shotwell-VideoMetadata.o: src/VideoMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-VideoMetadata.o -MD -MP -MF src/$(DEPDIR)/shotwell-VideoMetadata.Tpo -c -o src/shotwell-VideoMetadata.o `test -f 'src/VideoMetadata.c' || echo '$(srcdir)/'`src/VideoMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-VideoMetadata.Tpo src/$(DEPDIR)/shotwell-VideoMetadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/VideoMetadata.c' object='src/shotwell-VideoMetadata.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-VideoMetadata.o `test -f 'src/VideoMetadata.c' || echo '$(srcdir)/'`src/VideoMetadata.c + +src/shotwell-VideoMetadata.obj: src/VideoMetadata.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-VideoMetadata.obj -MD -MP -MF src/$(DEPDIR)/shotwell-VideoMetadata.Tpo -c -o src/shotwell-VideoMetadata.obj `if test -f 'src/VideoMetadata.c'; then $(CYGPATH_W) 'src/VideoMetadata.c'; else $(CYGPATH_W) '$(srcdir)/src/VideoMetadata.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-VideoMetadata.Tpo src/$(DEPDIR)/shotwell-VideoMetadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/VideoMetadata.c' object='src/shotwell-VideoMetadata.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-VideoMetadata.obj `if test -f 'src/VideoMetadata.c'; then $(CYGPATH_W) 'src/VideoMetadata.c'; else $(CYGPATH_W) '$(srcdir)/src/VideoMetadata.c'; fi` + +src/shotwell-MediaMonitor.o: src/MediaMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaMonitor.o -MD -MP -MF src/$(DEPDIR)/shotwell-MediaMonitor.Tpo -c -o src/shotwell-MediaMonitor.o `test -f 'src/MediaMonitor.c' || echo '$(srcdir)/'`src/MediaMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaMonitor.Tpo src/$(DEPDIR)/shotwell-MediaMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaMonitor.c' object='src/shotwell-MediaMonitor.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaMonitor.o `test -f 'src/MediaMonitor.c' || echo '$(srcdir)/'`src/MediaMonitor.c + +src/shotwell-MediaMonitor.obj: src/MediaMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaMonitor.obj -MD -MP -MF src/$(DEPDIR)/shotwell-MediaMonitor.Tpo -c -o src/shotwell-MediaMonitor.obj `if test -f 'src/MediaMonitor.c'; then $(CYGPATH_W) 'src/MediaMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaMonitor.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaMonitor.Tpo src/$(DEPDIR)/shotwell-MediaMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaMonitor.c' object='src/shotwell-MediaMonitor.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaMonitor.obj `if test -f 'src/MediaMonitor.c'; then $(CYGPATH_W) 'src/MediaMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaMonitor.c'; fi` + +src/shotwell-PhotoMonitor.o: src/PhotoMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-PhotoMonitor.o -MD -MP -MF src/$(DEPDIR)/shotwell-PhotoMonitor.Tpo -c -o src/shotwell-PhotoMonitor.o `test -f 'src/PhotoMonitor.c' || echo '$(srcdir)/'`src/PhotoMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-PhotoMonitor.Tpo src/$(DEPDIR)/shotwell-PhotoMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/PhotoMonitor.c' object='src/shotwell-PhotoMonitor.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-PhotoMonitor.o `test -f 'src/PhotoMonitor.c' || echo '$(srcdir)/'`src/PhotoMonitor.c + +src/shotwell-PhotoMonitor.obj: src/PhotoMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-PhotoMonitor.obj -MD -MP -MF src/$(DEPDIR)/shotwell-PhotoMonitor.Tpo -c -o src/shotwell-PhotoMonitor.obj `if test -f 'src/PhotoMonitor.c'; then $(CYGPATH_W) 'src/PhotoMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/PhotoMonitor.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-PhotoMonitor.Tpo src/$(DEPDIR)/shotwell-PhotoMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/PhotoMonitor.c' object='src/shotwell-PhotoMonitor.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-PhotoMonitor.obj `if test -f 'src/PhotoMonitor.c'; then $(CYGPATH_W) 'src/PhotoMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/PhotoMonitor.c'; fi` + +src/shotwell-VideoMonitor.o: src/VideoMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-VideoMonitor.o -MD -MP -MF src/$(DEPDIR)/shotwell-VideoMonitor.Tpo -c -o src/shotwell-VideoMonitor.o `test -f 'src/VideoMonitor.c' || echo '$(srcdir)/'`src/VideoMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-VideoMonitor.Tpo src/$(DEPDIR)/shotwell-VideoMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/VideoMonitor.c' object='src/shotwell-VideoMonitor.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-VideoMonitor.o `test -f 'src/VideoMonitor.c' || echo '$(srcdir)/'`src/VideoMonitor.c + +src/shotwell-VideoMonitor.obj: src/VideoMonitor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-VideoMonitor.obj -MD -MP -MF src/$(DEPDIR)/shotwell-VideoMonitor.Tpo -c -o src/shotwell-VideoMonitor.obj `if test -f 'src/VideoMonitor.c'; then $(CYGPATH_W) 'src/VideoMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/VideoMonitor.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-VideoMonitor.Tpo src/$(DEPDIR)/shotwell-VideoMonitor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/VideoMonitor.c' object='src/shotwell-VideoMonitor.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-VideoMonitor.obj `if test -f 'src/VideoMonitor.c'; then $(CYGPATH_W) 'src/VideoMonitor.c'; else $(CYGPATH_W) '$(srcdir)/src/VideoMonitor.c'; fi` + +src/shotwell-SearchFilter.o: src/SearchFilter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-SearchFilter.o -MD -MP -MF src/$(DEPDIR)/shotwell-SearchFilter.Tpo -c -o src/shotwell-SearchFilter.o `test -f 'src/SearchFilter.c' || echo '$(srcdir)/'`src/SearchFilter.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-SearchFilter.Tpo src/$(DEPDIR)/shotwell-SearchFilter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/SearchFilter.c' object='src/shotwell-SearchFilter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-SearchFilter.o `test -f 'src/SearchFilter.c' || echo '$(srcdir)/'`src/SearchFilter.c + +src/shotwell-SearchFilter.obj: src/SearchFilter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-SearchFilter.obj -MD -MP -MF src/$(DEPDIR)/shotwell-SearchFilter.Tpo -c -o src/shotwell-SearchFilter.obj `if test -f 'src/SearchFilter.c'; then $(CYGPATH_W) 'src/SearchFilter.c'; else $(CYGPATH_W) '$(srcdir)/src/SearchFilter.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-SearchFilter.Tpo src/$(DEPDIR)/shotwell-SearchFilter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/SearchFilter.c' object='src/shotwell-SearchFilter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-SearchFilter.obj `if test -f 'src/SearchFilter.c'; then $(CYGPATH_W) 'src/SearchFilter.c'; else $(CYGPATH_W) '$(srcdir)/src/SearchFilter.c'; fi` + +src/shotwell-MediaViewTracker.o: src/MediaViewTracker.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaViewTracker.o -MD -MP -MF src/$(DEPDIR)/shotwell-MediaViewTracker.Tpo -c -o src/shotwell-MediaViewTracker.o `test -f 'src/MediaViewTracker.c' || echo '$(srcdir)/'`src/MediaViewTracker.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaViewTracker.Tpo src/$(DEPDIR)/shotwell-MediaViewTracker.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaViewTracker.c' object='src/shotwell-MediaViewTracker.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaViewTracker.o `test -f 'src/MediaViewTracker.c' || echo '$(srcdir)/'`src/MediaViewTracker.c + +src/shotwell-MediaViewTracker.obj: src/MediaViewTracker.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-MediaViewTracker.obj -MD -MP -MF src/$(DEPDIR)/shotwell-MediaViewTracker.Tpo -c -o src/shotwell-MediaViewTracker.obj `if test -f 'src/MediaViewTracker.c'; then $(CYGPATH_W) 'src/MediaViewTracker.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaViewTracker.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-MediaViewTracker.Tpo src/$(DEPDIR)/shotwell-MediaViewTracker.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/MediaViewTracker.c' object='src/shotwell-MediaViewTracker.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-MediaViewTracker.obj `if test -f 'src/MediaViewTracker.c'; then $(CYGPATH_W) 'src/MediaViewTracker.c'; else $(CYGPATH_W) '$(srcdir)/src/MediaViewTracker.c'; fi` + +src/shotwell-UnityProgressBar.o: src/UnityProgressBar.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-UnityProgressBar.o -MD -MP -MF src/$(DEPDIR)/shotwell-UnityProgressBar.Tpo -c -o src/shotwell-UnityProgressBar.o `test -f 'src/UnityProgressBar.c' || echo '$(srcdir)/'`src/UnityProgressBar.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-UnityProgressBar.Tpo src/$(DEPDIR)/shotwell-UnityProgressBar.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/UnityProgressBar.c' object='src/shotwell-UnityProgressBar.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-UnityProgressBar.o `test -f 'src/UnityProgressBar.c' || echo '$(srcdir)/'`src/UnityProgressBar.c + +src/shotwell-UnityProgressBar.obj: src/UnityProgressBar.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-UnityProgressBar.obj -MD -MP -MF src/$(DEPDIR)/shotwell-UnityProgressBar.Tpo -c -o src/shotwell-UnityProgressBar.obj `if test -f 'src/UnityProgressBar.c'; then $(CYGPATH_W) 'src/UnityProgressBar.c'; else $(CYGPATH_W) '$(srcdir)/src/UnityProgressBar.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-UnityProgressBar.Tpo src/$(DEPDIR)/shotwell-UnityProgressBar.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/UnityProgressBar.c' object='src/shotwell-UnityProgressBar.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-UnityProgressBar.obj `if test -f 'src/UnityProgressBar.c'; then $(CYGPATH_W) 'src/UnityProgressBar.c'; else $(CYGPATH_W) '$(srcdir)/src/UnityProgressBar.c'; fi` + +src/shotwell-Upgrades.o: src/Upgrades.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Upgrades.o -MD -MP -MF src/$(DEPDIR)/shotwell-Upgrades.Tpo -c -o src/shotwell-Upgrades.o `test -f 'src/Upgrades.c' || echo '$(srcdir)/'`src/Upgrades.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Upgrades.Tpo src/$(DEPDIR)/shotwell-Upgrades.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Upgrades.c' object='src/shotwell-Upgrades.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Upgrades.o `test -f 'src/Upgrades.c' || echo '$(srcdir)/'`src/Upgrades.c + +src/shotwell-Upgrades.obj: src/Upgrades.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/shotwell-Upgrades.obj -MD -MP -MF src/$(DEPDIR)/shotwell-Upgrades.Tpo -c -o src/shotwell-Upgrades.obj `if test -f 'src/Upgrades.c'; then $(CYGPATH_W) 'src/Upgrades.c'; else $(CYGPATH_W) '$(srcdir)/src/Upgrades.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/shotwell-Upgrades.Tpo src/$(DEPDIR)/shotwell-Upgrades.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Upgrades.c' object='src/shotwell-Upgrades.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/shotwell-Upgrades.obj `if test -f 'src/Upgrades.c'; then $(CYGPATH_W) 'src/Upgrades.c'; else $(CYGPATH_W) '$(srcdir)/src/Upgrades.c'; fi` + +src/.unitize/shotwell-_UnitInternals.o: src/.unitize/_UnitInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_UnitInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_UnitInternals.Tpo -c -o src/.unitize/shotwell-_UnitInternals.o `test -f 'src/.unitize/_UnitInternals.c' || echo '$(srcdir)/'`src/.unitize/_UnitInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_UnitInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_UnitInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_UnitInternals.c' object='src/.unitize/shotwell-_UnitInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_UnitInternals.o `test -f 'src/.unitize/_UnitInternals.c' || echo '$(srcdir)/'`src/.unitize/_UnitInternals.c + +src/.unitize/shotwell-_UnitInternals.obj: src/.unitize/_UnitInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_UnitInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_UnitInternals.Tpo -c -o src/.unitize/shotwell-_UnitInternals.obj `if test -f 'src/.unitize/_UnitInternals.c'; then $(CYGPATH_W) 'src/.unitize/_UnitInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_UnitInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_UnitInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_UnitInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_UnitInternals.c' object='src/.unitize/shotwell-_UnitInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_UnitInternals.obj `if test -f 'src/.unitize/_UnitInternals.c'; then $(CYGPATH_W) 'src/.unitize/_UnitInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_UnitInternals.c'; fi` + +src/.unitize/shotwell-_UtilInternals.o: src/.unitize/_UtilInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_UtilInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_UtilInternals.Tpo -c -o src/.unitize/shotwell-_UtilInternals.o `test -f 'src/.unitize/_UtilInternals.c' || echo '$(srcdir)/'`src/.unitize/_UtilInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_UtilInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_UtilInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_UtilInternals.c' object='src/.unitize/shotwell-_UtilInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_UtilInternals.o `test -f 'src/.unitize/_UtilInternals.c' || echo '$(srcdir)/'`src/.unitize/_UtilInternals.c + +src/.unitize/shotwell-_UtilInternals.obj: src/.unitize/_UtilInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_UtilInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_UtilInternals.Tpo -c -o src/.unitize/shotwell-_UtilInternals.obj `if test -f 'src/.unitize/_UtilInternals.c'; then $(CYGPATH_W) 'src/.unitize/_UtilInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_UtilInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_UtilInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_UtilInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_UtilInternals.c' object='src/.unitize/shotwell-_UtilInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_UtilInternals.obj `if test -f 'src/.unitize/_UtilInternals.c'; then $(CYGPATH_W) 'src/.unitize/_UtilInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_UtilInternals.c'; fi` + +src/.unitize/shotwell-_ThreadsInternals.o: src/.unitize/_ThreadsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_ThreadsInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_ThreadsInternals.Tpo -c -o src/.unitize/shotwell-_ThreadsInternals.o `test -f 'src/.unitize/_ThreadsInternals.c' || echo '$(srcdir)/'`src/.unitize/_ThreadsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_ThreadsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_ThreadsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_ThreadsInternals.c' object='src/.unitize/shotwell-_ThreadsInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_ThreadsInternals.o `test -f 'src/.unitize/_ThreadsInternals.c' || echo '$(srcdir)/'`src/.unitize/_ThreadsInternals.c + +src/.unitize/shotwell-_ThreadsInternals.obj: src/.unitize/_ThreadsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_ThreadsInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_ThreadsInternals.Tpo -c -o src/.unitize/shotwell-_ThreadsInternals.obj `if test -f 'src/.unitize/_ThreadsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_ThreadsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_ThreadsInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_ThreadsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_ThreadsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_ThreadsInternals.c' object='src/.unitize/shotwell-_ThreadsInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_ThreadsInternals.obj `if test -f 'src/.unitize/_ThreadsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_ThreadsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_ThreadsInternals.c'; fi` + +src/.unitize/shotwell-_DbInternals.o: src/.unitize/_DbInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_DbInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_DbInternals.Tpo -c -o src/.unitize/shotwell-_DbInternals.o `test -f 'src/.unitize/_DbInternals.c' || echo '$(srcdir)/'`src/.unitize/_DbInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_DbInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_DbInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_DbInternals.c' object='src/.unitize/shotwell-_DbInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_DbInternals.o `test -f 'src/.unitize/_DbInternals.c' || echo '$(srcdir)/'`src/.unitize/_DbInternals.c + +src/.unitize/shotwell-_DbInternals.obj: src/.unitize/_DbInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_DbInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_DbInternals.Tpo -c -o src/.unitize/shotwell-_DbInternals.obj `if test -f 'src/.unitize/_DbInternals.c'; then $(CYGPATH_W) 'src/.unitize/_DbInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_DbInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_DbInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_DbInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_DbInternals.c' object='src/.unitize/shotwell-_DbInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_DbInternals.obj `if test -f 'src/.unitize/_DbInternals.c'; then $(CYGPATH_W) 'src/.unitize/_DbInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_DbInternals.c'; fi` + +src/.unitize/shotwell-_EditingToolsInternals.o: src/.unitize/_EditingToolsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_EditingToolsInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_EditingToolsInternals.Tpo -c -o src/.unitize/shotwell-_EditingToolsInternals.o `test -f 'src/.unitize/_EditingToolsInternals.c' || echo '$(srcdir)/'`src/.unitize/_EditingToolsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_EditingToolsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_EditingToolsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_EditingToolsInternals.c' object='src/.unitize/shotwell-_EditingToolsInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_EditingToolsInternals.o `test -f 'src/.unitize/_EditingToolsInternals.c' || echo '$(srcdir)/'`src/.unitize/_EditingToolsInternals.c + +src/.unitize/shotwell-_EditingToolsInternals.obj: src/.unitize/_EditingToolsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_EditingToolsInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_EditingToolsInternals.Tpo -c -o src/.unitize/shotwell-_EditingToolsInternals.obj `if test -f 'src/.unitize/_EditingToolsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_EditingToolsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_EditingToolsInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_EditingToolsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_EditingToolsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_EditingToolsInternals.c' object='src/.unitize/shotwell-_EditingToolsInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_EditingToolsInternals.obj `if test -f 'src/.unitize/_EditingToolsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_EditingToolsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_EditingToolsInternals.c'; fi` + +src/.unitize/shotwell-_PluginsInternals.o: src/.unitize/_PluginsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_PluginsInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_PluginsInternals.Tpo -c -o src/.unitize/shotwell-_PluginsInternals.o `test -f 'src/.unitize/_PluginsInternals.c' || echo '$(srcdir)/'`src/.unitize/_PluginsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_PluginsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_PluginsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_PluginsInternals.c' object='src/.unitize/shotwell-_PluginsInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_PluginsInternals.o `test -f 'src/.unitize/_PluginsInternals.c' || echo '$(srcdir)/'`src/.unitize/_PluginsInternals.c + +src/.unitize/shotwell-_PluginsInternals.obj: src/.unitize/_PluginsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_PluginsInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_PluginsInternals.Tpo -c -o src/.unitize/shotwell-_PluginsInternals.obj `if test -f 'src/.unitize/_PluginsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_PluginsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_PluginsInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_PluginsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_PluginsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_PluginsInternals.c' object='src/.unitize/shotwell-_PluginsInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_PluginsInternals.obj `if test -f 'src/.unitize/_PluginsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_PluginsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_PluginsInternals.c'; fi` + +src/.unitize/shotwell-_SlideshowInternals.o: src/.unitize/_SlideshowInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_SlideshowInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_SlideshowInternals.Tpo -c -o src/.unitize/shotwell-_SlideshowInternals.o `test -f 'src/.unitize/_SlideshowInternals.c' || echo '$(srcdir)/'`src/.unitize/_SlideshowInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_SlideshowInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_SlideshowInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_SlideshowInternals.c' object='src/.unitize/shotwell-_SlideshowInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_SlideshowInternals.o `test -f 'src/.unitize/_SlideshowInternals.c' || echo '$(srcdir)/'`src/.unitize/_SlideshowInternals.c + +src/.unitize/shotwell-_SlideshowInternals.obj: src/.unitize/_SlideshowInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_SlideshowInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_SlideshowInternals.Tpo -c -o src/.unitize/shotwell-_SlideshowInternals.obj `if test -f 'src/.unitize/_SlideshowInternals.c'; then $(CYGPATH_W) 'src/.unitize/_SlideshowInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_SlideshowInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_SlideshowInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_SlideshowInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_SlideshowInternals.c' object='src/.unitize/shotwell-_SlideshowInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_SlideshowInternals.obj `if test -f 'src/.unitize/_SlideshowInternals.c'; then $(CYGPATH_W) 'src/.unitize/_SlideshowInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_SlideshowInternals.c'; fi` + +src/.unitize/shotwell-_PhotosInternals.o: src/.unitize/_PhotosInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_PhotosInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_PhotosInternals.Tpo -c -o src/.unitize/shotwell-_PhotosInternals.o `test -f 'src/.unitize/_PhotosInternals.c' || echo '$(srcdir)/'`src/.unitize/_PhotosInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_PhotosInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_PhotosInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_PhotosInternals.c' object='src/.unitize/shotwell-_PhotosInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_PhotosInternals.o `test -f 'src/.unitize/_PhotosInternals.c' || echo '$(srcdir)/'`src/.unitize/_PhotosInternals.c + +src/.unitize/shotwell-_PhotosInternals.obj: src/.unitize/_PhotosInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_PhotosInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_PhotosInternals.Tpo -c -o src/.unitize/shotwell-_PhotosInternals.obj `if test -f 'src/.unitize/_PhotosInternals.c'; then $(CYGPATH_W) 'src/.unitize/_PhotosInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_PhotosInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_PhotosInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_PhotosInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_PhotosInternals.c' object='src/.unitize/shotwell-_PhotosInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_PhotosInternals.obj `if test -f 'src/.unitize/_PhotosInternals.c'; then $(CYGPATH_W) 'src/.unitize/_PhotosInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_PhotosInternals.c'; fi` + +src/.unitize/shotwell-_PublishingInternals.o: src/.unitize/_PublishingInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_PublishingInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_PublishingInternals.Tpo -c -o src/.unitize/shotwell-_PublishingInternals.o `test -f 'src/.unitize/_PublishingInternals.c' || echo '$(srcdir)/'`src/.unitize/_PublishingInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_PublishingInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_PublishingInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_PublishingInternals.c' object='src/.unitize/shotwell-_PublishingInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_PublishingInternals.o `test -f 'src/.unitize/_PublishingInternals.c' || echo '$(srcdir)/'`src/.unitize/_PublishingInternals.c + +src/.unitize/shotwell-_PublishingInternals.obj: src/.unitize/_PublishingInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_PublishingInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_PublishingInternals.Tpo -c -o src/.unitize/shotwell-_PublishingInternals.obj `if test -f 'src/.unitize/_PublishingInternals.c'; then $(CYGPATH_W) 'src/.unitize/_PublishingInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_PublishingInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_PublishingInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_PublishingInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_PublishingInternals.c' object='src/.unitize/shotwell-_PublishingInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_PublishingInternals.obj `if test -f 'src/.unitize/_PublishingInternals.c'; then $(CYGPATH_W) 'src/.unitize/_PublishingInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_PublishingInternals.c'; fi` + +src/.unitize/shotwell-_LibraryInternals.o: src/.unitize/_LibraryInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_LibraryInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_LibraryInternals.Tpo -c -o src/.unitize/shotwell-_LibraryInternals.o `test -f 'src/.unitize/_LibraryInternals.c' || echo '$(srcdir)/'`src/.unitize/_LibraryInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_LibraryInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_LibraryInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_LibraryInternals.c' object='src/.unitize/shotwell-_LibraryInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_LibraryInternals.o `test -f 'src/.unitize/_LibraryInternals.c' || echo '$(srcdir)/'`src/.unitize/_LibraryInternals.c + +src/.unitize/shotwell-_LibraryInternals.obj: src/.unitize/_LibraryInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_LibraryInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_LibraryInternals.Tpo -c -o src/.unitize/shotwell-_LibraryInternals.obj `if test -f 'src/.unitize/_LibraryInternals.c'; then $(CYGPATH_W) 'src/.unitize/_LibraryInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_LibraryInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_LibraryInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_LibraryInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_LibraryInternals.c' object='src/.unitize/shotwell-_LibraryInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_LibraryInternals.obj `if test -f 'src/.unitize/_LibraryInternals.c'; then $(CYGPATH_W) 'src/.unitize/_LibraryInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_LibraryInternals.c'; fi` + +src/.unitize/shotwell-_DirectInternals.o: src/.unitize/_DirectInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_DirectInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_DirectInternals.Tpo -c -o src/.unitize/shotwell-_DirectInternals.o `test -f 'src/.unitize/_DirectInternals.c' || echo '$(srcdir)/'`src/.unitize/_DirectInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_DirectInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_DirectInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_DirectInternals.c' object='src/.unitize/shotwell-_DirectInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_DirectInternals.o `test -f 'src/.unitize/_DirectInternals.c' || echo '$(srcdir)/'`src/.unitize/_DirectInternals.c + +src/.unitize/shotwell-_DirectInternals.obj: src/.unitize/_DirectInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_DirectInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_DirectInternals.Tpo -c -o src/.unitize/shotwell-_DirectInternals.obj `if test -f 'src/.unitize/_DirectInternals.c'; then $(CYGPATH_W) 'src/.unitize/_DirectInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_DirectInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_DirectInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_DirectInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_DirectInternals.c' object='src/.unitize/shotwell-_DirectInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_DirectInternals.obj `if test -f 'src/.unitize/_DirectInternals.c'; then $(CYGPATH_W) 'src/.unitize/_DirectInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_DirectInternals.c'; fi` + +src/.unitize/shotwell-_CoreInternals.o: src/.unitize/_CoreInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_CoreInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_CoreInternals.Tpo -c -o src/.unitize/shotwell-_CoreInternals.o `test -f 'src/.unitize/_CoreInternals.c' || echo '$(srcdir)/'`src/.unitize/_CoreInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_CoreInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_CoreInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_CoreInternals.c' object='src/.unitize/shotwell-_CoreInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_CoreInternals.o `test -f 'src/.unitize/_CoreInternals.c' || echo '$(srcdir)/'`src/.unitize/_CoreInternals.c + +src/.unitize/shotwell-_CoreInternals.obj: src/.unitize/_CoreInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_CoreInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_CoreInternals.Tpo -c -o src/.unitize/shotwell-_CoreInternals.obj `if test -f 'src/.unitize/_CoreInternals.c'; then $(CYGPATH_W) 'src/.unitize/_CoreInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_CoreInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_CoreInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_CoreInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_CoreInternals.c' object='src/.unitize/shotwell-_CoreInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_CoreInternals.obj `if test -f 'src/.unitize/_CoreInternals.c'; then $(CYGPATH_W) 'src/.unitize/_CoreInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_CoreInternals.c'; fi` + +src/.unitize/shotwell-_SidebarInternals.o: src/.unitize/_SidebarInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_SidebarInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_SidebarInternals.Tpo -c -o src/.unitize/shotwell-_SidebarInternals.o `test -f 'src/.unitize/_SidebarInternals.c' || echo '$(srcdir)/'`src/.unitize/_SidebarInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_SidebarInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_SidebarInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_SidebarInternals.c' object='src/.unitize/shotwell-_SidebarInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_SidebarInternals.o `test -f 'src/.unitize/_SidebarInternals.c' || echo '$(srcdir)/'`src/.unitize/_SidebarInternals.c + +src/.unitize/shotwell-_SidebarInternals.obj: src/.unitize/_SidebarInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_SidebarInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_SidebarInternals.Tpo -c -o src/.unitize/shotwell-_SidebarInternals.obj `if test -f 'src/.unitize/_SidebarInternals.c'; then $(CYGPATH_W) 'src/.unitize/_SidebarInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_SidebarInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_SidebarInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_SidebarInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_SidebarInternals.c' object='src/.unitize/shotwell-_SidebarInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_SidebarInternals.obj `if test -f 'src/.unitize/_SidebarInternals.c'; then $(CYGPATH_W) 'src/.unitize/_SidebarInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_SidebarInternals.c'; fi` + +src/.unitize/shotwell-_EventsInternals.o: src/.unitize/_EventsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_EventsInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_EventsInternals.Tpo -c -o src/.unitize/shotwell-_EventsInternals.o `test -f 'src/.unitize/_EventsInternals.c' || echo '$(srcdir)/'`src/.unitize/_EventsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_EventsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_EventsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_EventsInternals.c' object='src/.unitize/shotwell-_EventsInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_EventsInternals.o `test -f 'src/.unitize/_EventsInternals.c' || echo '$(srcdir)/'`src/.unitize/_EventsInternals.c + +src/.unitize/shotwell-_EventsInternals.obj: src/.unitize/_EventsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_EventsInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_EventsInternals.Tpo -c -o src/.unitize/shotwell-_EventsInternals.obj `if test -f 'src/.unitize/_EventsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_EventsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_EventsInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_EventsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_EventsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_EventsInternals.c' object='src/.unitize/shotwell-_EventsInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_EventsInternals.obj `if test -f 'src/.unitize/_EventsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_EventsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_EventsInternals.c'; fi` + +src/.unitize/shotwell-_TagsInternals.o: src/.unitize/_TagsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_TagsInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_TagsInternals.Tpo -c -o src/.unitize/shotwell-_TagsInternals.o `test -f 'src/.unitize/_TagsInternals.c' || echo '$(srcdir)/'`src/.unitize/_TagsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_TagsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_TagsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_TagsInternals.c' object='src/.unitize/shotwell-_TagsInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_TagsInternals.o `test -f 'src/.unitize/_TagsInternals.c' || echo '$(srcdir)/'`src/.unitize/_TagsInternals.c + +src/.unitize/shotwell-_TagsInternals.obj: src/.unitize/_TagsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_TagsInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_TagsInternals.Tpo -c -o src/.unitize/shotwell-_TagsInternals.obj `if test -f 'src/.unitize/_TagsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_TagsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_TagsInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_TagsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_TagsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_TagsInternals.c' object='src/.unitize/shotwell-_TagsInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_TagsInternals.obj `if test -f 'src/.unitize/_TagsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_TagsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_TagsInternals.c'; fi` + +src/.unitize/shotwell-_CameraInternals.o: src/.unitize/_CameraInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_CameraInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_CameraInternals.Tpo -c -o src/.unitize/shotwell-_CameraInternals.o `test -f 'src/.unitize/_CameraInternals.c' || echo '$(srcdir)/'`src/.unitize/_CameraInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_CameraInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_CameraInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_CameraInternals.c' object='src/.unitize/shotwell-_CameraInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_CameraInternals.o `test -f 'src/.unitize/_CameraInternals.c' || echo '$(srcdir)/'`src/.unitize/_CameraInternals.c + +src/.unitize/shotwell-_CameraInternals.obj: src/.unitize/_CameraInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_CameraInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_CameraInternals.Tpo -c -o src/.unitize/shotwell-_CameraInternals.obj `if test -f 'src/.unitize/_CameraInternals.c'; then $(CYGPATH_W) 'src/.unitize/_CameraInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_CameraInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_CameraInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_CameraInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_CameraInternals.c' object='src/.unitize/shotwell-_CameraInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_CameraInternals.obj `if test -f 'src/.unitize/_CameraInternals.c'; then $(CYGPATH_W) 'src/.unitize/_CameraInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_CameraInternals.c'; fi` + +src/.unitize/shotwell-_SearchesInternals.o: src/.unitize/_SearchesInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_SearchesInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_SearchesInternals.Tpo -c -o src/.unitize/shotwell-_SearchesInternals.o `test -f 'src/.unitize/_SearchesInternals.c' || echo '$(srcdir)/'`src/.unitize/_SearchesInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_SearchesInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_SearchesInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_SearchesInternals.c' object='src/.unitize/shotwell-_SearchesInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_SearchesInternals.o `test -f 'src/.unitize/_SearchesInternals.c' || echo '$(srcdir)/'`src/.unitize/_SearchesInternals.c + +src/.unitize/shotwell-_SearchesInternals.obj: src/.unitize/_SearchesInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_SearchesInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_SearchesInternals.Tpo -c -o src/.unitize/shotwell-_SearchesInternals.obj `if test -f 'src/.unitize/_SearchesInternals.c'; then $(CYGPATH_W) 'src/.unitize/_SearchesInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_SearchesInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_SearchesInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_SearchesInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_SearchesInternals.c' object='src/.unitize/shotwell-_SearchesInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_SearchesInternals.obj `if test -f 'src/.unitize/_SearchesInternals.c'; then $(CYGPATH_W) 'src/.unitize/_SearchesInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_SearchesInternals.c'; fi` + +src/.unitize/shotwell-_ConfigInternals.o: src/.unitize/_ConfigInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_ConfigInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_ConfigInternals.Tpo -c -o src/.unitize/shotwell-_ConfigInternals.o `test -f 'src/.unitize/_ConfigInternals.c' || echo '$(srcdir)/'`src/.unitize/_ConfigInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_ConfigInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_ConfigInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_ConfigInternals.c' object='src/.unitize/shotwell-_ConfigInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_ConfigInternals.o `test -f 'src/.unitize/_ConfigInternals.c' || echo '$(srcdir)/'`src/.unitize/_ConfigInternals.c + +src/.unitize/shotwell-_ConfigInternals.obj: src/.unitize/_ConfigInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_ConfigInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_ConfigInternals.Tpo -c -o src/.unitize/shotwell-_ConfigInternals.obj `if test -f 'src/.unitize/_ConfigInternals.c'; then $(CYGPATH_W) 'src/.unitize/_ConfigInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_ConfigInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_ConfigInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_ConfigInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_ConfigInternals.c' object='src/.unitize/shotwell-_ConfigInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_ConfigInternals.obj `if test -f 'src/.unitize/_ConfigInternals.c'; then $(CYGPATH_W) 'src/.unitize/_ConfigInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_ConfigInternals.c'; fi` + +src/.unitize/shotwell-_DataImportsInternals.o: src/.unitize/_DataImportsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_DataImportsInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_DataImportsInternals.Tpo -c -o src/.unitize/shotwell-_DataImportsInternals.o `test -f 'src/.unitize/_DataImportsInternals.c' || echo '$(srcdir)/'`src/.unitize/_DataImportsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_DataImportsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_DataImportsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_DataImportsInternals.c' object='src/.unitize/shotwell-_DataImportsInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_DataImportsInternals.o `test -f 'src/.unitize/_DataImportsInternals.c' || echo '$(srcdir)/'`src/.unitize/_DataImportsInternals.c + +src/.unitize/shotwell-_DataImportsInternals.obj: src/.unitize/_DataImportsInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_DataImportsInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_DataImportsInternals.Tpo -c -o src/.unitize/shotwell-_DataImportsInternals.obj `if test -f 'src/.unitize/_DataImportsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_DataImportsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_DataImportsInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_DataImportsInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_DataImportsInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_DataImportsInternals.c' object='src/.unitize/shotwell-_DataImportsInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_DataImportsInternals.obj `if test -f 'src/.unitize/_DataImportsInternals.c'; then $(CYGPATH_W) 'src/.unitize/_DataImportsInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_DataImportsInternals.c'; fi` + +src/.unitize/shotwell-_FoldersInternals.o: src/.unitize/_FoldersInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_FoldersInternals.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_FoldersInternals.Tpo -c -o src/.unitize/shotwell-_FoldersInternals.o `test -f 'src/.unitize/_FoldersInternals.c' || echo '$(srcdir)/'`src/.unitize/_FoldersInternals.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_FoldersInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_FoldersInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_FoldersInternals.c' object='src/.unitize/shotwell-_FoldersInternals.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_FoldersInternals.o `test -f 'src/.unitize/_FoldersInternals.c' || echo '$(srcdir)/'`src/.unitize/_FoldersInternals.c + +src/.unitize/shotwell-_FoldersInternals.obj: src/.unitize/_FoldersInternals.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_FoldersInternals.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_FoldersInternals.Tpo -c -o src/.unitize/shotwell-_FoldersInternals.obj `if test -f 'src/.unitize/_FoldersInternals.c'; then $(CYGPATH_W) 'src/.unitize/_FoldersInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_FoldersInternals.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_FoldersInternals.Tpo src/.unitize/$(DEPDIR)/shotwell-_FoldersInternals.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_FoldersInternals.c' object='src/.unitize/shotwell-_FoldersInternals.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_FoldersInternals.obj `if test -f 'src/.unitize/_FoldersInternals.c'; then $(CYGPATH_W) 'src/.unitize/_FoldersInternals.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_FoldersInternals.c'; fi` + +src/.unitize/shotwell-_Library_unitize_entry.o: src/.unitize/_Library_unitize_entry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_Library_unitize_entry.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_Library_unitize_entry.Tpo -c -o src/.unitize/shotwell-_Library_unitize_entry.o `test -f 'src/.unitize/_Library_unitize_entry.c' || echo '$(srcdir)/'`src/.unitize/_Library_unitize_entry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_Library_unitize_entry.Tpo src/.unitize/$(DEPDIR)/shotwell-_Library_unitize_entry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_Library_unitize_entry.c' object='src/.unitize/shotwell-_Library_unitize_entry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_Library_unitize_entry.o `test -f 'src/.unitize/_Library_unitize_entry.c' || echo '$(srcdir)/'`src/.unitize/_Library_unitize_entry.c + +src/.unitize/shotwell-_Library_unitize_entry.obj: src/.unitize/_Library_unitize_entry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_Library_unitize_entry.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_Library_unitize_entry.Tpo -c -o src/.unitize/shotwell-_Library_unitize_entry.obj `if test -f 'src/.unitize/_Library_unitize_entry.c'; then $(CYGPATH_W) 'src/.unitize/_Library_unitize_entry.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_Library_unitize_entry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_Library_unitize_entry.Tpo src/.unitize/$(DEPDIR)/shotwell-_Library_unitize_entry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_Library_unitize_entry.c' object='src/.unitize/shotwell-_Library_unitize_entry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_Library_unitize_entry.obj `if test -f 'src/.unitize/_Library_unitize_entry.c'; then $(CYGPATH_W) 'src/.unitize/_Library_unitize_entry.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_Library_unitize_entry.c'; fi` + +src/.unitize/shotwell-_Direct_unitize_entry.o: src/.unitize/_Direct_unitize_entry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_Direct_unitize_entry.o -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_Direct_unitize_entry.Tpo -c -o src/.unitize/shotwell-_Direct_unitize_entry.o `test -f 'src/.unitize/_Direct_unitize_entry.c' || echo '$(srcdir)/'`src/.unitize/_Direct_unitize_entry.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_Direct_unitize_entry.Tpo src/.unitize/$(DEPDIR)/shotwell-_Direct_unitize_entry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_Direct_unitize_entry.c' object='src/.unitize/shotwell-_Direct_unitize_entry.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_Direct_unitize_entry.o `test -f 'src/.unitize/_Direct_unitize_entry.c' || echo '$(srcdir)/'`src/.unitize/_Direct_unitize_entry.c + +src/.unitize/shotwell-_Direct_unitize_entry.obj: src/.unitize/_Direct_unitize_entry.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -MT src/.unitize/shotwell-_Direct_unitize_entry.obj -MD -MP -MF src/.unitize/$(DEPDIR)/shotwell-_Direct_unitize_entry.Tpo -c -o src/.unitize/shotwell-_Direct_unitize_entry.obj `if test -f 'src/.unitize/_Direct_unitize_entry.c'; then $(CYGPATH_W) 'src/.unitize/_Direct_unitize_entry.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_Direct_unitize_entry.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/.unitize/$(DEPDIR)/shotwell-_Direct_unitize_entry.Tpo src/.unitize/$(DEPDIR)/shotwell-_Direct_unitize_entry.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/.unitize/_Direct_unitize_entry.c' object='src/.unitize/shotwell-_Direct_unitize_entry.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(shotwell_CFLAGS) $(CFLAGS) -c -o src/.unitize/shotwell-_Direct_unitize_entry.obj `if test -f 'src/.unitize/_Direct_unitize_entry.c'; then $(CYGPATH_W) 'src/.unitize/_Direct_unitize_entry.c'; else $(CYGPATH_W) '$(srcdir)/src/.unitize/_Direct_unitize_entry.c'; fi` + +thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.o: thumbnailer/shotwell-video-thumbnailer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(thumbnailer_shotwell_video_thumbnailer_CFLAGS) $(CFLAGS) -MT thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.o -MD -MP -MF thumbnailer/$(DEPDIR)/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.Tpo -c -o thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.o `test -f 'thumbnailer/shotwell-video-thumbnailer.c' || echo '$(srcdir)/'`thumbnailer/shotwell-video-thumbnailer.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) thumbnailer/$(DEPDIR)/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.Tpo thumbnailer/$(DEPDIR)/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thumbnailer/shotwell-video-thumbnailer.c' object='thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(thumbnailer_shotwell_video_thumbnailer_CFLAGS) $(CFLAGS) -c -o thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.o `test -f 'thumbnailer/shotwell-video-thumbnailer.c' || echo '$(srcdir)/'`thumbnailer/shotwell-video-thumbnailer.c + +thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.obj: thumbnailer/shotwell-video-thumbnailer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(thumbnailer_shotwell_video_thumbnailer_CFLAGS) $(CFLAGS) -MT thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.obj -MD -MP -MF thumbnailer/$(DEPDIR)/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.Tpo -c -o thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.obj `if test -f 'thumbnailer/shotwell-video-thumbnailer.c'; then $(CYGPATH_W) 'thumbnailer/shotwell-video-thumbnailer.c'; else $(CYGPATH_W) '$(srcdir)/thumbnailer/shotwell-video-thumbnailer.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) thumbnailer/$(DEPDIR)/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.Tpo thumbnailer/$(DEPDIR)/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thumbnailer/shotwell-video-thumbnailer.c' object='thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(thumbnailer_shotwell_video_thumbnailer_CFLAGS) $(CFLAGS) -c -o thumbnailer/thumbnailer_shotwell_video_thumbnailer-shotwell-video-thumbnailer.obj `if test -f 'thumbnailer/shotwell-video-thumbnailer.c'; then $(CYGPATH_W) 'thumbnailer/shotwell-video-thumbnailer.c'; else $(CYGPATH_W) '$(srcdir)/thumbnailer/shotwell-video-thumbnailer.c'; fi` +$(srcdir)/src/unit/Unit.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/Util.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/file.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/image.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/misc.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/string.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/system.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/KeyValueMap.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/util/ui.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/threads/Threads.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/threads/Workers.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/threads/BackgroundJob.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/threads/Semaphore.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/Db.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/DatabaseTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/PhotoTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/EventTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/TagTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/TombstoneTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/VideoTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/VersionTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/db/SavedSearchDBTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/editing_tools/EditingTools.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/editing_tools/StraightenTool.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/slideshow/Slideshow.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/slideshow/TransitionEffects.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/Photos.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/PhotoFileAdapter.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/PhotoFileFormat.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/PhotoFileSniffer.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/PhotoMetadata.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/GRaw.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/GdkSupport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/JfifSupport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/BmpSupport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/RawSupport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/PngSupport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/photos/TiffSupport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/plugins/Plugins.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/plugins/StandardHostInterface.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/plugins/ManifestWidget.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/publishing/Publishing.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/publishing/PublishingUI.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/publishing/PublishingPluginHost.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/publishing/APIGlue.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/Library.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/LibraryWindow.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/Branch.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/TrashSidebarEntry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/OfflineSidebarEntry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/FlaggedSidebarEntry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/LastImportSidebarEntry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/ImportQueueSidebarEntry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/FlaggedPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/ImportQueuePage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/LastImportPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/OfflinePage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/library/TrashPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/direct/Direct.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/direct/DirectWindow.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/direct/DirectPhoto.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/direct/DirectPhotoPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/direct/DirectView.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/Core.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DataCollection.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DataSet.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/util.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/SourceCollection.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/SourceHoldingTank.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DatabaseSourceCollection.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/ContainerSourceCollection.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/ViewCollection.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DataObject.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/Alteration.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DataSource.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DataSourceTypes.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DataView.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/DataViewTypes.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/Tracker.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/core/SourceInterfaces.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/sidebar/Sidebar.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/sidebar/Branch.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/sidebar/Entry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/sidebar/Tree.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/sidebar/common.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/events/Events.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/events/Branch.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/events/EventsDirectoryPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/events/EventPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/events/EventDirectoryItem.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/tags/Tags.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/tags/Branch.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/tags/TagPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/tags/HierarchicalTagIndex.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/tags/HierarchicalTagUtilities.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/camera/Camera.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/camera/Branch.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/camera/CameraTable.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/camera/GPhoto.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/camera/ImportPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/searches/Searches.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/searches/Branch.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/searches/SearchBoolean.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/searches/SavedSearchPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/searches/SavedSearchDialog.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/config/Config.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/config/ConfigurationInterfaces.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/config/GSettingsEngine.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/data_imports/DataImports.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/data_imports/DataImportsPluginHost.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/data_imports/DataImportsUI.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/data_imports/DataImportJob.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/data_imports/DataImportSource.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/folders/Folders.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/folders/Branch.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/folders/Page.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/main.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/AppWindow.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/CollectionPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/NaturalCollate.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Thumbnail.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/ThumbnailCache.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/CheckerboardLayout.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/PhotoPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Page.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/SortedList.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Dimensions.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Box.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Photo.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Orientation.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/BatchImport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Dialogs.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Resources.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Debug.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/ColorTransformation.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Properties.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/CustomComponents.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Event.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/International.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/AppDirs.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/PixbufCache.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/CommandManager.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Commands.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/SlideshowPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/LibraryFiles.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Printing.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Tag.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Screensaver.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Exporter.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/DirectoryMonitor.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/LibraryMonitor.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/VideoSupport.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Tombstone.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/MetadataWriter.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Application.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/TimedQueue.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/MediaPage.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/MediaDataRepresentation.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/DesktopIntegration.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/MediaInterfaces.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/MediaMetadata.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/VideoMetadata.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/MediaMonitor.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/PhotoMonitor.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/VideoMonitor.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/SearchFilter.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/MediaViewTracker.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/UnityProgressBar.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/Upgrades.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_UnitInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_UtilInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_ThreadsInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_DbInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_EditingToolsInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_PluginsInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_SlideshowInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_PhotosInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_PublishingInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_LibraryInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_DirectInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_CoreInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_SidebarInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_EventsInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_TagsInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_CameraInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_SearchesInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_ConfigInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_DataImportsInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_FoldersInternals.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_Library_unitize_entry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/src/.unitize/_Direct_unitize_entry.c: $(srcdir)/shotwell_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/shotwell_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/shotwell_vala.stamp; \ + fi +$(srcdir)/shotwell_vala.stamp: src/unit/Unit.vala src/util/Util.vala src/util/file.vala src/util/image.vala src/util/misc.vala src/util/string.vala src/util/system.vala src/util/KeyValueMap.vala src/util/ui.vala src/threads/Threads.vala src/threads/Workers.vala src/threads/BackgroundJob.vala src/threads/Semaphore.vala src/db/Db.vala src/db/DatabaseTable.vala src/db/PhotoTable.vala src/db/EventTable.vala src/db/TagTable.vala src/db/TombstoneTable.vala src/db/VideoTable.vala src/db/VersionTable.vala src/db/SavedSearchDBTable.vala src/editing_tools/EditingTools.vala src/editing_tools/StraightenTool.vala src/slideshow/Slideshow.vala src/slideshow/TransitionEffects.vala src/photos/Photos.vala src/photos/PhotoFileAdapter.vala src/photos/PhotoFileFormat.vala src/photos/PhotoFileSniffer.vala src/photos/PhotoMetadata.vala src/photos/GRaw.vala src/photos/GdkSupport.vala src/photos/JfifSupport.vala src/photos/BmpSupport.vala src/photos/RawSupport.vala src/photos/PngSupport.vala src/photos/TiffSupport.vala src/plugins/Plugins.vala src/plugins/StandardHostInterface.vala src/plugins/ManifestWidget.vala src/publishing/Publishing.vala src/publishing/PublishingUI.vala src/publishing/PublishingPluginHost.vala src/publishing/APIGlue.vala src/library/Library.vala src/library/LibraryWindow.vala src/library/Branch.vala src/library/TrashSidebarEntry.vala src/library/OfflineSidebarEntry.vala src/library/FlaggedSidebarEntry.vala src/library/LastImportSidebarEntry.vala src/library/ImportQueueSidebarEntry.vala src/library/FlaggedPage.vala src/library/ImportQueuePage.vala src/library/LastImportPage.vala src/library/OfflinePage.vala src/library/TrashPage.vala src/direct/Direct.vala src/direct/DirectWindow.vala src/direct/DirectPhoto.vala src/direct/DirectPhotoPage.vala src/direct/DirectView.vala src/core/Core.vala src/core/DataCollection.vala src/core/DataSet.vala src/core/util.vala src/core/SourceCollection.vala src/core/SourceHoldingTank.vala src/core/DatabaseSourceCollection.vala src/core/ContainerSourceCollection.vala src/core/ViewCollection.vala src/core/DataObject.vala src/core/Alteration.vala src/core/DataSource.vala src/core/DataSourceTypes.vala src/core/DataView.vala src/core/DataViewTypes.vala src/core/Tracker.vala src/core/SourceInterfaces.vala src/sidebar/Sidebar.vala src/sidebar/Branch.vala src/sidebar/Entry.vala src/sidebar/Tree.vala src/sidebar/common.vala src/events/Events.vala src/events/Branch.vala src/events/EventsDirectoryPage.vala src/events/EventPage.vala src/events/EventDirectoryItem.vala src/tags/Tags.vala src/tags/Branch.vala src/tags/TagPage.vala src/tags/HierarchicalTagIndex.vala src/tags/HierarchicalTagUtilities.vala src/camera/Camera.vala src/camera/Branch.vala src/camera/CameraTable.vala src/camera/GPhoto.vala src/camera/ImportPage.vala src/searches/Searches.vala src/searches/Branch.vala src/searches/SearchBoolean.vala src/searches/SavedSearchPage.vala src/searches/SavedSearchDialog.vala src/config/Config.vala src/config/ConfigurationInterfaces.vala src/config/GSettingsEngine.vala src/data_imports/DataImports.vala src/data_imports/DataImportsPluginHost.vala src/data_imports/DataImportsUI.vala src/data_imports/DataImportJob.vala src/data_imports/DataImportSource.vala src/folders/Folders.vala src/folders/Branch.vala src/folders/Page.vala src/main.vala src/AppWindow.vala src/CollectionPage.vala src/NaturalCollate.vala src/Thumbnail.vala src/ThumbnailCache.vala src/CheckerboardLayout.vala src/PhotoPage.vala src/Page.vala src/SortedList.vala src/Dimensions.vala src/Box.vala src/Photo.vala src/Orientation.vala src/BatchImport.vala src/Dialogs.vala src/Resources.vala src/Debug.vala src/ColorTransformation.vala src/Properties.vala src/CustomComponents.vala src/Event.vala src/International.vala src/AppDirs.vala src/PixbufCache.vala src/CommandManager.vala src/Commands.vala src/SlideshowPage.vala src/LibraryFiles.vala src/Printing.vala src/Tag.vala src/Screensaver.vala src/Exporter.vala src/DirectoryMonitor.vala src/LibraryMonitor.vala src/VideoSupport.vala src/Tombstone.vala src/MetadataWriter.vala src/Application.vala src/TimedQueue.vala src/MediaPage.vala src/MediaDataRepresentation.vala src/DesktopIntegration.vala src/MediaInterfaces.vala src/MediaMetadata.vala src/VideoMetadata.vala src/MediaMonitor.vala src/PhotoMonitor.vala src/VideoMonitor.vala src/SearchFilter.vala src/MediaViewTracker.vala src/UnityProgressBar.vala src/Upgrades.vala src/.unitize/_UnitInternals.vala src/.unitize/_UtilInternals.vala src/.unitize/_ThreadsInternals.vala src/.unitize/_DbInternals.vala src/.unitize/_EditingToolsInternals.vala src/.unitize/_PluginsInternals.vala src/.unitize/_SlideshowInternals.vala src/.unitize/_PhotosInternals.vala src/.unitize/_PublishingInternals.vala src/.unitize/_LibraryInternals.vala src/.unitize/_DirectInternals.vala src/.unitize/_CoreInternals.vala src/.unitize/_SidebarInternals.vala src/.unitize/_EventsInternals.vala src/.unitize/_TagsInternals.vala src/.unitize/_CameraInternals.vala src/.unitize/_SearchesInternals.vala src/.unitize/_ConfigInternals.vala src/.unitize/_DataImportsInternals.vala src/.unitize/_FoldersInternals.vala src/.unitize/_Library_unitize_entry.vala src/.unitize/_Direct_unitize_entry.vala plugins/shotwell-plugin-dev-1.0.vapi + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(shotwell_VALAFLAGS) $(VALAFLAGS) -C src/unit/Unit.vala src/util/Util.vala src/util/file.vala src/util/image.vala src/util/misc.vala src/util/string.vala src/util/system.vala src/util/KeyValueMap.vala src/util/ui.vala src/threads/Threads.vala src/threads/Workers.vala src/threads/BackgroundJob.vala src/threads/Semaphore.vala src/db/Db.vala src/db/DatabaseTable.vala src/db/PhotoTable.vala src/db/EventTable.vala src/db/TagTable.vala src/db/TombstoneTable.vala src/db/VideoTable.vala src/db/VersionTable.vala src/db/SavedSearchDBTable.vala src/editing_tools/EditingTools.vala src/editing_tools/StraightenTool.vala src/slideshow/Slideshow.vala src/slideshow/TransitionEffects.vala src/photos/Photos.vala src/photos/PhotoFileAdapter.vala src/photos/PhotoFileFormat.vala src/photos/PhotoFileSniffer.vala src/photos/PhotoMetadata.vala src/photos/GRaw.vala src/photos/GdkSupport.vala src/photos/JfifSupport.vala src/photos/BmpSupport.vala src/photos/RawSupport.vala src/photos/PngSupport.vala src/photos/TiffSupport.vala src/plugins/Plugins.vala src/plugins/StandardHostInterface.vala src/plugins/ManifestWidget.vala src/publishing/Publishing.vala src/publishing/PublishingUI.vala src/publishing/PublishingPluginHost.vala src/publishing/APIGlue.vala src/library/Library.vala src/library/LibraryWindow.vala src/library/Branch.vala src/library/TrashSidebarEntry.vala src/library/OfflineSidebarEntry.vala src/library/FlaggedSidebarEntry.vala src/library/LastImportSidebarEntry.vala src/library/ImportQueueSidebarEntry.vala src/library/FlaggedPage.vala src/library/ImportQueuePage.vala src/library/LastImportPage.vala src/library/OfflinePage.vala src/library/TrashPage.vala src/direct/Direct.vala src/direct/DirectWindow.vala src/direct/DirectPhoto.vala src/direct/DirectPhotoPage.vala src/direct/DirectView.vala src/core/Core.vala src/core/DataCollection.vala src/core/DataSet.vala src/core/util.vala src/core/SourceCollection.vala src/core/SourceHoldingTank.vala src/core/DatabaseSourceCollection.vala src/core/ContainerSourceCollection.vala src/core/ViewCollection.vala src/core/DataObject.vala src/core/Alteration.vala src/core/DataSource.vala src/core/DataSourceTypes.vala src/core/DataView.vala src/core/DataViewTypes.vala src/core/Tracker.vala src/core/SourceInterfaces.vala src/sidebar/Sidebar.vala src/sidebar/Branch.vala src/sidebar/Entry.vala src/sidebar/Tree.vala src/sidebar/common.vala src/events/Events.vala src/events/Branch.vala src/events/EventsDirectoryPage.vala src/events/EventPage.vala src/events/EventDirectoryItem.vala src/tags/Tags.vala src/tags/Branch.vala src/tags/TagPage.vala src/tags/HierarchicalTagIndex.vala src/tags/HierarchicalTagUtilities.vala src/camera/Camera.vala src/camera/Branch.vala src/camera/CameraTable.vala src/camera/GPhoto.vala src/camera/ImportPage.vala src/searches/Searches.vala src/searches/Branch.vala src/searches/SearchBoolean.vala src/searches/SavedSearchPage.vala src/searches/SavedSearchDialog.vala src/config/Config.vala src/config/ConfigurationInterfaces.vala src/config/GSettingsEngine.vala src/data_imports/DataImports.vala src/data_imports/DataImportsPluginHost.vala src/data_imports/DataImportsUI.vala src/data_imports/DataImportJob.vala src/data_imports/DataImportSource.vala src/folders/Folders.vala src/folders/Branch.vala src/folders/Page.vala src/main.vala src/AppWindow.vala src/CollectionPage.vala src/NaturalCollate.vala src/Thumbnail.vala src/ThumbnailCache.vala src/CheckerboardLayout.vala src/PhotoPage.vala src/Page.vala src/SortedList.vala src/Dimensions.vala src/Box.vala src/Photo.vala src/Orientation.vala src/BatchImport.vala src/Dialogs.vala src/Resources.vala src/Debug.vala src/ColorTransformation.vala src/Properties.vala src/CustomComponents.vala src/Event.vala src/International.vala src/AppDirs.vala src/PixbufCache.vala src/CommandManager.vala src/Commands.vala src/SlideshowPage.vala src/LibraryFiles.vala src/Printing.vala src/Tag.vala src/Screensaver.vala src/Exporter.vala src/DirectoryMonitor.vala src/LibraryMonitor.vala src/VideoSupport.vala src/Tombstone.vala src/MetadataWriter.vala src/Application.vala src/TimedQueue.vala src/MediaPage.vala src/MediaDataRepresentation.vala src/DesktopIntegration.vala src/MediaInterfaces.vala src/MediaMetadata.vala src/VideoMetadata.vala src/MediaMonitor.vala src/PhotoMonitor.vala src/VideoMonitor.vala src/SearchFilter.vala src/MediaViewTracker.vala src/UnityProgressBar.vala src/Upgrades.vala src/.unitize/_UnitInternals.vala src/.unitize/_UtilInternals.vala src/.unitize/_ThreadsInternals.vala src/.unitize/_DbInternals.vala src/.unitize/_EditingToolsInternals.vala src/.unitize/_PluginsInternals.vala src/.unitize/_SlideshowInternals.vala src/.unitize/_PhotosInternals.vala src/.unitize/_PublishingInternals.vala src/.unitize/_LibraryInternals.vala src/.unitize/_DirectInternals.vala src/.unitize/_CoreInternals.vala src/.unitize/_SidebarInternals.vala src/.unitize/_EventsInternals.vala src/.unitize/_TagsInternals.vala src/.unitize/_CameraInternals.vala src/.unitize/_SearchesInternals.vala src/.unitize/_ConfigInternals.vala src/.unitize/_DataImportsInternals.vala src/.unitize/_FoldersInternals.vala src/.unitize/_Library_unitize_entry.vala src/.unitize/_Direct_unitize_entry.vala plugins/shotwell-plugin-dev-1.0.vapi + $(AM_V_at)mv -f $@-t $@ +$(srcdir)/thumbnailer/shotwell-video-thumbnailer.c: $(srcdir)/thumbnailer_shotwell_video_thumbnailer_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/thumbnailer_shotwell_video_thumbnailer_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/thumbnailer_shotwell_video_thumbnailer_vala.stamp; \ + fi +$(srcdir)/thumbnailer_shotwell_video_thumbnailer_vala.stamp: thumbnailer/shotwell-video-thumbnailer.vala + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(thumbnailer_shotwell_video_thumbnailer_VALAFLAGS) $(VALAFLAGS) -C thumbnailer/shotwell-video-thumbnailer.vala + $(AM_V_at)mv -f $@-t $@ +$(srcdir)/plugins/shotwell-transitions/BlindsEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/ChessEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/CircleEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/CirclesEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/ClockEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/CrumbleEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/FadeEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/shotwell-transitions.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/SlideEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/SquaresEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-transitions/StripesEffect.c: $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp; \ + fi +$(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp: plugins/shotwell-transitions/BlindsEffect.vala plugins/shotwell-transitions/ChessEffect.vala plugins/shotwell-transitions/CircleEffect.vala plugins/shotwell-transitions/CirclesEffect.vala plugins/shotwell-transitions/ClockEffect.vala plugins/shotwell-transitions/CrumbleEffect.vala plugins/shotwell-transitions/FadeEffect.vala plugins/shotwell-transitions/shotwell-transitions.vala plugins/shotwell-transitions/SlideEffect.vala plugins/shotwell-transitions/SquaresEffect.vala plugins/shotwell-transitions/StripesEffect.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(plugins_shotwell_transitions_shotwell_transitions_la_VALAFLAGS) $(VALAFLAGS) -C plugins/shotwell-transitions/BlindsEffect.vala plugins/shotwell-transitions/ChessEffect.vala plugins/shotwell-transitions/CircleEffect.vala plugins/shotwell-transitions/CirclesEffect.vala plugins/shotwell-transitions/ClockEffect.vala plugins/shotwell-transitions/CrumbleEffect.vala plugins/shotwell-transitions/FadeEffect.vala plugins/shotwell-transitions/shotwell-transitions.vala plugins/shotwell-transitions/SlideEffect.vala plugins/shotwell-transitions/SquaresEffect.vala plugins/shotwell-transitions/StripesEffect.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)mv -f $@-t $@ +$(srcdir)/plugins/shotwell-publishing-extras/GalleryConnector.c: $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing-extras/RajcePublishing.c: $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing-extras/shotwell-publishing-extras.c: $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing-extras/TumblrPublishing.c: $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing-extras/YandexPublishing.c: $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp; \ + fi +$(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp: plugins/shotwell-publishing-extras/GalleryConnector.vala plugins/shotwell-publishing-extras/RajcePublishing.vala plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala plugins/shotwell-publishing-extras/TumblrPublishing.vala plugins/shotwell-publishing-extras/YandexPublishing.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_VALAFLAGS) $(VALAFLAGS) -C plugins/shotwell-publishing-extras/GalleryConnector.vala plugins/shotwell-publishing-extras/RajcePublishing.vala plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala plugins/shotwell-publishing-extras/TumblrPublishing.vala plugins/shotwell-publishing-extras/YandexPublishing.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)mv -f $@-t $@ +$(srcdir)/plugins/shotwell-publishing/shotwell-publishing.c: $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing/FacebookPublishing.c: $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing/PicasaPublishing.c: $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing/FlickrPublishing.c: $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing/YouTubePublishing.c: $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-publishing/PiwigoPublishing.c: $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp; \ + fi +$(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp: plugins/shotwell-publishing/shotwell-publishing.vala plugins/shotwell-publishing/FacebookPublishing.vala plugins/shotwell-publishing/PicasaPublishing.vala plugins/shotwell-publishing/FlickrPublishing.vala plugins/shotwell-publishing/YouTubePublishing.vala plugins/shotwell-publishing/PiwigoPublishing.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(plugins_shotwell_publishing_shotwell_publishing_la_VALAFLAGS) $(VALAFLAGS) -C plugins/shotwell-publishing/shotwell-publishing.vala plugins/shotwell-publishing/FacebookPublishing.vala plugins/shotwell-publishing/PicasaPublishing.vala plugins/shotwell-publishing/FlickrPublishing.vala plugins/shotwell-publishing/YouTubePublishing.vala plugins/shotwell-publishing/PiwigoPublishing.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)mv -f $@-t $@ +$(srcdir)/src/plugins/SpitInterfaces.c: $(srcdir)/src_plugins_libplugin_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/src_plugins_libplugin_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/src_plugins_libplugin_la_vala.stamp; \ + fi +$(srcdir)/src/plugins/TransitionsInterfaces.c: $(srcdir)/src_plugins_libplugin_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/src_plugins_libplugin_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/src_plugins_libplugin_la_vala.stamp; \ + fi +$(srcdir)/src/plugins/PublishingInterfaces.c: $(srcdir)/src_plugins_libplugin_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/src_plugins_libplugin_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/src_plugins_libplugin_la_vala.stamp; \ + fi +$(srcdir)/src/plugins/DataImportsInterfaces.c: $(srcdir)/src_plugins_libplugin_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/src_plugins_libplugin_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/src_plugins_libplugin_la_vala.stamp; \ + fi +$(srcdir)/src_plugins_libplugin_la_vala.stamp: src/plugins/SpitInterfaces.vala src/plugins/TransitionsInterfaces.vala src/plugins/PublishingInterfaces.vala src/plugins/DataImportsInterfaces.vala + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(src_plugins_libplugin_la_VALAFLAGS) $(VALAFLAGS) -C src/plugins/SpitInterfaces.vala src/plugins/TransitionsInterfaces.vala src/plugins/PublishingInterfaces.vala src/plugins/DataImportsInterfaces.vala + $(AM_V_at)mv -f $@-t $@ +$(srcdir)/plugins/common/RESTSupport.c: $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp; \ + fi +$(srcdir)/plugins/common/Resources.c: $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp; \ + fi +$(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp: plugins/common/RESTSupport.vala plugins/common/Resources.vala plugins/shotwell-plugin-dev-1.0.vapi + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(plugins_common_libshotwell_plugin_common_la_VALAFLAGS) $(VALAFLAGS) -C plugins/common/RESTSupport.vala plugins/common/Resources.vala plugins/shotwell-plugin-dev-1.0.vapi + $(AM_V_at)mv -f $@-t $@ +$(srcdir)/plugins/shotwell-data-imports/FSpotDatabaseBehavior.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotDatabaseTable.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotDatabase.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotImporter.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotMetaTable.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotPhotosTable.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotPhotoTagsTable.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotRollsTable.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotTableBehavior.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/FSpotTagsTable.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/shotwell-data-imports.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/SqliteSupport.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins/shotwell-data-imports/VersionNumber.c: $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp; \ + fi +$(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp: plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala plugins/shotwell-data-imports/FSpotDatabaseTable.vala plugins/shotwell-data-imports/FSpotDatabase.vala plugins/shotwell-data-imports/FSpotImporter.vala plugins/shotwell-data-imports/FSpotMetaTable.vala plugins/shotwell-data-imports/FSpotPhotosTable.vala plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala plugins/shotwell-data-imports/FSpotRollsTable.vala plugins/shotwell-data-imports/FSpotTableBehavior.vala plugins/shotwell-data-imports/FSpotTagsTable.vala plugins/shotwell-data-imports/shotwell-data-imports.vala plugins/shotwell-data-imports/SqliteSupport.vala plugins/shotwell-data-imports/VersionNumber.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)rm -f $@ && echo stamp > $@-t + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(plugins_shotwell_data_imports_shotwell_data_imports_la_VALAFLAGS) $(VALAFLAGS) -C plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala plugins/shotwell-data-imports/FSpotDatabaseTable.vala plugins/shotwell-data-imports/FSpotDatabase.vala plugins/shotwell-data-imports/FSpotImporter.vala plugins/shotwell-data-imports/FSpotMetaTable.vala plugins/shotwell-data-imports/FSpotPhotosTable.vala plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala plugins/shotwell-data-imports/FSpotRollsTable.vala plugins/shotwell-data-imports/FSpotTableBehavior.vala plugins/shotwell-data-imports/FSpotTagsTable.vala plugins/shotwell-data-imports/shotwell-data-imports.vala plugins/shotwell-data-imports/SqliteSupport.vala plugins/shotwell-data-imports/VersionNumber.vala plugins/shotwell-plugin-common.vapi + $(AM_V_at)mv -f $@-t $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf plugins/common/.libs plugins/common/_libs + -rm -rf plugins/shotwell-data-imports/.libs plugins/shotwell-data-imports/_libs + -rm -rf plugins/shotwell-publishing/.libs plugins/shotwell-publishing/_libs + -rm -rf plugins/shotwell-publishing-extras/.libs plugins/shotwell-publishing-extras/_libs + -rm -rf plugins/shotwell-transitions/.libs plugins/shotwell-transitions/_libs + -rm -rf src/plugins/.libs src/plugins/_libs + -rm -rf thumbnailer/.libs thumbnailer/_libs + +distclean-libtool: + -rm -f libtool config.lt +install-dist_pluginDATA: $(dist_plugin_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_plugin_DATA)'; test -n "$(plugindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindir)" || exit $$?; \ + done + +uninstall-dist_pluginDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_plugin_DATA)'; test -n "$(plugindir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(plugindir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ + config.h +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(plugindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f plugins/common/$(DEPDIR)/$(am__dirstamp) + -rm -f plugins/common/$(am__dirstamp) + -rm -f plugins/shotwell-data-imports/$(DEPDIR)/$(am__dirstamp) + -rm -f plugins/shotwell-data-imports/$(am__dirstamp) + -rm -f plugins/shotwell-publishing-extras/$(DEPDIR)/$(am__dirstamp) + -rm -f plugins/shotwell-publishing-extras/$(am__dirstamp) + -rm -f plugins/shotwell-publishing/$(DEPDIR)/$(am__dirstamp) + -rm -f plugins/shotwell-publishing/$(am__dirstamp) + -rm -f plugins/shotwell-transitions/$(DEPDIR)/$(am__dirstamp) + -rm -f plugins/shotwell-transitions/$(am__dirstamp) + -rm -f src/$(DEPDIR)/$(am__dirstamp) + -rm -f src/$(am__dirstamp) + -rm -f src/.unitize/$(DEPDIR)/$(am__dirstamp) + -rm -f src/.unitize/$(am__dirstamp) + -rm -f src/camera/$(DEPDIR)/$(am__dirstamp) + -rm -f src/camera/$(am__dirstamp) + -rm -f src/config/$(DEPDIR)/$(am__dirstamp) + -rm -f src/config/$(am__dirstamp) + -rm -f src/core/$(DEPDIR)/$(am__dirstamp) + -rm -f src/core/$(am__dirstamp) + -rm -f src/data_imports/$(DEPDIR)/$(am__dirstamp) + -rm -f src/data_imports/$(am__dirstamp) + -rm -f src/db/$(DEPDIR)/$(am__dirstamp) + -rm -f src/db/$(am__dirstamp) + -rm -f src/direct/$(DEPDIR)/$(am__dirstamp) + -rm -f src/direct/$(am__dirstamp) + -rm -f src/editing_tools/$(DEPDIR)/$(am__dirstamp) + -rm -f src/editing_tools/$(am__dirstamp) + -rm -f src/events/$(DEPDIR)/$(am__dirstamp) + -rm -f src/events/$(am__dirstamp) + -rm -f src/folders/$(DEPDIR)/$(am__dirstamp) + -rm -f src/folders/$(am__dirstamp) + -rm -f src/library/$(DEPDIR)/$(am__dirstamp) + -rm -f src/library/$(am__dirstamp) + -rm -f src/photos/$(DEPDIR)/$(am__dirstamp) + -rm -f src/photos/$(am__dirstamp) + -rm -f src/plugins/$(DEPDIR)/$(am__dirstamp) + -rm -f src/plugins/$(am__dirstamp) + -rm -f src/publishing/$(DEPDIR)/$(am__dirstamp) + -rm -f src/publishing/$(am__dirstamp) + -rm -f src/searches/$(DEPDIR)/$(am__dirstamp) + -rm -f src/searches/$(am__dirstamp) + -rm -f src/sidebar/$(DEPDIR)/$(am__dirstamp) + -rm -f src/sidebar/$(am__dirstamp) + -rm -f src/slideshow/$(DEPDIR)/$(am__dirstamp) + -rm -f src/slideshow/$(am__dirstamp) + -rm -f src/tags/$(DEPDIR)/$(am__dirstamp) + -rm -f src/tags/$(am__dirstamp) + -rm -f src/threads/$(DEPDIR)/$(am__dirstamp) + -rm -f src/threads/$(am__dirstamp) + -rm -f src/unit/$(DEPDIR)/$(am__dirstamp) + -rm -f src/unit/$(am__dirstamp) + -rm -f src/util/$(DEPDIR)/$(am__dirstamp) + -rm -f src/util/$(am__dirstamp) + -rm -f thumbnailer/$(DEPDIR)/$(am__dirstamp) + -rm -f thumbnailer/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -rm -f $(srcdir)/plugins/common/RESTSupport.c + -rm -f $(srcdir)/plugins/common/Resources.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotDatabase.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotDatabaseBehavior.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotDatabaseTable.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotImporter.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotMetaTable.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotPhotoTagsTable.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotPhotosTable.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotRollsTable.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotTableBehavior.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/FSpotTagsTable.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/SqliteSupport.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/VersionNumber.c + -rm -f $(srcdir)/plugins/shotwell-data-imports/shotwell-data-imports.c + -rm -f $(srcdir)/plugins/shotwell-publishing-extras/GalleryConnector.c + -rm -f $(srcdir)/plugins/shotwell-publishing-extras/RajcePublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing-extras/TumblrPublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing-extras/YandexPublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing-extras/shotwell-publishing-extras.c + -rm -f $(srcdir)/plugins/shotwell-publishing/FacebookPublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing/FlickrPublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing/PicasaPublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing/PiwigoPublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing/YouTubePublishing.c + -rm -f $(srcdir)/plugins/shotwell-publishing/shotwell-publishing.c + -rm -f $(srcdir)/plugins/shotwell-transitions/BlindsEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/ChessEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/CircleEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/CirclesEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/ClockEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/CrumbleEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/FadeEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/SlideEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/SquaresEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/StripesEffect.c + -rm -f $(srcdir)/plugins/shotwell-transitions/shotwell-transitions.c + -rm -f $(srcdir)/plugins_common_libshotwell_plugin_common_la_vala.stamp + -rm -f $(srcdir)/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp + -rm -f $(srcdir)/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp + -rm -f $(srcdir)/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp + -rm -f $(srcdir)/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp + -rm -f $(srcdir)/shotwell_vala.stamp + -rm -f $(srcdir)/src/.unitize/_CameraInternals.c + -rm -f $(srcdir)/src/.unitize/_ConfigInternals.c + -rm -f $(srcdir)/src/.unitize/_CoreInternals.c + -rm -f $(srcdir)/src/.unitize/_DataImportsInternals.c + -rm -f $(srcdir)/src/.unitize/_DbInternals.c + -rm -f $(srcdir)/src/.unitize/_DirectInternals.c + -rm -f $(srcdir)/src/.unitize/_Direct_unitize_entry.c + -rm -f $(srcdir)/src/.unitize/_EditingToolsInternals.c + -rm -f $(srcdir)/src/.unitize/_EventsInternals.c + -rm -f $(srcdir)/src/.unitize/_FoldersInternals.c + -rm -f $(srcdir)/src/.unitize/_LibraryInternals.c + -rm -f $(srcdir)/src/.unitize/_Library_unitize_entry.c + -rm -f $(srcdir)/src/.unitize/_PhotosInternals.c + -rm -f $(srcdir)/src/.unitize/_PluginsInternals.c + -rm -f $(srcdir)/src/.unitize/_PublishingInternals.c + -rm -f $(srcdir)/src/.unitize/_SearchesInternals.c + -rm -f $(srcdir)/src/.unitize/_SidebarInternals.c + -rm -f $(srcdir)/src/.unitize/_SlideshowInternals.c + -rm -f $(srcdir)/src/.unitize/_TagsInternals.c + -rm -f $(srcdir)/src/.unitize/_ThreadsInternals.c + -rm -f $(srcdir)/src/.unitize/_UnitInternals.c + -rm -f $(srcdir)/src/.unitize/_UtilInternals.c + -rm -f $(srcdir)/src/AppDirs.c + -rm -f $(srcdir)/src/AppWindow.c + -rm -f $(srcdir)/src/Application.c + -rm -f $(srcdir)/src/BatchImport.c + -rm -f $(srcdir)/src/Box.c + -rm -f $(srcdir)/src/CheckerboardLayout.c + -rm -f $(srcdir)/src/CollectionPage.c + -rm -f $(srcdir)/src/ColorTransformation.c + -rm -f $(srcdir)/src/CommandManager.c + -rm -f $(srcdir)/src/Commands.c + -rm -f $(srcdir)/src/CustomComponents.c + -rm -f $(srcdir)/src/Debug.c + -rm -f $(srcdir)/src/DesktopIntegration.c + -rm -f $(srcdir)/src/Dialogs.c + -rm -f $(srcdir)/src/Dimensions.c + -rm -f $(srcdir)/src/DirectoryMonitor.c + -rm -f $(srcdir)/src/Event.c + -rm -f $(srcdir)/src/Exporter.c + -rm -f $(srcdir)/src/International.c + -rm -f $(srcdir)/src/LibraryFiles.c + -rm -f $(srcdir)/src/LibraryMonitor.c + -rm -f $(srcdir)/src/MediaDataRepresentation.c + -rm -f $(srcdir)/src/MediaInterfaces.c + -rm -f $(srcdir)/src/MediaMetadata.c + -rm -f $(srcdir)/src/MediaMonitor.c + -rm -f $(srcdir)/src/MediaPage.c + -rm -f $(srcdir)/src/MediaViewTracker.c + -rm -f $(srcdir)/src/MetadataWriter.c + -rm -f $(srcdir)/src/NaturalCollate.c + -rm -f $(srcdir)/src/Orientation.c + -rm -f $(srcdir)/src/Page.c + -rm -f $(srcdir)/src/Photo.c + -rm -f $(srcdir)/src/PhotoMonitor.c + -rm -f $(srcdir)/src/PhotoPage.c + -rm -f $(srcdir)/src/PixbufCache.c + -rm -f $(srcdir)/src/Printing.c + -rm -f $(srcdir)/src/Properties.c + -rm -f $(srcdir)/src/Resources.c + -rm -f $(srcdir)/src/Screensaver.c + -rm -f $(srcdir)/src/SearchFilter.c + -rm -f $(srcdir)/src/SlideshowPage.c + -rm -f $(srcdir)/src/SortedList.c + -rm -f $(srcdir)/src/Tag.c + -rm -f $(srcdir)/src/Thumbnail.c + -rm -f $(srcdir)/src/ThumbnailCache.c + -rm -f $(srcdir)/src/TimedQueue.c + -rm -f $(srcdir)/src/Tombstone.c + -rm -f $(srcdir)/src/UnityProgressBar.c + -rm -f $(srcdir)/src/Upgrades.c + -rm -f $(srcdir)/src/VideoMetadata.c + -rm -f $(srcdir)/src/VideoMonitor.c + -rm -f $(srcdir)/src/VideoSupport.c + -rm -f $(srcdir)/src/camera/Branch.c + -rm -f $(srcdir)/src/camera/Camera.c + -rm -f $(srcdir)/src/camera/CameraTable.c + -rm -f $(srcdir)/src/camera/GPhoto.c + -rm -f $(srcdir)/src/camera/ImportPage.c + -rm -f $(srcdir)/src/config/Config.c + -rm -f $(srcdir)/src/config/ConfigurationInterfaces.c + -rm -f $(srcdir)/src/config/GSettingsEngine.c + -rm -f $(srcdir)/src/core/Alteration.c + -rm -f $(srcdir)/src/core/ContainerSourceCollection.c + -rm -f $(srcdir)/src/core/Core.c + -rm -f $(srcdir)/src/core/DataCollection.c + -rm -f $(srcdir)/src/core/DataObject.c + -rm -f $(srcdir)/src/core/DataSet.c + -rm -f $(srcdir)/src/core/DataSource.c + -rm -f $(srcdir)/src/core/DataSourceTypes.c + -rm -f $(srcdir)/src/core/DataView.c + -rm -f $(srcdir)/src/core/DataViewTypes.c + -rm -f $(srcdir)/src/core/DatabaseSourceCollection.c + -rm -f $(srcdir)/src/core/SourceCollection.c + -rm -f $(srcdir)/src/core/SourceHoldingTank.c + -rm -f $(srcdir)/src/core/SourceInterfaces.c + -rm -f $(srcdir)/src/core/Tracker.c + -rm -f $(srcdir)/src/core/ViewCollection.c + -rm -f $(srcdir)/src/core/util.c + -rm -f $(srcdir)/src/data_imports/DataImportJob.c + -rm -f $(srcdir)/src/data_imports/DataImportSource.c + -rm -f $(srcdir)/src/data_imports/DataImports.c + -rm -f $(srcdir)/src/data_imports/DataImportsPluginHost.c + -rm -f $(srcdir)/src/data_imports/DataImportsUI.c + -rm -f $(srcdir)/src/db/DatabaseTable.c + -rm -f $(srcdir)/src/db/Db.c + -rm -f $(srcdir)/src/db/EventTable.c + -rm -f $(srcdir)/src/db/PhotoTable.c + -rm -f $(srcdir)/src/db/SavedSearchDBTable.c + -rm -f $(srcdir)/src/db/TagTable.c + -rm -f $(srcdir)/src/db/TombstoneTable.c + -rm -f $(srcdir)/src/db/VersionTable.c + -rm -f $(srcdir)/src/db/VideoTable.c + -rm -f $(srcdir)/src/direct/Direct.c + -rm -f $(srcdir)/src/direct/DirectPhoto.c + -rm -f $(srcdir)/src/direct/DirectPhotoPage.c + -rm -f $(srcdir)/src/direct/DirectView.c + -rm -f $(srcdir)/src/direct/DirectWindow.c + -rm -f $(srcdir)/src/editing_tools/EditingTools.c + -rm -f $(srcdir)/src/editing_tools/StraightenTool.c + -rm -f $(srcdir)/src/events/Branch.c + -rm -f $(srcdir)/src/events/EventDirectoryItem.c + -rm -f $(srcdir)/src/events/EventPage.c + -rm -f $(srcdir)/src/events/Events.c + -rm -f $(srcdir)/src/events/EventsDirectoryPage.c + -rm -f $(srcdir)/src/folders/Branch.c + -rm -f $(srcdir)/src/folders/Folders.c + -rm -f $(srcdir)/src/folders/Page.c + -rm -f $(srcdir)/src/library/Branch.c + -rm -f $(srcdir)/src/library/FlaggedPage.c + -rm -f $(srcdir)/src/library/FlaggedSidebarEntry.c + -rm -f $(srcdir)/src/library/ImportQueuePage.c + -rm -f $(srcdir)/src/library/ImportQueueSidebarEntry.c + -rm -f $(srcdir)/src/library/LastImportPage.c + -rm -f $(srcdir)/src/library/LastImportSidebarEntry.c + -rm -f $(srcdir)/src/library/Library.c + -rm -f $(srcdir)/src/library/LibraryWindow.c + -rm -f $(srcdir)/src/library/OfflinePage.c + -rm -f $(srcdir)/src/library/OfflineSidebarEntry.c + -rm -f $(srcdir)/src/library/TrashPage.c + -rm -f $(srcdir)/src/library/TrashSidebarEntry.c + -rm -f $(srcdir)/src/main.c + -rm -f $(srcdir)/src/photos/BmpSupport.c + -rm -f $(srcdir)/src/photos/GRaw.c + -rm -f $(srcdir)/src/photos/GdkSupport.c + -rm -f $(srcdir)/src/photos/JfifSupport.c + -rm -f $(srcdir)/src/photos/PhotoFileAdapter.c + -rm -f $(srcdir)/src/photos/PhotoFileFormat.c + -rm -f $(srcdir)/src/photos/PhotoFileSniffer.c + -rm -f $(srcdir)/src/photos/PhotoMetadata.c + -rm -f $(srcdir)/src/photos/Photos.c + -rm -f $(srcdir)/src/photos/PngSupport.c + -rm -f $(srcdir)/src/photos/RawSupport.c + -rm -f $(srcdir)/src/photos/TiffSupport.c + -rm -f $(srcdir)/src/plugins/DataImportsInterfaces.c + -rm -f $(srcdir)/src/plugins/ManifestWidget.c + -rm -f $(srcdir)/src/plugins/Plugins.c + -rm -f $(srcdir)/src/plugins/PublishingInterfaces.c + -rm -f $(srcdir)/src/plugins/SpitInterfaces.c + -rm -f $(srcdir)/src/plugins/StandardHostInterface.c + -rm -f $(srcdir)/src/plugins/TransitionsInterfaces.c + -rm -f $(srcdir)/src/publishing/APIGlue.c + -rm -f $(srcdir)/src/publishing/Publishing.c + -rm -f $(srcdir)/src/publishing/PublishingPluginHost.c + -rm -f $(srcdir)/src/publishing/PublishingUI.c + -rm -f $(srcdir)/src/searches/Branch.c + -rm -f $(srcdir)/src/searches/SavedSearchDialog.c + -rm -f $(srcdir)/src/searches/SavedSearchPage.c + -rm -f $(srcdir)/src/searches/SearchBoolean.c + -rm -f $(srcdir)/src/searches/Searches.c + -rm -f $(srcdir)/src/sidebar/Branch.c + -rm -f $(srcdir)/src/sidebar/Entry.c + -rm -f $(srcdir)/src/sidebar/Sidebar.c + -rm -f $(srcdir)/src/sidebar/Tree.c + -rm -f $(srcdir)/src/sidebar/common.c + -rm -f $(srcdir)/src/slideshow/Slideshow.c + -rm -f $(srcdir)/src/slideshow/TransitionEffects.c + -rm -f $(srcdir)/src/tags/Branch.c + -rm -f $(srcdir)/src/tags/HierarchicalTagIndex.c + -rm -f $(srcdir)/src/tags/HierarchicalTagUtilities.c + -rm -f $(srcdir)/src/tags/TagPage.c + -rm -f $(srcdir)/src/tags/Tags.c + -rm -f $(srcdir)/src/threads/BackgroundJob.c + -rm -f $(srcdir)/src/threads/Semaphore.c + -rm -f $(srcdir)/src/threads/Threads.c + -rm -f $(srcdir)/src/threads/Workers.c + -rm -f $(srcdir)/src/unit/Unit.c + -rm -f $(srcdir)/src/util/KeyValueMap.c + -rm -f $(srcdir)/src/util/Util.c + -rm -f $(srcdir)/src/util/file.c + -rm -f $(srcdir)/src/util/image.c + -rm -f $(srcdir)/src/util/misc.c + -rm -f $(srcdir)/src/util/string.c + -rm -f $(srcdir)/src/util/system.c + -rm -f $(srcdir)/src/util/ui.c + -rm -f $(srcdir)/src_plugins_libplugin_la_vala.stamp + -rm -f $(srcdir)/thumbnailer/shotwell-video-thumbnailer.c + -rm -f $(srcdir)/thumbnailer_shotwell_video_thumbnailer_vala.stamp + -rm -f plugins/common/RESTSupport.c + -rm -f plugins/common/Resources.c + -rm -f plugins/shotwell-data-imports/FSpotDatabase.c + -rm -f plugins/shotwell-data-imports/FSpotDatabaseBehavior.c + -rm -f plugins/shotwell-data-imports/FSpotDatabaseTable.c + -rm -f plugins/shotwell-data-imports/FSpotImporter.c + -rm -f plugins/shotwell-data-imports/FSpotMetaTable.c + -rm -f plugins/shotwell-data-imports/FSpotPhotoTagsTable.c + -rm -f plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c + -rm -f plugins/shotwell-data-imports/FSpotPhotosTable.c + -rm -f plugins/shotwell-data-imports/FSpotRollsTable.c + -rm -f plugins/shotwell-data-imports/FSpotTableBehavior.c + -rm -f plugins/shotwell-data-imports/FSpotTagsTable.c + -rm -f plugins/shotwell-data-imports/SqliteSupport.c + -rm -f plugins/shotwell-data-imports/VersionNumber.c + -rm -f plugins/shotwell-data-imports/shotwell-data-imports.c + -rm -f plugins/shotwell-publishing-extras/GalleryConnector.c + -rm -f plugins/shotwell-publishing-extras/RajcePublishing.c + -rm -f plugins/shotwell-publishing-extras/TumblrPublishing.c + -rm -f plugins/shotwell-publishing-extras/YandexPublishing.c + -rm -f plugins/shotwell-publishing-extras/shotwell-publishing-extras.c + -rm -f plugins/shotwell-publishing/FacebookPublishing.c + -rm -f plugins/shotwell-publishing/FlickrPublishing.c + -rm -f plugins/shotwell-publishing/PicasaPublishing.c + -rm -f plugins/shotwell-publishing/PiwigoPublishing.c + -rm -f plugins/shotwell-publishing/YouTubePublishing.c + -rm -f plugins/shotwell-publishing/shotwell-publishing.c + -rm -f plugins/shotwell-transitions/BlindsEffect.c + -rm -f plugins/shotwell-transitions/ChessEffect.c + -rm -f plugins/shotwell-transitions/CircleEffect.c + -rm -f plugins/shotwell-transitions/CirclesEffect.c + -rm -f plugins/shotwell-transitions/ClockEffect.c + -rm -f plugins/shotwell-transitions/CrumbleEffect.c + -rm -f plugins/shotwell-transitions/FadeEffect.c + -rm -f plugins/shotwell-transitions/SlideEffect.c + -rm -f plugins/shotwell-transitions/SquaresEffect.c + -rm -f plugins/shotwell-transitions/StripesEffect.c + -rm -f plugins/shotwell-transitions/shotwell-transitions.c + -rm -f src/.unitize/_CameraInternals.c + -rm -f src/.unitize/_ConfigInternals.c + -rm -f src/.unitize/_CoreInternals.c + -rm -f src/.unitize/_DataImportsInternals.c + -rm -f src/.unitize/_DbInternals.c + -rm -f src/.unitize/_DirectInternals.c + -rm -f src/.unitize/_Direct_unitize_entry.c + -rm -f src/.unitize/_EditingToolsInternals.c + -rm -f src/.unitize/_EventsInternals.c + -rm -f src/.unitize/_FoldersInternals.c + -rm -f src/.unitize/_LibraryInternals.c + -rm -f src/.unitize/_Library_unitize_entry.c + -rm -f src/.unitize/_PhotosInternals.c + -rm -f src/.unitize/_PluginsInternals.c + -rm -f src/.unitize/_PublishingInternals.c + -rm -f src/.unitize/_SearchesInternals.c + -rm -f src/.unitize/_SidebarInternals.c + -rm -f src/.unitize/_SlideshowInternals.c + -rm -f src/.unitize/_TagsInternals.c + -rm -f src/.unitize/_ThreadsInternals.c + -rm -f src/.unitize/_UnitInternals.c + -rm -f src/.unitize/_UtilInternals.c + -rm -f src/AppDirs.c + -rm -f src/AppWindow.c + -rm -f src/Application.c + -rm -f src/BatchImport.c + -rm -f src/Box.c + -rm -f src/CheckerboardLayout.c + -rm -f src/CollectionPage.c + -rm -f src/ColorTransformation.c + -rm -f src/CommandManager.c + -rm -f src/Commands.c + -rm -f src/CustomComponents.c + -rm -f src/Debug.c + -rm -f src/DesktopIntegration.c + -rm -f src/Dialogs.c + -rm -f src/Dimensions.c + -rm -f src/DirectoryMonitor.c + -rm -f src/Event.c + -rm -f src/Exporter.c + -rm -f src/International.c + -rm -f src/LibraryFiles.c + -rm -f src/LibraryMonitor.c + -rm -f src/MediaDataRepresentation.c + -rm -f src/MediaInterfaces.c + -rm -f src/MediaMetadata.c + -rm -f src/MediaMonitor.c + -rm -f src/MediaPage.c + -rm -f src/MediaViewTracker.c + -rm -f src/MetadataWriter.c + -rm -f src/NaturalCollate.c + -rm -f src/Orientation.c + -rm -f src/Page.c + -rm -f src/Photo.c + -rm -f src/PhotoMonitor.c + -rm -f src/PhotoPage.c + -rm -f src/PixbufCache.c + -rm -f src/Printing.c + -rm -f src/Properties.c + -rm -f src/Resources.c + -rm -f src/Screensaver.c + -rm -f src/SearchFilter.c + -rm -f src/SlideshowPage.c + -rm -f src/SortedList.c + -rm -f src/Tag.c + -rm -f src/Thumbnail.c + -rm -f src/ThumbnailCache.c + -rm -f src/TimedQueue.c + -rm -f src/Tombstone.c + -rm -f src/UnityProgressBar.c + -rm -f src/Upgrades.c + -rm -f src/VideoMetadata.c + -rm -f src/VideoMonitor.c + -rm -f src/VideoSupport.c + -rm -f src/camera/Branch.c + -rm -f src/camera/Camera.c + -rm -f src/camera/CameraTable.c + -rm -f src/camera/GPhoto.c + -rm -f src/camera/ImportPage.c + -rm -f src/config/Config.c + -rm -f src/config/ConfigurationInterfaces.c + -rm -f src/config/GSettingsEngine.c + -rm -f src/core/Alteration.c + -rm -f src/core/ContainerSourceCollection.c + -rm -f src/core/Core.c + -rm -f src/core/DataCollection.c + -rm -f src/core/DataObject.c + -rm -f src/core/DataSet.c + -rm -f src/core/DataSource.c + -rm -f src/core/DataSourceTypes.c + -rm -f src/core/DataView.c + -rm -f src/core/DataViewTypes.c + -rm -f src/core/DatabaseSourceCollection.c + -rm -f src/core/SourceCollection.c + -rm -f src/core/SourceHoldingTank.c + -rm -f src/core/SourceInterfaces.c + -rm -f src/core/Tracker.c + -rm -f src/core/ViewCollection.c + -rm -f src/core/util.c + -rm -f src/data_imports/DataImportJob.c + -rm -f src/data_imports/DataImportSource.c + -rm -f src/data_imports/DataImports.c + -rm -f src/data_imports/DataImportsPluginHost.c + -rm -f src/data_imports/DataImportsUI.c + -rm -f src/db/DatabaseTable.c + -rm -f src/db/Db.c + -rm -f src/db/EventTable.c + -rm -f src/db/PhotoTable.c + -rm -f src/db/SavedSearchDBTable.c + -rm -f src/db/TagTable.c + -rm -f src/db/TombstoneTable.c + -rm -f src/db/VersionTable.c + -rm -f src/db/VideoTable.c + -rm -f src/direct/Direct.c + -rm -f src/direct/DirectPhoto.c + -rm -f src/direct/DirectPhotoPage.c + -rm -f src/direct/DirectView.c + -rm -f src/direct/DirectWindow.c + -rm -f src/editing_tools/EditingTools.c + -rm -f src/editing_tools/StraightenTool.c + -rm -f src/events/Branch.c + -rm -f src/events/EventDirectoryItem.c + -rm -f src/events/EventPage.c + -rm -f src/events/Events.c + -rm -f src/events/EventsDirectoryPage.c + -rm -f src/folders/Branch.c + -rm -f src/folders/Folders.c + -rm -f src/folders/Page.c + -rm -f src/library/Branch.c + -rm -f src/library/FlaggedPage.c + -rm -f src/library/FlaggedSidebarEntry.c + -rm -f src/library/ImportQueuePage.c + -rm -f src/library/ImportQueueSidebarEntry.c + -rm -f src/library/LastImportPage.c + -rm -f src/library/LastImportSidebarEntry.c + -rm -f src/library/Library.c + -rm -f src/library/LibraryWindow.c + -rm -f src/library/OfflinePage.c + -rm -f src/library/OfflineSidebarEntry.c + -rm -f src/library/TrashPage.c + -rm -f src/library/TrashSidebarEntry.c + -rm -f src/main.c + -rm -f src/photos/BmpSupport.c + -rm -f src/photos/GRaw.c + -rm -f src/photos/GdkSupport.c + -rm -f src/photos/JfifSupport.c + -rm -f src/photos/PhotoFileAdapter.c + -rm -f src/photos/PhotoFileFormat.c + -rm -f src/photos/PhotoFileSniffer.c + -rm -f src/photos/PhotoMetadata.c + -rm -f src/photos/Photos.c + -rm -f src/photos/PngSupport.c + -rm -f src/photos/RawSupport.c + -rm -f src/photos/TiffSupport.c + -rm -f src/plugins/DataImportsInterfaces.c + -rm -f src/plugins/ManifestWidget.c + -rm -f src/plugins/Plugins.c + -rm -f src/plugins/PublishingInterfaces.c + -rm -f src/plugins/SpitInterfaces.c + -rm -f src/plugins/StandardHostInterface.c + -rm -f src/plugins/TransitionsInterfaces.c + -rm -f src/publishing/APIGlue.c + -rm -f src/publishing/Publishing.c + -rm -f src/publishing/PublishingPluginHost.c + -rm -f src/publishing/PublishingUI.c + -rm -f src/searches/Branch.c + -rm -f src/searches/SavedSearchDialog.c + -rm -f src/searches/SavedSearchPage.c + -rm -f src/searches/SearchBoolean.c + -rm -f src/searches/Searches.c + -rm -f src/sidebar/Branch.c + -rm -f src/sidebar/Entry.c + -rm -f src/sidebar/Sidebar.c + -rm -f src/sidebar/Tree.c + -rm -f src/sidebar/common.c + -rm -f src/slideshow/Slideshow.c + -rm -f src/slideshow/TransitionEffects.c + -rm -f src/tags/Branch.c + -rm -f src/tags/HierarchicalTagIndex.c + -rm -f src/tags/HierarchicalTagUtilities.c + -rm -f src/tags/TagPage.c + -rm -f src/tags/Tags.c + -rm -f src/threads/BackgroundJob.c + -rm -f src/threads/Semaphore.c + -rm -f src/threads/Threads.c + -rm -f src/threads/Workers.c + -rm -f src/unit/Unit.c + -rm -f src/util/KeyValueMap.c + -rm -f src/util/Util.c + -rm -f src/util/file.c + -rm -f src/util/image.c + -rm -f src/util/misc.c + -rm -f src/util/string.c + -rm -f src/util/system.c + -rm -f src/util/ui.c + -rm -f thumbnailer/shotwell-video-thumbnailer.c + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-noinstLTLIBRARIES clean-pkglibexecPROGRAMS \ + clean-pluginLTLIBRARIES mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf plugins/common/$(DEPDIR) plugins/shotwell-data-imports/$(DEPDIR) plugins/shotwell-publishing-extras/$(DEPDIR) plugins/shotwell-publishing/$(DEPDIR) plugins/shotwell-transitions/$(DEPDIR) src/$(DEPDIR) src/.unitize/$(DEPDIR) src/camera/$(DEPDIR) src/config/$(DEPDIR) src/core/$(DEPDIR) src/data_imports/$(DEPDIR) src/db/$(DEPDIR) src/direct/$(DEPDIR) src/editing_tools/$(DEPDIR) src/events/$(DEPDIR) src/folders/$(DEPDIR) src/library/$(DEPDIR) src/photos/$(DEPDIR) src/plugins/$(DEPDIR) src/publishing/$(DEPDIR) src/searches/$(DEPDIR) src/sidebar/$(DEPDIR) src/slideshow/$(DEPDIR) src/tags/$(DEPDIR) src/threads/$(DEPDIR) src/unit/$(DEPDIR) src/util/$(DEPDIR) thumbnailer/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-dist_pluginDATA install-pluginLTLIBRARIES + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS install-dist_pkglibexecSCRIPTS \ + install-libLTLIBRARIES install-pkglibexecPROGRAMS + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf plugins/common/$(DEPDIR) plugins/shotwell-data-imports/$(DEPDIR) plugins/shotwell-publishing-extras/$(DEPDIR) plugins/shotwell-publishing/$(DEPDIR) plugins/shotwell-transitions/$(DEPDIR) src/$(DEPDIR) src/.unitize/$(DEPDIR) src/camera/$(DEPDIR) src/config/$(DEPDIR) src/core/$(DEPDIR) src/data_imports/$(DEPDIR) src/db/$(DEPDIR) src/direct/$(DEPDIR) src/editing_tools/$(DEPDIR) src/events/$(DEPDIR) src/folders/$(DEPDIR) src/library/$(DEPDIR) src/photos/$(DEPDIR) src/plugins/$(DEPDIR) src/publishing/$(DEPDIR) src/searches/$(DEPDIR) src/sidebar/$(DEPDIR) src/slideshow/$(DEPDIR) src/tags/$(DEPDIR) src/threads/$(DEPDIR) src/unit/$(DEPDIR) src/util/$(DEPDIR) thumbnailer/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-dist_pkglibexecSCRIPTS \ + uninstall-dist_pluginDATA uninstall-libLTLIBRARIES \ + uninstall-pkglibexecPROGRAMS uninstall-pluginLTLIBRARIES + +.MAKE: $(am__recursive_targets) all install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-binPROGRAMS \ + clean-cscope clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstLTLIBRARIES clean-pkglibexecPROGRAMS \ + clean-pluginLTLIBRARIES cscope cscopelist-am ctags ctags-am \ + dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \ + dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-dist_pkglibexecSCRIPTS \ + install-dist_pluginDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-libLTLIBRARIES \ + install-man install-pdf install-pdf-am \ + install-pkglibexecPROGRAMS install-pluginLTLIBRARIES \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-dist_pkglibexecSCRIPTS uninstall-dist_pluginDATA \ + uninstall-libLTLIBRARIES uninstall-pkglibexecPROGRAMS \ + uninstall-pluginLTLIBRARIES + +.PRECIOUS: Makefile + + +AUTHORS: + $(AM_V_GEN)if test -d "$(srcdir)/.git"; \ + then \ + echo Creating $@ && \ + ( cd "$(top_srcdir)" && \ + echo '# Generated by Makefile. Do not edit.'; echo; \ + git log --no-merges --pretty=format:"%an" $(SUBDIRS) \ + | sort | uniq ) > $@.tmp \ + && mv -f $@.tmp $@ \ + || ( rm -f $@.tmp ; \ + echo Failed to generate $@ >&2 ); \ + else touch $@; fi + +# Generate the ChangeLog and clean the dist tarball +@GENERATE_CHANGELOG_RULES@ + +dist-hook: dist-ChangeLog + +$(top_srcdir)/plugins/shotwell-plugin-common.vapi plugins/shotwell-plugin-common.h: \ + plugins_common_libshotwell_plugin_common_la_vala.stamp + +plugins/shotwell-plugin-dev-1.0.vapi plugins/shotwell-plugin-dev-1.0.h: src_plugins_libplugin_la_vala.stamp + +-include $(top_srcdir)/git.mk + +plugins/shotwell-publishing/resource.c: plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml + $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-publishing --generate $< + +@HAVE_EXTRA_PLUGINS_TRUE@plugins/shotwell-publishing-extras/resource.c: plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml +@HAVE_EXTRA_PLUGINS_TRUE@ $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-publishing-extras --generate $< + +plugins/shotwell-transitions/resource.c: plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml + $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-transitions --generate $< + +plugins/shotwell-data-imports/resource.c: plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml + $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-data-imports --generate $< + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/NEWS b/NEWS index 9f21595..ed16d0d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,133 @@ +Shotwell 0.23.5 - 15 Aug 2016 + * Remove obsolete files + * Plugins: Load icons and GtkBuilder files from GResource + * Offer a way to hide the bottom toolbar + * Fix .desktop file generation + * Use Gtk.MessageDialog's printf-style API for strings + * Add SQL indexes to PhotoTable + * Add Language headers to po files + * Update INSTALL file + * Really remove reference to external hmac_sha1 + * Disambiguate strings for time ranges + * Implement linked tags + * Make it more clear that something failed if SSL conncetion was not + possible + * Add option to filter by saved search + * Explicitly link plugins to their dependencies + * Fix typo in GSettings schema + * Re-add --disable-extra-plugins configure option + * Fix settings migrator and thumbnailer path + * Bump debian compat for proper --libexecdir parameter + +Bugs fixed in this release: + - https://bugs.archlinux.org/task/50129 + - https://bugzilla.gnome.org/show_bug.cgi?id=717523 + - https://bugzilla.gnome.org/show_bug.cgi?id=717321 + - https://bugzilla.gnome.org/show_bug.cgi?id=741962 + - https://bugzilla.gnome.org/show_bug.cgi?id=742670 + - https://bugzilla.gnome.org/show_bug.cgi?id=747368 + - https://bugzilla.gnome.org/show_bug.cgi?id=750902 + - https://bugzilla.gnome.org/show_bug.cgi?id=767473 + - https://bugzilla.gnome.org/show_bug.cgi?id=768360 + +All contributors to this release: + - Jens Georg + - Piotr Drąg + - Jordi Mas + - Yosef Or Boczko + - Rafael Fontenelle + - Mario Blättermann + - Enrico Nicoletto + - Dušan Kazik + - Daniel Landau + - burningTyger + - Andreas Brauchli + +Added/updated translations + - af, courtesy of yorbajim + - ast, courtesy of Xuacu Saturio + - bg, courtesy of yorbajim + - bn, courtesy of yorbajim + - bn_IN, courtesy of runa + - ca, courtesy of Jordi Mas + - de, courtesy of Mario Blättermann + - en_GB, courtesy of yorbajim + - et, courtesy of yorbajim + - gu, courtesy of Ankit Patel + - he, courtesy of Yosef Or Boczko + - hi, courtesy of Rajesh Ranjan + - hr, courtesy of yorbajim + - it, courtesy of milo + - lv, courtesy of Rūdolfs Mazurs + - mk, courtesy of yorbajim + - ml, courtesy of Ani Peter + - mr, courtesy of sandeeps + - nn, courtesy of unhammer + - or, courtesy of Manoj Kumar Giri + - pa, courtesy of asaini + - pl, courtesy of Piotr Drąg + - pt_BR, courtesy of Enrico Nicoletto + - sk, courtesy of Dušan Kazik + - sl, courtesy of ikriznar + - sr@latin, courtesy of Miroslav Nikolić + - th, courtesy of yorbajim + - zh_HK, courtesy of Cheng-Chia Tseng + +Shotwell 0.23.4 - 20 Jul 2016 + * Plugins: Fix linking error + +Shotwell 0.23.3 - 18 Jul 2016 + + * libraw: Fix binding of ProcessedImage.data + * graw: Prevent needless array duplication + * Fix screenshot URLs in appdata + * db: Add option to trace SQL statements + * Change build system to autotools + * Add help, appdata, gsettings and desktop files to translation system + * Change way help is built and installed + * Always install the manpage + * Several translation fixes + * Make message more clear that there are no photos matching a filter + +Bugs fixed in this release: + - https://bugzilla.gnome.org/show_bug.cgi?id=715578 + - https://bugzilla.gnome.org/show_bug.cgi?id=717064 + - https://bugzilla.gnome.org/show_bug.cgi?id=719122 + - https://bugzilla.gnome.org/show_bug.cgi?id=719200 + - https://bugzilla.gnome.org/show_bug.cgi?id=730665 + - https://bugzilla.gnome.org/show_bug.cgi?id=730669 + - https://bugzilla.gnome.org/show_bug.cgi?id=740873 + - https://bugzilla.gnome.org/show_bug.cgi?id=741508 + - https://bugzilla.gnome.org/show_bug.cgi?id=744251 + - https://bugzilla.gnome.org/show_bug.cgi?id=744254 + - https://bugzilla.gnome.org/show_bug.cgi?id=744255 + - https://bugzilla.gnome.org/show_bug.cgi?id=768054 + +All contributors to this release: + - Jens Georg + - Piotr Drąg + - Rafael Fontenelle + - Daniel Mustieles + - Christian Kirbach + - Tiago Santos + - Stas Solovey + - Rico Tzschichholz + - Lorenz Adam Damara + - Jeremy Bicha + - Dušan Kazik + - Andreas Brauchli + +Added/updated translations + - de, courtesy of Christian Kirbach + - es, courtesy of Daniel Mustieles + - gu, courtesy of Ankit Patel + - id, courtesy of Andika Triwidada + - pl, courtesy of Piotr Drąg + - pt_BR, courtesy of Rafael Fontenelle + - pt, courtesy of Tiago Santos + - ru, courtesy of Stas Solovey + - sk, courtesy of Dušan Kazik + Shotwell 0.23.2 - 20 Jun 2016 * Use yelp-build to generate HTML docs diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..5090192 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,1248 @@ +# generated automatically by aclocal 1.15 -*- Autoconf -*- + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.15' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.15], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.15])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each '.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAINTAINER_MODE([DEFAULT-MODE]) +# ---------------------------------- +# Control maintainer-specific portions of Makefiles. +# Default is to disable them, unless 'enable' is passed literally. +# For symmetry, 'disable' may be passed as well. Anyway, the user +# can override the default with the --enable/--disable switch. +AC_DEFUN([AM_MAINTAINER_MODE], +[m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [disable], [m4_define([am_maintainer_other], [enable])], + [m4_define([am_maintainer_other], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode's default is 'disable' unless 'enable' is passed + AC_ARG_ENABLE([maintainer-mode], + [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], + am_maintainer_other[ make rules and dependencies not useful + (and sometimes confusing) to the casual installer])], + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST([MAINT])dnl +] +) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +# Autoconf support for the Vala compiler + +# Copyright (C) 2008-2014 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the Vala compiler exists in $PATH. If it is found, the +# variable VALAC is set pointing to its absolute path. Otherwise, it is +# simply set to 'valac'. +# Optionally a minimum release number of the compiler can be requested. +# If the ACTION-IF-FOUND parameter is given, it will be run if a proper +# Vala compiler is found. +# Similarly, if the ACTION-IF-FOUND is given, it will be run if no proper +# Vala compiler is found. It defaults to simply print a warning about the +# situation, but otherwise proceeding with the configuration. +# +# AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# -------------------------------------------------------------------------- +AC_DEFUN([AM_PROG_VALAC], + [AC_PATH_PROG([VALAC], [valac], [valac]) + AS_IF([test "$VALAC" != valac && test -n "$1"], + [AC_MSG_CHECKING([whether $VALAC is at least version $1]) + am__vala_version=`$VALAC --version | sed 's/Vala *//'` + AS_VERSION_COMPARE([$1], ["$am__vala_version"], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + VALAC=valac])]) + if test "$VALAC" = valac; then + m4_default([$3], + [AC_MSG_WARN([no proper vala compiler found]) + AC_MSG_WARN([you will not be able to compile vala source files])]) + else + m4_default([$2], [:]) + fi]) + +m4_include([m4/appdata-xml.m4]) +m4_include([m4/ax_check_enable_debug.m4]) +m4_include([m4/ax_generate_changelog.m4]) +m4_include([m4/ax_is_release.m4]) +m4_include([m4/ax_require_defined.m4]) +m4_include([m4/gettext.m4]) +m4_include([m4/gsettings.m4]) +m4_include([m4/iconv.m4]) +m4_include([m4/intlmacosx.m4]) +m4_include([m4/lib-ld.m4]) +m4_include([m4/lib-link.m4]) +m4_include([m4/lib-prefix.m4]) +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) +m4_include([m4/nls.m4]) +m4_include([m4/pkg.m4]) +m4_include([m4/po.m4]) +m4_include([m4/progtest.m4]) +m4_include([m4/yelp.m4]) diff --git a/app-icons/Makefile.am b/app-icons/Makefile.am new file mode 100644 index 0000000..703705c --- /dev/null +++ b/app-icons/Makefile.am @@ -0,0 +1,41 @@ +iconthemedir = $(datadir)/icons/hicolor + +appicon16dir = $(iconthemedir)/16x16/apps +appicon22dir = $(iconthemedir)/22x22/apps +appicon24dir = $(iconthemedir)/24x24/apps +appicon32dir = $(iconthemedir)/32x32/apps +appicon48dir = $(iconthemedir)/48x48/apps +appicon256dir = $(iconthemedir)/256x256/apps +appiconscalabledir = $(iconthemedir)/scalable/apps +appiconsymbolicdir = $(iconthemedir)/symbolic/apps + +dist_appicon16_DATA = \ + 16x16/apps/shotwell.png +dist_appicon22_DATA = \ + 22x22/apps/shotwell.png +dist_appicon24_DATA = \ + 24x24/apps/shotwell.png +dist_appicon32_DATA = \ + 32x32/apps/shotwell.png +dist_appicon48_DATA = \ + 48x48/apps/shotwell.png +dist_appicon256_DATA = \ + 256x256/apps/shotwell.png +dist_appiconsymbolic_DATA = \ + symbolic/apps/shotwell-symbolic.svg + +UPDATE_ICON_CACHE = gtk-update-icon-cache --ignore-theme-index --force + +install-data-hook: install-update-icon-cache +uninstall-hook: uninstall-update-icon-cache + +install-update-icon-cache: + $(AM_V_at)$(POST_INSTALL) + test -n "$(DESTDIR)" || $(UPDATE_ICON_CACHE) "$(iconthemedir)" + +uninstall-update-icon-cache: + $(AM_V_at)$(POST_UNINSTALL) + test -n "$(DESTDIR)" || $(UPDATE_ICON_CACHE) "$(iconthemedir)" + + +-include $(top_srcdir)/git.mk diff --git a/app-icons/Makefile.in b/app-icons/Makefile.in new file mode 100644 index 0000000..0f72c8c --- /dev/null +++ b/app-icons/Makefile.in @@ -0,0 +1,755 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = app-icons +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/appdata-xml.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/ax_generate_changelog.m4 \ + $(top_srcdir)/m4/ax_is_release.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(dist_appicon16_DATA) \ + $(dist_appicon22_DATA) $(dist_appicon24_DATA) \ + $(dist_appicon256_DATA) $(dist_appicon32_DATA) \ + $(dist_appicon48_DATA) $(dist_appiconsymbolic_DATA) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(appicon16dir)" \ + "$(DESTDIR)$(appicon22dir)" "$(DESTDIR)$(appicon24dir)" \ + "$(DESTDIR)$(appicon256dir)" "$(DESTDIR)$(appicon32dir)" \ + "$(DESTDIR)$(appicon48dir)" "$(DESTDIR)$(appiconsymbolicdir)" +DATA = $(dist_appicon16_DATA) $(dist_appicon22_DATA) \ + $(dist_appicon24_DATA) $(dist_appicon256_DATA) \ + $(dist_appicon32_DATA) $(dist_appicon48_DATA) \ + $(dist_appiconsymbolic_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +API_VERSION = @API_VERSION@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GIT = @GIT@ +GITVER = @GITVER@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_EXTRA_PLUGINS = @HAVE_EXTRA_PLUGINS@ +HAVE_UNITY = @HAVE_UNITY@ +HELP_DIR = @HELP_DIR@ +IMPORT_CFLAGS = @IMPORT_CFLAGS@ +IMPORT_LIBS = @IMPORT_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +ITSTOOL = @ITSTOOL@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MICRO_VERSION = @MICRO_VERSION@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ +PLUGIN_LIBS = @PLUGIN_LIBS@ +POSUB = @POSUB@ +PUBLISHING_CFLAGS = @PUBLISHING_CFLAGS@ +PUBLISHING_LIBS = @PUBLISHING_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHOTWELL_CFLAGS = @SHOTWELL_CFLAGS@ +SHOTWELL_LIBS = @SHOTWELL_LIBS@ +STRIP = @STRIP@ +THUMBNAILER_CFLAGS = @THUMBNAILER_CFLAGS@ +THUMBNAILER_LIBS = @THUMBNAILER_LIBS@ +TRANSITIONS_CFLAGS = @TRANSITIONS_CFLAGS@ +TRANSITIONS_LIBS = @TRANSITIONS_LIBS@ +UNITY_CFLAGS = @UNITY_CFLAGS@ +UNITY_LIBS = @UNITY_LIBS@ +UNITY_VALAFLAGS = @UNITY_VALAFLAGS@ +USE_NLS = @USE_NLS@ +VALAC = @VALAC@ +VALAFLAGS = @VALAFLAGS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMLLINT = @XMLLINT@ +YELP_LC_DIST = @YELP_LC_DIST@ +YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appdataxmldir = @appdataxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +iconthemedir = $(datadir)/icons/hicolor +appicon16dir = $(iconthemedir)/16x16/apps +appicon22dir = $(iconthemedir)/22x22/apps +appicon24dir = $(iconthemedir)/24x24/apps +appicon32dir = $(iconthemedir)/32x32/apps +appicon48dir = $(iconthemedir)/48x48/apps +appicon256dir = $(iconthemedir)/256x256/apps +appiconscalabledir = $(iconthemedir)/scalable/apps +appiconsymbolicdir = $(iconthemedir)/symbolic/apps +dist_appicon16_DATA = \ + 16x16/apps/shotwell.png + +dist_appicon22_DATA = \ + 22x22/apps/shotwell.png + +dist_appicon24_DATA = \ + 24x24/apps/shotwell.png + +dist_appicon32_DATA = \ + 32x32/apps/shotwell.png + +dist_appicon48_DATA = \ + 48x48/apps/shotwell.png + +dist_appicon256_DATA = \ + 256x256/apps/shotwell.png + +dist_appiconsymbolic_DATA = \ + symbolic/apps/shotwell-symbolic.svg + +UPDATE_ICON_CACHE = gtk-update-icon-cache --ignore-theme-index --force +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign app-icons/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign app-icons/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dist_appicon16DATA: $(dist_appicon16_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appicon16_DATA)'; test -n "$(appicon16dir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appicon16dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appicon16dir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicon16dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appicon16dir)" || exit $$?; \ + done + +uninstall-dist_appicon16DATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appicon16_DATA)'; test -n "$(appicon16dir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appicon16dir)'; $(am__uninstall_files_from_dir) +install-dist_appicon22DATA: $(dist_appicon22_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appicon22_DATA)'; test -n "$(appicon22dir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appicon22dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appicon22dir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicon22dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appicon22dir)" || exit $$?; \ + done + +uninstall-dist_appicon22DATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appicon22_DATA)'; test -n "$(appicon22dir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appicon22dir)'; $(am__uninstall_files_from_dir) +install-dist_appicon24DATA: $(dist_appicon24_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appicon24_DATA)'; test -n "$(appicon24dir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appicon24dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appicon24dir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicon24dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appicon24dir)" || exit $$?; \ + done + +uninstall-dist_appicon24DATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appicon24_DATA)'; test -n "$(appicon24dir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appicon24dir)'; $(am__uninstall_files_from_dir) +install-dist_appicon256DATA: $(dist_appicon256_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appicon256_DATA)'; test -n "$(appicon256dir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appicon256dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appicon256dir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicon256dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appicon256dir)" || exit $$?; \ + done + +uninstall-dist_appicon256DATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appicon256_DATA)'; test -n "$(appicon256dir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appicon256dir)'; $(am__uninstall_files_from_dir) +install-dist_appicon32DATA: $(dist_appicon32_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appicon32_DATA)'; test -n "$(appicon32dir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appicon32dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appicon32dir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicon32dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appicon32dir)" || exit $$?; \ + done + +uninstall-dist_appicon32DATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appicon32_DATA)'; test -n "$(appicon32dir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appicon32dir)'; $(am__uninstall_files_from_dir) +install-dist_appicon48DATA: $(dist_appicon48_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appicon48_DATA)'; test -n "$(appicon48dir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appicon48dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appicon48dir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicon48dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appicon48dir)" || exit $$?; \ + done + +uninstall-dist_appicon48DATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appicon48_DATA)'; test -n "$(appicon48dir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appicon48dir)'; $(am__uninstall_files_from_dir) +install-dist_appiconsymbolicDATA: $(dist_appiconsymbolic_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_appiconsymbolic_DATA)'; test -n "$(appiconsymbolicdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appiconsymbolicdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appiconsymbolicdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appiconsymbolicdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appiconsymbolicdir)" || exit $$?; \ + done + +uninstall-dist_appiconsymbolicDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_appiconsymbolic_DATA)'; test -n "$(appiconsymbolicdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appiconsymbolicdir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(appicon16dir)" "$(DESTDIR)$(appicon22dir)" "$(DESTDIR)$(appicon24dir)" "$(DESTDIR)$(appicon256dir)" "$(DESTDIR)$(appicon32dir)" "$(DESTDIR)$(appicon48dir)" "$(DESTDIR)$(appiconsymbolicdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-dist_appicon16DATA install-dist_appicon22DATA \ + install-dist_appicon24DATA install-dist_appicon256DATA \ + install-dist_appicon32DATA install-dist_appicon48DATA \ + install-dist_appiconsymbolicDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_appicon16DATA \ + uninstall-dist_appicon22DATA uninstall-dist_appicon24DATA \ + uninstall-dist_appicon256DATA uninstall-dist_appicon32DATA \ + uninstall-dist_appicon48DATA \ + uninstall-dist_appiconsymbolicDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +.MAKE: install-am install-data-am install-strip uninstall-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-hook install-dist_appicon16DATA \ + install-dist_appicon22DATA install-dist_appicon24DATA \ + install-dist_appicon256DATA install-dist_appicon32DATA \ + install-dist_appicon48DATA install-dist_appiconsymbolicDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags-am uninstall uninstall-am \ + uninstall-dist_appicon16DATA uninstall-dist_appicon22DATA \ + uninstall-dist_appicon24DATA uninstall-dist_appicon256DATA \ + uninstall-dist_appicon32DATA uninstall-dist_appicon48DATA \ + uninstall-dist_appiconsymbolicDATA uninstall-hook + +.PRECIOUS: Makefile + + +install-data-hook: install-update-icon-cache +uninstall-hook: uninstall-update-icon-cache + +install-update-icon-cache: + $(AM_V_at)$(POST_INSTALL) + test -n "$(DESTDIR)" || $(UPDATE_ICON_CACHE) "$(iconthemedir)" + +uninstall-update-icon-cache: + $(AM_V_at)$(POST_UNINSTALL) + test -n "$(DESTDIR)" || $(UPDATE_ICON_CACHE) "$(iconthemedir)" + +-include $(top_srcdir)/git.mk + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/app-icons/shotwell-source.svg b/app-icons/shotwell-source.svg deleted file mode 100644 index 814835d..0000000 --- a/app-icons/shotwell-source.svg +++ /dev/null @@ -1,5248 +0,0 @@ - - - - - Shotwell - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - Jakub Steiner - - - http://jimmac.musichall.cz - - Shotwell - - - shotwell - photo - management - darkroom - - - - - - - - - - - - - - - - - - - - - Lapo Calamandrei - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apport/shotwell.py b/apport/shotwell.py deleted file mode 100644 index a6a0183..0000000 --- a/apport/shotwell.py +++ /dev/null @@ -1,7 +0,0 @@ -import os.path -import apport.hookutils - -def add_info(report): - log_file = os.path.expanduser('~/.cache/shotwell/shotwell.log') - apport.hookutils.attach_file_if_exists(report, log_file, 'shotwell.log') - diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..abadb9a --- /dev/null +++ b/autogen.sh @@ -0,0 +1,37 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. +test -n "$srcdir" || srcdir=$(dirname "$0") +test -n "$srcdir" || srcdir=. + +olddir=$(pwd) + +cd $srcdir + +(test -f configure.ac) || { + echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***" + exit 1 +} + +# shellcheck disable=SC2016 +PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac) + +if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then + echo "*** WARNING: I am going to run 'configure' with no arguments." >&2 + echo "*** If you wish to pass any to it, please specify them on the" >&2 + echo "*** '$0' command line." >&2 + echo "" >&2 +fi + +aclocal --install || exit 1 +autoreconf --verbose --force --install || exit 1 + +cd "$olddir" +if [ "$NOCONFIGURE" = "" ]; then + $srcdir/configure "$@" || exit 1 + + if [ "$1" = "--help" ]; then exit 0 else + echo "Now type 'make' to compile $PKG_NAME" || exit 1 + fi +else + echo "Skipping configure process." +fi diff --git a/build-aux/compile b/build-aux/compile new file mode 100755 index 0000000..a85b723 --- /dev/null +++ b/build-aux/compile @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/build-aux/config.guess b/build-aux/config.guess new file mode 100755 index 0000000..1659250 --- /dev/null +++ b/build-aux/config.guess @@ -0,0 +1,1441 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2015 Free Software Foundation, Inc. + +timestamp='2015-08-20' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches to . + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2015 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}${abi}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + *:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-${LIBC} + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; +esac + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/build-aux/config.rpath b/build-aux/config.rpath new file mode 100755 index 0000000..a3e25c8 --- /dev/null +++ b/build-aux/config.rpath @@ -0,0 +1,684 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2015 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit , 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's _LT_CC_BASENAME. + +for cc_temp in $CC""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + ecc*) + wl='-Wl,' + ;; + icc* | ifort*) + wl='-Wl,' + ;; + lf95*) + wl='-Wl,' + ;; + nagfor*) + wl='-Wl,-Wl,,' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + xl* | bgxl* | bgf* | mpixl*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ F* | *Sun*Fortran*) + wl= + ;; + *Sun\ C*) + wl='-Wl,' + ;; + esac + ;; + esac + ;; + newsos6) + ;; + *nto* | *qnx*) + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + rdos*) + ;; + solaris*) + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + wl='-Qoption ld ' + ;; + *) + wl='-Wl,' + ;; + esac + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl='-Wl,' + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + haiku*) + ;; + interix[3-9]*) + hardcode_direct=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + hardcode_libdir_flag_spec= + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then + : + else + ld_shlibs=no + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd2.[01]*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + ;; + *) + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + *nto* | *qnx*) + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. +# Unlike libtool.m4, here we don't care about _all_ names of the library, but +# only about the one the linker finds when passed -lNAME. This is the last +# element of library_names_spec in libtool.m4, or possibly two of them if the +# linker has special search rules. +library_names_spec= # the last element of library_names_spec in libtool.m4 +libname_spec='lib$name' +case "$host_os" in + aix3*) + library_names_spec='$libname.a' + ;; + aix[4-9]*) + library_names_spec='$libname$shrext' + ;; + amigaos*) + case "$host_cpu" in + powerpc*) + library_names_spec='$libname$shrext' ;; + m68k) + library_names_spec='$libname.a' ;; + esac + ;; + beos*) + library_names_spec='$libname$shrext' + ;; + bsdi[45]*) + library_names_spec='$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=.dll + library_names_spec='$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=.dylib + library_names_spec='$libname$shrext' + ;; + dgux*) + library_names_spec='$libname$shrext' + ;; + freebsd[23].*) + library_names_spec='$libname$shrext$versuffix' + ;; + freebsd* | dragonfly*) + library_names_spec='$libname$shrext' + ;; + gnu*) + library_names_spec='$libname$shrext' + ;; + haiku*) + library_names_spec='$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + library_names_spec='$libname$shrext' + ;; + interix[3-9]*) + library_names_spec='$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec='$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + library_names_spec='$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec='$libname$shrext' + ;; + netbsd*) + library_names_spec='$libname$shrext' + ;; + newsos6) + library_names_spec='$libname$shrext' + ;; + *nto* | *qnx*) + library_names_spec='$libname$shrext' + ;; + openbsd*) + library_names_spec='$libname$shrext$versuffix' + ;; + os2*) + libname_spec='$name' + shrext=.dll + library_names_spec='$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec='$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec='$libname$shrext' + ;; + sunos4*) + library_names_spec='$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec='$libname$shrext' + ;; + sysv4*MP*) + library_names_spec='$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec='$libname$shrext' + ;; + tpf*) + library_names_spec='$libname$shrext' + ;; + uts4*) + library_names_spec='$libname$shrext' + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2015 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | ba \ + | be32 | be64 \ + | bfin \ + | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 | or1k | or1knd | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | riscv32 | riscv64 \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | ba-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | e2k-* | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | riscv32-* | riscv64-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | visium-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + asmjs) + basic_machine=asmjs-unknown + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/build-aux/depcomp b/build-aux/depcomp new file mode 100755 index 0000000..fc98710 --- /dev/null +++ b/build-aux/depcomp @@ -0,0 +1,791 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2013-05-30.07; # UTC + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/build-aux/install-sh b/build-aux/install-sh new file mode 100755 index 0000000..59990a1 --- /dev/null +++ b/build-aux/install-sh @@ -0,0 +1,508 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2014-09-12.12; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +tab=' ' +nl=' +' +IFS=" $tab$nl" + +# Set DOITPROG to "echo" to test this script. + +doit=${DOITPROG-} +doit_exec=${doit:-exec} + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +is_target_a_directory=possibly + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) is_target_a_directory=never;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + dstdir=`dirname "$dst"` + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + # $RANDOM is not portable (e.g. dash); use it when possible to + # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + + # As "mkdir -p" follows symlinks and we work in /tmp possibly; so + # create the $tmpdir first (and fail if unsuccessful) to make sure + # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + oIFS=$IFS + IFS=/ + set -f + set fnord $dstdir + shift + set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + set +f && + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh new file mode 100644 index 0000000..147d758 --- /dev/null +++ b/build-aux/ltmain.sh @@ -0,0 +1,11156 @@ +#! /bin/sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2014-01-03.01 + +# libtool (GNU libtool) 2.4.6 +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +PROGRAM=libtool +PACKAGE=libtool +VERSION="2.4.6 Debian-2.4.6-0.1" +package_revision=2.4.6 + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2015-01-20.17; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# Copyright (C) 2004-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# As a special exception to the GNU General Public License, if you distribute +# this file as part of a program or library that is built using GNU Libtool, +# you may include this file under the same distribution terms that you use +# for the rest of that program. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1+=\\ \$func_quote_for_eval_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1=\$$1\\ \$func_quote_for_eval_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_for_eval ARG... +# -------------------------- +# Aesthetically quote ARGs to be evaled later. +# This function returns two values: +# i) func_quote_for_eval_result +# double-quoted, suitable for a subsequent eval +# ii) func_quote_for_eval_unquoted_result +# has all characters that are still active within double +# quotes backslashified. +func_quote_for_eval () +{ + $debug_cmd + + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do + case $1 in + *[\\\`\"\$]*) + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; + esac + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else + func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + fi + + case $_G_unquoted_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_quoted_arg=\"$_G_unquoted_arg\" + ;; + *) + _G_quoted_arg=$_G_unquoted_arg + ;; + esac + + if test -n "$func_quote_for_eval_result"; then + func_append func_quote_for_eval_result " $_G_quoted_arg" + else + func_append func_quote_for_eval_result "$_G_quoted_arg" + fi + shift + done +} + + +# func_quote_for_expand ARG +# ------------------------- +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + $debug_cmd + + case $1 in + *[\\\`\"]*) + _G_arg=`$ECHO "$1" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; + *) + _G_arg=$1 ;; + esac + + case $_G_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_arg=\"$_G_arg\" + ;; + esac + + func_quote_for_expand_result=$_G_arg +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_for_expand "$_G_cmd" + eval "func_notquiet $func_quote_for_expand_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_for_expand "$_G_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# Set a version string for this script. +scriptversion=2014-01-07.03; # UTC + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# warranty; '. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# to the main code. A hook is just a named list of of function, that can +# be run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It is assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook funcions.n" ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + eval $_G_hook '"$@"' + + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + done + + func_quote_for_eval ${1+"$@"} + func_run_hooks_result=$func_quote_for_eval_result +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list in your hook function, remove any +# options that you action, and then pass back the remaining unprocessed +# options in '_result', escaped suitably for +# 'eval'. Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# +# func_quote_for_eval ${1+"$@"} +# my_options_prep_result=$func_quote_for_eval_result +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# # Note that for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# ;; +# *) set dummy "$_G_opt" "$*"; shift; break ;; +# esac +# done +# +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# +# func_quote_for_eval ${1+"$@"} +# my_option_validation_result=$func_quote_for_eval_result +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll alse need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + func_options_prep ${1+"$@"} + eval func_parse_options \ + ${func_options_prep_result+"$func_options_prep_result"} + eval func_validate_options \ + ${func_parse_options_result+"$func_parse_options_result"} + + eval func_run_hooks func_options \ + ${func_validate_options_result+"$func_validate_options_result"} + + # save modified positional parameters for caller + func_options_result=$func_run_hooks_result +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propogate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before +# returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + func_parse_options_result= + + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + + # Adjust func_parse_options positional parameters to match + eval set dummy "$func_run_hooks_result"; shift + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + test $# = 0 && func_missing_arg $_G_opt && break + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE + + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables after +# splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + test "x$func_split_equals_lhs" = "x$1" \ + && func_split_equals_rhs= + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /(C)/!b go + :more + /\./!{ + N + s|\n# | | + b more + } + :go + /^# Written by /,/# warranty; / { + s|^# || + s|^# *$|| + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + p + } + /^# Written by / { + s|^# || + p + } + /^warranty; /q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string. +scriptversion='(GNU libtool) 2.4.6' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname (GNU libtool) 2.4.6 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to . +GNU libtool home page: . +General help using GNU software: ." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func__fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." +} + + +# func_config +# ----------- +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + + +# func_features +# ------------- +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test yes = "$build_libtool_libs"; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test yes = "$build_old_libs"; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + + +# func_enable_tag TAGNAME +# ----------------------- +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + + +# func_check_version_match +# ------------------------ +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + esac + + # Pass back the list of options. + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote_for_eval ${1+"$@"} + libtool_validate_options_result=$func_quote_for_eval_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + + +## ----------- ## +## Main. ## +## ----------- ## + +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if 'file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case $lalib_p_line in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test yes = "$lalib_p" +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $debug_cmd + + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# 'FILE.' does not work on cygwin managed mounts. +func_source () +{ + $debug_cmd + + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case $lt_sysroot:$1 in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result='='$func_stripname_result + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $debug_cmd + + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with '--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' + else + write_lobj=none + fi + + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T </dev/null` + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $debug_cmd + + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result= + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result"; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $debug_cmd + + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $debug_cmd + + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $debug_cmd + + if test -z "$2" && test -n "$1"; then + func_error "Could not determine host file name corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result=$1 + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $debug_cmd + + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " '$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result=$3 + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $debug_cmd + + case $4 in + $1 ) func_to_host_path_result=$3$func_to_host_path_result + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via '$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $debug_cmd + + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $debug_cmd + + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result=$1 +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result=$func_convert_core_msys_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via '$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $debug_cmd + + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd=func_convert_path_$func_stripname_result + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $debug_cmd + + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result=$1 +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_msys_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + +# func_mode_compile arg... +func_mode_compile () +{ + $debug_cmd + + # Get the compilation command and the source file. + base_compile= + srcfile=$nonopt # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg=$arg + arg_mode=normal + ;; + + target ) + libobj=$arg + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify '-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs=$IFS; IFS=, + for arg in $args; do + IFS=$save_ifs + func_append_quoted lastarg "$arg" + done + IFS=$save_ifs + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg=$srcfile + srcfile=$arg + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with '-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj=$func_basename_result + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from '$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name '$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test yes = "$build_old_libs"; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test yes = "$need_locks"; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test warn = "$need_locks"; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result + + # Only build a PIC object if we are building libtool libraries. + if test yes = "$build_libtool_libs"; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test no != "$pic_mode"; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test yes = "$suppress_opt"; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test yes = "$compiler_c_o"; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test no != "$need_locks"; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking + -Wc,FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a 'standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to '-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the '--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the 'install' or 'cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode '$opt_mode'" + ;; + esac + + echo + $ECHO "Try '$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test : = "$opt_help"; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + $SED '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $debug_cmd + + # The first argument is the command name. + cmd=$nonopt + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "'$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "'$file' was not linked with '-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir=$func_dirname_result + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir=$func_dirname_result + ;; + + *) + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir=$absdir + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic=$magic + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file=$progdir/$program + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file=$progdir/$program + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd=\$cmd$args + fi +} + +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $debug_cmd + + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "'$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument '$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and '=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_quiet && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the '$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the '$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the '$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $debug_cmd + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac + then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=false + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=: ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" + if test -n "$arg2"; then + func_quote_for_eval "$arg2" + fi + func_append install_shared_prog " $func_quote_for_eval_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the '$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir=$func_dirname_result + destname=$func_basename_result + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "'$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "'$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir=$func_dirname_result + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking '$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname=$1 + shift + + srcname=$realname + test -n "$relink_command" && srcname=${realname}T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme=$stripme + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try 'ln -sf' first, because the 'ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib=$destdir/$realname + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name=$func_basename_result + instname=$dir/${name}i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest=$destfile + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to '$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test yes = "$build_old_libs"; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext= + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=.exe + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test no = "$fast_install" && test -n "$relink_command"; then + $opt_dry_run || { + if $finalize; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file=$func_basename_result + outputname=$tmpdir/$file + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_quiet || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink '$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file=$outputname + else + func_warning "cannot relink '$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name=$func_basename_result + + # Set up the ranlib parameters. + oldlib=$destdir/$name + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run '$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test install = "$opt_mode" && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms=${my_outputname}S.c + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist=$output_objdir/$my_outputname.nm + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* External symbol declarations for the compiler. */\ +" + + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols=$output_objdir/$outputname.exp + $opt_dry_run || { + $RM $export_symbols + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from '$dlprefile'" + func_basename "$dlprefile" + name=$func_basename_result + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename= + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname"; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename=$func_basename_result + else + # no lafile. user explicitly requested -dlpreopen . + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename"; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + $my_pic_p && pic_flag_for_symtable=" $pic_flag" + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' + + # Transform the symbol file into the correct name. + symfileobj=$output_objdir/${my_outputname}S.$objext + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for '$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $debug_cmd + + win32_libid_type=unknown + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s|.*|import| + p + q + } + }'` + ;; + esac + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $debug_cmd + + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $debug_cmd + + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1"; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result= + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test yes = "$lock_old_archive_extraction"; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $debug_cmd + + my_gentop=$1; shift + my_oldlibs=${1+"$@"} + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib=$func_basename_result + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" + cd "$darwin_curdir" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result=$my_oldobjs +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory where it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=\"$qECHO\" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test yes = "$fast_install"; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + \$ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* declarations of non-ANSI functions */ +#if defined __MINGW32__ +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined __CYGWIN__ +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined other_platform || defined ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined _MSC_VER +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +#elif defined __MINGW32__ +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined __CYGWIN__ +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined other platforms ... */ +#endif + +#if defined PATH_MAX +# define LT_PATHMAX PATH_MAX +#elif defined MAXPATHLEN +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free (stale); stale = 0; } \ +} while (0) + +#if defined LT_DEBUGWRAPPER +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + size_t tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined HAVE_DOS_BASED_FILE_SYSTEM + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined HAVE_DOS_BASED_FILE_SYSTEM + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = (size_t) (q - p); + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (STREQ (str, pat)) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + size_t len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + size_t orig_value_len = strlen (orig_value); + size_t add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[--len] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $debug_cmd + + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $debug_cmd + + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # what system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll that has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + os2dllname= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=false + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module=$wl-single_module + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg=$1 + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir=$arg + prev= + continue + ;; + dlfiles|dlprefiles) + $preload || { + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=: + } + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test no = "$dlself"; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test dlprefiles = "$prev"; then + dlself=yes + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test dlfiles = "$prev"; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols=$arg + test -f "$arg" \ + || func_fatal_error "symbol file '$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex=$arg + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + if test none != "$pic_object"; then + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + fi + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file '$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; + precious_regex) + precious_files_regex=$arg + prev= + continue + ;; + release) + release=-$arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test rpath = "$prev"; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds=$arg + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg=$arg + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "'-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test X-export-symbols = "X$arg"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between '-L' and '$1'" + else + func_fatal_error "need path for '-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test X-lc = "X$arg" || test X-lm = "X$arg"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test X-lc = "X$arg" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + # Do not include libc due to us having libc/libc_r. + test X-lc = "X$arg" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test X-lc = "X$arg" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test X-lc = "X$arg" && continue + ;; + esac + elif test X-lc_r = "X$arg"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module=$wl-multi_module + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files + # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + fi + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + test none = "$pic_object" || { + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + } + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test dlfiles = "$prev"; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test dlprefiles = "$prev"; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname=$func_basename_result + libobjs_save=$libobjs + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + + func_dirname "$output" "/" "" + output_objdir=$func_dirname_result$objdir + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test lib = "$linkmode"; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=false + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test lib,link = "$linkmode,$pass"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs=$tmp_deplibs + fi + + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs + deplibs= + fi + if test prog = "$linkmode"; then + case $pass in + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test lib,dlpreopen = "$linkmode,$pass"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs=$dlprefiles + fi + if test dlopen = "$pass"; then + # Collect dlpreopened libraries + save_deplibs=$deplibs + deplibs= + fi + + for deplib in $libs; do + lib= + found=false + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test lib = "$linkmode"; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib=$searchdir/lib$name$search_ext + if test -f "$lib"; then + if test .la = "$search_ext"; then + found=: + else + found=false + fi + break 2 + fi + done + done + if $found; then + # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll=$l + done + if test "X$ll" = "X$old_library"; then # only static version available + found=false + func_dirname "$lib" "" "." + ladir=$func_dirname_result + lib=$ladir/$old_library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + *.ltframework) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test conv = "$pass" && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + if test scan = "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "'-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test link = "$pass"; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=false + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=: + fi + ;; + pass_all) + valid_a_lib=: + ;; + esac + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + fi + ;; + esac + continue + ;; + prog) + if test link != "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=: + continue + ;; + esac # case $deplib + + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "'$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir=$func_dirname_result + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test conv = "$pass"; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib=$l + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + + # This library was specified with -dlopen. + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" + if test -z "$dlname" || + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of '$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir=$ladir + fi + ;; + esac + func_basename "$lib" + laname=$func_basename_result + + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir + else + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir + fi + test yes = "$hardcode_automatic" && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir=$ladir + absdir=$abs_ladir + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" + fi + case $host in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test lib = "$linkmode"; then + deplibs="$dir/$old_library $deplibs" + elif test prog,link = "$linkmode,$pass"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test prog = "$linkmode" && test link != "$pass"; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if $linkalldeplibs; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test prog,link = "$linkmode,$pass"; then + if test -n "$library_names" && + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then + # Make sure the rpath contains only unique directories. + case $temp_rpath: in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test built = "$use_static_libs" && test yes = "$installed"; then + use_static_libs=no + fi + if test -n "$library_names" && + { test no = "$use_static_libs" || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc* | *os2*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test no = "$installed"; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule= + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule=$dlpremoduletest + break + fi + done + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then + echo + if test prog = "$linkmode"; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname=$1 + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname=$dlname + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc* | *os2*) + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + esac + eval soname=\"$soname_spec\" + else + soname=$realname + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot=$soname + func_basename "$soroot" + soname=$func_basename_result + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from '$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for '$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test prog = "$linkmode" || test relink != "$opt_mode"; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test no = "$hardcode_direct"; then + add=$dir/$linklib + case $host in + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir=-L$dir ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we cannot + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library"; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add=$dir/$old_library + fi + elif test -n "$old_library"; then + add=$dir/$old_library + fi + fi + esac + elif test no = "$hardcode_minus_L"; then + case $host in + *-*-sunos*) add_shlibpath=$dir ;; + esac + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + relink) + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test yes != "$lib_linked"; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test prog = "$linkmode"; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test prog = "$linkmode" || test relink = "$opt_mode"; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add=-l$name + elif test yes = "$hardcode_automatic"; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib + else + add=$libdir/$linklib + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir=-L$libdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + fi + + if test prog = "$linkmode"; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test prog = "$linkmode"; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test yes = "$build_libtool_libs"; then + # Not a shared library + if test pass_all != "$deplibs_check_method"; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system cannot link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test yes = "$module"; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs=$temp_deplibs + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test no != "$link_all_deplibs"; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path=$deplib ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" + path= + fi + fi + ;; + *) + path=-L$absdir/$objdir + ;; + esac + else + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test link = "$pass"; then + if test prog = "$linkmode"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test dlopen != "$pass"; then + test conv = "$pass" || { + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" + else + vars=deplibs + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i= + ;; + esac + if test -n "$i"; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test prog = "$linkmode"; then + dlfiles=$newdlfiles + fi + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "'-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "'-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs=$output + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form 'libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 + + oldlibs= + if test -z "$rpath"; then + if test yes = "$build_libtool_libs"; then + # Building a libtool convenience library. + # Some compilers have problems with a '.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "'-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs=$IFS; IFS=: + set dummy $vinfo 0 0 0 + shift + IFS=$save_ifs + + test -n "$7" && \ + func_fatal_help "too many parameters to '-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major=$1 + number_minor=$2 + number_revision=$3 + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # that has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|freebsd-elf|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_revision + ;; + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_minor + lt_irix_increment=no + ;; + *) + func_fatal_configuration "$modename: unknown library version type '$version_type'" + ;; + esac + ;; + no) + current=$1 + revision=$2 + age=$3 + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac + ;; + + freebsd-aout) + major=.$current + versuffix=.$current.$revision + ;; + + freebsd-elf) + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + irix | nonstopux) + if test no = "$lt_irix_increment"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring=$verstring_prefix$major.$revision + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test 0 -ne "$loop"; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring_prefix$major.$iface:$verstring + done + + # Before this point, $major must not contain '.'. + major=.$major + versuffix=$major.$revision + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision + + # Add in all the interfaces that we are compatible with. + loop=$age + while test 0 -ne "$loop"; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring:$iface.0 + done + + # Make executables depend on our current version. + func_append verstring ":$current.0" + ;; + + qnx) + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current + ;; + + sunos) + major=.$current + versuffix=.$current.$revision + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 file systems. + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + + *) + func_fatal_configuration "unknown library version type '$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring=0.0 + ;; + esac + if test no = "$need_version"; then + versuffix= + else + versuffix=.0.0 + fi + fi + + # Remove version info from name if versioning should be avoided + if test yes,no = "$avoid_version,$need_version"; then + major= + versuffix= + verstring= + fi + + # Check to see if the archive will have undefined symbols. + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi + fi + else + # Don't allow undefined symbols. + allow_undefined_flag=$no_undefined_flag + fi + + fi + + func_generate_dlsyms "$libname" "$libname" : + func_append libobjs " $symfileobj" + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles=$dlfiles + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles=$dlprefiles + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test yes = "$build_libtool_libs"; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test yes = "$build_libtool_need_lc"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release= + versuffix= + major= + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib=$potent_lib + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib=$potent_lib # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs= + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test none = "$deplibs_check_method"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test yes = "$droppeddeps"; then + if test yes = "$module"; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test no = "$allow_undefined"; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs=$new_libs + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test yes = "$hardcode_into_libs"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname=$1 + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname=$realname + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib=$output_objdir/$realname + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + func_dll_def_p "$export_symbols" || { + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols=$export_symbols + export_symbols= + always_export_symbols=yes + } + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs=$IFS; IFS='~' + for cmd1 in $cmds; do + IFS=$save_ifs + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test yes = "$try_normal_branch" \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=$output_objdir/$output_la.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs=$tmp_deplibs + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test yes = "$compiler_needs_object" && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test : != "$skipped_export" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test yes = "$compiler_needs_object"; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-$k.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test -z "$objlist" || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test 1 -eq "$k"; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-$k.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-$k.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + } + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs=$IFS; IFS='~' + for cmd in $concat_cmds; do + IFS=$save_ifs + $opt_quiet || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + ${skipped_export-false} && { + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + } + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs=$IFS; IFS='~' + for cmd in $cmds; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + $opt_quiet || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test yes = "$module" || test yes = "$export_dynamic"; then + # On all known operating systems, these are identical. + dlname=$soname + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "'-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object '$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj=$output + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags + else + gentop=$output_objdir/${obj}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects + + # Create the old-style object. + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + test yes = "$build_libtool_libs" || { + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output=$libobj + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test CXX = "$tagname"; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs=$new_libs + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath=$rpath + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" false + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=: + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=false + ;; + *cygwin* | *mingw* ) + test yes = "$build_libtool_libs" || wrappers_required=false + ;; + *) + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false + fi + ;; + esac + $wrappers_required || { + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command=$compile_command$compile_rpath + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' + fi + + exit $exit_status + } + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test yes = "$no_install"; then + # We don't need to create a wrapper script. + link_command=$compile_var$compile_command$compile_rpath + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host"; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience + build_libtool_libs=no + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) + oldobjs="$old_deplibs $non_pic_objects" + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac + + if test -n "$addlibs"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase=$func_basename_result + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj"; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test -z "$oldobjs"; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test yes = "$build_old_libs" && old_library=$libname.$libext + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + if test yes = "$hardcode_automatic"; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test yes = "$installed"; then + if test -z "$install_libdir"; then + break + fi + output=$output_objdir/${outputname}i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name=$func_basename_result + func_resolve_sysroot "$deplib" + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs=$newdependency_libs + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles=$newdlprefiles + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles=$newdlprefiles + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test -n "$bindir"; then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result/$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test no,yes = "$installed,$need_relink"; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $debug_cmd + + RM=$nonopt + files= + rmforce=false + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=: ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir + else + odir=$dir/$objdir + fi + func_basename "$file" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir + + # Remember odir for removal later, being careful to avoid duplicates + if test clean = "$opt_mode"; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif $rmforce; then + continue + fi + + rmfiles=$file + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case $opt_mode in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && test none != "$pic_object"; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && test none != "$non_pic_object"; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test clean = "$opt_mode"; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the $objdir's in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi + +test -z "$opt_mode" && { + help=$generic_help + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode '$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# where we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/build-aux/missing b/build-aux/missing new file mode 100755 index 0000000..f62bbae --- /dev/null +++ b/build-aux/missing @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2013-10-28.13; # UTC + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/chkver b/chkver deleted file mode 100755 index 6e3f921..0000000 --- a/chkver +++ /dev/null @@ -1,119 +0,0 @@ -#! /bin/bash -# -# 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. -# -# chkver -# -# Returns 0 if queried version is greater than or equal (for min) or lesser than (for max) the -# supplied value, or 1 otherwise. -# -# Set VERBOSE environment variable for somewhat useful output. -# -# NOTE: -# This is an ultra-naive implementation with just enough error-checking. - -usage() { - echo 'usage: chkver ' -} - -abort() { - usage - exit 1 -} - -verify_cardinal() { - while [ $# != 0 ] - do - if [ $1 ] && [ $1 -eq $1 2> /dev/null ] && [ $1 -ge 0 ] - then - : - else - abort - fi - - shift - done -} - -# check_min name number min-number -check_min() { - if [ $2 -gt $3 ] - then - verbose $1 large enough. - exit 0 - elif [ $2 -lt $3 ] - then - verbose $1 not large enough. - exit 1 - fi -} - -# check_max name number max-number -check_max() { - if [ $2 -lt $3 ] - then - verbose $1 small enough. - exit 0 - elif [ $2 -gt $3 ] - then - verbose $1 not small enough. - exit 1 - fi -} - -verbose() { - if [ $VERBOSE ] - then - echo $* - fi -} - -# Check number of arguments -if [ $# -lt 3 ] -then - abort -fi - -# Parse arguments -mode=$1 -if [ $mode != "min" ] && [ $mode != "max" ] -then - abort -fi - -major=`echo $2 | awk -F. '{print $1}'` -minor=`echo $2 | awk -F. '{print $2}'` -revision=`echo $2 | awk -F. '{print $3}'` - -min_major=`echo $3 | awk -F. '{print $1}'` -min_minor=`echo $3 | awk -F. '{print $2}'` -min_revision=`echo $3 | awk -F. '{print $3}'` - -# Verify they're all positive integers -verify_cardinal "$major" "$minor" "$revision" "$min_major" "$min_minor" "$min_revision" - -verbose Comparing $major.$minor.$revision against $mode $min_major.$min_minor.$min_revision - -# check version numbers in order of importance -if [ $mode == "min" ] -then - check_min "Major" $major $min_major - check_min "Minor" $minor $min_minor - check_min "Revision" $revision $min_revision -else - check_max "Major" $major $min_major - check_max "Minor" $minor $min_minor - check_max "Revision" $revision $min_revision -fi - -verbose Same version. -if [ $mode == "min" ] -then - exit 0 -else - exit 1 -fi - diff --git a/common.am b/common.am new file mode 100644 index 0000000..6129cf1 --- /dev/null +++ b/common.am @@ -0,0 +1,19 @@ +# --enable-checking needs to come first to not trigger +# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18734 +COMMON_VALAFLAGS = \ + --enable-checking --target-glib=2.32 --thread --fatal-warnings \ + --enable-experimental --enable-deprecated + +COMMON_CFLAGS = \ + -I$(top_srcdir)/vapi \ + -D_PREFIX='"$(prefix)"' \ + -D_VERSION='"$(VERSION)"' \ + -DGETTEXT_PACKAGE='"$(GETTEXT_PACKAGE)"' \ + -D_LANG_SUPPORT_DIR='"$(prefix)/share/locale"' \ + -D_LIBEXECDIR='"$(libexecdir)"' \ + -D_LIB='"$(libdir)"' + +if IS_GITVERSION +COMMON_CFLAGS += -D_GIT_VERSION='"@GITVER@"' +COMMON_VALAFLAGS += --define=_GITVERSION +endif diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..02be145 --- /dev/null +++ b/config.h.in @@ -0,0 +1,98 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#undef ENABLE_NLS + +/* GETTEXT package name */ +#undef GETTEXT_PACKAGE + +/* Define if debugging is enabled */ +#undef G_DISABLE_ASSERT + +/* Define if debugging is enabled */ +#undef G_DISABLE_CAST_CHECKS + +/* Define if debugging is enabled */ +#undef G_DISABLE_CHECKS + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYCURRENT + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define if you have the iconv() function and it works. */ +#undef HAVE_ICONV + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Define if debugging is disabled */ +#undef NDEBUG + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/configure b/configure index 78a07cb..baeb3bc 100755 --- a/configure +++ b/configure @@ -1,184 +1,19508 @@ -#!/usr/bin/env bash -# -# 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. - -CONFIG_IN=configure.mk - -configure_help() { - cat <<- EOT -Usage: - ./configure [OPTIONS]... - -Options: - -h, --help Print this help and exit. - --assume-pkgs Turn off package version checking. - --build=DIR Build secondary files in DIR. - --debug | --release Build executable for debugging or release. - [--release] - --profile Enable profiling support during C compile & link. - --prefix=PREFIX Prepend PREFIX to program installation paths. - [/usr/local] - --lib=LIBNAME Set system library directory name to LIBNAME - (usually 'lib' or 'lib64'). - [lib] - --libdir LIBNAME Equivalent to --lib=LIBNAME - --libexec=LIBEXECDIR Set utility executable to LIBEXECDIR - (usually 'PREFIX/libexec/shotwell'). - [PREFIX/libexec/shotwell] - --libexec LIBEXECDIR Equivalent to --libexec=LIBEXECDIR - - --define=SYMBOL Define a symbol for the Vala compiler. - - - --disable-schemas-compile - Disable compiling the GSettings schema. - --disable-gsettings-convert-install - Disable installing the gsettings-data-convert file. - --disable-desktop-update - Disable desktop database update. - --disable-desktop-validate - Disable validation of .desktop files. - --disable-icon-update - Disable icon cache update. - --enable-build-for-glade - Enable build for Glade-related development. - --disable-help-install - Disable installation of online help. - --disable-extra-plugins-install - Disable installation of extra (non-core) plugins. - --install-headers - Install headers and VAPI files (developers only). - --unity-support - Enable support for progress bars in the Unity launcher. -EOT -} - -abort() { - printf "%s: Invalid argument %s\n" $0 $1 - configure_help - exit 1 -} - -while [ $# != 0 ] -do - option=`echo $1 | sed 's/=.*//'` - if [ `echo $1 | grep '='` ] - then - value=`echo $1 | sed 's/.*=//'` - fi - - case $option in - -h | --help) configure_help - exit 0 - ;; - - --prefix) if [ ! $value ] - then - shift - value=$1 - fi - - variables="${variables}PREFIX=$value\n" - ;; - - --lib | --libdir) if [ ! $value ] - then - shift - value=$1 - fi - - variables="${variables}LIB=$value\n" - ;; - - --libexec) if [ ! $value ] - then - shift - value=$1 - fi - - variables="${variables}LIBEXECDIR=$value\n" - ;; - - --assume-pkgs) variables="${variables}ASSUME_PKGS=1\n" - ;; - - --build) if [ ! $value ] - then - shift - value=$1 - fi - - variables="${variables}BUILD_DIR=$value\n" - ;; - - --debug) variables="${variables}BUILD_RELEASE=\nBUILD_DEBUG=1\n" - ;; - - --profile) variables="${variables}PROFILE_FLAGS=-pg\n" - ;; - - --release) variables="${variables}BUILD_DEBUG=\nBUILD_RELEASE=1\n" - ;; - - --define) variables="${variables}USER_VALAFLAGS+=--define=$value\n" - ;; - - --disable-schemas-compile) variables="${variables}DISABLE_SCHEMAS_COMPILE=1\n" - ;; - - --disable-gsettings-convert-install) variables="${variables}DISABLE_GSETTINGS_CONVERT_INSTALL=1\n" - ;; - - --disable-desktop-update) variables="${variables}DISABLE_DESKTOP_UPDATE=1\n" - ;; - - --disable-desktop-validate) variables="${variables}DISABLE_DESKTOP_VALIDATE=1\n" - ;; - - --disable-icon-update) variables="${variables}DISABLE_ICON_UPDATE=1\n" - ;; - - --enable-build-for-glade) variables="${variables}ENABLE_BUILD_FOR_GLADE=1\n" - ;; - --disable-help-install) variables="${variables}DISABLE_HELP_INSTALL=1\n" - ;; - --disable-extra-plugins-install) variables="${variables}DISABLE_EXTRA_PLUGINS_INSTALL=1\n" - ;; - - --install-headers) variables="${variables}INSTALL_HEADERS=1\n" - ;; - - --unity-support) variables="${variables}UNITY_SUPPORT=1\n" - ;; - - --enable-* | --disable-*) - - echo WARNING: unrecognized option: $option - ;; - - *) if [ `echo $option | grep '\-\-'` ] - then - # we've hit a bogus '--' -type argument, don't accept it. - abort $option - fi - - # this argument isn't for us; pass it on to the makefile phase. - variables="${variables}${option}=${value}\n" - ;; - esac - - value="" +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for shotwell 0.23.5. +# +# Report bugs to . +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and https://bugzilla.gnome.org/enter_bug.cgi?product=shotwell +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +as_awk_strverscmp=' + # Use only awk features that work with 7th edition Unix awk (1978). + # My, what an old awk you have, Mr. Solaris! + END { + while (length(v1) && length(v2)) { + # Set d1 to be the next thing to compare from v1, and likewise for d2. + # Normally this is a single character, but if v1 and v2 contain digits, + # compare them as integers and fractions as strverscmp does. + if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { + # Split v1 and v2 into their leading digit string components d1 and d2, + # and advance v1 and v2 past the leading digit strings. + for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue + for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue + d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) + d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) + if (d1 ~ /^0/) { + if (d2 ~ /^0/) { + # Compare two fractions. + while (d1 ~ /^0/ && d2 ~ /^0/) { + d1 = substr(d1, 2); len1-- + d2 = substr(d2, 2); len2-- + } + if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { + # The two components differ in length, and the common prefix + # contains only leading zeros. Consider the longer to be less. + d1 = -len1 + d2 = -len2 + } else { + # Otherwise, compare as strings. + d1 = "x" d1 + d2 = "x" d2 + } + } else { + # A fraction is less than an integer. + exit 1 + } + } else { + if (d2 ~ /^0/) { + # An integer is greater than a fraction. + exit 2 + } else { + # Compare two integers. + d1 += 0 + d2 += 0 + } + } + } else { + # The normal case, without worrying about digits. + d1 = substr(v1, 1, 1); v1 = substr(v1, 2) + d2 = substr(v2, 1, 1); v2 = substr(v2, 2) + } + if (d1 < d2) exit 1 + if (d1 > d2) exit 2 + } + # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), + # which mishandles some comparisons of empty strings to integers. + if (length(v2)) exit 1 + if (length(v1)) exit 2 + } +' +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='shotwell' +PACKAGE_TARNAME='shotwell' +PACKAGE_VERSION='0.23.5' +PACKAGE_STRING='shotwell 0.23.5' +PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=shotwell' +PACKAGE_URL='' + +ac_unique_file="NEWS" +gt_needs= +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +GLIB_COMPILE_RESOURCES +APPDATA_XML_RULES +appdataxmldir +APPSTREAM_UTIL +YELP_HELP_RULES +XMLLINT +ITSTOOL +HELP_DIR +YELP_LC_DIST +YELP_LC_MEDIA_LINKS +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +LIBTOOL +HAVE_EXTRA_PLUGINS_FALSE +HAVE_EXTRA_PLUGINS_TRUE +HAVE_EXTRA_PLUGINS +HAVE_UNITY_FALSE +HAVE_UNITY_TRUE +HAVE_UNITY +UNITY_VALAFLAGS +UNITY_LIBS +UNITY_CFLAGS +TRANSITIONS_LIBS +TRANSITIONS_CFLAGS +PUBLISHING_LIBS +PUBLISHING_CFLAGS +IMPORT_LIBS +IMPORT_CFLAGS +PLUGIN_LIBS +PLUGIN_CFLAGS +THUMBNAILER_LIBS +THUMBNAILER_CFLAGS +SHOTWELL_LIBS +SHOTWELL_CFLAGS +VALAFLAGS +GSETTINGS_RULES +GLIB_COMPILE_SCHEMAS +gsettingsschemadir +GSETTINGS_DISABLE_SCHEMAS_COMPILE +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +VALAC +POSUB +LTLIBINTL +LIBINTL +INTLLIBS +LTLIBICONV +LIBICONV +INTL_MACOSX_LIBS +EGREP +GREP +CPP +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +XGETTEXT_EXTRA_OPTIONS +MSGMERGE +XGETTEXT_015 +XGETTEXT +GMSGFMT_015 +MSGFMT_015 +GMSGFMT +MSGFMT +GETTEXT_MACRO_VERSION +USE_NLS +SED +GETTEXT_PACKAGE +GENERATE_CHANGELOG_RULES +GIT +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_TRUE +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +IS_GITVERSION_FALSE +IS_GITVERSION_TRUE +GITVER +API_VERSION +MICRO_VERSION +MINOR_VERSION +MAJOR_VERSION +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +ACLOCAL_AMFLAGS +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_maintainer_mode +enable_debug +enable_nls +enable_dependency_tracking +with_gnu_ld +enable_rpath +with_libiconv_prefix +with_libintl_prefix +enable_schemas_compile +enable_unity_support +enable_extra_plugins +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_sysroot +enable_libtool_lock +with_help_dir +enable_appdata_validate +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +SHOTWELL_CFLAGS +SHOTWELL_LIBS +THUMBNAILER_CFLAGS +THUMBNAILER_LIBS +PLUGIN_CFLAGS +PLUGIN_LIBS +IMPORT_CFLAGS +IMPORT_LIBS +PUBLISHING_CFLAGS +PUBLISHING_LIBS +TRANSITIONS_CFLAGS +TRANSITIONS_LIBS +UNITY_CFLAGS +UNITY_LIBS +LT_SYS_LIBRARY_PATH +ITSTOOL +XMLLINT' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures shotwell 0.23.5 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/shotwell] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of shotwell 0.23.5:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --disable-maintainer-mode + disable make rules and dependencies not useful (and + sometimes confusing) to the casual installer + --enable-debug=[yes/info/profile/no] + compile with debugging + --disable-nls do not use Native Language Support + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --disable-rpath do not hardcode runtime library paths + --disable-schemas-compile + Disable regeneration of gschemas.compiled on install + --enable-unity-support Enable Ubuntu Unity integration + --disable-extra-plugins Enable building and installation of extra publishing + plugins + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --disable-appdata-validate + Disable validating AppData XML files during check + phase + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib + --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib + --without-libintl-prefix don't search for libintl in includedir and libdir + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + --with-help-dir=DIR path where help files are installed + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path + SHOTWELL_CFLAGS + C compiler flags for SHOTWELL, overriding pkg-config + SHOTWELL_LIBS + linker flags for SHOTWELL, overriding pkg-config + THUMBNAILER_CFLAGS + C compiler flags for THUMBNAILER, overriding pkg-config + THUMBNAILER_LIBS + linker flags for THUMBNAILER, overriding pkg-config + PLUGIN_CFLAGS + C compiler flags for PLUGIN, overriding pkg-config + PLUGIN_LIBS linker flags for PLUGIN, overriding pkg-config + IMPORT_CFLAGS + C compiler flags for IMPORT, overriding pkg-config + IMPORT_LIBS linker flags for IMPORT, overriding pkg-config + PUBLISHING_CFLAGS + C compiler flags for PUBLISHING, overriding pkg-config + PUBLISHING_LIBS + linker flags for PUBLISHING, overriding pkg-config + TRANSITIONS_CFLAGS + C compiler flags for TRANSITIONS, overriding pkg-config + TRANSITIONS_LIBS + linker flags for TRANSITIONS, overriding pkg-config + UNITY_CFLAGS + C compiler flags for UNITY, overriding pkg-config + UNITY_LIBS linker flags for UNITY, overriding pkg-config + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + ITSTOOL Path to the `itstool` command + XMLLINT Path to the `xmllint` command + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +shotwell configure 0.23.5 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by shotwell $as_me 0.23.5, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +gt_needs="$gt_needs " +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_config_headers="$ac_config_headers config.h" + + + +ac_aux_dir= +for ac_dir in build-aux "$srcdir"/build-aux; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +ACLOCAL_AMFLAGS="-I m4" + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + +MAJOR_VERSION=0 + +MINOR_VERSION=23 + +MICRO_VERSION=5 + +API_VERSION=0 + + +GITVER=1abdf94cb09efcb66b6d9ecfe27533234ce43117 + + + if test "x$GITVER" != "x"; then + IS_GITVERSION_TRUE= + IS_GITVERSION_FALSE='#' +else + IS_GITVERSION_TRUE='#' + IS_GITVERSION_FALSE= +fi + + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +am__api_version='1.15' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='shotwell' + VERSION='0.23.5' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar plaintar pax cpio none' + +# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5 +$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; } + if test $am_uid -le $am_max_uid; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + _am_tools=none + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5 +$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; } + if test $am_gid -le $am_max_gid; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + _am_tools=none + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 +$as_echo_n "checking how to create a ustar tar archive... " >&6; } + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_ustar-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + { echo "$as_me:$LINENO: $_am_tar --version" >&5 + ($_am_tar --version) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && break + done + am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x ustar -w "$$tardir"' + am__tar_='pax -L -x ustar -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H ustar -L' + am__tar_='find "$tardir" -print | cpio -o -H ustar -L' + am__untar='cpio -i -H ustar -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_ustar}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 + (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + rm -rf conftest.dir + if test -s conftest.tar; then + { echo "$as_me:$LINENO: $am__untar &5 + ($am__untar &5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + { echo "$as_me:$LINENO: cat conftest.dir/file" >&5 + (cat conftest.dir/file) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + if ${am_cv_prog_tar_ustar+:} false; then : + $as_echo_n "(cached) " >&6 +else + am_cv_prog_tar_ustar=$_am_tool +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5 +$as_echo "$am_cv_prog_tar_ustar" >&6; } + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + # Find git, defaulting to the 'missing' script so the user gets a nice + # message if git is missing, rather than a plain 'command not found'. + # Extract the first word of "git", so it can be a program name with args. +set dummy git; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GIT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GIT="$GIT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GIT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GIT" && ac_cv_path_GIT="${am_missing_run}git" + ;; +esac +fi +GIT=$ac_cv_path_GIT +if test -n "$GIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIT" >&5 +$as_echo "$GIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + # Build the ChangeLog rules. + +GENERATE_CHANGELOG_RULES=' +# Generate ChangeLog +# +# Optional: +# - CHANGELOG_START: git commit ID or tag name to output changelogs from +# (exclusive). (Default: include all commits) +# - CHANGELOG_GIT_FLAGS: General flags to pass to git-log when generating the +# ChangeLog. (Default: various) +# - CHANGELOG_GIT_DIR: .git directory to use. (Default: $(top_srcdir)/.git) + +# git-specific +CHANGELOG_GIT_FLAGS ?= --stat -M -C --name-status --no-color +CHANGELOG_GIT_DIR ?= $(top_srcdir)/.git + +ifeq ($(CHANGELOG_START),) +CHANGELOG_GIT_RANGE = +else +CHANGELOG_GIT_RANGE = $(CHANGELOG_START).. +endif + +# Generate a ChangeLog in $(top_distdir) +dist-ChangeLog: + $(AM_V_GEN)if $(GIT) \ + --git-dir=$(CHANGELOG_GIT_DIR) --work-tree=$(top_srcdir) log \ + $(CHANGELOG_GIT_FLAGS) $(CHANGELOG_GIT_RANGE) \ + | fmt --split-only >.ChangeLog.tmp; \ + then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ + else rm -f .ChangeLog.tmp; exit 1; fi + +.PHONY: dist-ChangeLog +' + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable debugging" >&5 +$as_echo_n "checking whether to enable debugging... " >&6; } + + ax_enable_debug_default=no + ax_enable_debug_is_release=$ax_is_release + + # If this is a release, override the default. + if test "$ax_enable_debug_is_release" = "yes"; then : + ax_enable_debug_default="no" +fi + + + + + # Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then : + enableval=$enable_debug; +else + enable_debug=$ax_enable_debug_default +fi + + + # empty mean debug yes + if test "x$enable_debug" = "x"; then : + enable_debug="yes" +fi + + # case of debug + case $enable_debug in #( + yes) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="${CFLAGS} -g -O0" + CXXFLAGS="${CXXFLAGS} -g -O0" + FFLAGS="${FFLAGS} -g -O0" + FCFLAGS="${FCFLAGS} -g -O0" + OBJCFLAGS="${OBJCFLAGS} -g -O0" + ;; #( + info) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: info" >&5 +$as_echo "info" >&6; } + CFLAGS="${CFLAGS} -g" + CXXFLAGS="${CXXFLAGS} -g" + FFLAGS="${FFLAGS} -g" + FCFLAGS="${FCFLAGS} -g" + OBJCFLAGS="${OBJCFLAGS} -g" + ;; #( + profile) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: profile" >&5 +$as_echo "profile" >&6; } + CFLAGS="${CFLAGS} -g -pg" + CXXFLAGS="${CXXFLAGS} -g -pg" + FFLAGS="${FFLAGS} -g -pg" + FCFLAGS="${FCFLAGS} -g -pg" + OBJCFLAGS="${OBJCFLAGS} -g -pg" + LDFLAGS="${LDFLAGS} -pg" + ;; #( + *) : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + if test "x${CFLAGS+set}" != "xset"; then : + CFLAGS="" +fi + if test "x${CXXFLAGS+set}" != "xset"; then : + CXXFLAGS="" +fi + if test "x${FFLAGS+set}" != "xset"; then : + FFLAGS="" +fi + if test "x${FCFLAGS+set}" != "xset"; then : + FCFLAGS="" +fi + if test "x${OBJCFLAGS+set}" != "xset"; then : + OBJCFLAGS="" +fi + ;; +esac + + if test "x$enable_debug" = "xyes"; then : + +$as_echo "#define G_DISABLE_ASSERT /**/" >>confdefs.h + +$as_echo "#define G_DISABLE_CHECKS /**/" >>confdefs.h + +$as_echo "#define G_DISABLE_CAST_CHECKS /**/" >>confdefs.h + +else + +$as_echo "#define NDEBUG /**/" >>confdefs.h + +fi + ax_enable_debug=$enable_debug + + + +GETTEXT_PACKAGE=shotwell + + +cat >>confdefs.h <<_ACEOF +#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + + + + + GETTEXT_MACRO_VERSION=0.19 + + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GMSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac + + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XGETTEXT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + rm -f messages.po + + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGMERGE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$localedir" || localedir='${datadir}/locale' + + + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + + + ac_config_commands="$ac_config_commands po-directories" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _LP64 +sixtyfour bits +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBICONV= + LTLIBICONV= + INCICONV= + LIBICONV_PREFIX= + HAVE_LIBICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes +else + gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes +else + gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h + + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + + + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if eval \${$gt_func_gnugettext_libc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libc=yes" +else + eval "$gt_func_gnugettext_libc=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$gt_func_gnugettext_libc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + +int +main () +{ +int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + result |= 16; + return result; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + +$as_echo "#define HAVE_ICONV 1" >>confdefs.h + + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBINTL= + LTLIBINTL= + INCINTL= + LIBINTL_PREFIX= + HAVE_LIBINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done + fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if eval \${$gt_func_gnugettext_libintl+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libintl=yes" +else + eval "$gt_func_gnugettext_libintl=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +eval ac_res=\$$gt_func_gnugettext_libintl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + +$as_echo "#define ENABLE_NLS 1" >>confdefs.h + + else + USE_NLS=no + fi + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + fi + + +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h + + +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h + + fi + + POSUB=po + fi + + + + INTLLIBS="$LIBINTL" + + + + + + + + +# Extract the first word of "valac", so it can be a program name with args. +set dummy valac; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_VALAC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $VALAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_VALAC="$VALAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_VALAC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_VALAC" && ac_cv_path_VALAC="valac" + ;; +esac +fi +VALAC=$ac_cv_path_VALAC +if test -n "$VALAC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALAC" >&5 +$as_echo "$VALAC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "$VALAC" != valac && test -n "0.28"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $VALAC is at least version 0.28" >&5 +$as_echo_n "checking whether $VALAC is at least version 0.28... " >&6; } + am__vala_version=`$VALAC --version | sed 's/Vala *//'` + as_arg_v1=0.28 +as_arg_v2="$am__vala_version" +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ;; #( + 0) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ;; #( + 2) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + VALAC=valac ;; #( + *) : + ;; +esac +fi + if test "$VALAC" = valac; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no proper vala compiler found" >&5 +$as_echo "$as_me: WARNING: no proper vala compiler found" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: you will not be able to compile vala source files" >&5 +$as_echo "$as_me: WARNING: you will not be able to compile vala source files" >&2;} + else + : + fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.22 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + + + + + # Check whether --enable-schemas-compile was given. +if test "${enable_schemas_compile+set}" = set; then : + enableval=$enable_schemas_compile; case ${enableval} in + yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; + no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-schemas-compile" "$LINENO" 5 ;; + esac +fi + + + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.16 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + gsettingsschemadir=${datadir}/glib-2.0/schemas + + if test x$cross_compiling != xyes; then + GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0` + else + # Extract the first word of "glib-compile-schemas", so it can be a program name with args. +set dummy glib-compile-schemas; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GLIB_COMPILE_SCHEMAS+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GLIB_COMPILE_SCHEMAS in + [\\/]* | ?:[\\/]*) + ac_cv_path_GLIB_COMPILE_SCHEMAS="$GLIB_COMPILE_SCHEMAS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GLIB_COMPILE_SCHEMAS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +GLIB_COMPILE_SCHEMAS=$ac_cv_path_GLIB_COMPILE_SCHEMAS +if test -n "$GLIB_COMPILE_SCHEMAS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_SCHEMAS" >&5 +$as_echo "$GLIB_COMPILE_SCHEMAS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + + if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then + as_fn_error $? "glib-compile-schemas not found." "$LINENO" 5 + else + : + fi + + GSETTINGS_RULES=' +.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas + +mostlyclean-am: clean-gsettings-schemas + +gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) + +%.gschema.valid: %.gschema.xml $(gsettings__enum_file) + $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p $(@D) && touch $@ + +all-am: $(gsettings_SCHEMAS:.xml=.valid) +uninstall-am: uninstall-gsettings-schemas +install-data-am: install-gsettings-schemas + +.SECONDARY: $(gsettings_SCHEMAS) + +install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ + fi + +uninstall-gsettings-schemas: + @$(NORMAL_UNINSTALL) + @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) + +clean-gsettings-schemas: + rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) + +ifdef gsettings_ENUM_NAMESPACE +$(gsettings__enum_file): $(gsettings_ENUM_FILES) + $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" $^ > $@.tmp && mv $@.tmp $@ +endif +' + + + + + + + +# Using -g in target's _VALAFLAGS triggers a bug in Vala's automake integration +# that causes invalid makefile generation, so we put it into global VALAFLAGS +VALAFLAGS="-g" + + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SHOTWELL" >&5 +$as_echo_n "checking for SHOTWELL... " >&6; } + +if test -n "$SHOTWELL_CFLAGS"; then + pkg_cv_SHOTWELL_CFLAGS="$SHOTWELL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + \""; } >&5 + ($PKG_CONFIG --exists --print-errors " + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SHOTWELL_CFLAGS=`$PKG_CONFIG --cflags " + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SHOTWELL_LIBS"; then + pkg_cv_SHOTWELL_LIBS="$SHOTWELL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + \""; } >&5 + ($PKG_CONFIG --exists --print-errors " + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + ") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SHOTWELL_LIBS=`$PKG_CONFIG --libs " + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + " 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SHOTWELL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + " 2>&1` + else + SHOTWELL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + " 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SHOTWELL_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements ( + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + ) were not met: + +$SHOTWELL_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables SHOTWELL_CFLAGS +and SHOTWELL_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables SHOTWELL_CFLAGS +and SHOTWELL_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + SHOTWELL_CFLAGS=$pkg_cv_SHOTWELL_CFLAGS + SHOTWELL_LIBS=$pkg_cv_SHOTWELL_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for THUMBNAILER" >&5 +$as_echo_n "checking for THUMBNAILER... " >&6; } + +if test -n "$THUMBNAILER_CFLAGS"; then + pkg_cv_THUMBNAILER_CFLAGS="$THUMBNAILER_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_THUMBNAILER_CFLAGS=`$PKG_CONFIG --cflags "gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$THUMBNAILER_LIBS"; then + pkg_cv_THUMBNAILER_LIBS="$THUMBNAILER_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_THUMBNAILER_LIBS=`$PKG_CONFIG --libs "gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + THUMBNAILER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0" 2>&1` + else + THUMBNAILER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$THUMBNAILER_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0) were not met: + +$THUMBNAILER_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables THUMBNAILER_CFLAGS +and THUMBNAILER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables THUMBNAILER_CFLAGS +and THUMBNAILER_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + THUMBNAILER_CFLAGS=$pkg_cv_THUMBNAILER_CFLAGS + THUMBNAILER_LIBS=$pkg_cv_THUMBNAILER_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PLUGIN" >&5 +$as_echo_n "checking for PLUGIN... " >&6; } + +if test -n "$PLUGIN_CFLAGS"; then + pkg_cv_PLUGIN_CFLAGS="$PLUGIN_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PLUGIN_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$PLUGIN_LIBS"; then + pkg_cv_PLUGIN_LIBS="$PLUGIN_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PLUGIN_LIBS=`$PKG_CONFIG --libs "gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PLUGIN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8" 2>&1` + else + PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$PLUGIN_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8) were not met: + +$PLUGIN_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables PLUGIN_CFLAGS +and PLUGIN_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables PLUGIN_CFLAGS +and PLUGIN_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + PLUGIN_CFLAGS=$pkg_cv_PLUGIN_CFLAGS + PLUGIN_LIBS=$pkg_cv_PLUGIN_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for IMPORT" >&5 +$as_echo_n "checking for IMPORT... " >&6; } + +if test -n "$IMPORT_CFLAGS"; then + pkg_cv_IMPORT_CFLAGS="$IMPORT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_IMPORT_CFLAGS=`$PKG_CONFIG --cflags "gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$IMPORT_LIBS"; then + pkg_cv_IMPORT_LIBS="$IMPORT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_IMPORT_LIBS=`$PKG_CONFIG --libs "gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + IMPORT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3" 2>&1` + else + IMPORT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$IMPORT_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3) were not met: + +$IMPORT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables IMPORT_CFLAGS +and IMPORT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables IMPORT_CFLAGS +and IMPORT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + IMPORT_CFLAGS=$pkg_cv_IMPORT_CFLAGS + IMPORT_LIBS=$pkg_cv_IMPORT_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PUBLISHING" >&5 +$as_echo_n "checking for PUBLISHING... " >&6; } + +if test -n "$PUBLISHING_CFLAGS"; then + pkg_cv_PUBLISHING_CFLAGS="$PUBLISHING_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PUBLISHING_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$PUBLISHING_LIBS"; then + pkg_cv_PUBLISHING_LIBS="$PUBLISHING_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PUBLISHING_LIBS=`$PKG_CONFIG --libs "gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PUBLISHING_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0" 2>&1` + else + PUBLISHING_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$PUBLISHING_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0) were not met: + +$PUBLISHING_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables PUBLISHING_CFLAGS +and PUBLISHING_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables PUBLISHING_CFLAGS +and PUBLISHING_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + PUBLISHING_CFLAGS=$pkg_cv_PUBLISHING_CFLAGS + PUBLISHING_LIBS=$pkg_cv_PUBLISHING_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TRANSITIONS" >&5 +$as_echo_n "checking for TRANSITIONS... " >&6; } + +if test -n "$TRANSITIONS_CFLAGS"; then + pkg_cv_TRANSITIONS_CFLAGS="$TRANSITIONS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_TRANSITIONS_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$TRANSITIONS_LIBS"; then + pkg_cv_TRANSITIONS_LIBS="$TRANSITIONS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_TRANSITIONS_LIBS=`$PKG_CONFIG --libs "gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + TRANSITIONS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0" 2>&1` + else + TRANSITIONS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$TRANSITIONS_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0) were not met: + +$TRANSITIONS_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables TRANSITIONS_CFLAGS +and TRANSITIONS_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables TRANSITIONS_CFLAGS +and TRANSITIONS_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + TRANSITIONS_CFLAGS=$pkg_cv_TRANSITIONS_CFLAGS + TRANSITIONS_LIBS=$pkg_cv_TRANSITIONS_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + +# Check whether --enable-unity-support was given. +if test "${enable_unity_support+set}" = set; then : + enableval=$enable_unity_support; +else + enable_unity_support=no +fi + + +if test "x$enable_unity_support" = "xyes"; then : + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UNITY" >&5 +$as_echo_n "checking for UNITY... " >&6; } + +if test -n "$UNITY_CFLAGS"; then + pkg_cv_UNITY_CFLAGS="$UNITY_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"unity\""; } >&5 + ($PKG_CONFIG --exists --print-errors "unity") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_UNITY_CFLAGS=`$PKG_CONFIG --cflags "unity" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$UNITY_LIBS"; then + pkg_cv_UNITY_LIBS="$UNITY_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"unity\""; } >&5 + ($PKG_CONFIG --exists --print-errors "unity") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_UNITY_LIBS=`$PKG_CONFIG --libs "unity" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + UNITY_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "unity" 2>&1` + else + UNITY_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "unity" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$UNITY_PKG_ERRORS" >&5 + + HAVE_UNITY=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + HAVE_UNITY=no +else + UNITY_CFLAGS=$pkg_cv_UNITY_CFLAGS + UNITY_LIBS=$pkg_cv_UNITY_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + HAVE_UNITY=yes + UNITY_VALAFLAGS="--pkg unity --define UNITY_SUPPORT" + + +fi + +else + HAVE_UNITY=no +fi + + if test "x$HAVE_UNITY" = "xyes"; then + HAVE_UNITY_TRUE= + HAVE_UNITY_FALSE='#' +else + HAVE_UNITY_TRUE='#' + HAVE_UNITY_FALSE= +fi + + +# Check whether --enable-extra-plugins was given. +if test "${enable_extra_plugins+set}" = set; then : + enableval=$enable_extra_plugins; +else + enable_extra_plugins=yes +fi + +if test "x$enable_extra_plugins" = "xyes"; then : + HAVE_EXTRA_PLUGINS=yes +else + HAVE_EXTRA_PLUGINS=no +fi + + if test "x$HAVE_EXTRA_PLUGINS" = "xyes"; then + HAVE_EXTRA_PLUGINS_TRUE= + HAVE_EXTRA_PLUGINS_FALSE='#' +else + HAVE_EXTRA_PLUGINS_TRUE='#' + HAVE_EXTRA_PLUGINS_FALSE= +fi + + + +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.6' +macro_revision='2.4.6' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} +: ${AR_FLAGS=cru} + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[012][,.]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + link_all_deplibs=no + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + + + + + + + + + +YELP_LC_MEDIA_LINKS=true +YELP_LC_DIST=true + +for yelpopt in ; do + case $yelpopt in + lc-media-links) YELP_LC_MEDIA_LINKS=true ;; + no-lc-media-links) YELP_LC_MEDIA_LINKS= ;; + lc-dist) YELP_LC_DIST=true ;; + no-lc-dist) YELP_LC_DIST= ;; + *) as_fn_error $? "Unrecognized YELP_HELP_INIT option $yelpopt\"" "$LINENO" 5 ;; + esac +done; + + + + +# Check whether --with-help-dir was given. +if test "${with_help_dir+set}" = set; then : + withval=$with_help_dir; +else + with_help_dir='${datadir}/help' +fi + +HELP_DIR="$with_help_dir" + + + +# Extract the first word of "itstool", so it can be a program name with args. +set dummy itstool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ITSTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ITSTOOL"; then + ac_cv_prog_ITSTOOL="$ITSTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ITSTOOL="itstool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ITSTOOL=$ac_cv_prog_ITSTOOL +if test -n "$ITSTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ITSTOOL" >&5 +$as_echo "$ITSTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test x"$ITSTOOL" = x; then + as_fn_error $? "itstool not found" "$LINENO" 5 +fi + + +# Extract the first word of "xmllint", so it can be a program name with args. +set dummy xmllint; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_XMLLINT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$XMLLINT"; then + ac_cv_prog_XMLLINT="$XMLLINT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_XMLLINT="xmllint" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +XMLLINT=$ac_cv_prog_XMLLINT +if test -n "$XMLLINT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 +$as_echo "$XMLLINT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test x"$XMLLINT" = x; then + as_fn_error $? "xmllint not found" "$LINENO" 5 +fi + +YELP_HELP_RULES=' +HELP_ID ?= +HELP_POT ?= +HELP_FILES ?= +HELP_EXTRA ?= +HELP_MEDIA ?= +HELP_LINGUAS ?= + +_HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS)) +_HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot)) +_HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po)) +_HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES)) +_HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f)) +_HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f)) +_HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f)) +_HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f))) +_HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp) + +_HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1) +_HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V)) +_HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V)) +_HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V)) +_HELP_LC_VERBOSE_0 = @echo " GEN "$(dir $@); + +all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES) + +.PHONY: pot +pot: $(_HELP_POTFILE) +$(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) + $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \ + $(ITSTOOL) -o "$@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)") + +.PHONY: repo +repo: $(_HELP_POTFILE) + $(AM_V_at)for po in $(_HELP_POFILES); do \ + if test "x$(_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \ + msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \ + done + +$(_HELP_POFILES): + $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi + $(AM_V_at)if test ! -f "$@" -a -f "$(srcdir)/$@"; then cp "$(srcdir)/$@" "$@"; fi + $(AM_V_GEN)if ! test -f "$@"; then \ + (cd "$(dir $@)" && \ + $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \ + mv "$(notdir $@).tmp" "$(notdir $@)"); \ + else \ + (cd "$(dir $@)" && \ + $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \ + msgmerge -o "$(notdir $@)" "$(notdir $@)" "$(notdir $@).tmp" && \ + rm "$(notdir $@).tmp"); \ + fi + +$(_HELP_MOFILES): %.mo: %.po + $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi + $(AM_V_GEN)msgfmt -o "$@" "$<" + +$(_HELP_LC_FILES): $(_HELP_LINGUAS) +$(_HELP_LINGUAS): $(_HELP_LC_STAMPS) +$(_HELP_LC_STAMPS): %.stamp: %.mo +$(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA) + $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi + $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \ + mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ + if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \ + (cd "$(dir $@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \ + touch "$@" + +.PHONY: clean-help +mostlyclean-am: $(if $(HELP_ID),clean-help) +clean-help: + rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) + +EXTRA_DIST ?= +EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) +EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp)) +EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) +EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) + +distdir: distdir-help-files +distdir-help-files: $(_HELP_LC_FILES) + @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ + $(MKDIR_P) "$(distdir)/$$lc"; \ + for file in $(HELP_FILES); do \ + if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \ + cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \ + done; \ + done; \ + +.PHONY: check-help +check: check-help +check-help: + for lc in C $(_HELP_LINGUAS); do \ + if test -d "$$lc"; \ + then d=; \ + xmlpath="$$lc"; \ + else \ + d="$(srcdir)/"; \ + xmlpath="$$lc:$(srcdir)/$$lc"; \ + fi; \ + for page in $(HELP_FILES); do \ + echo "$(XMLLINT) --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ + $(XMLLINT) --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ + done; \ + done + + +.PHONY: install-help +install-data-am: $(if $(HELP_ID),install-help) +install-help: $(_HELP_LC_FILES) + @for lc in C $(_HELP_LINGUAS); do \ + $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ + done + @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ + if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ + echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \ + $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \ + done; done + @for f in $(_HELP_C_EXTRA); do \ + lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ + if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ + echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \ + $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \ + done + @for f in $(HELP_MEDIA); do \ + for lc in C $(_HELP_LINGUAS); do \ + if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + mdir=`dirname "$$f"`; \ + if test "x$mdir" = "x."; then mdir=""; fi; \ + if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \ + if test -f "$$d$$lc/$$f"; then \ + echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \ + $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \ + elif test "x$$lc" != "xC"; then \ + if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \ + echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \ + dname="$$f"; \ + pars="../"; \ + while test "$$dname" != "." -a "$$dname" != "/"; do \ + pars="../$$pars"; \ + dname=$$(dirname "$$dname"); \ + done; \ + $(LN_S) -f $$pars"C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \ + fi; \ + fi; \ + done; \ + done + +.PHONY: uninstall-help +uninstall-am: $(if $(HELP_ID),uninstall-help) +uninstall-help: + for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + echo "rm -f $$helpdir`basename $$f`"; \ + rm -f "$$helpdir`basename $$f`"; \ + done; done + @for f in $(_HELP_C_EXTRA); do \ + lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + echo "rm -f $$helpdir`basename $$f`"; \ + rm -f "$$helpdir`basename $$f`"; \ + done + @for f in $(HELP_MEDIA); do \ + for lc in C $(_HELP_LINGUAS); do \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + echo "rm -f $$helpdir$$f"; \ + rm -f "$$helpdir$$f"; \ + done; \ + done; +' + + + + + + + + + # Check whether --enable-appdata-validate was given. +if test "${enable_appdata_validate+set}" = set; then : + enableval=$enable_appdata_validate; +fi + + + if test "x$enable_appdata_validate" != "xno"; then : + # Extract the first word of "appstream-util", so it can be a program name with args. +set dummy appstream-util; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_APPSTREAM_UTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $APPSTREAM_UTIL in + [\\/]* | ?:[\\/]*) + ac_cv_path_APPSTREAM_UTIL="$APPSTREAM_UTIL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_APPSTREAM_UTIL="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +APPSTREAM_UTIL=$ac_cv_path_APPSTREAM_UTIL +if test -n "$APPSTREAM_UTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $APPSTREAM_UTIL" >&5 +$as_echo "$APPSTREAM_UTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$APPSTREAM_UTIL" = "x"; then : + have_appdata_validate=no +else + have_appdata_validate=yes + +fi +else + have_appdata_validate=no +fi + + if test "x$have_appdata_validate" != "xno"; then : + appdata_validate=yes +else + appdata_validate=no + if test "x$enable_appdata_validate" = "xyes"; then : + as_fn_error $? "AppData validation was requested but appstream-util was not found" "$LINENO" 5 +fi +fi + + appdataxmldir=${datadir}/appdata + + + APPDATA_XML_RULES=' +.PHONY : uninstall-appdata-xml install-appdata-xml clean-appdata-xml + +mostlyclean-am: clean-appdata-xml + +%.appdata.valid: %.appdata.xml + $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; \ + if test -n "$(APPSTREAM_UTIL)"; \ + then $(APPSTREAM_UTIL) --nonet validate $${d}$<; fi \ + && touch $@ + +check-am: $(appdata_XML:.appdata.xml=.appdata.valid) +uninstall-am: uninstall-appdata-xml +install-data-am: install-appdata-xml + +.SECONDARY: $(appdata_XML) + +install-appdata-xml: $(appdata_XML) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(appdataxmldir)" || $(MKDIR_P) "$(DESTDIR)$(appdataxmldir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(appdataxmldir)"; \ + fi + +uninstall-appdata-xml: + @$(NORMAL_UNINSTALL) + @list='\''$(appdata_XML)'\''; test -n "$(appdataxmldir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(appdataxmldir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(appdataxmldir)" && rm -f $$files + +clean-appdata-xml: + rm -f $(appdata_XML:.appdata.xml=.appdata.valid) +' + + + + + + + +GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0` + + +ac_config_files="$ac_config_files Makefile misc/Makefile po/Makefile.in help/Makefile app-icons/Makefile icons/Makefile ui/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${IS_GITVERSION_TRUE}" && test -z "${IS_GITVERSION_FALSE}"; then + as_fn_error $? "conditional \"IS_GITVERSION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_UNITY_TRUE}" && test -z "${HAVE_UNITY_FALSE}"; then + as_fn_error $? "conditional \"HAVE_UNITY\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_EXTRA_PLUGINS_TRUE}" && test -z "${HAVE_EXTRA_PLUGINS_FALSE}"; then + as_fn_error $? "conditional \"HAVE_EXTRA_PLUGINS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by shotwell $as_me 0.23.5, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +shotwell config.status 0.23.5 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac done -rm -f $CONFIG_IN -if [ $variables ] -then - echo -e -n $variables > $CONFIG_IN +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + +API_VERSION='$API_VERSION' + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "misc/Makefile") CONFIG_FILES="$CONFIG_FILES misc/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "help/Makefile") CONFIG_FILES="$CONFIG_FILES help/Makefile" ;; + "app-icons/Makefile") CONFIG_FILES="$CONFIG_FILES app-icons/Makefile" ;; + "icons/Makefile") CONFIG_FILES="$CONFIG_FILES icons/Makefile" ;; + "ui/Makefile") CONFIG_FILES="$CONFIG_FILES ui/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "po-directories":C) + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive. +AR_FLAGS=$lt_AR_FLAGS + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 fi -echo "CONFIG_IN=${CONFIG_IN}" >> $CONFIG_IN +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + -printf "Configured. Type 'make' to build, 'make install' to install.\n" +echo "" +echo " ${PACKAGE} - ${VERSION}" +echo "" +echo " Options" +echo "" +echo " Prefix ............................... : ${prefix}" +echo " Libdir ............................... : ${libdir}" +echo " Unity support ........................ : ${HAVE_UNITY}" +echo " Additional publishing plugins ........ : ${HAVE_EXTRA_PLUGINS}" +echo "" diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..37cef02 --- /dev/null +++ b/configure.ac @@ -0,0 +1,202 @@ +AC_PREREQ([2.69]) + + +dnl *********************************************************************** +dnl Define Versioning Information +dnl *********************************************************************** +m4_define([major_version],[0]) +m4_define([minor_version],[23]) +m4_define([micro_version],[5]) +m4_define([package_version],[major_version.minor_version.micro_version]) +m4_define([bug_report_url],[https://bugzilla.gnome.org/enter_bug.cgi?product=shotwell]) +m4_define([api_version],[major_version]) + +AX_IS_RELEASE([micro-version]) + +m4_define([git_version],[m4_esyscmd(git rev-parse HEAD)]) + +dnl *********************************************************************** +dnl Initialize autoconf +dnl *********************************************************************** +AC_INIT([shotwell],[package_version],[bug_report_url]) +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_SRCDIR([NEWS]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_SUBST([ACLOCAL_AMFLAGS], "-I m4") +AC_CANONICAL_HOST + + +dnl *********************************************************************** +dnl Make version information available to autoconf files +dnl *********************************************************************** +AC_SUBST([MAJOR_VERSION],major_version) +AC_SUBST([MINOR_VERSION],minor_version) +AC_SUBST([MICRO_VERSION],micro_version) +AC_SUBST([API_VERSION],api_version) + +AC_SUBST([GITVER],git_version) +AM_CONDITIONAL([IS_GITVERSION],[test "x$GITVER" != "x"]) + +dnl *********************************************************************** +dnl Initialize automake +dnl *********************************************************************** +AM_SILENT_RULES([yes]) +AM_INIT_AUTOMAKE([1.11 foreign subdir-objects tar-ustar no-dist-gzip dist-xz -Wno-portability]) +AM_MAINTAINER_MODE([enable]) +AX_GENERATE_CHANGELOG + + +dnl *********************************************************************** +dnl Add extra debugging with --enable-debug and --enable-compile-warnings +dnl *********************************************************************** +AX_CHECK_ENABLE_DEBUG([no],[] + [G_DISABLE_ASSERT G_DISABLE_CHECKS G_DISABLE_CAST_CHECKS]) + + +dnl *********************************************************************** +dnl Internationalization +dnl *********************************************************************** +GETTEXT_PACKAGE=AC_PACKAGE_TARNAME +AC_SUBST([GETTEXT_PACKAGE]) +AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [GETTEXT package name]) + +AM_GNU_GETTEXT_VERSION([0.19.7]) +AM_GNU_GETTEXT([external]) + + +dnl *********************************************************************** +dnl Check for required programs +dnl *********************************************************************** +AM_PROG_VALAC([0.28]) +AC_PROG_CC +AC_PROG_INSTALL +PKG_PROG_PKG_CONFIG([0.22]) +AX_REQUIRE_DEFINED([GLIB_GSETTINGS]) +GLIB_GSETTINGS + +# Using -g in target's _VALAFLAGS triggers a bug in Vala's automake integration +# that causes invalid makefile generation, so we put it into global VALAFLAGS +VALAFLAGS="-g" +AC_SUBST([VALAFLAGS]) + +dnl *********************************************************************** +dnl Check for required packages +dnl *********************************************************************** +PKG_CHECK_MODULES(SHOTWELL, [ + gee-0.8 >= 0.8.5 + gexiv2 >= 0.4.90 + gio-unix-2.0 >= 2.20 + glib-2.0 >= 2.30.0 + gmodule-2.0 >= 2.24.0 + gstreamer-1.0 >= 1.0.0 + gstreamer-base-1.0 >= 1.0.0 + gstreamer-plugins-base-1.0 >= 1.0.0 + gstreamer-pbutils-1.0 >= 1.0.0 + gtk+-3.0 >= 3.12.2 + gudev-1.0 >= 145 + libexif >= 0.6.16 + libgphoto2 >= 2.5.0 + libraw >= 0.13.2 + libsoup-2.4 >= 2.26.0 + libxml-2.0 >= 2.6.32 + sqlite3 >= 3.5.9 + webkit2gtk-4.0 + ]) +PKG_CHECK_MODULES(THUMBNAILER, [gee-0.8 >= 0.8.5 gtk+-3.0 >= 3.12.2 + gstreamer-base-1.0 >= 1.0.0]) + +PKG_CHECK_MODULES(PLUGIN, [gobject-2.0 glib-2.0 json-glib-1.0 libxml-2.0 + libsoup-2.4 webkit2gtk-4.0 gee-0.8]) + +PKG_CHECK_MODULES(IMPORT, [gee-0.8 >= 0.8.5 glib-2.0 gio-2.0 sqlite3]) + +PKG_CHECK_MODULES(PUBLISHING, [gobject-2.0 glib-2.0 gexiv2 json-glib-1.0 + gee-0.8 libsoup-2.4 libxml-2.0 gtk+-3.0 + webkit2gtk-4.0]) + +PKG_CHECK_MODULES(TRANSITIONS, [gobject-2.0 cairo gio-2.0 gdk-pixbuf-2.0 + gdk-3.0]) + +dnl *********************************************************************** +dnl Unity support +dnl *********************************************************************** +AC_ARG_ENABLE([unity-support], + AS_HELP_STRING([--enable-unity-support], + [Enable Ubuntu Unity integration]), + [], + [enable_unity_support=no]) + +AS_IF([test "x$enable_unity_support" = "xyes"], + [ + PKG_CHECK_MODULES(UNITY, [unity], + [ + HAVE_UNITY=yes + UNITY_VALAFLAGS="--pkg unity --define UNITY_SUPPORT" + AC_SUBST([UNITY_VALAFLAGS]) + ], [HAVE_UNITY=no]) + ], [HAVE_UNITY=no]) +AC_SUBST([HAVE_UNITY]) +AM_CONDITIONAL([HAVE_UNITY],[test "x$HAVE_UNITY" = "xyes"]) + +dnl *********************************************************************** +dnl Extra publishing plugins +dnl *********************************************************************** +AC_ARG_ENABLE([extra-plugins], + AS_HELP_STRING([--disable-extra-plugins], + [Enable building and installation of extra + publishing plugins]), + [],[enable_extra_plugins=yes]) +AS_IF([test "x$enable_extra_plugins" = "xyes"], + [HAVE_EXTRA_PLUGINS=yes], [HAVE_EXTRA_PLUGINS=no]) +AC_SUBST([HAVE_EXTRA_PLUGINS]) +AM_CONDITIONAL([HAVE_EXTRA_PLUGINS], [test "x$HAVE_EXTRA_PLUGINS" = "xyes"]) + +dnl *********************************************************************** +dnl Initialize Libtool +dnl *********************************************************************** +LT_PREREQ([2.2]) +LT_INIT + +dnl *********************************************************************** +dnl Help processing +dnl *********************************************************************** +AX_REQUIRE_DEFINED([YELP_HELP_INIT]) +YELP_HELP_INIT + +dnl *********************************************************************** +dnl AppData support +dnl *********************************************************************** +AX_REQUIRE_DEFINED([APPDATA_XML]) +APPDATA_XML + +dnl *********************************************************************** +dnl GResource compiler +dnl *********************************************************************** +AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`]) + +dnl *********************************************************************** +dnl Process .in Files +dnl *********************************************************************** +AC_CONFIG_FILES([ + Makefile + misc/Makefile + po/Makefile.in + help/Makefile + app-icons/Makefile + icons/Makefile + ui/Makefile +],[], +[API_VERSION='$API_VERSION']) +AC_OUTPUT + +echo "" +echo " ${PACKAGE} - ${VERSION}" +echo "" +echo " Options" +echo "" +echo " Prefix ............................... : ${prefix}" +echo " Libdir ............................... : ${libdir}" +echo " Unity support ........................ : ${HAVE_UNITY}" +echo " Additional publishing plugins ........ : ${HAVE_EXTRA_PLUGINS}" +echo "" diff --git a/help/Makefile.am b/help/Makefile.am index 3ed819f..53c1448 100644 --- a/help/Makefile.am +++ b/help/Makefile.am @@ -1,16 +1,20 @@ # Dummy Makefile.am to allow the help to be translated on l10n.gnome.org. # This isn't actually processed by automake. -DOC_ID = shotwell +dist_man1_MANS = shotwell.1 -DOC_IMAGES = \ - crop_thirds.jpg \ - editing_overview.png \ - edit_toolbar.png \ - shotwell_logo.png \ - trash_process.png +@YELP_HELP_RULES@ -DOC_PAGES = \ +HELP_ID = shotwell + +HELP_MEDIA = \ + figures/crop_thirds.jpg \ + figures/editing_overview.png \ + figures/edit_toolbar.png \ + figures/shotwell_logo.png \ + figures/trash_process.png + +HELP_FILES = \ edit-adjustments.page \ edit-crop.page \ edit-enhance.page \ @@ -50,4 +54,6 @@ DOC_PAGES = \ view-information.page \ view-sidebar.page -DOC_LINGUAS = cs de el es hu pt_BR sv +HELP_LINGUAS = cs de el es hu pt_BR sv + +-include $(top_srcdir)/git.mk diff --git a/help/Makefile.in b/help/Makefile.in new file mode 100644 index 0000000..e7b526c --- /dev/null +++ b/help/Makefile.in @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Dummy Makefile.am to allow the help to be translated on l10n.gnome.org. +# This isn't actually processed by automake. +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = help +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/appdata-xml.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/ax_generate_changelog.m4 \ + $(top_srcdir)/m4/ax_is_release.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(dist_man1_MANS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +API_VERSION = @API_VERSION@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GIT = @GIT@ +GITVER = @GITVER@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_EXTRA_PLUGINS = @HAVE_EXTRA_PLUGINS@ +HAVE_UNITY = @HAVE_UNITY@ +HELP_DIR = @HELP_DIR@ +IMPORT_CFLAGS = @IMPORT_CFLAGS@ +IMPORT_LIBS = @IMPORT_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +ITSTOOL = @ITSTOOL@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MICRO_VERSION = @MICRO_VERSION@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ +PLUGIN_LIBS = @PLUGIN_LIBS@ +POSUB = @POSUB@ +PUBLISHING_CFLAGS = @PUBLISHING_CFLAGS@ +PUBLISHING_LIBS = @PUBLISHING_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHOTWELL_CFLAGS = @SHOTWELL_CFLAGS@ +SHOTWELL_LIBS = @SHOTWELL_LIBS@ +STRIP = @STRIP@ +THUMBNAILER_CFLAGS = @THUMBNAILER_CFLAGS@ +THUMBNAILER_LIBS = @THUMBNAILER_LIBS@ +TRANSITIONS_CFLAGS = @TRANSITIONS_CFLAGS@ +TRANSITIONS_LIBS = @TRANSITIONS_LIBS@ +UNITY_CFLAGS = @UNITY_CFLAGS@ +UNITY_LIBS = @UNITY_LIBS@ +UNITY_VALAFLAGS = @UNITY_VALAFLAGS@ +USE_NLS = @USE_NLS@ +VALAC = @VALAC@ +VALAFLAGS = @VALAFLAGS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMLLINT = @XMLLINT@ +YELP_LC_DIST = @YELP_LC_DIST@ +YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appdataxmldir = @appdataxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +dist_man1_MANS = shotwell.1 +HELP_ID = shotwell +HELP_MEDIA = \ + figures/crop_thirds.jpg \ + figures/editing_overview.png \ + figures/edit_toolbar.png \ + figures/shotwell_logo.png \ + figures/trash_process.png + +HELP_FILES = \ + edit-adjustments.page \ + edit-crop.page \ + edit-enhance.page \ + edit-external.page \ + edit-nondestructive.page \ + edit-redeye.page \ + edit-rotate.page \ + edit-straighten.page \ + edit-date-time.page \ + edit-undo.page \ + formats.page \ + import-camera.page \ + import-file.page \ + import-f-spot.page \ + import-memorycard.page \ + index.page \ + organize-event.page \ + organize-flag.page \ + organize-rating.page \ + organize-remove.page \ + organize-search.page \ + organize-tag.page \ + organize-title.page \ + other-files.page \ + other-missing.page \ + other-multiple.page \ + other-plugins.page \ + raw.page \ + running.page \ + share-background.page \ + share-export.page \ + share-print.page \ + share-send.page \ + share-slideshow.page \ + share-upload.page \ + view-displaying.page \ + view-information.page \ + view-sidebar.page + +HELP_LINGUAS = cs de el es hu pt_BR sv +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign help/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign help/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(dist_man1_MANS) + @$(NORMAL_INSTALL) + @list1='$(dist_man1_MANS)'; \ + list2=''; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) +installdirs: + for dir in "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man1 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags-am uninstall uninstall-am uninstall-man \ + uninstall-man1 + +.PRECIOUS: Makefile + + +@YELP_HELP_RULES@ + +-include $(top_srcdir)/git.mk + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/help/cs/cs.stamp b/help/cs/cs.stamp new file mode 100644 index 0000000..e69de29 diff --git a/help/cs/edit-adjustments.page b/help/cs/edit-adjustments.page new file mode 100644 index 0000000..8edaa18 --- /dev/null +++ b/help/cs/edit-adjustments.page @@ -0,0 +1,49 @@ + + + + + + Jak změnit expozici, sytost, odstín a tónování fotografie. + + + + + Přizpůsobení barev + +

Tlačítko Upravit otevře plovoucí okno s histogramem a posuvníky sloužícími k úpravě expozice, sytosti, odstínu, teploty a tónů fotografie. Na histogramu je táhlo umožňující omezit horní a dolní práh intenzity, čímž se roztáhne kontrast ve střední části.

+ +

Tlačítko Vylepšit upraví histogram a posun tónů tak, aby fotografie vypadala kvalitněji.

+ +

Až barevnost a kontrast fotografie odpovídají vašim představám, zmáčkněte Budiž a změny se uloží. Tlačítko Původní vrací obrázek do původního stavu. Pomocí Zrušit se všechny provedené změny zahodí a s úpravami se skončí.

+ +
+ Co dělá která úprava barvy? + + + Expozice +

Mění jas, což funguje podobně, jako by byla fotografie exponována po delší nebo kratší čas. Použijte ke korekci podexponované nebo přeexponované fotografie.

+
+ + Sytost +

Mění, jak jasně vypadají barvy. Když vaše fotografie působí šedě a vybledle, zkuste zvýšit sytost. Když barvy naopak příliš křičí, zkuste ji snížit.

+
+ + Odstín +

Mění barevný odstín fotografie. Hodí se ke korekci fotografií, které mají nastaveno nesprávné vyvážení bílé, což typicky působí nepřirozené barevné podání. Například fotografie pořízené v přírodě s nastavením vyvážení bílé na „žárovka“ mají modrý nádech.

+
+ + Teplota +

Mění, jak „teple“ nebo naopak „studeně“ má obrázek působit. Můžete jej použít například k tomu, aby studené depresivní scény vypadaly více živě.

+
+ + Tóny +

Dělá temné oblasti světlejšími. Použijte ke zviditelnění více detailů, když tonou v tmavých stínech.

+
+ + Práh intenzity (táhla na histogramu) +

Tato táhla mění jak moc světlá je nejsvětlejší bílá a jak moc tmavá je nejtmavější černá. Použijte ke změně kontrastu fotografie. Změna tohoto nastavení může přinést výsledky u fotografií, které vypadají mdle a vybledle.

+
+
+
+ +
diff --git a/help/cs/edit-crop.page b/help/cs/edit-crop.page new file mode 100644 index 0000000..eaba40e --- /dev/null +++ b/help/cs/edit-crop.page @@ -0,0 +1,44 @@ + + + + + + Jak zdokonalit kompozici fotografie odříznutím některých částí. + + + + + Ořezání + +

Jestli chcete zmenšit plochu fotografie a zaměřit pohled jen na nějakou její část, použijte nástroj pro ořezání. Tento nástroj je přístupný jen v režimu celého okna nebo celé obrazovky.

+ + + +

Dvojitým kliknutím na fotografii se přepněte do režimu celého okna a po té zmáčkněte na nástrojové liště tlačítko Oříznout.

+
+ +

Přes fotografii se objeví ořezové hranice v podobě bílého obdélníku. Světlejší část uvnitř ořezového obdélníku odpovídá tomu, co z fotografie uvidíte po jejím ořezání.

+
+ +

Když umístíte ukazatel do vnitřní části obdélníku, můžete obdélníkem posouvat. Přetahováním hran obdélníku můžete přizpůsobovat jeho velikost. Když obdélník přesouváte nebo měníte jeho velikost, uvidíte uvnitř něj mřížku. Ta odpovídá čárám pravidla třetin.

+

Obdélník můžete také upravit na některou z běžných velikostí. V rozbalovacím seznamu si zvolte velikost, kterou potřebujete. Zmáčknutím otáčecího tlačítka vedle tohoto výběru můžete změnit orientaci ořezu (z krajiny na portrét).

+
+ +

Až jste s výběrem ořezávané části spokojeni, zmáčkněte tlačítko Oříznout. Shotwell zobrazí ořezanou fotografii.

+
+ +

Pokud změníte ohledně ořezu názor, zmáčkněte tlačítko Oříznout znovu a ořez si dolaďte.

+

Při zmáčknutí Zrušit místo Použít vrátí Shotwell fotografie na původní ořezané rozměry.

+
+
+ +
+ Co je to pravidlo třetin? +

Pravidlo třetin pomáhá zvolit uspokojivou kompozici fotografie.

+

Pomyslně si scénu rozdělte do mřížky 3×3 pomocí dvou rovnoměrně rozmístěných svislých a dvou rovnoměrně rozmístěných vodorovných čar. Při dodržení tohoto pravidla spíše získáte uspokojivou kompozici, když hlavní objekty zájmu (jako je horizont nebo tělo osoby) umístíte k těmto čarám. Povšimněte si také možnosti přesunu jedné části mřížky do jiné, což může rovněž pomoci.

+

Oříznutí fotografie podle pravidla třetin čas přinese výsledek v podobě mnohem působivějšího obrázku.

+ +

Ořezáním fotografie za pomocí „pravidla třetin“ můžete vylepšit její kompozici.

+
+
+
diff --git a/help/cs/edit-date-time.page b/help/cs/edit-date-time.page new file mode 100644 index 0000000..bd8f1e7 --- /dev/null +++ b/help/cs/edit-date-time.page @@ -0,0 +1,19 @@ + + + + + + Jak změnit datum a čas fotografií, když je tento údaj špatně. + + + + + Úprava data a času fotografií + +

Když chcete upravit čas a datum fotografie, vyberte ji a zvolte Fotografie Nastavit datum a čas… a vyberte nové datum a čas.

+ +

Pokud měníte datum a čas u více fotografií naráz, můžete si zvolit stejný posun času u všech fotografií vůči stávajícímu nebo u všech nastavit ten samý čas.

+ +

Standardně se mění datum a čas jen v rámci aplikace Shotwell. Můžete zadat, aby se změnily i v originálním souboru, ale po ukončení aplikace Shotwell to již není možné vrátit zpět.

+ +
diff --git a/help/cs/edit-enhance.page b/help/cs/edit-enhance.page new file mode 100644 index 0000000..dc69458 --- /dev/null +++ b/help/cs/edit-enhance.page @@ -0,0 +1,16 @@ + + + + + + Jak nechat Shotwell automaticky zdokonalit jas a kontrast fotografií. + + + + + + + Automatické vylepšení + +

Kliknutí na tlačítko Vylepšit je nejrychlejší způsob, jak automaticky upravit jas a kontrast vaší fotografie. Často tím získáte fotografii, které vypadá správně exponovaná. Můžete to využít i jen jako počáteční krok a další zdokonalení provést ručně po kliknutí na tlačítko Upravit.

+
diff --git a/help/cs/edit-external.page b/help/cs/edit-external.page new file mode 100644 index 0000000..cf819e8 --- /dev/null +++ b/help/cs/edit-external.page @@ -0,0 +1,31 @@ + + + + + + Jak použít k úpravě fotografií jiný program. + + + + + Úprava fotografií v externím programu + +

K dodatečným úpravám fotografie můžete chtít použít externí editor. Pokud máte nainstalovány GIMP a UFRaw, jsou zvoleny jako výchozí externí editory pro úpravy fotografií respektive surových fotografií. Pokud nainstalovány nejsou, musíte si upřednostňované editory zvolit pomocí Upravit Předvolby a výběrem v rozbalovacím seznamu nainstalovaných aplikací.

+ +

+ Once your editors have been set, select a photo and choose Photos + Open With External Editor to open the photo with the external editor. + Likewise, if the original photo is a RAW file, select PhotosOpen + With RAW Editor to edit the RAW file directly with the set RAW editor. +

+ +

Až dokončíte své úpravy a soubor uložíte, Shotwell si změn povšimne a fotografii aktualizuje. Pokud je fotografie externě upravená, můžete se zmáčknutím a podržením klávesy Shift při zobrazení v celém okně podívat na původní verzi fotografie místo té upravené.

+ +

Návrat k originálu smaže všechny externí úpravy.

+ + +

Pokud provedete externí úpravu surové fotografie RAW a výsledek uložíte do jiného obrázku, jako je JPGE nebo PNG, nemůže Shotwell automaticky zjistit, že se mají původní RAW a nový obrázek spárovat.

+ +

Jestli chcete s výsledným obrázkem pracovat v aplikaci Shotwell, musíte si jej sami naimportovat.

+
+
diff --git a/help/cs/edit-nondestructive.page b/help/cs/edit-nondestructive.page new file mode 100644 index 0000000..1b1b496 --- /dev/null +++ b/help/cs/edit-nondestructive.page @@ -0,0 +1,19 @@ + + + + + + Shotwell je nedestruktivní fotoeditor – nemění originální fotografie. + + + + + Co se stane s originálem, když fotografii upravím? + +

Shotwell je nedestruktivní editor fotografií. Neprovádí žádné změny v originálních fotografiích. Když, řekněme, fotografii oříznete nebo upravíte její barvy, soubor s fotografií na disku zůstane nedotčen. Shotwell si uloží vaše změny do databáze a aplikuje je na obrázek za běhu podle potřeby. To znamená, že můžete vracet zpět změny, které jste ve fotografii provedli.

+ +

Pokud chcete vidět, jak fotografie vypadala před provedením změn, zmáčkněte klávesu Shift. Dokud ji budete držet, bude zobrazena originální fotografie.

+ +

Upozorňujeme ale, že volitelně může Shotwell do originálních souborů s fotografiemi zapisovat metadata (jako jsou štítky nebo názvy). Více informací najdete v oddíle Soubory s fotografiemi.

+ +
diff --git a/help/cs/edit-redeye.page b/help/cs/edit-redeye.page new file mode 100644 index 0000000..1c4a908 --- /dev/null +++ b/help/cs/edit-redeye.page @@ -0,0 +1,25 @@ + + + + + + Jak spravit fotografie, na kterých mají lidé kvůli blesku fotoaparátu červené oči. + + + + + Odstraňování červených očí + +

Efekt červených očí se objeví, když blesk fotoaparátu osvítí něčí oční zorničku. Pro odstranění tohoto neduhu slouží nástroj Červené oči.

+ + +

Klikněte na Červené oči. Na fotografii se objeví kroužek.

+
+ +

Přetáhněte kroužek na červenou zorničku, upravte pomocí posuvníku její velikost a zmáčkněte Použít. Červená zmizí.

+
+ +

Tento postup zopakujte pro všechny červené oči ve fotografii. Po dokončení zmáčkněte Zavřít.

+
+
+
diff --git a/help/cs/edit-rotate.page b/help/cs/edit-rotate.page new file mode 100644 index 0000000..b39b501 --- /dev/null +++ b/help/cs/edit-rotate.page @@ -0,0 +1,26 @@ + + + + + + Klikněte na tlačítko Otočit nebo zvolte jeden z příkazů v nabídce Fotografie. + + + + + Otáčení a překlápění fotografií + +

Fotografii můžete otočit doleva a doprava (tj. proti směru a po směru hodinových ručiček) pomocí tlačítka Otočit na nástrojové liště u většiny zobrazení. Mimo to můžete fotografii zrcadlit.

+ +

Otočení doprava provedete kliknutím na tlačítko Otočit. Pokud chcete otáčet doleva, zmáčkněte a držte klávesu Ctrl a teprve potom na tlačítko klikněte. Obě funkce jsou přístupné v nabídce Fotografie. Případně můžete použít následující klávesové zkratky:

+ +

otočení vlevo: ShiftCtrlR nebo [

+

otočení vpravo: CtrlR nebo ]

+
+

Pro zrcadlení fotografie použijte příkaz Překlopit vodorovně v nabídce Fotografie. Pro zrcadlení ve svislém směru použijte Překlopit svisle tamtéž.

+ + +

Když vyberete více než jeden obrázek, můžete je otočit všechny naráz.

+
+ +
diff --git a/help/cs/edit-straighten.page b/help/cs/edit-straighten.page new file mode 100644 index 0000000..6450b01 --- /dev/null +++ b/help/cs/edit-straighten.page @@ -0,0 +1,27 @@ + + + + + + Jak vyrovnat fotografii, která je nakřivo. + + + + + Vyrovnání fotografií + +

Nástroj pro vyrovnání umožňuje srovnat pootočenou fotografii do roviny. Dostupný je pouze v režimu celého okna.

+ + + +

Klikněte na Vyrovnat a objeví se posuvník pro určení úhlu. Případně můžete použít klávesovou zkratku CtrlA.

+
+ +

Posuňte táhlo tak, abyste dosáhli požadovaného narovnání.

+
+ +

Až máte fotografii narovnanou, zmáčkněte Vyrovnat.

+
+
+ +
diff --git a/help/cs/edit-undo.page b/help/cs/edit-undo.page new file mode 100644 index 0000000..42b3e35 --- /dev/null +++ b/help/cs/edit-undo.page @@ -0,0 +1,21 @@ + + + + + + Jak vrátit fotografii do původní neupravené podoby. + + + + + + + Vracení změn + +

Díky tomu, že Shotwell je nedestruktivní editor, můžete změny provedené ve fotografiích vracet zpět.

+ +

Pokud chcete vidět, jak fotografie vypadala před provedením změn, zmáčkněte klávesu Shift. Dokud ji budete držet, bude zobrazena originální fotografie.

+ +

Abyste vrátily nazpět úplně všechny změny provedené u fotografie, klikněte na Fotografie Vráti zpět na původní. Jedinou výjimkou je změna data a času, které vráceny nebudou.

+ +
diff --git a/help/cs/formats.page b/help/cs/formats.page new file mode 100644 index 0000000..232d22e --- /dev/null +++ b/help/cs/formats.page @@ -0,0 +1,27 @@ + + + + + + Shotwell podporuje soubory s formáty fotografií JPEG, PNG, TIFF, BMP a RAW a některé videosoubory. + + + + + Podporované formáty fotografií a videí + +

Shotwell podporuje soubory s fotografiemi ve formátech JPEG, PNG, TIFF, BMP a RAW. Zatím nepodporuje další formáty, jako je třeba GIF.

+ +

Podpora RAW je v aplikaci Shotwell prozatím omezená. Když si zobrazíte surovou fotografii RAW, zobrazí se vám ve skutečnosti JPEG odvozený z RAW, ne přímo RAW. Navíc, propojovací roura k editoru není plně 16bitová – upravované fotografie můžete exportovat jen jako 8bitové soubory. K exportu mohou být použity všechny podporované formáty (JPEG, PNG, TIFF, BMP).

+ +

Více informací o formátu fotografií RAW v aplikaci Shotwell najdete v oddíle RAW.

+ +

Shotwell podporuje také videosoubory v libovolném formátu, který podporuje multimediální knihovna GStreamer na systému, ve kterém Shotwell běží. Typicky to představuje mimo jiné následující formáty:

+ +

Formáty kontejnerů: Ogg, QuickTime, MP4, AVI.

+

Kodeky: Theora, Quicktime, MPEG-4, Motion JPEG. Upozorňujeme, že některé operační systémy nemusí obsahovat všechny uvedené kodeky z důvodů právních nebo licenčních omezení.

+
+ +

Shotwell podporuje jak fotografie, tak videa, ale pro zjednodušení s v tomto dokumentu na většině míst používá jen výraz „fotografie“. Ale většina operací se v aplikaci Shotwell dá použít jak u fotografií, tak u videí. Například události, označování, hodnocení, štítky a zveřejňování fungují u fotografií i videí.

+ +
diff --git a/help/cs/import-camera.page b/help/cs/import-camera.page new file mode 100644 index 0000000..713265f --- /dev/null +++ b/help/cs/import-camera.page @@ -0,0 +1,31 @@ + + + + + + Jak zkopírovat fotografie z digitálního fotoaparátu. + + + + + Import z fotoaparátu + +

Když chcete importovat fotografie z digitálního fotoaparátu:

+ + + +

Připojte fotoaparát ke svému počítači a zapněte jej. Shotwell jej detekuje a zobrazí jej v postranním panelu.

+
+ +

Vyberte fotoaparát v postranním panelu. Zobrazí se náhledy všech fotografií v něm uložených.

+
+ +

Jestli chcete, můžete si k importu vybrat jen některé konkrétní fotografie. Stačí držet zmáčknutou klávesu Ctrl a na požadované fotografie klikat. Můžete také držet zmáčknutý Shift a kliknutím vybrat celý blok fotografií.

+
+ +

Klikněte buď na Importovat vybrané nebo Importovat vše. Fotografie se z fotoaparátu zkopírují a uloží do vašeho počítače.

+
+
+ +

Jakmile je import dokončen, můžete otevřít zobrazení Poslední import (v postranním panelu), abyste viděli všechny fotografie, které byly naimportovány. Seznam událostí (také v postranním panelu) rovněž zobrazí nové fotografie a to podle data.

+
diff --git a/help/cs/import-f-spot.page b/help/cs/import-f-spot.page new file mode 100644 index 0000000..4c67429 --- /dev/null +++ b/help/cs/import-f-spot.page @@ -0,0 +1,19 @@ + + + + + + Shotwell umí naimportovat všechny fotografie a štítky ze správce fotografií F-Spot. + + + + + Import z aplikace F-Spot + +

Když chcete importovat stávající sbírku fotografií z aplikace F-Spot:

+ +

Vyberte SouborImportovat z aplikace.

+

Nyní zvolte buď výchozí knihovnu F-Spot nebo jinou databázi F-Spot. V případě, že importujete z jiné databáze F-Sport, vyberte složku a soubor v dialogovém okně, které se objeví.

+
+

Shotwell naimportuje vaše fotografie, spolu s jejich štítky a dalšími informacemi. Jakmile je import dokončen, můžete v postranním panelu vybrat Poslední import, abyste viděli všechny naimportované fotografie. Rovněž v seznamu událostí se objeví nové položky s daty odpovídajícími importovaným fotografiím.

+
diff --git a/help/cs/import-file.page b/help/cs/import-file.page new file mode 100644 index 0000000..569daa7 --- /dev/null +++ b/help/cs/import-file.page @@ -0,0 +1,23 @@ + + + + + + Jak importovat fotografie, které jsou již uloženy ve vašem počítači. + + + + + Import z pevného disku + +

Pro naimportování souborů z pevného disku do aplikace Shotwell stačí soubory přetáhnout ze správce souborů do okna Shotwell.

+ +

Případně můžete kliknout na Soubor Importovat ze složky… a vyberte složku obsahující fotografie, které chcete importovat.

+ +

Shotwell se vás dotáže, jestli chcete soubory s fotografiemi zkopírovat do složky knihovny (což je obvykle složka Obrázky ve vaší domovské složce) nebo je naimportovat s odkazem na stávající umístění, bez kopírování souborů.

+ +

Pokud během přetahování fotografií držíte zmáčknutý Ctrl, Shotwell zkopíruje fotografie do vaší knihovny bez ptaní. Obdobně, pokud budete během přetahování držet zmáčknuté CtrlShift, Shotwell bude importovat fotografie bez kopírování.

+ +

Po dokončení importu můžete v postranním panelu vybrat Poslední import, abyste viděli všechny fotografie, které se úspěšně naimportovaly. Rovněž v seznamu Události se objeví nové položky s daty odpovídajícími importovaným fotografiím.

+ +
diff --git a/help/cs/import-memorycard.page b/help/cs/import-memorycard.page new file mode 100644 index 0000000..ff1c77b --- /dev/null +++ b/help/cs/import-memorycard.page @@ -0,0 +1,31 @@ + + + + + + Jak importovat fotografie z paměťové karty z digitálního fotoaparátu. + + + + + Import z paměťové karty + +

Abyste naimportovali fotografie z paměťové karty fotoaparátu:

+ + + +

Vložte kartu do čtečky karet. Ujistěte se, že je čtečka připojena k počítači a zapnutá.

+
+ +

Čtečka karet a karta by měly být detekovány počítačem automaticky.

+
+ +

Postupujte podle instrukcí pro import fotografií z pevného disku. Když kliknete na Soubor Importovat ze složky…, měla by být paměťová karta vidět mezi složkami v postranním panelu okna pro výběr souboru.

+
+
+ +

Shotwell může importovat fotografie z libovolné paměťové karty, která je kompatibilní s vaší čtečkou karet.

+ +

V případě, že se paměťová karta sama nedetekuje, možná nerozpoznal operační systém správně čtečku karet. Zkuste ji odpojit a znovu připojit. Pokud i přesto nebude fungovat, stále vám zůstává možnost importovat fotografie přímo připojením svého fotoaparátu k počítači.

+ +
diff --git a/help/cs/index.page b/help/cs/index.page new file mode 100644 index 0000000..19e814c --- /dev/null +++ b/help/cs/index.page @@ -0,0 +1,47 @@ + + + + + Shotwell + Shotwell + + Jim Nelson + jim@yorba.org + Allison Barlow + allison@yorba.org + Robert Ancell + robert.ancell@canonical.com + Peter Smith + pdo.smith@gmail.com + Phil Bull + philbull@gmail.com + + + + + <media type="image" src="figures/shotwell_logo.png"/>Správce fotografií Shotwell + +
+ Import fotografií +
+ +
+ Zobrazení fotografií +
+ +
+ Třídění fotografií +
+ +
+ Úprava fotografií +
+ +
+ Sdílení fotografií +
+ +
+ Ostatní funkce +
+
diff --git a/help/cs/organize-event.page b/help/cs/organize-event.page new file mode 100644 index 0000000..25ff2fd --- /dev/null +++ b/help/cs/organize-event.page @@ -0,0 +1,53 @@ + + + + + + Jak seskupit dohromady fotografie, které byly pořízeny ve stejný čas. Zjistěte si jak přejmenovat, sloučit a třídit události. + + + + + Události + +

Událost je skupina fotografií, které byly pořízeny v přibližně stejnou dobu. Během importu fotografií Shotwell u každé fotografie kontroluje, kdy byla pořízena. Podle toho je pak seskupuje do událostí.

+ +

Abyste viděli své fotografie roztříděné podle data, zvolte v postranním panelu Události. Když v postranním panelu vyberete měsíc nebo rok, zobrazí se v hlavním okně seznam událostí. Dvojitým kliknutím na událost si zobrazítek všechny fotografie, které byly pořízeny v rámci oné události.

+ +

V případě, že fotografie nemá vložené informace o datu/času, nemůže ji Shotwell automaticky umístit do některé z událostí. Takováto fotografie se pak objeví v zobrazení Žádná událost přístupném v postranním panelu. Fotografii si pak můžete podle postupu uvedeného dále přesunou do libovolné události.

+ +
+ Přejmenování události + +

Pokud si nějakou událost chcete raději pojmenovat namísto toho, aby byla označena datem, vyberte ji, klikněte na UdálostiPřejmenovat událost… a zadejte nový název. Jiný možný postup je dvojitě kliknout na název události v postranním panelu, napsat nový název a zmáčknout Enter.

+
+ +
+ Přesouvání fotografií mezi událostmi + +

Ačkoliv jsou fotografie na začátku seskupeny do událostí podle data, můžete si je mezi událostmi libovolně přesouvat. Uděláte to jednoduše přetažením fotografie do postranního panelu a upuštěním na požadovanou událost.

+
+ +
+ Vytváření a slučování událostí +

Pokud chcete vytvořit novou událost, vyberte fotografie, které do ní chcete zahrnout a klikněte na UdálostiNová událost.

+

Když chcete události sloučit, vyberte v postranním panelu Události a pak za současného držení klávesy Ctrl klikejte v hlavní části okna na události, které chcete sloučit. Nakonec zvolte UdálostiSloučit události.

+
+ +
+ Řazení událostí + +

Události se zobrazují ve stromové struktuře v postranním panelu, roztříděné podle roku a měsíce nejstarší fotografie v události. Pokud chcete změnit pořadí řazení, klikněte na ZbrazitSeřadit události a vyberte, jestli vzestupně nebo sestupně.

+ +
+ +
+ Změna fotografie, která událost reprezentuje + +

Když v postranním panelu vyberete Události, uvidíte jednotlivé fotografie reprezentující jednotlivé události. Tyto fotografie se nazývají klíčové.

+ +

Jako výchozí klíčovou fotografii použije Shotwell u každé události první fotografii. Když chcete použít jinou, vyberte ji a zvolte FotografiePoužít jako klíčovou fotku pro událost.

+ +
+ +
diff --git a/help/cs/organize-flag.page b/help/cs/organize-flag.page new file mode 100644 index 0000000..64c3eb5 --- /dev/null +++ b/help/cs/organize-flag.page @@ -0,0 +1,24 @@ + + + + + + Jak můžete fotografie označit, že jsou významné nebo abyste s nimi mohli pracovat jako se sadou. + + + + + Označování fotografií + +

Shotwell vám umožňuje označit si důležité fotografie. U fotografie, která je označená, se pravém horním rohu objeví malá vlaječka. V postranním panelu pak můžete vybrat položku Označeno, aby se vám zobrazily všechny označeném fotografie.

+ +

Vlaječkou si označte fotografie, které jsou něčím význačné. Záleží čistě na vás, k jakému účelu si to vyložíte. Například si můžete označit všechny fotografie, které budou potřebovat ručně doladit nebo všechny fotografie, které budete chtít poslat přátelům.

+ +

U označování je užitečné, že s označenými fotografiemi můžete pracovat se všemi naráz jako sadou. Například můžete vybrat zobrazení Označeno a následně všechny označené fotografie odeslat na sdílecí server.

+ +
+ Označení nebo zrušení označení fotografie +

Když chcete fotografii označit nebo zrušit její označení, klikněte na ni pravým tlačítkem a zvolte Označit nebo Zrušit označení v kontextové nabídce. Nebo můžete použít klávesovou zkratku CtrlG nebo /.

+
+ +
diff --git a/help/cs/organize-rating.page b/help/cs/organize-rating.page new file mode 100644 index 0000000..d7c05b4 --- /dev/null +++ b/help/cs/organize-rating.page @@ -0,0 +1,27 @@ + + + + + + Jak svým fotografiím přidělit hodnocení v rozsahu 1 až 5 hvězdiček. Můžete odmítnou špatné fotografie tak, že je skryjete ze zobrazení. + + + + + Hodnocení +

Každé z fotografií můžete přiřadit hodnocení od 1 do 5 hvězdiček, případně ji ohodnotit jako zamítnutou. Zamítnuté fotografie Shotwell při výchozím nastavení skrývá.

+ +

Fotografii nebo sadu fotografií můžete hodnotit následujícími způsoby:

+ + +

Vyberte fotografii či fotografie a zvolte hodnocení v nabídce Fotografie Hodnotit.

+

Klikněte na fotografii či fotografie pravým tlačítkem a zvolte hodnocení v kontextové nabídce Hodnotit.

+

Vyberte fotografii či více fotografií a následně zmáčkněte klávesu 1, 2, 3, 4 nebo 5 odpovídající hodnocení. Zmáčknutím 9 fotografii zamítnete, klávesou 0 hodnocení zrušíte.

+
+ +

Normálně Shotwell zobrazuje všechny fotografie vyjma zamítnutých. Pomocí nabídky Zobrazit Filtrovat fotografie můžete nastavit jiný filtr hodnocení. Například si můžete zobrazit jen fotografie hodnocené 3 hvězdičkami a lépe nebo si můžete zobrazit úplně všechny fotografie včetně zamítnutých. Ikona Shotwell na nástrojové liště zobrazuje aktuální filtr hodnocení a lze ji použít k nastavení filtru.

+ +

Normálně Shotwell zobrazuje hodnocení každé fotografie v jejím levém dolním rohu. Zobrazení hodnocení můžete vypnout pomocí položky nabídky ZobrazitHodnocení.

+ +

Zvýšit, případně snížit, hodnocení fotografie můžete pomocí HodnotitZvýšit, respektive HodnotitSnížit, nebo klávesovými zkratkami < a >.

+
diff --git a/help/cs/organize-remove.page b/help/cs/organize-remove.page new file mode 100644 index 0000000..de170e9 --- /dev/null +++ b/help/cs/organize-remove.page @@ -0,0 +1,42 @@ + + + + + + Jak odebrat fotografie z knihovny nebo jak je zcela smazat z počítače. + + + + + Odstraňování a mazání fotografií + +

Fotografie můžete odebrat z knihovny a navíc i úplně smazat z pevného disku.

+Postup mazání +

Toto schéma ukazuje, jak je fotografie po smazání nejprve vložena do koše aplikace Shotwell. Po té, co ji smažete z koše v Shotwellu, je přesunuta do koše vašeho pracovního prostředí. Po smazání z tohoto koše je fotografie konečně a nevratně vymazána z vašeho počítače.

+
+ Odebírání fotografií z knihovny +

Vyberte fotografie, které chcete odebrat a zvolte Upravit Přesunout do koše (můžete také zmáčknout klávesu Delete). Fotografie se přesunou z knihovny do koše aplikace Shotwell.

+

Pokud chcete fotografie odebrat z aplikace Shotwel bez mezikroku s košem, tak po jejich vybrání zvolte Upravit Odstranit z knihovny. Na disku zůstanou fotografie ponechány.

+
+ +
+ Vyprázdnění koše nebo obnovení jeho obsahu +

V postranním panelu vyberte Koš a Shotwell zobrazí všechny fotografie, které jsou připravené k odebrání nebo smazání. Když je koš zobrazen, jsou k dispozici následující příkazy:

+ + Smazat

Smaže vybrané fotografie ze složky koše.

+ Obnovit

Obnoví vybrané fotografie do knihovny Shotwell.

+ Vyprázdnit koš

Smaže ze složky koše všechny fotografie.

+
+
+ +
+ Mazání a vyprazdňování koše +

Když ze složky koše mažete soubory, případně složku koše úplně vyprazdňujete, dostanete na výběr následující možnosti:

+ + Jen odstranit

Odebere fotografie z knihovny, ale ponechá je na jejich místech v počítači.

+ Přesunout do koše

Odebere fotografie z knihovny a rovněž je smaže z počítače.

+ Zrušit

Neprovede se nic.

+
+
+ +
diff --git a/help/cs/organize-search.page b/help/cs/organize-search.page new file mode 100644 index 0000000..578b65a --- /dev/null +++ b/help/cs/organize-search.page @@ -0,0 +1,33 @@ + + + + + + Jak najít podle různých kritérií fotografie a videa ve své sbírce. + + + + + Hledání + +

V aplikaci Shotwell existují dva způsoby jak vyhledávat: filtrovací nástrojová lišta a uložená hledání. Na vyhledávací liště můžete rychle hledat v aktuálním zobrazení podle konkrétního kritéria. Uložená hledání jsou mnohem komplexnější v zadávání kritérií a nacházejí se v postranním panelu.

+ + + +
+ Uložené hledání +

Uložená hledání se uchovávají po všechna spuštění aplikace Shotwell a jsou aktualizována při přidání nebo odebrání fotografií a videí do nebo z knihovny Shotwell.

+ +

Nové uložené hledání vytvoříte pomocí Upravit Nové uložené hledání… nebo zmáčknutím CtrlS. V dialogovém okně můžete zadat název hledání a vybrat, jestli se kritéria v následujících řádcích mají platit pro cokoliv, vše nebo nic.

+ +

Každý řádek představuje jedno vyhledávací kritérium. Pro přidání dalších řádků použijte tlačítko +, pro odebrání konkrétního řádku tlačítko -. V rozbalovací nabídce po levé stráně každého řádku jsou typy kritérií. Aby bylo přístupné tlačítko Budiž, musí být kritéria zadána správně.

+
+ +
diff --git a/help/cs/organize-tag.page b/help/cs/organize-tag.page new file mode 100644 index 0000000..50eed96 --- /dev/null +++ b/help/cs/organize-tag.page @@ -0,0 +1,41 @@ + + + + + + Jak roztřídit fotografie pomocí štítků. + + + + + + + Přiřazení štítků fotografiím + +

Vybraným fotografiím můžete přiřadit jeden nebo více štítků. Štítkem může být jedno nebo i více slov, která přibližují obsah fotografie.

+ +

Když chcete fotografii přidat nový štítek, vyberte ji a proveďte něco z následujícího:

+ + +

Zvolte Štítky Přídat štítky…

+

Zmáčkněte CtrlT.

+

Přetáhněte fotografii na požadovaný štítek v postranním panelu.

+
+ +

Když použijete Ctrl T nebo Štítky Přidat štítky…, můžete napsat název jednoho nebo i více štítků oddělených čárkami. Jakmile máte štítek jednou vytvořený, můžete jej přejmenovat tak, že jej vyberete v postranním panelu a zvolíte Štítky Přejmenovat štítek „[název]“ nebo pomocí pravého tlačítka a volbou Přejmenovat… nebo dvojitým kliknutím na něj v postranním panelu.

+ +

V případě, že chcete změnit přidružení štítku k některé fotografii, vyberte danou fotografii, zvolte Štítky Změnit štítky… nebo použijte pravé tlačítko a zvolte Změnit štítky… a po té upravte seznam štítků oddělených čárkami. Pokud chcete štítek z jedné nebo více fotografií odstranit, nejprve štítek v postranním panelu vyberte, pak vyberte fotografii, ze které jej chcete odstranit a zvolte Štítky Odstranit z fotky štítek „[název]“ nebo na ni klikněte pravým tlačítkem a zvolte Odstranit z fotky štítek „[název]“.

+ +

Jestli chcete smazat štítek kompletně, vyberte jej v postranním panelu a zvolte Štítky Smazat štítek „[název]“ nebo na něj klikněte pravým tlačítkem o zvolte Smazat štítek „[název]“.

+ +

Jakmile vytvoříte štítek, objeví se v postranním panelu pod položkou Štítky, která je skrytá v případě, že žádné štítky neexistují. Ke každé fotografii může být přiřazeno i více štítků a když kliknete na název štítku v postranním panelu, uvidíte všechny fotografie, které mají štítek přiřazený.

+ +
+ Hierarchické štítky +

Shotwell rovněž podporuje hierarchické štítky. Pomocí přetažení štítku na jiný štítek můžete měnit uspořádání. Když chcete vytvořit nový podřízený štítek, klikněte pravým tlačítkem a zvolte Nový.

+ +

Díky hierarchickým štítkům můžete svůj seznam štítků roztřídit způsobem, který lépe odpovídá vaší práci nebo myšlení. Například může uchovávat štítky jako „hory“ nebo „u moře“ pod společným štítkem „místa“, který sám může být umístěn pod štítkem „dovolené“.

+ +

Vezměte na vědomí, že když smažete rodičovský štítek, smažou se i všichni jeho potomci.

+
+
diff --git a/help/cs/organize-title.page b/help/cs/organize-title.page new file mode 100644 index 0000000..c0a5197 --- /dev/null +++ b/help/cs/organize-title.page @@ -0,0 +1,17 @@ + + + + + + Jak přidělit svým fotografiím názvy. + + + + + Názvy + +

Zaškrtávací položka nabídky Zobrazit Názvy přepíná zobrazení názvů pod každou fotografií. Jako výchozí název fotografie se používá název jejího souboru.

+ +

Název můžete změnit tak, že fotografii vyberete a kliknete na Fotografie Změnit název… nebo zmáčknete F2.

+ +
diff --git a/help/cs/other-files.page b/help/cs/other-files.page new file mode 100644 index 0000000..1a9b4e8 --- /dev/null +++ b/help/cs/other-files.page @@ -0,0 +1,100 @@ + + + + + + Jak zachovat knihovnu Shotwell synchronizovanou se soubory s fotografiemi na disku. + + + + + Soubory s fotografiemi + +

Každá fotografie v knihovně Shotwell odpovídá souboru uloženému na vašem pevném disku. Shotwell má několik funkcí, které pomáhají udržet jeho knihovnu a soubory na disku synchronizované.

+ + +
+ Používání vlastního vzoru složky +

Shotwell umožňuje určit, jak má pojmenovávat složky ve vaší knihovně. Můžete tak učinit změnou nastavení Struktury složek a Vzoru v dialogovém okně Předvolby. K dispozici jsou předdefinované vzory nebo zvolte Vlastní a zapište svůj vlastní.

+ +

Všechny symboly pro vzor složek začínají znakem % (procenta). Hodnoty těchto symbolů se vytváří na základě národního prostředí, takže to co uvidíte ve svém počítač se může lišit od příkladů níže.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Symbol

Meaning

Example

%Y

rok: úplný

2011

%y

rok: dvě číslice

11

%d

den v měsíci dvojmístný s úvodní nulou

03

%A

název dne: úplný

Středa

%a

název dne: zkratka

St

%m

číslo měsíce dvojmístné s úvodní nulou

02

%b

název měsíce: zkratka

bře

%B

název měsíce: úplný

březen

%I

hodiny: 12hodinový formát

05

%H

hodiny: 24hodinový formát

17

%M

minuty

16

%S

sekundy

30

%p

odp. nebo dop.

odp.

+ +

Existují ještě další symboly, které zde uvedené nejsou. Jestli vás zajímají, podívejte se do příručky k funkci strftime, stačí použít příkaz man strftime.

+
+ +
+ Automatický import fotografií + +

Shotwell může automaticky importovat nové fotografie, které se objeví ve složce knihovny. (Složkou knihovny je obvykle složka Obrázky ve vaší domovské složce. Toto umístění můžete změnit v okně Předvolby.)

+ +

Pro zapnutí automatického importu zaškrtněte políčko Sledovat, jestli nejsou do knihovny přidány nové soubory v okně Předvolby.

+ +

Shotwell také umí automaticky následovat symbolické odkazy v automaticky importovaných složkách.

+ +
+ +
+ Automatické přejmenování importovaných fotografií na malá písmena + +

Shotwell může automaticky měnit názvy souborů importovaných fotografií na malá písmena. Pokud tomu tak chcete, zvolte Upravit Předvolby a v okně, které se objeví, zaškrtněte políčko Převádět názvy importovaných souborů na malá písmena.

+ +
+ +
+ Zápis metadat za běhu + +

Standardně Shotwell nemění soubory s fotografiemi, i když fotografii upravíte nebo změníte její štítky nebo název. Tyto změny pouze zaznamená do své vlastní databáze.

+ +

Pokud chcete toto chování změnit, zaškrtněte políčko Zapisovat štítky, názvy a další metadata do souborů s fotografiemi v dialogovém okně Předvolby. Jakmile je tato volba zapnutá, Shotwell bude zapisovat následující metadata do většiny souborů s fotografiemi, kdykoliv provedete změnu:

+ + +

název

+

štítky

+

hodnocení

+

informace o otočení

+

datum/čas

+
+ +

Shotwell ukládá tyto informace do souborů s fotografiemi pomocí formátů EXIF, IPTC a/nebo XMP. Upozorňujeme, že je umí zapisovat pouze do souborů ve formátu JPEG, PNG a TIFF, nikoliv do fotografií BMP a RAW a do videosouborů.

+ +
+ +
+ Sledování běhu + +

Když Shotwell běží, přijímá upozornění o externích změnách v souborech s fotografiemi. Když se takovýto soubor změní, Shotwell jej znovu načte a aktualizuje zobrazení fotografie a metadata.

+ +

Je třeba si uvědomit, že Shotwell při spuštění kontroluje všechny soubory s fotografiemi, ale jen soubory nacházející se ve složce knihovny jsou sledovány v reálném čase po spuštění. Autoři doufají, že v příštích vydáních bude toto omezení překonáno.

+ +
+ +
diff --git a/help/cs/other-missing.page b/help/cs/other-missing.page new file mode 100644 index 0000000..c0956f2 --- /dev/null +++ b/help/cs/other-missing.page @@ -0,0 +1,21 @@ + + + + + + Když Shotwell nemůže fotografii najít v knihovně, označí ji za chybějící. + + + + + Chybějící fotografie + +

Pokaždé, když je Shotwell spuštěn, prochází vaši knihovnu fotografií a ověřuje, jestli se všechny fotografie stále nachází na pevném disku. Pokud zjistí, že některé soubory s fotografiemi schází, nezobrazí je běžně v Fotografie, Události a Štítky, ale místo toho se objeví v zobrazení Chybějící soubory, které přibude v postranním panelu.

+ +

Jestli již nechcete, aby takovéto chybějící soubory byly součástí vaší sbírky v aplikaci Shotwell (nejspíše proto, že jste je smazali), přejděte do zobrazení Chybějící soubory, fotografie vyberte a klikněte na Odstranit z knihovny.

+ +

V případě, že máte fotografie na výměnném disku, jako je CD nebo USB Flashdisk a naimportujete je do aplikace Shotwell bez kopírování fotografií do svého počítače, objeví se jako chybějící soubory po té, co výměnný disk vyjmete. Viz na téma, jak zkopírovat soubory z výměnného disku do vašeho počítače.

+ +

Pokud se některé chybějící soubory opět zpřístupní, Shotwell si toho při následujícím spuštění všimne. Fotografie se pak znovu objeví ve Fotografiích, Událostech a Štítcích.

+ +
diff --git a/help/cs/other-multiple.page b/help/cs/other-multiple.page new file mode 100644 index 0000000..a327725 --- /dev/null +++ b/help/cs/other-multiple.page @@ -0,0 +1,21 @@ + + + + + + Jak otevřít Shotwell s jinou knihovnou fotografií pomocí příkazového řádku. + + + + + Více knihoven + +

Normálně Shotwell uchovává svoji databázi a náhledy fotografií ve složce ~/.shotwell. V této složce se nenachází přímo fotografie, ale databáze v této složce obsahuje seznam všech fotografií v knihovně Shotwell.

+ +

Jak pokročilá funkce je k dispozici možnost mít více knihoven Shotwell, každou s vlastní sadou fotografií. Každá knihovna potřebuje svoji vlastní složku pro databázi. Abyste spustili Shotwell s alternativní knihovnou, zadejte alternativní složku s databází na příkazovém řádku tímto způsobem:

+ + +shotwell -d [složka-knihovny] + + +
diff --git a/help/cs/other-plugins.page b/help/cs/other-plugins.page new file mode 100644 index 0000000..c0c2318 --- /dev/null +++ b/help/cs/other-plugins.page @@ -0,0 +1,18 @@ + + + + + + Jak dynamicky rozšířit funkcionalitu aplikace Shotwell. + + + + + Zásuvné moduly +

Shotwell umí používat zásuvné moduly, což jsou přidružené sdílené knihovny, které přidávají podporu pro nová místa pro zveřejňování nebo nové přechody pro promítání.

+ +

Abyste viděli seznam nainstalovaných zásuvných modulů, zvolte Upravit Předvolby a v okně předvoleb klikněte na kartu Zásuvné moduly. Zobrazí se vám seznam aktuálně nainstalovaných zásuvných modulů. Vedle každého je zaškrtávací políčko, pomocí kterého jej můžete povolit nebo zakázat.

+ +

Kompletní dokumentace k tomu, jak vyvíjet nové zásuvné moduly je k dispozici na http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins (odkazovaný text je v angličtině).

+ +
diff --git a/help/cs/raw.page b/help/cs/raw.page new file mode 100644 index 0000000..b70a397 --- /dev/null +++ b/help/cs/raw.page @@ -0,0 +1,24 @@ + + + + + + Více o podpoře RAW v aplikaci Shotwell. + + + + + Podpora RAW v aplikaci Shotwell +

Některé fotoaparáty umí uložit data přímo ze snímače a to do souboru, který obsahuje dodatečné informace o barvě. Obecně jsou tyto soubory nazývány „RAW“ nebo „surové fotografie“ a Shotwell s nimi dokáže pracovat.

+ +

Protože fotografie RAW nelze normálně zobrazit přímo, ale musí být nejprve vyvolány – tj. jejich dodatečné informace interpretovány a připraveny pro zobrazení – většina fotoaparátů při pořízení snímku buď do souboru ve formátu RAW vloží navíc JPEG nebo uloží JPEG zvlášť zvlášť vedle souboru RAW. Druhý způsob bude v tomto textu nadále označován jako RAW+JPEG. Když importujete pár RAW+JPEG, Shotwell je uchová spárované a v knihovně s nimi zachází jako s jedinou položkou.

+ +

Když importujete soubor RAW, můžete si zvolit mezi interním kamerou vyvolaným formátem JPEG nebo jej nechat vyvolat aplikací Shotwell pomocí Fotografie Vývojka v nabídce.

+ + +

Změna vývojky může způsobit, že všechny úpravy provedené ve fotografii budou zahozeny.

+
+ +

Aby šla fotografie RAW zveřejnit nebo používat v jiném softwaru, musí být nejprve exportována. Shotwell umí vaše fotografie RAW exportovat do formátů JPEG, PNG, TIFF nebo BMP a když je publikujete, interně vám je exportuje do verze JPEG a tak je i zveřejní.

+ +
diff --git a/help/cs/running.page b/help/cs/running.page new file mode 100644 index 0000000..9c19236 --- /dev/null +++ b/help/cs/running.page @@ -0,0 +1,23 @@ + + + + + + Jak najít Shotwell v nabídce aplikací nebo jak jej spouštět automaticky při zapojení fotoaparátu. + + + + + + + Spuštění aplikace Shotwell + +

Jakmile je Shotwell nainstalován, je k nalezení v nabídce Aplikace v oddíle Grafika nebo Fotografie.

+ +

Shotwell se může také spouštět automaticky po té, co je k počítači připojen fotoaparát. Pokud si chcete zkontrolovat, jestli je váš systém nastaven, aby spustil Shotwell, když zjistí přitomnost fotoaparátu, jděte do Upravit Předvolby v okně aplikace Nautilus (správce souborů) a zvolte kartu Média. Uvidíte rozbalovací pole s popisem Fotografie:, ve kterém si můžete vybrat Shotwell jako aplikaci starající se o fotografie.

+ + +

Shotwell je možné spusti i přímo ze složky, ve které byl sestaven, ale to má význam jen pro ty, kteří Shotwell testují nebo vyvíjí.

+
+ +
diff --git a/help/cs/share-background.page b/help/cs/share-background.page new file mode 100644 index 0000000..325df50 --- /dev/null +++ b/help/cs/share-background.page @@ -0,0 +1,17 @@ + + + + + + Jak nastavit pozadí své pracovní plochy na konkrétní fotografii nebo promítání více fotografií. + + + + + Nastavení obrázku nebo promítání na pozadí plochy + +

Pokud si chcete nastavit jednu nějakou fotografii jak pozadí své pracovní plochy, vyberte ji a zvolte SouborNastavit jako pozadí plochy.

+ +

Pozadí své pracovní plochy můžete nastavit také na promítání fotografií. Stačí fotografie, které chcete promítat, vybrat a zvolit SouborNastavit jako prezentaci na ploše… Shotwell se vás dotáže na dobu zobrazení snímků, což může být libovolný čas až jeden den dlouhý. Promítání na pozadí bude probíhat, i když nebude Shotwell spuštěný.

+ +
diff --git a/help/cs/share-export.page b/help/cs/share-export.page new file mode 100644 index 0000000..6b88a8a --- /dev/null +++ b/help/cs/share-export.page @@ -0,0 +1,32 @@ + + + + + + Jak zkopírovat fotografie mimo Shotwell, abyste je mohli umístit někam jinam. + + + + + Export fotografií + +

Pro export fotografií z aplikace Shotweel pomocí táhni a upusť, přetáhněte fotografie do okna správce souborů nebo na pracovní plochu. Nové soubory budou kopie fotografií v plné velikosti z vaší knihovny.

+ +

Jinou možností exportu je vybrat sadu fotografií a zvolit Soubor Export… nebo zmáčknout ShiftCtrlE, čímž se fotografie exportují s poskytnutím volby jejich velikosti a rozměrů. Objeví se okno, ve kterém můžete provést tyto volby:

+ + +

Formát exportu.

+ +

Zvolte Beze změny, aby se fotografie exportovaly v původním formátu bez jakýchkoliv úprav provedených v rámci aplikace Shotwell. Fotografie RAW budou vyexportovány v původním formátu RAW.

+

Zvolte Stávající, aby se fotografie vyexportovaly včetně změn provedených v rámci aplikace Shotwell. Fotografie RAW budou vyexportovány ve formátu JPEG v případě, že u nich byly provedeny nějaké změny, v opačném případě v jejich původním formátu RAW.

+

Nebo můžete zvolit konkrétní formát obrázku (JPEG, PNG, TIFF, BMP), který se má k exportu použít. Případné úpravy provedené v rámci aplikace Shotwell budou jeho součástí a Shotwell provede převod do cílového formátu.

+
+
+

Kvalita exportovaného obrázku (nízká, střední, vysoká nebo maximální).

+

Pravidlo pro škálování (což znamená, jak se má Shotwell chovat při škálování fotografií na menší rozměr) a požadovaná velikost v pixelech.

+

Volba, jestli chcete exportovat i metadata, jako jsou štítky nebo hodnocení. To vám může pomoci v ochraně soukromí, pokud máte štítky s geolokačními údaji nebo jiné štítky, které nechcete, aby viděl někdo jiný.

+
+ +

Pokud je vybráno, bude Shotwell do nových souborů zapisovat štítky, názvy a ostatní metadata.

+ +
diff --git a/help/cs/share-print.page b/help/cs/share-print.page new file mode 100644 index 0000000..849d075 --- /dev/null +++ b/help/cs/share-print.page @@ -0,0 +1,18 @@ + + + + + + Klikněte na SouborTisk… Další volby tisku najdete na kartě Nastavení stránky v dialogovém okně Tisk. + + + + + Tisk + +

Když chcete fotografii vytisknout, vyberte ji a zvolte SouborTisk…

+ +

Shotwell umí také tisknout více obrázků na jednu stránku. Udělá se to tak, že se vybere více obrázků, zvolí Soubor Tisk… a v dialogovém okně Tisk se vybere karta Nastavení obrázku. Tam ve volbě Automatická velikost vyberte jednu z možností „X obrázků na stránku“.

+ +

Pokud potřebujete nastavit formátování, velikost papíru a jeho otočení, vyberte v dialogovém okně Tisk kartu Vzhled stránky.

+
diff --git a/help/cs/share-send.page b/help/cs/share-send.page new file mode 100644 index 0000000..431f89b --- /dev/null +++ b/help/cs/share-send.page @@ -0,0 +1,16 @@ + + + + + + Jak odeslat fotografie přes e-mail, rychlou komunikaci a dalšími způsoby. + + + + + Odesílání fotografií + +

Shotwell může odesílat fotografie pomocí mechanizmu Odeslat do v pracovním prostředí GNOME. Ten umožňuje odesílat přes e-mail, rychlou komunikaci a dalšími způsoby.

+

Když chcete fotografie odeslat, vyberte je v aplikaci Shotwell a zvolte Soubor Odeslat… nebo klikněte na fotografie pravým tlačítkem a zvolte Odeslat… v kontextové nabídce. Objeví se dialogové okno Odeslání, ve kterém si můžete zvolit způsob odeslání souborů (jako je e-mail nebo rychlá komunikace) a cíl. Volitelně si můžete vybrat, jestli chcete soubory v komprimovaném formátu.

+ +
diff --git a/help/cs/share-slideshow.page b/help/cs/share-slideshow.page new file mode 100644 index 0000000..b699f0c --- /dev/null +++ b/help/cs/share-slideshow.page @@ -0,0 +1,22 @@ + + + + + + Jak sledovat promítání svých fotografií. + + + + + Promítání + +

Abyste se mohli dívat na promítání sbírky fotografií v aplikaci Shotwell, přejděte na danou sbírku a vyberte ViewSlideshow nebo zmáčkněte F5.

+ +

V běžícím promítání můžete měnit některá nastavení:

+ + +

Dobu, po kterou má být obrázek zobrazen: 1 až 30 vteřin

+

Můžete vybírat z různých přechodových efektů

+

Dobu trvání přechodového efektu: 0,1 až 1,0 vteřiny

+
+
diff --git a/help/cs/share-upload.page b/help/cs/share-upload.page new file mode 100644 index 0000000..813b217 --- /dev/null +++ b/help/cs/share-upload.page @@ -0,0 +1,34 @@ + + + + + + Jak fotografie zveřejnit na Facebook, Flickr, Picasa Web Albums a jiné servery. + + + + + Publikování na web + +

Za pomoci zásuvných modulů umí Shotwell zveřejňovat fotografie a videa na následujících službách (na každé musíte mít zřízen účet):

+ + +

Facebook

+

Flickr

+

Picasa Web Albums a Google+

+

YouTube (jen videa)

+

Yandex.Fotki, fotoserver populární v Rusku (jen fotografie)

+

Libovolný server, na kterém běží software pro fotogralerie Piwigo (jen fotky)

+
+ +

Když chcete zveřejnit vybrané fotografie ze sbírky, zvolte Upravit Předvolby a klikněte na kartu Zásuvné moduly, abyste povolili zásuvný modul pro službu, kterou chcete ke zveřejnění použít. Následně zvolte Soubor Zveřejnit nebo zmáčkněte tlačítko Zveřejnit na nástrojové liště nebo použijte klávesovou zkratku CtrlP. Uvidíte dialogové okno, ve kterém si můžete vybrat požadovanou službu. Následně se k ní musíte přihlásit, připadně si vytvořit účet.

+ +

Publishing to Facebook requires you to grant certain permissions to the Shotwell Facebook application. + You only need to grant these permissions once, when you first associate Shotwell with your Facebook account. +

+

You will be only able to publish images with at most the permission you granted to the Shotwell Facebook application

+ +

Podobně zveřejnění na Flickru vyžaduje přihlášení a oprávnění aplikaci Shotwell Connect k přístupu k vašemu účtu.

+ +

Pokud máte účet Google, ale zatím jste nepoužili Picasa Web Albums, musíte se jednou pomocí prolížeče přihlásit ke službě Picasa, abyste na ní mohli zveřejňovat.

+
diff --git a/help/cs/view-displaying.page b/help/cs/view-displaying.page new file mode 100644 index 0000000..479ae35 --- /dev/null +++ b/help/cs/view-displaying.page @@ -0,0 +1,26 @@ + + + + + + Zjistěte si, jakými různými způsoby si můžete své fotografie zobrazit: v mřížce, přes celé hlavní okno nebo přes celou obrazovku. + + + + + Způsoby zobrazení fotografií + +

Když v postranním panelu vyberete sbírku, Shotwell zobrazí všechny její fotografie v hlavní části okna. V pravém dolním rohu je posuvník, kterým si můžete upravit velikost náhledů. Případně k tomu můžete použít klávesy plus a mínus (+ a -) nebo držet zmáčknutý Ctrl a použít kolečko myši.

+ +

Dvojitým kliknutím na fotografii si ji zobrazíte v plné velikosti. Na další fotografie ve sbírce pak můžete přecházet pomocí tlačítek Zpět a Vpřed. Pro návrat do sbírky na fotografii opět dvojitě klikněte nebo zmáčkněte Esc.

+ +

Když prohlížíte fotografii v režimu celého okna, posuvník na nástrojové liště řídí přiblížení. Fotografii můžete posouvat jejím chycením v kterékoliv části a tažením. Přibližovat můžete také pomocí kolečka myši nebo pomocí následujících klávesových zkratek: Ctrl0 pro obrázek v plné velikosti, Ctrl1 pro 100% (1 pixel fotografie = 1 pixel obrazovky) a Ctrl2 pro 200% (1 pixel obrazovky = 2×2 pixely obrazovky).

+ +

Shotwell také nabízí k prohlížení fotografií režim celé obrazovky. Zvolte Zobrazit Celá obrazovka nebo zmáčkněte F11. Abyste v režimu celé obrazovky viděli nástrojovou lištu, musíte najet myší do spodní části obrazovky. Nástrojová lišta nabízí tlačítka pro pohyb ve sbírce, pro přišpendlení nástrojové lišty (aby se neskrývala, když myší odjedete) a k opuštění režimu celé obrazovky.

+ +
+Zobrazování videí +

Když dvojitě kliknete na video, Shotwell spustí externí videopřehrávač, aby video přehrál. V současnosti není možné přehrát video v režimu celé obrazovky aplikace Shotwell nebo jinak přímo v rámci Shotwellu.

+
+ +
diff --git a/help/cs/view-information.page b/help/cs/view-information.page new file mode 100644 index 0000000..21e8a8a --- /dev/null +++ b/help/cs/view-information.page @@ -0,0 +1,17 @@ + + + + + + Jak zobrazit více podrobných informací o fotografiích, jako je třeba režim expozice použitý ve fotoaparátu. + + + + + Základní a rozšiřující informace + +

Panel Základní informace se objevuje ve spodní části postranního panelu a zobrazuje stručný přehled o vybrané fotografii. Pokud není vybrána žádná fotografie, zobrazuje přehled o celé sbírce. Jestli má být tento panel zobrazen, můžete přepínat příkazem ZobrazitZákladní informace.

+ +

Plovoucí okno Doplňující informace zobrazuje o vybrané fotografii více informací. K přepnutí zobrazení tohoto okna použijte příkaz ZobrazitDoplňující informace nebo klávesovou zkratku CtrlShiftX.

+ +
diff --git a/help/cs/view-sidebar.page b/help/cs/view-sidebar.page new file mode 100644 index 0000000..5ee76e5 --- /dev/null +++ b/help/cs/view-sidebar.page @@ -0,0 +1,34 @@ + + + + + + Postranní panel na levé straně okna vypisuje různá zobrazení vaší knihovny. + + + + + + + + + + + + + + Postranní panel + +

Postranní panel na levé straně okna Shotwell vypisuje různá zobrazení vaší knihovny. Ačkoliv můžete vidět tu samou fotografii ve více zobrazeních, na disku je uchována jen v jedné kopii.

+ +

V zobrazení Poslední import jsou uvedeny fotografie, které byly naimportovány jako poslední, bez ohledu na to, zda z aplikace F-Spot, z fotoaparátu, z paměťové karty nebo z pevného disku.

+ +

V Označeno jsou uvedeny všechny fotografie, které jste již dříve označili.

+ +

Uložená hledání umožňují třídit vaši knihovnu podle řady kritérií.

+ +

Ve složce Události jsou uvedeny všechny události z vaší knihovny. Událost je skupina fotografií, které byly pořízeny přibližně ve stejnou dobu.

+ +

Ve složce Štítky jsou uvedeny všechny štítky, které jste fotografiím přiřadili. Každá fotografie může mít přiřazeno více štítků. Když kliknete na název štítku v postranním panelu, uvidíte všechny fotografie, které mají takovýto štítek přiřazený.

+ +
diff --git a/help/de/de.po b/help/de/de.po index 98a3610..330f3df 100644 --- a/help/de/de.po +++ b/help/de/de.po @@ -8,23 +8,23 @@ msgid "" msgstr "" "Project-Id-Version: shotwell shotwell-0.20\n" -"POT-Creation-Date: 2015-11-11 14:22+0000\n" -"PO-Revision-Date: 2015-12-05 14:48+0100\n" -"Last-Translator: Wolfgang Stoeggl \n" +"POT-Creation-Date: 2016-06-24 20:56+0000\n" +"PO-Revision-Date: 2016-06-25 21:14+0200\n" +"Last-Translator: Christian Kirbach \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.6\n" +"X-Generator: Poedit 1.8.7.1\n" #: C/view-sidebar.page:7(desc) msgid "" "The sidebar on the left of the window lists various views of your library." msgstr "" -"Die Seitenleiste auf der linken Seite des Fensters listet verschiedene " -"Ansichten Ihrer Bibliothek auf." +"Die Seitenleiste links des Fensters zeigt verschiedene Ansichten Ihrer " +"Bibliothek." #: C/view-sidebar.page:21(title) msgid "The sidebar" @@ -36,31 +36,38 @@ msgid "" "your library. Although you may see the same photo in multiple views, it's " "only stored once on your hard drive." msgstr "" -"Die Seitenleiste auf der linken Seite des Shotwell-Fensters listet " -"verschiedene Ansichten Ihrer Bibliothek auf. Selbst wenn Sie dasselbe Foto " -"in mehreren Ansichten sehen, ist es nur einmal auf Ihrem Datenträger " -"gespeichert." +"Die Seitenleiste links des Shotwell-Fensters zeigt verschiedene Ansichten " +"Ihrer Bibliothek. Obwohl Sie eventuell das selbe Foto in mehreren Ansichten " +"sehen, ist es tatsächlich nur einmal auf Ihrem System gespeichert." #: C/view-sidebar.page:25(p) msgid "" "The Last Import view lists your last imported photos no matter if " "they are imported from F-Spot, your camera, a memory card or the hard disk." msgstr "" +"Die Ansicht Letzter Import zeigt die zuletzt importierten Fotos " +"unabhängig von Ihrer Quelle wie F-Spot, Ihrer Kamera, einer Speicherkarte " +"oder der Festplatte." #: C/view-sidebar.page:27(p) msgid "The Flagged lists all photos you had previous flagged." -msgstr "" +msgstr "Markiert listet alle zuvor markierten Fotos." #: C/view-sidebar.page:29(p) msgid "" "The Saved Search allows you to sort your library by many criteria." msgstr "" +"Mit Gespeicherte Suchen sortieren Sie Ihre Bibliothek anhand von " +"vielen verschiedenen Kriterien." #: C/view-sidebar.page:31(p) msgid "" "The Events folder lists all events in your library. An event is a " "group of photos that were taken at approximately the same time." msgstr "" +"Der Ordner Ereignisse listet alle Ereignisse Ihrer Bibliothek " +"auf. Ein Ereignis ist eine Menge von Fotos, die ungefähr im gleichen " +"Zeitraum aufgenommen wurden." #: C/view-sidebar.page:33(p) msgid "" @@ -68,16 +75,21 @@ msgid "" "can have multiple tags attached to them. When you click on the name of a tag " "in the sidebar, you will see all the photos associated with that tag." msgstr "" +"Der Ordner Markierungen listet alle markierten Fotos auf. Fotos " +"können mehrfach markiert sein. Klicken Sie auf den Namen einer Markierung in " +"der Seitenleiste, um alle mit der entsprechenden Markierung zu sehen." #: C/view-information.page:7(desc) msgid "" "View more detailed information about photos, like the exposure mode used by " "the camera." msgstr "" +"Sehen Sie sich weitere Details über Fotos an, wie das von der Kamera " +"verwendete Belichtungsverfahren." #: C/view-information.page:12(title) msgid "Basic and extended information" -msgstr "Einfache und erweiterte Informationen" +msgstr "Grundlegende und erweiterte Informationen" #: C/view-information.page:14(p) msgid "" @@ -87,6 +99,12 @@ msgid "" "display of this pane using the ViewBasic " "Information command." msgstr "" +"Das Teilfenster mit grundlegenden Informationen erscheint unten in der " +"Seitenleiste und zeigt eine kurze Übersicht der von Ihnen gewählten Fotos. " +"Wenn keine Fotos ausgewählt sind, wird eine Zusammenfassung der gesamten " +"Sammlung angezeigt. Schalten Sie die Darstellung des Teilfensters mit " +"AnsichtGrundlegende Informationen ein " +"oder aus." #: C/view-information.page:16(p) msgid "" @@ -95,12 +113,19 @@ msgid "" "guiseq> command or CtrlShiftX toggles the display of this window." msgstr "" +"Das schwebende Fenster »Erweiterte Informationen« zeigt weitere " +"Informationen zu den gewählten Fotos. Mit AnsichtErweiterte Informationen oder StrgUmschalttasteX blenden Sie das Fenster " +"ein oder aus." #: C/view-displaying.page:7(desc) msgid "" "Learn about different ways of viewing your photos: in a grid, filling the " "main window, or filling the whole screen." msgstr "" +"Erfahren Sie mehr über die verschiedenen Ansichtsmöglichkeiten Ihrer Fotos: " +"Im Raster, im Hauptfenster oder Bildschirm füllend." #: C/view-displaying.page:12(title) msgid "Photo views" @@ -114,6 +139,12 @@ msgid "" "thumbnail size using the plus and minus keys (+ and -) " "or by pressing Ctrl while moving your mouse scroll wheel." msgstr "" +"Wenn Sie eine Sammlung in der Seitenleiste wählen, zeigt Shotwell alle Fotos " +"der Sammlung im Hauptfenster an. Unten rechts befindet sich ein " +"Schieberegler zur Anpassung der Größe der Vorschaubilder. Sie können " +"ebenfalls die Größe der Vorschaubilder mit den Tasten + und -" +" anpassen, oder indem Sie Strg gedrückt halten, während das " +"Mausrad gedreht wird." #: C/view-displaying.page:16(p) msgid "" @@ -122,6 +153,10 @@ msgid "" "buttons. To return to the collection, double-click on the photo or press " "Esc." msgstr "" +"Schauen Sie sich ein Foto im Vollbild an, indem Sie zweimal darauf klicken. " +"Daraufhin wechseln Sie zu anderen Fotos Ihrer Sammlung mit den Tasten ← und " +"→. Klicken Sie zweimal auf das Foto oder drücken Sie Esc, um zur " +"Sammlung zurückzukehren." #: C/view-displaying.page:18(p) msgid "" @@ -133,6 +168,14 @@ msgid "" "and Ctrl2 for 200% (1 photo pixel = 2x2 screen " "pixels)." msgstr "" +"Beim Ansehen von Fotos im Vollbildmodus steuert der Regler in der " +"Werkzeugleiste die Vergrößerung. Verschieben Sie das Foto, indem Sie die " +"Maustaste gedrückt halten und die Maus bewegen. Sie können die Ansicht auch " +"durch Drehen des Mausrads vergrößern und verkleinern, oder indem Sie die " +"folgenden Tastenkürzel einsetzen: Strg0 für " +"Vollansicht, Strg1 für 100% (1 Bildpunkt = 1 " +"Bildschirmpunkt) und Strg2 für 200% (1 Bildpunkt " +"= 2x2 Bildschirmpunkte)." #: C/view-displaying.page:20(p) msgid "" @@ -143,6 +186,13 @@ msgid "" "the toolbar down (so it isn't hidden when you move the mouse away), and to " "leave fullscreen view." msgstr "" +"Shotwell kann Fotos auf dem gesamten Bildschirm darstellen. Wählen Sie dazu " +"AnsichtBildschirmfüllend oder drücken " +"Sie F11. Bewegen Sie den Mauszeiger unten auf den Bildschirm, um " +"die Werkzeugleiste im Vollbildmodus einzublenden. Die Werkzeugleiste hat " +"Knöpfe zum Blättern in der Sammlung, zum Anheften der Werkzeugleiste (so " +"dass diese nicht mehr automatisch verborgen wird) und zum Verlassen des " +"Vollbildmodus." #: C/view-displaying.page:23(title) msgid "Viewing videos" @@ -154,10 +204,16 @@ msgid "" "to play the video. It's not currently possible to display a video in full-" "window mode in Shotwell or to play the video within Shotwell itself." msgstr "" +"Wenn Sie zweimal auf ein Video klicken, startet Shotwell ein externes " +"Wiedergabeprogramm zum Abspielen. Es ist derzeit nicht möglich, ein Video im " +"Vollbildmodus in Shotwell darzustellen oder das Video in Shotwell selbst " +"anzuzeigen." #: C/share-upload.page:7(desc) msgid "Publish photos to Facebook, Flickr, Picasa Web Albums, or other sites." msgstr "" +"So veröffentlichen Sie Fotos bei Facebook, Flickr, Picasa Webalben und " +"anderen Seiten." #: C/share-upload.page:12(title) msgid "Publishing to the Web" @@ -169,6 +225,9 @@ msgid "" "publish photos and videos to the following services, each of which requires " "an account:" msgstr "" +"Mit Hilfe von Plugins kann Shotwell " +"Fotos und Videos bei den folgenden Diensten veröffentlichen. Jeder Dienst " +"erfordert ein Benutzerkonto:" #: C/share-upload.page:18(link) msgid "Facebook" @@ -183,24 +242,28 @@ msgid "" "Picasa Web Albums and " "Google+" msgstr "" -"Picasa Internet-Alben und " -"Google+" +"Picasa Webalben und Google+" #: C/share-upload.page:21(p) msgid "YouTube (videos only)" -msgstr "YouTube (Nur Videos)" +msgstr "YouTube (nur Videos)" #: C/share-upload.page:22(p) msgid "" "Yandex.Fotki, a photo site " "popular in Russia (photos only)" msgstr "" +"Yandex.Fotki, eine in Russland " +"beliebte Fotoseite (nur Fotos)" #: C/share-upload.page:23(p) msgid "" "Any site running the Piwigo photo " "gallery software (photos only)" msgstr "" +"Jede Internetseite, welche die Fotogalerie-Software Piwigo installiert hat (nur Fotos)" #: C/share-upload.page:26(p) msgid "" @@ -212,27 +275,50 @@ msgid "" "will see a dialog that lets you select a publishing service. You will then " "need to log in or create an account." msgstr "" +"Wählen Sie zum Veröffentlichen von gewählten Fotos einer Sammlung " +"BearbeitenEinstellungen und dann den " +"Reiter Erweiterungen zum Einschalten der Erweiterung für den " +"Dienst, den Sie verwenden wollen. Wählen Sie anschließend " +"DateiVeröffentlichen oder den Knopf " +"Veröffentlichen in der Werkzeugleiste oder tippen Sie " +"StrgP. Daraufhin erscheint ein " +"Fenster, in dem Sie den Dienst zur Veröffentlichung wählen. Sie müssen sich " +"dann beim Dienst anmelden." #: C/share-upload.page:31(p) msgid "" "Publishing to Facebook requires you to grant certain permissions to the " -"Shotwell Connect Facebook application. You only need to grant these " -"permissions once, when you first associate Shotwell Connect with your " -"Facebook account." +"Shotwell Facebook application. You only need to grant these permissions " +"once, when you first associate Shotwell with your Facebook account." +msgstr "" +"Die Veröffentlichung auf Facebook erfordert es, der Anwendung »Shotwell " +"Connect Facebook« verschiedene Rechte einzuräumen. Sie müssen diese " +"Zugriffsrechte nur einmal gewähren, wenn Sie Shotwell zum ersten Mal mit " +"Facebook verbinden." + +#: C/share-upload.page:34(p) +msgid "" +"You will be only able to publish images with at most the permission you " +"granted to the Shotwell Facebook application" msgstr "" -#: C/share-upload.page:35(p) +#: C/share-upload.page:36(p) msgid "" "Similarly, publishing to Flickr requires you to log in and permit Shotwell " "Connect to access your account." msgstr "" +"Ebenso erfordert es die Veröffentlichung auf Flickr, Shotwell Connect zu " +"gestatten, auf Ihr Konto zuzugreifen." -#: C/share-upload.page:37(p) +#: C/share-upload.page:38(p) msgid "" "If you have a Google account, but have not yet used Picasa Web Albums, you " "will need to log in to Picasa using a browser once before you can publish to " "this service." msgstr "" +"Wenn Sie ein Google-Konto verfügen, aber die Picasa-Webalben noch nicht " +"genutzt haben, müssen Sie sich zunächst in einem Browser bei Picasa " +"anmelden, bevor Sie diesen Dienst zur Veröffentlichung nutzen können." #: C/share-slideshow.page:7(desc) msgid "Watch a slideshow of your photos." @@ -248,14 +334,17 @@ msgid "" "and select ViewSlideshow or press " "F5." msgstr "" +"Um eine Diaschau einer Sammlung in Shotwell zu sehen, wählen Sie diese " +"Sammlung und dann AnsichtDiaschau " +"oder drücken Sie F5." #: C/share-slideshow.page:16(p) msgid "You can change some settings in a running slideshow:" -msgstr "" +msgstr "Sie können folgende Einstellungen während einer Diaschau anpassen:" #: C/share-slideshow.page:19(p) msgid "The duration how long an image should be shown: 1 - 30 seconds" -msgstr "" +msgstr "Die Darstellungsdauer eines Bildes: 1 - 30 Sekunden" #: C/share-slideshow.page:20(p) msgid "You can select different transition effects." @@ -268,6 +357,7 @@ msgstr "Die Zeit für jeden Übergangseffekt: 0,1 - 1,0 Sekunden" #: C/share-send.page:7(desc) msgid "Send photos via email, instant messaging or in other ways." msgstr "" +"So verschicken Sie Fotos per E-Mail, Sofortnachricht oder auf andere Weisen." #: C/share-send.page:12(title) msgid "Sending photos" @@ -278,6 +368,9 @@ msgid "" "Shotwell can send photos using the GNOME desktop's Send To mechanism, which " "lets you send photos via email, instant messaging or in other ways." msgstr "" +"Shotwell versendet Fotos mit dem Mechanismus »Senden an« der GNOME " +"Arbeitsumgebung. So können Sie Fotos per E-Mail, Sofortnachricht oder auf " +"andere Weisen verschicken." #: C/share-send.page:16(p) msgid "" @@ -288,12 +381,22 @@ msgid "" "email or instant messaging) and a destination. You can optionally choose to " "send the files in a compressed format." msgstr "" +"Wählen Sie Fotos zum Verschicken in Shotwell aus und wählen Sie dann " +"DateiSenden an, oder klicken Sie mit " +"der rechten Maustaste auf das Foto und wählen Sie Senden an im " +"Kontextmenü. Daraufhin erscheint der Dialog Senden an, wo Sie ein " +"Verfahren zum Verschicken der Fotos (wie zum Beispiel E-Mail oder " +"Sofortnachricht) und einen Empfänger festlegen. Optional können Sie Dateien " +"komprimieren und versenden." #: C/share-print.page:7(desc) msgid "" -"Click FilePrint. For more printing " +"Click FilePrint.... For more printing " "options, select the Page Setup tab in the Print dialog." msgstr "" +"Klicken Sie auf DateiDrucken. Wählen " +"Sie für weitere Druckeinstellungen den Reiter Seite einrichten im " +"Dialog Drucken." #: C/share-print.page:12(title) msgid "Printing" @@ -301,18 +404,25 @@ msgstr "Drucken" #: C/share-print.page:14(p) msgid "" -"To print a photo, select it and choose FilePrintFilePrint...." msgstr "" +"Um ein Foto zu drucken, wählen Sie es aus und wählen Sie anschließend " +"DateiDrucken." #: C/share-print.page:16(p) msgid "" "Shotwell can also print multiple images in one page; to do this, select " -"multiple images, choose FilePrint, " +"multiple images, choose FilePrint..., " "and in the Print dialog, choose the Image Settings " "tab. In Image Settings, choose one of the multiple-image-per-page " "options under Autosize." msgstr "" +"Shotwell kann mehrere Fotos auf eine Seite drucken. Wählen Sie dazu mehrere " +"Bilder und dann DateiDrucken und " +"anschließend im Dialog Drucken den Reiter Bildeinstellungen. Wählen Sie unter Bildeinstellungen eine der Einstellungen " +"für mehrere Bilder pro Seite unter Automatische Größe." #: C/share-print.page:23(p) msgid "" @@ -320,10 +430,14 @@ msgid "" "choose the Page Setup tab in the Print dialog prior to " "printing." msgstr "" +"Zum Festlegen der Formatierung, der Papiergröße und der Ausrichtung " +"verwenden Sie vor dem Drucken den Reiter Seite einrichten im " +"Dialog Drucken." #: C/share-export.page:7(desc) msgid "Copy photos out of Shotwell so you can put them somewhere else." msgstr "" +"So kopieren Sie Fotos aus Shotwell heraus, um sie anderweitig abzulegen." #: C/share-export.page:12(title) msgid "Exporting photos" @@ -335,15 +449,25 @@ msgid "" "Shotwell onto a file manager window or your desktop. The new files will be " "full-sized copies of the photos in your library." msgstr "" +"Um Fotos aus Shotwell mittels Ziehen-und-Ablegen zu exportieren, ziehen Sie " +"die Fotos aus Shotwell in das Fenster einer Dateiverwaltung oder auf Ihre " +"Arbeitsfläche. Die neuen Dateien entsprechen dann einer Kopie der Fotos " +"Ihrer Bibliothek in Originalgröße." #: C/share-export.page:18(p) +#, fuzzy msgid "" "Alternatively, select a set of photos and choose the FileExport command or press ShiftExport... command or press ShiftCtrlE, which exports photos while letting " "you fine-tune the size and dimensions of your photo files. A window will " "appear allowing you to make several choices:" msgstr "" +"Alternativ wählen Sie eine Gruppe Fotos und wählen Sie DateiExportieren oder drücken Sie " +"UmschalttasteStrgE, um " +"Fotos zu exportieren und dabei die Größe der Fotodateien zu bestimmen. " +"Daraufhin erscheint ein Fenster mit mehreren Wahlmöglichkeiten:" #: C/share-export.page:24(p) msgid "A format for export." @@ -355,6 +479,9 @@ msgid "" "without any edits made in Shotwell. RAW photos will be exported in their " "original RAW format." msgstr "" +"Wählen Sie Unverändert, um Fotos im ursprünglichen Format ohne " +"Veränderungen durch Shotwell zu exportieren. RAW-Fotos werden im " +"ursprünglichen RAW-Format exportiert." #: C/share-export.page:29(p) msgid "" @@ -362,6 +489,10 @@ msgid "" "RAW photos will be exported in JPEG format if you have edited them in " "Shotwell, and otherwise in their original RAW format." msgstr "" +"Wählen Sie Aktuell, um Fotos einschließlich aller in Shotwell " +"gemachter Änderungen zu exportieren. RAW-Fotos werden im JPEG-Format " +"exportiert, wenn sie diese in Shotwell bearbeitet haben, anderenfalls werden " +"sie in ihren RAW-Format exportiert." #: C/share-export.page:31(p) msgid "" @@ -369,16 +500,21 @@ msgid "" "used for exporting. Any edits made in Shotwell will be included, and " "Shotwell will convert photos to the destination format." msgstr "" +"Alternativ wählen Sie ein bestimmtes Bildformat (JPEG, PNG, TIFF, BMP) für " +"den Export. Alle in Shotwell getätigten Änderungen werden mit einbezogen und " +"Shotwell wandelt die Fotos in das Zielformat um." #: C/share-export.page:37(p) msgid "The image quality for exporting (Low, Medium, High, or Maximum)." -msgstr "" +msgstr "Die Bildqualität beim Exportieren (gering, mittel, hoch oder maximal)." #: C/share-export.page:38(p) msgid "" "A scaling constraint (which means how Shotwell will decide to scale the " "photos down), and the desired pixel size." msgstr "" +"Eine Skalierungsbeschränkung (sie legt fest, wie Shotwell entscheidet die " +"Fotos zu skalieren) und die gewünschte Pixelgröße." #: C/share-export.page:39(p) msgid "" @@ -386,35 +522,45 @@ msgid "" "This can help to save your privacy if you have geolocation tags or tags " "which shouldn't be seen by anyone." msgstr "" +"Legt fest, ob Metadaten wie beispielsweise Markierungen oder Bewertungen " +"exportiert werden sollen. Im Falle von Metadaten für Ortsdienste oder " +"anderweitiger privater Markierungen kann dies dabei helfen, Ihre " +"Privatsphäre zu schützen." #: C/share-export.page:42(p) msgid "" "If selected, Shotwell will write tags, titles, and other metadata to the new " "files." msgstr "" +"Legt fest, ob Shotwell Markierungen, Titel und andere Metadaten in die neuen " +"Dateien schreiben soll." #: C/share-background.page:7(desc) msgid "" "Set your desktop background to a single photo or to a slideshow of photos." msgstr "" +"Das Hintergrundbild als ein Foto oder eine Diaschau von Fotos festlegen." #: C/share-background.page:12(title) msgid "Set a desktop background or slideshow" -msgstr "" +msgstr "Ein Schreibtisch-Hintergrund oder eine Diaschau festlegen" #: C/share-background.page:14(p) msgid "" "To set a single photo as your desktop background, select the photo and " "choose FileSet as Desktop Background." msgstr "" +"Wählen Sie DateiAls Hintergrundbild festlegen, um ein einzelnes Foto als Schreibtisch-Hintergrund festzulegen." #: C/share-background.page:16(p) msgid "" "You can also set your background to a slideshow of photos. To do this, " "select the photos for the slideshow and choose FileSet as Desktop Slideshow. Shotwell will prompt you " -"for a slideshow delay, which can be any interval up to one day in length. " -"The background slideshow will proceed even when Shotwell is not running." +"gui>Set as Desktop Slideshow.... Shotwell will prompt " +"you for a slideshow delay, which can be any interval up to one day in " +"length. The background slideshow will proceed even when Shotwell is not " +"running." msgstr "" #: C/running.page:7(desc) @@ -422,16 +568,20 @@ msgid "" "Find Shotwell in the Applications menu, or have it start automatically when " "you plug in a camera." msgstr "" +"So finden Sie Shotwell im Anwendungsmenü oder lassen Sie es automatisch " +"starten, wenn eine Kamera angeschlossen wird." #: C/running.page:14(title) msgid "Running Shotwell" -msgstr "" +msgstr "Shotwell ausführen" #: C/running.page:16(p) msgid "" "Once installed, Shotwell is available in your Applications menu " "under Graphics or Photography." msgstr "" +"Sobald Shotwell installiert wurde, ist es in Ihrem Anwendungs-" +"Menü verfügbar unter Grafik oder Fotografie." #: C/running.page:18(p) msgid "" @@ -442,16 +592,25 @@ msgid "" "gui> tab.  You'll see a dropdown box entitled Photos: which lets " "you choose Shotwell as your photo handling application." msgstr "" +"Shotwell kann automatisch gestartet werden, sobald eine Kamera an Ihren " +"Rechner angeschlossen wird. Um zu prüfen, ob Ihr System so eingerichtet ist, " +"dass Shotwell gestartet wird, sobald eine Kamera erkannt wird, öffnen Sie " +"BearbeitenEinstellungen in der " +"Dateiverwaltung Nautilus und wählen Sie den Reiter Medien. Dort " +"finden Sie ein Auswahlfeld namens Fotos:, wo Sie Shotwell als die " +"Vorgabe-Anwendung für Fotos festlegen." #: C/running.page:25(p) msgid "" "Shotwell may also be executed directly from its build directory, although " "this is only recommended for testing out Shotwell or for developers." msgstr "" +"Shotwell kann auch direkt im Erstellungsordner ausgeführt werden. Dies ist " +"jedoch nur zum Testen von Shotwell und für Entwickler empfohlen." #: C/raw.page:7(desc) msgid "More about RAW support in Shotwell." -msgstr "" +msgstr "Weiteres zur RAW-Unterstützung in Shotwell." #: C/raw.page:12(title) msgid "RAW support in Shotwell" @@ -545,6 +704,10 @@ msgid "" "database in this directory contains a list of all the photos in the Shotwell " "library." msgstr "" +"Shotwell speichert normalerweise seine Datenbank und Vorschaubilder der " +"Fotos im Ordner ~/.shotwell. Dieser Ordner enthält keine Fotos, " +"sondern lediglich eine Datenbank mit einer Liste aller Fotos in der Shotwell-" +"Bibliothek." #: C/other-multiple.page:16(p) msgid "" @@ -620,7 +783,7 @@ msgstr "" #: C/other-files.page:21(title) msgid "Using a custom directory pattern" -msgstr "" +msgstr "Ein eigenes Namensschema verwenden" #: C/other-files.page:22(p) msgid "" @@ -629,6 +792,11 @@ msgid "" "gui> settings in the Preferences dialog. You may use a " "preselected pattern, or choose Custom and type in your own." msgstr "" +"Shotwell erlaubt es, ein eigenes Namensschema für Ihre Bibliothek zu " +"verwenden. Passen Sie dazu die Einstellungen für Ordnerstruktur " +"und Muster in den Einstellungen an. Verwenden Sie ein " +"vorgewähltes Schema oder wählen Sie Benutzerdefiniert und tippen " +"Sie Ihr eigenes ein." #: C/other-files.page:29(p) msgid "" @@ -930,7 +1098,7 @@ msgstr "" #: C/organize-title.page:17(p) msgid "" "To change a photo's title, select the photo and click PhotosEdit Title, or press F2." +"gui>Edit Title..., or press F2." msgstr "" #: C/organize-tag.page:7(desc) @@ -954,7 +1122,7 @@ msgid "" msgstr "" #: C/organize-tag.page:28(p) -msgid "Choose TagsAdd Tags." +msgid "Choose TagsAdd Tags...." msgstr "" #: C/organize-tag.page:29(p) @@ -968,10 +1136,10 @@ msgstr "" #: C/organize-tag.page:33(p) msgid "" "When you use CtrlT or " -"TagsAdd Tags you can type in the " +"TagsAdd Tags... you can type in the " "names of one or more tags, separated by commas. Once you have created a tag, " "you can rename it by selecting that tag in the sidebar and choosing " -"TagsRename Tag \"[name]\", by " +"TagsRename Tag \"[name]\"..., by " "rightclicking on it and choose Rename... or double-click on the " "tag in the sidebar." msgstr "" @@ -979,13 +1147,13 @@ msgstr "" #: C/organize-tag.page:44(p) msgid "" "To change which tags are associated with a particular photo, select that " -"photo, choose TagsModify Tags or " -"right-click on a photo and select Modify Tags and edit the comma " -"separated list. To remove a tag from one or more photos, first select that " -"tag in the sidebar, then select the photos you would like to remove, and " -"choose TagsRemove Tag \"[name]\" from Photos or right-click on the photos an select Remove Tag \"[name]\" " -"from Photos." +"photo, choose TagsModify Tags... or " +"right-click on a photo and select Modify Tags... and edit the " +"comma separated list. To remove a tag from one or more photos, first select " +"that tag in the sidebar, then select the photos you would like to remove, " +"and choose TagsRemove Tag \"[name]\" from Photos or right-click on the photos an select Remove Tag " +"\"[name]\" from Photos." msgstr "" #: C/organize-tag.page:58(p) @@ -997,10 +1165,10 @@ msgstr "" #: C/organize-tag.page:64(p) msgid "" -"When you create a tag, it will appear in the sidebar under the Tags item, " -"which is hidden if there are no tags. Photos can have multiple tags attached " -"to them, and when you click on the name of a given tag in the sidebar, you " -"will see all the photos associated with that tag." +"When you create a tag, it will appear in the sidebar under the Tags item, which is hidden if there are no tags. Photos can have multiple " +"tags attached to them, and when you click on the name of a given tag in the " +"sidebar, you will see all the photos associated with that tag." msgstr "" #: C/organize-tag.page:73(title) @@ -1084,18 +1252,19 @@ msgstr "" #: C/organize-search.page:50(p) msgid "" -"Create a new saved search with EditNew Search or by hitting CtrlS. The " -"dialog box allows you to enter a name for the search and select whether you " -"want to meet Any, All, or None of the criteria in the following rows." +"Create a new saved search with EditNew Saved " +"Search... or by hitting CtrlS. The dialog box allows you to enter a name for the search and select " +"whether you want to meet Any, All, or None of the criteria in the following " +"rows." msgstr "" #: C/organize-search.page:56(p) msgid "" -"Each row represents a search criterion. Use the + button to add more rows, " -"and the - button to remove a specific row. The combo box on the left of each " -"row selects the type of criteria. Criteria must be entered correctly before " -"the OK button becomes available." +"Each row represents a search criterion. Use the + button to add " +"more rows, and the - button to remove a specific row. The combo " +"box on the left of each row selects the type of criteria. Criteria must be " +"entered correctly before the OK button becomes available." msgstr "" #. When image changes, this message will be marked fuzzy or untranslated for you. @@ -1153,7 +1322,7 @@ msgstr "" #: C/organize-remove.page:26(title) msgid "Emptying or restoring the trash folder" -msgstr "" +msgstr "Den Papierkorb leeren oder Fotos wiederherstellen" #: C/organize-remove.page:27(p) msgid "" @@ -1168,7 +1337,7 @@ msgstr "Löschen" #: C/organize-remove.page:29(p) msgid "Delete the selected photos from the trash folder." -msgstr "" +msgstr "Löschen der ausgewählten Fotos aus dem Papierkorb." #: C/organize-remove.page:30(title) msgid "Restore" @@ -1176,7 +1345,7 @@ msgstr "Wiederherstellen" #: C/organize-remove.page:30(p) msgid "Restore the selected photos into Shotwell." -msgstr "" +msgstr "Wiederherstellen der gewählten Fotos in Shotwell." #: C/organize-remove.page:31(title) msgid "Empty trash" @@ -1184,11 +1353,11 @@ msgstr "Papierkorb leeren" #: C/organize-remove.page:31(p) msgid "Delete all photos from the trash folder." -msgstr "" +msgstr "Löschen aller Fotos im Papierkorb." #: C/organize-remove.page:36(title) msgid "Deleting or emptying Trash" -msgstr "" +msgstr "Löschen oder Leeren des Papierkorbs" #: C/organize-remove.page:37(p) msgid "" @@ -1290,10 +1459,12 @@ msgstr "" #: C/organize-flag.page:7(desc) msgid "Flag photos to mark them as special or to work with them as a set." msgstr "" +"Markieren Sie Fotos, um sie als besondere zu kennzeichnen oder mit diesen " +"als Menge zu arbeiten." #: C/organize-flag.page:12(title) msgid "Flagging photos" -msgstr "" +msgstr "Fotos markieren" #: C/organize-flag.page:14(p) msgid "" @@ -1319,7 +1490,7 @@ msgstr "" #: C/organize-flag.page:27(title) msgid "To flag or unflag a photo" -msgstr "" +msgstr "So markieren Sie ein Foto oder heben die Markierung auf" #: C/organize-flag.page:28(p) msgid "" @@ -1368,9 +1539,9 @@ msgstr "" #: C/organize-event.page:27(p) msgid "" "To give an event a name rather than referring to it by its date, select the " -"event, click EditRename Event and " -"enter a new name. Another way of renaming an event is to double-click its " -"name in the sidebar; type a new name and then press Enter." +"event, click EventsRename Event... " +"and enter a new name. Another way of renaming an event is to double-click " +"its name in the sidebar; type a new name and then press Enter." msgstr "" #: C/organize-event.page:31(title) @@ -1420,8 +1591,8 @@ msgstr "" #: C/organize-event.page:53(p) msgid "" -"If you select the Events item in the sidebar, you'll see a single photo " -"which represents each event. This is called the key photo." +"If you select the Events item in the sidebar, you'll see a single " +"photo which represents each event. This is called the key photo." msgstr "" #: C/organize-event.page:55(p) @@ -1435,8 +1606,8 @@ msgstr "" #. It doesn't matter what you translate it to: it's not used at all. #: C/index.page:23(None) msgid "" -"@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" -msgstr "original" +"@@image: 'figures/shotwell_logo.png'; md5=4b333499555b4e496b1a38f7899067f3" +msgstr "" #: C/index.page:6(title) C/index.page:7(title) msgid "Shotwell" @@ -1487,30 +1658,32 @@ msgid "" "Shotwell Photo " "Manager" msgstr "" +"Shotwell " +"Fotoverwaltung" #: C/index.page:26(title) msgid "Importing Photos" -msgstr "" +msgstr "Fotos importieren" #: C/index.page:30(title) msgid "Viewing Photos" -msgstr "" +msgstr "Fotos ansehen" #: C/index.page:34(title) msgid "Organizing Photos" -msgstr "" +msgstr "Fotos organisieren" #: C/index.page:38(title) msgid "Editing Photos" -msgstr "" +msgstr "Fotos bearbeiten" #: C/index.page:42(title) msgid "Sharing Photos" -msgstr "" +msgstr "Fotos teilen" #: C/index.page:46(title) msgid "Other Features" -msgstr "" +msgstr "Weitere Funktionen" #: C/import-memorycard.page:7(desc) msgid "Import photos from a digital camera's memory card." @@ -1518,11 +1691,11 @@ msgstr "" #: C/import-memorycard.page:12(title) msgid "Importing from a memory card" -msgstr "" +msgstr "Importieren von einer Speicherkarte" #: C/import-memorycard.page:14(p) msgid "To import photos from a camera memory card:" -msgstr "" +msgstr "So importieren Sie Fotos von einer Speicherkarte:" #: C/import-memorycard.page:18(p) msgid "" @@ -1538,8 +1711,8 @@ msgstr "" msgid "" "Follow the instructions for importing photos from " "your hard disk. If you click FileImport From " -"Folder, the memory card should be visible as a folder in the " -"side bar of the file selection window." +"Folder..., the memory card should be visible as a folder in " +"the side bar of the file selection window." msgstr "" #: C/import-memorycard.page:28(p) @@ -1564,15 +1737,17 @@ msgstr "" #: C/import-f-spot.page:12(title) msgid "Importing from F-Spot" -msgstr "" +msgstr "Importieren aus F-Spot" #: C/import-f-spot.page:14(p) msgid "To import an existing photo collection from F-Spot:" -msgstr "" +msgstr "So importieren Sie eine bestehende Fotosammlung aus F-Spot:" #: C/import-f-spot.page:16(p) msgid "Select FileImport From F-Spot." msgstr "" +"Wählen Sie DateiImportieren aus F-Spot." #: C/import-f-spot.page:17(p) msgid "" @@ -1580,6 +1755,9 @@ msgid "" "importing from another F-Spot database, select a directory and file from the " "chooser dialog box." msgstr "" +"Wählen Sie anschließend die voreingestellte F-Spot-Bibliothek oder eine " +"andere F-Spot-Datenbank. Wenn Sie aus einer anderen F-Spot-Datenbank " +"importieren, wählen Sie einen Ordner und eine Datei im Dateiwähler." #: C/import-f-spot.page:20(p) msgid "" @@ -1596,7 +1774,7 @@ msgstr "" #: C/import-file.page:12(title) msgid "Importing from your hard disk" -msgstr "" +msgstr "Importieren von Ihrer Festplatte" #: C/import-file.page:14(p) msgid "" @@ -1606,8 +1784,8 @@ msgstr "" #: C/import-file.page:16(p) msgid "" -"Alternatively, click FileImport From Folder and select the folder containing the photos you want to import." +"Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import." msgstr "" #: C/import-file.page:18(p) @@ -1634,15 +1812,15 @@ msgstr "" #: C/import-camera.page:7(desc) msgid "Copy photos from a digital camera." -msgstr "" +msgstr "So kopieren Sie Fotos von einer Digitalkamera." #: C/import-camera.page:12(title) msgid "Importing from a camera" -msgstr "" +msgstr "Importieren von einer Kamera" #: C/import-camera.page:14(p) msgid "To import photos from a digital camera:" -msgstr "" +msgstr "So importieren Sie Fotos von einer Digitalkamera:" #: C/import-camera.page:18(p) msgid "" @@ -1681,10 +1859,12 @@ msgid "" "Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files as well as video " "files." msgstr "" +"Shotwell unterstützt JPEG, PNG, TIFF, BMP und RAW-Fotos ebenso wie Video-" +"Dateien." #: C/formats.page:12(title) msgid "Supported photo and video formats" -msgstr "" +msgstr "Unterstützte Foto- und Video-Formate" #: C/formats.page:14(p) msgid "" @@ -1763,32 +1943,32 @@ msgid "" "exception is that time and date adjustments will not be reverted." msgstr "" -#: C/edit-time-date.page:7(desc) -msgid "Change the time and date of photos if those details are incorrect." +#: C/edit-date-time.page:7(desc) +msgid "Change the date and time of photos if those details are incorrect." msgstr "" -#: C/edit-time-date.page:12(title) -msgid "Adjust the time and date of photos" +#: C/edit-date-time.page:12(title) +msgid "Adjust the date and time of photos" msgstr "" -#: C/edit-time-date.page:14(p) +#: C/edit-date-time.page:14(p) msgid "" -"To adjust the time and date of photos, select the photos you would like to " -"adjust, choose PhotosAdjust Time and Date and select a new time and date." +"To adjust the date and time of photos, select the photos you would like to " +"adjust, choose PhotosAdjust Date and Time... and select a new date and time." msgstr "" -#: C/edit-time-date.page:16(p) +#: C/edit-date-time.page:16(p) msgid "" "If you are changing the date and time of multiple photos at once, you can " "choose to shift all the photos by the same amount of time or to set all the " "photos to the same time." msgstr "" -#: C/edit-time-date.page:18(p) +#: C/edit-date-time.page:18(p) msgid "" -"By default, the time and date are only changed inside Shotwell. You can also " -"choose to modify the time and date in the original file, but this cannot be " +"By default, the date and time are only changed inside Shotwell. You can also " +"choose to modify the date and time in the original file, but this cannot be " "undone once you exit Shotwell." msgstr "" @@ -1818,7 +1998,7 @@ msgid "Drag the slider to achieve the desired degree of straightening." msgstr "" #: C/edit-straighten.page:24(p) -msgid "Press OK when finished." +msgid "Press Straighten when finished." msgstr "" #: C/edit-rotate.page:7(desc) @@ -2049,8 +2229,8 @@ msgstr "" #: C/edit-crop.page:29(p) msgid "" -"When you're happy with your crop outline, press the Apply button. " -"Shotwell will display the cropped photo." +"When you're happy with your crop outline, apply it by pressing the " +"Crop button. Shotwell will display the cropped photo." msgstr "" #: C/edit-crop.page:32(p) @@ -2067,13 +2247,14 @@ msgstr "" #: C/edit-crop.page:38(title) msgid "What is the rule of thirds?" -msgstr "" +msgstr "Was ist die Drittelregel?" #: C/edit-crop.page:39(p) msgid "" "The rule of thirds helps you to choose a pleasing composition for a " "photo." msgstr "" +"Die Drittelregel hilft, ein Foto optisch ansprechend zu gestalten." #: C/edit-crop.page:40(p) msgid "" @@ -2103,7 +2284,7 @@ msgstr "" #: C/edit-adjustments.page:12(title) msgid "Color adjustments" -msgstr "" +msgstr "Farbanpassungen" #: C/edit-adjustments.page:14(p) msgid "" @@ -2122,14 +2303,14 @@ msgstr "" #: C/edit-adjustments.page:18(p) msgid "" -"When the photo's colors and contrast are to your liking, press Apply to save the changes. Reset will return the image to its " -"original state. Cancel discards all changes you've made." +"When the photo's colors and contrast are to your liking, press OK " +"to save the changes. Reset will return the image to its original " +"state. Cancel discards all changes you've made." msgstr "" #: C/edit-adjustments.page:21(title) msgid "What do the color adjustments do?" -msgstr "" +msgstr "Was bewirken die Farbregler?" #: C/edit-adjustments.page:24(title) msgid "Exposure" @@ -2140,6 +2321,9 @@ msgid "" "Changes the brightness to make it look like the photo was exposed for a " "longer or shorter time. Use this to correct under- or over-exposed photos." msgstr "" +"Änderung der Helligkeit, so dass es aussieht, also ob das Foto länger oder " +"kürzer belichtet worden wäre. Verwenden Sie diese Möglichkeit, um über- und " +"unterbelichtete Fotos zu korrigieren." #: C/edit-adjustments.page:28(title) msgid "Saturation" diff --git a/help/de/de.stamp b/help/de/de.stamp new file mode 100644 index 0000000..e69de29 diff --git a/help/de/edit-adjustments.page b/help/de/edit-adjustments.page new file mode 100644 index 0000000..8b67413 --- /dev/null +++ b/help/de/edit-adjustments.page @@ -0,0 +1,49 @@ + + + + + + Change the exposure, saturation, tint, and shadows of a photo. + + + + + Farbanpassungen + +

The Adjust button opens a floating window with a histogram and sliders to adjust a photo's exposure, saturation, tint, temperature, and shadows. The histogram also has sliders to reduce the upper and lower intensity thresholds of the photograph, expanding the contrast of the middle range.

+ +

The Enhance button adjusts the histogram and shadows sliders to improve the quality of a photo.

+ +

When the photo's colors and contrast are to your liking, press OK to save the changes. Reset will return the image to its original state. Cancel discards all changes you've made.

+ +
+ Was bewirken die Farbregler? + + + Belichtung +

Änderung der Helligkeit, so dass es aussieht, also ob das Foto länger oder kürzer belichtet worden wäre. Verwenden Sie diese Möglichkeit, um über- und unterbelichtete Fotos zu korrigieren.

+
+ + Sättigung +

Changes how vivid colors look. If your photo looks gray and washed out, try increasing the saturation. If colors look too bold, try decreasing it.

+
+ + Farbton +

This tints the photo with a color. It's useful for correcting photos taken with the wrong white balance setting, which typically have an unnatural color cast. For example, photos taken outdoors with the white balance set to "Tungsten" may have a blue cast.

+
+ + Temperatur +

Changes how "warm" or "cool" the picture looks. Use this to make cold, depressing scenes look more lively, for example.

+
+ + Schatten +

This makes shadowy areas appear lighter. Use this to make detail more visible if it's obscured by the darkness of a shadow.

+
+ + Intensity Threshold (sliders on the histogram) +

These sliders change how light the brightest white is and how dark the darkest black is. Use them to change the contrast of the photo. Photos which look washed out should particularly benefit from changing these settings.

+
+
+
+ +
diff --git a/help/de/edit-crop.page b/help/de/edit-crop.page new file mode 100644 index 0000000..685f81d --- /dev/null +++ b/help/de/edit-crop.page @@ -0,0 +1,45 @@ + + + + + + Improve the composition of a photo by cutting out parts of it. + + + + + Bild wird zugeschnitten + +

To reduce the area of a photo and concentrate the viewer's attention on a smaller portion of it, use the Crop tool. + The crop tool is only available in full-window or fullscreen mode.

+ + + +

Double-click on a photo to enter full-window mode, then press the Crop button on the toolbar.

+
+ +

A white box, the crop rectangle, will appear over the photo. The lighter portion of the photo within the crop rectangle represents what the photo will look like when you crop it.

+
+ +

If you place your cursor in the middle of the box, you can move the box around. If you drag the edges of the box, you can adjust its size. As you move and adjust the crop box, you'll see four lines appear inside it, like a tic-tac-toe grid. These are rule of thirds lines.

+

You can also constrain the crop box to one of many common sizes. Choose a size from the drop-down list that suits your needs. If you press the flip button next to it, the orientation of the constraint will switch (from landscape to portrait).

+
+ +

When you're happy with your crop outline, apply it by pressing the Crop button. Shotwell will display the cropped photo.

+
+ +

If you change your mind, press the Crop button again and fine-tune the crop.

+

If you press Cancel rather than Apply, Shotwell will return to the photo's previous crop dimensions.

+
+
+ +
+ Was ist die Drittelregel? +

Die Drittelregel hilft, ein Foto optisch ansprechend zu gestalten.

+

Imagine that the scene is divided up into a 3x3 grid by two equally-spaced vertical lines and two equally-spaced horizontal lines. According to the rule, you're more likely to get a pleasing composition if you align major features (like the horizon, or a person's body) with one of the lines. Paying attention to the way features flow from one part of the grid to another can also help.

+

Cropping a photo so that it conforms to the rule of thirds often results in a more visually appealing image.

+ +

Cropping a photo, using the "rule of thirds" lines to improve the composition.

+
+
+
diff --git a/help/de/edit-date-time.page b/help/de/edit-date-time.page new file mode 100644 index 0000000..9d0f35a --- /dev/null +++ b/help/de/edit-date-time.page @@ -0,0 +1,19 @@ + + + + + + Change the date and time of photos if those details are incorrect. + + + + + Adjust the date and time of photos + +

To adjust the date and time of photos, select the photos you would like to adjust, choose PhotosAdjust Date and Time... and select a new date and time.

+ +

If you are changing the date and time of multiple photos at once, you can choose to shift all the photos by the same amount of time or to set all the photos to the same time.

+ +

By default, the date and time are only changed inside Shotwell. You can also choose to modify the date and time in the original file, but this cannot be undone once you exit Shotwell.

+ +
diff --git a/help/de/edit-enhance.page b/help/de/edit-enhance.page new file mode 100644 index 0000000..db34e30 --- /dev/null +++ b/help/de/edit-enhance.page @@ -0,0 +1,16 @@ + + + + + + Let Shotwell improve the brightness and contrast of a photo automatically. + + + + + + + Auto-enhance + +

Clicking on the Enhance button is a quick way to automatically adjust the brightness and contrast of your photo. It will often give you a photo that is correctly exposed. You can also use it as a starting point and then improve the adjustments by clicking on the Adjust button.

+
diff --git a/help/de/edit-external.page b/help/de/edit-external.page new file mode 100644 index 0000000..eced76c --- /dev/null +++ b/help/de/edit-external.page @@ -0,0 +1,53 @@ + + + + + + Use a different program to edit a photo. + + + + + + Edit photos with an external program + + +

+ You might want to use an external editor to do additional work on a photo. + If installed, GIMP and UFRaw are the default external editors for photo and RAW editing, + respectively. If these programs are not installed, you must select your preferred + editors by choosing EditPreferences and selecting + editors from drop-down menus of installed applications. +

+ +

+ Once your editors have been set, select a photo and choose Photos + Open With External Editor to open the photo with the external editor. + Likewise, if the original photo is a RAW file, select PhotosOpen + With RAW Editor to edit the RAW file directly with the set RAW editor. +

+ +

+ When you complete your edits and save the file, Shotwell will detect the changes and + update the photo. When external edits have been made, press and hold the + Shift key in full-window view to show the original photo rather than the + externally-edited one. +

+ +

+ Reverting to original will erase any external edits. +

+ + +

+ If you externally edit a RAW photo and save the result to another image, such as a + JPEG or PNG, Shotwell cannot automatically determine that the original RAW and the + new image should be paired. +

+ +

+ If you want to work within the resulting image within Shotwell, you'll need to + import it yourself. +

+
+
diff --git a/help/de/edit-nondestructive.page b/help/de/edit-nondestructive.page new file mode 100644 index 0000000..4b0c75e --- /dev/null +++ b/help/de/edit-nondestructive.page @@ -0,0 +1,20 @@ + + + + + + Shotwell is a non-destructive photo editor - it does not modify your original photos. + + + + + What happens to the original when I edit a photo? + +

Shotwell is a non-destructive photo editor. It does not modify your original photographs. That is to say, if you crop a photo or adjust its colors, the photo file on disc remains untouched. Shotwell stores your edits in a database and applies them on the fly as necessary. This means you can undo any alterations you make to a photograph.

+ +

If you want to see what a photo looked like before your modifications, press the Shift key. The original photo will be displayed as long as you hold the key down.

+ +

Note that Shotwell can optionally write metadata (such as tags and titles) to photo files. +For more information, see the section Photo files.

+ +
diff --git a/help/de/edit-redeye.page b/help/de/edit-redeye.page new file mode 100644 index 0000000..61faf38 --- /dev/null +++ b/help/de/edit-redeye.page @@ -0,0 +1,25 @@ + + + + + + Correct photos where people have red eyes because of the camera's flash. + + + + + Rote Augen werden entfernt + +

Red-eye occurs when the camera's flash reflects off the pupil of someone's eye. To eliminate this in a photo, use the Red-eye tool.

+ + +

Click Red-eye. A circle will appear on the photo.

+
+ +

Drag the circle over the affected pupil, adjust its size with the slider control, and press Apply. The redness will be removed.

+
+ +

Repeat this process for all red pupils in your photo. Press Close when finished.

+
+
+
diff --git a/help/de/edit-rotate.page b/help/de/edit-rotate.page new file mode 100644 index 0000000..f171a86 --- /dev/null +++ b/help/de/edit-rotate.page @@ -0,0 +1,26 @@ + + + + + + Click the Rotate button, or choose one of the commands in the Photo menu. + + + + + Rotate or flip a photo + +

You can rotate your photos left and right (clockwise and counterclockwise) with the Rotate button on the toolbar of most views. You can also make a mirror image of any photo.

+ +

To rotate right, click on the Rotate button. To rotate left, press and hold the Ctrl key and then click the button. Both commands are available in the Photos menu too. Alternatively, use the following keyboard shortcuts:

+ +

rotate left: ShiftCtrlR or [

+

rotate right: CtrlR or ]

+
+

To create a mirror image of a photo, use the Flip Horizontally command in the Photos menu. To flip an image vertically, use the Flip Vertically command in the same menu.

+ + +

If you select more than one image, you can rotate all of them at the same time.

+
+ +
diff --git a/help/de/edit-straighten.page b/help/de/edit-straighten.page new file mode 100644 index 0000000..895fb10 --- /dev/null +++ b/help/de/edit-straighten.page @@ -0,0 +1,27 @@ + + + + + + Straighten a photo so that its horizon appears level. + + + + + Straighten photos + +

The straighten tools allows photos to be leveled and straightened. The straighten tool is only available in full-window or fullscreen mode.

+ + + +

Click Straighten. The straighten slider will appear. Alternatively, use the keyboard shortcut CtrlA.

+
+ +

Drag the slider to achieve the desired degree of straightening.

+
+ +

Press Straighten when finished.

+
+
+ +
diff --git a/help/de/edit-undo.page b/help/de/edit-undo.page new file mode 100644 index 0000000..bfd4c1a --- /dev/null +++ b/help/de/edit-undo.page @@ -0,0 +1,21 @@ + + + + + + Return a photo to its original, unedited form. + + + + + + + Änderungen rückgängig machen + +

Because Shotwell is a non-destructive photo editor, you can undo any alterations you make to a photograph.

+ +

If you want to see what a photo looked like before your modifications, press the Shift key. The original photo will be displayed as long as you hold the key down.

+ +

To completely undo all the changes you've made to a photo, click PhotosRevert to Original. The only exception is that time and date adjustments will not be reverted.

+ +
diff --git a/help/de/formats.page b/help/de/formats.page new file mode 100644 index 0000000..c79acc4 --- /dev/null +++ b/help/de/formats.page @@ -0,0 +1,33 @@ + + + + + + Shotwell unterstützt JPEG, PNG, TIFF, BMP und RAW-Fotos ebenso wie Video-Dateien. + + + + + Unterstützte Foto- und Video-Formate + +

Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files. Shotwell does not yet support other graphics format such as GIF.

+ +

Shotwell's RAW format support is currently limited. When you view a RAW photo, you are actually viewing a JPEG derived from the RAW photo, not the RAW image itself. Additionally, the RAW editing pipeline is not fully 16-bit - you can only export edited photos as 8-bit files. All supported formats can be used for export (JPEG, PNG, TIFF, BMP).

+ +

For more information about RAW-format photos in Shotwell, please see +the RAW section. +

+ +

Shotwell also supports video files in any format supported by the GStreamer media library on the system where +Shotwell is running. This typically includes the following formats among others:

+ +

Container formats: Ogg, QuickTime, MP4, AVI.

+

Codecs: Theora, Quicktime, MPEG-4, Motion JPEG. Note that some operating systems may not include all +codecs listed here due to legal or licensing restrictions.

+
+ +

Shotwell supports both photos and videos, but for simplicity, this documentation uses just the term "photos" +in most places. Many operations in Shotwell apply to both photos and videos, however. In particular, events, +flagging, rating, tagging, and publishing work both for photos and for videos.

+ +
diff --git a/help/de/import-camera.page b/help/de/import-camera.page new file mode 100644 index 0000000..3267b18 --- /dev/null +++ b/help/de/import-camera.page @@ -0,0 +1,32 @@ + + + + + + So kopieren Sie Fotos von einer Digitalkamera. + + + + + Importieren von einer Kamera + +

So importieren Sie Fotos von einer Digitalkamera:

+ + + +

Connect the camera to your computer and switch it on. + Shotwell will detect it and list it in the sidebar.

+
+ +

Select the camera in the sidebar. Previews of each photo on the camera will be displayed.

+
+ +

If you like, you can choose a set of specific photos to import. To do this, hold down the Ctrl key and click to select individual photos. You can hold down Shift and click to select a range of photos too.

+
+ +

Click either Import Selected or Import All. The photos will be copied from the camera and saved on your computer.

+
+
+ +

Once the import is complete, you can open the Last Import view (in the sidebar) to see all photos that were imported. The Events list (also in the sidebar) will also show the new photos, organized by date.

+
diff --git a/help/de/import-f-spot.page b/help/de/import-f-spot.page new file mode 100644 index 0000000..54da952 --- /dev/null +++ b/help/de/import-f-spot.page @@ -0,0 +1,20 @@ + + + + + + Shotwell can import all your photos and tags from the F-Spot photo manager. + + + + + Importieren aus F-Spot + +

So importieren Sie eine bestehende Fotosammlung aus F-Spot:

+ +

Wählen Sie DateiImportieren aus F-Spot.

+

Wählen Sie anschließend die voreingestellte F-Spot-Bibliothek oder eine andere F-Spot-Datenbank. Wenn Sie aus einer anderen F-Spot-Datenbank importieren, wählen Sie einen Ordner und eine Datei im Dateiwähler.

+
+

Shotwell will import your photos, together with their tags and other information. + Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list will also show new entries for the dates corresponding to the imported photos.

+
diff --git a/help/de/import-file.page b/help/de/import-file.page new file mode 100644 index 0000000..40bc5d3 --- /dev/null +++ b/help/de/import-file.page @@ -0,0 +1,23 @@ + + + + + + Import photos that are already saved on your computer. + + + + + Importieren von Ihrer Festplatte + +

To import photo files from your hard disk into Shotwell, just drag them from your file browser into the Shotwell window.

+ +

Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import.

+ +

Shotwell will ask whether you want to copy the photo files to your library folder (usually this is the Pictures folder in your home directory) or to import them in place without copying the files.

+ +

If you hold down Ctrl while dragging photos in, Shotwell will copy the photos into your library folder without prompting. Similarly, if you hold down CtrlShift while dragging photos in, Shotwell will import the photos without copying them.

+ +

Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list will also show new entries for the dates corresponding to the imported photos.

+ +
diff --git a/help/de/import-memorycard.page b/help/de/import-memorycard.page new file mode 100644 index 0000000..5a6513f --- /dev/null +++ b/help/de/import-memorycard.page @@ -0,0 +1,31 @@ + + + + + + Import photos from a digital camera's memory card. + + + + + Importieren von einer Speicherkarte + +

So importieren Sie Fotos von einer Speicherkarte:

+ + + +

Put the card into your card reader. Make sure the card reader is plugged in to the computer and switched on.

+
+ +

The card reader and card should be detected automatically.

+
+ +

Follow the instructions for importing photos from your hard disk. If you click FileImport From Folder..., the memory card should be visible as a folder in the side bar of the file selection window.

+
+
+ +

Shotwell can import photos from any memory card that is compatible with your card reader.

+ +

If the card is not detected automatically, your card reader may not have been recognized. Try unplugging it and then plugging it in again. If that doesn't work, you should still be able to import photos by connecting your camera directly to the computer, though.

+ +
diff --git a/help/de/index.page b/help/de/index.page new file mode 100644 index 0000000..58f5ff5 --- /dev/null +++ b/help/de/index.page @@ -0,0 +1,47 @@ + + + + + Shotwell + Shotwell + + Jim Nelson + jim@yorba.org + Allison Barlow + allison@yorba.org + Robert Ancell + robert.ancell@canonical.com + Peter Smith + pdo.smith@gmail.com + Phil Bull + philbull@gmail.com + + + + + <media type="image" src="figures/shotwell_logo.png"/>Shotwell Fotoverwaltung + +
+ Fotos importieren +
+ +
+ Fotos ansehen +
+ +
+ Fotos organisieren +
+ +
+ Fotos bearbeiten +
+ +
+ Fotos teilen +
+ +
+ Weitere Funktionen +
+
diff --git a/help/de/organize-event.page b/help/de/organize-event.page new file mode 100644 index 0000000..ec28533 --- /dev/null +++ b/help/de/organize-event.page @@ -0,0 +1,59 @@ + + + + + + Group photos together that were taken at the same time. Learn how to rename, merge, and sort events. + + + + + Ereignisse + +

An event is a group of photos that were taken at approximately the same time. When you import photos, Shotwell checks when each photo was taken. It then groups the photos into events.

+ +

Choose Events from the sidebar to see your photos organized by date. If you select a month or year from the sidebar, a list of events will be displayed in the main window. Double-click an event to see all the photos that were taken around that time.

+ +

If a photo has no embedded date/time information, then Shotwell can't automatically + place it in any event. In this case the photo will appear in the No Event + view accessible from the sidebar. You can still move the photo to any event you like + as described below. +

+ +
+ Renaming events + +

To give an event a name rather than referring to it by its date, select the event, click EventsRename Event... and enter a new name. Another way of renaming an event is to double-click its name in the sidebar; type a new name and then press Enter.

+
+ +
+ Moving photos between events + +

Even though photos are initially grouped into events by their date, you can move photos between events. To do this, drag any photo to the sidebar and drop it on an event.

+
+ +
+ Creating and merging events +

To create a new event, select the photos you would like in the new event and click EventsNew Event.

+

To merge events, select Events from the sidebar, then, while holding down Ctrl click on the events you want to merge in the main window area. Finally, click EventsMerge Events.

+
+ +
+ Sorting events + +

Events are displayed in a tree in the sidebar, organized by the year and month of the earliest photo in the event. + To change the event sort order, click ViewSort Events and select either ascending or descending.

+ +
+ +
+ Change the photo used to represent each event + +

If you select the Events item in the sidebar, you'll see a single photo which represents each event. This is called the key photo.

+ +

By default, Shotwell uses the first photo in each event as its key photo. + To use a different key photo, select the photo and choose PhotosMake Key Photo for Event.

+ +
+ +
diff --git a/help/de/organize-flag.page b/help/de/organize-flag.page new file mode 100644 index 0000000..211a827 --- /dev/null +++ b/help/de/organize-flag.page @@ -0,0 +1,34 @@ + + + + + + Markieren Sie Fotos, um sie als besondere zu kennzeichnen oder mit diesen als Menge zu arbeiten. + + + + + Fotos markieren + +

Shotwell lets you flag photos. When a photo is flagged, a small flag icon + appears in its upper right corner. You can select the Flagged item in the sidebar to see + all photos which have been flagged.

+ +

Flagging a photo marks it as special. You can interpret this in any way you like. For example, + you might flag all photos which need visual + adjustment, or all photos which you want to share with a friend.

+ +

Flagging + is also useful because you can operate on all flagged photos as a set. For example, you can + select the Flagged view and then upload all flagged photos to a publishing service.

+ +
+ So markieren Sie ein Foto oder heben die Markierung auf +

+ To flag or unflag a photo, right-click the photo and choose Flag or Unflag + from the context menu. Or use the CtrlG or / + shortcut keys. +

+
+ +
diff --git a/help/de/organize-rating.page b/help/de/organize-rating.page new file mode 100644 index 0000000..aca1bd4 --- /dev/null +++ b/help/de/organize-rating.page @@ -0,0 +1,28 @@ + + + + + + Give photos a rating between 1 and 5 stars. You can reject bad photos, hiding them from view. + + + + + Bewertungen +

You can assign each photo a rating from 1-5 stars, or may alternatively rate it as Rejected, in which case Shotwell will hide the photo by default.

+ +

You can rate a photo or a set of photos in any of these ways:

+ + +

Select the photo(s), then choose a rating from the top-level PhotosSet Rating menu.

+

Right-click on the photo(s), then choose a rating from the Set Rating context menu.

+

Select the photo(s), then press any of the shortcut keys 1, 2, 3, 4 or 5 to assign a rating. Or press 9 to mark the photo(s) as rejected or 0 to clear the rating(s).

+
+ +

+Normally Shotwell displays all photos except rejected photos. You can set a different rating filter using the ViewFilter Photos menu - for example, you can display only photos rated with 3 stars or higher, or you can display all photos including those marked rejected. The Shotwell icon on the toolbar displays the current rating filter and can also be used to set the filter.

+ +

Shotwell normally displays each photo's rating in its lower left-hand corner. You can turn off the display of ratings using the ViewRatings menu item.

+ +

You can increase or decrease a photo's rating using the Set RatingIncrease and Set RatingDecrease commands, or the keyboard shortcuts < and >.

+
diff --git a/help/de/organize-remove.page b/help/de/organize-remove.page new file mode 100644 index 0000000..a4d3dd5 --- /dev/null +++ b/help/de/organize-remove.page @@ -0,0 +1,44 @@ + + + + + + Remove photos from the library, or delete them from your computer entirely. + + + + + Removing and deleting photos + +

You may remove photos from your library and you may additionally delete them entirely from your hard disk.

+Delete process +

This diagram shows how a photo, when deleted, is first put into Shotwell's trash. If you delete it from Shotwell's trash, it is put into your computer's trash. If you delete it from your computer's trash the photo is finally and irretrievably deleted from your computer.

+
+ Fotos werden aus der Bibliothek entfernt +

Select the photos to remove and choose EditMove to Trash. + (You can also press the Delete key.) + The photos will be moved from your library to Shotwell's Trash.

+

If you want to remove photos from Shotwell without having them pass through the trash, simply select the photos to be removed and choose EditRemove From Library. The photo files will be left in place on disk.

+
+ +
+ Den Papierkorb leeren oder Fotos wiederherstellen +

Select the Trash entry in the Sidebar and Shotwell will display all photos that have been marked for removal or deletion. In the Trash view, the following commands are available:

+ + Löschen

Löschen der ausgewählten Fotos aus dem Papierkorb.

+ Wiederherstellen

Wiederherstellen der gewählten Fotos in Shotwell.

+ Papierkorb leeren

Löschen aller Fotos im Papierkorb.

+
+
+ +
+ Löschen oder Leeren des Papierkorbs +

When you delete files from the Trash folder or empty the Trash folder, you will be given the following choices:

+ + Nur entfernen

Remove photos from the library but leave the photos in their location on the computer.

+ Datei löschen

Remove photos from the library and delete them from the computer.

+ Abbrechen

Nichts tun.

+
+
+ +
diff --git a/help/de/organize-search.page b/help/de/organize-search.page new file mode 100644 index 0000000..cdd26e7 --- /dev/null +++ b/help/de/organize-search.page @@ -0,0 +1,62 @@ + + + + + + Find photos and videos in your collection by a variety of criteria. + + + + + Suchen + +

+ There are two ways to search in Shotwell: the filter toolbar, and with a saved search. The search + bar allows you to quickly search the current view for certain criteria. Saved Searches feature + more complex search criteria and persist in the sidebar between sessions. +

+ + + +
+ Gespeicherte Suche +

+ A saved search persists across Shotwell sessions, and is updated as photos and videos are added + and removed from your Shotwell library. +

+ +

+ Create a new saved search with EditNew Saved Search... or by hitting + CtrlS. The dialog box allows you to enter a name for the + search and select whether you want to meet Any, All, or None of the criteria in the following rows. +

+ +

+ Each row represents a search criterion. Use the + button to add more rows, and the + - button to remove a specific row. The combo box on the left of each row selects the type + of criteria. Criteria must be entered correctly before the OK button becomes available. +

+
+ +
diff --git a/help/de/organize-tag.page b/help/de/organize-tag.page new file mode 100644 index 0000000..9515256 --- /dev/null +++ b/help/de/organize-tag.page @@ -0,0 +1,93 @@ + + + + + + Fotos durch Kennzeichnung organisieren. + + + + + + + Fotos markieren + +

+ You can assign one or more tags to selected photos. + A tag can be one or more words that you want to associate with + those photos. +

+ +

+ To add new tags to photos, select the photos you would like to + tag, then do any of the following: +

+ + +

Choose TagsAdd Tags....

+

Drücken Sie StrgT.

+

Drag the selected photos and drop them on the desired tag.

+
+ +

+ When you use CtrlT or + TagsAdd Tags... you can type + in the names of one or more tags, separated by commas. + Once you have created a tag, you can rename it by selecting that + tag in the sidebar and choosing + TagsRename Tag "[name]"..., + by rightclicking on it and choose Rename... or + double-click on the tag in the sidebar. +

+ +

+ To change which tags are associated with a particular photo, + select that photo, choose + TagsModify Tags... or + right-click on a photo and select Modify Tags... and + edit the comma separated list. + To remove a tag from one or more photos, first select that tag + in the sidebar, then select the photos you would like to remove, + and choose + TagsRemove Tag "[name]" from Photos + or right-click on the photos an select + Remove Tag "[name]" from Photos. +

+ +

+ To delete a tag entirely, select that tag in the sidebar and choose + TagsDelete Tag "[name]" + or by right-click and select Delete Tag "[name]". +

+ +

+ When you create a tag, it will appear in the sidebar under the + Tags item, which is hidden if there are no tags. Photos + can have multiple tags attached to them, and when you click on the + name of a given tag in the sidebar, you will see all the photos + associated with that tag. +

+ +
+ Hierarchical Tags +

+ Shotwell supports also hierarchial tags. You can + rearrange your tags by drag and drop a tag onto another. + To create a new subtag right-click on a tag and select + New. +

+ +

+ Hierarchial tags can help you to sort your tag list in + ways that better match how you work or think; for example, + you can store location tags like "Mountains" or "Beach" + under a parent tag "Places", which itself can be placed + under the tag "Summer Holidays". +

+ +

+ Note that deleting a parent tag will also delete its + child tags. +

+
+
diff --git a/help/de/organize-title.page b/help/de/organize-title.page new file mode 100644 index 0000000..ad49f74 --- /dev/null +++ b/help/de/organize-title.page @@ -0,0 +1,19 @@ + + + + + + Betiteln Ihrer Fotos + + + + + Titel + +

The ViewTitles checkbox toggles the display of titles +beneath each photo. By default, a photo's title is its filename.

+ +

To change a photo's title, +select the photo and click PhotosEdit Title..., or press F2.

+ +
diff --git a/help/de/other-files.page b/help/de/other-files.page new file mode 100644 index 0000000..bcaedf8 --- /dev/null +++ b/help/de/other-files.page @@ -0,0 +1,131 @@ + + + + + + Keep the Shotwell library in sync with photo files on disk. + + + + + Fotodateien + +

+ Every photo in the Shotwell library corresponds to a file stored on your hard disk. Shotwell has + several features which help you keep the Shotwell library and files on disk in sync. +

+ + +
+ Ein eigenes Namensschema verwenden +

Shotwell erlaubt es, ein eigenes Namensschema für Ihre Bibliothek zu verwenden. Passen Sie dazu die Einstellungen für Ordnerstruktur und Muster in den Einstellungen an. Verwenden Sie ein vorgewähltes Schema oder wählen Sie Benutzerdefiniert und tippen Sie Ihr eigenes ein.

+ +

+ The available symbols for the directory pattern begin with a % (percent sign). The values + these symbols produce are locale-dependent, so what you see on your computer may vary + from the examples below. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Symbol

Meaning

Example

%Y

Jahr: lang

2011

%y

Jahr: kurz

11

%d

Tag des Monats mit führender Null

03

%A

Tag: lang

Mittwoch

%a

Tag: abgekürzt

Mi

%m

Monat als Zahl mit führender Null

02

%b

Monat: abgekürzt

Feb

%B

Monat: lang

Februar

%I

Stunde: 12-Stunden-Format

05

%H

Stunde: 24-Stunden-Format

17

%M

Minute

16

%S

Sekunde

30

%p

a. m. oder p. m.

p. m.

+ +

+ There are other symbols available; please check the manual for strftime by running + the command man strftime if you need one that isn't listed here. +

+
+ +
+ Automatisch Fotos importieren + +

Shotwell can automatically import new photos which appear in the library directory. + (The library directory is usually the Pictures directory in your home directory; + you can change its location in in the Preferences window.) +

+ +

To enable auto-import, + check the box Watch library directory for new files in + the Preferences window.

+ +

Shotwell can also follow symbolic links inside automatically-imported directories.

+ +
+ +
+ Automatically renaming imported photos to lowercase + +

+ Shotwell can automatically change the filenames of imported photos + to lowercase. To enable this, choose EditPreferences, + and in the Preferences window, check the Rename imported files to lowercase + box. +

+ +
+ +
+ Writing metadata on the fly + +

By default, Shotwell does not modify photo files, even when you edit photos or change their + tags or titles. Shotwell records these changes in its own database only.

+ +

To change this behavior, you can enable the checkbox + Write tags, titles and other metadata to photo files + in the Preferences dialog. When this option is enabled, Shotwell will write + the following metadata to most photo files whenever you change it in Shotwell:

+ + +

Titel

+

Schlagworte

+

Bewertungen

+

Rotationsinformation

+

Uhrzeit/Datum

+
+ +

Shotwell stores this information in photo files in EXIF, IPTC and/or XMP format. Note + that Shotwell can write only to photo files in JPEG, PNG and TIFF format, not to BMP photos, RAW photos + or to video files. +

+ +
+ +
+ Runtime monitoring + +

While Shotwell is running, it notices changes made to any photo file externally. + When a photo file changes, Shotwell rereads the file and updates your view of the + photo and metadata.

+ +

Note that Shotwell checks all photo files for changes at startup, but only photo files contained in + the library directory are monitored in real time after startup. We hope to remove this limitation + in a further release.

+ +
+ +
diff --git a/help/de/other-missing.page b/help/de/other-missing.page new file mode 100644 index 0000000..fe45299 --- /dev/null +++ b/help/de/other-missing.page @@ -0,0 +1,21 @@ + + + + + + If Shotwell can't find a photo in your library, it marks it as missing. + + + + + Fehlende Fotos + +

Each time Shotwell starts up, it scans your photo library to verify that all photo files still exist on your hard drive. If Shotwell finds that any photo files are missing, it will not display them in the normal Photos, Events and Tags views, but will instead show them in a separate Missing Files view which will appear in the sidebar.

+ +

If you no longer want the missing files to be part of your Shotwell collection (perhaps because you deleted them), go to the Missing Files view, select the photos and then click Remove From Library.

+ +

If you have photos on a removable disk, such as a CD or USB flash drive, and import them into Shotwell without copying the photos to your computer, they will show up as missing files if you then disconnect the removable disk. See to learn how to copy files from removable disks onto your computer.

+ +

If any missing photo files become available again, Shotwell will notice this the next time it starts. The photos will once again appear in the Photos, Events and Tags views.

+ +
diff --git a/help/de/other-multiple.page b/help/de/other-multiple.page new file mode 100644 index 0000000..2558b82 --- /dev/null +++ b/help/de/other-multiple.page @@ -0,0 +1,21 @@ + + + + + + You can open Shotwell with a different photo library by using the command line. + + + + + Mehrere Bibliotheken + +

Shotwell speichert normalerweise seine Datenbank und Vorschaubilder der Fotos im Ordner ~/.shotwell. Dieser Ordner enthält keine Fotos, sondern lediglich eine Datenbank mit einer Liste aller Fotos in der Shotwell-Bibliothek.

+ +

As an advanced feature, it's possible for you to have multiple Shotwell libraries, each of which has its own set of photos. Each library needs its own database directory. To launch Shotwell with an alternate library, specify an alternate database directory on the command line as follows:

+ + +shotwell -d [Bibliotheksordner] + + +
diff --git a/help/de/other-plugins.page b/help/de/other-plugins.page new file mode 100644 index 0000000..9ad2483 --- /dev/null +++ b/help/de/other-plugins.page @@ -0,0 +1,27 @@ + + + + + + Extend Shotwell's functionality dynamically. + + + + + Erweiterungen +

+ Shotwell can be used with plugins, which are companion shared libraries that can + add support for new publishing destinations or new slideshow transitions. +

+ +

+ To see a list of installed plugins, choose EditPreferences, + and in the Preferences window, click on the Plugins tab. You'll see a list + of currently-installed plugins, each with a checkbox by it, and you may enable or disable each by + selecting or deselecting the checkbox by its name. +

+ +

Full documentation on how to develop new plugins is available at + http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins

+ +
diff --git a/help/de/raw.page b/help/de/raw.page new file mode 100644 index 0000000..af7ca72 --- /dev/null +++ b/help/de/raw.page @@ -0,0 +1,45 @@ + + + + + + Weiteres zur RAW-Unterstützung in Shotwell. + + + + + RAW-Unterstützung in Shotwell +

Some cameras have the ability to store data directly off the sensor + and into a file that contains extra color information; this is commonly + referred to as 'RAW' or 'camera RAW', and Shotwell supports these files + as well.

+ +

Since RAW photographs normally cannot be displayed directly, but must + be first developed - that is, have their extra information interpreted and + readied for displaying - most cameras will either embed a JPEG inside a + RAW-format file, or produce a JPEG alongside the RAW file at the time the + snapshot is taken. The latter is referred to throughout this document as + RAW+JPEG. If you import a RAW+JPEG pair, Shotwell will + keep them paired and treat them as one item in your library. +

+ +

When you import a RAW file, you can choose to either use the camera's + internally-developed JPEG or Shotwell's by selecting + PhotosDeveloper in the menus. +

+ + +

+ Changing between developers will cause all edits made to a photograph + to be discarded. +

+
+ +

+ In order to publish or use a RAW photograph in most other software, it has to be + exported first. Shotwell can export your RAW photos in JPEG, PNG, TIFF + or BMP format, and, when publishing, will internally export a JPEG version + for you and publish that. +

+ +
diff --git a/help/de/running.page b/help/de/running.page new file mode 100644 index 0000000..c0717f6 --- /dev/null +++ b/help/de/running.page @@ -0,0 +1,23 @@ + + + + + + So finden Sie Shotwell im Anwendungsmenü oder lassen Sie es automatisch starten, wenn eine Kamera angeschlossen wird. + + + + + + + Shotwell ausführen + +

Sobald Shotwell installiert wurde, ist es in Ihrem Anwendungs-Menü verfügbar unter Grafik oder Fotografie.

+ +

Shotwell kann automatisch gestartet werden, sobald eine Kamera an Ihren Rechner angeschlossen wird. Um zu prüfen, ob Ihr System so eingerichtet ist, dass Shotwell gestartet wird, sobald eine Kamera erkannt wird, öffnen Sie BearbeitenEinstellungen in der Dateiverwaltung Nautilus und wählen Sie den Reiter Medien. Dort finden Sie ein Auswahlfeld namens Fotos:, wo Sie Shotwell als die Vorgabe-Anwendung für Fotos festlegen.

+ + +

Shotwell kann auch direkt im Erstellungsordner ausgeführt werden. Dies ist jedoch nur zum Testen von Shotwell und für Entwickler empfohlen.

+
+ +
diff --git a/help/de/share-background.page b/help/de/share-background.page new file mode 100644 index 0000000..43ab5af --- /dev/null +++ b/help/de/share-background.page @@ -0,0 +1,21 @@ + + + + + + Das Hintergrundbild als ein Foto oder eine Diaschau von Fotos festlegen. + + + + + Ein Schreibtisch-Hintergrund oder eine Diaschau festlegen + +

Wählen Sie DateiAls Hintergrundbild festlegen, um ein einzelnes Foto als Schreibtisch-Hintergrund festzulegen.

+ +

You can also set your background to a slideshow of photos. To do this, select the photos for + the slideshow and choose FileSet as Desktop Slideshow.... + Shotwell will prompt you for a slideshow delay, which can be any interval up to one day in length. + The background slideshow will proceed even when Shotwell is not running. +

+ +
diff --git a/help/de/share-export.page b/help/de/share-export.page new file mode 100644 index 0000000..6b01461 --- /dev/null +++ b/help/de/share-export.page @@ -0,0 +1,35 @@ + + + + + + So kopieren Sie Fotos aus Shotwell heraus, um sie anderweitig abzulegen. + + + + + Fotos exportieren + +

Um Fotos aus Shotwell mittels Ziehen-und-Ablegen zu exportieren, ziehen Sie die Fotos aus Shotwell in das Fenster einer Dateiverwaltung oder auf Ihre Arbeitsfläche. Die neuen Dateien entsprechen dann einer Kopie der Fotos Ihrer Bibliothek in Originalgröße.

+ +

+Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting you fine-tune the size and dimensions of your photo files. +A window will appear allowing you to make several choices: +

+ + +

Ein Exportformat.

+ +

Wählen Sie Unverändert, um Fotos im ursprünglichen Format ohne Veränderungen durch Shotwell zu exportieren. RAW-Fotos werden im ursprünglichen RAW-Format exportiert.

+

Wählen Sie Aktuell, um Fotos einschließlich aller in Shotwell gemachter Änderungen zu exportieren. RAW-Fotos werden im JPEG-Format exportiert, wenn sie diese in Shotwell bearbeitet haben, anderenfalls werden sie in ihren RAW-Format exportiert.

+

Alternativ wählen Sie ein bestimmtes Bildformat (JPEG, PNG, TIFF, BMP) für den Export. Alle in Shotwell getätigten Änderungen werden mit einbezogen und Shotwell wandelt die Fotos in das Zielformat um.

+
+
+

Die Bildqualität beim Exportieren (gering, mittel, hoch oder maximal).

+

Eine Skalierungsbeschränkung (sie legt fest, wie Shotwell entscheidet die Fotos zu skalieren) und die gewünschte Pixelgröße.

+

Legt fest, ob Metadaten wie beispielsweise Markierungen oder Bewertungen exportiert werden sollen. Im Falle von Metadaten für Ortsdienste oder anderweitiger privater Markierungen kann dies dabei helfen, Ihre Privatsphäre zu schützen.

+
+ +

Legt fest, ob Shotwell Markierungen, Titel und andere Metadaten in die neuen Dateien schreiben soll.

+ +
diff --git a/help/de/share-print.page b/help/de/share-print.page new file mode 100644 index 0000000..8c5dca9 --- /dev/null +++ b/help/de/share-print.page @@ -0,0 +1,18 @@ + + + + + + Klicken Sie auf DateiDrucken. Wählen Sie für weitere Druckeinstellungen den Reiter Seite einrichten im Dialog Drucken. + + + + + Drucken + +

Um ein Foto zu drucken, wählen Sie es aus und wählen Sie anschließend DateiDrucken.

+ +

Shotwell kann mehrere Fotos auf eine Seite drucken. Wählen Sie dazu mehrere Bilder und dann DateiDrucken und anschließend im Dialog Drucken den Reiter Bildeinstellungen. Wählen Sie unter Bildeinstellungen eine der Einstellungen für mehrere Bilder pro Seite unter Automatische Größe.

+ +

Zum Festlegen der Formatierung, der Papiergröße und der Ausrichtung verwenden Sie vor dem Drucken den Reiter Seite einrichten im Dialog Drucken.

+
diff --git a/help/de/share-send.page b/help/de/share-send.page new file mode 100644 index 0000000..7dce436 --- /dev/null +++ b/help/de/share-send.page @@ -0,0 +1,16 @@ + + + + + + So verschicken Sie Fotos per E-Mail, Sofortnachricht oder auf andere Weisen. + + + + + Fotos versenden + +

Shotwell versendet Fotos mit dem Mechanismus »Senden an« der GNOME Arbeitsumgebung. So können Sie Fotos per E-Mail, Sofortnachricht oder auf andere Weisen verschicken.

+

Wählen Sie Fotos zum Verschicken in Shotwell aus und wählen Sie dann DateiSenden an, oder klicken Sie mit der rechten Maustaste auf das Foto und wählen Sie Senden an im Kontextmenü. Daraufhin erscheint der Dialog Senden an, wo Sie ein Verfahren zum Verschicken der Fotos (wie zum Beispiel E-Mail oder Sofortnachricht) und einen Empfänger festlegen. Optional können Sie Dateien komprimieren und versenden.

+ +
diff --git a/help/de/share-slideshow.page b/help/de/share-slideshow.page new file mode 100644 index 0000000..83edbe0 --- /dev/null +++ b/help/de/share-slideshow.page @@ -0,0 +1,22 @@ + + + + + + Eine Bildvorführung Ihrer Fotos ansehen + + + + + Bildvorführungen + +

Um eine Diaschau einer Sammlung in Shotwell zu sehen, wählen Sie diese Sammlung und dann AnsichtDiaschau oder drücken Sie F5.

+ +

Sie können folgende Einstellungen während einer Diaschau anpassen:

+ + +

Die Darstellungsdauer eines Bildes: 1 - 30 Sekunden

+

Sie können verschiedene Übergangseffekte wählen.

+

Die Zeit für jeden Übergangseffekt: 0,1 - 1,0 Sekunden

+
+
diff --git a/help/de/share-upload.page b/help/de/share-upload.page new file mode 100644 index 0000000..e3a894c --- /dev/null +++ b/help/de/share-upload.page @@ -0,0 +1,32 @@ + + + + + + So veröffentlichen Sie Fotos bei Facebook, Flickr, Picasa Webalben und anderen Seiten. + + + + + Ins Internet veröffentlichen + +

Mit Hilfe von Plugins kann Shotwell Fotos und Videos bei den folgenden Diensten veröffentlichen. Jeder Dienst erfordert ein Benutzerkonto:

+ + +

Facebook

+

Flickr

+

Picasa Webalben und Google+

+

YouTube (nur Videos)

+

Yandex.Fotki, eine in Russland beliebte Fotoseite (nur Fotos)

+

Jede Internetseite, welche die Fotogalerie-Software Piwigo installiert hat (nur Fotos)

+
+ +

Wählen Sie zum Veröffentlichen von gewählten Fotos einer Sammlung BearbeitenEinstellungen und dann den Reiter Erweiterungen zum Einschalten der Erweiterung für den Dienst, den Sie verwenden wollen. Wählen Sie anschließend DateiVeröffentlichen oder den Knopf Veröffentlichen in der Werkzeugleiste oder tippen Sie StrgP. Daraufhin erscheint ein Fenster, in dem Sie den Dienst zur Veröffentlichung wählen. Sie müssen sich dann beim Dienst anmelden.

+ +

Die Veröffentlichung auf Facebook erfordert es, der Anwendung »Shotwell Connect Facebook« verschiedene Rechte einzuräumen. Sie müssen diese Zugriffsrechte nur einmal gewähren, wenn Sie Shotwell zum ersten Mal mit Facebook verbinden.

+

You will be only able to publish images with at most the permission you granted to the Shotwell Facebook application

+ +

Ebenso erfordert es die Veröffentlichung auf Flickr, Shotwell Connect zu gestatten, auf Ihr Konto zuzugreifen.

+ +

Wenn Sie ein Google-Konto verfügen, aber die Picasa-Webalben noch nicht genutzt haben, müssen Sie sich zunächst in einem Browser bei Picasa anmelden, bevor Sie diesen Dienst zur Veröffentlichung nutzen können.

+
diff --git a/help/de/view-displaying.page b/help/de/view-displaying.page new file mode 100644 index 0000000..d95463a --- /dev/null +++ b/help/de/view-displaying.page @@ -0,0 +1,26 @@ + + + + + + Erfahren Sie mehr über die verschiedenen Ansichtsmöglichkeiten Ihrer Fotos: Im Raster, im Hauptfenster oder Bildschirm füllend. + + + + + Fotoansichten + +

Wenn Sie eine Sammlung in der Seitenleiste wählen, zeigt Shotwell alle Fotos der Sammlung im Hauptfenster an. Unten rechts befindet sich ein Schieberegler zur Anpassung der Größe der Vorschaubilder. Sie können ebenfalls die Größe der Vorschaubilder mit den Tasten + und - anpassen, oder indem Sie Strg gedrückt halten, während das Mausrad gedreht wird.

+ +

Schauen Sie sich ein Foto im Vollbild an, indem Sie zweimal darauf klicken. Daraufhin wechseln Sie zu anderen Fotos Ihrer Sammlung mit den Tasten ← und →. Klicken Sie zweimal auf das Foto oder drücken Sie Esc, um zur Sammlung zurückzukehren.

+ +

Beim Ansehen von Fotos im Vollbildmodus steuert der Regler in der Werkzeugleiste die Vergrößerung. Verschieben Sie das Foto, indem Sie die Maustaste gedrückt halten und die Maus bewegen. Sie können die Ansicht auch durch Drehen des Mausrads vergrößern und verkleinern, oder indem Sie die folgenden Tastenkürzel einsetzen: Strg0 für Vollansicht, Strg1 für 100% (1 Bildpunkt = 1 Bildschirmpunkt) und Strg2 für 200% (1 Bildpunkt = 2x2 Bildschirmpunkte).

+ +

Shotwell kann Fotos auf dem gesamten Bildschirm darstellen. Wählen Sie dazu AnsichtBildschirmfüllend oder drücken Sie F11. Bewegen Sie den Mauszeiger unten auf den Bildschirm, um die Werkzeugleiste im Vollbildmodus einzublenden. Die Werkzeugleiste hat Knöpfe zum Blättern in der Sammlung, zum Anheften der Werkzeugleiste (so dass diese nicht mehr automatisch verborgen wird) und zum Verlassen des Vollbildmodus.

+ +
+Videos ansehen +

Wenn Sie zweimal auf ein Video klicken, startet Shotwell ein externes Wiedergabeprogramm zum Abspielen. Es ist derzeit nicht möglich, ein Video im Vollbildmodus in Shotwell darzustellen oder das Video in Shotwell selbst anzuzeigen.

+
+ +
diff --git a/help/de/view-information.page b/help/de/view-information.page new file mode 100644 index 0000000..364b3a1 --- /dev/null +++ b/help/de/view-information.page @@ -0,0 +1,17 @@ + + + + + + Sehen Sie sich weitere Details über Fotos an, wie das von der Kamera verwendete Belichtungsverfahren. + + + + + Grundlegende und erweiterte Informationen + +

Das Teilfenster mit grundlegenden Informationen erscheint unten in der Seitenleiste und zeigt eine kurze Übersicht der von Ihnen gewählten Fotos. Wenn keine Fotos ausgewählt sind, wird eine Zusammenfassung der gesamten Sammlung angezeigt. Schalten Sie die Darstellung des Teilfensters mit AnsichtGrundlegende Informationen ein oder aus.

+ +

Das schwebende Fenster »Erweiterte Informationen« zeigt weitere Informationen zu den gewählten Fotos. Mit AnsichtErweiterte Informationen oder StrgUmschalttasteX blenden Sie das Fenster ein oder aus.

+ +
diff --git a/help/de/view-sidebar.page b/help/de/view-sidebar.page new file mode 100644 index 0000000..e20af7c --- /dev/null +++ b/help/de/view-sidebar.page @@ -0,0 +1,34 @@ + + + + + + Die Seitenleiste links des Fensters zeigt verschiedene Ansichten Ihrer Bibliothek. + + + + + + + + + + + + + + Die Seitenleiste + +

Die Seitenleiste links des Shotwell-Fensters zeigt verschiedene Ansichten Ihrer Bibliothek. Obwohl Sie eventuell das selbe Foto in mehreren Ansichten sehen, ist es tatsächlich nur einmal auf Ihrem System gespeichert.

+ +

Die Ansicht Letzter Import zeigt die zuletzt importierten Fotos unabhängig von Ihrer Quelle wie F-Spot, Ihrer Kamera, einer Speicherkarte oder der Festplatte.

+ +

Markiert listet alle zuvor markierten Fotos.

+ +

Mit Gespeicherte Suchen sortieren Sie Ihre Bibliothek anhand von vielen verschiedenen Kriterien.

+ +

Der Ordner Ereignisse listet alle Ereignisse Ihrer Bibliothek auf. Ein Ereignis ist eine Menge von Fotos, die ungefähr im gleichen Zeitraum aufgenommen wurden.

+ +

Der Ordner Markierungen listet alle markierten Fotos auf. Fotos können mehrfach markiert sein. Klicken Sie auf den Namen einer Markierung in der Seitenleiste, um alle mit der entsprechenden Markierung zu sehen.

+ +
diff --git a/help/el/edit-adjustments.page b/help/el/edit-adjustments.page new file mode 100644 index 0000000..c066525 --- /dev/null +++ b/help/el/edit-adjustments.page @@ -0,0 +1,49 @@ + + + + + + Αλλαγή της έκθεσης, του κορεσμού, της απόχρωσης και των σκιών μιας φωτογραφίας. + + + + + Προσαρμογές χρώματος + +

Το πλήκτρο Ρύθμιση ανοίγει ένα αιωρούμενο παράθυρο με ένα ιστόγραμμα και ολισθητές για να ρυθμίσουν την έκθεση, τον κορεσμό, την απόχρωση, τη θερμοκρασία και τις σκιές μιας φωτογραφίας. Το ιστόγραμμα επίσης έχει ολισθητές που μειώνουν τα πάνω και κάτω κατώφλια έντασης της φωτογραφίας, επεκτείνοντας την αντίθεση της μεσαίας περιοχής.

+ +

Το πλήκτρο Βελτίωση ρυθμίζει το ιστόγραμμα και τους ολισθητές σκιών για να βελτιώσουν την ποιότητα μιας φωτογραφίας.

+ +

When the photo's colors and contrast are to your liking, press OK to save the changes. Reset will return the image to its original state. Cancel discards all changes you've made.

+ +
+ Τι κάνουν οι ρυθμίσεις χρώματος; + + + Έκθεση +

Αλλάζει τη φωτεινότητα κάνοντας τη φωτογραφία να φαίνεται ότι εκτέθηκε για μεγαλύτερο ή λιγότερο χρόνο. Χρησιμοποιήστε το για να διορθώσετε υποεκτεθειμένες ή υπερεκτεθειμένες φωτογραφίες.

+
+ + Κορεσμός +

Αλλάζει τη ζωηρότητα των χρωμάτων. Αν η φωτογραφία φαίνεται γκρίζα και ξεθωριασμένη, δοκιμάστε να αυξήσετε τον κορεσμό. Αν τα χρώματα φαίνονται υπερβολικά έντονα, δοκιμάστε να τον μειώσετε.

+
+ + Απόχρωση +

Αυτό χρωματίζει τη φωτογραφία με ένα χρώμα. Είναι χρήσιμη για διόρθωση φωτογραφιών που ελήφθησαν με εσφαλμένη ρύθμιση ισορροπίας λευκού, που τυπικά έχει μια αφύσικη απόχρωση χρώματος. Για παράδειγμα, οι φωτογραφίες που ελήφθησαν υπαίθρια με την λευκή ισορροπία ορισμένη σε "βολφράμιο" μπορεί να έχουν μια γαλάζια απόχρωση.

+
+ + Θερμοκρασία +

Αλλάζει το πόσο "θερμή" ή "κρύα" φαίνεται η εικόνα. Χρησιμοποιήστε το για να κάνετε κρύα μειώνοντας τις σκηνές που φαίνονται πιο ζωντανές, για παράδειγμα.

+
+ + Σκιές +

Αυτό κάνει σκιώδεις περιοχές να φαίνονται πιο ανοικτές. Χρησιμοποιήστε το για να κάνετε την λεπτομέρεια πιο ορατή αν καλύπτεται από τη σκοτεινότητα μιας σκιάς.

+
+ + Κατώφλι έντασης (ολισθητές στο ιστόγραμμα) +

Αυτοί οι ολισθητές αλλάζουν το πόσο ανοικτό είναι το πιο φωτεινό λευκό και πόσο σκούρο το πιο σκοτεινό μαύρο. Χρησιμοποιήστε τα για να αλλάξετε την αντίθεση της φωτογραφίας. Οι φωτογραφίες που φαίνονται ξεθωριασμένες πρέπει να επωφελούνται ιδιαίτερα από την αλλαγή αυτών των ρυθμίσεων.

+
+
+
+ +
diff --git a/help/el/edit-crop.page b/help/el/edit-crop.page new file mode 100644 index 0000000..efb7a0f --- /dev/null +++ b/help/el/edit-crop.page @@ -0,0 +1,44 @@ + + + + + + Βελτιώστε τη σύνθεση μιας φωτογραφίας περικόπτοντας τμήματά της. + + + + + Περικοπή + +

Για να μειώσετε την περιοχή μιας φωτογραφίας και να συγκεντρώσετε την προσοχή του θεατή σε ένα μικρότερο τμήμα της, χρησιμοποιήστε το εργαλείο περικοπής. Το εργαλείο περικοπής είναι διαθέσιμο μόνο σε πλήρες παράθυρο ή κατάσταση πλήρους οθόνης.

+ + + +

Διπλοπατήστε μια φωτογραφία για να μπείτε στην κατάσταση πλήρους παραθύρου, έπειτα πατήστε το πλήκτρο Περικοπή στην εργαλειοθήκη.

+
+ +

Ένα λευκό πλαίσιο, το ορθογώνιο περικοπής, θα εμφανιστεί πάνω από τη φωτογραφία. Το πιο φωτεινό τμήμα της φωτογραφίας μέσα στο ορθογώνιο περικοπής απεικονίζει πώς θα μοιάζει η φωτογραφία όταν την περικόψετε.

+
+ +

Αν τοποθετήσετε τον δρομέα σας στη μέση του πλαισίου, μπορείτε να μετακινήσετε το πλαίσιο ολόγυρα. Αν σύρετε τις άκρες του πλαισίου, μπορείτε να ρυθμίσετε το μέγεθός της. Καθώς μετακινείτε και ρυθμίζετε το πλαίσιο περικοπής, θα δείτε τέσσερις γραμμές να εμφανίζονται μέσα της, όπως ένα πλέγμα τρίλιζας. Αυτές είναι γραμμές του κανόνα των τρίτων.

+

Μπορείτε επίσης να περιορίσετε το πλαίσιο περικοπής σε ένα από τα πολλά συνηθισμένα μεγέθη. Επιλέξτε ένα μέγεθος από τον πτυσσόμενο κατάλογο που ταιριάζει τις ανάγκες σας. Αν πατήσετε το κουμπί αναστροφής δίπλα του, ο προσανατολισμός του περιορισμού θα αλλάξει (από οριζόντιο σε κάθετο).

+
+ +

When you're happy with your crop outline, apply it by pressing the Crop button. Shotwell will display the cropped photo.

+
+ +

Αν αλλάξετε γνώμη, πατήστε το πλήκτρο Περικοπή ξανά και μικρορυθμίστε την περικοπή.

+

Αν πατήσετε Άκυρο αντί για Εφαρμογή, το Shotwell θα επιστρέψει στις διαστάσεις πριν την περικοπή της φωτογραφίας.

+
+
+ +
+ Τι είναι ο κανόνας των τρίτων; +

Ο κανόνας των τρίτων σας βοηθά να επιλέξετε μια καλύτερη σύνθεση για μια φωτογραφία.

+

Θεωρήστε ότι η σκηνή διαιρείται σε ένα πλέγμα 3x3 από δύο ισαπέχουσες κάθετες γραμμές και δύο ισαπέχουσες οριζόντιες γραμμές. Σύμφωνα με τον κανόνα, είναι πιο πιθανό να πάρετε μια καλύτερη σύνθεση αν στοιχίσετε τα μεγάλα γνωρίσματα (όπως τον ορίζοντα, ή το σώμα του ατόμου) με μια από αυτές τις γραμμές. Προσέχοντας τον τρόπο που τα γνωρίσματα ρέουν από το ένα μέρος του πλέγματος στο άλλο μπορεί επίσης να βοηθήσει.

+

Η περικοπή μιας φωτογραφίας έτσι ώστε να συμφωνεί με τον κανόνα των τρίτων καταλήγει συχνά σε μια περισσότερο ελκυστική οπτικά εικόνα.

+ +

Περικοπή μιας φωτογραφίας, χρησιμοποιώντας τον "κανόνα των τρίτων" για να βελτιώσετε τη σύνθεση.

+
+
+
diff --git a/help/el/edit-date-time.page b/help/el/edit-date-time.page new file mode 100644 index 0000000..d427509 --- /dev/null +++ b/help/el/edit-date-time.page @@ -0,0 +1,19 @@ + + + + + + Change the date and time of photos if those details are incorrect. + + + + + Adjust the date and time of photos + +

To adjust the date and time of photos, select the photos you would like to adjust, choose PhotosAdjust Date and Time... and select a new date and time.

+ +

Αν αλλάζετε την ημερομηνία και την ώρα πολλών φωτογραφιών μονομιάς, μπορείτε να επιλέξετε να μετατοπίσετε όλες τις φωτογραφίες κατά τον ίδιο χρόνο ή να ορίσετε όλες τις φωτογραφίες στην ίδια ώρα.

+ +

By default, the date and time are only changed inside Shotwell. You can also choose to modify the date and time in the original file, but this cannot be undone once you exit Shotwell.

+ +
diff --git a/help/el/edit-enhance.page b/help/el/edit-enhance.page new file mode 100644 index 0000000..82f4e60 --- /dev/null +++ b/help/el/edit-enhance.page @@ -0,0 +1,16 @@ + + + + + + Αφήστε το Shotwell να βελτιώσει τη φωτεινότητα και την αντίθεση μιας φωτογραφίας αυτόματα. + + + + + + + Αυτόματη βελτίωση + +

Πατώντας το πλήκτρο Βελτίωση είναι ένας γρήγορος τρόπος για αυτόματη ρύθμιση της φωτεινότητας και της αντίθεσης της φωτογραφίας σας. Θα σας δώσει συχνά μια φωτογραφία με τη σωστή έκθεση. Μπορείτε επίσης να την χρησιμοποιήσετε ως αρχικό σημείο και έπειτα να βελτιώσετε τις ρυθμίσεις πατώντας στο πλήκτρο Προσαρμογή.

+
diff --git a/help/el/edit-external.page b/help/el/edit-external.page new file mode 100644 index 0000000..c83aac4 --- /dev/null +++ b/help/el/edit-external.page @@ -0,0 +1,31 @@ + + + + + + Χρησιμοποιήστε ένα διαφορετικό πρόγραμμα για να επεξεργαστείτε μια φωτογραφία. + + + + + Επεξεργασία φωτογραφιών με εξωτερικό πρόγραμμα + +

Μπορεί να θέλετε να χρησιμοποιήσετε έναν εξωτερικό επεξεργαστή για να κάνει επιπρόσθετη δουλειά σε μια φωτογραφία. Αν εγκατασταθεί, τα GIMP και UFRaw είναι οι προεπιλεγμένοι εξωτερικοί επεξεργαστές για φωτογραφίες και επεξεργασία RAW, αντίστοιχα. Αν αυτά τα προγράμματα δεν είναι εγκατεστημένα, πρέπει να επιλέξετε τους αγαπημένους σας επεξεργαστές επιλέγοντας ΕπεξεργασίαΠροτιμήσεις και επιλέγοντας επεξεργαστές από τα πτυσσόμενα μενού των εγκατεστημένων εφαρμογών.

+ +

+ Once your editors have been set, select a photo and choose Photos + Open With External Editor to open the photo with the external editor. + Likewise, if the original photo is a RAW file, select PhotosOpen + With RAW Editor to edit the RAW file directly with the set RAW editor. +

+ +

Όταν ολοκληρώσετε τις επεξεργασίες σας και αποθηκεύσετε το αρχείο, το Shotwell θα αναγνωρίσει τις αλλαγές και θα ενημερώσει τη φωτογραφία. Όταν έχουν γίνει εξωτερικές επεξεργασίες, πατήστε και κρατήστε πατημένο το πλήκτρο Shift σε προβολή πλήρους παραθύρου για να εμφανίσετε την αρχική φωτογραφία αντί για την εξωτερικά επεξεργασμένη.

+ +

Η επαναφορά στην αρχική θα σβήσει κάθε εξωτερική επεξεργασία.

+ + +

Αν επεξεργαστείτε εξωτερικά μια φωτογραφία RAW και αποθηκεύσετε το αποτέλεσμα σε μια άλλη εικόνα, όπως JPEG ή PNG, το Shotwell δεν μπορεί να προσδιορίσει αυτόματα ότι η αρχική RAW και η νέα εικόνα πρέπει να συζευχθούν.

+ +

Αν θέλετε να δουλέψετε μέσα στην τελική εικόνα μες το Shotwell, θα χρειαστείτε να την εισάγετε οι ίδιοι.

+
+
diff --git a/help/el/edit-nondestructive.page b/help/el/edit-nondestructive.page new file mode 100644 index 0000000..aa6e1b3 --- /dev/null +++ b/help/el/edit-nondestructive.page @@ -0,0 +1,19 @@ + + + + + + Το Shotwell είναι ένας μη καταστροφικός επεξεργαστής φωτογραφίας - δεν τροποποιεί τις αρχικές σας φωτογραφίες. + + + + + Τι συμβαίνει στην αρχική φωτογραφία όταν επεξεργάζεται μια φωτογραφία; + +

Το Shotwell είναι ένας μη καταστροφικός επεξεργαστής φωτογραφίας. Δεν τροποποιεί τις αρχικές σας φωτογραφίες. Δηλαδή, αν περικόψετε μια φωτογραφία ή ρυθμίσετε τα χρώματά της, το αρχείο φωτογραφίας στον δίσκο παραμένει ανέπαφο. Το Shotwell αποθηκεύει τις επεξεργασίες σας σε μια βάση δεδομένων και τις εφαρμόζει απευθείας όταν χρειάζεται. Αυτό σημαίνει ότι μπορείτε να αναιρέσετε οποιεσδήποτε αλλαγές κάνετε σε μια φωτογραφία.

+ +

Αν θέλετε να δείτε πώς ήταν μια φωτογραφία πριν τις τροποποιήσεις σας, πατήστε το πλήκτρο Shift. Η αρχική φωτογραφία θα εμφανιστεί όσο κρατάτε πατημένο το πλήκτρο.

+ +

Σημειώστε ότι το Shotwell μπορεί προαιρετικά να γράψει μεταδεδομένα (όπως ετικέτες και τίτλους) σε αρχεία φωτογραφίας. Για περισσότερες πληροφορίες, δείτε την ενότητα Αρχεία φωτογραφιών.

+ +
diff --git a/help/el/edit-redeye.page b/help/el/edit-redeye.page new file mode 100644 index 0000000..0260478 --- /dev/null +++ b/help/el/edit-redeye.page @@ -0,0 +1,25 @@ + + + + + + Διορθώστε τις φωτογραφίες όπου οι άνθρωποι έχουν κόκκινα μάτια λόγω της αναλαμπής της φωτογραφικής μηχανής. + + + + + Αφαίρεση κόκκινου ματιού + +

Το κόκκινο μάτι συμβαίνει όταν η αναλαμπή της φωτογραφικής μηχανής ανανακλά την κόρη του ματιού. Για να το εξουδετερώσετε αυτό σε μια φωτογραφία, χρησιμοποιήστε το εργαλείο κόκκινου ματιού.

+ + +

Πατήστε Κόκκινο μάτι. Θα εμφανιστεί ένας κύκλος στη φωτογραφία.

+
+ +

Μεταφέρτε τον κύκλο πάνω από την επηρεαζόμενη κόρη, ρυθμίστε το μέγεθός της με το στοιχείο ελέγχου ολισθητή και πατήστε Εφαρμογή. Η ερυθρότητα θα αφαιρεθεί.

+
+ +

Επαναλάβετε αυτήν τη διεργασία για όλες τις κόκκινες κόρες στην φωτογραφία σας. Πατήστε κλείσιμο όταν τελειώσετε.

+
+
+
diff --git a/help/el/edit-rotate.page b/help/el/edit-rotate.page new file mode 100644 index 0000000..983e0f7 --- /dev/null +++ b/help/el/edit-rotate.page @@ -0,0 +1,26 @@ + + + + + + Πατήστε το πλήκτρο Περιστροφή, ή επιλέξτε μια από τις εντολές στο μενού Φωτογραφία. + + + + + Περιστροφή ή αναστροφή φωτογραφίας + +

Μπορείτε να περιστρέψετε τις φωτογραφίες σας αριστερά και δεξιά (δεξιόστροφα και αριστερόστροφα) με το πλήκτρο Περιστροφή στην εργαλειοθήκη των περισσότερων προβολών. Μπορείτε επίσης να κάνετε μια κατοπτρική εικόνα κάθε φωτογραφίας.

+ +

Για να περιστρέψετε δεξιά, πατήστε το πλήκτρο Περιστροφή. Για να περιστρέψετε αριστερά, πατήστε και κρατήστε πατημένο το πλήκτρο Ctrl και έπειτα πατήστε το πλήκτρο. Και οι δυο εντολές είναι διαθέσιμες επίσης στο μενού Φωτογραφίες. Εναλλακτικά, χρησιμοποιήστε τις παρακάτω συντομεύσεις πληκτρολογίου:

+ +

αριστερή περιστροφή: ShiftCtrlR ή [

+

δεξιά περιστροφή: CtrlR ή ]

+
+

Για να δημιουργήσετε μια κατοπτρική εικόνα μιας φωτογραφίας, χρησιμοποιήστε την εντολή Οριζόντια αναστροφή στο μενού Φωτογραφίες. Για να αναστρέψετε μια εικόνα κάθετα, χρησιμοποιήστε την εντολή Κάθετη αναστροφή στο ίδιο μενού.

+ + +

Αν επιλέξετε περισσότερες από μία εικόνες, μπορείτε να τις περιστρέψετε όλες ταυτόχρονα.

+
+ +
diff --git a/help/el/edit-straighten.page b/help/el/edit-straighten.page new file mode 100644 index 0000000..2cb55ef --- /dev/null +++ b/help/el/edit-straighten.page @@ -0,0 +1,27 @@ + + + + + + Ευθυγράμμιση μιας φωτογραφίας έτσι ώστε ο ορίζοντας της να εμφανίζεται επίπεδος. + + + + + Ευθυγράμμιση φωτογραφιών + +

Τα εργαλεία ευθυγράμμισης επιτρέπουν την εξίσωση και ευθυγράμμιση των φωτογραφιών. Το εργαλείο ευθυγράμμισης είναι διαθέσιμο μόνο σε πλήρες παράθυρο ή σε κατάσταση πλήρους οθόνης.

+ + + +

Πατήστε Ευθυγράμμιση. Ο ολισθητής ευθυγράμμισης θα εμφανιστεί. Εναλλακτικά, χρησιμοποιήστε τη συντόμευση πληκτρολογίου CtrlA.

+
+ +

Μεταφέρτε τον ολισθητή για να πετύχετε τον επιθυμητό βαθμό ευθυγράμμισης.

+
+ +

Press Straighten when finished.

+
+
+ +
diff --git a/help/el/edit-undo.page b/help/el/edit-undo.page new file mode 100644 index 0000000..4ba1b9d --- /dev/null +++ b/help/el/edit-undo.page @@ -0,0 +1,21 @@ + + + + + + Επιστροφή μιας φωτογραφίας στην αρχική ανεπεξέργαστη μορφή. + + + + + + + Αναίρεση αλλαγών + +

Επειδή το Shotwell είναι ένας μη καταστροφικός επεξεργαστής φωτογραφίας, μπορείτε να αναιρέσετε οποιεσδήποτε αλλαγές κάνετε σε μια φωτογραφία.

+ +

Αν θέλετε να δείτε πώς ήταν μια φωτογραφία πριν τις τροποποιήσεις σας, πατήστε το πλήκτρο Shift. Η αρχική φωτογραφία θα εμφανιστεί όσο κρατάτε πατημένο το πλήκτρο.

+ +

Για να αναιρέσετε πλήρως όλες τις αλλαγές που έχετε κάνει σε μια φωτογραφία, πατήστε ΦωτογραφίεςΕπαναφορά στο αρχικό. Η μόνη εξαίρεση είναι ότι οι ρυθμίσεις ώρας και ημερομηνίας δεν θα μετατραπούν.

+ +
diff --git a/help/el/el.stamp b/help/el/el.stamp new file mode 100644 index 0000000..e69de29 diff --git a/help/el/formats.page b/help/el/formats.page new file mode 100644 index 0000000..bda92c6 --- /dev/null +++ b/help/el/formats.page @@ -0,0 +1,27 @@ + + + + + + Το Shotwell υποστηρίζει αρχεία φωτογραφίας JPEG, PNG, TIFF, BMP και RAW καθώς και αρχεία βίντεο. + + + + + Υποστηριζόμενες μορφές φωτογραφιών και βίντεο + +

Το Shotwell υποστηρίζει αρχεία φωτογραφίας JPEG, PNG, TIFF, BMP και RAW. Το Shotwell δεν υποστηρίζει ακόμα άλλες μορφές γραφικών όπως GIF.

+ +

Η υποστήριξη της μορφής RAW του Shotwell είναι προς το παρόν περιορισμένη. Όταν προβάλετε μια φωτογραφία RAW, στην πραγματικότητα προβάλετε μια JPEG που παράγεται από τη φωτογραφία RAW, όχι την ίδια την εικόνα RAW. Επιπρόσθετα, η διοχέτευση επεξεργασίας RAW δεν είναι πλήρως 16-δυαδικών - μπορείτε μόνο να εξάγετε επεξεργασμένες φωτογραφίες ως αρχεία 8 δυαδικών. Όλες οι υποστηριζόμενες μορφές μπορούν να χρησιμοποιηθούν για εξαγωγή (JPEG, PNG, TIFF, BMP).

+ +

Για περισσότερες πληροφορίες σχετικά με τις φωτογραφίες μορφής RAW στο Shotwell, παρακαλούμε δείτε την ενότητα RAW.

+ +

Το Shotwell υποστηρίζει επίσης αρχεία βίντεο σε οποιαδήποτε υποστηριζόμενη μορφή από τη βιβλιοθήκη πολυμέσων GStreamer στο σύστημα όπου εκτελείται το Shotwell. Αυτό περιλαμβάνει τυπικά τις παρακάτω μορφές μεταξύ άλλων:

+ +

Μορφές περιέκτη: Ogg, QuickTime, MP4, AVI.

+

Κωδικοποιητές: Theora, Quicktime, MPEG-4, Motion JPEG. Σημειώστε ότι κάποια λειτουργικά συστήματα μπορεί να μην περιλαμβάνουν όλους τους καταχωρισμένους κωδικοποιητές εδώ λόγω νομικών περιορισμών ή αδειοδότησης.

+
+ +

Το Shotwell υποστηρίζει και φωτογραφίες και βίντεο, αλλά για απλότητα, αυτή η τεκμηρίωση χρησιμοποιεί απλά τον όρο "φωτογραφίες" στις περισσότερες τοποθεσίες. Πολλές λειτουργίες στο Shotwell εφαρμόζονται και στις φωτογραφίες και στα βίντεο. Ειδικά, τα συμβάντα, η προσθήκη σημαίας, η αξιολόγηση, οι ετικέτες και η δημοσίευση δουλεύουν και για φωτογραφίες και για βίντεο.

+ +
diff --git a/help/el/import-camera.page b/help/el/import-camera.page new file mode 100644 index 0000000..34fc5c7 --- /dev/null +++ b/help/el/import-camera.page @@ -0,0 +1,31 @@ + + + + + + Αντιγραφή φωτογραφιών από μια ψηφιακή φωτογραφική μηχανή. + + + + + Εισαγωγή από φωτογραφική μηχανή + +

Για να εισάγετε φωτογραφίες από μια ψηφιακή κάμερα:

+ + + +

Συνδέστε τη φωτογραφική μηχανή στον υπολογιστή σας και ανοίξτε την. Το Shotwell θα την αναγνωρίσει και θα την καταχωρίσει στην πλευρική στήλη.

+
+ +

Επιλέξτε τη φωτογραφική μηχανή στην πλευρική στήλη. Οι προεπισκοπήσεις κάθε φωτογραφίας στη φωτογραφική μηχανή θα εμφανιστούν.

+
+ +

Αν θέλετε, μπορείτε να επιλέξετε ένα σύνολο ειδικών φωτογραφιών για εισαγωγή. Για να το κάνετε αυτό, κρατήστε πατημένο το πλήκτρο Ctrl και πατήστε για να επιλέξετε τις μεμονωμένες φωτογραφίες. Μπορείτε να κρατήσετε πατημένο το Shift και να πατήσετε να επιλέξετε μια περιοχή φωτογραφιών επίσης.

+
+ +

Πατήστε ή Εισαγωγή επιλεγμένης ή Εισαγωγή όλων. Οι φωτογραφίες θα αντιγραφούν από τη φωτογραφική μηχανή και θα αποθηκευτούν στον υπολογιστή σας.

+
+
+ +

Όταν ολοκληρωθεί η εισαγωγή, μπορείτε να ανοίξετε την προβολή Τελευταία εισαγωγή (στην πλευρική στήλη) για να δείτε όλες τις φωτογραφίες που εισήχθησαν. Ο κατάλογος συμβάντων (επίσης στην πλευρική στήλη) θα εμφανίσει τις νέες φωτογραφίες, οργανωμένες κατά ημερομηνία.

+
diff --git a/help/el/import-f-spot.page b/help/el/import-f-spot.page new file mode 100644 index 0000000..6067edb --- /dev/null +++ b/help/el/import-f-spot.page @@ -0,0 +1,19 @@ + + + + + + Το Shotwell μπορεί να εισάγει όλες τις φωτογραφίες και ετικέτες σας από τον διαχειριστή φωτογραφιών F-Spot. + + + + + Εισαγωγή από F-Spot + +

Για να εισάγετε μια υπάρχουσα φωτογραφική συλλογή από F-Spot:

+ +

Επιλέξτε ΑρχείοΕισαγωγή από F-Spot.

+

Τώρα επιλέξτε ή την προεπιλεγμένη βιβλιοθήκη F-Spot ή κάποια άλλη βάση δεδομένων F-Spot. Αν η εισαγωγή είναι από μια άλλη βάση δεδομένων F-Spot, επιλέξτε κατάλογο και αρχείο από το πλαίσιο διαλόγου επιλογής.

+
+

Το Shotwell θα εισάγει τις φωτογραφίες σας, μαζί με τις ετικέτες τους και άλλες πληροφορίες. Αφού συμπληρωθεί η εισαγωγή, μπορείτε να επιλέξετε Τελευταία εισαγωγή στην πλευρική στήλη για να δείτε όλες τις φωτογραφίες εισηγμένες με επιτυχία. Ο κατάλογος συμβάντων θα εμφανίσει επίσης νέες καταχωρίσεις για τις ημερομηνίες που αντιστοιχούν στις εισηγμένες φωτογραφίες.

+
diff --git a/help/el/import-file.page b/help/el/import-file.page new file mode 100644 index 0000000..26dd401 --- /dev/null +++ b/help/el/import-file.page @@ -0,0 +1,23 @@ + + + + + + Για να εισάγετε φωτογραφίες που είναι ήδη αποθηκευμένες στον υπολογιστή σας. + + + + + Εισαγωγή από τον σκληρό δίσκο σας + +

Για να εισάγετε αρχεία φωτογραφιών από τον σκληρό δίσκο σας στο Shotwell, μεταφέρτε τα απλά από τον περιηγητή αρχείων σας στο παράθυρο Shotwell.

+ +

Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import.

+ +

Το Shotwell θα ρωτήσει αν θέλετε να αντιγράψετε τα αρχεία φωτογραφίας στον φάκελο βιβλιοθήκης (συνήθως αυτός είναι ο φάκελος Pictures στον προσωπικό σας κατάλογο) ή να τα εισάγετε επί τόπου χωρίς αντιγραφή των αρχείων.

+ +

Αν κρατάτε πατημένο το Ctrl κατά τη μεταφορά των φωτογραφιών, το Shotwell θα αντιγράψει τις φωτογραφίες στον φάκελο βιβλιοθήκης χωρίς ειδοποίηση. Παρόμοια, αν κρατάτε πατημένα τα CtrlShift κατά τη μεταφορά φωτογραφιών, το Shotwell θα εισάγει τις φωτογραφίες χωρίς να τις αντιγράψει.

+ +

Αφού συμπληρωθεί η εισαγωγή, μπορείτε να επιλέξετε Τελευταία εισαγωγή στην πλευρική στήλη για να δείτε όλες τις φωτογραφίες εισηγμένες με επιτυχία. Ο κατάλογος συμβάντων θα εμφανίσει επίσης νέες καταχωρίσεις για τις ημερομηνίες που αντιστοιχούν στις εισηγμένες φωτογραφίες.

+ +
diff --git a/help/el/import-memorycard.page b/help/el/import-memorycard.page new file mode 100644 index 0000000..55a42f2 --- /dev/null +++ b/help/el/import-memorycard.page @@ -0,0 +1,31 @@ + + + + + + Εισαγωγή φωτογραφιών από κάρτα μνήμης ψηφιακής φωτογραφικής μηχανής. + + + + + Εισαγωγή από μια κάρτα μνήμης + +

Για να εισάγετε φωτογραφίες από μια κάρτα μνήμης φωτογραφικής μηχανής:

+ + + +

Βάλτε την κάρτα στον αναγνώστη καρτών σας. Βεβαιωθείτε ότι ο αναγνώστης καρτών είναι συνδεμένος με τον υπολογιστή και ενεργός.

+
+ +

Ο αναγνώστης καρτών και η κάρτα πρέπει να ανιχνευτούν αυτόματα.

+
+ +

Follow the instructions for importing photos from your hard disk. If you click FileImport From Folder..., the memory card should be visible as a folder in the side bar of the file selection window.

+
+
+ +

Το Shotwell μπορεί να εισάγει φωτογραφίες από κάθε κάρτα μνήμης που είναι συμβατή με τον αναγνώστη της κάρτας σας.

+ +

Αν η κάρτα δεν έχει αναγνωριστεί αυτόματα, ο αναγνώστης της κάρτας σας μπορεί να μην έχει αναγνωριστεί. Δοκιμάστε να την αποσυνδέσετε και έπειτα συνδέστε την πάλι. Αν αυτό δεν δουλέψει, θα πρέπει να μπορείτε ακόμα να εισάγετε φωτογραφίες συνδέοντας την φωτογραφική μηχανή σας άμεσα με τον υπολογιστή, όμως.

+ +
diff --git a/help/el/index.page b/help/el/index.page new file mode 100644 index 0000000..a8db6de --- /dev/null +++ b/help/el/index.page @@ -0,0 +1,47 @@ + + + + + Shotwell + Shotwell + + Jim Nelson + jim@yorba.org + Allison Barlow + allison@yorba.org + Robert Ancell + robert.ancell@canonical.com + Peter Smith + pdo.smith@gmail.com + Phil Bull + philbull@gmail.com + + + + + <media type="image" src="figures/shotwell_logo.png"/>Διαχειριστής φωτογραφιών Shotwell + +
+ Εισαγωγή φωτογραφιών +
+ +
+ Προβολή φωτογραφιών +
+ +
+ Οργάνωση φωτογραφιών +
+ +
+ Επεξεργασία φωτογραφιών +
+ +
+ Μερισμός φωτογραφιών +
+ +
+ Άλλα χαρακτηριστικά +
+
diff --git a/help/el/organize-event.page b/help/el/organize-event.page new file mode 100644 index 0000000..267338b --- /dev/null +++ b/help/el/organize-event.page @@ -0,0 +1,53 @@ + + + + + + Ομαδοποιήστε μαζί τις φωτογραφίες που ελήφθησαν ταυτόχρονα. Μάθετε πώς να μετονομάσετε, να συγχωνεύσετε και να ταξινομήσετε συμβάντα. + + + + + Συμβάντα + +

Ένα συμβάν είναι μια ομάδα φωτογραφιών που ελήφθησαν περίπου την ίδια ώρα. Όταν εισάγετε φωτογραφίες, το Shotwell ελέγχει πότε ελήφθη κάθε φωτογραφία. Έπειτα ομαδοποιεί τις φωτογραφίες σε συμβάντα.

+ +

Επιλέξτε Συμβάντα από την πλευρική στήλη για να δείτε τις φωτογραφίες σας οργανωμένες κατά ημερομηνία. Αν επιλέξετε έναν μήνα ή έτος από την πλευρική στήλη, θα εμφανιστεί ένας κατάλογος συμβάντων στο κυρίως παράθυρο. Διπλοπατήστε όλες τις φωτογραφίες που ελήφθησαν περίπου την ίδια ώρα.

+ +

Αν μια φωτογραφία δεν έχει ενσωματωμένες πληροφορίες ημερομηνίας/χρόνου, τότε το Shotwell δεν μπορεί να την βάλει αυτόματα σε κανένα συμβάν. Σε αυτήν την περίπτωση η φωτογραφία θα εμφανιστεί στην προβολή Κανένα συμβάν προσβάσιμη από την πλευρική στήλη. Μπορείτε ακόμα να μετακινήσετε την φωτογραφία σε οποιοδήποτε συμβάν θέλετε όπως περιγράφεται παρακάτω.

+ +
+ Μετονομασία συμβάντων + +

To give an event a name rather than referring to it by its date, select the event, click EventsRename Event... and enter a new name. Another way of renaming an event is to double-click its name in the sidebar; type a new name and then press Enter.

+
+ +
+ Μετακίνηση φωτογραφιών μεταξύ συμβάντων + +

Αν και οι φωτογραφίες είναι αρχικά ομαδοποιημένες σε συμβάντα με την ημερομηνία τους, μπορείτε να μετακινήσετε φωτογραφίες μεταξύ συμβάντων. Για να το κάνετε αυτό, μεταφέρτε κάθε φωτογραφία στην πλευρική στήλη και αποθέστε την σε ένα συμβάν.

+
+ +
+ Δημιουργία και συγχώνευση συμβάντων +

Για να δημιουργήσετε ένα νέο συμβάν, επιλέξτε τις φωτογραφίες που θα θέλατε στο νέο συμβάν και πατήστε ΣυμβάνταΝέο συμβάν.

+

Για να συγχωνεύσετε συμβάντα, επιλέξτε Συμβάντα από την πλευρική στήλη, έπειτα, ενώ κρατάτε πατημένο το Ctrl πατήστε στα συμβάντα που θέλετε να συγχωνεύσετε στην περιοχή του κυρίως παραθύρου. Τελικά, πατήστε ΣυμβάνταΣυγχώνευση συμβάντων.

+
+ +
+ Ταξινόμηση συμβάντων + +

Τα συμβάντα εμφανίζονται σε ένα δένδρο στην πλευρική στήλη, οργανωμένα σύμφωνα με το έτος και τον μήνα της πιο πρόσφατης φωτογραφίας στο συμβάν. Για να αλλάξετε τη σειρά ταξινόμησης του συμβάντος, πατήστε ΠροβολήΤαξινόμηση συμβάντων και επιλέξτε ή αύξουσα ή φθίνουσα.

+ +
+ +
+ Αλλαγή της χρησιμοποιούμενης φωτογραφίας που θα αναπαραστήσει κάθε συμβάν + +

If you select the Events item in the sidebar, you'll see a single photo which represents each event. This is called the key photo.

+ +

Από προεπιλογή, το Shotwell χρησιμοποιεί την πρώτη φωτογραφία σε κάθε συμβάν ως την βασική φωτογραφία. Για να χρησιμοποιήσετε μια διαφορετική φωτογραφία ως βασική, επιλέξτε την φωτογραφία και διαλέξτε ΦωτογραφίεςΟρισμός ως βασική φωτογραφία για το συμβάν.

+ +
+ +
diff --git a/help/el/organize-flag.page b/help/el/organize-flag.page new file mode 100644 index 0000000..1852eee --- /dev/null +++ b/help/el/organize-flag.page @@ -0,0 +1,24 @@ + + + + + + Βάλτε σημαίες για να τις σημειώσετε ως ειδικές ή για να τις δουλέψετε ως σύνολο. + + + + + Προσθήκη σημαίας στις φωτογραφίες + +

Το Shotwell σας επιτρέπει να βάλετε σημαία στις φωτογραφίες. Όταν μια φωτογραφία είναι με σημαία, ένα μικρό εικονίδιο σημαίας εμφανίζεται στην πάνω δεξιά γωνία. Μπορείτε να επιλέξετε το στοιχείο με σημαία στην πλευρική στήλη για να δείτε όλες τις φωτογραφίες που έχουν σημαία.

+ +

Η προσθήκη σημαίας σε μια φωτογραφία τη σημειώνει ως ειδική. Μπορείτε να το ερμηνεύσετε όπως θέλετε. Για παράδειγμα, μπορείτε να βάλετε σημαία σε όλες τις φωτογραφίες που χρειάζονται οπτική ρύθμιση, ή σε όλες τις φωτογραφίες που θέλετε να μοιραστείτε με έναν φίλο.

+ +

Η προσθήκη σημαίας είναι επίσης χρήσιμη, επειδή μπορείτε να επεξεργαστείτε όλες τις φωτογραφίες με σημαία ως σύνολο. Για παράδειγμα, μπορείτε να επιλέξετε την προβολή με σημαία και έπειτα να μεταφορτώσετε όλες τις φωτογραφίες με σημαία σε μια υπηρεσία δημοσίευσης.

+ +
+ Προσθήκη ή αφαίρεση σημαίας σε φωτογραφία +

Για να προσθέσετε ή να αφαιρέσετε σημαία σε μια φωτογραφία, δεξιοπατήστε τη φωτογραφία και επιλέξτε Προσθήκη σημαίας ή Αφαίρεση σημαίας από το μενού περιεχομένων. Ή χρησιμοποιήστε τα πλήκτρα συντόμευσης CtrlG ή /.

+
+ +
diff --git a/help/el/organize-rating.page b/help/el/organize-rating.page new file mode 100644 index 0000000..9f90bc0 --- /dev/null +++ b/help/el/organize-rating.page @@ -0,0 +1,27 @@ + + + + + + Δώστε στις φωτογραφίες μια αξιολόγηση μεταξύ 1 και 5 αστεριών. Μπορείτε να απορρίψετε άσχημες φωτογραφίες, κρύβοντας τες από την προβολή. + + + + + Αξιολογήσεις +

Μπορείτε να δώσετε σε κάθε φωτογραφία μια βαθμολόγηση από 1-5 αστέρια, ή μπορείτε εναλλακτικά να την αξιολογήσετε ως απορριφθείσα, οπότε το Shotwell θα κρύψει την φωτογραφία από προεπιλογή.

+ +

Μπορείτε να αξιολογήσετε μια φωτογραφία ή ένα σύνολο φωτογραφιών με οποιονδήποτε από αυτούς τους τρόπους:

+ + +

Επιλέξτε τις φωτογραφίες, έπειτα επιλέξτε μια αξιολόγηση από το μενού ανωτάτου επιπέδου ΦωτογραφίεςΟρισμός αξιολόγησης.

+

Δεξιοπατήστε στις φωτογραφίες, έπειτα επιλέξτε μια αξιολόγηση από το μενού περιεχομένων αξιολόγησης.

+

Επιλέξτε τις φωτογραφίες, έπειτα πατήστε οποιαδήποτε από τα πλήκτρα συντόμευσης 1, 2, 3, 4 ή 5 για να δώσετε μια αξιολόγηση. Ή πατήστε 9 για να σημειώσετε τις φωτογραφίες ως απορριφθείσες ή 0 για να καθαρίσετε τις αξιολογήσεις.

+
+ +

Κανονικά το Shotwell εμφανίζει όλες τις φωτογραφίες εκτός από τις απορριφθείσες. Μπορείτε να ορίσετε ένα διαφορετικό φίλτρο αξιολόγησης χρησιμοποιώντας το μενού ΠροβολήΦιλτράρισμα φωτογραφιών - για παράδειγμα, μπορείτε να εμφανίσετε μόνο φωτογραφίες που αξιολογούνται με 3 αστέρια ή περισσότερο, ή μπορείτε να εμφανίσετε όλες τις φωτογραφίες συμπεριλαμβανομένων αυτών που σημειώθηκαν ως απορριφθείσες. Το εικονίδιο Shotwell στην εργαλειοθήκη εμφανίζει το τρέχον φίλτρο αξιολόγησης και μπορεί επίσης να χρησιμοποιηθεί για να ορίσει το φίλτρο.

+ +

Το Shotwell κανονικά εμφανίζει αξιολόγηση κάθε φωτογραφίας στην κάτω αριστερή γωνία. Μπορείτε να απενεργοποιήσετε την εμφάνιση των αξιολογήσεων χρησιμοποιώντας το στοιχείο μενού ΠροβολήΑξιολογήσεις.

+ +

Μπορείτε να αυξήσετε ή να μειώσετε την αξιολόγηση μιας φωτογραφίας χρησιμοποιώντας τις εντολές Ορισμός αξιολόγησηςΑύξηση και Ορισμός αξιολόγησηςΜείωση, ή τις συντομεύσεις πληκτρολογίου < και >.

+
diff --git a/help/el/organize-remove.page b/help/el/organize-remove.page new file mode 100644 index 0000000..437c0a6 --- /dev/null +++ b/help/el/organize-remove.page @@ -0,0 +1,42 @@ + + + + + + Αφαίρεση φωτογραφιών από τη βιβλιοθήκη, ή διαγραφή τους από τον υπολογιστή σας πλήρως. + + + + + Αφαίρεση και διαγραφή φωτογραφιών + +

Μπορείτε να αφαιρέσετε φωτογραφίες από τη βιβλιοθήκη σας και μπορείτε πρόσθετα να τις διαγράψετε πλήρως από τον σκληρό σας δίσκο.

+Διαγραφή διεργασίας +

Αυτό το διάγραμμα εμφανίζει πώς μια φωτογραφία, όταν διαγράφεται, μπαίνει πρώτα στα απορρίμματα του Shotwell. Αν την διαγράψετε από τα απορρίμματα του Shotwell, μπαίνει στα απορρίμματα του υπολογιστή σας. Αν την διαγράψετε από τα απορρίμματα του υπολογιστή σας η φωτογραφία διαγράφεται οριστικά και αμετάκλητα από τον υπολογιστή σας.

+
+ Αφαίρεση φωτογραφιών από τη βιβλιοθήκη +

Επιλέξτε τις φωτογραφίες που θέλετε να αφαιρέσετε και επιλέξτε ΕπεξεργασίαΜετακίνηση στα απορρίμματα. (Μπορείτε επίσης να πατήσετε το πλήκτρο Διαγραφή.) Οι φωτογραφίες θα μετακινηθούν από τη βιβλιοθήκη σας στα απορρίμματα του Shotwell.

+

Αν θέλετε να αφαιρέσετε φωτογραφίες από το Shotwell χωρίς να τις περάσετε μέσα από τα απορρίμματα, επιλέξτε απλά τις φωτογραφίες που θα αφαιρεθούν και επιλέξτε ΕπεξεργασίαΑφαίρεση από τη βιβλιοθήκη. Τα αρχεία φωτογραφιών θα αφεθούν επί τόπου στον δίσκο.

+
+ +
+ Άδειασμα ή επαναφορά του φακέλου απορριμμάτων +

Επιλέξτε την καταχώριση απορριμμάτων στην πλευρική στήλη και το Shotwell θα εμφανίσει όλες τις φωτογραφίες που έχετε σημειώσει για αφαίρεση ή διαγραφή. Στην προβολή απορριμάτων, οι επόμενες εντολές είναι διαθέσιμες:

+ + Διαγραφή

Διαγραφή των επιλεγμένων φωτογραφιών από τον φάκελο απορριμμάτων.

+ Επαναφορά

Επαναφορά των επιλεγμένων φωτογραφιών στο Shotwell.

+ Άδειασμα απορριμάτων

Διαγραφή όλων των φωτογραφιών από τον φάκελο απορριμμάτων.

+
+
+ +
+ Διαγραφή ή άδειασμα απορριμμάτων +

Όταν διαγράφετε αρχεία από τον φάκελο απορριμμάτων ή αδειάζετε τον φάκελο απορριμμάτων, θα σας δοθούν οι επόμενες επιλογές:

+ + Μόνο αφαίρεση

Αφαιρεί τις φωτογραφίες από τη βιβλιοθήκη, αλλά τις αφήνει στη θέση τους στον υπολογιστή.

+ Αρχείο απορριμμάτων

Αφαιρεί τις φωτογραφίες από τη βιβλιοθήκη και τις διαγράφει από τον υπολογιστή.

+ Άκυρο

Καμία ενέργεια.

+
+
+ +
diff --git a/help/el/organize-search.page b/help/el/organize-search.page new file mode 100644 index 0000000..833f57d --- /dev/null +++ b/help/el/organize-search.page @@ -0,0 +1,41 @@ + + + + + + Εύρεση φωτογραφιών και βίντεο στη συλλογή σας με διάφορα κριτήρια. + + + + + Αναζήτηση + +

Υπάρχουν δύο τρόποι αναζήτησης στο Shotwell: η εργαλειοθήκη φίλτρου και με μια αποθηκευμένη αναζήτηση. Η γραμμή αναζήτησης σας επιτρέπει να αναζητήσετε γρήγορα την τρέχουσα προβολή για συγκεκριμένα κριτήρια. Αποθηκευμένες αναζητήσεις χαρακτηρίζουν πιο σύνθετα κριτήρια αναζήτησης και παραμένουν στην πλευρική στήλη μεταξύ των συνεδριών.

+ + + +
+ Αποθηκευμένη αναζήτηση +

Μια αποθηκευμένη αναζήτηση παραμένει στις συνεδρίες του Shotwell και ενημερώνεται καθώς προστίθενται και αφαιρούνται φωτογραφίες και βίντεο από τη βιβλιοθήκη του Shotwell.

+ +

+ Create a new saved search with EditNew Saved Search... or by hitting + CtrlS. The dialog box allows you to enter a name for the + search and select whether you want to meet Any, All, or None of the criteria in the following rows. +

+ +

+ Each row represents a search criterion. Use the + button to add more rows, and the + - button to remove a specific row. The combo box on the left of each row selects the type + of criteria. Criteria must be entered correctly before the OK button becomes available. +

+
+ +
diff --git a/help/el/organize-tag.page b/help/el/organize-tag.page new file mode 100644 index 0000000..42a8cf5 --- /dev/null +++ b/help/el/organize-tag.page @@ -0,0 +1,68 @@ + + + + + + Οργάνωση φωτογραφιών βάζοντας ετικέτες. + + + + + + + Ονομασία φωτογραφιών + +

Μπορείτε να δώσετε μία ή περισσότερες ετικέτες σε επιλεγμένες φωτογραφίες. Μια ετικέτα μπορεί να έχει μία ή περισσότερες λέξεις που θέλετε να συσχετίσετε με αυτές τις φωτογραφίες.

+ +

Για να προσθέσετε νέες ετικέτες στις φωτογραφίες, επιλέξτε τις φωτογραφίες στις οποίες θέλετε να βάλετε ετικέτες, έπειτα κάντε οποιοδήποτε από τα παρακάτω:

+ + +

Choose TagsAdd Tags....

+

Πληκτρολογήστε CtrlT.

+

Μεταφέρτε τις επιλεγμένες φωτογραφίες και αποθέστε τες στην επιθυμητή ετικέτα.

+
+ +

+ When you use CtrlT or + TagsAdd Tags... you can type + in the names of one or more tags, separated by commas. + Once you have created a tag, you can rename it by selecting that + tag in the sidebar and choosing + TagsRename Tag "[name]"..., + by rightclicking on it and choose Rename... or + double-click on the tag in the sidebar. +

+ +

+ To change which tags are associated with a particular photo, + select that photo, choose + TagsModify Tags... or + right-click on a photo and select Modify Tags... and + edit the comma separated list. + To remove a tag from one or more photos, first select that tag + in the sidebar, then select the photos you would like to remove, + and choose + TagsRemove Tag "[name]" from Photos + or right-click on the photos an select + Remove Tag "[name]" from Photos. +

+ +

Για να διαγράψετε μια ετικέτα πλήρως, επιλέξτε αυτήν την ετικέτα στην πλευρική στήλη και επιλέξτε ΕτικέτεςΔιαγραφή ετικέτας "[όνομα]" ή δεξιοπατήστε και επιλέξτε Διαγραφή ετικέτας "[όνομα]".

+ +

+ When you create a tag, it will appear in the sidebar under the + Tags item, which is hidden if there are no tags. Photos + can have multiple tags attached to them, and when you click on the + name of a given tag in the sidebar, you will see all the photos + associated with that tag. +

+ +
+ Ιεραρχικές ετικέτες +

Το Shotwell υποστηρίζει επίσης ιεραρχικές ετικέτες. Μπορείτε να αναδιατάξετε τις ετικέτες σας με μεταφορά και απόθεση μιας ετικέτας σε μια άλλη. Για να δημιουργήσετε μια νέα υποετικέτα δεξιοπατήστε σε μια ετικέτα και επιλέξτε Νέα.

+ +

Οι ιεραρχικές ετικέτες μπορεί να σας βοηθήσουν να ταξινομήσετε τον κατάλογο ετικετών σας έτσι που να ταιριάζει καλύτερα με τον τρόπο εργασίας ή σκέψης σας· για παράδειγμα, μπορείτε να αποθηκεύσετε ετικέτες θέσης όπως "βουνά" ή "παραλίες" κάτω από μια γονική ετικέτα "Τοποθεσίες", που η ίδια μπορεί να τοποθετηθεί κάτω από την ετικέτα "καλοκαιρινές διακοπές".

+ +

Σημειώστε ότι διαγράφοντας μια γονική ετικέτα διαγράφονται επίσης και οι θυγατρικές της ετικέτες.

+
+
diff --git a/help/el/organize-title.page b/help/el/organize-title.page new file mode 100644 index 0000000..1ab0a2c --- /dev/null +++ b/help/el/organize-title.page @@ -0,0 +1,18 @@ + + + + + + Δώστε τίτλους στις φωτογραφίες σας. + + + + + Τίτλοι + +

Το πλαίσιο ελέγχου ΠροβολήΤίτλοι εναλλάσσει την εμφάνιση των τίτλων κάτω από κάθε φωτογραφία. Από προεπιλογή, ο τίτλος μιας φωτογραφίας είναι το όνομα του αρχείου της.

+ +

To change a photo's title, +select the photo and click PhotosEdit Title..., or press F2.

+ +
diff --git a/help/el/other-files.page b/help/el/other-files.page new file mode 100644 index 0000000..994ed95 --- /dev/null +++ b/help/el/other-files.page @@ -0,0 +1,100 @@ + + + + + + Διατηρείστε τη βιβλιοθήκη Shotwell σε συγχρονισμό με τα αρχεία φωτογραφιών στον δίσκο. + + + + + Αρχεία φωτογραφιών + +

Κάθε φωτογραφία στη βιβλιοθήκη Shotwell αντιστοιχεί σε ένα αποθηκευμένο αρχείο στον σκληρό σας δίσκο. Το Shotwell έχει πολλά γνωρίσματα που σας βοηθούν να κρατήσετε τη βιβλιοθήκη Shotwell και τα αρχεία στον δίσκο σε συγχρονισμό.

+ + +
+ Χρησιμοποιώντας ένα προσαρμοσμένο υπόδειγμα καταλόγου +

Το Shotwell σας επιτρέπει να ορίσετε τον τρόπο ονομασίας των καταλόγων στη βιβλιοθήκη σας. Μπορείτε να το κάνετε αλλάζοντας τις ρυθμίσεις Δομή καταλόγου και Υπόδειγμα στον διάλογο Προτιμήσεις. Μπορείτε να χρησιμοποιήσετε ένα προεπιλεγμένο υπόδειγμα, ή να επιλέξετε Προσαρμογή και να πληκτρολογήσετε το δικό σας.

+ +

Τα διαθέσιμα σύμβολα για υπόδειγμα καταλόγου ξεκινά με ένα % (σύμβολο ποσοστού). Οι τιμές που αυτά τα σύμβολα παράγουν εξαρτώνται από τις τοπικές ρυθμίσεις, έτσι ό,τι βλέπετε στον υπολογιστή σας μπορεί να διαφέρει από τα παρακάτω παραδείγματα.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Symbol

Meaning

Example

%Y

Έτος: πλήρες

2011

%y

Έτος: δύο ψηφία

11

%d

Ημέρα του μήνα με αρχικό μηδέν

03

%A

Όνομα ημέρας: πλήρες

Τετάρτη

%a

Όνομα ημέρας: συντομευμένο

Τετ

%m

Αριθμός μήνα με αρχικό μηδέν

02

%b

Όνομα μήνα: συντομευμένο

Φεβ

%B

Όνομα μήνα: πλήρες

Φεβρουάριος

%I

Ώρα: 12ώρη μορφή

05

%H

Ώρα: 24ώρη μορφή

17

%M

Λεπτό

16

%S

Δευτερόλεπτο

30

%p

ΠΜ ή ΜΜ

ΜΜ

+ +

Υπάρχουν άλλα διαθέσιμα σύμβολα· παρακαλούμε, ελέγξτε το εγχειρίδιο για strftime εκτελώντας την εντολή man strftime αν χρειάζεστε ένα σύμβολο που δεν είναι καταχωρισμένο εδώ.

+
+ +
+ Αυτόματη εισαγωγή φωτογραφιών + +

Το Shotwell μπορεί να εισάγει αυτόματα νέες φωτογραφίες που εμφανίζονται στον κατάλογο βιβλιοθήκης. (Ο κατάλογος βιβλιοθήκης είναι συνήθως ο κατάλογος Εικόνες στον προσωπικό σας κατάλογο· μπορείτε να αλλάξετε την θέση του στο παράθυρο Προτιμήσεις.)

+ +

Για την ενεργοποίηση της αυτόματης εισαγωγής, ελέγξτε το πλαίσιο Παρακολούθηση του καταλόγου βιβλιοθήκης για νέα αρχεία στο παράθυρο Προτιμήσεις.

+ +

Το Shotwell μπορεί επίσης να ακολουθήσει τους συμβολικούς δεσμούς σε αυτόματα εισαγόμενους καταλόγους.

+ +
+ +
+ Αυτόματη μετονομασία εισαγόμενων φωτογραφιών σε πεζά γράμματα + +

Το Shotwell μπορεί να αλλάξει αυτόματα τα ονόματα αρχείων των εισαγόμενων φωτογραφιών σε πεζά γράμματα. Για να το ενεργοποιήσετε αυτό, επιλέξτε ΕπεξεργασίαΠροτιμήσεις και στο παράθυρο Προτιμήσεις, σημειώστε το πλαίσιο Μετονομασία εισαγόμενων αρχείων σε πεζά γράμματα.

+ +
+ +
+ Εγγραφή μεταδεδομένων απευθείας + +

Από προεπιλογή, το Shotwell δεν τροποποιεί αρχεία φωτογραφιών, ακόμα κι όταν επεξεργάζεστε φωτογραφίες ή αλλάζετε τις ετικέτες τους ή τίτλους τους. Το Shotwell καταγράφει αυτές τις αλλαγές μόνο στη δικιά του βάση δεδομένων.

+ +

Για να αλλάξετε αυτήν την συμπεριφορά, μπορείτε να ενεργοποιήσετε το πλαίσιο ελέγχου Εγγραφή ετικετών, τίτλων και άλλων μεταδεδομένων σε αρχεία φωτογραφιών στον διάλογο Προτιμήσεις. Όταν αυτή η επιλογή είναι ενεργή, το Shotwell θα γράψει τα παρακάτω μεταδεδομένα στα περισσότερα αρχεία φωτογραφιών όποτε το αλλάζετε σε Shotwell:

+ + +

τίτλοι

+

ετικέτες

+

αξιολογήσεις

+

πληροφορίες περιστροφής

+

χρόνος/ημερομηνία

+
+ +

Το Shotwell αποθηκεύει αυτές τις πληροφορίες σε αρχεία φωτογραφιών σε μορφή EXIF, IPTC και/ή XMP. Σημειώστε ότι το Shotwell μπορεί να γράψει μόνο σε αρχεία φωτογραφιών σε μορφή JPEG, PNG και TIFF, όχι σε φωτογραφίες BMP, RAW ή σε αρχεία βίντεο.

+ +
+ +
+ Παρακολούθηση χρόνου εκτέλεσης + +

Ενώ εκτελείται το Shotwell, σημειώνει αλλαγές που έγιναν σε οποιαδήποτε εξωτερικό αρχείο φωτογραφίας. Όταν ένα αρχείο φωτογραφίας αλλάζει, το Shotwell ξαναδιαβάζει το αρχείο και ενημερώνει την προβολή σας της φωτογραφίας και των μεταδεδομένων.

+ +

Σημειώστε ότι το Shotwell ελέγχει όλα τα αρχεία φωτογραφιών για αλλαγές στην εκκίνηση, αλλά μόνο τα περιεχόμενα αρχεία φωτογραφίας στον κατάλογο βιβλιοθήκης παρακολουθούνται σε πραγματικό χρόνο μετά την εκκίνηση. Ελπίζουμε να αφαιρέσουμε αυτόν τον περιορισμό σε μια μεταγενέστερη έκδοση.

+ +
+ +
diff --git a/help/el/other-missing.page b/help/el/other-missing.page new file mode 100644 index 0000000..6ed4886 --- /dev/null +++ b/help/el/other-missing.page @@ -0,0 +1,21 @@ + + + + + + Αν το Shotwell δεν μπορεί να βρει μια φωτογραφία στη βιβλιοθήκη σας, τη σημειώνει ως χαμένη. + + + + + Χαμένες φωτογραφίες + +

Κάθε φορά που το Shotwell ξεκινά, σαρώνει τη βιβλιοθήκη φωτογραφιών σας για να επιβεβαιώσει ότι όλα τα αρχεία φωτογραφιών υπάρχουν ακόμα στον σκληρό σας δίσκο. Αν το Shotwell βρει ότι οποιαδήποτε αρχεία φωτογραφιών λείπουν, δεν θα τα εμφανίσει στις κανονικές προβολές φωτογραφιών, συμβάντων και ετικετών, αλλά θα τα εμφανίσει σε μια ξεχωριστή προβολή χαμένων αρχείων που θα εμφανιστεί στην πλευρική στήλη.

+ +

Αν δεν θέλετε πια τα χαμένα αρχεία να είναι μέρος της συλλογής σας Shotwell (ίσως επειδή τα διαγράψατε), πηγαίνετε στην προβολή χαμένα αρχεία, επιλέξτε τις φωτογραφίες και έπειτα πατήστε Αφαίρεση από τη βιβλιοθήκη.

+ +

Αν έχετε φωτογραφίες σε έναν αφαιρούμενο δίσκο, όπως σε ένα CD ή USB και τα εισάγετε στο Shotwell χωρίς να αντιγράψετε τις φωτογραφίες στον υπολογιστή σας, θα εμφανιστούν ως χαμένα αρχεία αν έπειτα αποσυνδέσετε τον αφαιρούμενο δίσκο. Δείτε για να μάθετε πώς να αντιγράψετε αρχεία από αφαιρούμενους δίσκους στον υπολογιστή σας.

+ +

Αν οποιαδήποτε χαμένα αρχεία φωτογραφιών γίνουν διαθέσιμα ξανά, το Shotwell θα το σημειώσει την επόμενη φορά που ξεκινά. Οι φωτογραφίες θα εμφανιστούν πάλι στις προβολές φωτογραφιών, συμβάντων και ετικετών.

+ +
diff --git a/help/el/other-multiple.page b/help/el/other-multiple.page new file mode 100644 index 0000000..9fbf21c --- /dev/null +++ b/help/el/other-multiple.page @@ -0,0 +1,21 @@ + + + + + + Μπορείτε να ανοίξετε το Shotwell με μια διαφορετική βιβλιοθήκη φωτογραφιών χρησιμοποιώντας τη γραμμή εντολών. + + + + + Πολλαπλές βιβλιοθήκες + +

Το Shotwell κανονικά αποθηκεύει τη βάση δεδομένων του και τις μικρογραφίες φωτογραφιών στον κατάλογο ~/.shotwell. Αυτός ο κατάλογος δεν περιέχει φωτογραφίες, αλλά η βάση δεδομένων σε αυτόν τον κατάλογο περιέχει έναν κατάλογο όλων των φωτογραφιών στη βιβλιοθήκη Shotwell.

+ +

Ως ένα προχωρημένο γνώρισμα, μπορείτε να έχετε πολλαπλές βιβλιοθήκες Shotwell, που καθεμιά τους έχει το δικό της σύνολο φωτογραφιών. Κάθε βιβλιοθήκη χρειάζεται το δικό του κατάλογο βάσης δεδομένων. Για να ξεκινήσετε το Shotwell με μια εναλλακτική βιβλιοθήκη, ορίστε έναν εναλλακτικό κατάλογο βάσης δεδομένων στη γραμμή εντολών ως εξής:

+ + +shotwell -d [library-directory] + + +
diff --git a/help/el/other-plugins.page b/help/el/other-plugins.page new file mode 100644 index 0000000..82aa070 --- /dev/null +++ b/help/el/other-plugins.page @@ -0,0 +1,18 @@ + + + + + + Επέκταση της δυναμικής λειτουργικότητας του Shotwell. + + + + + Πρόσθετα +

Το Shotwell μπορεί να χρησιμοποιηθεί με πρόσθετα, που είναι συνοδοί κοινόχρηστων βιβλιοθηκών που μπορούν να προσθέσουν υποστήριξη για νεοδημοσιευόμενους προορισμούς ή νέες μεταβάσεις προβολής διαφανειών.

+ +

Για να δείτε έναν κατάλογο εγκατεστημένων προσθέτων, επιλέξτε ΕπεξεργασίαΠροτιμήσεις και στο παράθυρο Προτιμήσεις, πατώντας στην καρτέλα Πρόσθετα. Θα δείτε έναν κατάλογο των εγκατεστημένων μέχρι τώρα προσθέτων, που το καθένα τους έχει ένα πλαίσιο ελέγχου και μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε καθένα τους επιλέγοντας ή αποεπιλέγοντας το όνομά του.

+ +

Η πλήρης τεκμηρίωση ανάπτυξης νέων προσθέτων είναι διαθέσιμη στο http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins

+ +
diff --git a/help/el/raw.page b/help/el/raw.page new file mode 100644 index 0000000..cc2fe8c --- /dev/null +++ b/help/el/raw.page @@ -0,0 +1,24 @@ + + + + + + Περισσότερα για την υποστήριξη RAW στο Shotwell. + + + + + Υποστήριξη RAW (ακατέργαστο) στο Shotwell +

Κάποιες φωτογραφικές μηχανές έχουν τη δυνατότητα να αποθηκεύουν δεδομένα αμέσως από τον αισθητήρα και σε ένα αρχείο που περιέχει πρόσθετες πληροφορίες χρώματος· αυτό συνήθως αναφέρεται ως 'RAW' ή 'φωτογραφική μηχανή RAW' και το Shotwell υποστηρίζει αυτά τα αρχεία επίσης.

+ +

Αφού οι φωτογραφίες RAW δεν μπορούν κανονικά να εμφανιστούν άμεσα, αλλά πρέπει πρώτα να αναπτυχθούν - δηλαδή, έχουν τις δικές τους πρόσθετες πληροφορίες να ερμηνευτούν και να διαβαστούν για να εμφανιστούν - οι περισσότερες φωτογραφικές μηχανές ή ενσωματώνουν μια JPEG μέσα σε ένα αρχείο μορφής RAW, ή παράγουν μια JPEG μαζί με το αρχείο RAW τη στιγμή λήψης του στιγμιοτύπου. Το δεύτερο αναφέρεται σε όλο αυτό το έγγραφο ως RAW+JPEG. Αν εισάγετε ένα ζεύγος RAW+JPEG, το Shotwell θα τα κρατήσει συζευγμένα και θα τα θεωρήσει ως ένα στοιχείο στη βιβλιοθήκη σας.

+ +

Όταν εισάγετε ένα αρχείο RAW, μπορείτε να επιλέξετε ή να χρησιμοποιήσετε την εσωτερικά αναπτυγμένη JPEG της φωτογραφικής μηχανής ή του Shotwell επιλέγοντας ΦωτογραφίεςΑνάπτυξη στα μενού.

+ + +

Η αλλαγή μεταξύ αναπτύξεων θα προκαλέσει την απόρριψη όλων των επεξεργασιών που έγιναν σε μια φωτογραφία.

+
+ +

Για να δημοσιεύσετε ή να χρησιμοποιήσετε μια φωτογραφία RAW στα περισσότερα άλλα λογισμικά, πρέπει πρώτα να εξαχθεί. Το Shotwell μπορεί να εξάγει τις φωτογραφίες RAW σε μορφή JPEG, PNG, TIFF ή BMP και όταν δημοσιευτούν θα εξάγει εσωτερικά μια έκδοση JPEG για σας και θα την δημοσιεύσει.

+ +
diff --git a/help/el/running.page b/help/el/running.page new file mode 100644 index 0000000..0bcc3ca --- /dev/null +++ b/help/el/running.page @@ -0,0 +1,23 @@ + + + + + + Βρείτε το Shotwell στο μενού εφαρμογές, ή ξεκινήστε το αυτόματα όταν συνδέετε μια φωτογραφική μηχανή. + + + + + + + Εκτελώντας το Shotwell + +

Μόλις εγκατασταθεί το Shotwell είναι διαθέσιμο στο μενού Εφαρμογές κάτω από το Γραφικά ή Φωτογραφία.

+ +

Το Shotwell μπορεί επίσης να εκτελεστεί αυτόματα όταν μια φωτογραφική μηχανή συνδέεται με τον υπολογιστή σας. Για να ελέγξετε ότι το σύστημά σας έχει ρυθμιστεί να εκτελέσει το Shotwell όταν μια φωτογραφική μηχανή ανιχνευτεί, πηγαίνετε στο ΑρχείοΠροτιμήσεις σε οποιοδήποτε παράθυρο Ναυτίλου (περιηγητής αρχείου) και επιλέξτε την καρτέλα Μέσα. Θα δείτε ένα πτυσσόμενο πλαίσιο με τίτλο Φωτογραφίες: που σας επιτρέπει να επιλέξετε το Shotwell ως την εφαρμογή διαχείρισης φωτογραφιών.

+ + +

Το Shotwell μπορεί επίσης να εκτελεστεί άμεσα από το δομημένο κατάλογό του αν και αυτό συνιστάται μόνο για δοκιμή του Shotwell ή για προγραμματιστές.

+
+ +
diff --git a/help/el/share-background.page b/help/el/share-background.page new file mode 100644 index 0000000..bc1f815 --- /dev/null +++ b/help/el/share-background.page @@ -0,0 +1,21 @@ + + + + + + Ορίστε το παρασκήνιο της επιφάνειας εργασίας σας σε μια μόνο φωτογραφία ή σε μια προβολή διαφανειών των φωτογραφιών. + + + + + Ορίστε ένα παρασκήνιο επιφάνειας εργασίας ή προβολής διαφανειών + +

Για να ορίσετε μια μόνο φωτογραφία ως παρασκήνιο της επιφάνειας εργασίας σας, επιλέξτε τη φωτογραφία και διαλέξτε ΑρχείοΟρισμός ως παρασκήνιο επιφάνειας εργασίας.

+ +

You can also set your background to a slideshow of photos. To do this, select the photos for + the slideshow and choose FileSet as Desktop Slideshow.... + Shotwell will prompt you for a slideshow delay, which can be any interval up to one day in length. + The background slideshow will proceed even when Shotwell is not running. +

+ +
diff --git a/help/el/share-export.page b/help/el/share-export.page new file mode 100644 index 0000000..9ea9f81 --- /dev/null +++ b/help/el/share-export.page @@ -0,0 +1,35 @@ + + + + + + Αντιγραφή φωτογραφιών από το Shotwell, έτσι ώστε να μπορείτε να τις βάλετε κάπου αλλού. + + + + + Εξαγωγή φωτογραφιών + +

Για να εξάγετε φωτογραφίες από το Shotwell μέσα από μεταφορά και απόθεση, μεταφέρτε τις φωτογραφίες από το Shotwell σε ένα παράθυρο διαχειριστή αρχείων ή στην επιφάνεια εργασίας σας. Τα νέα αρχεία θα είναι αντίγραφα πλήρους μεγέθους των φωτογραφιών στη βιβλιοθήκη σας.

+ +

+Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting you fine-tune the size and dimensions of your photo files. +A window will appear allowing you to make several choices: +

+ + +

Μια μορφή για εξαγωγή.

+ +

Επιλέξτε Ατροποποίητη για να εξάγετε φωτογραφίες στην αρχική τους μορφή χωρίς καμιά επεξεργασία που έγινε στο Shotwell. Οι ακατέργαστες φωτογραφίες θα εξαχθούν στην αρχική τους μορφή RAW.

+

Επιλέξτε Τρέχουσα για να εξάγετε τις φωτογραφίες συμπεριλαμβάνοντας τις επεξεργασίες που έγιναν στο Shotwell. Οι ακατέργαστες φωτογραφίες θα εξαχθούν σε μορφή JPEG αν τις έχετε επεξεργαστεί στο Shotwell και αλλιώς στην αρχική τους ακατέργαστη μορφή.

+

Ή μπορείτε να επιλέξετε μια ειδική μορφή εικόνας (JPEG, PNG, TIFF, BMP) που θα χρησιμοποιηθεί για εξαγωγή. Οποιαδήποτε επεξεργασία έγινε στο Shotwell θα συμπεριληφθεί και το Shotwell θα μετατρέψει τις φωτογραφίες στη μορφή προορισμού.

+
+
+

Η ποιότητα εικόνας για εξαγωγή (χαμηλή, μέτρια, υψηλή, ή μέγιστη).

+

Ένας περιορισμός κλιμάκωσης (που σημαίνει πώς θα αποφασίσει το Shotwell να σμικρύνει τις φωτογραφίες) και το επιθυμητό μέγεθος εικονοστοιχείων.

+

Η επιλογή εξαγωγής μεταδεδομένων όπως ετικέτες ή αξιολογήσεις. Αυτό μπορεί να βοηθήσει στην αποθήκευση της ιδιωτικότητά σας αν έχετε ετικέτες γεωεντοπισμού ή ετικέτες που δεν θα έπρεπε να ιδωθούν από κάποιον.

+
+ +

Αν επιλεγεί, το Shotwell θα γράψει ετικέτες, τίτλους και άλλα μεταδεδομένα στα νέα αρχεία.

+ +
diff --git a/help/el/share-print.page b/help/el/share-print.page new file mode 100644 index 0000000..57c7197 --- /dev/null +++ b/help/el/share-print.page @@ -0,0 +1,23 @@ + + + + + + Click FilePrint.... For more printing options, select the Page Setup tab in the Print dialog. + + + + + Εκτύπωση + +

To print a photo, select it and choose FilePrint....

+ +

+ Shotwell can also print multiple images in one page; to do this, select multiple images, + choose FilePrint..., and in the Print dialog, + choose the Image Settings tab. In Image Settings, choose one of the + multiple-image-per-page options under Autosize. +

+ +

Αν θα θέλατε να ορίσετε επιλογές μορφοποίηση, μέγεθος χαρτιού και προσανατολισμό, επιλέξτε την καρτέλα Διαμόρφωση σελίδας στον διάλογο Εκτύπωση πριν από την εκτύπωση.

+
diff --git a/help/el/share-send.page b/help/el/share-send.page new file mode 100644 index 0000000..79a1232 --- /dev/null +++ b/help/el/share-send.page @@ -0,0 +1,16 @@ + + + + + + Αποστολή φωτογραφιών μέσα από ηλεκτρονική αλληλογραφία, άμεσα μηνύματα ή με άλλους τρόπους. + + + + + Αποστολή φωτογραφιών + +

Το Shotwell μπορεί να στείλει φωτογραφίες χρησιμοποιώντας τον μηχανισμό αποστολής προς της επιφάνειας εργασίας GNOME, που σας επιτρέπει να στέλνετε φωτογραφίες μέσα από ηλεκτρονική αλληλογραφία, άμεσα μηνύματα ή με άλλους τρόπους.

+

Για να στείλετε φωτογραφίες, επιλέξτε τες στο Shotwell και επιλέξτε ΑρχείοΑποστολή σε..., ή δεξιοπατήστε τις φωτογραφίες και επιλέξτε Αποστολή σε... από το μενού περιεχομένων. Ένα πλαίσιο διαλόγου Αποστολή προς θα εμφανιστεί που σας επιτρέπει να επιλέξετε έναν μηχανισμό για αποστολή των αρχείων (όπως ηλεκτρονική αλληλογραφία ή άμεσα μηνύματα) και έναν προορισμό. Μπορείτε προαιρετικά να επιλέξετε να στείλετε τα αρχεία σε συμπιεσμένη μορφή.

+ +
diff --git a/help/el/share-slideshow.page b/help/el/share-slideshow.page new file mode 100644 index 0000000..ac13cc9 --- /dev/null +++ b/help/el/share-slideshow.page @@ -0,0 +1,22 @@ + + + + + + Παρακολούθηση μιας προβολής διαφανειών των φωτογραφιών σας. + + + + + Προβολές διαφανειών + +

Για να δείτε νια προβολή διαφανειών οποιασδήποτε συλλογής στο Shotwell, περιηγηθείτε σε αυτήν τη συλλογή και επιλέξτε ΠροβολήΠροβολή διαφανειών ή πατήστε F5.

+ +

Μπορείτε να αλλάξετε κάποιες ρυθμίσεις σε μια εκτελούμενη προβολή διαφανειών:

+ + +

Η διάρκεια χρόνου εμφάνισης μιας εικόνας πρέπει να είναι: 1 - 30 δευτερόλεπτα

+

Μπορείτε να επιλέξετε διαφορετικά εφέ μετάβασης.

+

Ο χρόνος για κάθε εφέ μετάβασης: 0.1 - 1.0 δευτερόλεπτα

+
+
diff --git a/help/el/share-upload.page b/help/el/share-upload.page new file mode 100644 index 0000000..6a3e4ec --- /dev/null +++ b/help/el/share-upload.page @@ -0,0 +1,34 @@ + + + + + + Δημοσίευση φωτογραφιών στα Facebook, Flickr, συλλογές ιστού Picasa, ή άλλους τόπους. + + + + + Δημοσιεύοντας στον ιστό + +

Μέσα από τη χρήση προσθέτων, το Shotwell μπορεί να δημοσιεύσει φωτογραφίες και βίντεο στις ακόλουθες υπηρεσίες, που καθεμιά τους απαιτεί έναν λογαριασμό:

+ + +

Facebook

+

Flickr

+

Συλλογές ιστού Picasa και Google+

+

YouTube (μόνο βίντεο)

+

Yandex.Fotki, έναν δημοφιλή τόπο φωτογραφιών στη Ρωσία (μόνο φωτογραφίες)

+

Οποιονδήποτε τόπο που τρέχει το λογισμικό συλλογής φωτογραφιών Piwigo (μόνο φωτογραφίες)

+
+ +

Για να δημοσιεύσετε επιλεγμένες φωτογραφίες σε μια συλλογή, επιλέξτε ΕπεξεργασίαΠροτιμήσεις και πατήστε την καρτέλα Πρόσθετα για να ενεργοποιήσετε το πρόσθετο για την υπηρεσία στην οποία θέλετε να δημοσιεύσετε. Κατόπιν, επιλέξτε, ΑρχείοΔημοσίευση, πατήστε το πλήκτρο εργαλειοθήκης Δημοσίευση ή χρησιμοποιήστε CtrlP. Θα δείτε έναν διάλογο που σας επιτρέπει να επιλέξετε μια υπηρεσία δημοσίευσης. Θα χρειαστείτε τότε να συνδεθείτε ή να δημιουργήσετε έναν λογαριασμό.

+ +

Publishing to Facebook requires you to grant certain permissions to the Shotwell Facebook application. + You only need to grant these permissions once, when you first associate Shotwell with your Facebook account. +

+

You will be only able to publish images with at most the permission you granted to the Shotwell Facebook application

+ +

Παρόμοια, η δημοσίευση στο Flickr απαιτεί να συνδεθείτε και να επιτρέψετε στο Shotwell Connect να προσπελάσει τον λογαριασμό σας.

+ +

Αν έχετε έναν λογαριασμό Google, αλλά δεν έχετε ακόμα χρησιμοποιήσει τις συλλογές ιστού Picasa, θα χρειαστείτε να συνδεθείτε στο Picasa χρησιμοποιώντας έναν περιηγητή μια φορά πριν να μπορείτε να δημοσιεύετε σε αυτήν την υπηρεσία.

+
diff --git a/help/el/view-displaying.page b/help/el/view-displaying.page new file mode 100644 index 0000000..1d48627 --- /dev/null +++ b/help/el/view-displaying.page @@ -0,0 +1,26 @@ + + + + + + Μάθετε για τους διαφορετικούς τρόπους προβολής των φωτογραφιών σας: σε ένα πλέγμα, με γεμάτο το κυρίως παράθυρο ή όλη την οθόνη. + + + + + Προβολές φωτογραφίας + +

Όταν επιλέγετε οποιαδήποτε συλλογή στην πλευρική στήλη, το Shotwell εμφανίζει όλες τις φωτογραφίες της συλλογής στην περιοχή του κυρίως παραθύρου. Στα κάτω δεξιά υπάρχει ένας ολισθητής που ρυθμίζει το μέγεθος προβολής των μικρογραφιών. Μπορείτε επίσης να ρυθμίσετε το μέγεθος μικρογραφιών χρησιμοποιώντας τα πλήκτρα συν και πλην (+ και -) ή πατώντας το Ctrl ενώ μετακινείτε τον τροχό κύλισης του ποντικιού.

+ +

Μπορείτε να προβάλετε μια φωτογραφία σε πλήρες παράθυρο διπλοπατώντας την. Από εκεί μπορείτε να μετακινηθείτε σε άλλες φωτογραφίες στη συλλογή με τα πλήκτρα πίσω και μπροστά. Για να επιστρέψετε στη συλλογή, διπλοπατήστε στη φωτογραφία ή πατήστε το πλήκτρο Διαφυγής.

+ +

Όταν προβάλετε μια φωτογραφία σε κατάσταση πλήρους παραθύρου, ο ολισθητής στην εργαλειοθήκη ελέγχει την εστίαση. Μπορείτε να μετακινηθείτε ολόγυρα συλλαμβάνοντας και μεταφέροντας οπουδήποτε στην φωτογραφία. Μπορείτε επίσης να εστιάσετε χρησιμοποιώντας τον τροχό κύλισης ή πατώντας τις παρακάτω συντομεύσεις πληκτρολογίου: Ctrl0 για την πλήρη εικόνα, Ctrl1 για 100% (1 εικονοστοιχείο φωτογραφίας = 1 εικονοστοιχείο οθόνης) και Ctrl2 για 200% (1 εικονοστοιχείο φωτογραφίας = 2x2 εικονοστοιχεία οθόνης).

+ +

Το Shotwell προσφέρει μια κατάσταση πλήρους οθόνης για προβολή φωτογραφιών. Επιλέξτε ΠροβολήΠλήρης οθόνη ή πατήστε F11. Για να δείτε την εργαλειοθήκη πλήρης οθόνη, μετακινήστε το ποντίκι σας στο τέλος της οθόνης. Η εργαλειοθήκη προσφέρει πλήκτρα για μετακίνηση μέσα από τη συλλογή, για να προσδέσει την εργαλειοθήκη (έτσι δεν είναι κρυφή όταν μετακινείτε το ποντίκι μακριά) και για να αφήσετε την προβολή πλήρους οθόνης.

+ +
+Προβολή βίντεο +

Όταν διπλοπατάτε ένα βίντεο, το Shotwell θα ξεκινήσει μια εξωτερική συσκευή βίντεο για να αναπαραγάγει το βίντεο. Δεν είναι προς το παρόν δυνατή η εμφάνιση ενός βίντεο σε κατάσταση πλήρους παραθύρου στο Shotwell ή η αναπαραγωγή του βίντεο στο ίδιο το Shotwell.

+
+ +
diff --git a/help/el/view-information.page b/help/el/view-information.page new file mode 100644 index 0000000..a8f2644 --- /dev/null +++ b/help/el/view-information.page @@ -0,0 +1,17 @@ + + + + + + Προβολή περισσότερο λεπτομερών πληροφοριών για τις φωτογραφίες, όπως η κατάσταση έκθεσης που χρησιμοποιείται από τη φωτογραφική μηχανή. + + + + + Βασικές και εκτεταμένες πληροφορίες + +

Το βασικό φάτνωμα πληροφοριών εμφανίζεται στο τέλος της πλευρικής στήλης και εμφανίζει μια σύντομη περίληψη των φωτογραφιών που έχετε επιλέξει. Αν δεν επιλεγεί καμία φωτογραφία, εμφανίζει μια περίληψη ολόκληρης της συλλογής. Μπορείτε να εναλλάξετε την εμφάνιση αυτού του φατνώματος χρησιμοποιώντας την εντολή ΠροβολήΒασικές πληροφορίες.

+ +

Το αιωρούμενο εκτεταμένο παράθυρο πληροφοριών εμφανίζει περισσότερες πληροφορίες για την επιλεγμένη φωτογραφία. Η εντολή ΠροβολήΕκτεταμένες πληροφορίες ή CtrlShiftX εναλλάσσει την εμφάνιση αυτού του παραθύρου.

+ +
diff --git a/help/el/view-sidebar.page b/help/el/view-sidebar.page new file mode 100644 index 0000000..6bb8482 --- /dev/null +++ b/help/el/view-sidebar.page @@ -0,0 +1,34 @@ + + + + + + Η πλευρική στήλη στα αριστερά του παραθύρου καταχωρίζει ποικίλες προβολές της βιβλιοθήκης σας. + + + + + + + + + + + + + + Η πλευρική στήλη + +

Η πλευρική στήλη στα αριστερά του παραθύρου Shotwell εμφανίζει ποικίλες προβολές της βιβλιοθήκης σας. Αν και μπορείτε να δείτε την ίδια φωτογραφία σε πολλές προβολές, είναι αποθηκευμένη μόνο μια φορά στον σκληρό σας δίσκο.

+ +

Η προβολή Τελευταία εισαγωγή εμφανίζει τις τελευταίες εισηγμένες φωτογραφίες άσχετα με το αν εισήχθησαν από το F-Spot, τη κάμερά σας, μια κάρτα μνήμης ή τον σκληρό δίσκο.

+ +

Το Με σημαία εμφανίζει όλες τις φωτογραφίες που είχατε προηγούμενων με σημαία.

+ +

Το Αποθηκευμένη αναζήτηση σας επιτρέπει την ταξινόμηση της βιβλιοθήκης σας με πολλά κριτήρια.

+ +

Ο φάκελος Συμβάντα εμφανίζει όλα τα συμβάντα στη βιβλιοθήκη σας. Ένα συμβάν είναι μια ομάδα φωτογραφιών που ελήφθησαν περίπου την ίδια ώρα.

+ +

Ο φάκελος Ετικέτες εμφανίζει όλες τις ετικέτες που έχετε εκχωρήσει σε φωτογραφίες. Οι φωτογραφίες μπορούν να έχουν πολλαπλές ετικέτες συσχετισμένες με αυτές. Όταν πατήσετε σε ένα όνομα μιας ετικέτας στην πλευρική στήλη, θα δείτε όλες τις συσχετισμένες φωτογραφίες με αυτήν την ετικέτα.

+ +
diff --git a/help/es/edit-adjustments.page b/help/es/edit-adjustments.page new file mode 100644 index 0000000..2ee4887 --- /dev/null +++ b/help/es/edit-adjustments.page @@ -0,0 +1,61 @@ + + + + + + Cambiar la exposición, saturación, matiz y sombras de una foto. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Ajustes del color + +

The Adjust button opens a floating window with a histogram and sliders to adjust a photo's exposure, saturation, tint, temperature, and shadows. The histogram also has sliders to reduce the upper and lower intensity thresholds of the photograph, expanding the contrast of the middle range.

+ +

The Enhance button adjusts the histogram and shadows sliders to improve the quality of a photo.

+ +

When the photo's colors and contrast are to your liking, press OK to save the changes. Reset will return the image to its original state. Cancel discards all changes you've made.

+ +
+ ¿Qué hacen los ajustes del color? + + + Exposición +

Changes the brightness to make it look like the photo was exposed for a longer or shorter time. Use this to correct under- or over-exposed photos.

+
+ + Saturación +

Changes how vivid colors look. If your photo looks gray and washed out, try increasing the saturation. If colors look too bold, try decreasing it.

+
+ + Matiz +

This tints the photo with a color. It's useful for correcting photos taken with the wrong white balance setting, which typically have an unnatural color cast. For example, photos taken outdoors with the white balance set to "Tungsten" may have a blue cast.

+
+ + Temperatura +

Changes how "warm" or "cool" the picture looks. Use this to make cold, depressing scenes look more lively, for example.

+
+ + Sombras +

This makes shadowy areas appear lighter. Use this to make detail more visible if it's obscured by the darkness of a shadow.

+
+ + Umbral de intensidad (control deslizante en el histograma) +

These sliders change how light the brightest white is and how dark the darkest black is. Use them to change the contrast of the photo. Photos which look washed out should particularly benefit from changing these settings.

+
+
+
+ +
diff --git a/help/es/edit-crop.page b/help/es/edit-crop.page new file mode 100644 index 0000000..5187d86 --- /dev/null +++ b/help/es/edit-crop.page @@ -0,0 +1,57 @@ + + + + + + Improve the composition of a photo by cutting out parts of it. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Recortar + +

To reduce the area of a photo and concentrate the viewer's attention on a smaller portion of it, use the Crop tool. + The crop tool is only available in full-window or fullscreen mode.

+ + + +

Double-click on a photo to enter full-window mode, then press the Crop button on the toolbar.

+
+ +

A white box, the crop rectangle, will appear over the photo. The lighter portion of the photo within the crop rectangle represents what the photo will look like when you crop it.

+
+ +

If you place your cursor in the middle of the box, you can move the box around. If you drag the edges of the box, you can adjust its size. As you move and adjust the crop box, you'll see four lines appear inside it, like a tic-tac-toe grid. These are rule of thirds lines.

+

You can also constrain the crop box to one of many common sizes. Choose a size from the drop-down list that suits your needs. If you press the flip button next to it, the orientation of the constraint will switch (from landscape to portrait).

+
+ +

When you're happy with your crop outline, apply it by pressing the Crop button. Shotwell will display the cropped photo.

+
+ +

If you change your mind, press the Crop button again and fine-tune the crop.

+

If you press Cancel rather than Apply, Shotwell will return to the photo's previous crop dimensions.

+
+
+ +
+ ¿Qué es la regla de los tercios? +

The rule of thirds helps you to choose a pleasing composition for a photo.

+

Imagine that the scene is divided up into a 3x3 grid by two equally-spaced vertical lines and two equally-spaced horizontal lines. According to the rule, you're more likely to get a pleasing composition if you align major features (like the horizon, or a person's body) with one of the lines. Paying attention to the way features flow from one part of the grid to another can also help.

+

Cropping a photo so that it conforms to the rule of thirds often results in a more visually appealing image.

+ +

Cropping a photo, using the "rule of thirds" lines to improve the composition.

+
+
+
diff --git a/help/es/edit-date-time.page b/help/es/edit-date-time.page new file mode 100644 index 0000000..fe00e2f --- /dev/null +++ b/help/es/edit-date-time.page @@ -0,0 +1,31 @@ + + + + + + Change the date and time of photos if those details are incorrect. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Adjust the date and time of photos + +

To adjust the date and time of photos, select the photos you would like to adjust, choose PhotosAdjust Date and Time... and select a new date and time.

+ +

If you are changing the date and time of multiple photos at once, you can choose to shift all the photos by the same amount of time or to set all the photos to the same time.

+ +

By default, the date and time are only changed inside Shotwell. You can also choose to modify the date and time in the original file, but this cannot be undone once you exit Shotwell.

+ +
diff --git a/help/es/edit-enhance.page b/help/es/edit-enhance.page new file mode 100644 index 0000000..458a275 --- /dev/null +++ b/help/es/edit-enhance.page @@ -0,0 +1,28 @@ + + + + + + Let Shotwell improve the brightness and contrast of a photo automatically. + + + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Mejora automática + +

Clicking on the Enhance button is a quick way to automatically adjust the brightness and contrast of your photo. It will often give you a photo that is correctly exposed. You can also use it as a starting point and then improve the adjustments by clicking on the Adjust button.

+
diff --git a/help/es/edit-external.page b/help/es/edit-external.page new file mode 100644 index 0000000..f2c4c80 --- /dev/null +++ b/help/es/edit-external.page @@ -0,0 +1,61 @@ + + + + + + Usar un programa diferente para editar una foto. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Editar las fotos con un programa externo + +

+ You might want to use an external editor to do additional work on a photo. + If installed, GIMP and UFRaw are the default external editors for photo and RAW editing, + respectively. If these programs are not installed, you must select your preferred + editors by choosing EditPreferences and selecting + editors from drop-down menus of installed applications. +

+ +

+ Once your editors have been set, select a photo and choose Photos + Open With External Editor to open the photo with the external editor. + Likewise, if the original photo is a RAW file, select PhotosOpen + With RAW Editor to edit the RAW file directly with the set RAW editor. +

+ +

+ When you complete your edits and save the file, Shotwell will detect the changes and + update the photo. When external edits have been made, press and hold the + Shift key in full-window view to show the original photo rather than the + externally-edited one. +

+ +

Revertir al original borrará cualquier cambio externo.

+ + +

+ If you externally edit a RAW photo and save the result to another image, such as a + JPEG or PNG, Shotwell cannot automatically determine that the original RAW and the + new image should be paired. +

+ +

+ If you want to work within the resulting image within Shotwell, you'll need to + import it yourself. +

+
+
diff --git a/help/es/edit-nondestructive.page b/help/es/edit-nondestructive.page new file mode 100644 index 0000000..27302fa --- /dev/null +++ b/help/es/edit-nondestructive.page @@ -0,0 +1,32 @@ + + + + + + Shotwell is a non-destructive photo editor - it does not modify your original photos. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + ¿Qué sucede con el original cuando edito una foto? + +

Shotwell is a non-destructive photo editor. It does not modify your original photographs. That is to say, if you crop a photo or adjust its colors, the photo file on disc remains untouched. Shotwell stores your edits in a database and applies them on the fly as necessary. This means you can undo any alterations you make to a photograph.

+ +

If you want to see what a photo looked like before your modifications, press the Shift key. The original photo will be displayed as long as you hold the key down.

+ +

Note that Shotwell can optionally write metadata (such as tags and titles) to photo files. +For more information, see the section Photo files.

+ +
diff --git a/help/es/edit-redeye.page b/help/es/edit-redeye.page new file mode 100644 index 0000000..6df0a8e --- /dev/null +++ b/help/es/edit-redeye.page @@ -0,0 +1,37 @@ + + + + + + Corrige las fotos donde las personas tienen ojos rojos por el flash de la cámara. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Quitar los ojos rojos + +

Red-eye occurs when the camera's flash reflects off the pupil of someone's eye. To eliminate this in a photo, use the Red-eye tool.

+ + +

Pulse en Ojos Rojos. Un círculo aparecerá en la foto.

+
+ +

Drag the circle over the affected pupil, adjust its size with the slider control, and press Apply. The redness will be removed.

+
+ +

Repeat this process for all red pupils in your photo. Press Close when finished.

+
+
+
diff --git a/help/es/edit-rotate.page b/help/es/edit-rotate.page new file mode 100644 index 0000000..e4adf64 --- /dev/null +++ b/help/es/edit-rotate.page @@ -0,0 +1,38 @@ + + + + + + Pulse el botón Girar, o elija uno de los comandos en el menú Foto. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Girar o voltear una foto + +

You can rotate your photos left and right (clockwise and counterclockwise) with the Rotate button on the toolbar of most views. You can also make a mirror image of any photo.

+ +

To rotate right, click on the Rotate button. To rotate left, press and hold the Ctrl key and then click the button. Both commands are available in the Photos menu too. Alternatively, use the following keyboard shortcuts:

+ +

rotar a la izquierda: MayúsCtrlR o [

+

rotar a la derecha: CtrlR or ]

+
+

To create a mirror image of a photo, use the Flip Horizontally command in the Photos menu. To flip an image vertically, use the Flip Vertically command in the same menu.

+ + +

Si selecciona más de una imagen, puede girar todas ellas al mismo tiempo.

+
+ +
diff --git a/help/es/edit-straighten.page b/help/es/edit-straighten.page new file mode 100644 index 0000000..b78ca77 --- /dev/null +++ b/help/es/edit-straighten.page @@ -0,0 +1,39 @@ + + + + + + Enderezar una foto tal que su horizonte aparezca nivelado. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Enderezar fotos + +

The straighten tools allows photos to be leveled and straightened. The straighten tool is only available in full-window or fullscreen mode.

+ + + +

Click Straighten. The straighten slider will appear. Alternatively, use the keyboard shortcut CtrlA.

+
+ +

Arrastre el control deslizante para conseguir el grado que quiera de enderezamiento.

+
+ +

Press Straighten when finished.

+
+
+ +
diff --git a/help/es/edit-undo.page b/help/es/edit-undo.page new file mode 100644 index 0000000..d93a55b --- /dev/null +++ b/help/es/edit-undo.page @@ -0,0 +1,33 @@ + + + + + + Restaurar una foto a su estado original, sin edición. + + + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Deshacer cambios + +

Because Shotwell is a non-destructive photo editor, you can undo any alterations you make to a photograph.

+ +

If you want to see what a photo looked like before your modifications, press the Shift key. The original photo will be displayed as long as you hold the key down.

+ +

To completely undo all the changes you've made to a photo, click PhotosRevert to Original. The only exception is that time and date adjustments will not be reverted.

+ +
diff --git a/help/es/es.po b/help/es/es.po index 6f7b496..1e7189f 100644 --- a/help/es/es.po +++ b/help/es/es.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: shotwell master\n" -"POT-Creation-Date: 2016-03-09 08:19+0000\n" -"PO-Revision-Date: 2016-03-10 11:49+0100\n" +"POT-Creation-Date: 2016-07-04 07:20+0000\n" +"PO-Revision-Date: 2016-07-04 14:35+0200\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español; Castellano \n" "Language: es\n" @@ -19,1330 +19,1236 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 2.91.6\n" -#: C/view-sidebar.page:7(desc) -msgid "" -"The sidebar on the left of the window lists various views of your library." +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" msgstr "" -"La barra lateral de la izquierda de la ventana lista varios tipos de vistas " -"de su biblioteca." +"Daniel Mustieles , 2014 - 2016\n" +"Dámaris Letelier , 2014" -#: C/view-sidebar.page:21(title) -msgid "The sidebar" -msgstr "La barra lateral" +#. (itstool) path: info/desc +#: C/edit-adjustments.page:7 +msgid "Change the exposure, saturation, tint, and shadows of a photo." +msgstr "Cambiar la exposición, saturación, matiz y sombras de una foto." + +#. (itstool) path: page/title +#: C/edit-adjustments.page:12 +msgid "Color adjustments" +msgstr "Ajustes del color" -#: C/view-sidebar.page:23(p) +#. (itstool) path: page/p +#: C/edit-adjustments.page:14 msgid "" -"The sidebar on the left side of the Shotwell window lists various views of " -"your library. Although you may see the same photo in multiple views, it's " -"only stored once on your hard drive." +"The Adjust button opens a floating window with a histogram and " +"sliders to adjust a photo's exposure, saturation, tint, temperature, and " +"shadows. The histogram also has sliders to reduce the upper and lower " +"intensity thresholds of the photograph, expanding the contrast of the middle " +"range." msgstr "" -"La barra lateral a la izquierda de la ventana de Shotwell lista varias " -"vistas de su biblioteca. Aunque puede ver muchas vistas de la misma foto, " -"solo se almacena una en su disco duro" -#: C/view-sidebar.page:25(p) +#. (itstool) path: page/p +#: C/edit-adjustments.page:16 msgid "" -"The Last Import view lists your last imported photos no matter if " -"they are imported from F-Spot, your camera, a memory card or the hard disk." +"The Enhance button adjusts the histogram and shadows sliders to " +"improve the quality of a photo." msgstr "" -"La vista Última importación lista sus últimas fotos importadas no " -"importa si estas se importaron de F-Spot, su cámara, una tarjeta de memoria " -"o su disco duro." -#: C/view-sidebar.page:27(p) -msgid "The Flagged lists all photos you had previous flagged." +#. (itstool) path: page/p +#: C/edit-adjustments.page:18 +msgid "" +"When the photo's colors and contrast are to your liking, press OK " +"to save the changes. Reset will return the image to its original " +"state. Cancel discards all changes you've made." msgstr "" -"La opción Marcada lista todas las fotos que ha marcado " -"anteriormente." -#: C/view-sidebar.page:29(p) +#. (itstool) path: section/title +#: C/edit-adjustments.page:21 +msgid "What do the color adjustments do?" +msgstr "¿Qué hacen los ajustes del color?" + +#. (itstool) path: item/title +#: C/edit-adjustments.page:24 +msgid "Exposure" +msgstr "Exposición" + +#. (itstool) path: item/p +#: C/edit-adjustments.page:25 msgid "" -"The Saved Search allows you to sort your library by many criteria." +"Changes the brightness to make it look like the photo was exposed for a " +"longer or shorter time. Use this to correct under- or over-exposed photos." msgstr "" -"La Búsqueda guardada le permite ordenar su biblioteca bajo " -"diferentes criterios." -#: C/view-sidebar.page:31(p) +#. (itstool) path: item/title +#: C/edit-adjustments.page:28 +msgid "Saturation" +msgstr "Saturación" + +#. (itstool) path: item/p +#: C/edit-adjustments.page:29 msgid "" -"The Events folder lists all events in your library. An event is a " -"group of photos that were taken at approximately the same time." +"Changes how vivid colors look. If your photo looks gray and washed out, try " +"increasing the saturation. If colors look too bold, try decreasing it." msgstr "" -"La carpeta de Eventos lista todos los eventos en su biblioteca.Un " -"evento es un grupo de fotos que se tomaron aproximadamente al mismo tiempo." -#: C/view-sidebar.page:33(p) +#. (itstool) path: item/title +#: C/edit-adjustments.page:32 +msgid "Tint" +msgstr "Matiz" + +#. (itstool) path: item/p +#: C/edit-adjustments.page:33 msgid "" -"The Tags folder lists all tags you've assigned to photos. Photos " -"can have multiple tags attached to them. When you click on the name of a tag " -"in the sidebar, you will see all the photos associated with that tag." +"This tints the photo with a color. It's useful for correcting photos taken " +"with the wrong white balance setting, which typically have an unnatural " +"color cast. For example, photos taken outdoors with the white balance set to " +"\"Tungsten\" may have a blue cast." msgstr "" -"La carpeta Etiquetas lista todas las etiquetas que ha asignado a " -"sus fotos. Las fotos pueden tener múltiples etiquetas relacionadas con las " -"mismas. Cuando posiciona el cursor sobre el nombre de una etiqueta en la " -"barra lateral, podrá ver todas las fotos asociadas a esa etiqueta." -#: C/view-information.page:7(desc) +#. (itstool) path: item/title +#: C/edit-adjustments.page:36 +msgid "Temperature" +msgstr "Temperatura" + +#. (itstool) path: item/p +#: C/edit-adjustments.page:37 msgid "" -"View more detailed information about photos, like the exposure mode used by " -"the camera." +"Changes how \"warm\" or \"cool\" the picture looks. Use this to make cold, " +"depressing scenes look more lively, for example." msgstr "" -"Ver información más detallada sobre las fotos, como el modo de exposición " -"usado por la cámara." -#: C/view-information.page:12(title) -msgid "Basic and extended information" -msgstr "Información básica y extendida" +#. (itstool) path: item/title +#: C/edit-adjustments.page:40 +msgid "Shadows" +msgstr "Sombras" -#: C/view-information.page:14(p) +#. (itstool) path: item/p +#: C/edit-adjustments.page:41 msgid "" -"The Basic Information pane appears at the bottom of the sidebar, and " -"displays a brief summary of the photos you've selected. If no photos are " -"selected, it displays a summary of the entire collection. You can toggle the " -"display of this pane using the ViewBasic " -"Information command." +"This makes shadowy areas appear lighter. Use this to make detail more " +"visible if it's obscured by the darkness of a shadow." msgstr "" -"El panel de información básica aparece en la parte inferior de la barra " -"lateral, y muestra un breve resumen de las fotos que ha seleccionado. Si no " -"se ha seleccionado ninguna foto, muestra un resumen de la colección " -"completa. Puede cambiar la visibilidad de este panel usando el comando " -"VerInformación básica." -#: C/view-information.page:16(p) +#. (itstool) path: item/title +#: C/edit-adjustments.page:44 +msgid "Intensity Threshold (sliders on the histogram)" +msgstr "Umbral de intensidad (control deslizante en el histograma)" + +#. (itstool) path: item/p +#: C/edit-adjustments.page:45 msgid "" -"The floating Extended Information window displays more information about the " -"selected photo. The ViewExtended Information command or CtrlShiftX toggles the display of this window." +"These sliders change how light the brightest white is and how dark the " +"darkest black is. Use them to change the contrast of the photo. Photos which " +"look washed out should particularly benefit from changing these settings." msgstr "" -#: C/view-displaying.page:7(desc) +#. (itstool) path: media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: C/edit-crop.page:42 +msgctxt "_" msgid "" -"Learn about different ways of viewing your photos: in a grid, filling the " -"main window, or filling the whole screen." +"external ref='figures/crop_thirds.jpg' md5='4cf0a026bb812c7eab0c9db8210a9524'" msgstr "" -"Aprenda sobre diferentes formas de ver sus fotos: en una cuadrícula, " -"llenando la ventana principal o a pantalla completa." +"external ref='figures/crop_thirds.jpg' md5='4cf0a026bb812c7eab0c9db8210a9524'" -#: C/view-displaying.page:12(title) -msgid "Photo views" -msgstr "Vistas de fotos" +#. (itstool) path: info/desc +#: C/edit-crop.page:7 +msgid "Improve the composition of a photo by cutting out parts of it." +msgstr "" + +#. (itstool) path: page/title +#: C/edit-crop.page:12 +msgid "Cropping" +msgstr "Recortar" -#: C/view-displaying.page:14(p) +#. (itstool) path: page/p +#: C/edit-crop.page:14 msgid "" -"When you select any collection in the sidebar, Shotwell displays all photos " -"in the collection in the main window area. At the bottom right is a slider " -"which adjusts the viewing size of the thumbnails. You may also adjust the " -"thumbnail size using the plus and minus keys (+ and -) " -"or by pressing Ctrl while moving your mouse scroll wheel." +"To reduce the area of a photo and concentrate the viewer's attention on a " +"smaller portion of it, use the Crop tool. The crop tool is only available in " +"full-window or fullscreen mode." msgstr "" -"Cuando selecciona cualquier colección en la barra lateral, Shotwell muestra " -"todas las fotos en esa colección en la ventana principal. En la esquina " -"inferior derecha hay un control deslizante que puede ajustar el tamaño de " -"las vistas miniatura. Puede ajustar el tamaño de las miniaturas usando las " -"teclas más y menos (+ y -) o presionando Ctrl mientras mueve la rueda central del ratón." -#: C/view-displaying.page:16(p) +#. (itstool) path: item/p +#: C/edit-crop.page:19 msgid "" -"You can view a photo full-window by double-clicking on it. From there you " -"may move to other photos in the collection with the Back and Forward " -"buttons. To return to the collection, double-click on the photo or press " -"Esc." +"Double-click on a photo to enter full-window mode, then press the Crop button on the toolbar." msgstr "" -"Puede ver la vista de la foto en pantalla completa pulsando dos veces. Desde " -"ahí puede moverse a otras fotos en la colección con los botones de retroceso " -"y avance. Puede regresar a la colección, pulsando dos veces en la foto o " -"presionando Esc." -#: C/view-displaying.page:18(p) +#. (itstool) path: item/p +#: C/edit-crop.page:22 msgid "" -"When viewing a photo in full-window mode, the slider on the toolbar controls " -"zoom. You can pan around by grabbing and dragging anywhere on the photo. You " -"can also zoom using your scroll wheel or by pressing the following keyboard " -"shortcuts: Ctrl0 for the full image, " -"Ctrl1 for 100% (1 photo pixel = 1 screen pixel), " -"and Ctrl2 for 200% (1 photo pixel = 2x2 screen " -"pixels)." +"A white box, the crop rectangle, will appear over the photo. The lighter " +"portion of the photo within the crop rectangle represents what the photo " +"will look like when you crop it." msgstr "" -#: C/view-displaying.page:20(p) +#. (itstool) path: item/p +#: C/edit-crop.page:25 msgid "" -"Shotwell offers a fullscreen mode to display photos. Choose " -"ViewFullscreen or press F11. To see the fullscreen toolbar, move your mouse to the bottom of the " -"screen. The toolbar offers buttons to move through the collection, to pin " -"the toolbar down (so it isn't hidden when you move the mouse away), and to " -"leave fullscreen view." +"If you place your cursor in the middle of the box, you can move the box " +"around. If you drag the edges of the box, you can adjust its size. As you " +"move and adjust the crop box, you'll see four lines appear inside it, like a " +"tic-tac-toe grid. These are rule of thirds lines." msgstr "" -"Shotwell ofrece un modo de pantalla completa para mostrar las fotos. Escoja " -"VerPantalla completa o presione " -"F11. Para ver la barra de herramientas de pantalla completa, " -"mueva su ratón a la parte inferior de la pantalla. La barra de herramientas " -"le ofrece botones para moverse a través de la colección, para fijar la barra " -"de herramientas (así esta no se ocultará cuando mueva el ratón), y dejar la " -"vista de pantalla completa." -#: C/view-displaying.page:23(title) -msgid "Viewing videos" -msgstr "Ver vídeos" - -#: C/view-displaying.page:24(p) +#. (itstool) path: item/p +#: C/edit-crop.page:26 msgid "" -"When you double-click a video, Shotwell will launch an external video player " -"to play the video. It's not currently possible to display a video in full-" -"window mode in Shotwell or to play the video within Shotwell itself." +"You can also constrain the crop box to one of many common sizes. Choose a " +"size from the drop-down list that suits your needs. If you press the flip " +"button next to it, the orientation of the constraint will switch (from " +"landscape to portrait)." msgstr "" -"Cuando pulse dos veces sobre un vídeo, Shotwell lanzará un reproductor de " -"vídeo externo para reproducir el vídeo. Actualmente no es posible mostrar un " -"vídeo en modo a pantalla completa o reproducirlo dentro del propio Shotwell" -#: C/share-upload.page:7(desc) -msgid "Publish photos to Facebook, Flickr, Picasa Web Albums, or other sites." +#. (itstool) path: item/p +#: C/edit-crop.page:29 +msgid "" +"When you're happy with your crop outline, apply it by pressing the " +"Crop button. Shotwell will display the cropped photo." msgstr "" -"Publica fotos en Facebook, Flickr, álbumes web de Picasa o en otros sitios." -#: C/share-upload.page:12(title) -msgid "Publishing to the Web" -msgstr "Publicar en la web" - -#: C/share-upload.page:14(p) +#. (itstool) path: item/p +#: C/edit-crop.page:32 msgid "" -"Through the use of plugins, Shotwell can " -"publish photos and videos to the following services, each of which requires " -"an account:" +"If you change your mind, press the Crop button again and fine-" +"tune the crop." msgstr "" -"Gracias al uso de complementos, Shotwell " -"puede publicar fotos y vídeos en los siguientes servicios, para los que se " -"requiere una cuenta." - -#: C/share-upload.page:18(link) -msgid "Facebook" -msgstr "Facebook" -#: C/share-upload.page:19(link) -msgid "Flickr" -msgstr "Flickr" - -#: C/share-upload.page:20(p) +#. (itstool) path: item/p +#: C/edit-crop.page:33 msgid "" -"Picasa Web Albums and " -"Google+" +"If you press Cancel rather than Apply, Shotwell will " +"return to the photo's previous crop dimensions." msgstr "" -"Álbumes de Picasa Web y " -"Google+" -#: C/share-upload.page:21(p) -msgid "YouTube (videos only)" -msgstr "YouTube (sólo vídeos)" +#. (itstool) path: section/title +#: C/edit-crop.page:38 +msgid "What is the rule of thirds?" +msgstr "¿Qué es la regla de los tercios?" -#: C/share-upload.page:22(p) +#. (itstool) path: section/p +#: C/edit-crop.page:39 msgid "" -"Yandex.Fotki, a photo site " -"popular in Russia (photos only)" +"The rule of thirds helps you to choose a pleasing composition for a " +"photo." msgstr "" -"Yandex.Fotki, una página de " -"fotos popular en Rusia (sólo fotos)" -#: C/share-upload.page:23(p) +#. (itstool) path: section/p +#: C/edit-crop.page:40 msgid "" -"Any site running the Piwigo photo " -"gallery software (photos only)" +"Imagine that the scene is divided up into a 3x3 grid by two equally-spaced " +"vertical lines and two equally-spaced horizontal lines. According to the " +"rule, you're more likely to get a pleasing composition if you align major " +"features (like the horizon, or a person's body) with one of the lines. " +"Paying attention to the way features flow from one part of the grid to " +"another can also help." msgstr "" -"Cualquier sitio que ejecute el software de galería de fotos Piwigo (sólo fotos)" -#: C/share-upload.page:26(p) +#. (itstool) path: section/p +#: C/edit-crop.page:41 msgid "" -"To publish selected photos in a collection, choose EditPreferences and click on the Plugins tab " -"to enable the plugin for the service you want to publish to. Next, choose, " -"FilePublish, press the Publish toolbar button or use CtrlP. You " -"will see a dialog that lets you select a publishing service. You will then " -"need to log in or create an account." +"Cropping a photo so that it conforms to the rule of thirds often results in " +"a more visually appealing image." msgstr "" -"Para publicar las fotos seleccionadas en una colección, elija " -"EditarPreferencias y pulse en la " -"pestaña Complementos para activar el complemento del servicio en " -"el que quiere publicar. A continuación, elija ArchivoPublicar, pulse el botón Publicar en la " -"barra de herramientas o pulse CtrlP. " -"Verá un diálogo que le permite elegir el servicio de publicación. Necesitará " -"iniciar sesión o crear una cuenta." -#: C/share-upload.page:31(p) +#. (itstool) path: media/p +#: C/edit-crop.page:43 msgid "" -"Publishing to Facebook requires you to grant certain permissions to the " -"Shotwell Connect Facebook application. You only need to grant these " -"permissions once, when you first associate Shotwell Connect with your " -"Facebook account." +"Cropping a photo, using the \"rule of thirds\" lines to improve the " +"composition." msgstr "" -"Publicar en Facebook requiere que conceda ciertos permisos a la aplicación " -"Conectar Shotwell con Facebook. Solo necesita conceder los permisos una vez, " -"la primera vez que asocie Shotwell con su cuenta de Facebook." -#: C/share-upload.page:35(p) +#. (itstool) path: info/desc +#: C/edit-enhance.page:7 msgid "" -"Similarly, publishing to Flickr requires you to log in and permit Shotwell " -"Connect to access your account." +"Let Shotwell improve the brightness and contrast of a photo automatically." msgstr "" -"Del mismo modo, publicar en Flickr requiere que inicie sesión y permita que " -"Shotwell Connect acceda a su cuenta." -#: C/share-upload.page:37(p) +#. (itstool) path: page/title +#: C/edit-enhance.page:14 +msgid "Auto-enhance" +msgstr "Mejora automática" + +#. (itstool) path: page/p +#: C/edit-enhance.page:16 msgid "" -"If you have a Google account, but have not yet used Picasa Web Albums, you " -"will need to log in to Picasa using a browser once before you can publish to " -"this service." -msgstr "" -"Si tiene una cuenta de Google, pero nunca ha usado los álbumes web de " -"Picasa, necesitará iniciar sesión en Picasa usando un navegador antes de " -"poder publicar algo en este servicio." +"Clicking on the Enhance button is a quick way to automatically " +"adjust the brightness and contrast of your photo. It will often give you a " +"photo that is correctly exposed. You can also use it as a starting point and " +"then improve the adjustments by clicking on the Adjust button." +msgstr "" -#: C/share-slideshow.page:7(desc) -msgid "Watch a slideshow of your photos." -msgstr "Ver sus fotos como diapositivas." +#. (itstool) path: info/desc +#: C/edit-external.page:7 +msgid "Use a different program to edit a photo." +msgstr "Usar un programa diferente para editar una foto." -#: C/share-slideshow.page:12(title) -msgid "Slideshows" -msgstr "Diapositivas" +#. (itstool) path: page/title +#: C/edit-external.page:12 +msgid "Edit photos with an external program" +msgstr "Editar las fotos con un programa externo" -#: C/share-slideshow.page:14(p) +#. (itstool) path: page/p +#: C/edit-external.page:16 msgid "" -"To see a sideshow of any collection in Shotwell, navigate to that collection " -"and select ViewSlideshow or press " -"F5." +"You might want to use an external editor to do additional work on a photo. " +"If installed, GIMP and UFRaw are the default external editors for photo and " +"RAW editing, respectively. If these programs are not installed, you must " +"select your preferred editors by choosing EditPreferences and selecting editors from drop-down " +"menus of installed applications." msgstr "" -"Para ver una presentación de diapositivas en Shotwell, navegue hasta la " -"colección y elija VerPresentación o " -"pulse F5." -#: C/share-slideshow.page:16(p) -msgid "You can change some settings in a running slideshow:" +#. (itstool) path: page/p +#: C/edit-external.page:24 +msgid "" +"Once your editors have been set, select a photo and choose " +"Photos Open With External Editor to " +"open the photo with the external editor. Likewise, if the original photo is " +"a RAW file, select PhotosOpen With RAW Editor to edit the RAW file directly with the set RAW editor." msgstr "" -"Puede cambiar algunas configuraciones de una presentación de diapositivas en " -"ejecución:" -#: C/share-slideshow.page:19(p) -msgid "The duration how long an image should be shown: 1 - 30 seconds" +#. (itstool) path: page/p +#: C/edit-external.page:31 +msgid "" +"When you complete your edits and save the file, Shotwell will detect the " +"changes and update the photo. When external edits have been made, press and " +"hold the Shift key in full-window view to show the original photo " +"rather than the externally-edited one." msgstr "" -"La duración de cuánto tiempo se debe mostrar una imagen: 1 - 30 segundos" - -#: C/share-slideshow.page:20(p) -msgid "You can select different transition effects." -msgstr "Puede seleccionar diferentes efectos de transición." - -#: C/share-slideshow.page:21(p) -msgid "The time for each transition effect: 0.1 - 1.0 seconds" -msgstr "El tiempo para cada efecto de transición: 0.1 - 1.0 segundos" - -#: C/share-send.page:7(desc) -msgid "Send photos via email, instant messaging or in other ways." -msgstr "Enviar fotos por correo-e, mensajería instantánea u otras maneras." -#: C/share-send.page:12(title) -msgid "Sending photos" -msgstr "Enviar fotos" +#. (itstool) path: page/p +#: C/edit-external.page:38 +msgid "Reverting to original will erase any external edits." +msgstr "Revertir al original borrará cualquier cambio externo." -#: C/share-send.page:14(p) +#. (itstool) path: note/p +#: C/edit-external.page:43 msgid "" -"Shotwell can send photos using the GNOME desktop's Send To mechanism, which " -"lets you send photos via email, instant messaging or in other ways." +"If you externally edit a RAW photo and save the result to another image, " +"such as a JPEG or PNG, Shotwell cannot automatically determine that the " +"original RAW and the new image should be paired." msgstr "" -"Shotwell puede enviar fotos usando el mecanismo de «Enviar a» de GNOME, lo " -"que le permite enviar fotos por correo-e, mensajería instantánea u otras " -"maneras." -#: C/share-send.page:16(p) +#. (itstool) path: note/p +#: C/edit-external.page:49 msgid "" -"To send photos, select them in Shotwell and choose FileSend To..., or right-click the photos and choose " -"Send To... from the context menu. A Send To dialog box " -"will appear which lets you choose a mechanism for sending the files (such as " -"email or instant messaging) and a destination. You can optionally choose to " -"send the files in a compressed format." +"If you want to work within the resulting image within Shotwell, you'll need " +"to import it yourself." msgstr "" -"Para enviar fotos, selecciónelas en Shotwell y después " -"escojaArchivoEnviar a..., o pulse con " -"el botón derecho en las fotos y escoja Enviar a ... del menú " -"contextual. Aparecerá una caja de diálogo en donde puede escoger la forma " -"para enviar los archivos (como correo electrónico o mensaje instantáneo) y " -"el destino. Puede, opcionalmente, enviar los archivos en un formato " -"comprimido." -#: C/share-print.page:7(desc) +#. (itstool) path: info/desc +#: C/edit-nondestructive.page:7 msgid "" -"Click FilePrint. For more printing " -"options, select the Page Setup tab in the Print dialog." +"Shotwell is a non-destructive photo editor - it does not modify your " +"original photos." msgstr "" -"Pulse ArchivoImprimir. Para más " -"opciones de impresión, seleccione la pestaña Configuración de página en el diálogo Imprimir." -#: C/share-print.page:12(title) -msgid "Printing" -msgstr "Imprimir" +#. (itstool) path: page/title +#: C/edit-nondestructive.page:12 +msgid "What happens to the original when I edit a photo?" +msgstr "¿Qué sucede con el original cuando edito una foto?" -#: C/share-print.page:14(p) +#. (itstool) path: page/p +#: C/edit-nondestructive.page:14 msgid "" -"To print a photo, select it and choose FilePrint." +"Shotwell is a non-destructive photo editor. It does not modify your original " +"photographs. That is to say, if you crop a photo or adjust its colors, the " +"photo file on disc remains untouched. Shotwell stores your edits in a " +"database and applies them on the fly as necessary. This means you can undo " +"any alterations you make to a photograph." msgstr "" -"Para imprimir una foto, selecciónela y elija ArchivoImprimir." -#: C/share-print.page:16(p) +#. (itstool) path: page/p +#: C/edit-nondestructive.page:16 C/edit-undo.page:18 msgid "" -"Shotwell can also print multiple images in one page; to do this, select " -"multiple images, choose FilePrint, " -"and in the Print dialog, choose the Image Settings " -"tab. In Image Settings, choose one of the multiple-image-per-page " -"options under Autosize." +"If you want to see what a photo looked like before your modifications, press " +"the Shift key. The original photo will be displayed as long as " +"you hold the key down." msgstr "" -"Shotwell puede también imprimir varias imágenes en una página; para hacer " -"esto, seleccione las imágenes, escoja ArchivoImprimir y en el cuadro de diálogo Imprimir, seleccione la pestaña Configuraciones de la imagen. " -"EnConfiguración de la imagen, escoja una de las opciones " -"múltiples imágenes por página en Tamaño automático." -#: C/share-print.page:23(p) +#. (itstool) path: page/p +#: C/edit-nondestructive.page:18 msgid "" -"If you would like to set formatting, paper size, and orientation options, " -"choose the Page Setup tab in the Print dialog prior to " -"printing." -msgstr "" -"Si quiere establecer el formato, el tamaño del papel, y la orientación, " -"seleccione la pestaña Configuración de la páginaen el cuadro de " -"diálogo Imprimir antes de imprimir." - -#: C/share-export.page:7(desc) -msgid "Copy photos out of Shotwell so you can put them somewhere else." +"Note that Shotwell can optionally write metadata (such as tags and titles) " +"to photo files. For more information, see the section Photo files." msgstr "" -"Copiar fotos fuera Shotwell, para poder ponerlas en cualquier otro lugar." -#: C/share-export.page:12(title) -msgid "Exporting photos" -msgstr "Exportar fotos" - -#: C/share-export.page:14(p) +#. (itstool) path: info/desc +#: C/edit-redeye.page:7 msgid "" -"To export photos from Shotwell via drag and drop, drag the photos from " -"Shotwell onto a file manager window or your desktop. The new files will be " -"full-sized copies of the photos in your library." +"Correct photos where people have red eyes because of the camera's flash." msgstr "" -"Para exportar fotos desde Shotwell usando arrastrar y soltar, arrastre desde " -"Shotwell hacia una ventana de manejador de archivos o su escritorio. Los " -"archivos nuevos serán copias de tamaño completo de las fotos de su " -"biblioteca." +"Corrige las fotos donde las personas tienen ojos rojos por el flash de la " +"cámara." + +#. (itstool) path: page/title +#: C/edit-redeye.page:12 +msgid "Removing red-eye" +msgstr "Quitar los ojos rojos" -#: C/share-export.page:18(p) +#. (itstool) path: page/p +#: C/edit-redeye.page:14 msgid "" -"Alternatively, select a set of photos and choose the FileExport command or press ShiftCtrlE, which exports photos while letting " -"you fine-tune the size and dimensions of your photo files. A window will " -"appear allowing you to make several choices:" +"Red-eye occurs when the camera's flash reflects off the pupil of someone's " +"eye. To eliminate this in a photo, use the Red-eye tool." msgstr "" -#: C/share-export.page:24(p) -msgid "A format for export." -msgstr "Un formato al que exportar." +#. (itstool) path: item/p +#: C/edit-redeye.page:17 +msgid "Click Red-eye. A circle will appear on the photo." +msgstr "Pulse en Ojos Rojos. Un círculo aparecerá en la foto." -#: C/share-export.page:27(p) +#. (itstool) path: item/p +#: C/edit-redeye.page:20 msgid "" -"Choose Unmodified to export photos in their original format " -"without any edits made in Shotwell. RAW photos will be exported in their " -"original RAW format." +"Drag the circle over the affected pupil, adjust its size with the slider " +"control, and press Apply. The redness will be removed." msgstr "" -"Selecione Sin modificar para exportar las fotos en su formato " -"original, sin ninguna modificación hecha en Shotwell. Las fotos en bruto se " -"exportarán en su formato original." -#: C/share-export.page:29(p) +#. (itstool) path: item/p +#: C/edit-redeye.page:23 msgid "" -"Choose Current to export photos including edits made in Shotwell. " -"RAW photos will be exported in JPEG format if you have edited them in " -"Shotwell, and otherwise in their original RAW format." +"Repeat this process for all red pupils in your photo. Press Close " +"when finished." msgstr "" -"Escoja Actual para exportar las fotos, incluyendo las editadas en " -"Shotwell. Las fotos en bruto se exportarán en formato JPEG si las editó en " -"Shotwell, y si no en su formato en bruto original." -#: C/share-export.page:31(p) +#. (itstool) path: info/desc +#: C/edit-rotate.page:7 msgid "" -"Or you can choose a particular image format (JPEG, PNG, TIFF, BMP) to be " -"used for exporting. Any edits made in Shotwell will be included, and " -"Shotwell will convert photos to the destination format." +"Click the Rotate button, or choose one of the commands in the " +"Photo menu." msgstr "" -"O puede seleccionar un formato de imagen específico (JPEG, PNG,TIFF, BMP) " -"para usar en la exportación. Cualquier edición hecha en Shotwell se " -"incluirá, y Shotwel convertirá las fotos al formato de destino." +"Pulse el botón Girar, o elija uno de los comandos en el menú " +"Foto." -#: C/share-export.page:37(p) -msgid "The image quality for exporting (Low, Medium, High, or Maximum)." -msgstr "La calidad de la imagen al exportarla (baja, media, alta o máxima)." +#. (itstool) path: page/title +#: C/edit-rotate.page:12 +msgid "Rotate or flip a photo" +msgstr "Girar o voltear una foto" -#: C/share-export.page:38(p) +#. (itstool) path: page/p +#: C/edit-rotate.page:14 msgid "" -"A scaling constraint (which means how Shotwell will decide to scale the " -"photos down), and the desired pixel size." +"You can rotate your photos left and right (clockwise and counterclockwise) " +"with the Rotate button on the toolbar of most views. You can also " +"make a mirror image of any photo." msgstr "" -"Una restricción de la escala (que significa cómo Shotwell va a decidir " -"reducir la escala proporcionalmente), y el tamaño de píxel requerido." -#: C/share-export.page:39(p) +#. (itstool) path: page/p +#: C/edit-rotate.page:16 msgid "" -"The option whether you like to export metadatas such as tags or ratings. " -"This can help to save your privacy if you have geolocation tags or tags " -"which shouldn't be seen by anyone." +"To rotate right, click on the Rotate button. To rotate left, " +"press and hold the Ctrl key and then click the button. Both " +"commands are available in the Photos menu too. Alternatively, use " +"the following keyboard shortcuts:" msgstr "" -#: C/share-export.page:42(p) +#. (itstool) path: item/p +#: C/edit-rotate.page:18 msgid "" -"If selected, Shotwell will write tags, titles, and other metadata to the new " -"files." +"rotate left: ShiftCtrlR or " +"[" msgstr "" -"Si está seleccionada, Shotwell escribirá etiquetas, títulos y otros " -"metadatos a los nuevos archivos." +"rotar a la izquierda: MayúsCtrlR o [" -#: C/share-background.page:7(desc) +#. (itstool) path: item/p +#: C/edit-rotate.page:19 msgid "" -"Set your desktop background to a single photo or to a slideshow of photos." +"rotate right: CtrlR or ]" msgstr "" -"Configure su fondo de escritorio como una única foto o como una presentación " -"de fotos." - -#: C/share-background.page:12(title) -msgid "Set a desktop background or slideshow" -msgstr "Configurar un fondo de escritorio o presentación" +"rotar a la derecha: CtrlR or ]" -#: C/share-background.page:14(p) +#. (itstool) path: page/p +#: C/edit-rotate.page:21 msgid "" -"To set a single photo as your desktop background, select the photo and " -"choose FileSet as Desktop Background." +"To create a mirror image of a photo, use the Flip Horizontally " +"command in the Photos menu. To flip an image vertically, use the " +"Flip Vertically command in the same menu." msgstr "" -"Para establecer una única foto como fondo del escritorio, seleccione la foto " -"y escriba ArchivoEstablecer como fondo del " -"escritorio." -#: C/share-background.page:16(p) +#. (itstool) path: note/p +#: C/edit-rotate.page:24 msgid "" -"You can also set your background to a slideshow of photos. To do this, " -"select the photos for the slideshow and choose FileSet as Desktop Slideshow. Shotwell will prompt you " -"for a slideshow delay, which can be any interval up to one day in length. " -"The background slideshow will proceed even when Shotwell is not running." +"If you select more than one image, you can rotate all of them at the same " +"time." msgstr "" +"Si selecciona más de una imagen, puede girar todas ellas al mismo tiempo." -#: C/running.page:7(desc) -msgid "" -"Find Shotwell in the Applications menu, or have it start automatically when " -"you plug in a camera." -msgstr "" -"Busque Shotwell en el menú Aplicaciones o haga que se inicie automáticamente " -"cuando conecta una cámara." +#. (itstool) path: info/desc +#: C/edit-straighten.page:7 +msgid "Straighten a photo so that its horizon appears level." +msgstr "Enderezar una foto tal que su horizonte aparezca nivelado." -#: C/running.page:14(title) -msgid "Running Shotwell" -msgstr "Ejecutar Shotwell" +#. (itstool) path: page/title +#: C/edit-straighten.page:12 +msgid "Straighten photos" +msgstr "Enderezar fotos" -#: C/running.page:16(p) +#. (itstool) path: page/p +#: C/edit-straighten.page:14 msgid "" -"Once installed, Shotwell is available in your Applications menu " -"under Graphics or Photography." +"The straighten tools allows photos to be leveled and straightened. The " +"straighten tool is only available in full-window or fullscreen mode." msgstr "" -"Una vez instalado, Shotwell estará disponible en su menú Aplicaciones, en Gráficos o en Fotografía." -#: C/running.page:18(p) +#. (itstool) path: item/p +#: C/edit-straighten.page:18 msgid "" -"Shotwell may also be executed automatically when a camera is plugged in to " -"your computer. To check that your system is set up to run Shotwell when a " -"camera is detected, go to EditPreferences in any Nautilus (file browser) window and choose the Media tab.  You'll see a dropdown box entitled Photos: which lets " -"you choose Shotwell as your photo handling application." +"Click Straighten. The straighten slider will appear. " +"Alternatively, use the keyboard shortcut CtrlA." msgstr "" -#: C/running.page:25(p) -msgid "" -"Shotwell may also be executed directly from its build directory, although " -"this is only recommended for testing out Shotwell or for developers." +#. (itstool) path: item/p +#: C/edit-straighten.page:21 +msgid "Drag the slider to achieve the desired degree of straightening." msgstr "" -"También puede ejecutar Shotwell directamente desde la carpeta en la que se " -"construyó, pero esto sólo se recomienda para probar Shotwell o para " -"desarrolladores." +"Arrastre el control deslizante para conseguir el grado que quiera de " +"enderezamiento." -#: C/raw.page:7(desc) -msgid "More about RAW support in Shotwell." -msgstr "Más sobre el soporte RAW en Shotwell." +#. (itstool) path: item/p +#: C/edit-straighten.page:24 +#, fuzzy +#| msgid "Press OK when finished." +msgid "Press Straighten when finished." +msgstr "Pulse Aceptar cuando haya acabado." -#: C/raw.page:12(title) -msgid "RAW support in Shotwell" -msgstr "Soporte de RAW en Shotwell" +#. (itstool) path: info/desc +#: C/edit-date-time.page:7 +#, fuzzy +#| msgid "Change the time and date of photos if those details are incorrect." +msgid "Change the date and time of photos if those details are incorrect." +msgstr "Cambiar la hora y la fecha de las fotos si son incorrectas." + +#. (itstool) path: page/title +#: C/edit-date-time.page:12 +#, fuzzy +#| msgid "Adjust the time and date of photos" +msgid "Adjust the date and time of photos" +msgstr "Ajustar la hora y fecha de las fotos" -#: C/raw.page:13(p) +#. (itstool) path: page/p +#: C/edit-date-time.page:14 +#, fuzzy +#| msgid "" +#| "To create a new event, select the photos you would like in the new event " +#| "and click EventsNew Event." msgid "" -"Some cameras have the ability to store data directly off the sensor and into " -"a file that contains extra color information; this is commonly referred to " -"as 'RAW' or 'camera RAW', and Shotwell supports these files as well." +"To adjust the date and time of photos, select the photos you would like to " +"adjust, choose PhotosAdjust Date and Time... and select a new date and time." msgstr "" +"Para crear un evento nuevo, seleccione las fotos que quiere tener en el " +"evento y pulse EventosNuevo evento." -#: C/raw.page:18(p) +#. (itstool) path: page/p +#: C/edit-date-time.page:16 msgid "" -"Since RAW photographs normally cannot be displayed directly, but must be " -"first developed - that is, have their extra information interpreted and " -"readied for displaying - most cameras will either embed a JPEG inside a RAW-" -"format file, or produce a JPEG alongside the RAW file at the time the " -"snapshot is taken. The latter is referred to throughout this document as RAW" -"+JPEG. If you import a RAW+JPEG pair, Shotwell will keep them paired and " -"treat them as one item in your library." +"If you are changing the date and time of multiple photos at once, you can " +"choose to shift all the photos by the same amount of time or to set all the " +"photos to the same time." msgstr "" -#: C/raw.page:27(p) +#. (itstool) path: page/p +#: C/edit-date-time.page:18 msgid "" -"When you import a RAW file, you can choose to either use the camera's " -"internally-developed JPEG or Shotwell's by selecting PhotosDeveloper in the menus." +"By default, the date and time are only changed inside Shotwell. You can also " +"choose to modify the date and time in the original file, but this cannot be " +"undone once you exit Shotwell." msgstr "" -#: C/raw.page:33(p) +#. (itstool) path: info/desc +#: C/edit-undo.page:7 +msgid "Return a photo to its original, unedited form." +msgstr "Restaurar una foto a su estado original, sin edición." + +#. (itstool) path: page/title +#: C/edit-undo.page:14 +msgid "Undoing changes" +msgstr "Deshacer cambios" + +#. (itstool) path: page/p +#: C/edit-undo.page:16 msgid "" -"Changing between developers will cause all edits made to a photograph to be " -"discarded." +"Because Shotwell is a non-destructive photo editor, you can undo any " +"alterations you make to a photograph." msgstr "" -#: C/raw.page:39(p) +#. (itstool) path: page/p +#: C/edit-undo.page:20 msgid "" -"In order to publish or use a RAW photograph in most other software, it has " -"to be exported first. Shotwell can export your RAW photos in JPEG, PNG, TIFF " -"or BMP format, and, when publishing, will internally export a JPEG version " -"for you and publish that." +"To completely undo all the changes you've made to a photo, click " +"PhotosRevert to Original. The only " +"exception is that time and date adjustments will not be reverted." msgstr "" -#: C/other-plugins.page:7(desc) -msgid "Extend Shotwell's functionality dynamically." -msgstr "Ampliar la funcionalidad de Shotwell dinámicamente." +#. (itstool) path: info/desc +#: C/formats.page:7 +msgid "" +"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files as well as video " +"files." +msgstr "" -#: C/other-plugins.page:12(title) -msgid "Plugins" -msgstr "Complementos" +#. (itstool) path: page/title +#: C/formats.page:12 +msgid "Supported photo and video formats" +msgstr "Formatos de foto y vídeo soportados" -#: C/other-plugins.page:13(p) +#. (itstool) path: page/p +#: C/formats.page:14 msgid "" -"Shotwell can be used with plugins, which are companion shared " -"libraries that can add support for new publishing destinations or new " -"slideshow transitions." +"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files. Shotwell does not yet support other graphics " +"format such as GIF." msgstr "" -#: C/other-plugins.page:18(p) +#. (itstool) path: page/p +#: C/formats.page:16 msgid "" -"To see a list of installed plugins, choose EditPreferences, and in the Preferences " -"window, click on the Plugins tab. You'll see a list of currently-" -"installed plugins, each with a checkbox by it, and you may enable or disable " -"each by selecting or deselecting the checkbox by its name." +"Shotwell's RAW format support is currently limited. When you view a RAW " +"photo, you are actually viewing a JPEG derived from the RAW photo, not the " +"RAW image itself. Additionally, the RAW editing pipeline is not fully 16-bit " +"- you can only export edited photos as 8-bit files. All supported formats " +"can be used for export (JPEG, PNG, TIFF, BMP)." msgstr "" -"Para ver una lista de los complementos instalados, elija " -"EditarPreferencias, y en la ventana " -"de Preferencias pulse en la pestaña Complementos. Verá " -"una lista de los complementos actualmente instalados, cada uno con una " -"casilla mediante la que puede activarlos o desactivarlos por su nombre." -#: C/other-plugins.page:25(p) +#. (itstool) path: page/p +#: C/formats.page:18 msgid "" -"Full documentation on how to develop new plugins is available at http://redmine.yorba.org/projects/shotwell/wiki/" -"ShotwellArchWritingPlugins" +"For more information about RAW-format photos in Shotwell, please see the " +"RAW section." msgstr "" -"La documentación completa sobre cómo desarrollar nuevos complementos está " -"disponible en http://redmine.yorba.org/projects/shotwell/wiki/" -"ShotwellArchWritingPlugins" -#: C/other-multiple.page:7(desc) +#. (itstool) path: page/p +#: C/formats.page:22 msgid "" -"You can open Shotwell with a different photo library by using the command " -"line." +"Shotwell also supports video files in any format supported by the GStreamer " +"media library on the system where Shotwell is running. This typically " +"includes the following formats among others:" msgstr "" -"Puede abrir Shotwell con una biblioteca de fotos diferente usando la línea " -"de comandos." -#: C/other-multiple.page:12(title) -msgid "Multiple libraries" -msgstr "Varias bibliotecas" +#. (itstool) path: item/p +#: C/formats.page:25 +msgid "Container formats: Ogg, QuickTime, MP4, AVI." +msgstr "Formatos de contenedor: Ogg, QuickTime, MP4, AVI." -#: C/other-multiple.page:14(p) +#. (itstool) path: item/p +#: C/formats.page:26 msgid "" -"Shotwell normally stores its database and photo thumbnails in the directory " -"~/.shotwell . This directory does not hold photos, but the " -"database in this directory contains a list of all the photos in the Shotwell " -"library." +"Codecs: Theora, Quicktime, MPEG-4, Motion JPEG. Note that some operating " +"systems may not include all codecs listed here due to legal or licensing " +"restrictions." msgstr "" -#: C/other-multiple.page:16(p) +#. (itstool) path: page/p +#: C/formats.page:30 msgid "" -"As an advanced feature, it's possible for you to have multiple Shotwell " -"libraries, each of which has its own set of photos. Each library needs its " -"own database directory. To launch Shotwell with an alternate library, " -"specify an alternate database directory on the command line as follows:" +"Shotwell supports both photos and videos, but for simplicity, this " +"documentation uses just the term \"photos\" in most places. Many operations " +"in Shotwell apply to both photos and videos, however. In particular, events, " +"flagging, rating, tagging, and publishing work both for photos and for " +"videos." msgstr "" -"Como característica avanzada, es posible tener varias bibliotecas de " -"Shotwell, cada una de ellas con su propio conjunto de fotos. Cada biblioteca " -"necesita su propia carpeta de base de datos. Para ejecutar Shotwell con una " -"biblioteca diferente, especifique una base de datos alternativa en la línea " -"de comandos como sigue:" -#: C/other-multiple.page:18(screen) -#, no-wrap -msgid "" -"\n" -"shotwell -d [library-directory]\n" -msgstr "" -"\n" -"shotwell -d [carpeta-biblioteca]\n" +#. (itstool) path: info/desc +#: C/import-camera.page:7 +msgid "Copy photos from a digital camera." +msgstr "Copiar fotos desde una cámara digital." -#: C/other-missing.page:7(desc) -msgid "If Shotwell can't find a photo in your library, it marks it as missing." -msgstr "" -"Si Shotwell no puede encontrar una foto en su biblioteca, la marca como " -"ausente." +#. (itstool) path: page/title +#: C/import-camera.page:12 +msgid "Importing from a camera" +msgstr "Importar desde una cámara" -#: C/other-missing.page:12(title) -msgid "Missing photos" -msgstr "Fotos ausentes" +#. (itstool) path: page/p +#: C/import-camera.page:14 +msgid "To import photos from a digital camera:" +msgstr "Para importar fotos desde una cámara digital:" -#: C/other-missing.page:14(p) +#. (itstool) path: item/p +#: C/import-camera.page:18 msgid "" -"Each time Shotwell starts up, it scans your photo library to verify that all " -"photo files still exist on your hard drive. If Shotwell finds that any photo " -"files are missing, it will not display them in the normal Photos, Events and " -"Tags views, but will instead show them in a separate Missing Files view " -"which will appear in the sidebar." +"Connect the camera to your computer and switch it on. Shotwell will detect " +"it and list it in the sidebar." msgstr "" -"Cada vez que Shotwell se inicia, analiza su biblioteca de fotos para " -"verificar que todos los archivos de fotos siguen existiendo en el disco " -"duro. Si Shotwell encuentra que falta alguna foto, no la mostrará en las " -"vistas normales de Fotos, Eventos o Etiquetas, sino que la mostrará en una " -"vista de Fotos ausentes separada que aparecerá en la barra lateral." +"Conecte la cámara al equipo y enciéndala. Shotwell la detectará y la " +"mostrará en la barra lateral." -#: C/other-missing.page:16(p) +#. (itstool) path: item/p +#: C/import-camera.page:22 msgid "" -"If you no longer want the missing files to be part of your Shotwell " -"collection (perhaps because you deleted them), go to the Missing Files view, " -"select the photos and then click Remove From Library." +"Select the camera in the sidebar. Previews of each photo on the camera will " +"be displayed." msgstr "" +"Seleccione la cámara en la barra lateral. Se mostrará la vista previa de " +"cada una de las fotos de la cámara." -#: C/other-missing.page:18(p) +#. (itstool) path: item/p +#: C/import-camera.page:25 msgid "" -"If you have photos on a removable disk, such as a CD or USB flash drive, and " -"import them into Shotwell without copying the photos to your computer, they will show up as missing files " -"if you then disconnect the removable disk. See " -"to learn how to copy files from removable disks onto your computer." +"If you like, you can choose a set of specific photos to import. To do this, " +"hold down the Ctrl key and click to select individual photos. You " +"can hold down Shift and click to select a range of photos too." msgstr "" -"Si tiene fotos en un disco externo, como un CD o un pendrive USB y las importa en Shotwell sin copiarlas al " -"equipo, se mostrarán como archivos ausentes cuando desconecte el disco " -"extraíble. Consulte la para aprender cómo " -"copiar archivos desde discos extraíbles a su equipo." -#: C/other-missing.page:20(p) +#. (itstool) path: item/p +#: C/import-camera.page:28 msgid "" -"If any missing photo files become available again, Shotwell will notice this " -"the next time it starts. The photos will once again appear in the Photos, " -"Events and Tags views." +"Click either Import Selected or Import All. The photos " +"will be copied from the camera and saved on your computer." msgstr "" -"Si una foto ausente vuelve a estar disponible, Shotwell lo tendrá en cuenta " -"la próxima vez que se inicie. Las fotos volverán a aparecer en las vistas de " -"Fotos, Eventos y Etiquetas." -#: C/other-files.page:7(desc) -msgid "Keep the Shotwell library in sync with photo files on disk." +#. (itstool) path: page/p +#: C/import-camera.page:32 +msgid "" +"Once the import is complete, you can open the Last Import view " +"(in the sidebar) to see all photos that were imported. The Events list (also " +"in the sidebar) will also show the new photos, organized by date." msgstr "" -"Mantener la biblioteca de Shotwell sincronizada con los archivos de fotos " -"del disco." -#: C/other-files.page:12(title) -msgid "Photo files" -msgstr "Archivos de fotos" +#. (itstool) path: info/desc +#: C/import-file.page:7 +msgid "Import photos that are already saved on your computer." +msgstr "Importar fotos que ya están en el equipo." + +#. (itstool) path: page/title +#: C/import-file.page:12 +msgid "Importing from your hard disk" +msgstr "Importar desde su disco duro" -#: C/other-files.page:14(p) +#. (itstool) path: page/p +#: C/import-file.page:14 msgid "" -"Every photo in the Shotwell library corresponds to a file stored on your " -"hard disk. Shotwell has several features which help you keep the Shotwell " -"library and files on disk in sync." +"To import photo files from your hard disk into Shotwell, just drag them from " +"your file browser into the Shotwell window." msgstr "" -"Cada foto de la biblioteca de Shotwell se corresponde con un archivo " -"almacenado en su disco duro. Shotwell tienen varias características que le " -"ayudan a mantener su biblioteca y los archivos del disco sincronizados." - -#: C/other-files.page:21(title) -msgid "Using a custom directory pattern" -msgstr "Usar un patrón de carpeta predeterminado" +"Para importar fotos desde su disco duro a Shotwell, solo debe arrastrarlas " +"desde su explorador a la ventana de Shotwell." -#: C/other-files.page:22(p) +#. (itstool) path: page/p +#: C/import-file.page:16 msgid "" -"Shotwell allows you to specify how it names directories in your library. You " -"can do this by changing the Directory Structure and Pattern settings in the Preferences dialog. You may use a " -"preselected pattern, or choose Custom and type in your own." +"Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import." msgstr "" -"Shotwell le permite especificar como llamar a sus carpetas en una " -"biblioteca. Puede hacer esto cambiando las configuraciones de " -"Estructura del directorio y Patrón en el cuadro de " -"diálogo Preferencias. Puede utilizar un patrón preseleccionado, o " -"escoger Personalizado y escribir el suyo." -#: C/other-files.page:29(p) +#. (itstool) path: page/p +#: C/import-file.page:18 msgid "" -"The available symbols for the directory pattern begin with a % (percent " -"sign). The values these symbols produce are locale-dependent, so what you " -"see on your computer may vary from the examples below." +"Shotwell will ask whether you want to copy the photo files to your library " +"folder (usually this is the Pictures folder in your home " +"directory) or to import them in place without copying the files." msgstr "" -"Los símbolos disponibles para los patrones de carpetas empiezan por " -"«%» (signo de porcentaje). Los valores que estos símbolos producen dependen " -"de la configuración regional, por lo que lo que vea en su equipo puede ser " -"diferente a estos ejemplos." -#: C/other-files.page:38(em) -msgid "Symbol" -msgstr "Símbolo" +#. (itstool) path: page/p +#: C/import-file.page:20 +msgid "" +"If you hold down Ctrl while dragging photos in, Shotwell will " +"copy the photos into your library folder without prompting. Similarly, if " +"you hold down CtrlShift while " +"dragging photos in, Shotwell will import the photos without copying them." +msgstr "" -#: C/other-files.page:38(em) -msgid "Meaning" -msgstr "Significado" +#. (itstool) path: page/p +#: C/import-file.page:22 +msgid "" +"Once the import is complete, you can select Last Import in the " +"sidebar to see all photos successfully imported. The Events list will also " +"show new entries for the dates corresponding to the imported photos." +msgstr "" -#: C/other-files.page:38(em) -msgid "Example" -msgstr "Ejemplo" +#. (itstool) path: info/desc +#: C/import-f-spot.page:7 +msgid "" +"Shotwell can import all your photos and tags from the F-Spot photo manager." +msgstr "" +"Shotwell puede importar todas sus fotos y etiquetas desde el gestor de fotos " +"F-Spot." -#: C/other-files.page:43(p) -msgid "%Y" -msgstr "%Y" +#. (itstool) path: page/title +#: C/import-f-spot.page:12 +msgid "Importing from F-Spot" +msgstr "Importar desde F-Spot" -#: C/other-files.page:43(p) -msgid "Year: full" -msgstr "Año: completo" +#. (itstool) path: page/p +#: C/import-f-spot.page:14 +msgid "To import an existing photo collection from F-Spot:" +msgstr "Para importar una colección de fotos existente desde F-Spot:" -#: C/other-files.page:43(p) -msgid "2011" -msgstr "2011" +#. (itstool) path: item/p +#: C/import-f-spot.page:16 +msgid "Select FileImport From F-Spot." +msgstr "" +"Seleccione ArchivoImportar desde F-Spot." -#: C/other-files.page:46(p) -msgid "%y" -msgstr "%y" - -#: C/other-files.page:46(p) -msgid "Year: two digit" -msgstr "Año: dos dígitos" - -#: C/other-files.page:46(p) -msgid "11" -msgstr "11" - -#: C/other-files.page:49(p) -msgid "%d" -msgstr "%d" - -#: C/other-files.page:49(p) -msgid "Day of the month with leading zero" -msgstr "Día del mes, empezando por cero" - -#: C/other-files.page:49(p) -msgid "03" -msgstr "03" - -#: C/other-files.page:52(p) -msgid "%A" -msgstr "%A" - -#: C/other-files.page:52(p) -msgid "Day name: full" -msgstr "Nombre del día: completo" - -#: C/other-files.page:52(p) -msgid "Wednesday" -msgstr "Miércoles" - -#: C/other-files.page:55(p) -msgid "%a" -msgstr "%a" - -#: C/other-files.page:55(p) -msgid "Day name: abbreviated" -msgstr "Nombre del día: abreviado" - -#: C/other-files.page:55(p) -msgid "Wed" -msgstr "Mié" +#. (itstool) path: item/p +#: C/import-f-spot.page:17 +msgid "" +"Now choose either the default F-Spot library or another F-Spot database. If " +"importing from another F-Spot database, select a directory and file from the " +"chooser dialog box." +msgstr "" -#: C/other-files.page:58(p) -msgid "%m" -msgstr "%m" +#. (itstool) path: page/p +#: C/import-f-spot.page:20 +msgid "" +"Shotwell will import your photos, together with their tags and other " +"information. Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list " +"will also show new entries for the dates corresponding to the imported " +"photos." +msgstr "" -#: C/other-files.page:58(p) -msgid "Month number with leading zero" -msgstr "Número de mes, empezando por cero" +#. (itstool) path: info/desc +#: C/import-memorycard.page:7 +msgid "Import photos from a digital camera's memory card." +msgstr "Importar fotos desde una tarjeta de memoria de una cámara digital." -#: C/other-files.page:58(p) -msgid "02" -msgstr "02" +#. (itstool) path: page/title +#: C/import-memorycard.page:12 +msgid "Importing from a memory card" +msgstr "Importar desde una tarjeta de memoria" -#: C/other-files.page:60(p) -msgid "%b" -msgstr "%b" +#. (itstool) path: page/p +#: C/import-memorycard.page:14 +msgid "To import photos from a camera memory card:" +msgstr "Para importar fotos desde una tarjeta de memoria de una cámara:" -#: C/other-files.page:60(p) -msgid "Month name: abbreviated" -msgstr "Nombre del mes: abreviado" +#. (itstool) path: item/p +#: C/import-memorycard.page:18 +msgid "" +"Put the card into your card reader. Make sure the card reader is plugged in " +"to the computer and switched on." +msgstr "" +"Coloque la tarjeta en el lector de tarjetas. Asegúrese de que el lector está " +"conectado al equipo y encendido." -#: C/other-files.page:60(p) -msgid "Feb" -msgstr "Feb" +#. (itstool) path: item/p +#: C/import-memorycard.page:21 +msgid "The card reader and card should be detected automatically." +msgstr "" +"El lector de tarjetas y la tarjeta se deberían detectar automáticamente." -#: C/other-files.page:62(p) -msgid "%B" -msgstr "%B" +#. (itstool) path: item/p +#: C/import-memorycard.page:24 +msgid "" +"Follow the instructions for importing photos from " +"your hard disk. If you click FileImport From " +"Folder..., the memory card should be visible as a folder in " +"the side bar of the file selection window." +msgstr "" -#: C/other-files.page:62(p) -msgid "Month name: full" -msgstr "Nombre del mes: completo" +#. (itstool) path: page/p +#: C/import-memorycard.page:28 +msgid "" +"Shotwell can import photos from any memory card that is compatible with your " +"card reader." +msgstr "" +"Shotwell puede importar fotos de una tarjeta de memoria que sea compatible " +"con su lector de tarjetas." -#: C/other-files.page:62(p) -msgid "February" -msgstr "Febrero" +#. (itstool) path: page/p +#: C/import-memorycard.page:30 +msgid "" +"If the card is not detected automatically, your card reader may not have " +"been recognized. Try unplugging it and then plugging it in again. If that " +"doesn't work, you should still be able to import photos by connecting your camera directly to the computer, " +"though." +msgstr "" -#: C/other-files.page:63(p) -msgid "%I" -msgstr "%I" +#. (itstool) path: media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: C/index.page:23 +msgctxt "_" +msgid "" +"external ref='figures/shotwell_logo.png' " +"md5='4b333499555b4e496b1a38f7899067f3'" +msgstr "" +"external ref='figures/shotwell_logo.png' " +"md5='4b333499555b4e496b1a38f7899067f3'" -#: C/other-files.page:63(p) -msgid "Hour: 12 hour format" -msgstr "Hora: formato de 12 horas" +#. (itstool) path: info/title +#: C/index.page:6 +msgctxt "link" +msgid "Shotwell" +msgstr "Shotwell" -#: C/other-files.page:63(p) -msgid "05" -msgstr "05" +#. (itstool) path: info/title +#: C/index.page:7 +msgctxt "text" +msgid "Shotwell" +msgstr "Shotwell" -#: C/other-files.page:64(p) -msgid "%H" -msgstr "%H" +#. (itstool) path: credit/name +#: C/index.page:9 +msgid "Jim Nelson" +msgstr "Jim Nelson" -#: C/other-files.page:64(p) -msgid "Hour: 24 hour format" -msgstr "Hora: formato de 24 horas" +#. (itstool) path: credit/name +#: C/index.page:11 +msgid "Allison Barlow" +msgstr "Allison Barlow" -#: C/other-files.page:64(p) -msgid "17" -msgstr "17" +#. (itstool) path: credit/name +#: C/index.page:13 +msgid "Robert Ancell" +msgstr "Robert Ancell" -#: C/other-files.page:66(p) -msgid "%M" -msgstr "%M" +#. (itstool) path: credit/name +#: C/index.page:15 +msgid "Peter Smith" +msgstr "Peter Smith" -#: C/other-files.page:66(p) -msgid "Minute" -msgstr "Minuto" +#. (itstool) path: credit/name +#: C/index.page:17 +msgid "Phil Bull" +msgstr "Phil Bull" -#: C/other-files.page:66(p) -msgid "16" -msgstr "16" +#. (itstool) path: page/title +#: C/index.page:23 +msgid "" +"Shotwell Photo " +"Manager" +msgstr "" +"Gestor de fotos " +"Shotwell" -#: C/other-files.page:67(p) -msgid "%S" -msgstr "%S" +#. (itstool) path: section/title +#: C/index.page:26 +msgid "Importing Photos" +msgstr "Importar fotos" -#: C/other-files.page:67(p) -msgid "Second" -msgstr "Segundo" +#. (itstool) path: section/title +#: C/index.page:30 +msgid "Viewing Photos" +msgstr "Ver fotos" -#: C/other-files.page:67(p) -msgid "30" -msgstr "30" +#. (itstool) path: section/title +#: C/index.page:34 +msgid "Organizing Photos" +msgstr "Organizar fotos" -#: C/other-files.page:68(p) -msgid "%p" -msgstr "%p" +#. (itstool) path: section/title +#: C/index.page:38 +msgid "Editing Photos" +msgstr "Editar fotos" -#: C/other-files.page:68(p) -msgid "AM or PM" -msgstr "AM o PM" +#. (itstool) path: section/title +#: C/index.page:42 +msgid "Sharing Photos" +msgstr "Compartir fotos" -#: C/other-files.page:68(p) -msgid "PM" -msgstr "PM" +#. (itstool) path: section/title +#: C/index.page:46 +msgid "Other Features" +msgstr "Otras características" -#: C/other-files.page:72(p) +#. (itstool) path: info/desc +#: C/organize-event.page:7 msgid "" -"There are other symbols available; please check the manual for strftime by " -"running the command man strftime if you need one that isn't " -"listed here." +"Group photos together that were taken at the same time. Learn how to rename, " +"merge, and sort events." msgstr "" -"Existen otros símbolos disponibles, revise el manual de strftime ejecutando " -"el comando man strftime si necesita alguno que no esté listado " -"aquí." - -#: C/other-files.page:79(title) -msgid "Automatically importing photos" -msgstr "Importar fotos automáticamente" +"Agrupar fotos que se tomadron al mismo tiempo. Aprenda como renombrar, unir " +"y ordenar eventos." -#: C/other-files.page:81(p) -msgid "" -"Shotwell can automatically import new photos which appear in the library " -"directory. (The library directory is usually the Pictures " -"directory in your home directory; you can change its location in in the " -"Preferences window.)" -msgstr "" -"Shotwell puede automáticamente importar nuevas fotos que aparezcan en la " -"carpeta de la biblioteca. (La carpeta de la biblioteca está usualmente en la " -"carpeta Imágenes en su carpeta local; puede cambiar esta " -"ubicación en la ventana Preferencias.)" +#. (itstool) path: page/title +#: C/organize-event.page:12 +msgid "Events" +msgstr "Eventos" -#: C/other-files.page:86(p) +#. (itstool) path: page/p +#: C/organize-event.page:14 msgid "" -"To enable auto-import, check the box Watch library directory for new " -"files in the Preferences window." +"An event is a group of photos that were taken at approximately the same " +"time. When you import photos, Shotwell checks when each photo was taken. It " +"then groups the photos into events." msgstr "" -"Para activar la importación automática, marca la opción Vigilar mi " -"colección en búsqueda de archivos nuevos en la ventana " -"Preferencias." -#: C/other-files.page:90(p) +#. (itstool) path: page/p +#: C/organize-event.page:16 msgid "" -"Shotwell can also follow symbolic links inside automatically-imported " -"directories." +"Choose Events from the sidebar to see your photos organized by " +"date. If you select a month or year from the sidebar, a list of events will " +"be displayed in the main window. Double-click an event to see all the photos " +"that were taken around that time." msgstr "" -"Shotwell también puede seguir los enlaces simbólicos en carpetas importadas " -"automáticamente." - -#: C/other-files.page:95(title) -msgid "Automatically renaming imported photos to lowercase" -msgstr "Renombrar a minúsculas automáticamente las fotos importadas" -#: C/other-files.page:97(p) +#. (itstool) path: page/p +#: C/organize-event.page:18 msgid "" -"Shotwell can automatically change the filenames of imported photos to " -"lowercase. To enable this, choose EditPreferences, and in the Preferences window, check the " -"Rename imported files to lowercase box." +"If a photo has no embedded date/time information, then Shotwell can't " +"automatically place it in any event. In this case the photo will appear in " +"the No Event view accessible from the sidebar. You can still move " +"the photo to any event you like as described below." msgstr "" -"Shotwell puede cambiar automáticamente los nombres de las fotos importadas a " -"minúsculas. Para activar esto, escoja EditarPreferencias, y en la ventana de Preferencias, marque la casilla Renombrar los archivos importados a minúsculas." - -#: C/other-files.page:107(title) -msgid "Writing metadata on the fly" -msgstr "Escribir metadatos al vuelo" -#: C/other-files.page:109(p) -msgid "" -"By default, Shotwell does not modify photo files, even when you edit photos " -"or change their tags or titles. Shotwell records these changes in its own " -"database only." -msgstr "" -"De manera predeterminada, Shotwell no modifica los archivos de fotos, aunque " -"las edite o cambie sus etiquetas o títulos. Shotwell guardará estos cambios " -"únicamente en su propia base de datos." +#. (itstool) path: section/title +#: C/organize-event.page:25 +msgid "Renaming events" +msgstr "Renombrar eventos" -#: C/other-files.page:112(p) +#. (itstool) path: section/p +#: C/organize-event.page:27 msgid "" -"To change this behavior, you can enable the checkbox Write tags, titles " -"and other metadata to photo files in the Preferences " -"dialog. When this option is enabled, Shotwell will write the following " -"metadata to most photo files whenever you change it in Shotwell:" +"To give an event a name rather than referring to it by its date, select the " +"event, click EventsRename Event... " +"and enter a new name. Another way of renaming an event is to double-click " +"its name in the sidebar; type a new name and then press Enter." msgstr "" -"Para cambiar este comportamiento, puede activar la casilla Escribir " -"etiquetas, títulos y otros metadatos a los archivos en el cuadro de " -"diálogo Preferencias. Cuando esta opción se activa, Shotwell " -"escribirá los siguientes metadatos a la mayoría de los archivos cada vez que " -"los modifique en Shotwell." - -#: C/other-files.page:118(p) -msgid "titles" -msgstr "títulos" -#: C/other-files.page:119(p) -msgid "tags" -msgstr "etiquetas" - -#: C/other-files.page:120(p) -msgid "ratings" -msgstr "valoraciones" - -#: C/other-files.page:121(p) -msgid "rotation information" -msgstr "información de rotación" - -#: C/other-files.page:122(p) -msgid "time/date" -msgstr "fecha/hora" +#. (itstool) path: section/title +#: C/organize-event.page:31 +msgid "Moving photos between events" +msgstr "Mover fotos entre eventos" -#: C/other-files.page:125(p) +#. (itstool) path: section/p +#: C/organize-event.page:33 msgid "" -"Shotwell stores this information in photo files in EXIF, IPTC and/or XMP " -"format. Note that Shotwell can write only to photo files in JPEG, PNG and " -"TIFF format, not to BMP photos, RAW photos or to video files." +"Even though photos are initially grouped into events by their date, you can " +"move photos between events. To do this, drag any photo to the sidebar and " +"drop it on an event." msgstr "" -"Shotwell almacena esta información en archivos de fotos en formato EXIF, " -"IPTC y/o XMP. Tenga en cuenta que Shotwell sólo puede escribir en archivos " -"de fotos en formato JPEG, PNG y TIFF, no en fotos en BMP, RAW o en archivos " -"de vídeo." -#: C/other-files.page:133(title) -msgid "Runtime monitoring" -msgstr "Monitorizazión en tiempo de ejecución" +#. (itstool) path: section/title +#: C/organize-event.page:37 +msgid "Creating and merging events" +msgstr "Crear y combinar eventos" -#: C/other-files.page:135(p) +#. (itstool) path: section/p +#: C/organize-event.page:38 msgid "" -"While Shotwell is running, it notices changes made to any photo file " -"externally. When a photo file changes, Shotwell rereads the file and updates " -"your view of the photo and metadata." +"To create a new event, select the photos you would like in the new event and " +"click EventsNew Event." msgstr "" -"Mientras Shotwell está en ejecución, tiene en cuenta los cambios realizados " -"en un archivo de una foto externamente. Cuando el archivo cambia, Shotwell " -"vuelve a leer el archivo y actualiza la vista de la foto y sus metadatos." +"Para crear un evento nuevo, seleccione las fotos que quiere tener en el " +"evento y pulse EventosNuevo evento." -#: C/other-files.page:139(p) +#. (itstool) path: section/p +#: C/organize-event.page:39 msgid "" -"Note that Shotwell checks all photo files for changes at startup, but only " -"photo files contained in the library directory are monitored in real time " -"after startup. We hope to remove this limitation in a further release." +"To merge events, select Events from the sidebar, " +"then, while holding down Ctrl click on the events you want to " +"merge in the main window area. Finally, click EventsMerge Events." msgstr "" -#: C/organize-title.page:7(desc) -msgid "Give titles to your photos." -msgstr "Asignar títulos a las fotos." - -#: C/organize-title.page:12(title) -msgid "Titles" -msgstr "Títulos" - -#: C/organize-title.page:14(p) -msgid "" -"The ViewTitles checkbox toggles the " -"display of titles beneath each photo. By default, a photo's title is its " -"filename." -msgstr "" +#. (itstool) path: section/title +#: C/organize-event.page:43 +msgid "Sorting events" +msgstr "Ordenar eventos" -#: C/organize-title.page:17(p) +#. (itstool) path: section/p +#: C/organize-event.page:45 msgid "" -"To change a photo's title, select the photo and click PhotosEdit Title, or press F2." +"Events are displayed in a tree in the sidebar, organized by the year and " +"month of the earliest photo in the event. To change the event sort order, " +"click ViewSort Events and select " +"either ascending or descending." msgstr "" -"Para cambiar el título de una foto, selecciónela y pulse FotosEditar título, o pulse F2." - -#: C/organize-tag.page:7(desc) -msgid "Organize photos by labelling them." -msgstr "Organizar las fotos etiquetándolas." -#: C/organize-tag.page:14(title) -msgid "Tagging photos" -msgstr "Etiquetar fotos" +#. (itstool) path: section/title +#: C/organize-event.page:51 +msgid "Change the photo used to represent each event" +msgstr "Cambiar la foto usada para representar cada evento" -#: C/organize-tag.page:16(p) +#. (itstool) path: section/p +#: C/organize-event.page:53 +#, fuzzy +#| msgid "" +#| "If you select the Events item in the sidebar, you'll see a single photo " +#| "which represents each event. This is called the key photo." msgid "" -"You can assign one or more tags to selected photos. A tag can be one or more " -"words that you want to associate with those photos." +"If you select the Events item in the sidebar, you'll see a single " +"photo which represents each event. This is called the key photo." msgstr "" -"Puede asignar una o más etiquetas a las fotos seleccionadas. Una etiqueta " -"puede constar de una o más palabras que quiera asociar a esas fotos." +"Si selecciona el elemento Eventos en la barra lateral, verá una única foto " +"que representa cada evento. Esto se denomina «foto clave»." -#: C/organize-tag.page:22(p) +#. (itstool) path: section/p +#: C/organize-event.page:55 msgid "" -"To add new tags to photos, select the photos you would like to tag, then do " -"any of the following:" +"By default, Shotwell uses the first photo in each event as its key photo. To " +"use a different key photo, select the photo and choose PhotosMake Key Photo for Event." msgstr "" -"Para añadir etiquetas nuevas a las fotos, seleccione las fotos que quiere " -"etiquetar y siga estos pasos:" -#: C/organize-tag.page:28(p) -msgid "Choose TagsAdd Tags." +#. (itstool) path: info/desc +#: C/organize-flag.page:7 +msgid "Flag photos to mark them as special or to work with them as a set." msgstr "" -"Elija EtiquetasAñadir etiquetas." - -#: C/organize-tag.page:29(p) -msgid "Type CtrlT." -msgstr "Pulse CtrlT." +"Marcar fotos para identificarlas como especiales o para trabajar con ellas " +"como conjunto." -#: C/organize-tag.page:30(p) -msgid "Drag the selected photos and drop them on the desired tag." -msgstr "Arrastre las fotos y suéltelas en la etiqueta que quiera." +#. (itstool) path: page/title +#: C/organize-flag.page:12 +msgid "Flagging photos" +msgstr "Marcar fotos" -#: C/organize-tag.page:33(p) +#. (itstool) path: page/p +#: C/organize-flag.page:14 msgid "" -"When you use CtrlT or " -"TagsAdd Tags you can type in the " -"names of one or more tags, separated by commas. Once you have created a tag, " -"you can rename it by selecting that tag in the sidebar and choosing " -"TagsRename Tag \"[name]\", by " -"rightclicking on it and choose Rename... or double-click on the " -"tag in the sidebar." +"Shotwell lets you flag photos. When a photo is flagged, a small " +"flag icon appears in its upper right corner. You can select the " +"Flagged item in the sidebar to see all photos which have been " +"flagged." msgstr "" -#: C/organize-tag.page:44(p) +#. (itstool) path: page/p +#: C/organize-flag.page:18 msgid "" -"To change which tags are associated with a particular photo, select that " -"photo, choose TagsModify Tags or " -"right-click on a photo and select Modify Tags and edit the comma " -"separated list. To remove a tag from one or more photos, first select that " -"tag in the sidebar, then select the photos you would like to remove, and " -"choose TagsRemove Tag \"[name]\" from Photos or right-click on the photos an select Remove Tag \"[name]\" " -"from Photos." +"Flagging a photo marks it as special. You can interpret this in any way you " +"like. For example, you might flag all photos which need visual adjustment, " +"or all photos which you want to share with a friend." msgstr "" -#: C/organize-tag.page:58(p) +#. (itstool) path: page/p +#: C/organize-flag.page:22 msgid "" -"To delete a tag entirely, select that tag in the sidebar and choose " -"TagsDelete Tag \"[name]\" or by right-" -"click and select Delete Tag \"[name]\"." -msgstr "" -"Para eliminar por completo una etiqueta, selecciónela en la barra latera y " -"elija EtiquetasEliminar etiqueta «nombre» o púlsela con el botón derecho y elija Eliminar etiqueta " -"«nombre»." - -#: C/organize-tag.page:64(p) -msgid "" -"When you create a tag, it will appear in the sidebar under the Tags item, " -"which is hidden if there are no tags. Photos can have multiple tags attached " -"to them, and when you click on the name of a given tag in the sidebar, you " -"will see all the photos associated with that tag." +"Flagging is also useful because you can operate on all flagged photos as a " +"set. For example, you can select the Flagged view and then upload " +"all flagged photos to a publishing service." msgstr "" -#: C/organize-tag.page:73(title) -msgid "Hierarchical Tags" -msgstr "Etiquetas jerárquicas" +#. (itstool) path: section/title +#: C/organize-flag.page:27 +msgid "To flag or unflag a photo" +msgstr "Para marcar o desmarcar una foto" -#: C/organize-tag.page:74(p) +#. (itstool) path: section/p +#: C/organize-flag.page:28 msgid "" -"Shotwell supports also hierarchial tags. You can rearrange your tags by drag " -"and drop a tag onto another. To create a new subtag right-click on a tag and " -"select New." +"To flag or unflag a photo, right-click the photo and choose Flag " +"or Unflag from the context menu. Or use the CtrlG or / shortcut keys." msgstr "" -"Shotwell también soporta etiquetas jerárquicas. Puede reordenar sus " -"etiquetas arrastrando y soltando una etiqueta sobre otra. Para crear una " -"etiqueta hija nueva, pulse con el botón derecho sobre una etiqueta y elija " -"Nuevo." -#: C/organize-tag.page:81(p) +#. (itstool) path: info/desc +#: C/organize-rating.page:7 msgid "" -"Hierarchial tags can help you to sort your tag list in ways that better " -"match how you work or think; for example, you can store location tags like " -"\"Mountains\" or \"Beach\" under a parent tag \"Places\", which itself can " -"be placed under the tag \"Summer Holidays\"." -msgstr "" -"Las etiquetas jerárquicas le pueden ayudar a ordenar su lista de etiquetas " -"de manera que se ajuste a mejor a lo que necesita; por ejemplo, puede tener " -"las etiquetas «Montañas» o «Playa» dentro de la etiqueta «Lugares», que a su " -"vez puede estar dentro de la etiqueta «Vacaciones de verano»." - -#: C/organize-tag.page:89(p) -msgid "Note that deleting a parent tag will also delete its child tags." +"Give photos a rating between 1 and 5 stars. You can reject bad photos, " +"hiding them from view." msgstr "" -"Tenga en cuenta que al eliminar una etiqueta padre también se eliminarán las " -"etiquetas hijas." - -#: C/organize-search.page:7(desc) -msgid "Find photos and videos in your collection by a variety of criteria." -msgstr "Buscar fotos y vídeos en su colección siguiendo varios criterios." +"Asigne a las fotos una puntuación entre 1 y 5. Puede rechazar las fotos " +"malas, ocultándolas en la vista." -#: C/organize-search.page:12(title) -msgid "Searching" -msgstr "Búsqueda" +#. (itstool) path: page/title +#: C/organize-rating.page:12 +msgid "Ratings" +msgstr "Valoraciones" -#: C/organize-search.page:14(p) +#. (itstool) path: page/p +#: C/organize-rating.page:13 msgid "" -"There are two ways to search in Shotwell: the filter toolbar, and with a " -"saved search. The search bar allows you to quickly search the current view " -"for certain criteria. Saved Searches feature more complex search criteria " -"and persist in the sidebar between sessions." +"You can assign each photo a rating from 1-5 stars, or may alternatively rate " +"it as Rejected, in which case Shotwell will hide the photo by default." msgstr "" +"Puede asignar a cada foto una puntuación entre 1 y 5, o marcarla como " +"rechazada, en cuyo caso Shotwell la ocultará de manera predeterminada." -#: C/organize-search.page:21(title) -msgid "Search bar" -msgstr "Barra de búsqueda" - -#: C/organize-search.page:22(p) -msgid "" -"The ViewSearch Bar checkbox toggles " -"the display of the search bar. You can also hit CtrlF or F8 to bring up the search bar. From " -"this bar, you can find, show and hide photos and videos based on title, tag, " -"rating or other options." +#. (itstool) path: page/p +#: C/organize-rating.page:15 +msgid "You can rate a photo or a set of photos in any of these ways:" msgstr "" +"Puede valorar una foto o un conjunto de fotos de cualquiera de estas maneras:" -#: C/organize-search.page:29(p) +#. (itstool) path: item/p +#: C/organize-rating.page:18 msgid "" -"To begin searching, simply enter a search keyword in the text box, or click " -"on Flagged, Rating or Type. The text search " -"matches your keywords across tag names, photo or video titles and photos' " -"original filenames. The Flagged, Rating and Type buttons allow you to filter your collection by whether photos are " -"flagged, their current number of stars, and whether the items shown are " -"images, videos, or raw camera files, respectively." +"Select the photo(s), then choose a rating from the top-level " +"PhotosSet Rating menu." msgstr "" +"Seleccione las fotos y luego escoja una puntuación en el menú " +"FotoEstablecer puntuación del nivel " +"superior." -#: C/organize-search.page:38(p) +#. (itstool) path: item/p +#: C/organize-rating.page:19 msgid "" -"Disabling the search bar or exiting Shotwell automatically resets the search " -"bar." +"Right-click on the photo(s), then choose a rating from the Set Rating " +"context menu." msgstr "" -"Desactivar la barra de búsqueda o salir de Shotwell reinicia automáticamente " -"la barra de búsqueda." +"Pulse con el botón derecho en las fotos y luego escoja su puntuación en el " +"menú contextual «Establecer puntuación»." -#: C/organize-search.page:44(title) -msgid "Saved search" -msgstr "Búsqueda guardada" +#. (itstool) path: item/p +#: C/organize-rating.page:20 +msgid "" +"Select the photo(s), then press any of the shortcut keys 1, " +"2, 3, 4 or 5 to assign a rating. " +"Or press 9 to mark the photo(s) as rejected or 0 to " +"clear the rating(s)." +msgstr "" -#: C/organize-search.page:45(p) +#. (itstool) path: page/p +#: C/organize-rating.page:23 msgid "" -"A saved search persists across Shotwell sessions, and is updated as photos " -"and videos are added and removed from your Shotwell library." +"Normally Shotwell displays all photos except rejected photos. You can set a " +"different rating filter using the ViewFilter Photos menu - for example, you can display only photos rated with 3 " +"stars or higher, or you can display all photos including those marked " +"rejected. The Shotwell icon on the toolbar displays the current rating " +"filter and can also be used to set the filter." msgstr "" -"Una búsqueda guardada se mantiene entre sesiones de Shotwell, y se actualiza " -"con las fotos y vídeos que se añaden o quitan de su biblioteca de Shotwell." -#: C/organize-search.page:50(p) +#. (itstool) path: page/p +#: C/organize-rating.page:26 msgid "" -"Create a new saved search with EditNew Search or by hitting CtrlS. The " -"dialog box allows you to enter a name for the search and select whether you " -"want to meet Any, All, or None of the criteria in the following rows." +"Shotwell normally displays each photo's rating in its lower left-hand " +"corner. You can turn off the display of ratings using the ViewRatings menu item." msgstr "" -#: C/organize-search.page:56(p) +#. (itstool) path: page/p +#: C/organize-rating.page:28 msgid "" -"Each row represents a search criterion. Use the + button to add more rows, " -"and the - button to remove a specific row. The combo box on the left of each " -"row selects the type of criteria. Criteria must be entered correctly before " -"the OK button becomes available." +"You can increase or decrease a photo's rating using the Set " +"RatingIncrease and Set RatingDecrease commands, or the keyboard shortcuts " +"< and >." msgstr "" -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: C/organize-remove.page:15(None) +#. (itstool) path: media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: C/organize-remove.page:15 +msgctxt "_" msgid "" -"@@image: 'figures/trash_process.png'; md5=ed596bda34c2f4a79a310fbc8bb51fd2" +"external ref='figures/trash_process.png' " +"md5='ed596bda34c2f4a79a310fbc8bb51fd2'" msgstr "" -"@@image: 'figures/trash_process.png'; md5=ed596bda34c2f4a79a310fbc8bb51fd2" +"external ref='figures/trash_process.png' " +"md5='ed596bda34c2f4a79a310fbc8bb51fd2'" -#: C/organize-remove.page:7(desc) +#. (itstool) path: info/desc +#: C/organize-remove.page:7 msgid "" "Remove photos from the library, or delete them from your computer entirely." msgstr "Quitar fotos de la biblioteca, o eliminarlas por completo del equipo." -#: C/organize-remove.page:12(title) +#. (itstool) path: page/title +#: C/organize-remove.page:12 msgid "Removing and deleting photos" msgstr "Quitar y eliminar fotos" -#: C/organize-remove.page:14(p) +#. (itstool) path: page/p +#: C/organize-remove.page:14 msgid "" "You may remove photos from your library and you may additionally delete them " "entirely from your hard disk." @@ -1350,11 +1256,13 @@ msgstr "" "Puede eliminar las fotos de su biblioteca y también puede eliminarlas de su " "disco duro." -#: C/organize-remove.page:15(media) +#. (itstool) path: page/media +#: C/organize-remove.page:15 msgid "Delete process" msgstr "Proceso de eliminado" -#: C/organize-remove.page:16(p) +#. (itstool) path: page/p +#: C/organize-remove.page:16 msgid "" "This diagram shows how a photo, when deleted, is first put into Shotwell's " "trash. If you delete it from Shotwell's trash, it is put into your " @@ -1366,11 +1274,13 @@ msgstr "" "a la papelera de su equipo. Si la elimina de la papelera del equipo, se " "eliminará permanentemente." -#: C/organize-remove.page:18(title) +#. (itstool) path: section/title +#: C/organize-remove.page:18 msgid "Removing photos from the library" msgstr "Quitar fotos de la biblioteca" -#: C/organize-remove.page:19(p) +#. (itstool) path: section/p +#: C/organize-remove.page:19 msgid "" "Select the photos to remove and choose EditMove to " "Trash. (You can also press the Delete key.) The " @@ -1381,7 +1291,8 @@ msgstr "" "Supr.) Las fotos se moverán de su biblioteca a la papelera de " "Shotwell." -#: C/organize-remove.page:22(p) +#. (itstool) path: section/p +#: C/organize-remove.page:22 msgid "" "If you want to remove photos from Shotwell without having them pass through " "the trash, simply select the photos to be removed and choose " @@ -1389,11 +1300,13 @@ msgid "" "files will be left in place on disk." msgstr "" -#: C/organize-remove.page:26(title) +#. (itstool) path: section/title +#: C/organize-remove.page:26 msgid "Emptying or restoring the trash folder" msgstr "Vaciar o restaurar la carpeta de la papelera" -#: C/organize-remove.page:27(p) +#. (itstool) path: section/p +#: C/organize-remove.page:27 msgid "" "Select the Trash entry in the Sidebar and Shotwell will display all photos " "that have been marked for removal or deletion. In the Trash view, the " @@ -1403,35 +1316,43 @@ msgstr "" "todas las fotos que se han marcado para quitar o eliminar. En la vista de la " "papelera están disponibles los siguientes comandos:" -#: C/organize-remove.page:29(title) +#. (itstool) path: item/title +#: C/organize-remove.page:29 msgid "Delete" msgstr "Eliminar" -#: C/organize-remove.page:29(p) +#. (itstool) path: item/p +#: C/organize-remove.page:29 msgid "Delete the selected photos from the trash folder." msgstr "Eliminar las fotos seleccionadas de la carpeta de la papelera" -#: C/organize-remove.page:30(title) +#. (itstool) path: item/title +#: C/organize-remove.page:30 msgid "Restore" msgstr "Restaurar" -#: C/organize-remove.page:30(p) +#. (itstool) path: item/p +#: C/organize-remove.page:30 msgid "Restore the selected photos into Shotwell." msgstr "Restaurar las fotos seleccionadas en Shotwell." -#: C/organize-remove.page:31(title) +#. (itstool) path: item/title +#: C/organize-remove.page:31 msgid "Empty trash" msgstr "Vaciar la papelera" -#: C/organize-remove.page:31(p) +#. (itstool) path: item/p +#: C/organize-remove.page:31 msgid "Delete all photos from the trash folder." msgstr "Eliminar todas las fotos de la papelera." -#: C/organize-remove.page:36(title) +#. (itstool) path: section/title +#: C/organize-remove.page:36 msgid "Deleting or emptying Trash" msgstr "Eliminar o vaciar la papelera" -#: C/organize-remove.page:37(p) +#. (itstool) path: section/p +#: C/organize-remove.page:37 msgid "" "When you delete files from the Trash folder or empty the Trash folder, you " "will be given the following choices:" @@ -1439,11 +1360,13 @@ msgstr "" "Cuando elimine archivos de la carpeta Papelera, o cuando la vacíe, se le " "ofrecerán las siguientes opciones:" -#: C/organize-remove.page:39(title) +#. (itstool) path: item/title +#: C/organize-remove.page:39 msgid "Only Remove" msgstr "Solo eliminar" -#: C/organize-remove.page:39(p) +#. (itstool) path: item/p +#: C/organize-remove.page:39 msgid "" "Remove photos from the library but leave the photos in their location on the " "computer." @@ -1451,1045 +1374,1587 @@ msgstr "" "Quitar fotos de la biblioteca pero mantener las fotos en su ubicación dentro " "del equipo." -#: C/organize-remove.page:40(title) +#. (itstool) path: item/title +#: C/organize-remove.page:40 msgid "Trash file" msgstr "Archivo de Papelera" -#: C/organize-remove.page:40(p) +#. (itstool) path: item/p +#: C/organize-remove.page:40 msgid "Remove photos from the library and delete them from the computer." msgstr "Quitar fotos de la biblioteca y eliminarlas del equipo." -#: C/organize-remove.page:41(title) +#. (itstool) path: item/title +#: C/organize-remove.page:41 msgid "Cancel" msgstr "Cancelar" -#: C/organize-remove.page:41(p) +#. (itstool) path: item/p +#: C/organize-remove.page:41 msgid "Do nothing." msgstr "No hacer nada." -#: C/organize-rating.page:7(desc) +#. (itstool) path: info/desc +#: C/organize-search.page:7 +msgid "Find photos and videos in your collection by a variety of criteria." +msgstr "Buscar fotos y vídeos en su colección siguiendo varios criterios." + +#. (itstool) path: page/title +#: C/organize-search.page:12 +msgid "Searching" +msgstr "Búsqueda" + +#. (itstool) path: page/p +#: C/organize-search.page:14 msgid "" -"Give photos a rating between 1 and 5 stars. You can reject bad photos, " -"hiding them from view." +"There are two ways to search in Shotwell: the filter toolbar, and with a " +"saved search. The search bar allows you to quickly search the current view " +"for certain criteria. Saved Searches feature more complex search criteria " +"and persist in the sidebar between sessions." msgstr "" -"Asigne a las fotos una puntuación entre 1 y 5. Puede rechazar las fotos " -"malas, ocultándolas en la vista." -#: C/organize-rating.page:12(title) -msgid "Ratings" -msgstr "Valoraciones" +#. (itstool) path: section/title +#: C/organize-search.page:21 +msgid "Search bar" +msgstr "Barra de búsqueda" -#: C/organize-rating.page:13(p) +#. (itstool) path: section/p +#: C/organize-search.page:22 msgid "" -"You can assign each photo a rating from 1-5 stars, or may alternatively rate " -"it as Rejected, in which case Shotwell will hide the photo by default." +"The ViewSearch Bar checkbox toggles " +"the display of the search bar. You can also hit CtrlF or F8 to bring up the search bar. From " +"this bar, you can find, show and hide photos and videos based on title, tag, " +"rating or other options." msgstr "" -"Puede asignar a cada foto una puntuación entre 1 y 5, o marcarla como " -"rechazada, en cuyo caso Shotwell la ocultará de manera predeterminada." -#: C/organize-rating.page:15(p) -msgid "You can rate a photo or a set of photos in any of these ways:" +#. (itstool) path: section/p +#: C/organize-search.page:29 +msgid "" +"To begin searching, simply enter a search keyword in the text box, or click " +"on Flagged, Rating or Type. The text search " +"matches your keywords across tag names, photo or video titles and photos' " +"original filenames. The Flagged, Rating and Type buttons allow you to filter your collection by whether photos are " +"flagged, their current number of stars, and whether the items shown are " +"images, videos, or raw camera files, respectively." msgstr "" -"Puede valorar una foto o un conjunto de fotos de cualquiera de estas maneras:" -#: C/organize-rating.page:18(p) +#. (itstool) path: section/p +#: C/organize-search.page:38 msgid "" -"Select the photo(s), then choose a rating from the top-level " -"PhotosSet Rating menu." +"Disabling the search bar or exiting Shotwell automatically resets the search " +"bar." msgstr "" -"Seleccione las fotos y luego escoja una puntuación en el menú " -"FotoEstablecer puntuación del nivel " -"superior." +"Desactivar la barra de búsqueda o salir de Shotwell reinicia automáticamente " +"la barra de búsqueda." + +#. (itstool) path: section/title +#: C/organize-search.page:44 +msgid "Saved search" +msgstr "Búsqueda guardada" -#: C/organize-rating.page:19(p) +#. (itstool) path: section/p +#: C/organize-search.page:45 msgid "" -"Right-click on the photo(s), then choose a rating from the Set Rating " -"context menu." +"A saved search persists across Shotwell sessions, and is updated as photos " +"and videos are added and removed from your Shotwell library." msgstr "" -"Pulse con el botón derecho en las fotos y luego escoja su puntuación en el " -"menú contextual «Establecer puntuación»." +"Una búsqueda guardada se mantiene entre sesiones de Shotwell, y se actualiza " +"con las fotos y vídeos que se añaden o quitan de su biblioteca de Shotwell." -#: C/organize-rating.page:20(p) +#. (itstool) path: section/p +#: C/organize-search.page:50 msgid "" -"Select the photo(s), then press any of the shortcut keys 1, " -"2, 3, 4 or 5 to assign a rating. " -"Or press 9 to mark the photo(s) as rejected or 0 to " -"clear the rating(s)." +"Create a new saved search with EditNew Saved " +"Search... or by hitting CtrlS. The dialog box allows you to enter a name for the search and select " +"whether you want to meet Any, All, or None of the criteria in the following " +"rows." msgstr "" -#: C/organize-rating.page:23(p) +#. (itstool) path: section/p +#: C/organize-search.page:56 msgid "" -"Normally Shotwell displays all photos except rejected photos. You can set a " -"different rating filter using the ViewFilter Photos menu - for example, you can display only photos rated with 3 " -"stars or higher, or you can display all photos including those marked " -"rejected. The Shotwell icon on the toolbar displays the current rating " -"filter and can also be used to set the filter." +"Each row represents a search criterion. Use the + button to add " +"more rows, and the - button to remove a specific row. The combo " +"box on the left of each row selects the type of criteria. Criteria must be " +"entered correctly before the OK button becomes available." msgstr "" -#: C/organize-rating.page:26(p) +#. (itstool) path: info/desc +#: C/organize-tag.page:7 +msgid "Organize photos by labelling them." +msgstr "Organizar las fotos etiquetándolas." + +#. (itstool) path: page/title +#: C/organize-tag.page:14 +msgid "Tagging photos" +msgstr "Etiquetar fotos" + +#. (itstool) path: page/p +#: C/organize-tag.page:16 msgid "" -"Shotwell normally displays each photo's rating in its lower left-hand " -"corner. You can turn off the display of ratings using the ViewRatings menu item." +"You can assign one or more tags to selected photos. A tag can be one or more " +"words that you want to associate with those photos." msgstr "" +"Puede asignar una o más etiquetas a las fotos seleccionadas. Una etiqueta " +"puede constar de una o más palabras que quiera asociar a esas fotos." -#: C/organize-rating.page:28(p) +#. (itstool) path: page/p +#: C/organize-tag.page:22 msgid "" -"You can increase or decrease a photo's rating using the Set " -"RatingIncrease and Set RatingDecrease commands, or the keyboard shortcuts " -"< and >." +"To add new tags to photos, select the photos you would like to tag, then do " +"any of the following:" msgstr "" +"Para añadir etiquetas nuevas a las fotos, seleccione las fotos que quiere " +"etiquetar y siga estos pasos:" -#: C/organize-flag.page:7(desc) -msgid "Flag photos to mark them as special or to work with them as a set." +#. (itstool) path: item/p +#: C/organize-tag.page:28 +msgid "Choose TagsAdd Tags...." msgstr "" -"Marcar fotos para identificarlas como especiales o para trabajar con ellas " -"como conjunto." +"Elija EtiquetasAñadir etiquetas...." -#: C/organize-flag.page:12(title) -msgid "Flagging photos" -msgstr "Marcar fotos" +#. (itstool) path: item/p +#: C/organize-tag.page:29 +msgid "Type CtrlT." +msgstr "Pulse CtrlT." + +#. (itstool) path: item/p +#: C/organize-tag.page:30 +msgid "Drag the selected photos and drop them on the desired tag." +msgstr "Arrastre las fotos y suéltelas en la etiqueta que quiera." -#: C/organize-flag.page:14(p) +#. (itstool) path: page/p +#: C/organize-tag.page:33 msgid "" -"Shotwell lets you flag photos. When a photo is flagged, a small " -"flag icon appears in its upper right corner. You can select the " -"Flagged item in the sidebar to see all photos which have been " -"flagged." +"When you use CtrlT or " +"TagsAdd Tags... you can type in the " +"names of one or more tags, separated by commas. Once you have created a tag, " +"you can rename it by selecting that tag in the sidebar and choosing " +"TagsRename Tag \"[name]\"..., by " +"rightclicking on it and choose Rename... or double-click on the " +"tag in the sidebar." msgstr "" -#: C/organize-flag.page:18(p) +#. (itstool) path: page/p +#: C/organize-tag.page:44 msgid "" -"Flagging a photo marks it as special. You can interpret this in any way you " -"like. For example, you might flag all photos which need visual adjustment, " -"or all photos which you want to share with a friend." +"To change which tags are associated with a particular photo, select that " +"photo, choose TagsModify Tags... or " +"right-click on a photo and select Modify Tags... and edit the " +"comma separated list. To remove a tag from one or more photos, first select " +"that tag in the sidebar, then select the photos you would like to remove, " +"and choose TagsRemove Tag \"[name]\" from Photos or right-click on the photos an select Remove Tag " +"\"[name]\" from Photos." msgstr "" -#: C/organize-flag.page:22(p) +#. (itstool) path: page/p +#: C/organize-tag.page:58 msgid "" -"Flagging is also useful because you can operate on all flagged photos as a " -"set. For example, you can select the Flagged view and then upload " -"all flagged photos to a publishing service." +"To delete a tag entirely, select that tag in the sidebar and choose " +"TagsDelete Tag \"[name]\" or by right-" +"click and select Delete Tag \"[name]\"." msgstr "" +"Para eliminar por completo una etiqueta, selecciónela en la barra latera y " +"elija EtiquetasEliminar etiqueta «nombre» o púlsela con el botón derecho y elija Eliminar etiqueta " +"«nombre»." -#: C/organize-flag.page:27(title) -msgid "To flag or unflag a photo" -msgstr "Para marcar o desmarcar una foto" +#. (itstool) path: page/p +#: C/organize-tag.page:64 +#, fuzzy +#| msgid "" +#| "The Tags folder lists all tags you've assigned to photos. " +#| "Photos can have multiple tags attached to them. When you click on the " +#| "name of a tag in the sidebar, you will see all the photos associated with " +#| "that tag." +msgid "" +"When you create a tag, it will appear in the sidebar under the Tags item, which is hidden if there are no tags. Photos can have multiple " +"tags attached to them, and when you click on the name of a given tag in the " +"sidebar, you will see all the photos associated with that tag." +msgstr "" +"La carpeta Etiquetas lista todas las etiquetas que ha asignado a " +"sus fotos. Las fotos pueden tener múltiples etiquetas relacionadas con las " +"mismas. Cuando posiciona el cursor sobre el nombre de una etiqueta en la " +"barra lateral, podrá ver todas las fotos asociadas a esa etiqueta." -#: C/organize-flag.page:28(p) +#. (itstool) path: section/title +#: C/organize-tag.page:73 +msgid "Hierarchical Tags" +msgstr "Etiquetas jerárquicas" + +#. (itstool) path: section/p +#: C/organize-tag.page:74 msgid "" -"To flag or unflag a photo, right-click the photo and choose Flag " -"or Unflag from the context menu. Or use the CtrlG or / shortcut keys." +"Shotwell supports also hierarchial tags. You can rearrange your tags by drag " +"and drop a tag onto another. To create a new subtag right-click on a tag and " +"select New." msgstr "" +"Shotwell también soporta etiquetas jerárquicas. Puede reordenar sus " +"etiquetas arrastrando y soltando una etiqueta sobre otra. Para crear una " +"etiqueta hija nueva, pulse con el botón derecho sobre una etiqueta y elija " +"Nuevo." -#: C/organize-event.page:7(desc) +#. (itstool) path: section/p +#: C/organize-tag.page:81 msgid "" -"Group photos together that were taken at the same time. Learn how to rename, " -"merge, and sort events." +"Hierarchial tags can help you to sort your tag list in ways that better " +"match how you work or think; for example, you can store location tags like " +"\"Mountains\" or \"Beach\" under a parent tag \"Places\", which itself can " +"be placed under the tag \"Summer Holidays\"." msgstr "" -"Agrupar fotos que se tomadron al mismo tiempo. Aprenda como renombrar, unir " -"y ordenar eventos." +"Las etiquetas jerárquicas le pueden ayudar a ordenar su lista de etiquetas " +"de manera que se ajuste a mejor a lo que necesita; por ejemplo, puede tener " +"las etiquetas «Montañas» o «Playa» dentro de la etiqueta «Lugares», que a su " +"vez puede estar dentro de la etiqueta «Vacaciones de verano»." + +#. (itstool) path: section/p +#: C/organize-tag.page:89 +msgid "Note that deleting a parent tag will also delete its child tags." +msgstr "" +"Tenga en cuenta que al eliminar una etiqueta padre también se eliminarán las " +"etiquetas hijas." + +#. (itstool) path: info/desc +#: C/organize-title.page:7 +msgid "Give titles to your photos." +msgstr "Asignar títulos a las fotos." + +#. (itstool) path: page/title +#: C/organize-title.page:12 +msgid "Titles" +msgstr "Títulos" + +#. (itstool) path: page/p +#: C/organize-title.page:14 +msgid "" +"The ViewTitles checkbox toggles the " +"display of titles beneath each photo. By default, a photo's title is its " +"filename." +msgstr "" + +#. (itstool) path: page/p +#: C/organize-title.page:17 +#, fuzzy +#| msgid "" +#| "To change a photo's title, select the photo and click " +#| "PhotosEdit Title, or press " +#| "F2." +msgid "" +"To change a photo's title, select the photo and click PhotosEdit Title..., or press F2." +msgstr "" +"Para cambiar el título de una foto, selecciónela y pulse FotosEditar título, o pulse F2." + +#. (itstool) path: info/desc +#: C/other-files.page:7 +msgid "Keep the Shotwell library in sync with photo files on disk." +msgstr "" +"Mantener la biblioteca de Shotwell sincronizada con los archivos de fotos " +"del disco." + +#. (itstool) path: page/title +#: C/other-files.page:12 +msgid "Photo files" +msgstr "Archivos de fotos" + +#. (itstool) path: page/p +#: C/other-files.page:14 +msgid "" +"Every photo in the Shotwell library corresponds to a file stored on your " +"hard disk. Shotwell has several features which help you keep the Shotwell " +"library and files on disk in sync." +msgstr "" +"Cada foto de la biblioteca de Shotwell se corresponde con un archivo " +"almacenado en su disco duro. Shotwell tienen varias características que le " +"ayudan a mantener su biblioteca y los archivos del disco sincronizados." + +#. (itstool) path: section/title +#: C/other-files.page:21 +msgid "Using a custom directory pattern" +msgstr "Usar un patrón de carpeta predeterminado" + +#. (itstool) path: section/p +#: C/other-files.page:22 +msgid "" +"Shotwell allows you to specify how it names directories in your library. You " +"can do this by changing the Directory Structure and Pattern settings in the Preferences dialog. You may use a " +"preselected pattern, or choose Custom and type in your own." +msgstr "" +"Shotwell le permite especificar como llamar a sus carpetas en una " +"biblioteca. Puede hacer esto cambiando las configuraciones de " +"Estructura del directorio y Patrón en el cuadro de " +"diálogo Preferencias. Puede utilizar un patrón preseleccionado, o " +"escoger Personalizado y escribir el suyo." + +#. (itstool) path: section/p +#: C/other-files.page:29 +msgid "" +"The available symbols for the directory pattern begin with a % (percent " +"sign). The values these symbols produce are locale-dependent, so what you " +"see on your computer may vary from the examples below." +msgstr "" +"Los símbolos disponibles para los patrones de carpetas empiezan por " +"«%» (signo de porcentaje). Los valores que estos símbolos producen dependen " +"de la configuración regional, por lo que lo que vea en su equipo puede ser " +"diferente a estos ejemplos." + +#. (itstool) path: td/p +#: C/other-files.page:38 +msgid "Symbol" +msgstr "Símbolo" + +#. (itstool) path: td/p +#: C/other-files.page:38 +msgid "Meaning" +msgstr "Significado" + +#. (itstool) path: td/p +#: C/other-files.page:38 +msgid "Example" +msgstr "Ejemplo" + +#. (itstool) path: td/p +#: C/other-files.page:43 +msgid "%Y" +msgstr "%Y" + +#. (itstool) path: td/p +#: C/other-files.page:43 +msgid "Year: full" +msgstr "Año: completo" + +#. (itstool) path: td/p +#: C/other-files.page:43 +msgid "2011" +msgstr "2011" -#: C/organize-event.page:12(title) -msgid "Events" -msgstr "Eventos" +#. (itstool) path: td/p +#: C/other-files.page:46 +msgid "%y" +msgstr "%y" -#: C/organize-event.page:14(p) -msgid "" -"An event is a group of photos that were taken at approximately the same " -"time. When you import photos, Shotwell checks when each photo was taken. It " -"then groups the photos into events." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:46 +msgid "Year: two digit" +msgstr "Año: dos dígitos" -#: C/organize-event.page:16(p) -msgid "" -"Choose Events from the sidebar to see your photos organized by " -"date. If you select a month or year from the sidebar, a list of events will " -"be displayed in the main window. Double-click an event to see all the photos " -"that were taken around that time." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:46 +msgid "11" +msgstr "11" -#: C/organize-event.page:18(p) -msgid "" -"If a photo has no embedded date/time information, then Shotwell can't " -"automatically place it in any event. In this case the photo will appear in " -"the No Event view accessible from the sidebar. You can still move " -"the photo to any event you like as described below." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:49 +msgid "%d" +msgstr "%d" -#: C/organize-event.page:25(title) -msgid "Renaming events" -msgstr "Renombrar eventos" +#. (itstool) path: td/p +#: C/other-files.page:49 +msgid "Day of the month with leading zero" +msgstr "Día del mes, empezando por cero" -#: C/organize-event.page:27(p) -msgid "" -"To give an event a name rather than referring to it by its date, select the " -"event, click EditRename Event and " -"enter a new name. Another way of renaming an event is to double-click its " -"name in the sidebar; type a new name and then press Enter." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:49 +msgid "03" +msgstr "03" -#: C/organize-event.page:31(title) -msgid "Moving photos between events" -msgstr "Mover fotos entre eventos" +#. (itstool) path: td/p +#: C/other-files.page:52 +msgid "%A" +msgstr "%A" -#: C/organize-event.page:33(p) -msgid "" -"Even though photos are initially grouped into events by their date, you can " -"move photos between events. To do this, drag any photo to the sidebar and " -"drop it on an event." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:52 +msgid "Day name: full" +msgstr "Nombre del día: completo" -#: C/organize-event.page:37(title) -msgid "Creating and merging events" -msgstr "Crear y combinar eventos" +#. (itstool) path: td/p +#: C/other-files.page:52 +msgid "Wednesday" +msgstr "Miércoles" -#: C/organize-event.page:38(p) -msgid "" -"To create a new event, select the photos you would like in the new event and " -"click EventsNew Event." -msgstr "" -"Para crear un evento nuevo, seleccione las fotos que quiere tener en el " -"evento y pulse EventosNuevo evento." +#. (itstool) path: td/p +#: C/other-files.page:55 +msgid "%a" +msgstr "%a" -#: C/organize-event.page:39(p) -msgid "" -"To merge events, select Events from the sidebar, " -"then, while holding down Ctrl click on the events you want to " -"merge in the main window area. Finally, click EventsMerge Events." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:55 +msgid "Day name: abbreviated" +msgstr "Nombre del día: abreviado" -#: C/organize-event.page:43(title) -msgid "Sorting events" -msgstr "Ordenar eventos" +#. (itstool) path: td/p +#: C/other-files.page:55 +msgid "Wed" +msgstr "Mié" -#: C/organize-event.page:45(p) -msgid "" -"Events are displayed in a tree in the sidebar, organized by the year and " -"month of the earliest photo in the event. To change the event sort order, " -"click ViewSort Events and select " -"either ascending or descending." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:58 +msgid "%m" +msgstr "%m" -#: C/organize-event.page:51(title) -msgid "Change the photo used to represent each event" -msgstr "Cambiar la foto usada para representar cada evento" +#. (itstool) path: td/p +#: C/other-files.page:58 +msgid "Month number with leading zero" +msgstr "Número de mes, empezando por cero" -#: C/organize-event.page:53(p) -msgid "" -"If you select the Events item in the sidebar, you'll see a single photo " -"which represents each event. This is called the key photo." -msgstr "" -"Si selecciona el elemento Eventos en la barra lateral, verá una única foto " -"que representa cada evento. Esto se denomina «foto clave»." +#. (itstool) path: td/p +#: C/other-files.page:58 +msgid "02" +msgstr "02" -#: C/organize-event.page:55(p) -msgid "" -"By default, Shotwell uses the first photo in each event as its key photo. To " -"use a different key photo, select the photo and choose PhotosMake Key Photo for Event." -msgstr "" +#. (itstool) path: td/p +#: C/other-files.page:60 +msgid "%b" +msgstr "%b" -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: C/index.page:23(None) -msgid "" -"@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" -msgstr "" -"@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" +#. (itstool) path: td/p +#: C/other-files.page:60 +msgid "Month name: abbreviated" +msgstr "Nombre del mes: abreviado" -#: C/index.page:6(title) C/index.page:7(title) -msgid "Shotwell" -msgstr "Shotwell" +#. (itstool) path: td/p +#: C/other-files.page:60 +msgid "Feb" +msgstr "Feb" -#: C/index.page:9(name) -msgid "Jim Nelson" -msgstr "Jim Nelson" +#. (itstool) path: td/p +#: C/other-files.page:62 +msgid "%B" +msgstr "%B" -#: C/index.page:10(email) -msgid "jim@yorba.org" -msgstr "jim@yorba.org" +#. (itstool) path: td/p +#: C/other-files.page:62 +msgid "Month name: full" +msgstr "Nombre del mes: completo" -#: C/index.page:11(name) -msgid "Allison Barlow" -msgstr "Allison Barlow" +#. (itstool) path: td/p +#: C/other-files.page:62 +msgid "February" +msgstr "Febrero" -#: C/index.page:12(email) -msgid "allison@yorba.org" -msgstr "allison@yorba.org" +#. (itstool) path: td/p +#: C/other-files.page:63 +msgid "%I" +msgstr "%I" -#: C/index.page:13(name) -msgid "Robert Ancell" -msgstr "Robert Ancell" +#. (itstool) path: td/p +#: C/other-files.page:63 +msgid "Hour: 12 hour format" +msgstr "Hora: formato de 12 horas" -#: C/index.page:14(email) -msgid "robert.ancell@canonical.com" -msgstr "robert.ancell@canonical.com" +#. (itstool) path: td/p +#: C/other-files.page:63 +msgid "05" +msgstr "05" -#: C/index.page:15(name) -msgid "Peter Smith" -msgstr "Peter Smith" +#. (itstool) path: td/p +#: C/other-files.page:64 +msgid "%H" +msgstr "%H" -#: C/index.page:16(email) -msgid "pdo.smith@gmail.com" -msgstr "pdo.smith@gmail.com" +#. (itstool) path: td/p +#: C/other-files.page:64 +msgid "Hour: 24 hour format" +msgstr "Hora: formato de 24 horas" -#: C/index.page:17(name) -msgid "Phil Bull" -msgstr "Phil Bull" +#. (itstool) path: td/p +#: C/other-files.page:64 +msgid "17" +msgstr "17" -#: C/index.page:18(email) -msgid "philbull@gmail.com" -msgstr "philbull@gmail.com" +#. (itstool) path: td/p +#: C/other-files.page:66 +msgid "%M" +msgstr "%M" -#: C/index.page:23(title) -msgid "" -"Shotwell Photo " -"Manager" -msgstr "" -"Gestor de fotos " -"Shotwell" +#. (itstool) path: td/p +#: C/other-files.page:66 +msgid "Minute" +msgstr "Minuto" -#: C/index.page:26(title) -msgid "Importing Photos" -msgstr "Importar fotos" +#. (itstool) path: td/p +#: C/other-files.page:66 +msgid "16" +msgstr "16" -#: C/index.page:30(title) -msgid "Viewing Photos" -msgstr "Ver fotos" +#. (itstool) path: td/p +#: C/other-files.page:67 +msgid "%S" +msgstr "%S" -#: C/index.page:34(title) -msgid "Organizing Photos" -msgstr "Organizar fotos" +#. (itstool) path: td/p +#: C/other-files.page:67 +msgid "Second" +msgstr "Segundo" -#: C/index.page:38(title) -msgid "Editing Photos" -msgstr "Editar fotos" +#. (itstool) path: td/p +#: C/other-files.page:67 +msgid "30" +msgstr "30" -#: C/index.page:42(title) -msgid "Sharing Photos" -msgstr "Compartir fotos" +#. (itstool) path: td/p +#: C/other-files.page:68 +msgid "%p" +msgstr "%p" -#: C/index.page:46(title) -msgid "Other Features" -msgstr "Otras características" +#. (itstool) path: td/p +#: C/other-files.page:68 +msgid "AM or PM" +msgstr "AM o PM" -#: C/import-memorycard.page:7(desc) -msgid "Import photos from a digital camera's memory card." -msgstr "Importar fotos desde una tarjeta de memoria de una cámara digital." +#. (itstool) path: td/p +#: C/other-files.page:68 +msgid "PM" +msgstr "PM" -#: C/import-memorycard.page:12(title) -msgid "Importing from a memory card" -msgstr "Importar desde una tarjeta de memoria" +#. (itstool) path: section/p +#: C/other-files.page:72 +msgid "" +"There are other symbols available; please check the manual for strftime by " +"running the command man strftime if you need one that isn't " +"listed here." +msgstr "" +"Existen otros símbolos disponibles, revise el manual de strftime ejecutando " +"el comando man strftime si necesita alguno que no esté listado " +"aquí." -#: C/import-memorycard.page:14(p) -msgid "To import photos from a camera memory card:" -msgstr "Para importar fotos desde una tarjeta de memoria de una cámara:" +#. (itstool) path: section/title +#: C/other-files.page:79 +msgid "Automatically importing photos" +msgstr "Importar fotos automáticamente" -#: C/import-memorycard.page:18(p) +#. (itstool) path: section/p +#: C/other-files.page:81 msgid "" -"Put the card into your card reader. Make sure the card reader is plugged in " -"to the computer and switched on." +"Shotwell can automatically import new photos which appear in the library " +"directory. (The library directory is usually the Pictures " +"directory in your home directory; you can change its location in in the " +"Preferences window.)" msgstr "" -"Coloque la tarjeta en el lector de tarjetas. Asegúrese de que el lector está " -"conectado al equipo y encendido." +"Shotwell puede automáticamente importar nuevas fotos que aparezcan en la " +"carpeta de la biblioteca. (La carpeta de la biblioteca está usualmente en la " +"carpeta Imágenes en su carpeta local; puede cambiar esta " +"ubicación en la ventana Preferencias.)" -#: C/import-memorycard.page:21(p) -msgid "The card reader and card should be detected automatically." +#. (itstool) path: section/p +#: C/other-files.page:86 +msgid "" +"To enable auto-import, check the box Watch library directory for new " +"files in the Preferences window." msgstr "" -"El lector de tarjetas y la tarjeta se deberían detectar automáticamente." +"Para activar la importación automática, marca la opción Vigilar mi " +"colección en búsqueda de archivos nuevos en la ventana " +"Preferencias." -#: C/import-memorycard.page:24(p) +#. (itstool) path: note/p +#: C/other-files.page:90 msgid "" -"Follow the instructions for importing photos from " -"your hard disk. If you click FileImport From " -"Folder, the memory card should be visible as a folder in the " -"side bar of the file selection window." +"Shotwell can also follow symbolic links inside automatically-imported " +"directories." msgstr "" +"Shotwell también puede seguir los enlaces simbólicos en carpetas importadas " +"automáticamente." + +#. (itstool) path: section/title +#: C/other-files.page:95 +msgid "Automatically renaming imported photos to lowercase" +msgstr "Renombrar a minúsculas automáticamente las fotos importadas" -#: C/import-memorycard.page:28(p) +#. (itstool) path: section/p +#: C/other-files.page:97 msgid "" -"Shotwell can import photos from any memory card that is compatible with your " -"card reader." +"Shotwell can automatically change the filenames of imported photos to " +"lowercase. To enable this, choose EditPreferences, and in the Preferences window, check the " +"Rename imported files to lowercase box." msgstr "" -"Shotwell puede importar fotos de una tarjeta de memoria que sea compatible " -"con su lector de tarjetas." +"Shotwell puede cambiar automáticamente los nombres de las fotos importadas a " +"minúsculas. Para activar esto, escoja EditarPreferencias, y en la ventana de Preferencias, marque la casilla Renombrar los archivos importados a minúsculas." + +#. (itstool) path: section/title +#: C/other-files.page:107 +msgid "Writing metadata on the fly" +msgstr "Escribir metadatos al vuelo" -#: C/import-memorycard.page:30(p) +#. (itstool) path: section/p +#: C/other-files.page:109 msgid "" -"If the card is not detected automatically, your card reader may not have " -"been recognized. Try unplugging it and then plugging it in again. If that " -"doesn't work, you should still be able to import photos by connecting your camera directly to the computer, " -"though." +"By default, Shotwell does not modify photo files, even when you edit photos " +"or change their tags or titles. Shotwell records these changes in its own " +"database only." msgstr "" +"De manera predeterminada, Shotwell no modifica los archivos de fotos, aunque " +"las edite o cambie sus etiquetas o títulos. Shotwell guardará estos cambios " +"únicamente en su propia base de datos." -#: C/import-f-spot.page:7(desc) +#. (itstool) path: section/p +#: C/other-files.page:112 msgid "" -"Shotwell can import all your photos and tags from the F-Spot photo manager." +"To change this behavior, you can enable the checkbox Write tags, titles " +"and other metadata to photo files in the Preferences " +"dialog. When this option is enabled, Shotwell will write the following " +"metadata to most photo files whenever you change it in Shotwell:" msgstr "" -"Shotwell puede importar todas sus fotos y etiquetas desde el gestor de fotos " -"F-Spot." +"Para cambiar este comportamiento, puede activar la casilla Escribir " +"etiquetas, títulos y otros metadatos a los archivos en el cuadro de " +"diálogo Preferencias. Cuando esta opción se activa, Shotwell " +"escribirá los siguientes metadatos a la mayoría de los archivos cada vez que " +"los modifique en Shotwell." + +#. (itstool) path: item/p +#: C/other-files.page:118 +msgid "titles" +msgstr "títulos" -#: C/import-f-spot.page:12(title) -msgid "Importing from F-Spot" -msgstr "Importar desde F-Spot" +#. (itstool) path: item/p +#: C/other-files.page:119 +msgid "tags" +msgstr "etiquetas" -#: C/import-f-spot.page:14(p) -msgid "To import an existing photo collection from F-Spot:" -msgstr "Para importar una colección de fotos existente desde F-Spot:" +#. (itstool) path: item/p +#: C/other-files.page:120 +msgid "ratings" +msgstr "valoraciones" -#: C/import-f-spot.page:16(p) -msgid "Select FileImport From F-Spot." -msgstr "" -"Seleccione ArchivoImportar desde F-Spot." +#. (itstool) path: item/p +#: C/other-files.page:121 +msgid "rotation information" +msgstr "información de rotación" -#: C/import-f-spot.page:17(p) -msgid "" -"Now choose either the default F-Spot library or another F-Spot database. If " -"importing from another F-Spot database, select a directory and file from the " -"chooser dialog box." -msgstr "" +#. (itstool) path: item/p +#: C/other-files.page:122 +msgid "time/date" +msgstr "fecha/hora" -#: C/import-f-spot.page:20(p) +#. (itstool) path: section/p +#: C/other-files.page:125 msgid "" -"Shotwell will import your photos, together with their tags and other " -"information. Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list " -"will also show new entries for the dates corresponding to the imported " -"photos." +"Shotwell stores this information in photo files in EXIF, IPTC and/or XMP " +"format. Note that Shotwell can write only to photo files in JPEG, PNG and " +"TIFF format, not to BMP photos, RAW photos or to video files." msgstr "" +"Shotwell almacena esta información en archivos de fotos en formato EXIF, " +"IPTC y/o XMP. Tenga en cuenta que Shotwell sólo puede escribir en archivos " +"de fotos en formato JPEG, PNG y TIFF, no en fotos en BMP, RAW o en archivos " +"de vídeo." -#: C/import-file.page:7(desc) -msgid "Import photos that are already saved on your computer." -msgstr "Importar fotos que ya están en el equipo." - -#: C/import-file.page:12(title) -msgid "Importing from your hard disk" -msgstr "Importar desde su disco duro" +#. (itstool) path: section/title +#: C/other-files.page:133 +msgid "Runtime monitoring" +msgstr "Monitorizazión en tiempo de ejecución" -#: C/import-file.page:14(p) +#. (itstool) path: section/p +#: C/other-files.page:135 msgid "" -"To import photo files from your hard disk into Shotwell, just drag them from " -"your file browser into the Shotwell window." +"While Shotwell is running, it notices changes made to any photo file " +"externally. When a photo file changes, Shotwell rereads the file and updates " +"your view of the photo and metadata." msgstr "" -"Para importar fotos desde su disco duro a Shotwell, solo debe arrastrarlas " -"desde su explorador a la ventana de Shotwell." +"Mientras Shotwell está en ejecución, tiene en cuenta los cambios realizados " +"en un archivo de una foto externamente. Cuando el archivo cambia, Shotwell " +"vuelve a leer el archivo y actualiza la vista de la foto y sus metadatos." -#: C/import-file.page:16(p) +#. (itstool) path: section/p +#: C/other-files.page:139 msgid "" -"Alternatively, click FileImport From Folder and select the folder containing the photos you want to import." +"Note that Shotwell checks all photo files for changes at startup, but only " +"photo files contained in the library directory are monitored in real time " +"after startup. We hope to remove this limitation in a further release." msgstr "" -#: C/import-file.page:18(p) -msgid "" -"Shotwell will ask whether you want to copy the photo files to your library " -"folder (usually this is the Pictures folder in your home " -"directory) or to import them in place without copying the files." +#. (itstool) path: info/desc +#: C/other-missing.page:7 +msgid "If Shotwell can't find a photo in your library, it marks it as missing." msgstr "" +"Si Shotwell no puede encontrar una foto en su biblioteca, la marca como " +"ausente." -#: C/import-file.page:20(p) +#. (itstool) path: page/title +#: C/other-missing.page:12 +msgid "Missing photos" +msgstr "Fotos ausentes" + +#. (itstool) path: page/p +#: C/other-missing.page:14 msgid "" -"If you hold down Ctrl while dragging photos in, Shotwell will " -"copy the photos into your library folder without prompting. Similarly, if " -"you hold down CtrlShift while " -"dragging photos in, Shotwell will import the photos without copying them." +"Each time Shotwell starts up, it scans your photo library to verify that all " +"photo files still exist on your hard drive. If Shotwell finds that any photo " +"files are missing, it will not display them in the normal Photos, Events and " +"Tags views, but will instead show them in a separate Missing Files view " +"which will appear in the sidebar." msgstr "" +"Cada vez que Shotwell se inicia, analiza su biblioteca de fotos para " +"verificar que todos los archivos de fotos siguen existiendo en el disco " +"duro. Si Shotwell encuentra que falta alguna foto, no la mostrará en las " +"vistas normales de Fotos, Eventos o Etiquetas, sino que la mostrará en una " +"vista de Fotos ausentes separada que aparecerá en la barra lateral." -#: C/import-file.page:22(p) +#. (itstool) path: page/p +#: C/other-missing.page:16 msgid "" -"Once the import is complete, you can select Last Import in the " -"sidebar to see all photos successfully imported. The Events list will also " -"show new entries for the dates corresponding to the imported photos." +"If you no longer want the missing files to be part of your Shotwell " +"collection (perhaps because you deleted them), go to the Missing Files view, " +"select the photos and then click Remove From Library." msgstr "" -#: C/import-camera.page:7(desc) -msgid "Copy photos from a digital camera." -msgstr "Copiar fotos desde una cámara digital." - -#: C/import-camera.page:12(title) -msgid "Importing from a camera" -msgstr "Importar desde una cámara" - -#: C/import-camera.page:14(p) -msgid "To import photos from a digital camera:" -msgstr "Para importar fotos desde una cámara digital:" - -#: C/import-camera.page:18(p) +#. (itstool) path: page/p +#: C/other-missing.page:18 msgid "" -"Connect the camera to your computer and switch it on. Shotwell will detect " -"it and list it in the sidebar." +"If you have photos on a removable disk, such as a CD or USB flash drive, and " +"import them into Shotwell without copying the photos to your computer, they will show up as missing files " +"if you then disconnect the removable disk. See " +"to learn how to copy files from removable disks onto your computer." msgstr "" -"Conecte la cámara al equipo y enciéndala. Shotwell la detectará y la " -"mostrará en la barra lateral." +"Si tiene fotos en un disco externo, como un CD o un pendrive USB y las importa en Shotwell sin copiarlas al " +"equipo, se mostrarán como archivos ausentes cuando desconecte el disco " +"extraíble. Consulte la para aprender cómo " +"copiar archivos desde discos extraíbles a su equipo." -#: C/import-camera.page:22(p) +#. (itstool) path: page/p +#: C/other-missing.page:20 msgid "" -"Select the camera in the sidebar. Previews of each photo on the camera will " -"be displayed." +"If any missing photo files become available again, Shotwell will notice this " +"the next time it starts. The photos will once again appear in the Photos, " +"Events and Tags views." msgstr "" -"Seleccione la cámara en la barra lateral. Se mostrará la vista previa de " -"cada una de las fotos de la cámara." +"Si una foto ausente vuelve a estar disponible, Shotwell lo tendrá en cuenta " +"la próxima vez que se inicie. Las fotos volverán a aparecer en las vistas de " +"Fotos, Eventos y Etiquetas." -#: C/import-camera.page:25(p) +#. (itstool) path: info/desc +#: C/other-multiple.page:7 msgid "" -"If you like, you can choose a set of specific photos to import. To do this, " -"hold down the Ctrl key and click to select individual photos. You " -"can hold down Shift and click to select a range of photos too." +"You can open Shotwell with a different photo library by using the command " +"line." msgstr "" +"Puede abrir Shotwell con una biblioteca de fotos diferente usando la línea " +"de comandos." + +#. (itstool) path: page/title +#: C/other-multiple.page:12 +msgid "Multiple libraries" +msgstr "Varias bibliotecas" -#: C/import-camera.page:28(p) +#. (itstool) path: page/p +#: C/other-multiple.page:14 msgid "" -"Click either Import Selected or Import All. The photos " -"will be copied from the camera and saved on your computer." +"Shotwell normally stores its database and photo thumbnails in the directory " +"~/.shotwell . This directory does not hold photos, but the " +"database in this directory contains a list of all the photos in the Shotwell " +"library." msgstr "" -#: C/import-camera.page:32(p) +#. (itstool) path: page/p +#: C/other-multiple.page:16 msgid "" -"Once the import is complete, you can open the Last Import view " -"(in the sidebar) to see all photos that were imported. The Events list (also " -"in the sidebar) will also show the new photos, organized by date." +"As an advanced feature, it's possible for you to have multiple Shotwell " +"libraries, each of which has its own set of photos. Each library needs its " +"own database directory. To launch Shotwell with an alternate library, " +"specify an alternate database directory on the command line as follows:" msgstr "" +"Como característica avanzada, es posible tener varias bibliotecas de " +"Shotwell, cada una de ellas con su propio conjunto de fotos. Cada biblioteca " +"necesita su propia carpeta de base de datos. Para ejecutar Shotwell con una " +"biblioteca diferente, especifique una base de datos alternativa en la línea " +"de comandos como sigue:" -#: C/formats.page:7(desc) +#. (itstool) path: page/screen +#: C/other-multiple.page:18 +#, no-wrap msgid "" -"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files as well as video " -"files." +"\n" +"shotwell -d [library-directory]\n" msgstr "" +"\n" +"shotwell -d [carpeta-biblioteca]\n" -#: C/formats.page:12(title) -msgid "Supported photo and video formats" -msgstr "Formatos de foto y vídeo soportados" +#. (itstool) path: info/desc +#: C/other-plugins.page:7 +msgid "Extend Shotwell's functionality dynamically." +msgstr "Ampliar la funcionalidad de Shotwell dinámicamente." -#: C/formats.page:14(p) -msgid "" -"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files. Shotwell does not yet support other graphics " -"format such as GIF." -msgstr "" +#. (itstool) path: page/title +#: C/other-plugins.page:12 +msgid "Plugins" +msgstr "Complementos" -#: C/formats.page:16(p) +#. (itstool) path: page/p +#: C/other-plugins.page:13 msgid "" -"Shotwell's RAW format support is currently limited. When you view a RAW " -"photo, you are actually viewing a JPEG derived from the RAW photo, not the " -"RAW image itself. Additionally, the RAW editing pipeline is not fully 16-bit " -"- you can only export edited photos as 8-bit files. All supported formats " -"can be used for export (JPEG, PNG, TIFF, BMP)." +"Shotwell can be used with plugins, which are companion shared " +"libraries that can add support for new publishing destinations or new " +"slideshow transitions." msgstr "" -#: C/formats.page:18(p) +#. (itstool) path: page/p +#: C/other-plugins.page:18 msgid "" -"For more information about RAW-format photos in Shotwell, please see the " -"RAW section." +"To see a list of installed plugins, choose EditPreferences, and in the Preferences " +"window, click on the Plugins tab. You'll see a list of currently-" +"installed plugins, each with a checkbox by it, and you may enable or disable " +"each by selecting or deselecting the checkbox by its name." msgstr "" +"Para ver una lista de los complementos instalados, elija " +"EditarPreferencias, y en la ventana " +"de Preferencias pulse en la pestaña Complementos. Verá " +"una lista de los complementos actualmente instalados, cada uno con una " +"casilla mediante la que puede activarlos o desactivarlos por su nombre." -#: C/formats.page:22(p) +#. (itstool) path: note/p +#: C/other-plugins.page:25 msgid "" -"Shotwell also supports video files in any format supported by the GStreamer " -"media library on the system where Shotwell is running. This typically " -"includes the following formats among others:" +"Full documentation on how to develop new plugins is available at http://redmine.yorba.org/projects/shotwell/wiki/" +"ShotwellArchWritingPlugins" msgstr "" +"La documentación completa sobre cómo desarrollar nuevos complementos está " +"disponible en http://redmine.yorba.org/projects/shotwell/wiki/" +"ShotwellArchWritingPlugins" -#: C/formats.page:25(p) -msgid "Container formats: Ogg, QuickTime, MP4, AVI." -msgstr "Formatos de contenedor: Ogg, QuickTime, MP4, AVI." +#. (itstool) path: info/desc +#: C/raw.page:7 +msgid "More about RAW support in Shotwell." +msgstr "Más sobre el soporte RAW en Shotwell." + +#. (itstool) path: page/title +#: C/raw.page:12 +msgid "RAW support in Shotwell" +msgstr "Soporte de RAW en Shotwell" -#: C/formats.page:26(p) +#. (itstool) path: page/p +#: C/raw.page:13 msgid "" -"Codecs: Theora, Quicktime, MPEG-4, Motion JPEG. Note that some operating " -"systems may not include all codecs listed here due to legal or licensing " -"restrictions." +"Some cameras have the ability to store data directly off the sensor and into " +"a file that contains extra color information; this is commonly referred to " +"as 'RAW' or 'camera RAW', and Shotwell supports these files as well." msgstr "" -#: C/formats.page:30(p) +#. (itstool) path: page/p +#: C/raw.page:18 msgid "" -"Shotwell supports both photos and videos, but for simplicity, this " -"documentation uses just the term \"photos\" in most places. Many operations " -"in Shotwell apply to both photos and videos, however. In particular, events, " -"flagging, rating, tagging, and publishing work both for photos and for " -"videos." +"Since RAW photographs normally cannot be displayed directly, but must be " +"first developed - that is, have their extra information interpreted and " +"readied for displaying - most cameras will either embed a JPEG inside a RAW-" +"format file, or produce a JPEG alongside the RAW file at the time the " +"snapshot is taken. The latter is referred to throughout this document as RAW" +"+JPEG. If you import a RAW+JPEG pair, Shotwell will keep them paired and " +"treat them as one item in your library." msgstr "" -#: C/edit-undo.page:7(desc) -msgid "Return a photo to its original, unedited form." -msgstr "Restaurar una foto a su estado original, sin edición." - -#: C/edit-undo.page:14(title) -msgid "Undoing changes" -msgstr "Deshacer cambios" +#. (itstool) path: page/p +#: C/raw.page:27 +msgid "" +"When you import a RAW file, you can choose to either use the camera's " +"internally-developed JPEG or Shotwell's by selecting PhotosDeveloper in the menus." +msgstr "" -#: C/edit-undo.page:16(p) +#. (itstool) path: note/p +#: C/raw.page:33 msgid "" -"Because Shotwell is a non-destructive photo editor, you can undo any " -"alterations you make to a photograph." +"Changing between developers will cause all edits made to a photograph to be " +"discarded." msgstr "" -#: C/edit-undo.page:18(p) C/edit-nondestructive.page:16(p) +#. (itstool) path: page/p +#: C/raw.page:39 msgid "" -"If you want to see what a photo looked like before your modifications, press " -"the Shift key. The original photo will be displayed as long as " -"you hold the key down." +"In order to publish or use a RAW photograph in most other software, it has " +"to be exported first. Shotwell can export your RAW photos in JPEG, PNG, TIFF " +"or BMP format, and, when publishing, will internally export a JPEG version " +"for you and publish that." msgstr "" -#: C/edit-undo.page:20(p) +#. (itstool) path: info/desc +#: C/running.page:7 msgid "" -"To completely undo all the changes you've made to a photo, click " -"PhotosRevert to Original. The only " -"exception is that time and date adjustments will not be reverted." +"Find Shotwell in the Applications menu, or have it start automatically when " +"you plug in a camera." msgstr "" +"Busque Shotwell en el menú Aplicaciones o haga que se inicie automáticamente " +"cuando conecta una cámara." -#: C/edit-time-date.page:7(desc) -msgid "Change the time and date of photos if those details are incorrect." -msgstr "Cambiar la hora y la fecha de las fotos si son incorrectas." +#. (itstool) path: page/title +#: C/running.page:14 +msgid "Running Shotwell" +msgstr "Ejecutar Shotwell" -#: C/edit-time-date.page:12(title) -msgid "Adjust the time and date of photos" -msgstr "Ajustar la hora y fecha de las fotos" +#. (itstool) path: page/p +#: C/running.page:16 +msgid "" +"Once installed, Shotwell is available in your Applications menu " +"under Graphics or Photography." +msgstr "" +"Una vez instalado, Shotwell estará disponible en su menú Aplicaciones, en Gráficos o en Fotografía." -#: C/edit-time-date.page:14(p) +#. (itstool) path: page/p +#: C/running.page:18 msgid "" -"To adjust the time and date of photos, select the photos you would like to " -"adjust, choose PhotosAdjust Time and Date and select a new time and date." +"Shotwell may also be executed automatically when a camera is plugged in to " +"your computer. To check that your system is set up to run Shotwell when a " +"camera is detected, go to EditPreferences in any Nautilus (file browser) window and choose the Media tab.  You'll see a dropdown box entitled Photos: which lets " +"you choose Shotwell as your photo handling application." msgstr "" -#: C/edit-time-date.page:16(p) +#. (itstool) path: note/p +#: C/running.page:25 msgid "" -"If you are changing the date and time of multiple photos at once, you can " -"choose to shift all the photos by the same amount of time or to set all the " -"photos to the same time." +"Shotwell may also be executed directly from its build directory, although " +"this is only recommended for testing out Shotwell or for developers." msgstr "" +"También puede ejecutar Shotwell directamente desde la carpeta en la que se " +"construyó, pero esto sólo se recomienda para probar Shotwell o para " +"desarrolladores." -#: C/edit-time-date.page:18(p) +#. (itstool) path: info/desc +#: C/share-background.page:7 msgid "" -"By default, the time and date are only changed inside Shotwell. You can also " -"choose to modify the time and date in the original file, but this cannot be " -"undone once you exit Shotwell." +"Set your desktop background to a single photo or to a slideshow of photos." msgstr "" +"Configure su fondo de escritorio como una única foto o como una presentación " +"de fotos." -#: C/edit-straighten.page:7(desc) -msgid "Straighten a photo so that its horizon appears level." -msgstr "Enderezar una foto tal que su horizonte aparezca nivelado." - -#: C/edit-straighten.page:12(title) -msgid "Straighten photos" -msgstr "Enderezar fotos" +#. (itstool) path: page/title +#: C/share-background.page:12 +msgid "Set a desktop background or slideshow" +msgstr "Configurar un fondo de escritorio o presentación" -#: C/edit-straighten.page:14(p) +#. (itstool) path: page/p +#: C/share-background.page:14 msgid "" -"The straighten tools allows photos to be leveled and straightened. The " -"straighten tool is only available in full-window or fullscreen mode." +"To set a single photo as your desktop background, select the photo and " +"choose FileSet as Desktop Background." msgstr "" +"Para establecer una única foto como fondo del escritorio, seleccione la foto " +"y escriba ArchivoEstablecer como fondo del " +"escritorio." -#: C/edit-straighten.page:18(p) +#. (itstool) path: page/p +#: C/share-background.page:16 msgid "" -"Click Straighten. The straighten slider will appear. " -"Alternatively, use the keyboard shortcut CtrlA." +"You can also set your background to a slideshow of photos. To do this, " +"select the photos for the slideshow and choose FileSet as Desktop Slideshow.... Shotwell will prompt " +"you for a slideshow delay, which can be any interval up to one day in " +"length. The background slideshow will proceed even when Shotwell is not " +"running." msgstr "" -#: C/edit-straighten.page:21(p) -msgid "Drag the slider to achieve the desired degree of straightening." +#. (itstool) path: info/desc +#: C/share-export.page:7 +msgid "Copy photos out of Shotwell so you can put them somewhere else." msgstr "" -"Arrastre el control deslizante para conseguir el grado que quiera de " -"enderezamiento." +"Copiar fotos fuera Shotwell, para poder ponerlas en cualquier otro lugar." -#: C/edit-straighten.page:24(p) -msgid "Press OK when finished." -msgstr "Pulse Aceptar cuando haya acabado." +#. (itstool) path: page/title +#: C/share-export.page:12 +msgid "Exporting photos" +msgstr "Exportar fotos" -#: C/edit-rotate.page:7(desc) +#. (itstool) path: page/p +#: C/share-export.page:14 msgid "" -"Click the Rotate button, or choose one of the commands in the " -"Photo menu." +"To export photos from Shotwell via drag and drop, drag the photos from " +"Shotwell onto a file manager window or your desktop. The new files will be " +"full-sized copies of the photos in your library." msgstr "" -"Pulse el botón Girar, o elija uno de los comandos en el menú " -"Foto." - -#: C/edit-rotate.page:12(title) -msgid "Rotate or flip a photo" -msgstr "Girar o voltear una foto" +"Para exportar fotos desde Shotwell usando arrastrar y soltar, arrastre desde " +"Shotwell hacia una ventana de manejador de archivos o su escritorio. Los " +"archivos nuevos serán copias de tamaño completo de las fotos de su " +"biblioteca." -#: C/edit-rotate.page:14(p) +#. (itstool) path: page/p +#: C/share-export.page:18 msgid "" -"You can rotate your photos left and right (clockwise and counterclockwise) " -"with the Rotate button on the toolbar of most views. You can also " -"make a mirror image of any photo." +"Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting " +"you fine-tune the size and dimensions of your photo files. A window will " +"appear allowing you to make several choices:" msgstr "" -#: C/edit-rotate.page:16(p) +#. (itstool) path: item/p +#: C/share-export.page:24 +msgid "A format for export." +msgstr "Un formato al que exportar." + +#. (itstool) path: item/p +#: C/share-export.page:27 msgid "" -"To rotate right, click on the Rotate button. To rotate left, " -"press and hold the Ctrl key and then click the button. Both " -"commands are available in the Photos menu too. Alternatively, use " -"the following keyboard shortcuts:" +"Choose Unmodified to export photos in their original format " +"without any edits made in Shotwell. RAW photos will be exported in their " +"original RAW format." msgstr "" +"Selecione Sin modificar para exportar las fotos en su formato " +"original, sin ninguna modificación hecha en Shotwell. Las fotos en bruto se " +"exportarán en su formato original." -#: C/edit-rotate.page:18(p) +#. (itstool) path: item/p +#: C/share-export.page:29 msgid "" -"rotate left: ShiftCtrlR or " -"[" +"Choose Current to export photos including edits made in Shotwell. " +"RAW photos will be exported in JPEG format if you have edited them in " +"Shotwell, and otherwise in their original RAW format." msgstr "" -"rotar a la izquierda: MayúsCtrlR o [" +"Escoja Actual para exportar las fotos, incluyendo las editadas en " +"Shotwell. Las fotos en bruto se exportarán en formato JPEG si las editó en " +"Shotwell, y si no en su formato en bruto original." -#: C/edit-rotate.page:19(p) +#. (itstool) path: item/p +#: C/share-export.page:31 msgid "" -"rotate right: CtrlR or ]" +"Or you can choose a particular image format (JPEG, PNG, TIFF, BMP) to be " +"used for exporting. Any edits made in Shotwell will be included, and " +"Shotwell will convert photos to the destination format." msgstr "" -"rotar a la derecha: CtrlR or ]" +"O puede seleccionar un formato de imagen específico (JPEG, PNG,TIFF, BMP) " +"para usar en la exportación. Cualquier edición hecha en Shotwell se " +"incluirá, y Shotwel convertirá las fotos al formato de destino." + +#. (itstool) path: item/p +#: C/share-export.page:37 +msgid "The image quality for exporting (Low, Medium, High, or Maximum)." +msgstr "La calidad de la imagen al exportarla (baja, media, alta o máxima)." -#: C/edit-rotate.page:21(p) +#. (itstool) path: item/p +#: C/share-export.page:38 msgid "" -"To create a mirror image of a photo, use the Flip Horizontally " -"command in the Photos menu. To flip an image vertically, use the " -"Flip Vertically command in the same menu." +"A scaling constraint (which means how Shotwell will decide to scale the " +"photos down), and the desired pixel size." msgstr "" +"Una restricción de la escala (que significa cómo Shotwell va a decidir " +"reducir la escala proporcionalmente), y el tamaño de píxel requerido." -#: C/edit-rotate.page:24(p) +#. (itstool) path: item/p +#: C/share-export.page:39 msgid "" -"If you select more than one image, you can rotate all of them at the same " -"time." +"The option whether you like to export metadatas such as tags or ratings. " +"This can help to save your privacy if you have geolocation tags or tags " +"which shouldn't be seen by anyone." msgstr "" -"Si selecciona más de una imagen, puede girar todas ellas al mismo tiempo." -#: C/edit-redeye.page:7(desc) +#. (itstool) path: page/p +#: C/share-export.page:42 msgid "" -"Correct photos where people have red eyes because of the camera's flash." +"If selected, Shotwell will write tags, titles, and other metadata to the new " +"files." msgstr "" -"Corrige las fotos donde las personas tienen ojos rojos por el flash de la " -"cámara." - -#: C/edit-redeye.page:12(title) -msgid "Removing red-eye" -msgstr "Quitar los ojos rojos" +"Si está seleccionada, Shotwell escribirá etiquetas, títulos y otros " +"metadatos a los nuevos archivos." -#: C/edit-redeye.page:14(p) +#. (itstool) path: info/desc +#: C/share-print.page:7 msgid "" -"Red-eye occurs when the camera's flash reflects off the pupil of someone's " -"eye. To eliminate this in a photo, use the Red-eye tool." +"Click FilePrint.... For more printing " +"options, select the Page Setup tab in the Print dialog." msgstr "" +"Pulse ArchivoImprimir.... Para más " +"opciones de impresión, seleccione la pestaña Configuración de página en el diálogo Imprimir." -#: C/edit-redeye.page:17(p) -msgid "Click Red-eye. A circle will appear on the photo." -msgstr "Pulse en Ojos Rojos. Un círculo aparecerá en la foto." +#. (itstool) path: page/title +#: C/share-print.page:12 +msgid "Printing" +msgstr "Imprimir" -#: C/edit-redeye.page:20(p) +#. (itstool) path: page/p +#: C/share-print.page:14 +#, fuzzy +#| msgid "" +#| "To print a photo, select it and choose FilePrint." msgid "" -"Drag the circle over the affected pupil, adjust its size with the slider " -"control, and press Apply. The redness will be removed." +"To print a photo, select it and choose FilePrint...." msgstr "" +"Para imprimir una foto, selecciónela y elija ArchivoImprimir." -#: C/edit-redeye.page:23(p) +#. (itstool) path: page/p +#: C/share-print.page:16 +#, fuzzy +#| msgid "" +#| "Shotwell can also print multiple images in one page; to do this, select " +#| "multiple images, choose FilePrint, " +#| "and in the Print dialog, choose the Image Settings " +#| "tab. In Image Settings, choose one of the multiple-image-per-" +#| "page options under Autosize." msgid "" -"Repeat this process for all red pupils in your photo. Press Close " -"when finished." +"Shotwell can also print multiple images in one page; to do this, select " +"multiple images, choose FilePrint..., " +"and in the Print dialog, choose the Image Settings " +"tab. In Image Settings, choose one of the multiple-image-per-page " +"options under Autosize." msgstr "" +"Shotwell puede también imprimir varias imágenes en una página; para hacer " +"esto, seleccione las imágenes, escoja ArchivoImprimir y en el cuadro de diálogo Imprimir, seleccione la pestaña Configuraciones de la imagen. " +"EnConfiguración de la imagen, escoja una de las opciones " +"múltiples imágenes por página en Tamaño automático." -#: C/edit-nondestructive.page:7(desc) +#. (itstool) path: page/p +#: C/share-print.page:23 msgid "" -"Shotwell is a non-destructive photo editor - it does not modify your " -"original photos." +"If you would like to set formatting, paper size, and orientation options, " +"choose the Page Setup tab in the Print dialog prior to " +"printing." msgstr "" +"Si quiere establecer el formato, el tamaño del papel, y la orientación, " +"seleccione la pestaña Configuración de la páginaen el cuadro de " +"diálogo Imprimir antes de imprimir." -#: C/edit-nondestructive.page:12(title) -msgid "What happens to the original when I edit a photo?" -msgstr "¿Qué sucede con el original cuando edito una foto?" +#. (itstool) path: info/desc +#: C/share-send.page:7 +msgid "Send photos via email, instant messaging or in other ways." +msgstr "Enviar fotos por correo-e, mensajería instantánea u otras maneras." + +#. (itstool) path: page/title +#: C/share-send.page:12 +msgid "Sending photos" +msgstr "Enviar fotos" -#: C/edit-nondestructive.page:14(p) +#. (itstool) path: page/p +#: C/share-send.page:14 msgid "" -"Shotwell is a non-destructive photo editor. It does not modify your original " -"photographs. That is to say, if you crop a photo or adjust its colors, the " -"photo file on disc remains untouched. Shotwell stores your edits in a " -"database and applies them on the fly as necessary. This means you can undo " -"any alterations you make to a photograph." +"Shotwell can send photos using the GNOME desktop's Send To mechanism, which " +"lets you send photos via email, instant messaging or in other ways." msgstr "" +"Shotwell puede enviar fotos usando el mecanismo de «Enviar a» de GNOME, lo " +"que le permite enviar fotos por correo-e, mensajería instantánea u otras " +"maneras." -#: C/edit-nondestructive.page:18(p) +#. (itstool) path: page/p +#: C/share-send.page:16 msgid "" -"Note that Shotwell can optionally write metadata (such as tags and titles) " -"to photo files. For more information, see the section Photo files." +"To send photos, select them in Shotwell and choose FileSend To..., or right-click the photos and choose " +"Send To... from the context menu. A Send To dialog box " +"will appear which lets you choose a mechanism for sending the files (such as " +"email or instant messaging) and a destination. You can optionally choose to " +"send the files in a compressed format." msgstr "" +"Para enviar fotos, selecciónelas en Shotwell y después " +"escojaArchivoEnviar a..., o pulse con " +"el botón derecho en las fotos y escoja Enviar a ... del menú " +"contextual. Aparecerá una caja de diálogo en donde puede escoger la forma " +"para enviar los archivos (como correo electrónico o mensaje instantáneo) y " +"el destino. Puede, opcionalmente, enviar los archivos en un formato " +"comprimido." -#: C/edit-external.page:7(desc) -msgid "Use a different program to edit a photo." -msgstr "Usar un programa diferente para editar una foto." +#. (itstool) path: info/desc +#: C/share-slideshow.page:7 +msgid "Watch a slideshow of your photos." +msgstr "Ver sus fotos como diapositivas." -#: C/edit-external.page:12(title) -msgid "Edit photos with an external program" -msgstr "Editar las fotos con un programa externo" +#. (itstool) path: page/title +#: C/share-slideshow.page:12 +msgid "Slideshows" +msgstr "Diapositivas" -#: C/edit-external.page:16(p) +#. (itstool) path: page/p +#: C/share-slideshow.page:14 msgid "" -"You might want to use an external editor to do additional work on a photo. " -"If installed, GIMP and UFRaw are the default external editors for photo and " -"RAW editing, respectively. If these programs are not installed, you must " -"select your preferred editors by choosing EditPreferences and selecting editors from drop-down " -"menus of installed applications." +"To see a sideshow of any collection in Shotwell, navigate to that collection " +"and select ViewSlideshow or press " +"F5." msgstr "" +"Para ver una presentación de diapositivas en Shotwell, navegue hasta la " +"colección y elija VerPresentación o " +"pulse F5." -#: C/edit-external.page:24(p) -msgid "" -"Once your editors have been set, select a photo and choose " -"PhotosOpen With External Editor to " -"open the photo with the external editor. Likewise, if the original photo is " -"a RAW file, select PhotosOpen With RAW Editor to edit the RAW file directly with the set RAW editor." +#. (itstool) path: page/p +#: C/share-slideshow.page:16 +msgid "You can change some settings in a running slideshow:" +msgstr "" +"Puede cambiar algunas configuraciones de una presentación de diapositivas en " +"ejecución:" + +#. (itstool) path: item/p +#: C/share-slideshow.page:19 +msgid "The duration how long an image should be shown: 1 - 30 seconds" +msgstr "" +"La duración de cuánto tiempo se debe mostrar una imagen: 1 - 30 segundos" + +#. (itstool) path: item/p +#: C/share-slideshow.page:20 +msgid "You can select different transition effects." +msgstr "Puede seleccionar diferentes efectos de transición." + +#. (itstool) path: item/p +#: C/share-slideshow.page:21 +msgid "The time for each transition effect: 0.1 - 1.0 seconds" +msgstr "El tiempo para cada efecto de transición: 0.1 - 1.0 segundos" + +#. (itstool) path: info/desc +#: C/share-upload.page:7 +msgid "Publish photos to Facebook, Flickr, Picasa Web Albums, or other sites." msgstr "" +"Publica fotos en Facebook, Flickr, álbumes web de Picasa o en otros sitios." + +#. (itstool) path: page/title +#: C/share-upload.page:12 +msgid "Publishing to the Web" +msgstr "Publicar en la web" -#: C/edit-external.page:31(p) +#. (itstool) path: page/p +#: C/share-upload.page:14 msgid "" -"When you complete your edits and save the file, Shotwell will detect the " -"changes and update the photo. When external edits have been made, press and " -"hold the Shift key in full-window view to show the original photo " -"rather than the externally-edited one." +"Through the use of plugins, Shotwell can " +"publish photos and videos to the following services, each of which requires " +"an account:" msgstr "" +"Gracias al uso de complementos, Shotwell " +"puede publicar fotos y vídeos en los siguientes servicios, para los que se " +"requiere una cuenta." -#: C/edit-external.page:38(p) -msgid "Reverting to original will erase any external edits." -msgstr "Revertir al original borrará cualquier cambio externo." +#. (itstool) path: item/p +#: C/share-upload.page:18 +msgid "Facebook" +msgstr "Facebook" + +#. (itstool) path: item/p +#: C/share-upload.page:19 +msgid "Flickr" +msgstr "Flickr" + +#. (itstool) path: item/p +#: C/share-upload.page:20 +msgid "" +"Picasa Web Albums and " +"Google+" +msgstr "" +"Álbumes de Picasa Web y " +"Google+" -#: C/edit-external.page:43(p) +#. (itstool) path: item/p +#: C/share-upload.page:21 +msgid "YouTube (videos only)" +msgstr "YouTube (sólo vídeos)" + +#. (itstool) path: item/p +#: C/share-upload.page:22 msgid "" -"If you externally edit a RAW photo and save the result to another image, " -"such as a JPEG or PNG, Shotwell cannot automatically determine that the " -"original RAW and the new image should be paired." +"Yandex.Fotki, a photo site " +"popular in Russia (photos only)" msgstr "" +"Yandex.Fotki, una página de " +"fotos popular en Rusia (sólo fotos)" -#: C/edit-external.page:49(p) +#. (itstool) path: item/p +#: C/share-upload.page:23 msgid "" -"If you want to work within the resulting image within Shotwell, you'll need " -"to import it yourself." +"Any site running the Piwigo photo " +"gallery software (photos only)" msgstr "" +"Cualquier sitio que ejecute el software de galería de fotos Piwigo (sólo fotos)" -#: C/edit-enhance.page:7(desc) +#. (itstool) path: page/p +#: C/share-upload.page:26 msgid "" -"Let Shotwell improve the brightness and contrast of a photo automatically." +"To publish selected photos in a collection, choose EditPreferences and click on the Plugins tab " +"to enable the plugin for the service you want to publish to. Next, choose, " +"FilePublish, press the Publish toolbar button or use CtrlP. You " +"will see a dialog that lets you select a publishing service. You will then " +"need to log in or create an account." msgstr "" +"Para publicar las fotos seleccionadas en una colección, elija " +"EditarPreferencias y pulse en la " +"pestaña Complementos para activar el complemento del servicio en " +"el que quiere publicar. A continuación, elija ArchivoPublicar, pulse el botón Publicar en la " +"barra de herramientas o pulse CtrlP. " +"Verá un diálogo que le permite elegir el servicio de publicación. Necesitará " +"iniciar sesión o crear una cuenta." -#: C/edit-enhance.page:14(title) -msgid "Auto-enhance" -msgstr "Mejora automática" - -#: C/edit-enhance.page:16(p) +#. (itstool) path: page/p +#: C/share-upload.page:31 +#, fuzzy +#| msgid "" +#| "Publishing to Facebook requires you to grant certain permissions to the " +#| "Shotwell Connect Facebook application. You only need to grant these " +#| "permissions once, when you first associate Shotwell Connect with your " +#| "Facebook account." msgid "" -"Clicking on the Enhance button is a quick way to automatically " -"adjust the brightness and contrast of your photo. It will often give you a " -"photo that is correctly exposed. You can also use it as a starting point and " -"then improve the adjustments by clicking on the Adjust button." +"Publishing to Facebook requires you to grant certain permissions to the " +"Shotwell Facebook application. You only need to grant these permissions " +"once, when you first associate Shotwell with your Facebook account." msgstr "" +"Publicar en Facebook requiere que conceda ciertos permisos a la aplicación " +"Conectar Shotwell con Facebook. Solo necesita conceder los permisos una vez, " +"la primera vez que asocie Shotwell con su cuenta de Facebook." -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: C/edit-crop.page:42(None) +#. (itstool) path: note/p +#: C/share-upload.page:34 msgid "" -"@@image: 'figures/crop_thirds.jpg'; md5=4cf0a026bb812c7eab0c9db8210a9524" +"You will be only able to publish images with at most the permission you " +"granted to the Shotwell Facebook application" msgstr "" -"@@image: 'figures/crop_thirds.jpg'; md5=4cf0a026bb812c7eab0c9db8210a9524" -#: C/edit-crop.page:7(desc) -msgid "Improve the composition of a photo by cutting out parts of it." +#. (itstool) path: page/p +#: C/share-upload.page:36 +msgid "" +"Similarly, publishing to Flickr requires you to log in and permit Shotwell " +"Connect to access your account." msgstr "" +"Del mismo modo, publicar en Flickr requiere que inicie sesión y permita que " +"Shotwell Connect acceda a su cuenta." -#: C/edit-crop.page:12(title) -msgid "Cropping" -msgstr "Recortar" - -#: C/edit-crop.page:14(p) +#. (itstool) path: page/p +#: C/share-upload.page:38 msgid "" -"To reduce the area of a photo and concentrate the viewer's attention on a " -"smaller portion of it, use the Crop tool. The crop tool is only available in " -"full-window or fullscreen mode." +"If you have a Google account, but have not yet used Picasa Web Albums, you " +"will need to log in to Picasa using a browser once before you can publish to " +"this service." msgstr "" +"Si tiene una cuenta de Google, pero nunca ha usado los álbumes web de " +"Picasa, necesitará iniciar sesión en Picasa usando un navegador antes de " +"poder publicar algo en este servicio." -#: C/edit-crop.page:19(p) +#. (itstool) path: info/desc +#: C/view-displaying.page:7 msgid "" -"Double-click on a photo to enter full-window mode, then press the Crop button on the toolbar." +"Learn about different ways of viewing your photos: in a grid, filling the " +"main window, or filling the whole screen." msgstr "" +"Aprenda sobre diferentes formas de ver sus fotos: en una cuadrícula, " +"llenando la ventana principal o a pantalla completa." + +#. (itstool) path: page/title +#: C/view-displaying.page:12 +msgid "Photo views" +msgstr "Vistas de fotos" -#: C/edit-crop.page:22(p) +#. (itstool) path: page/p +#: C/view-displaying.page:14 msgid "" -"A white box, the crop rectangle, will appear over the photo. The lighter " -"portion of the photo within the crop rectangle represents what the photo " -"will look like when you crop it." +"When you select any collection in the sidebar, Shotwell displays all photos " +"in the collection in the main window area. At the bottom right is a slider " +"which adjusts the viewing size of the thumbnails. You may also adjust the " +"thumbnail size using the plus and minus keys (+ and -) " +"or by pressing Ctrl while moving your mouse scroll wheel." msgstr "" +"Cuando selecciona cualquier colección en la barra lateral, Shotwell muestra " +"todas las fotos en esa colección en la ventana principal. En la esquina " +"inferior derecha hay un control deslizante que puede ajustar el tamaño de " +"las vistas miniatura. Puede ajustar el tamaño de las miniaturas usando las " +"teclas más y menos (+ y -) o presionando Ctrl mientras mueve la rueda central del ratón." -#: C/edit-crop.page:25(p) +#. (itstool) path: page/p +#: C/view-displaying.page:16 msgid "" -"If you place your cursor in the middle of the box, you can move the box " -"around. If you drag the edges of the box, you can adjust its size. As you " -"move and adjust the crop box, you'll see four lines appear inside it, like a " -"tic-tac-toe grid. These are rule of thirds lines." +"You can view a photo full-window by double-clicking on it. From there you " +"may move to other photos in the collection with the Back and Forward " +"buttons. To return to the collection, double-click on the photo or press " +"Esc." msgstr "" +"Puede ver la vista de la foto en pantalla completa pulsando dos veces. Desde " +"ahí puede moverse a otras fotos en la colección con los botones de retroceso " +"y avance. Puede regresar a la colección, pulsando dos veces en la foto o " +"presionando Esc." -#: C/edit-crop.page:26(p) +#. (itstool) path: page/p +#: C/view-displaying.page:18 msgid "" -"You can also constrain the crop box to one of many common sizes. Choose a " -"size from the drop-down list that suits your needs. If you press the flip " -"button next to it, the orientation of the constraint will switch (from " -"landscape to portrait)." +"When viewing a photo in full-window mode, the slider on the toolbar controls " +"zoom. You can pan around by grabbing and dragging anywhere on the photo. You " +"can also zoom using your scroll wheel or by pressing the following keyboard " +"shortcuts: Ctrl0 for the full image, " +"Ctrl1 for 100% (1 photo pixel = 1 screen pixel), " +"and Ctrl2 for 200% (1 photo pixel = 2x2 screen " +"pixels)." msgstr "" -#: C/edit-crop.page:29(p) +#. (itstool) path: page/p +#: C/view-displaying.page:20 msgid "" -"When you're happy with your crop outline, press the Apply button. " -"Shotwell will display the cropped photo." +"Shotwell offers a fullscreen mode to display photos. Choose " +"ViewFullscreen or press F11. To see the fullscreen toolbar, move your mouse to the bottom of the " +"screen. The toolbar offers buttons to move through the collection, to pin " +"the toolbar down (so it isn't hidden when you move the mouse away), and to " +"leave fullscreen view." msgstr "" +"Shotwell ofrece un modo de pantalla completa para mostrar las fotos. Escoja " +"VerPantalla completa o presione " +"F11. Para ver la barra de herramientas de pantalla completa, " +"mueva su ratón a la parte inferior de la pantalla. La barra de herramientas " +"le ofrece botones para moverse a través de la colección, para fijar la barra " +"de herramientas (así esta no se ocultará cuando mueva el ratón), y dejar la " +"vista de pantalla completa." + +#. (itstool) path: section/title +#: C/view-displaying.page:23 +msgid "Viewing videos" +msgstr "Ver vídeos" -#: C/edit-crop.page:32(p) +#. (itstool) path: section/p +#: C/view-displaying.page:24 msgid "" -"If you change your mind, press the Crop button again and fine-" -"tune the crop." +"When you double-click a video, Shotwell will launch an external video player " +"to play the video. It's not currently possible to display a video in full-" +"window mode in Shotwell or to play the video within Shotwell itself." msgstr "" +"Cuando pulse dos veces sobre un vídeo, Shotwell lanzará un reproductor de " +"vídeo externo para reproducir el vídeo. Actualmente no es posible mostrar un " +"vídeo en modo a pantalla completa o reproducirlo dentro del propio Shotwell" -#: C/edit-crop.page:33(p) +#. (itstool) path: info/desc +#: C/view-information.page:7 msgid "" -"If you press Cancel rather than Apply, Shotwell will " -"return to the photo's previous crop dimensions." +"View more detailed information about photos, like the exposure mode used by " +"the camera." msgstr "" +"Ver información más detallada sobre las fotos, como el modo de exposición " +"usado por la cámara." -#: C/edit-crop.page:38(title) -msgid "What is the rule of thirds?" -msgstr "¿Qué es la regla de los tercios?" +#. (itstool) path: page/title +#: C/view-information.page:12 +msgid "Basic and extended information" +msgstr "Información básica y extendida" -#: C/edit-crop.page:39(p) +#. (itstool) path: page/p +#: C/view-information.page:14 msgid "" -"The rule of thirds helps you to choose a pleasing composition for a " -"photo." +"The Basic Information pane appears at the bottom of the sidebar, and " +"displays a brief summary of the photos you've selected. If no photos are " +"selected, it displays a summary of the entire collection. You can toggle the " +"display of this pane using the ViewBasic " +"Information command." msgstr "" +"El panel de información básica aparece en la parte inferior de la barra " +"lateral, y muestra un breve resumen de las fotos que ha seleccionado. Si no " +"se ha seleccionado ninguna foto, muestra un resumen de la colección " +"completa. Puede cambiar la visibilidad de este panel usando el comando " +"VerInformación básica." -#: C/edit-crop.page:40(p) +#. (itstool) path: page/p +#: C/view-information.page:16 msgid "" -"Imagine that the scene is divided up into a 3x3 grid by two equally-spaced " -"vertical lines and two equally-spaced horizontal lines. According to the " -"rule, you're more likely to get a pleasing composition if you align major " -"features (like the horizon, or a person's body) with one of the lines. " -"Paying attention to the way features flow from one part of the grid to " -"another can also help." +"The floating Extended Information window displays more information about the " +"selected photo. The ViewExtended Information command or CtrlShiftX toggles the display of this window." msgstr "" -#: C/edit-crop.page:41(p) +#. (itstool) path: info/desc +#: C/view-sidebar.page:7 msgid "" -"Cropping a photo so that it conforms to the rule of thirds often results in " -"a more visually appealing image." +"The sidebar on the left of the window lists various views of your library." msgstr "" +"La barra lateral de la izquierda de la ventana lista varios tipos de vistas " +"de su biblioteca." + +#. (itstool) path: page/title +#: C/view-sidebar.page:21 +msgid "The sidebar" +msgstr "La barra lateral" -#: C/edit-crop.page:43(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:23 msgid "" -"Cropping a photo, using the \"rule of thirds\" lines to improve the " -"composition." +"The sidebar on the left side of the Shotwell window lists various views of " +"your library. Although you may see the same photo in multiple views, it's " +"only stored once on your hard drive." msgstr "" +"La barra lateral a la izquierda de la ventana de Shotwell lista varias " +"vistas de su biblioteca. Aunque puede ver muchas vistas de la misma foto, " +"solo se almacena una en su disco duro" -#: C/edit-adjustments.page:7(desc) -msgid "Change the exposure, saturation, tint, and shadows of a photo." -msgstr "Cambiar la exposición, saturación, matiz y sombras de una foto." - -#: C/edit-adjustments.page:12(title) -msgid "Color adjustments" -msgstr "Ajustes del color" - -#: C/edit-adjustments.page:14(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:25 msgid "" -"The Adjust button opens a floating window with a histogram and " -"sliders to adjust a photo's exposure, saturation, tint, temperature, and " -"shadows. The histogram also has sliders to reduce the upper and lower " -"intensity thresholds of the photograph, expanding the contrast of the middle " -"range." +"The Last Import view lists your last imported photos no matter if " +"they are imported from F-Spot, your camera, a memory card or the hard disk." msgstr "" +"La vista Última importación lista sus últimas fotos importadas no " +"importa si estas se importaron de F-Spot, su cámara, una tarjeta de memoria " +"o su disco duro." -#: C/edit-adjustments.page:16(p) -msgid "" -"The Enhance button adjusts the histogram and shadows sliders to " -"improve the quality of a photo." +#. (itstool) path: page/p +#: C/view-sidebar.page:27 +msgid "The Flagged lists all photos you had previous flagged." msgstr "" +"La opción Marcada lista todas las fotos que ha marcado " +"anteriormente." -#: C/edit-adjustments.page:18(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:29 msgid "" -"When the photo's colors and contrast are to your liking, press Apply to save the changes. Reset will return the image to its " -"original state. Cancel discards all changes you've made." +"The Saved Search allows you to sort your library by many criteria." msgstr "" +"La Búsqueda guardada le permite ordenar su biblioteca bajo " +"diferentes criterios." -#: C/edit-adjustments.page:21(title) -msgid "What do the color adjustments do?" -msgstr "¿Qué hacen los ajustes del color?" - -#: C/edit-adjustments.page:24(title) -msgid "Exposure" -msgstr "Exposición" - -#: C/edit-adjustments.page:25(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:31 msgid "" -"Changes the brightness to make it look like the photo was exposed for a " -"longer or shorter time. Use this to correct under- or over-exposed photos." +"The Events folder lists all events in your library. An event is a " +"group of photos that were taken at approximately the same time." msgstr "" +"La carpeta de Eventos lista todos los eventos en su biblioteca.Un " +"evento es un grupo de fotos que se tomaron aproximadamente al mismo tiempo." -#: C/edit-adjustments.page:28(title) -msgid "Saturation" -msgstr "Saturación" - -#: C/edit-adjustments.page:29(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:33 msgid "" -"Changes how vivid colors look. If your photo looks gray and washed out, try " -"increasing the saturation. If colors look too bold, try decreasing it." +"The Tags folder lists all tags you've assigned to photos. Photos " +"can have multiple tags attached to them. When you click on the name of a tag " +"in the sidebar, you will see all the photos associated with that tag." msgstr "" +"La carpeta Etiquetas lista todas las etiquetas que ha asignado a " +"sus fotos. Las fotos pueden tener múltiples etiquetas relacionadas con las " +"mismas. Cuando posiciona el cursor sobre el nombre de una etiqueta en la " +"barra lateral, podrá ver todas las fotos asociadas a esa etiqueta." -#: C/edit-adjustments.page:32(title) -msgid "Tint" -msgstr "Matiz" +#~ msgid "Facebook" +#~ msgstr "Facebook" -#: C/edit-adjustments.page:33(p) -msgid "" -"This tints the photo with a color. It's useful for correcting photos taken " -"with the wrong white balance setting, which typically have an unnatural " -"color cast. For example, photos taken outdoors with the white balance set to " -"\"Tungsten\" may have a blue cast." -msgstr "" +#~ msgid "Flickr" +#~ msgstr "Flickr" -#: C/edit-adjustments.page:36(title) -msgid "Temperature" -msgstr "Temperatura" +#~ msgid "Symbol" +#~ msgstr "Símbolo" -#: C/edit-adjustments.page:37(p) -msgid "" -"Changes how \"warm\" or \"cool\" the picture looks. Use this to make cold, " -"depressing scenes look more lively, for example." -msgstr "" +#~ msgid "" +#~ "@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" +#~ msgstr "" +#~ "@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" -#: C/edit-adjustments.page:40(title) -msgid "Shadows" -msgstr "Sombras" +#~ msgid "jim@yorba.org" +#~ msgstr "jim@yorba.org" -#: C/edit-adjustments.page:41(p) -msgid "" -"This makes shadowy areas appear lighter. Use this to make detail more " -"visible if it's obscured by the darkness of a shadow." -msgstr "" +#~ msgid "allison@yorba.org" +#~ msgstr "allison@yorba.org" -#: C/edit-adjustments.page:44(title) -msgid "Intensity Threshold (sliders on the histogram)" -msgstr "Umbral de intensidad (control deslizante en el histograma)" +#~ msgid "robert.ancell@canonical.com" +#~ msgstr "robert.ancell@canonical.com" -#: C/edit-adjustments.page:45(p) -msgid "" -"These sliders change how light the brightest white is and how dark the " -"darkest black is. Use them to change the contrast of the photo. Photos which " -"look washed out should particularly benefit from changing these settings." -msgstr "" +#~ msgid "pdo.smith@gmail.com" +#~ msgstr "pdo.smith@gmail.com" -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -#: C/edit-adjustments.page:0(None) -msgid "translator-credits" -msgstr "" -"Dámaris Letelier , 2014\n" -"Daniel Mustieles , 2014" +#~ msgid "philbull@gmail.com" +#~ msgstr "philbull@gmail.com" diff --git a/help/es/es.stamp b/help/es/es.stamp new file mode 100644 index 0000000..e69de29 diff --git a/help/es/formats.page b/help/es/formats.page new file mode 100644 index 0000000..051dd3e --- /dev/null +++ b/help/es/formats.page @@ -0,0 +1,45 @@ + + + + + + Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files as well as video files. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Formatos de foto y vídeo soportados + +

Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files. Shotwell does not yet support other graphics format such as GIF.

+ +

Shotwell's RAW format support is currently limited. When you view a RAW photo, you are actually viewing a JPEG derived from the RAW photo, not the RAW image itself. Additionally, the RAW editing pipeline is not fully 16-bit - you can only export edited photos as 8-bit files. All supported formats can be used for export (JPEG, PNG, TIFF, BMP).

+ +

For more information about RAW-format photos in Shotwell, please see +the RAW section. +

+ +

Shotwell also supports video files in any format supported by the GStreamer media library on the system where +Shotwell is running. This typically includes the following formats among others:

+ +

Formatos de contenedor: Ogg, QuickTime, MP4, AVI.

+

Codecs: Theora, Quicktime, MPEG-4, Motion JPEG. Note that some operating systems may not include all +codecs listed here due to legal or licensing restrictions.

+
+ +

Shotwell supports both photos and videos, but for simplicity, this documentation uses just the term "photos" +in most places. Many operations in Shotwell apply to both photos and videos, however. In particular, events, +flagging, rating, tagging, and publishing work both for photos and for videos.

+ +
diff --git a/help/es/import-camera.page b/help/es/import-camera.page new file mode 100644 index 0000000..21a5265 --- /dev/null +++ b/help/es/import-camera.page @@ -0,0 +1,43 @@ + + + + + + Copiar fotos desde una cámara digital. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Importar desde una cámara + +

Para importar fotos desde una cámara digital:

+ + + +

Conecte la cámara al equipo y enciéndala. Shotwell la detectará y la mostrará en la barra lateral.

+
+ +

Seleccione la cámara en la barra lateral. Se mostrará la vista previa de cada una de las fotos de la cámara.

+
+ +

If you like, you can choose a set of specific photos to import. To do this, hold down the Ctrl key and click to select individual photos. You can hold down Shift and click to select a range of photos too.

+
+ +

Click either Import Selected or Import All. The photos will be copied from the camera and saved on your computer.

+
+
+ +

Once the import is complete, you can open the Last Import view (in the sidebar) to see all photos that were imported. The Events list (also in the sidebar) will also show the new photos, organized by date.

+
diff --git a/help/es/import-f-spot.page b/help/es/import-f-spot.page new file mode 100644 index 0000000..a546323 --- /dev/null +++ b/help/es/import-f-spot.page @@ -0,0 +1,33 @@ + + + + + + Shotwell puede importar todas sus fotos y etiquetas desde el gestor de fotos F-Spot. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Importar desde F-Spot + +

Para importar una colección de fotos existente desde F-Spot:

+ +

Seleccione ArchivoImportar desde F-Spot.

+

Now choose either the default F-Spot library or another F-Spot database. + If importing from another F-Spot database, select a directory and file from the chooser dialog box.

+
+

Shotwell will import your photos, together with their tags and other information. + Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list will also show new entries for the dates corresponding to the imported photos.

+
diff --git a/help/es/import-file.page b/help/es/import-file.page new file mode 100644 index 0000000..cb1426b --- /dev/null +++ b/help/es/import-file.page @@ -0,0 +1,35 @@ + + + + + + Importar fotos que ya están en el equipo. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Importar desde su disco duro + +

Para importar fotos desde su disco duro a Shotwell, solo debe arrastrarlas desde su explorador a la ventana de Shotwell.

+ +

Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import.

+ +

Shotwell will ask whether you want to copy the photo files to your library folder (usually this is the Pictures folder in your home directory) or to import them in place without copying the files.

+ +

If you hold down Ctrl while dragging photos in, Shotwell will copy the photos into your library folder without prompting. Similarly, if you hold down CtrlShift while dragging photos in, Shotwell will import the photos without copying them.

+ +

Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list will also show new entries for the dates corresponding to the imported photos.

+ +
diff --git a/help/es/import-memorycard.page b/help/es/import-memorycard.page new file mode 100644 index 0000000..fa2adf5 --- /dev/null +++ b/help/es/import-memorycard.page @@ -0,0 +1,43 @@ + + + + + + Importar fotos desde una tarjeta de memoria de una cámara digital. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Importar desde una tarjeta de memoria + +

Para importar fotos desde una tarjeta de memoria de una cámara:

+ + + +

Coloque la tarjeta en el lector de tarjetas. Asegúrese de que el lector está conectado al equipo y encendido.

+
+ +

El lector de tarjetas y la tarjeta se deberían detectar automáticamente.

+
+ +

Follow the instructions for importing photos from your hard disk. If you click FileImport From Folder..., the memory card should be visible as a folder in the side bar of the file selection window.

+
+
+ +

Shotwell puede importar fotos de una tarjeta de memoria que sea compatible con su lector de tarjetas.

+ +

If the card is not detected automatically, your card reader may not have been recognized. Try unplugging it and then plugging it in again. If that doesn't work, you should still be able to import photos by connecting your camera directly to the computer, though.

+ +
diff --git a/help/es/index.page b/help/es/index.page new file mode 100644 index 0000000..c19a76b --- /dev/null +++ b/help/es/index.page @@ -0,0 +1,59 @@ + + + + + Shotwell + Shotwell + + Jim Nelson + jim@yorba.org + Allison Barlow + allison@yorba.org + Robert Ancell + robert.ancell@canonical.com + Peter Smith + pdo.smith@gmail.com + Phil Bull + philbull@gmail.com + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + + <media type="image" src="figures/shotwell_logo.png"/>Gestor de fotos Shotwell + +
+ Importar fotos +
+ +
+ Ver fotos +
+ +
+ Organizar fotos +
+ +
+ Editar fotos +
+ +
+ Compartir fotos +
+ +
+ Otras características +
+
diff --git a/help/es/organize-event.page b/help/es/organize-event.page new file mode 100644 index 0000000..a4769c0 --- /dev/null +++ b/help/es/organize-event.page @@ -0,0 +1,71 @@ + + + + + + Agrupar fotos que se tomadron al mismo tiempo. Aprenda como renombrar, unir y ordenar eventos. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Eventos + +

An event is a group of photos that were taken at approximately the same time. When you import photos, Shotwell checks when each photo was taken. It then groups the photos into events.

+ +

Choose Events from the sidebar to see your photos organized by date. If you select a month or year from the sidebar, a list of events will be displayed in the main window. Double-click an event to see all the photos that were taken around that time.

+ +

If a photo has no embedded date/time information, then Shotwell can't automatically + place it in any event. In this case the photo will appear in the No Event + view accessible from the sidebar. You can still move the photo to any event you like + as described below. +

+ +
+ Renombrar eventos + +

To give an event a name rather than referring to it by its date, select the event, click EventsRename Event... and enter a new name. Another way of renaming an event is to double-click its name in the sidebar; type a new name and then press Enter.

+
+ +
+ Mover fotos entre eventos + +

Even though photos are initially grouped into events by their date, you can move photos between events. To do this, drag any photo to the sidebar and drop it on an event.

+
+ +
+ Crear y combinar eventos +

Para crear un evento nuevo, seleccione las fotos que quiere tener en el evento y pulse EventosNuevo evento.

+

To merge events, select Events from the sidebar, then, while holding down Ctrl click on the events you want to merge in the main window area. Finally, click EventsMerge Events.

+
+ +
+ Ordenar eventos + +

Events are displayed in a tree in the sidebar, organized by the year and month of the earliest photo in the event. + To change the event sort order, click ViewSort Events and select either ascending or descending.

+ +
+ +
+ Cambiar la foto usada para representar cada evento + +

If you select the Events item in the sidebar, you'll see a single photo which represents each event. This is called the key photo.

+ +

By default, Shotwell uses the first photo in each event as its key photo. + To use a different key photo, select the photo and choose PhotosMake Key Photo for Event.

+ +
+ +
diff --git a/help/es/organize-flag.page b/help/es/organize-flag.page new file mode 100644 index 0000000..5e9b810 --- /dev/null +++ b/help/es/organize-flag.page @@ -0,0 +1,46 @@ + + + + + + Marcar fotos para identificarlas como especiales o para trabajar con ellas como conjunto. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Marcar fotos + +

Shotwell lets you flag photos. When a photo is flagged, a small flag icon + appears in its upper right corner. You can select the Flagged item in the sidebar to see + all photos which have been flagged.

+ +

Flagging a photo marks it as special. You can interpret this in any way you like. For example, + you might flag all photos which need visual + adjustment, or all photos which you want to share with a friend.

+ +

Flagging + is also useful because you can operate on all flagged photos as a set. For example, you can + select the Flagged view and then upload all flagged photos to a publishing service.

+ +
+ Para marcar o desmarcar una foto +

+ To flag or unflag a photo, right-click the photo and choose Flag or Unflag + from the context menu. Or use the CtrlG or / + shortcut keys. +

+
+ +
diff --git a/help/es/organize-rating.page b/help/es/organize-rating.page new file mode 100644 index 0000000..3f8c84b --- /dev/null +++ b/help/es/organize-rating.page @@ -0,0 +1,40 @@ + + + + + + Asigne a las fotos una puntuación entre 1 y 5. Puede rechazar las fotos malas, ocultándolas en la vista. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Valoraciones +

Puede asignar a cada foto una puntuación entre 1 y 5, o marcarla como rechazada, en cuyo caso Shotwell la ocultará de manera predeterminada.

+ +

Puede valorar una foto o un conjunto de fotos de cualquiera de estas maneras:

+ + +

Seleccione las fotos y luego escoja una puntuación en el menú FotoEstablecer puntuación del nivel superior.

+

Pulse con el botón derecho en las fotos y luego escoja su puntuación en el menú contextual «Establecer puntuación».

+

Select the photo(s), then press any of the shortcut keys 1, 2, 3, 4 or 5 to assign a rating. Or press 9 to mark the photo(s) as rejected or 0 to clear the rating(s).

+
+ +

+Normally Shotwell displays all photos except rejected photos. You can set a different rating filter using the ViewFilter Photos menu - for example, you can display only photos rated with 3 stars or higher, or you can display all photos including those marked rejected. The Shotwell icon on the toolbar displays the current rating filter and can also be used to set the filter.

+ +

Shotwell normally displays each photo's rating in its lower left-hand corner. You can turn off the display of ratings using the ViewRatings menu item.

+ +

You can increase or decrease a photo's rating using the Set RatingIncrease and Set RatingDecrease commands, or the keyboard shortcuts < and >.

+
diff --git a/help/es/organize-remove.page b/help/es/organize-remove.page new file mode 100644 index 0000000..43055a1 --- /dev/null +++ b/help/es/organize-remove.page @@ -0,0 +1,54 @@ + + + + + + Quitar fotos de la biblioteca, o eliminarlas por completo del equipo. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Quitar y eliminar fotos + +

Puede eliminar las fotos de su biblioteca y también puede eliminarlas de su disco duro.

+Proceso de eliminado +

Este diagrama muestra cómo, cuando se elimina una foto, se pone primero en la papelera de Shotwell. Si la elimina de la papelera de Shotwell, se mueve a la papelera de su equipo. Si la elimina de la papelera del equipo, se eliminará permanentemente.

+
+ Quitar fotos de la biblioteca +

Seleccione las fotos que quiere quitar y elija EditarMover a la papelera. (También puede pulsar la tecla Supr.) Las fotos se moverán de su biblioteca a la papelera de Shotwell.

+

If you want to remove photos from Shotwell without having them pass through the trash, simply select the photos to be removed and choose EditRemove From Library. The photo files will be left in place on disk.

+
+ +
+ Vaciar o restaurar la carpeta de la papelera +

Seleccione la entrada de la papelera en la barra lateral y Shotwell mostrará todas las fotos que se han marcado para quitar o eliminar. En la vista de la papelera están disponibles los siguientes comandos:

+ + Eliminar

Eliminar las fotos seleccionadas de la carpeta de la papelera

+ Restaurar

Restaurar las fotos seleccionadas en Shotwell.

+ Vaciar la papelera

Eliminar todas las fotos de la papelera.

+
+
+ +
+ Eliminar o vaciar la papelera +

Cuando elimine archivos de la carpeta Papelera, o cuando la vacíe, se le ofrecerán las siguientes opciones:

+ + Solo eliminar

Quitar fotos de la biblioteca pero mantener las fotos en su ubicación dentro del equipo.

+ Archivo de Papelera

Quitar fotos de la biblioteca y eliminarlas del equipo.

+ Cancelar

No hacer nada.

+
+
+ +
diff --git a/help/es/organize-search.page b/help/es/organize-search.page new file mode 100644 index 0000000..aba75ba --- /dev/null +++ b/help/es/organize-search.page @@ -0,0 +1,69 @@ + + + + + + Buscar fotos y vídeos en su colección siguiendo varios criterios. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Búsqueda + +

+ There are two ways to search in Shotwell: the filter toolbar, and with a saved search. The search + bar allows you to quickly search the current view for certain criteria. Saved Searches feature + more complex search criteria and persist in the sidebar between sessions. +

+ + + +
+ Búsqueda guardada +

Una búsqueda guardada se mantiene entre sesiones de Shotwell, y se actualiza con las fotos y vídeos que se añaden o quitan de su biblioteca de Shotwell.

+ +

+ Create a new saved search with EditNew Saved Search... or by hitting + CtrlS. The dialog box allows you to enter a name for the + search and select whether you want to meet Any, All, or None of the criteria in the following rows. +

+ +

+ Each row represents a search criterion. Use the + button to add more rows, and the + - button to remove a specific row. The combo box on the left of each row selects the type + of criteria. Criteria must be entered correctly before the OK button becomes available. +

+
+ +
diff --git a/help/es/organize-tag.page b/help/es/organize-tag.page new file mode 100644 index 0000000..6987758 --- /dev/null +++ b/help/es/organize-tag.page @@ -0,0 +1,80 @@ + + + + + + Organizar las fotos etiquetándolas. + + + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Etiquetar fotos + +

Puede asignar una o más etiquetas a las fotos seleccionadas. Una etiqueta puede constar de una o más palabras que quiera asociar a esas fotos.

+ +

Para añadir etiquetas nuevas a las fotos, seleccione las fotos que quiere etiquetar y siga estos pasos:

+ + +

Elija EtiquetasAñadir etiquetas....

+

Pulse CtrlT.

+

Arrastre las fotos y suéltelas en la etiqueta que quiera.

+
+ +

+ When you use CtrlT or + TagsAdd Tags... you can type + in the names of one or more tags, separated by commas. + Once you have created a tag, you can rename it by selecting that + tag in the sidebar and choosing + TagsRename Tag "[name]"..., + by rightclicking on it and choose Rename... or + double-click on the tag in the sidebar. +

+ +

+ To change which tags are associated with a particular photo, + select that photo, choose + TagsModify Tags... or + right-click on a photo and select Modify Tags... and + edit the comma separated list. + To remove a tag from one or more photos, first select that tag + in the sidebar, then select the photos you would like to remove, + and choose + TagsRemove Tag "[name]" from Photos + or right-click on the photos an select + Remove Tag "[name]" from Photos. +

+ +

Para eliminar por completo una etiqueta, selecciónela en la barra latera y elija EtiquetasEliminar etiqueta «nombre» o púlsela con el botón derecho y elija Eliminar etiqueta «nombre».

+ +

+ When you create a tag, it will appear in the sidebar under the + Tags item, which is hidden if there are no tags. Photos + can have multiple tags attached to them, and when you click on the + name of a given tag in the sidebar, you will see all the photos + associated with that tag. +

+ +
+ Etiquetas jerárquicas +

Shotwell también soporta etiquetas jerárquicas. Puede reordenar sus etiquetas arrastrando y soltando una etiqueta sobre otra. Para crear una etiqueta hija nueva, pulse con el botón derecho sobre una etiqueta y elija Nuevo.

+ +

Las etiquetas jerárquicas le pueden ayudar a ordenar su lista de etiquetas de manera que se ajuste a mejor a lo que necesita; por ejemplo, puede tener las etiquetas «Montañas» o «Playa» dentro de la etiqueta «Lugares», que a su vez puede estar dentro de la etiqueta «Vacaciones de verano».

+ +

Tenga en cuenta que al eliminar una etiqueta padre también se eliminarán las etiquetas hijas.

+
+
diff --git a/help/es/organize-title.page b/help/es/organize-title.page new file mode 100644 index 0000000..76c3ba3 --- /dev/null +++ b/help/es/organize-title.page @@ -0,0 +1,31 @@ + + + + + + Asignar títulos a las fotos. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Títulos + +

The ViewTitles checkbox toggles the display of titles +beneath each photo. By default, a photo's title is its filename.

+ +

To change a photo's title, +select the photo and click PhotosEdit Title..., or press F2.

+ +
diff --git a/help/es/other-files.page b/help/es/other-files.page new file mode 100644 index 0000000..66676ea --- /dev/null +++ b/help/es/other-files.page @@ -0,0 +1,114 @@ + + + + + + Mantener la biblioteca de Shotwell sincronizada con los archivos de fotos del disco. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Archivos de fotos + +

Cada foto de la biblioteca de Shotwell se corresponde con un archivo almacenado en su disco duro. Shotwell tienen varias características que le ayudan a mantener su biblioteca y los archivos del disco sincronizados.

+ + +
+ Usar un patrón de carpeta predeterminado +

Shotwell le permite especificar como llamar a sus carpetas en una biblioteca. Puede hacer esto cambiando las configuraciones de Estructura del directorio y Patrón en el cuadro de diálogo Preferencias. Puede utilizar un patrón preseleccionado, o escoger Personalizado y escribir el suyo.

+ +

Los símbolos disponibles para los patrones de carpetas empiezan por «%» (signo de porcentaje). Los valores que estos símbolos producen dependen de la configuración regional, por lo que lo que vea en su equipo puede ser diferente a estos ejemplos.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Símbolo

Significado

Ejemplo

%Y

Año: completo

2011

%y

Año: dos dígitos

11

%d

Día del mes, empezando por cero

03

%A

Nombre del día: completo

Miércoles

%a

Nombre del día: abreviado

Mié

%m

Número de mes, empezando por cero

02

%b

Nombre del mes: abreviado

Feb

%B

Nombre del mes: completo

Febrero

%I

Hora: formato de 12 horas

05

%H

Hora: formato de 24 horas

17

%M

Minuto

16

%S

Segundo

30

%p

AM o PM

PM

+ +

Existen otros símbolos disponibles, revise el manual de strftime ejecutando el comando man strftime si necesita alguno que no esté listado aquí.

+
+ +
+ Importar fotos automáticamente + +

Shotwell puede automáticamente importar nuevas fotos que aparezcan en la carpeta de la biblioteca. (La carpeta de la biblioteca está usualmente en la carpeta Imágenes en su carpeta local; puede cambiar esta ubicación en la ventana Preferencias.)

+ +

Para activar la importación automática, marca la opción Vigilar mi colección en búsqueda de archivos nuevos en la ventana Preferencias.

+ +

Shotwell también puede seguir los enlaces simbólicos en carpetas importadas automáticamente.

+ +
+ +
+ Renombrar a minúsculas automáticamente las fotos importadas + +

Shotwell puede cambiar automáticamente los nombres de las fotos importadas a minúsculas. Para activar esto, escoja EditarPreferencias, y en la ventana de Preferencias, marque la casilla Renombrar los archivos importados a minúsculas.

+ +
+ +
+ Escribir metadatos al vuelo + +

De manera predeterminada, Shotwell no modifica los archivos de fotos, aunque las edite o cambie sus etiquetas o títulos. Shotwell guardará estos cambios únicamente en su propia base de datos.

+ +

Para cambiar este comportamiento, puede activar la casilla Escribir etiquetas, títulos y otros metadatos a los archivos en el cuadro de diálogo Preferencias. Cuando esta opción se activa, Shotwell escribirá los siguientes metadatos a la mayoría de los archivos cada vez que los modifique en Shotwell.

+ + +

títulos

+

etiquetas

+

valoraciones

+

información de rotación

+

fecha/hora

+
+ +

Shotwell almacena esta información en archivos de fotos en formato EXIF, IPTC y/o XMP. Tenga en cuenta que Shotwell sólo puede escribir en archivos de fotos en formato JPEG, PNG y TIFF, no en fotos en BMP, RAW o en archivos de vídeo.

+ +
+ +
+ Monitorizazión en tiempo de ejecución + +

Mientras Shotwell está en ejecución, tiene en cuenta los cambios realizados en un archivo de una foto externamente. Cuando el archivo cambia, Shotwell vuelve a leer el archivo y actualiza la vista de la foto y sus metadatos.

+ +

Note that Shotwell checks all photo files for changes at startup, but only photo files contained in + the library directory are monitored in real time after startup. We hope to remove this limitation + in a further release.

+ +
+ +
diff --git a/help/es/other-missing.page b/help/es/other-missing.page new file mode 100644 index 0000000..605c668 --- /dev/null +++ b/help/es/other-missing.page @@ -0,0 +1,33 @@ + + + + + + Si Shotwell no puede encontrar una foto en su biblioteca, la marca como ausente. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Fotos ausentes + +

Cada vez que Shotwell se inicia, analiza su biblioteca de fotos para verificar que todos los archivos de fotos siguen existiendo en el disco duro. Si Shotwell encuentra que falta alguna foto, no la mostrará en las vistas normales de Fotos, Eventos o Etiquetas, sino que la mostrará en una vista de Fotos ausentes separada que aparecerá en la barra lateral.

+ +

If you no longer want the missing files to be part of your Shotwell collection (perhaps because you deleted them), go to the Missing Files view, select the photos and then click Remove From Library.

+ +

Si tiene fotos en un disco externo, como un CD o un pendrive USB y las importa en Shotwell sin copiarlas al equipo, se mostrarán como archivos ausentes cuando desconecte el disco extraíble. Consulte la para aprender cómo copiar archivos desde discos extraíbles a su equipo.

+ +

Si una foto ausente vuelve a estar disponible, Shotwell lo tendrá en cuenta la próxima vez que se inicie. Las fotos volverán a aparecer en las vistas de Fotos, Eventos y Etiquetas.

+ +
diff --git a/help/es/other-multiple.page b/help/es/other-multiple.page new file mode 100644 index 0000000..6df4204 --- /dev/null +++ b/help/es/other-multiple.page @@ -0,0 +1,33 @@ + + + + + + Puede abrir Shotwell con una biblioteca de fotos diferente usando la línea de comandos. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Varias bibliotecas + +

Shotwell normally stores its database and photo thumbnails in the directory ~/.shotwell . This directory does not hold photos, but the database in this directory contains a list of all the photos in the Shotwell library.

+ +

Como característica avanzada, es posible tener varias bibliotecas de Shotwell, cada una de ellas con su propio conjunto de fotos. Cada biblioteca necesita su propia carpeta de base de datos. Para ejecutar Shotwell con una biblioteca diferente, especifique una base de datos alternativa en la línea de comandos como sigue:

+ + +shotwell -d [carpeta-biblioteca] + + +
diff --git a/help/es/other-plugins.page b/help/es/other-plugins.page new file mode 100644 index 0000000..fb971ea --- /dev/null +++ b/help/es/other-plugins.page @@ -0,0 +1,33 @@ + + + + + + Ampliar la funcionalidad de Shotwell dinámicamente. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Complementos +

+ Shotwell can be used with plugins, which are companion shared libraries that can + add support for new publishing destinations or new slideshow transitions. +

+ +

Para ver una lista de los complementos instalados, elija EditarPreferencias, y en la ventana de Preferencias pulse en la pestaña Complementos. Verá una lista de los complementos actualmente instalados, cada uno con una casilla mediante la que puede activarlos o desactivarlos por su nombre.

+ +

La documentación completa sobre cómo desarrollar nuevos complementos está disponible en http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins

+ +
diff --git a/help/es/raw.page b/help/es/raw.page new file mode 100644 index 0000000..7432916 --- /dev/null +++ b/help/es/raw.page @@ -0,0 +1,57 @@ + + + + + + Más sobre el soporte RAW en Shotwell. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Soporte de RAW en Shotwell +

Some cameras have the ability to store data directly off the sensor + and into a file that contains extra color information; this is commonly + referred to as 'RAW' or 'camera RAW', and Shotwell supports these files + as well.

+ +

Since RAW photographs normally cannot be displayed directly, but must + be first developed - that is, have their extra information interpreted and + readied for displaying - most cameras will either embed a JPEG inside a + RAW-format file, or produce a JPEG alongside the RAW file at the time the + snapshot is taken. The latter is referred to throughout this document as + RAW+JPEG. If you import a RAW+JPEG pair, Shotwell will + keep them paired and treat them as one item in your library. +

+ +

When you import a RAW file, you can choose to either use the camera's + internally-developed JPEG or Shotwell's by selecting + PhotosDeveloper in the menus. +

+ + +

+ Changing between developers will cause all edits made to a photograph + to be discarded. +

+
+ +

+ In order to publish or use a RAW photograph in most other software, it has to be + exported first. Shotwell can export your RAW photos in JPEG, PNG, TIFF + or BMP format, and, when publishing, will internally export a JPEG version + for you and publish that. +

+ +
diff --git a/help/es/running.page b/help/es/running.page new file mode 100644 index 0000000..cba0fde --- /dev/null +++ b/help/es/running.page @@ -0,0 +1,39 @@ + + + + + + Busque Shotwell en el menú Aplicaciones o haga que se inicie automáticamente cuando conecta una cámara. + + + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Ejecutar Shotwell + +

Una vez instalado, Shotwell estará disponible en su menú Aplicaciones, en Gráficos o en Fotografía.

+ +

Shotwell may also be executed automatically when a camera is plugged in to your computer. To check +that your system is set up to run Shotwell when a camera is detected, go to +EditPreferences in any +Nautilus (file browser) window and choose the Media tab.  You'll see a dropdown box +entitled Photos: which lets you choose Shotwell as your photo handling application.

+ + +

También puede ejecutar Shotwell directamente desde la carpeta en la que se construyó, pero esto sólo se recomienda para probar Shotwell o para desarrolladores.

+
+ +
diff --git a/help/es/share-background.page b/help/es/share-background.page new file mode 100644 index 0000000..82e3c41 --- /dev/null +++ b/help/es/share-background.page @@ -0,0 +1,33 @@ + + + + + + Configure su fondo de escritorio como una única foto o como una presentación de fotos. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Configurar un fondo de escritorio o presentación + +

Para establecer una única foto como fondo del escritorio, seleccione la foto y escriba ArchivoEstablecer como fondo del escritorio.

+ +

You can also set your background to a slideshow of photos. To do this, select the photos for + the slideshow and choose FileSet as Desktop Slideshow.... + Shotwell will prompt you for a slideshow delay, which can be any interval up to one day in length. + The background slideshow will proceed even when Shotwell is not running. +

+ +
diff --git a/help/es/share-export.page b/help/es/share-export.page new file mode 100644 index 0000000..8110de6 --- /dev/null +++ b/help/es/share-export.page @@ -0,0 +1,47 @@ + + + + + + Copiar fotos fuera Shotwell, para poder ponerlas en cualquier otro lugar. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Exportar fotos + +

Para exportar fotos desde Shotwell usando arrastrar y soltar, arrastre desde Shotwell hacia una ventana de manejador de archivos o su escritorio. Los archivos nuevos serán copias de tamaño completo de las fotos de su biblioteca.

+ +

+Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting you fine-tune the size and dimensions of your photo files. +A window will appear allowing you to make several choices: +

+ + +

Un formato al que exportar.

+ +

Selecione Sin modificar para exportar las fotos en su formato original, sin ninguna modificación hecha en Shotwell. Las fotos en bruto se exportarán en su formato original.

+

Escoja Actual para exportar las fotos, incluyendo las editadas en Shotwell. Las fotos en bruto se exportarán en formato JPEG si las editó en Shotwell, y si no en su formato en bruto original.

+

O puede seleccionar un formato de imagen específico (JPEG, PNG,TIFF, BMP) para usar en la exportación. Cualquier edición hecha en Shotwell se incluirá, y Shotwel convertirá las fotos al formato de destino.

+
+
+

La calidad de la imagen al exportarla (baja, media, alta o máxima).

+

Una restricción de la escala (que significa cómo Shotwell va a decidir reducir la escala proporcionalmente), y el tamaño de píxel requerido.

+

The option whether you like to export metadatas such as tags or ratings. This can help to save your privacy if you have geolocation tags or tags which shouldn't be seen by anyone.

+
+ +

Si está seleccionada, Shotwell escribirá etiquetas, títulos y otros metadatos a los nuevos archivos.

+ +
diff --git a/help/es/share-print.page b/help/es/share-print.page new file mode 100644 index 0000000..bf86838 --- /dev/null +++ b/help/es/share-print.page @@ -0,0 +1,35 @@ + + + + + + Pulse ArchivoImprimir.... Para más opciones de impresión, seleccione la pestaña Configuración de página en el diálogo Imprimir. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Imprimir + +

To print a photo, select it and choose FilePrint....

+ +

+ Shotwell can also print multiple images in one page; to do this, select multiple images, + choose FilePrint..., and in the Print dialog, + choose the Image Settings tab. In Image Settings, choose one of the + multiple-image-per-page options under Autosize. +

+ +

Si quiere establecer el formato, el tamaño del papel, y la orientación, seleccione la pestaña Configuración de la páginaen el cuadro de diálogo Imprimir antes de imprimir.

+
diff --git a/help/es/share-send.page b/help/es/share-send.page new file mode 100644 index 0000000..ab62f1c --- /dev/null +++ b/help/es/share-send.page @@ -0,0 +1,28 @@ + + + + + + Enviar fotos por correo-e, mensajería instantánea u otras maneras. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Enviar fotos + +

Shotwell puede enviar fotos usando el mecanismo de «Enviar a» de GNOME, lo que le permite enviar fotos por correo-e, mensajería instantánea u otras maneras.

+

Para enviar fotos, selecciónelas en Shotwell y después escojaArchivoEnviar a..., o pulse con el botón derecho en las fotos y escoja Enviar a ... del menú contextual. Aparecerá una caja de diálogo en donde puede escoger la forma para enviar los archivos (como correo electrónico o mensaje instantáneo) y el destino. Puede, opcionalmente, enviar los archivos en un formato comprimido.

+ +
diff --git a/help/es/share-slideshow.page b/help/es/share-slideshow.page new file mode 100644 index 0000000..7d5241c --- /dev/null +++ b/help/es/share-slideshow.page @@ -0,0 +1,34 @@ + + + + + + Ver sus fotos como diapositivas. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Diapositivas + +

Para ver una presentación de diapositivas en Shotwell, navegue hasta la colección y elija VerPresentación o pulse F5.

+ +

Puede cambiar algunas configuraciones de una presentación de diapositivas en ejecución:

+ + +

La duración de cuánto tiempo se debe mostrar una imagen: 1 - 30 segundos

+

Puede seleccionar diferentes efectos de transición.

+

El tiempo para cada efecto de transición: 0.1 - 1.0 segundos

+
+
diff --git a/help/es/share-upload.page b/help/es/share-upload.page new file mode 100644 index 0000000..ec06cd1 --- /dev/null +++ b/help/es/share-upload.page @@ -0,0 +1,46 @@ + + + + + + Publica fotos en Facebook, Flickr, álbumes web de Picasa o en otros sitios. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Publicar en la web + +

Gracias al uso de complementos, Shotwell puede publicar fotos y vídeos en los siguientes servicios, para los que se requiere una cuenta.

+ + +

Facebook

+

Flickr

+

Álbumes de Picasa Web y Google+

+

YouTube (sólo vídeos)

+

Yandex.Fotki, una página de fotos popular en Rusia (sólo fotos)

+

Cualquier sitio que ejecute el software de galería de fotos Piwigo (sólo fotos)

+
+ +

Para publicar las fotos seleccionadas en una colección, elija EditarPreferencias y pulse en la pestaña Complementos para activar el complemento del servicio en el que quiere publicar. A continuación, elija ArchivoPublicar, pulse el botón Publicar en la barra de herramientas o pulse CtrlP. Verá un diálogo que le permite elegir el servicio de publicación. Necesitará iniciar sesión o crear una cuenta.

+ +

Publishing to Facebook requires you to grant certain permissions to the Shotwell Facebook application. + You only need to grant these permissions once, when you first associate Shotwell with your Facebook account. +

+

You will be only able to publish images with at most the permission you granted to the Shotwell Facebook application

+ +

Del mismo modo, publicar en Flickr requiere que inicie sesión y permita que Shotwell Connect acceda a su cuenta.

+ +

Si tiene una cuenta de Google, pero nunca ha usado los álbumes web de Picasa, necesitará iniciar sesión en Picasa usando un navegador antes de poder publicar algo en este servicio.

+
diff --git a/help/es/view-displaying.page b/help/es/view-displaying.page new file mode 100644 index 0000000..621df7a --- /dev/null +++ b/help/es/view-displaying.page @@ -0,0 +1,38 @@ + + + + + + Aprenda sobre diferentes formas de ver sus fotos: en una cuadrícula, llenando la ventana principal o a pantalla completa. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Vistas de fotos + +

Cuando selecciona cualquier colección en la barra lateral, Shotwell muestra todas las fotos en esa colección en la ventana principal. En la esquina inferior derecha hay un control deslizante que puede ajustar el tamaño de las vistas miniatura. Puede ajustar el tamaño de las miniaturas usando las teclas más y menos (+ y -) o presionando Ctrl mientras mueve la rueda central del ratón.

+ +

Puede ver la vista de la foto en pantalla completa pulsando dos veces. Desde ahí puede moverse a otras fotos en la colección con los botones de retroceso y avance. Puede regresar a la colección, pulsando dos veces en la foto o presionando Esc.

+ +

When viewing a photo in full-window mode, the slider on the toolbar controls zoom. You can pan around by grabbing and dragging anywhere on the photo. You can also zoom using your scroll wheel or by pressing the following keyboard shortcuts: Ctrl0 for the full image, Ctrl1 for 100% (1 photo pixel = 1 screen pixel), and Ctrl2 for 200% (1 photo pixel = 2x2 screen pixels).

+ +

Shotwell ofrece un modo de pantalla completa para mostrar las fotos. Escoja VerPantalla completa o presione F11. Para ver la barra de herramientas de pantalla completa, mueva su ratón a la parte inferior de la pantalla. La barra de herramientas le ofrece botones para moverse a través de la colección, para fijar la barra de herramientas (así esta no se ocultará cuando mueva el ratón), y dejar la vista de pantalla completa.

+ +
+Ver vídeos +

Cuando pulse dos veces sobre un vídeo, Shotwell lanzará un reproductor de vídeo externo para reproducir el vídeo. Actualmente no es posible mostrar un vídeo en modo a pantalla completa o reproducirlo dentro del propio Shotwell

+
+ +
diff --git a/help/es/view-information.page b/help/es/view-information.page new file mode 100644 index 0000000..36966d6 --- /dev/null +++ b/help/es/view-information.page @@ -0,0 +1,29 @@ + + + + + + Ver información más detallada sobre las fotos, como el modo de exposición usado por la cámara. + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + Información básica y extendida + +

El panel de información básica aparece en la parte inferior de la barra lateral, y muestra un breve resumen de las fotos que ha seleccionado. Si no se ha seleccionado ninguna foto, muestra un resumen de la colección completa. Puede cambiar la visibilidad de este panel usando el comando VerInformación básica.

+ +

The floating Extended Information window displays more information about the selected photo. The ViewExtended Information command or CtrlShiftX toggles the display of this window.

+ +
diff --git a/help/es/view-sidebar.page b/help/es/view-sidebar.page new file mode 100644 index 0000000..1cd3a9e --- /dev/null +++ b/help/es/view-sidebar.page @@ -0,0 +1,46 @@ + + + + + + La barra lateral de la izquierda de la ventana lista varios tipos de vistas de su biblioteca. + + + + + + + + + + + + + + Daniel Mustieles + daniel.mustieles@gmail.com + 2014 - 2016 + + + + Dámaris Letelier + dam.letelier@gmail.com + 2014 + + + + La barra lateral + +

La barra lateral a la izquierda de la ventana de Shotwell lista varias vistas de su biblioteca. Aunque puede ver muchas vistas de la misma foto, solo se almacena una en su disco duro

+ +

La vista Última importación lista sus últimas fotos importadas no importa si estas se importaron de F-Spot, su cámara, una tarjeta de memoria o su disco duro.

+ +

La opción Marcada lista todas las fotos que ha marcado anteriormente.

+ +

La Búsqueda guardada le permite ordenar su biblioteca bajo diferentes criterios.

+ +

La carpeta de Eventos lista todos los eventos en su biblioteca.Un evento es un grupo de fotos que se tomaron aproximadamente al mismo tiempo.

+ +

La carpeta Etiquetas lista todas las etiquetas que ha asignado a sus fotos. Las fotos pueden tener múltiples etiquetas relacionadas con las mismas. Cuando posiciona el cursor sobre el nombre de una etiqueta en la barra lateral, podrá ver todas las fotos asociadas a esa etiqueta.

+ +
diff --git a/help/hu/edit-adjustments.page b/help/hu/edit-adjustments.page new file mode 100644 index 0000000..b813bd6 --- /dev/null +++ b/help/hu/edit-adjustments.page @@ -0,0 +1,49 @@ + + + + + + Change the exposure, saturation, tint, and shadows of a photo. + + + + + Color adjustments + +

The Adjust button opens a floating window with a histogram and sliders to adjust a photo's exposure, saturation, tint, temperature, and shadows. The histogram also has sliders to reduce the upper and lower intensity thresholds of the photograph, expanding the contrast of the middle range.

+ +

The Enhance button adjusts the histogram and shadows sliders to improve the quality of a photo.

+ +

When the photo's colors and contrast are to your liking, press OK to save the changes. Reset will return the image to its original state. Cancel discards all changes you've made.

+ +
+ What do the color adjustments do? + + + Expozíció +

Changes the brightness to make it look like the photo was exposed for a longer or shorter time. Use this to correct under- or over-exposed photos.

+
+ + Telítettség +

Changes how vivid colors look. If your photo looks gray and washed out, try increasing the saturation. If colors look too bold, try decreasing it.

+
+ + Árnyalat +

This tints the photo with a color. It's useful for correcting photos taken with the wrong white balance setting, which typically have an unnatural color cast. For example, photos taken outdoors with the white balance set to "Tungsten" may have a blue cast.

+
+ + Hőmérséklet +

Changes how "warm" or "cool" the picture looks. Use this to make cold, depressing scenes look more lively, for example.

+
+ + Árnyékok +

This makes shadowy areas appear lighter. Use this to make detail more visible if it's obscured by the darkness of a shadow.

+
+ + Intensity Threshold (sliders on the histogram) +

These sliders change how light the brightest white is and how dark the darkest black is. Use them to change the contrast of the photo. Photos which look washed out should particularly benefit from changing these settings.

+
+
+
+ +
diff --git a/help/hu/edit-crop.page b/help/hu/edit-crop.page new file mode 100644 index 0000000..9016766 --- /dev/null +++ b/help/hu/edit-crop.page @@ -0,0 +1,45 @@ + + + + + + Improve the composition of a photo by cutting out parts of it. + + + + + Vágás + +

To reduce the area of a photo and concentrate the viewer's attention on a smaller portion of it, use the Crop tool. + The crop tool is only available in full-window or fullscreen mode.

+ + + +

Double-click on a photo to enter full-window mode, then press the Crop button on the toolbar.

+
+ +

A white box, the crop rectangle, will appear over the photo. The lighter portion of the photo within the crop rectangle represents what the photo will look like when you crop it.

+
+ +

If you place your cursor in the middle of the box, you can move the box around. If you drag the edges of the box, you can adjust its size. As you move and adjust the crop box, you'll see four lines appear inside it, like a tic-tac-toe grid. These are rule of thirds lines.

+

You can also constrain the crop box to one of many common sizes. Choose a size from the drop-down list that suits your needs. If you press the flip button next to it, the orientation of the constraint will switch (from landscape to portrait).

+
+ +

When you're happy with your crop outline, apply it by pressing the Crop button. Shotwell will display the cropped photo.

+
+ +

If you change your mind, press the Crop button again and fine-tune the crop.

+

If you press Cancel rather than Apply, Shotwell will return to the photo's previous crop dimensions.

+
+
+ +
+ What is the rule of thirds? +

The rule of thirds helps you to choose a pleasing composition for a photo.

+

Imagine that the scene is divided up into a 3x3 grid by two equally-spaced vertical lines and two equally-spaced horizontal lines. According to the rule, you're more likely to get a pleasing composition if you align major features (like the horizon, or a person's body) with one of the lines. Paying attention to the way features flow from one part of the grid to another can also help.

+

Cropping a photo so that it conforms to the rule of thirds often results in a more visually appealing image.

+ +

Cropping a photo, using the "rule of thirds" lines to improve the composition.

+
+
+
diff --git a/help/hu/edit-date-time.page b/help/hu/edit-date-time.page new file mode 100644 index 0000000..83beb66 --- /dev/null +++ b/help/hu/edit-date-time.page @@ -0,0 +1,19 @@ + + + + + + Change the date and time of photos if those details are incorrect. + + + + + Adjust the date and time of photos + +

To adjust the date and time of photos, select the photos you would like to adjust, choose PhotosAdjust Date and Time... and select a new date and time.

+ +

If you are changing the date and time of multiple photos at once, you can choose to shift all the photos by the same amount of time or to set all the photos to the same time.

+ +

By default, the date and time are only changed inside Shotwell. You can also choose to modify the date and time in the original file, but this cannot be undone once you exit Shotwell.

+ +
diff --git a/help/hu/edit-enhance.page b/help/hu/edit-enhance.page new file mode 100644 index 0000000..75606db --- /dev/null +++ b/help/hu/edit-enhance.page @@ -0,0 +1,16 @@ + + + + + + Let Shotwell improve the brightness and contrast of a photo automatically. + + + + + + + Auto-enhance + +

Clicking on the Enhance button is a quick way to automatically adjust the brightness and contrast of your photo. It will often give you a photo that is correctly exposed. You can also use it as a starting point and then improve the adjustments by clicking on the Adjust button.

+
diff --git a/help/hu/edit-external.page b/help/hu/edit-external.page new file mode 100644 index 0000000..fc4a4d3 --- /dev/null +++ b/help/hu/edit-external.page @@ -0,0 +1,53 @@ + + + + + + Use a different program to edit a photo. + + + + + + Edit photos with an external program + + +

+ You might want to use an external editor to do additional work on a photo. + If installed, GIMP and UFRaw are the default external editors for photo and RAW editing, + respectively. If these programs are not installed, you must select your preferred + editors by choosing EditPreferences and selecting + editors from drop-down menus of installed applications. +

+ +

+ Once your editors have been set, select a photo and choose Photos + Open With External Editor to open the photo with the external editor. + Likewise, if the original photo is a RAW file, select PhotosOpen + With RAW Editor to edit the RAW file directly with the set RAW editor. +

+ +

+ When you complete your edits and save the file, Shotwell will detect the changes and + update the photo. When external edits have been made, press and hold the + Shift key in full-window view to show the original photo rather than the + externally-edited one. +

+ +

+ Reverting to original will erase any external edits. +

+ + +

+ If you externally edit a RAW photo and save the result to another image, such as a + JPEG or PNG, Shotwell cannot automatically determine that the original RAW and the + new image should be paired. +

+ +

+ If you want to work within the resulting image within Shotwell, you'll need to + import it yourself. +

+
+
diff --git a/help/hu/edit-nondestructive.page b/help/hu/edit-nondestructive.page new file mode 100644 index 0000000..96cd2fb --- /dev/null +++ b/help/hu/edit-nondestructive.page @@ -0,0 +1,20 @@ + + + + + + Shotwell is a non-destructive photo editor - it does not modify your original photos. + + + + + What happens to the original when I edit a photo? + +

Shotwell is a non-destructive photo editor. It does not modify your original photographs. That is to say, if you crop a photo or adjust its colors, the photo file on disc remains untouched. Shotwell stores your edits in a database and applies them on the fly as necessary. This means you can undo any alterations you make to a photograph.

+ +

If you want to see what a photo looked like before your modifications, press the Shift key. The original photo will be displayed as long as you hold the key down.

+ +

Note that Shotwell can optionally write metadata (such as tags and titles) to photo files. +For more information, see the section Photo files.

+ +
diff --git a/help/hu/edit-redeye.page b/help/hu/edit-redeye.page new file mode 100644 index 0000000..a705e8f --- /dev/null +++ b/help/hu/edit-redeye.page @@ -0,0 +1,25 @@ + + + + + + Correct photos where people have red eyes because of the camera's flash. + + + + + Vörös szem eltávolítása + +

Red-eye occurs when the camera's flash reflects off the pupil of someone's eye. To eliminate this in a photo, use the Red-eye tool.

+ + +

Click Red-eye. A circle will appear on the photo.

+
+ +

Drag the circle over the affected pupil, adjust its size with the slider control, and press Apply. The redness will be removed.

+
+ +

Repeat this process for all red pupils in your photo. Press Close when finished.

+
+
+
diff --git a/help/hu/edit-rotate.page b/help/hu/edit-rotate.page new file mode 100644 index 0000000..26d7e74 --- /dev/null +++ b/help/hu/edit-rotate.page @@ -0,0 +1,26 @@ + + + + + + Click the Rotate button, or choose one of the commands in the Photo menu. + + + + + Rotate or flip a photo + +

You can rotate your photos left and right (clockwise and counterclockwise) with the Rotate button on the toolbar of most views. You can also make a mirror image of any photo.

+ +

To rotate right, click on the Rotate button. To rotate left, press and hold the Ctrl key and then click the button. Both commands are available in the Photos menu too. Alternatively, use the following keyboard shortcuts:

+ +

rotate left: ShiftCtrlR or [

+

rotate right: CtrlR or ]

+
+

To create a mirror image of a photo, use the Flip Horizontally command in the Photos menu. To flip an image vertically, use the Flip Vertically command in the same menu.

+ + +

If you select more than one image, you can rotate all of them at the same time.

+
+ +
diff --git a/help/hu/edit-straighten.page b/help/hu/edit-straighten.page new file mode 100644 index 0000000..192949d --- /dev/null +++ b/help/hu/edit-straighten.page @@ -0,0 +1,27 @@ + + + + + + Straighten a photo so that its horizon appears level. + + + + + Straighten photos + +

The straighten tools allows photos to be leveled and straightened. The straighten tool is only available in full-window or fullscreen mode.

+ + + +

Click Straighten. The straighten slider will appear. Alternatively, use the keyboard shortcut CtrlA.

+
+ +

Drag the slider to achieve the desired degree of straightening.

+
+ +

Press Straighten when finished.

+
+
+ +
diff --git a/help/hu/edit-undo.page b/help/hu/edit-undo.page new file mode 100644 index 0000000..8415c04 --- /dev/null +++ b/help/hu/edit-undo.page @@ -0,0 +1,21 @@ + + + + + + Return a photo to its original, unedited form. + + + + + + + A változtatások visszavonása + +

Because Shotwell is a non-destructive photo editor, you can undo any alterations you make to a photograph.

+ +

If you want to see what a photo looked like before your modifications, press the Shift key. The original photo will be displayed as long as you hold the key down.

+ +

To completely undo all the changes you've made to a photo, click PhotosRevert to Original. The only exception is that time and date adjustments will not be reverted.

+ +
diff --git a/help/hu/formats.page b/help/hu/formats.page new file mode 100644 index 0000000..e9e0cef --- /dev/null +++ b/help/hu/formats.page @@ -0,0 +1,33 @@ + + + + + + Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files as well as video files. + + + + + Supported photo and video formats + +

Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files. Shotwell does not yet support other graphics format such as GIF.

+ +

Shotwell's RAW format support is currently limited. When you view a RAW photo, you are actually viewing a JPEG derived from the RAW photo, not the RAW image itself. Additionally, the RAW editing pipeline is not fully 16-bit - you can only export edited photos as 8-bit files. All supported formats can be used for export (JPEG, PNG, TIFF, BMP).

+ +

For more information about RAW-format photos in Shotwell, please see +the RAW section. +

+ +

Shotwell also supports video files in any format supported by the GStreamer media library on the system where +Shotwell is running. This typically includes the following formats among others:

+ +

Container formats: Ogg, QuickTime, MP4, AVI.

+

Codecs: Theora, Quicktime, MPEG-4, Motion JPEG. Note that some operating systems may not include all +codecs listed here due to legal or licensing restrictions.

+
+ +

Shotwell supports both photos and videos, but for simplicity, this documentation uses just the term "photos" +in most places. Many operations in Shotwell apply to both photos and videos, however. In particular, events, +flagging, rating, tagging, and publishing work both for photos and for videos.

+ +
diff --git a/help/hu/hu.stamp b/help/hu/hu.stamp new file mode 100644 index 0000000..e69de29 diff --git a/help/hu/import-camera.page b/help/hu/import-camera.page new file mode 100644 index 0000000..090289d --- /dev/null +++ b/help/hu/import-camera.page @@ -0,0 +1,32 @@ + + + + + + Copy photos from a digital camera. + + + + + Importing from a camera + +

To import photos from a digital camera:

+ + + +

Connect the camera to your computer and switch it on. + Shotwell will detect it and list it in the sidebar.

+
+ +

Select the camera in the sidebar. Previews of each photo on the camera will be displayed.

+
+ +

If you like, you can choose a set of specific photos to import. To do this, hold down the Ctrl key and click to select individual photos. You can hold down Shift and click to select a range of photos too.

+
+ +

Click either Import Selected or Import All. The photos will be copied from the camera and saved on your computer.

+
+
+ +

Once the import is complete, you can open the Last Import view (in the sidebar) to see all photos that were imported. The Events list (also in the sidebar) will also show the new photos, organized by date.

+
diff --git a/help/hu/import-f-spot.page b/help/hu/import-f-spot.page new file mode 100644 index 0000000..269ee67 --- /dev/null +++ b/help/hu/import-f-spot.page @@ -0,0 +1,21 @@ + + + + + + Shotwell can import all your photos and tags from the F-Spot photo manager. + + + + + Importing from F-Spot + +

To import an existing photo collection from F-Spot:

+ +

Select FileImport From F-Spot.

+

Now choose either the default F-Spot library or another F-Spot database. + If importing from another F-Spot database, select a directory and file from the chooser dialog box.

+
+

Shotwell will import your photos, together with their tags and other information. + Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list will also show new entries for the dates corresponding to the imported photos.

+
diff --git a/help/hu/import-file.page b/help/hu/import-file.page new file mode 100644 index 0000000..b9c4c37 --- /dev/null +++ b/help/hu/import-file.page @@ -0,0 +1,23 @@ + + + + + + Import photos that are already saved on your computer. + + + + + Importing from your hard disk + +

To import photo files from your hard disk into Shotwell, just drag them from your file browser into the Shotwell window.

+ +

Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import.

+ +

Shotwell will ask whether you want to copy the photo files to your library folder (usually this is the Pictures folder in your home directory) or to import them in place without copying the files.

+ +

If you hold down Ctrl while dragging photos in, Shotwell will copy the photos into your library folder without prompting. Similarly, if you hold down CtrlShift while dragging photos in, Shotwell will import the photos without copying them.

+ +

Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list will also show new entries for the dates corresponding to the imported photos.

+ +
diff --git a/help/hu/import-memorycard.page b/help/hu/import-memorycard.page new file mode 100644 index 0000000..1a56ebf --- /dev/null +++ b/help/hu/import-memorycard.page @@ -0,0 +1,31 @@ + + + + + + Fényképek importálása digitális fényképezőgép memóriakártyájáról. + + + + + Importálás memóriakártyáról + +

To import photos from a camera memory card:

+ + + +

Put the card into your card reader. Make sure the card reader is plugged in to the computer and switched on.

+
+ +

The card reader and card should be detected automatically.

+
+ +

Follow the instructions for importing photos from your hard disk. If you click FileImport From Folder..., the memory card should be visible as a folder in the side bar of the file selection window.

+
+
+ +

Shotwell can import photos from any memory card that is compatible with your card reader.

+ +

If the card is not detected automatically, your card reader may not have been recognized. Try unplugging it and then plugging it in again. If that doesn't work, you should still be able to import photos by connecting your camera directly to the computer, though.

+ +
diff --git a/help/hu/index.page b/help/hu/index.page new file mode 100644 index 0000000..d5156db --- /dev/null +++ b/help/hu/index.page @@ -0,0 +1,47 @@ + + + + + Shotwell + Shotwell + + Jim Nelson + jim@yorba.org + Allison Barlow + allison@yorba.org + Robert Ancell + robert.ancell@canonical.com + Peter Smith + pdo.smith@gmail.com + Phil Bull + philbull@gmail.com + + + + + <media type="image" src="figures/shotwell_logo.png"/>Shotwell fényképkezelő + +
+ Fényképek importálása +
+ +
+ Fényképek megjelenítése +
+ +
+ Fényképek rendszerezése +
+ +
+ Fényképek szerkesztése +
+ +
+ Fényképek megosztása +
+ +
+ Más funkciók +
+
diff --git a/help/hu/organize-event.page b/help/hu/organize-event.page new file mode 100644 index 0000000..71f4441 --- /dev/null +++ b/help/hu/organize-event.page @@ -0,0 +1,59 @@ + + + + + + Group photos together that were taken at the same time. Learn how to rename, merge, and sort events. + + + + + Események + +

An event is a group of photos that were taken at approximately the same time. When you import photos, Shotwell checks when each photo was taken. It then groups the photos into events.

+ +

Choose Events from the sidebar to see your photos organized by date. If you select a month or year from the sidebar, a list of events will be displayed in the main window. Double-click an event to see all the photos that were taken around that time.

+ +

If a photo has no embedded date/time information, then Shotwell can't automatically + place it in any event. In this case the photo will appear in the No Event + view accessible from the sidebar. You can still move the photo to any event you like + as described below. +

+ +
+ Renaming events + +

To give an event a name rather than referring to it by its date, select the event, click EventsRename Event... and enter a new name. Another way of renaming an event is to double-click its name in the sidebar; type a new name and then press Enter.

+
+ +
+ Moving photos between events + +

Even though photos are initially grouped into events by their date, you can move photos between events. To do this, drag any photo to the sidebar and drop it on an event.

+
+ +
+ Creating and merging events +

To create a new event, select the photos you would like in the new event and click EventsNew Event.

+

To merge events, select Events from the sidebar, then, while holding down Ctrl click on the events you want to merge in the main window area. Finally, click EventsMerge Events.

+
+ +
+ Sorting events + +

Events are displayed in a tree in the sidebar, organized by the year and month of the earliest photo in the event. + To change the event sort order, click ViewSort Events and select either ascending or descending.

+ +
+ +
+ Change the photo used to represent each event + +

If you select the Events item in the sidebar, you'll see a single photo which represents each event. This is called the key photo.

+ +

By default, Shotwell uses the first photo in each event as its key photo. + To use a different key photo, select the photo and choose PhotosMake Key Photo for Event.

+ +
+ +
diff --git a/help/hu/organize-flag.page b/help/hu/organize-flag.page new file mode 100644 index 0000000..727d7c7 --- /dev/null +++ b/help/hu/organize-flag.page @@ -0,0 +1,34 @@ + + + + + + Flag photos to mark them as special or to work with them as a set. + + + + + Flagging photos + +

Shotwell lets you flag photos. When a photo is flagged, a small flag icon + appears in its upper right corner. You can select the Flagged item in the sidebar to see + all photos which have been flagged.

+ +

Flagging a photo marks it as special. You can interpret this in any way you like. For example, + you might flag all photos which need visual + adjustment, or all photos which you want to share with a friend.

+ +

Flagging + is also useful because you can operate on all flagged photos as a set. For example, you can + select the Flagged view and then upload all flagged photos to a publishing service.

+ +
+ To flag or unflag a photo +

+ To flag or unflag a photo, right-click the photo and choose Flag or Unflag + from the context menu. Or use the CtrlG or / + shortcut keys. +

+
+ +
diff --git a/help/hu/organize-rating.page b/help/hu/organize-rating.page new file mode 100644 index 0000000..da46d41 --- /dev/null +++ b/help/hu/organize-rating.page @@ -0,0 +1,28 @@ + + + + + + Értékelje a fényképeket 1 és 5 csillag között. Elutasíthatja a rossz fényképeket, elrejtve azokat szem elől. + + + + + Értékelések +

You can assign each photo a rating from 1-5 stars, or may alternatively rate it as Rejected, in which case Shotwell will hide the photo by default.

+ +

You can rate a photo or a set of photos in any of these ways:

+ + +

Select the photo(s), then choose a rating from the top-level PhotosSet Rating menu.

+

Right-click on the photo(s), then choose a rating from the Set Rating context menu.

+

Select the photo(s), then press any of the shortcut keys 1, 2, 3, 4 or 5 to assign a rating. Or press 9 to mark the photo(s) as rejected or 0 to clear the rating(s).

+
+ +

+Normally Shotwell displays all photos except rejected photos. You can set a different rating filter using the ViewFilter Photos menu - for example, you can display only photos rated with 3 stars or higher, or you can display all photos including those marked rejected. The Shotwell icon on the toolbar displays the current rating filter and can also be used to set the filter.

+ +

Shotwell normally displays each photo's rating in its lower left-hand corner. You can turn off the display of ratings using the ViewRatings menu item.

+ +

You can increase or decrease a photo's rating using the Set RatingIncrease and Set RatingDecrease commands, or the keyboard shortcuts < and >.

+
diff --git a/help/hu/organize-remove.page b/help/hu/organize-remove.page new file mode 100644 index 0000000..52194e0 --- /dev/null +++ b/help/hu/organize-remove.page @@ -0,0 +1,44 @@ + + + + + + Remove photos from the library, or delete them from your computer entirely. + + + + + Removing and deleting photos + +

You may remove photos from your library and you may additionally delete them entirely from your hard disk.

+Delete process +

This diagram shows how a photo, when deleted, is first put into Shotwell's trash. If you delete it from Shotwell's trash, it is put into your computer's trash. If you delete it from your computer's trash the photo is finally and irretrievably deleted from your computer.

+
+ Removing photos from the library +

Select the photos to remove and choose EditMove to Trash. + (You can also press the Delete key.) + The photos will be moved from your library to Shotwell's Trash.

+

If you want to remove photos from Shotwell without having them pass through the trash, simply select the photos to be removed and choose EditRemove From Library. The photo files will be left in place on disk.

+
+ +
+ Emptying or restoring the trash folder +

Select the Trash entry in the Sidebar and Shotwell will display all photos that have been marked for removal or deletion. In the Trash view, the following commands are available:

+ + Törlés

A kijelölt fényképek törlése a Kuka mappából.

+ Visszaállítás

A kijelölt fényképek visszaállítása a Shotwell programba.

+ Kuka ürítése

Minden fénykép törlése a Kuka mappából.

+
+
+ +
+ Törlés vagy a Kuka ürítése +

Amikor fájlokat töröl a Kuka mappából, vagy kiüríti a Kuka mappát, akkor a következő választási lehetőségeket fogja kapni:

+ + Csak eltávolítás

Fényképek eltávolítása a gyűjteményből, de megtartásuk a számítógépen lévő helyükön.

+ Fájl kidobása

Fényképek eltávolítása a gyűjteményből, és azok törlése a számítógépről.

+ Mégse

Ne tegyen semmit.

+
+
+ +
diff --git a/help/hu/organize-search.page b/help/hu/organize-search.page new file mode 100644 index 0000000..d657113 --- /dev/null +++ b/help/hu/organize-search.page @@ -0,0 +1,41 @@ + + + + + + Fényképek és videók keresése a gyűjteményben különböző feltételek szerint. + + + + + Keresés + +

Két módon kereshet a Shotwell programban: a szűrő eszköztárral és a mentett kereséssel. A keresősáv lehetővé teszi az aktuális nézet gyors keresését egy adott feltétel szerint. A mentett keresések összetettebb keresési feltételeket tesznek elérhetővé, és megmaradnak az oldalsávon a programindítások között.

+ + + +
+ Mentett keresés +

A mentett keresés megmarad a Shotwell indítások között, és frissítve lesz, amikor fényképeket és videókat adnak hozzá vagy távolítanak el a Shotwell gyűjteményből.

+ +

+ Create a new saved search with EditNew Saved Search... or by hitting + CtrlS. The dialog box allows you to enter a name for the + search and select whether you want to meet Any, All, or None of the criteria in the following rows. +

+ +

+ Each row represents a search criterion. Use the + button to add more rows, and the + - button to remove a specific row. The combo box on the left of each row selects the type + of criteria. Criteria must be entered correctly before the OK button becomes available. +

+
+ +
diff --git a/help/hu/organize-tag.page b/help/hu/organize-tag.page new file mode 100644 index 0000000..b0d592a --- /dev/null +++ b/help/hu/organize-tag.page @@ -0,0 +1,68 @@ + + + + + + Fényképek rendezése azok felcímkézésével. + + + + + + + Fényképek címkézése + +

A kijelölt fényképekhez címkéket rendelhet. Egy címke lehet egy vagy több szó, amelyet hozzá szeretne rendelni azokhoz a fényképekhez.

+ +

Új címkék fényképekhez adásához válassza ki a címkézendő fényképeket, majd tegye a következők egyikét:

+ + +

Choose TagsAdd Tags....

+

Nyomja le a CtrlT billentyűkombinációt.

+

Fogja meg a kijelölt fényképeket, és ejtse azokat a kívánt címkére.

+
+ +

+ When you use CtrlT or + TagsAdd Tags... you can type + in the names of one or more tags, separated by commas. + Once you have created a tag, you can rename it by selecting that + tag in the sidebar and choosing + TagsRename Tag "[name]"..., + by rightclicking on it and choose Rename... or + double-click on the tag in the sidebar. +

+ +

+ To change which tags are associated with a particular photo, + select that photo, choose + TagsModify Tags... or + right-click on a photo and select Modify Tags... and + edit the comma separated list. + To remove a tag from one or more photos, first select that tag + in the sidebar, then select the photos you would like to remove, + and choose + TagsRemove Tag "[name]" from Photos + or right-click on the photos an select + Remove Tag "[name]" from Photos. +

+ +

Egy címke teljes törléséhez jelölje ki a címkét az oldalsávon, és válassza a Címkék„[név]” címke törlése menüpontot, vagy kattintson az egér jobb gombjával, és válassza a „[név]” címke törlése menüpontot.

+ +

+ When you create a tag, it will appear in the sidebar under the + Tags item, which is hidden if there are no tags. Photos + can have multiple tags attached to them, and when you click on the + name of a given tag in the sidebar, you will see all the photos + associated with that tag. +

+ +
+ Hierarchikus címkék +

A Shotwell támogatja a hierarchikus címkéket is. Újrarendezheti a címkéit fogd és vidd módon egymásra rakva. Egy új alcímke létrehozásához kattintson az egér jobb gombjával egy címkére, és válassza az Új menüpontot.

+ +

A hierarchikus címkék segítségére lehetnek abban, hogy a címkelistáját oly módon rendezhesse, ahogy az a legjobban illeszkedik a gondolkodásához. Például hely címkéket tárolhat – mint „Hegyek” vagy „Tengerpart” – egy „Helyek” szülőcímke alatt, amely szintén el lehet helyezve a „Nyári szabadság” címke alatt.

+ +

Ne feledje, hogy egy szülőcímke törlése törölni fogja annak gyermekcímkéit is.

+
+
diff --git a/help/hu/organize-title.page b/help/hu/organize-title.page new file mode 100644 index 0000000..0ac2282 --- /dev/null +++ b/help/hu/organize-title.page @@ -0,0 +1,18 @@ + + + + + + Adjon címet a fényképeknek. + + + + + Címek + +

A NézetCímek jelölőnégyzet be- vagy kikapcsolja az egyes fényképek alatti címek megjelenítését. Alapértelmezésben egy fénykép címe annak fájlneve lesz.

+ +

To change a photo's title, +select the photo and click PhotosEdit Title..., or press F2.

+ +
diff --git a/help/hu/other-files.page b/help/hu/other-files.page new file mode 100644 index 0000000..4a95600 --- /dev/null +++ b/help/hu/other-files.page @@ -0,0 +1,112 @@ + + + + + + Keep the Shotwell library in sync with photo files on disk. + + + + + Photo files + +

+ Every photo in the Shotwell library corresponds to a file stored on your hard disk. Shotwell has + several features which help you keep the Shotwell library and files on disk in sync. +

+ + +
+ Using a custom directory pattern +

+ Shotwell allows you to specify how it names directories in your library. You can do this + by changing the Directory Structure and Pattern settings in the + Preferences dialog. You may use a preselected pattern, or choose Custom + and type in your own. +

+ +

+ The available symbols for the directory pattern begin with a % (percent sign). The values + these symbols produce are locale-dependent, so what you see on your computer may vary + from the examples below. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Symbol

Meaning

Example

%Y

Év: teljes

2011

%y

Év: két számjeggyel

11

%d

Hónap napja kezdő nullával

03

%A

Nap neve: teljes

Szerda

%a

Nap neve: rövidített

Sze

%m

Hónap száma kezdő nullával

02

%b

Hónap neve: rövidített

Febr

%B

Hónap neve: teljes

Február

%I

Óra: 12 órás formátum

05

%H

Óra: 24 órás formátum

17

%M

Perc

16

%S

Másodperc

30

%p

DE/DU

DU

+ +

További szimbólumok érhetők el. Nézze meg az strftime kézikönyvét a man strftime parancsot lefuttatva, ha olyanra van szüksége, amely nincs itt felsorolva.

+
+ +
+ Fényképek automatikus importálása + +

A Shotwell képes azon új fényképek automatikus importálására, amelyek megjelennek a gyűjteménykönyvtárban. (A gyűjteménykönyvtár általában a saját könyvtárban lévő Képek könyvtár. Ennek helyét a Beállítások ablakban változtathatja meg.)

+ +

Az automatikus importálás engedélyezéséhez jelölje be az Új fájlok figyelése a gyűjteménykönyvtárban lehetőséget a Beállítások ablakban.

+ +

A Shotwell képes az automatikusan importált könyvtárakon belüli szimbolikus linkek követésére is.

+ +
+ +
+ Importált fényképek automatikus átnevezése kisbetűsre + +

A Shotwell automatikusan kisbetűsre tudja változtatni az importált fényképek fájlneveit. Ennek engedélyezéséhez válassza a SzerkesztésBeállítások menüpontot, majd a Beállítások ablakban jelölje be az Importált fájlok átnevezése kisbetűssé lehetőséget.

+ +
+ +
+ Metaadatok írása menet közben + +

Alapértelmezésben a Shotwell nem módosítja a fényképfájlokat még akkor sem, ha fényképeket szerkeszt, vagy megváltoztatja azok címkéit vagy címeit. A Shotwell ezeket a módosításokat csak a saját adatbázisában rögzíti.

+ +

Ezen viselkedés megváltoztatásához bejelölheti a Címkék, címek és más metaadatok fényképfájlokba írása jelölőnégyzetet a Beállítások ablakban. Ha ez a lehetőség engedélyezve van, akkor a Shotwell a következő metaadatokat akkor fogja a legtöbb fényképfájlba írni, amikor megváltoztatja azokat:

+ + +

címek

+

címkék

+

értékelések

+

forgatási információk

+

idő/dátum

+
+ +

A Shotwell ezeket az információkat EXIF, IPTC és/vagy XMP formátumban tárolja a fényképfájlokban. Ne feledje, hogy a Shotwell csak JPEG, PNG és TIFF formátumú fényképfájlokba tud írni, BMP vagy RAW fényképekbe vagy videofájlokba nem.

+ +
+ +
+ Futásidejű megfigyelés + +

A Shotwell futás közben észreveszi bármely fényképen a külsőleg elvégzett módosításokat. Amikor egy fényképfájl megváltozik, akkor a Shotwell újraolvassa a fájlt, és frissíti a fénykép megjelenítését és a metaadatokat.

+ +

Ne feledje, hogy a Shotwell indításkor az összes fényképet ellenőrzi, hogy történt-e módosítás, de csak a gyűjteménykönyvárban lévő fényképeknél történik valós idejű megfigyelés az indítás után. Reméljük, hogy ez a korlátozás eltávolításra kerül egy későbbi kiadásban.

+ +
+ +
diff --git a/help/hu/other-missing.page b/help/hu/other-missing.page new file mode 100644 index 0000000..c4af21a --- /dev/null +++ b/help/hu/other-missing.page @@ -0,0 +1,21 @@ + + + + + + If Shotwell can't find a photo in your library, it marks it as missing. + + + + + Missing photos + +

Each time Shotwell starts up, it scans your photo library to verify that all photo files still exist on your hard drive. If Shotwell finds that any photo files are missing, it will not display them in the normal Photos, Events and Tags views, but will instead show them in a separate Missing Files view which will appear in the sidebar.

+ +

If you no longer want the missing files to be part of your Shotwell collection (perhaps because you deleted them), go to the Missing Files view, select the photos and then click Remove From Library.

+ +

If you have photos on a removable disk, such as a CD or USB flash drive, and import them into Shotwell without copying the photos to your computer, they will show up as missing files if you then disconnect the removable disk. See to learn how to copy files from removable disks onto your computer.

+ +

If any missing photo files become available again, Shotwell will notice this the next time it starts. The photos will once again appear in the Photos, Events and Tags views.

+ +
diff --git a/help/hu/other-multiple.page b/help/hu/other-multiple.page new file mode 100644 index 0000000..51e4eb5 --- /dev/null +++ b/help/hu/other-multiple.page @@ -0,0 +1,21 @@ + + + + + + You can open Shotwell with a different photo library by using the command line. + + + + + Multiple libraries + +

Shotwell normally stores its database and photo thumbnails in the directory ~/.shotwell . This directory does not hold photos, but the database in this directory contains a list of all the photos in the Shotwell library.

+ +

As an advanced feature, it's possible for you to have multiple Shotwell libraries, each of which has its own set of photos. Each library needs its own database directory. To launch Shotwell with an alternate library, specify an alternate database directory on the command line as follows:

+ + +shotwell -d [gyűjtemény-könyvtára] + + +
diff --git a/help/hu/other-plugins.page b/help/hu/other-plugins.page new file mode 100644 index 0000000..e3b1b87 --- /dev/null +++ b/help/hu/other-plugins.page @@ -0,0 +1,27 @@ + + + + + + Extend Shotwell's functionality dynamically. + + + + + Bővítmények +

+ Shotwell can be used with plugins, which are companion shared libraries that can + add support for new publishing destinations or new slideshow transitions. +

+ +

+ To see a list of installed plugins, choose EditPreferences, + and in the Preferences window, click on the Plugins tab. You'll see a list + of currently-installed plugins, each with a checkbox by it, and you may enable or disable each by + selecting or deselecting the checkbox by its name. +

+ +

Full documentation on how to develop new plugins is available at + http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins

+ +
diff --git a/help/hu/raw.page b/help/hu/raw.page new file mode 100644 index 0000000..9c62b7b --- /dev/null +++ b/help/hu/raw.page @@ -0,0 +1,45 @@ + + + + + + More about RAW support in Shotwell. + + + + + RAW support in Shotwell +

Some cameras have the ability to store data directly off the sensor + and into a file that contains extra color information; this is commonly + referred to as 'RAW' or 'camera RAW', and Shotwell supports these files + as well.

+ +

Since RAW photographs normally cannot be displayed directly, but must + be first developed - that is, have their extra information interpreted and + readied for displaying - most cameras will either embed a JPEG inside a + RAW-format file, or produce a JPEG alongside the RAW file at the time the + snapshot is taken. The latter is referred to throughout this document as + RAW+JPEG. If you import a RAW+JPEG pair, Shotwell will + keep them paired and treat them as one item in your library. +

+ +

When you import a RAW file, you can choose to either use the camera's + internally-developed JPEG or Shotwell's by selecting + PhotosDeveloper in the menus. +

+ + +

+ Changing between developers will cause all edits made to a photograph + to be discarded. +

+
+ +

+ In order to publish or use a RAW photograph in most other software, it has to be + exported first. Shotwell can export your RAW photos in JPEG, PNG, TIFF + or BMP format, and, when publishing, will internally export a JPEG version + for you and publish that. +

+ +
diff --git a/help/hu/running.page b/help/hu/running.page new file mode 100644 index 0000000..d85e121 --- /dev/null +++ b/help/hu/running.page @@ -0,0 +1,27 @@ + + + + + + Find Shotwell in the Applications menu, or have it start automatically when you plug in a camera. + + + + + + + Running Shotwell + +

Once installed, Shotwell is available in your Applications menu under Graphics or Photography.

+ +

Shotwell may also be executed automatically when a camera is plugged in to your computer. To check +that your system is set up to run Shotwell when a camera is detected, go to +EditPreferences in any +Nautilus (file browser) window and choose the Media tab.  You'll see a dropdown box +entitled Photos: which lets you choose Shotwell as your photo handling application.

+ + +

Shotwell may also be executed directly from its build directory, although this is only recommended for testing out Shotwell or for developers.

+
+ +
diff --git a/help/hu/share-background.page b/help/hu/share-background.page new file mode 100644 index 0000000..f3a200a --- /dev/null +++ b/help/hu/share-background.page @@ -0,0 +1,21 @@ + + + + + + Set your desktop background to a single photo or to a slideshow of photos. + + + + + Set a desktop background or slideshow + +

To set a single photo as your desktop background, select the photo and choose FileSet as Desktop Background.

+ +

You can also set your background to a slideshow of photos. To do this, select the photos for + the slideshow and choose FileSet as Desktop Slideshow.... + Shotwell will prompt you for a slideshow delay, which can be any interval up to one day in length. + The background slideshow will proceed even when Shotwell is not running. +

+ +
diff --git a/help/hu/share-export.page b/help/hu/share-export.page new file mode 100644 index 0000000..7dfbecb --- /dev/null +++ b/help/hu/share-export.page @@ -0,0 +1,35 @@ + + + + + + Másolja ki fényképeit a Shotwellből, hogy máshol is használhassa azokat. + + + + + Fényképek exportálása + +

A fényképek exportálásához fogd és vidd módszerrel húzza ki a fényképeket a Shotwellből egy fájlkezelő ablakba vagy az asztalra. Az új fájlok a gyűjteményében lévők teljes méretű másolatai lesznek.

+ +

+Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting you fine-tune the size and dimensions of your photo files. +A window will appear allowing you to make several choices: +

+ + +

A formátumot az exportáláshoz.

+ +

Válassza a Módosítatlan lehetőséget az eredeti formátumban való exportáláshoz, a Shotwellben végzett módosítások nélkül. A RAW képek az eredeti RAW formátumban kerülnek exportálásra.

+

Válassza a Jelenlegi lehetőséget a fényképek exportálásához a Shotwellben végzett módosításokkal együtt. A RAW fényképek JPEG formátumban kerülnek exportálásra, ha szerkesztette azokat a Shotwellben, egyébként pedig az eredeti RAW formátumukban.

+

Kiválaszthat egy adott képformátumot (JPEG, PNG, TIFF, BMP) is az exportáláshoz való használatra. A Shotwellben végzett minden módosítást tartalmazni fog, és a Shotwell a fényképeket átalakítja a cél formátumra.

+
+
+

Az exportáláshoz használandó képminőség (alacsony, közepes, magas vagy maximális).

+

Méretezési megszorítás (azaz a Shotwell eldönti, hogy a fényképeket le kell-e méretezni), és a kívánt képpontméret.

+

The option whether you like to export metadatas such as tags or ratings. This can help to save your privacy if you have geolocation tags or tags which shouldn't be seen by anyone.

+
+ +

If selected, Shotwell will write tags, titles, and other metadata to the new files.

+ +
diff --git a/help/hu/share-print.page b/help/hu/share-print.page new file mode 100644 index 0000000..de7f7ac --- /dev/null +++ b/help/hu/share-print.page @@ -0,0 +1,23 @@ + + + + + + Click FilePrint.... For more printing options, select the Page Setup tab in the Print dialog. + + + + + Nyomtatás + +

To print a photo, select it and choose FilePrint....

+ +

+ Shotwell can also print multiple images in one page; to do this, select multiple images, + choose FilePrint..., and in the Print dialog, + choose the Image Settings tab. In Image Settings, choose one of the + multiple-image-per-page options under Autosize. +

+ +

Ha szeretne megadni formázási, papírméret, és tájolási beállításokat, akkor nyomtatás előtt válassza a Nyomtatás ablak Oldalbeállítás lapját.

+
diff --git a/help/hu/share-send.page b/help/hu/share-send.page new file mode 100644 index 0000000..22c6e6d --- /dev/null +++ b/help/hu/share-send.page @@ -0,0 +1,16 @@ + + + + + + Fényképek küldése e-mailben, azonnali üzenetben vagy máshogy. + + + + + Fényképek küldése + +

A Shotwell képes fényképek elküldésére a GNOME asztali környezet Küldés szolgáltatásával, amely lehetővé teszi a fényképek elküldését e-mailben, azonnali üzenetként vagy más módszerekkel.

+

Fényképek küldéséhez válassza ki azokat a Shotwellben, és válassza a FájlKüldés menüpontot, vagy kattintson a jobb egérgombbal a fényképekre, és válassza a Küldés menüpontot. Megjelenik egy Küldés ablak, amelyben kiválaszthatja a fájlok küldésének módszerét (például e-mail vagy azonnali üzenet) és a célt. Kiválaszthatja azt is, hogy a fájlok tömörített formátumban kerüljenek elküldésre.

+ +
diff --git a/help/hu/share-slideshow.page b/help/hu/share-slideshow.page new file mode 100644 index 0000000..4603406 --- /dev/null +++ b/help/hu/share-slideshow.page @@ -0,0 +1,22 @@ + + + + + + Diavetítés a fényképekből. + + + + + Diavetítések + +

A Shotwell bármely gyűjteményéből diavetítés megjelenítéséhez nyissa meg a kívánt gyűjteményt, és válassza a NézetDiavetítés menüpontot, vagy nyomja meg az F5 billentyűt.

+ +

A folyamatban lévő diavetítésben megváltoztathat néhány beállítást:

+ + +

Egy kép megjelenítésének hosszát: 1- 30 másodperc

+

Kiválaszthat különböző átmeneti effektusokat.

+

Az egyes átmeneti effektusok hossza: 0,1 - 1,0 másodperc

+
+
diff --git a/help/hu/share-upload.page b/help/hu/share-upload.page new file mode 100644 index 0000000..34fd817 --- /dev/null +++ b/help/hu/share-upload.page @@ -0,0 +1,34 @@ + + + + + + Tegye közzé fényképeit a Facebook, Flickr, Picasa Webalbumok vagy más oldalakon + + + + + Közzététel a weben + +

A bővítmények használatával a Shotwell képes fényképeket és videókat közzétenni a következő szolgáltatásokon, amelyek mindegyike egy fiókot igényel:

+ + +

Facebook

+

Flickr

+

Picasa Webalbumok és Google+

+

YouTube (csak videók)

+

Yandex.Fotki, egy Oroszországban népszerű fénykép-megosztó oldal (csak fényképek)

+

Bármeny oldal, amely a Piwigo fényképgaléria-szoftvert futtatja (csak fényképek)

+
+ +

Egy gyűjtemény kiválasztott fényképeinek közzétételéhez válassza a SzerkesztésBeállítások menüpontot, és kattintson a Bővítmények lapra azon szolgáltatás bővítményének bekapcsolásához, amelyen közzé szeretné tenni a fényképeket. Ezután válassza a FájlKözzététel menüpontot, nyomja meg a Közzététel eszköztárgombot, vagy használja a CtrlP kombinációt. A megjelenő ablakban kiválaszthat egy közzétételi szolgáltatást. Ezután be kell jelentkeznie vagy létre kell hoznia egy fiókot.

+ +

Publishing to Facebook requires you to grant certain permissions to the Shotwell Facebook application. + You only need to grant these permissions once, when you first associate Shotwell with your Facebook account. +

+

You will be only able to publish images with at most the permission you granted to the Shotwell Facebook application

+ +

Ehhez hasonlóan a Flickr-en való közzétételhez is be kell jelentkeznie, és engedélyeznie kell a Shotwell Connectnek a fiók elérését.

+ +

Ha van Google fiókja, de még nem használta a Picasa Webalbumokat, akkor egyszer be kell jelentkeznie a Picasaba egy böngészőből mielőtt közzétehetne képeket ezen a szolgáltatáson.

+
diff --git a/help/hu/view-displaying.page b/help/hu/view-displaying.page new file mode 100644 index 0000000..f4aaf03 --- /dev/null +++ b/help/hu/view-displaying.page @@ -0,0 +1,26 @@ + + + + + + Ismerje meg a fényképek megjelenítésének különböző módjait: rácsban, a főablakot kitöltve vagy a teljes képernyőt kitöltve. + + + + + Fényképnézetek + +

Amikor kiválaszt egy gyűjteményt az oldalsávban, a Shotwell annak minden fényképét megjeleníti a fő ablakterületen. A jobb alsó sarokban lévő csúszka segítségével módosíthatja a bélyegképek megjelenítési méretét. A bélyegképek mérete a plusz és mínusz billentyűkkel (+ és -) vagy a Ctrl lenyomásával és az egérgörgő egyidejű mozgatásával is módosítható.

+ +

Egy fényképet duplán rákattintva teljes képernyőn jeleníthet meg. Innen a gyűjtemény más fényképeire az Előre és Hátra gombokkal léphet. A gyűjteményhez való visszatéréshez kattintson duplán a fényképre, vagy nyomja meg az Esc billentyűt.

+ +

Egy fénykép teljes képernyős módban való megjelenítésekor az eszköztáron lévő csúszka vezérli a nagyítást. A fénykép megfogásával és húzásával tetszőleges irányba görgetheti a fényképet. Nagyíthat is az egérgörgő használatával, vagy a következő gyorsbillentyűk megnyomásával: Ctrl0 a teljes képhez, Ctrl1 a 100%-hoz (1 képpont a fényképen = 1 képpont a képernyőn), és Ctrl2 a 200%-hoz (1 képpont a fényképen = 2x2 képpont a képernyőn).

+ +

A Shotwell teljes képernyős módot is kínál a fényképek megjelenítéséhez. Válassza a NézetTeljes képernyő menüpontot, vagy nyomja meg az F11 billentyűt. A teljes képernyős eszköztár megjelenítéséhez vigye az egérmutatót a képernyő aljára. Az eszköztár a gyűjteményben mozgásra, az eszköztár rögzítésére (hogy ne tűnjön el) és a teljes képernyős nézet elhagyására használható gombokat kínál.

+ +
+Videók megjelenítése +

Amikor duplán kattint egy videóra, a Shotwell egy külső videolejátszót indít el a videó lejátszásához. Jelenleg nem lehetséges videót lejátszani teljes ablakos módban a Shotwellben, vagy magán a Shotwellen belül.

+
+ +
diff --git a/help/hu/view-information.page b/help/hu/view-information.page new file mode 100644 index 0000000..1f4b7be --- /dev/null +++ b/help/hu/view-information.page @@ -0,0 +1,17 @@ + + + + + + Részletesebb információk megjelenítése a fényképekről, mint a fényképezőgép által használt expozíciós mód. + + + + + Alapvető és bővített információk + +

Az Alapvető információk panel az oldalsáv alján jelenik meg, és a kijelölt fényképek rövid összefoglalását jeleníti meg. Ha nincsenek kijelölve fényképek, akkor a teljes gyűjtemény összefoglalását jeleníti meg. A panel megjelenítését a NézetAlapvető információk parancs használatával lehet be- vagy kikapcsolni.

+ +

A lebegő Bővített információk ablak további információkat jelenít meg a kijelölt fényképről. A NézetBővített információk parancs vagy a CtrlShiftX kombináció használatával lehet be- vagy kikapcsolni.

+ +
diff --git a/help/hu/view-sidebar.page b/help/hu/view-sidebar.page new file mode 100644 index 0000000..67b2d15 --- /dev/null +++ b/help/hu/view-sidebar.page @@ -0,0 +1,34 @@ + + + + + + Az ablak bal oldalán lévő oldalsáv a gyűjtemény különböző nézeteit sorolja fel. + + + + + + + + + + + + + + Az oldalsáv + +

A Shotwell bal oldalán lévő oldalsáv a gyűjtemény különböző nézeteit sorolja fel. Noha ugyanazt a fényképet több nézetben is láthatja, az a lemezen csak egyszer van tárolva.

+ +

Az Utolsó importálás nézet az utoljára importált fényképeket sorolja fel, függetlenül attól, hogy az F-Spotból, fényképezőgépéről, memóriakártyáról vagy a merevlemezről importálta azokat.

+ +

A Megjelölt a korábban megjelölt fényképeket sorolja fel.

+ +

A Mentett keresés lehetővé teszi gyűjteménye rendezését több szempont szerint.

+ +

Az Események mappa felsorolja a gyűjtemény összes eseményt. Az esemény a nagyjából egy időben készített fényképek csoportja.

+ +

A Címkék mappa felsorolja a fényképekhez társított összes címkét. A fényképekhez több címke is csatolható. Amikor egy címke nevére kattint az oldalsávon, a címkéhez társított összes kép megjelenik.

+ +
diff --git a/help/pt_BR/edit-adjustments.page b/help/pt_BR/edit-adjustments.page new file mode 100644 index 0000000..ddcf1cc --- /dev/null +++ b/help/pt_BR/edit-adjustments.page @@ -0,0 +1,55 @@ + + + + + + Mude a exposição, saturação, matiz/coloração, temperatura, e sombras de uma foto. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Ajustes de cor + +

O botão Ajustar abre uma janela com um histograma e controles deslizantes para ajustar a exposição, saturação, matiz/coloração, temperatura, e sombras de uma foto. O histograma também tem controles deslizantes para reduzir os limiares de intensidade superior e inferior da fotografia, ampliando o contraste da faixa intermediária.

+ +

O botão Melhorar ajusta o histograma e sombras automaticamente para melhorar a qualidade de uma foto.

+ +

Após ajustar as cores e o contraste da foto, clique em OK para salvar as alterações. O botão Reiniciar irá retornar a imagem ao seu estado original. O botão Cancelar descarta todas as mudanças que você fez.

+ +
+ O que os ajustes fazem? + + + Exposição +

Altera o brilho para fazer parecer que a foto foi exposta por um tempo maior ou menor. Utilize este ajuste para corrigir fotografias sub ou sobre-expostas.

+
+ + Saturação +

Ajusta o quanto vivas parecem as cores. Se a foto parece cinzenta e com cores pouco vivas, tente aumentar a saturação. Se as cores parecem muito ousadas, tente diminuí-la.

+
+ + Colorir +

Este ajuste tinge a foto com uma cor. É útil para corrigir as fotos tiradas com a configuração de equilíbrio de brancos errado, que ficam com cores que não parecem naturais. Por exemplo, fotos tiradas ao ar livre com o balanço de brancos definido como "Incandescente" ficam com um tom azulado.

+
+ + Temperatura +

Ajusta a forma como a foto parece "quente" ou "fria". Use-o para fazer que cenas frias e deprimentes pareçam mais animadas, por exemplo.

+
+ + Sombras +

Esse ajuste faz com que áreas de sombra pareçam mais claras. Use-o para fazer os detalhes mais visíveis se eles estão sob de uma sombra.

+
+ + Limiares de intensidade (cantos do histograma) +

Esses controles alteram a forma como o branco é claro e o quão escuro é o preto. Use-os para alterar o contraste da foto. Fotos que parecem desgastadas deverão se beneficiar muito com a alteração dessas configurações.

+
+
+
+ +
diff --git a/help/pt_BR/edit-crop.page b/help/pt_BR/edit-crop.page new file mode 100644 index 0000000..9f44322 --- /dev/null +++ b/help/pt_BR/edit-crop.page @@ -0,0 +1,50 @@ + + + + + + Melhore a composição de uma foto cortando partes dela. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Cortando + +

Para reduzir a área de uma foto e concentrar a atenção do espectador em uma parte menor dela, use a ferramenta de cortar. A ferramenta de cortar estará disponível apenas nos modos de janela toda ou tela cheia.

+ + + +

Clique duas vezes em uma foto para entrar no modo janela toda e use o botão Cortar na barra de ferramentas.

+
+ +

Um retângulo branco, o "retângulo de corte", aparecerá sobre a foto. A parte mais clara da foto dentro do retângulo de corte representa o que a foto parecerá quando você cortá-la.

+
+ +

Arraste o retângulo para posicioná-lo e ajuste seu tamanho, arrastando suas bordas. Quando você move ou ajustar o tamanho do retângulo de corte, aparecem quatro linhas dentro dele, como uma grade de jogo da velha: são as linhas da regra dos terços.

+

Você também pode restringir o retângulo de corte para um de muitos tamanhos comuns. Escolha um tamanho a partir da lista que se adapte às suas necessidades. Se você pressionar o botão ao lado da lista, a orientação da restrição irá mudar (de paisagem para retrato, e vice-versa).

+
+ +

Após acertar o seu retângulo de corte, aplica a alteração pressionando o botão Cortar. O Shotwell irá mostrar a foto cortada.

+
+ +

Se você mudar de ideia, pressione o botão Cortar novamente e ajuste o corte.

+

Se você pressionar Cancelar ao invés de Aplicar, o Shotwell voltará às dimensões anteriores da foto.

+
+
+ +
+ O que é a regra dos terços? +

A regra dos terços ajuda você a escolher uma composição agradável para uma foto.

+

Imagine que a cena é dividida em uma grade de 3x3 por duas linhas verticais igualmente espaçadas e duas linhas horizontais igualmente espaçadas. De acordo com a regra, você terá mais chances de obter uma composição agradável se você alinhar as características principais (como o horizonte, ou corpo de uma pessoa) com uma das linhas. Prestar atenção ao caminho que o fluxo de recursos faz de uma parte da grade para outra também pode ajudar.

+

Cortar uma foto de acordo com a regra dos terços geralmente resulta em uma imagem mais atraente.

+ +

Recortar uma foto, usando a "regra dos terços" para melhorar a composição.

+
+
+
diff --git a/help/pt_BR/edit-date-time.page b/help/pt_BR/edit-date-time.page new file mode 100644 index 0000000..5fb1055 --- /dev/null +++ b/help/pt_BR/edit-date-time.page @@ -0,0 +1,25 @@ + + + + + + Corrija a data e a hora de fotos, se essas informações estiverem incorretas. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Ajustando a data e a hora de fotos + +

Para ajustar a data e a hora das fotos, selecione as fotos que você gostaria de ajustar, use o item do menu FotosAjustar data e hora... e selecione uma nova data e hora.

+ +

Se você estiver alterando a data e hora de várias fotos de uma só vez, você pode optar por mover a data e hora de todas as fotos pela mesma quantidade de tempo ou por definir todas as fotos na mesma data e hora.

+ +

Por padrão, a data e a hora são só alterados dentro do Shotwell. Você também pode optar por modificar a data e hora no arquivo original, mas isso não pode ser desfeito depois de sair do Shotwell.

+ +
diff --git a/help/pt_BR/edit-enhance.page b/help/pt_BR/edit-enhance.page new file mode 100644 index 0000000..ad7de85 --- /dev/null +++ b/help/pt_BR/edit-enhance.page @@ -0,0 +1,22 @@ + + + + + + Deixe o Shotwell melhorar o brilho e o contraste de uma foto automaticamente. + + + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Automelhoramento + +

Clicando no botão Melhorar é uma maneira rápida de ajustar automaticamente o brilho e o contraste da foto. O resultado, normalmente, será uma foto com exposição correta. Você também pode usá-la como ponto de partida e, em seguida, melhorar os ajustes clicando sobre o botão de Ajustar.

+
diff --git a/help/pt_BR/edit-external.page b/help/pt_BR/edit-external.page new file mode 100644 index 0000000..6c0fe3c --- /dev/null +++ b/help/pt_BR/edit-external.page @@ -0,0 +1,32 @@ + + + + + + Use um programa diferente para editar fotos. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Editando fotos com um programa externo + +

Você pode querer ou precisar usar um editor externo para fazer trabalhos adicionais nas fotos. Se instalados, GIMP e UFRaw são os editores externos padrão para edição de fotos e arquivos RAW, respectivamente. Se esses programas não estão instalados, você deve selecionar seus editores preferidos usando o item do menu EditarPreferências e selecionando editores na lista dos aplicativos instalados.

+ +

Quando os editores forem definidos, selecione uma foto e use o item de menu FotosAbrir com o editor externo para abrir a foto com o editor externo. Da mesma forma, se a foto original é um arquivo RAW, use o item de menu FotosAbrir com editor de RAW para editar o arquivo RAW diretamente com o editor definido.

+ +

Ao concluir suas edições e salvar o arquivo, o Shotwell irá detectar as alterações e atualizar a foto. Quando as edições externas forem feitas, mantenha pressionada a tecla Shift na vista de "toda janela" para mostrar a foto original, ao invés da editada.

+ +

Revertendo à original vai apagar todas as edições externas.

+ + +

Se você editar externamente uma foto RAW e salvar o resultado em outra imagem, tal como um JPEG ou PNG, o Shotwell não conseguirá determinar automaticamente que a foto RAW original e a nova imagem devem ser emparelhadas.

+ +

Se você quer usar a imagem resultante dentro do Shotwell, você precisa importá-la.

+
+
diff --git a/help/pt_BR/edit-nondestructive.page b/help/pt_BR/edit-nondestructive.page new file mode 100644 index 0000000..9f5d2fd --- /dev/null +++ b/help/pt_BR/edit-nondestructive.page @@ -0,0 +1,25 @@ + + + + + + O Shotwell é um editor de foto não-destrutivo - ele não modifica suas fotos originais. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + O que acontece com o arquivo original quando eu editar uma foto no Shotwell? + +

O Shotwell é um editor de foto não-destrutivo. Ele não modifica suas fotos originais. Ou seja, se você cortar uma foto ou ajustar suas cores, o arquivo de foto no disco permanece não alterado. O Shotwell armazena as suas edições em um banco de dados os aplica em tempo real, quando necessário. Isto significa que você pode desfazer quaisquer alterações que você faz para uma foto.

+ +

Para ver a foto antes de suas alterações, pressione a tecla Shift. A foto original será exibida enquanto você mantiver pressionada a tecla.

+ +

Note que o Shotwell pode, opcionalmente, gravar metadados (como etiquetas e títulos) nos arquivos originais das fotos. Para obter mais informações, consulte a seção Arquivos de fotos.

+ +
diff --git a/help/pt_BR/edit-redeye.page b/help/pt_BR/edit-redeye.page new file mode 100644 index 0000000..24c73cf --- /dev/null +++ b/help/pt_BR/edit-redeye.page @@ -0,0 +1,31 @@ + + + + + + Corrija fotos onde as pessoas ficam com os olhos vermelhos por causa do flash da câmera. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Removendo olhos vermelhos + +

Olhos vermelhos ocorrem quando o flash da câmera reflete a pupila do olho de alguém. Para eliminar este efeito em uma foto, use a ferramenta de remoção de olhos vermelhos.

+ + +

Clique Olhos vermelhos. Um círculo aparecerá na foto.

+
+ +

Posicione o círculo sobre a pupila afetada, ajuste seu tamanho com o controle deslizante, e pressione Aplicar. A vermelhidão será removida.

+
+ +

Repita esse processo para todas as pupilas afetadas na foto. Clique em Fechar quando terminar.

+
+
+
diff --git a/help/pt_BR/edit-rotate.page b/help/pt_BR/edit-rotate.page new file mode 100644 index 0000000..98916f2 --- /dev/null +++ b/help/pt_BR/edit-rotate.page @@ -0,0 +1,32 @@ + + + + + + Clique no botão Girar, ou use um dos comandos no menu Foto. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Girando ou invertendo uma foto + +

Você pode girar suas fotos para a esquerda e para a direita (sentido horário e anti-horário) com o botão Girar da barra de ferramentas da maioria das visões. Você também pode inverter/espelhar uma foto, tanto horizontalmente quanto verticalmente.

+ +

Para girar à direita, clique no botão Girar. Para girar à esquerda, mantenha pressionada a tecla Ctrl e clique no botão Girar. Ambos os comandos estão disponíveis também no menu Fotos. Como alternativa, use os seguintes atalhos de teclado:

+ +

girar à esquerda: ShiftCtrlR ou [

+

girar à direita: CtrlR ou ]

+
+

Para espelhar uma foto horizontalmente, use o item Inverter horizontalmente do menu Fotos. Para espelhar uma foto verticalmente, use o item Inverter verticalmente do mesmo menu.

+ + +

Se você selecionar mais de uma foto, você pode girar todas ao mesmo tempo.

+
+ +
diff --git a/help/pt_BR/edit-straighten.page b/help/pt_BR/edit-straighten.page new file mode 100644 index 0000000..1b588f4 --- /dev/null +++ b/help/pt_BR/edit-straighten.page @@ -0,0 +1,33 @@ + + + + + + Endireitar uma foto para que seu horizonte pareça nivelado. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Endireitando fotos + +

A ferramenta de endireitar permite que as fotos sejam nivelados e endireitadas. A ferramenta de endireitar só está disponível nos modos de janela toda ou tela cheia.

+ + + +

Clique em Endireitar. O controle de endireitar aparecerá. Como alternativa, use o atalho de teclado CtrlA.

+
+ +

Arraste o controle deslizante para atingir o grau desejado de endireitamento.

+
+ +

Pressione Endireitar quando tiver terminado.

+
+
+ +
diff --git a/help/pt_BR/edit-undo.page b/help/pt_BR/edit-undo.page new file mode 100644 index 0000000..32a2a50 --- /dev/null +++ b/help/pt_BR/edit-undo.page @@ -0,0 +1,27 @@ + + + + + + Retorne uma foto para sua forma original, não editada. + + + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Desfazendo alterações + +

Como o Shotwell é um editor de foto não-destrutivo, você pode desfazer quaisquer alterações que você fez para uma foto.

+ +

Para ver a foto antes de suas alterações, pressione a tecla Shift. A foto original será exibida enquanto você mantiver pressionada a tecla.

+ +

Para desfazer todas as alterações feitas a uma foto, use o item de menu FotosReverter para o original. A única exceção é que os ajustes de hora e data não serão revertidos.

+ +
diff --git a/help/pt_BR/formats.page b/help/pt_BR/formats.page new file mode 100644 index 0000000..b262c3e --- /dev/null +++ b/help/pt_BR/formats.page @@ -0,0 +1,33 @@ + + + + + + O Shotwell oferece suporte a arquivos de fotos JPEG, PNG, TIFF, BMP e RAW e arquivos de vídeo. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Suporte a formatos de foto e vídeo + +

O Shotwell oferece suporte aos formatos JPEG, PNG, TIFF, BMP e arquivos de fotos em RAW. O Shotwell ainda não oferece suporte a outros formatos gráficos, como o GIF.

+ +

Suporte ao formato RAW do Shotwell é limitado. Quando você ver uma foto RAW, na verdade você está vendo um JPEG derivado da foto RAW, e não a imagem RAW. Além disso, o edição RAW não é totalmente de 16 bits - você só pode exportar fotos editadas como arquivos de 8 bits. Todos os formatos aos quais há suporte podem ser usados na exportação (JPEG, PNG, TIFF e BMP).

+ +

Para obter mais informações sobre o tratamento das fotos em formato RAW no Shotwell, por favor, consulte a seção Suporte de arquivos RAW no Shotwell.

+ +

O Shotwell também oferece suporte a arquivos de vídeo em qualquer formato reconhecido pela biblioteca de mídia GStreamer no sistema no qual o Shotwell está em execução. Isso normalmente inclui os seguintes formatos, entre outros:

+ +

Formatos de contêineres: Ogg, QuickTime, MP4, AVI.

+

Codificadores: Theora, QuickTime, MPEG-4, Motion JPEG. Note que alguns sistemas operacionais podem não incluir todos os listados aqui devido a restrições legais ou de licenciamento.

+
+ +

O Shotwell oferece suporte a arquivos de fotos e vídeos, mas, para simplificar, esta documentação utiliza apenas o termo "fotos" na maioria dos lugares. A maioria das operações no Shotwell se aplicam à fotos e vídeos, como eventos, marcações, avaliações, atribuição de etiquetas e publicações.

+ +
diff --git a/help/pt_BR/import-camera.page b/help/pt_BR/import-camera.page new file mode 100644 index 0000000..43fbbab --- /dev/null +++ b/help/pt_BR/import-camera.page @@ -0,0 +1,37 @@ + + + + + + Copie fotos de uma câmera digital. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Importando fotos de uma câmera + +

Para importar fotos de uma câmera digital:

+ + + +

Conecte a câmera ao computador e ligue-a. O Shotwell irá detectá-la e mostrá-la na barra lateral.

+
+ +

Selecione a câmera na barra lateral. Pré-visualizações das fotos na câmera serão exibidas.

+
+ +

Se preferir, você pode escolher um conjunto de fotos para importar. Para isso, mantenha pressionada a tecla Ctrl e clique para selecionar cada foto. Você pode segurar a tecla Shift e clicar para selecionar um intervalo de fotos.

+
+ +

Clique em Importar selecionadas ou em Importar todas. As fotos serão copiadas da câmera e gravadas em seu computador.

+
+
+ +

Quando importação estiver concluída, você pode selecionar Última importação na barra lateral para ver as fotos importadas. A lista de eventos também irá mostrar novas entradas para as datas correspondentes às fotos importadas.

+
diff --git a/help/pt_BR/import-f-spot.page b/help/pt_BR/import-f-spot.page new file mode 100644 index 0000000..b982856 --- /dev/null +++ b/help/pt_BR/import-f-spot.page @@ -0,0 +1,25 @@ + + + + + + O Shotwell pode importar todas as suas fotos e etiquetas do programa gerenciador de fotos F-Spot. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Importando do F-Spot + +

Para importar uma coleção de fotos existentes do programa F-Spot:

+ +

Selecione ArquivoImportar do F-Spot.

+

Escolha a biblioteca padrão do F-Spot ou outro banco de dados do F-Spot. Para importar bancos d dados diferentes do padrão do F-Spot, selecione o diretório e o arquivo dele.

+
+

O Shotwell vai importar suas fotos, com as suas etiquetas e outras informações. Quando a importação for concluída, você pode selecionar Última importação na barra lateral para ver as fotos importadas. A lista de eventos também irá mostrar novas entradas para as datas correspondentes às fotos importadas.

+
diff --git a/help/pt_BR/import-file.page b/help/pt_BR/import-file.page new file mode 100644 index 0000000..a11e17d --- /dev/null +++ b/help/pt_BR/import-file.page @@ -0,0 +1,29 @@ + + + + + + Importe fotos existentes no computador. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Importando de seu disco rígido + +

Para importar arquivos de seu disco rígido para o Shotwell, basta arrastá-los a partir do seu navegador de arquivos para a janela do Shotwell.

+ +

Alternativamente, use o item de menu ArquivoImportar da pasta... e selecione a pasta que contém as fotos que você deseja importar.

+ +

O Shotwell irá perguntar se você deseja copiar os arquivos de fotos para a pasta de biblioteca (geralmente este é a pasta Imagens no seu diretório pessoal) ou importá-los do lugar, sem copiar os arquivos.

+ +

Se você manter pressionada a tecla Ctrl enquanto arrasta as fotos para o Shotwell, ele irá copiar as fotos para a pasta de biblioteca sem te perguntar. Da mesma forma, se você segurar a tecla CtrlShift enquanto arrasta fotos para o Shotwell, ele vai importar as fotos do lugar sem copiá-las, sem te perguntar.

+ +

Quando importação estiver concluída, você pode selecionar Última importação na barra lateral para ver as fotos importadas. A lista de eventos também irá mostrar novas entradas para as datas correspondentes às fotos importadas.

+ +
diff --git a/help/pt_BR/import-memorycard.page b/help/pt_BR/import-memorycard.page new file mode 100644 index 0000000..49d1927 --- /dev/null +++ b/help/pt_BR/import-memorycard.page @@ -0,0 +1,37 @@ + + + + + + Importe fotos do cartão de memória de uma câmera digital. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Importando fotos de um cartão de memória + +

Para importar fotos do cartão de memória de uma câmera:

+ + + +

Coloque o cartão no leitor de cartões de memória do computador. Certifique-se de que o leitor de cartão está corretamente conectado ao computador e ligado.

+
+ +

O cartão de memória será detectado automaticamente.

+
+ +

Siga as instruções para importar fotos de seu disco rígido. Se você usar o menu ArquivoImportar da pasta..., o cartão de memória deve ser visível como uma pasta na barra lateral da janela de seleção de arquivos.

+
+
+ +

O Shotwell pode importar fotos de qualquer cartão de memória compatível com o seu leitor de cartões.

+ +

Se o cartão não for detectado automaticamente, o seu leitor de cartões pode não ter sido reconhecido. Tente desconectá-lo e, em seguida, ligá-lo novamente. Se isso não funcionar, você ainda deve conseguir importar fotos conectando sua câmera no computador.

+ +
diff --git a/help/pt_BR/index.page b/help/pt_BR/index.page new file mode 100644 index 0000000..ba732d1 --- /dev/null +++ b/help/pt_BR/index.page @@ -0,0 +1,53 @@ + + + + + Shotwell + Shotwell + + Jim Nelson + jim@yorba.org + Allison Barlow + allison@yorba.org + Robert Ancell + robert.ancell@canonical.com + Peter Smith + pdo.smith@gmail.com + Phil Bull + philbull@gmail.com + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + + <media type="image" src="figures/shotwell_logo.png"/>Gerenciador de fotos Shotwell + +
+ Importando fotos +
+ +
+ Visualizando fotos +
+ +
+ Organizando as fotos +
+ +
+ Editando fotos +
+ +
+ Compartilhando fotos +
+ +
+ Outras funcionalidades +
+
diff --git a/help/pt_BR/organize-event.page b/help/pt_BR/organize-event.page new file mode 100644 index 0000000..c3252b8 --- /dev/null +++ b/help/pt_BR/organize-event.page @@ -0,0 +1,59 @@ + + + + + + Agrupa fotos que foram tiradas na mesma época. Saiba como mudar o nome, mesclar e classificar eventos. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Eventos + +

Um evento é um grupo de fotos que foram tiradas aproximadamente ao mesmo tempo. Quando você importar fotos, o Shotwell verifica a data em que cada foto foi tirada e agrupa as fotos em eventos.

+ +

Clique na visão Eventos da barra lateral para ver as suas fotos organizadas por data. Se você selecionar um mês ou um ano a partir da barra lateral, uma lista de eventos será exibido na janela principal. Clique duas vezes em um evento para ver todas as fotos que dele.

+ +

Se uma foto não tem nenhuma informação de data/hora incorporadas, o Shotwell não consegue colocá-la automaticamente em um evento. Neste caso, a foto aparecerá no item Nenhum Evento da visão de eventos, acessível na barra lateral. Você ainda pode mover a foto para outro evento, se necessário, como descrito abaixo.

+ +
+ Renomeando eventos + +

Para dar a um evento um nome ao invés de se referir a ele pela sua data, selecione o evento e use o item de menu EventosRenomear evento... e digite um novo nome para o evento. Outras formas de mudar o nome de um evento é pressionar a tecla F2 ou clicar com o botão direito (e usar o menu de contexto) em seu nome na barra lateral; digite um novo nome e pressione Enter.

+
+ +
+ Movendo fotos entre eventos + +

As fotos são inicialmente agrupadas em eventos por data, mas você pode mover fotos entre eventos. Para isso, arraste qualquer foto e solte-a sobre outro evento na barra lateral.

+
+ +
+ Criando e unindo eventos +

Para criar um novo evento, selecione as fotos dele o novo evento e use o item do menu EventosNovo evento.

+

Para unir eventos, selecione Eventos da barra lateral e, mantendo a tecla Ctrl pressionada clique sobre os eventos que deseja unir na janela principal. Com os eventos selecionados, use o item do menu EventosUnir eventos.

+
+ +
+ Ordenando Eventos + +

Os eventos são exibidos em uma árvore na barra lateral, organizados pelo ano e mês da foto mais antiga no evento. Para alterar a ordenação dos eventos, use o item do menu VerOrdenar eventos e selecione Ascendente ou Descendente.

+ +
+ +
+ Mude a foto usada para representar cada evento + +

Se você selecionar o item Eventos na barra lateral, você verá uma única foto que representa cada evento. Ela é chamada de "foto chave" do evento (também chamada de "foto de capa" em alguns serviços de publicação).

+ +

Por padrão, o Shotwell usa a primeira foto de cada evento como a sua foto chave. Para usar uma foto de chave diferente, selecione a foto e use o item do menu FotosDesignar foto como chave para evento.

+ +
+ +
diff --git a/help/pt_BR/organize-flag.page b/help/pt_BR/organize-flag.page new file mode 100644 index 0000000..a49861f --- /dev/null +++ b/help/pt_BR/organize-flag.page @@ -0,0 +1,30 @@ + + + + + + Marque fotos para sinalizá-las como algo especial ou para trabalhar com elas depois conjuntamente. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Marcando fotos + +

O Shotwell permite que você marque fotos. Quando uma foto é marcada, um pequeno ícone de bandeira aparece no canto superior direito dela. Você pode selecionar o item Marcada na barra lateral para ver todas as fotos que foram marcadas.

+ +

Marcar uma foto a sinaliza como "especial". Você pode interpretar isso como quiser. Por exemplo, você pode marcar todas as fotos que precisam de ajuste visual ou todas as fotos que você deseja mandar para um amigo.

+ +

Marcar também é útil para sinalizar todas as fotos conjunto a ser trabalhado. Por exemplo, você pode selecionar o modo de exibição de fotos Marcadas e, em seguida, enviar elas para um serviço de publicação.

+ +
+ Para marcar ou desmarcar uma foto +

Para marcar ou desmarcar de uma foto, clique com o botão direito do mouse na foto e use os itens Marcar ou Desmarcar do menu de contexto. Ou use as teclas de atalho CtrlG ou /.

+
+ +
diff --git a/help/pt_BR/organize-rating.page b/help/pt_BR/organize-rating.page new file mode 100644 index 0000000..d9f91fd --- /dev/null +++ b/help/pt_BR/organize-rating.page @@ -0,0 +1,33 @@ + + + + + + Dê às fotos uma avaliação entre 1 e 5 estrelas. Você pode tirar fotos ruins da visão. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Avaliações +

Você pode atribuir a cada foto uma avaliação de 1-5 estrelas, ou pode classificá-la como Rejeitada, caso em que o Shotwell irá esconder a foto por padrão.

+ +

Você pode avaliar uma foto ou um conjunto de fotos com uma das seguintes formas:

+ + +

Selecione a(s) foto(s) e, em seguida, defina uma avaliação usando o item do menu FotosAvaliar.

+

Clique com o botão direito do mouse sobre a(s) foto(s) e use o item "Avaliar" do menu de contexto.

+

Selecione a(s) foto(s) e, em seguida, pressione qualquer uma das teclas de atalho 1, 2, 3, 4 ou 5 para atribuir uma avaliação. Ou pressione 9 para marcar a(s) foto(s) como "rejeitada(s)" ou 0 para apagar a(s) avaliações(s).

+
+ +

Normalmente o Shotwell exibe todas as fotos exceto fotos rejeitadas. Você pode definir um filtro de classificação diferente usando o item de menu VerFiltrar fotos - por exemplo, você pode exibir somente fotos avaliado com 3 estrelas ou mais, ou você pode exibir todas as fotos, incluindo aquelas marcadas como "rejeitadas". A barra de pesquisa do Shotwell aparece mostrando o filtro atual e também pode ser usada para alterá-lo.

+ +

O Shotwell normalmente exibe a avaliação de cada foto em seu canto inferior esquerdo. Você pode desativar a exibição das avaliações usando o a opção do menu VerAvaliações.

+ +

Você pode aumentar ou diminuir a avaliação de uma foto usando o item do menu FotoAvaliarAumentar e FotoAvaliarDiminuir, ou os atalhos de teclado < e >.

+
diff --git a/help/pt_BR/organize-remove.page b/help/pt_BR/organize-remove.page new file mode 100644 index 0000000..0b710e8 --- /dev/null +++ b/help/pt_BR/organize-remove.page @@ -0,0 +1,48 @@ + + + + + + Remova fotos da biblioteca, ou apague-as do seu computador. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Removendo e apagando fotos + +

Você pode remover fotos de sua biblioteca e/ou apagá-las de seu disco rígido.

+Processo de exclusão +

Este diagrama mostra como uma foto, quando excluída, é primeiro colocado na lixeira do Shotwell. Se você excluí-la da lixeira do Shotwell, ela é colocado na lixeira do computador. Se você apagá-la da lixeira do seu computador a foto é finalmente e irremediavelmente apagada do seu computador.

+
+ Removendo fotos da biblioteca +

Selecione as fotos para remover use o item do menu EditarMover para a lixeira (você também pode pressionar a tecla Delete). As fotos serão movidos de sua biblioteca para a Lixeira do Shotwell.

+

Se você quiser remover fotos do Shotwell sem passar pela lixeira, basta selecionar as fotos a remover e usar o item do menu EditarRemover da biblioteca. Os arquivos vão continuar no seu disco rígido.

+
+ +
+ Esvaziando a lixeira ou restaurando itens +

Selecione a lixeira na barra lateral e o Shotwell exibirá todas as fotos que foram marcadas para remoção ou exclusão. Na visão da lixeira, os seguintes comandos estarão disponíveis:

+ + Apagar

Remove as fotos selecionadas da lixeira.

+ Restaurar

Restaura as fotos selecionada para biblioteca do Shotwell.

+ Esvaziar lixeira

Remove todas as fotos da lixeira.

+
+
+ +
+ Excluindo arquivos ou limpando a lixeira +

Ao excluir arquivos da lixeira (ou esvaziá-la), você terá as seguintes opções:

+ + Remover da biblioteca

Remove fotos da biblioteca, mas deixa seus arquivos em sua localização no computador.

+ Remover e apagar arquivo(s)

Remove arquivos da biblioteca e apaga do seu computador.

+ Cancelar

Não faz nada.

+
+
+ +
diff --git a/help/pt_BR/organize-search.page b/help/pt_BR/organize-search.page new file mode 100644 index 0000000..52efa2b --- /dev/null +++ b/help/pt_BR/organize-search.page @@ -0,0 +1,39 @@ + + + + + + Encontre fotos e vídeos em sua coleção por vários critérios. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Pesquisando + +

Há duas maneiras de pesquisar no Shotwell: usando a barra de pesquisa, e com uma pesquisa salva. A barra de pesquisa permite-lhe filtrar rapidamente os itens da visão atual sob determinados critérios. As pesquisa salvas apresentam critérios de pesquisa mais complexos e ficam na barra lateral depois de criadas.

+ + + +
+ Pesquisa salva +

Uma pesquisa salva persiste entre as sessões do Shotwell, e é atualizada como fotos e vídeos adicionados, removidos ou alterados de sua biblioteca.

+ +

Crie uma nova pesquisa salva usando o item do menu EditarNova pesquisa salva... ou pressionando as teclas CtrlS. A caixa de diálogo exibida permite que você digite um nome para a pesquisa e selecionar como são verificadas as combinações dos critérios nas linhas seguintes: "todos", "qualquer" ou "nenhum".

+ +

Cada linha representa um critério de pesquisa. Use o botão + para adicionar mais linhas, e o botão - da direita das linhas para removê-las. Do lado esquerdo de cada linha há listas para selecionar o tipo da pesquisa. O botão OK só fica disponível quando os critérios são válidos.

+
+ +
diff --git a/help/pt_BR/organize-tag.page b/help/pt_BR/organize-tag.page new file mode 100644 index 0000000..8b2fdf7 --- /dev/null +++ b/help/pt_BR/organize-tag.page @@ -0,0 +1,47 @@ + + + + + + Organize suas fotos com rótulos. + + + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Etiquetando fotos + +

Você pode atribuir uma ou mais etiquetas para as fotos selecionadas. Uma etiqueta é composta de uma ou mais palavras que serão associadas às fotos.

+ +

Para adicionar novas etiquetas nas fotos, selecione as fotos que você gostaria de etiquetar, e:

+ + +

Use o item de menu EtiquetasAdicionar etiquetas....

+

Pressione as teclas CtrlT.

+

Arraste as fotos selecionadas até etiqueta desejada, na barra lateral.

+
+ +

Quando você usa o CtrlT ou EtiquetasAdicionar etiquetas... você poderá digitar os nomes de uma ou mais etiquetas, separados por vírgulas. Depois de ter criado uma etiqueta, você pode renomeá-la selecionando essa etiqueta na barra lateral e escolher EtiquetasRenomear etiqueta "[nome]"..., ou clicar com o botão direito nela e usar o item Renomear... no menu de contexto, ou ainda clicar duas vezes sobre a etiqueta na barra lateral.

+ +

Para alterar quais as etiquetas que estão associados a uma determinada foto, selecione a foto e use o item de menu EtiquetasModificar etiquetas... ou clique com o botão direito do mouse na foto e use o item do menu de contexto Modificar etiquetas... e altere a lista separada por vírgulas. Para remover uma etiqueta de uma ou mais fotos, selecione primeiro a etiqueta na barra lateral, em seguida selecione as fotos de que você deseja tirar a etiqueta, e use o item de menu EtiquetasRemover a etiqueta "[nome]" das fotos ou clique com o botão direito sobre as fotos e use o item Remover a etiqueta "[nome]" das fotos do menu de contexto.

+ +

Para apagar uma etiqueta completamente, selecione a etiqueta na barra lateral e use o item de menu EtiquetasApagar etiqueta "[nome]" ou clique com o botão direito na etiqueta e use o item Apagar etiqueta "[nome] do menu de contexto.

+ +

Quando você cria uma etiqueta, ela aparece na barra lateral sob o item Etiquetas, que não aparece se não existe pelo menos uma etiqueta. As fotos podem ter várias etiquetas associadas a elas, e quando você clicar sobre o nome de uma etiqueta na barra lateral, você vai ver todas as fotos associadas a essa etiqueta.

+ +
+ Etiquetas hierárquicas +

O Shotwell oferece suporte a hierarquia entre etiquetas. Você pode reorganizar suas etiquetas arrastando e soltando uma etiqueta sobre outra. Para criar uma nova subetiqueta clique com o botão direito numa etiqueta e use o item Nova no menu de contexto.

+ +

Etiquetas hierárquica ajudam a organizar sua lista de etiquetas da forma que melhor corresponder à forma como você trabalha ou pensa; por exemplo, você pode armazenar a localização em etiquetas como "Montanha" ou "Praia" dentro de uma etiqueta-pai "Lugares", que podem ser colocados sob a etiqueta "Férias de Verão".

+ +

Note que apagar uma etiqueta-pai também vai apagar suas etiquetas-filhas.

+
+
diff --git a/help/pt_BR/organize-title.page b/help/pt_BR/organize-title.page new file mode 100644 index 0000000..6db9e9b --- /dev/null +++ b/help/pt_BR/organize-title.page @@ -0,0 +1,23 @@ + + + + + + Dê títulos às suas fotos. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Títulos + +

A caixa de seleção VerTítulos alterna a exibição de títulos abaixo de cada foto. Por padrão, o título de uma foto é seu nome de arquivo.

+ +

Para alterar o título de uma foto, selecione a foto e clique em FotosEditar título..., ou pressione a tecla F2.

+ +
diff --git a/help/pt_BR/other-files.page b/help/pt_BR/other-files.page new file mode 100644 index 0000000..5fcc72b --- /dev/null +++ b/help/pt_BR/other-files.page @@ -0,0 +1,106 @@ + + + + + + Mantenha a biblioteca do Shotwell sincronizada com os arquivos de seu disco rígido. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Arquivos de fotos + +

Cada foto na biblioteca do Shotwell corresponde a um arquivo armazenado em seu disco rígido. O Shotwell tem várias funcionalidades que te ajudam a manter a biblioteca e os arquivos no disco sincronizados.

+ + +
+ Usando um padrão de diretórios personalizado +

O Shotwell permite especificar como chama diretórios em sua biblioteca. Você pode fazer isso alterando a Estrutura de diretório e as configurações Padrão na janela Preferências. Você pode usar um padrão na lista, ou escolher Personalizar e digitar o seu próprio.

+ +

Os símbolos disponíveis para o padrão de diretório começam com uma % (sinal de porcentagem). Os valores produzidos são dependentes da idioma/região, de modo que você vê no seu computador pode se diferente dos exemplos abaixo.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Símbolo

Significado

Exemplo

%Y

Ano (completo)

2011

%y

Ano (dois dígitos)

11

%d

Dia do mês (com zero inicial)

03

%A

Nome do dia da semana (completo)

Quarta-feira

%a

Nome do dia da semana (abreviado)

Qua

%m

Mês (com zero inicial)

02

%b

Nome do mês (abreviado)

Fev

%B

Nome do mês (completo)

Fevereiro

%I

Hora (formato de 12h)

05

%H

Hora (formato de 24h)

17

%M

Minuto

16

%S

Segundo

30

%p

AM ou PM

PM

+ +

Existem outros símbolos disponíveis; por favor, verifique o manual do "strftime", com o comando man strftime se você precisa de um que não esteja aqui.

+
+ +
+ Importando fotos automaticamente + +

O Shotwell pode importar novas fotos que aparecem no diretório da biblioteca automaticamente. (O diretório da biblioteca é geralmente o diretório Imagens em seu diretório pessoal, você ajustar isso na janela de Preferências.)

+ +

Para habilitar a importação automática, marque a opção Monitorar diretório de biblioteca por novos arquivos na janela de Preferências.

+ +

O Shotwell também pode seguir links simbólicos dentro de diretórios automaticamente importados.

+ +
+ +
+ Renomeando automaticamente fotos importadas para minúsculas + +

O Shotwell pode mudar automaticamente os nomes dos arquivos de fotos importadas para minúsculas. Para habilitar isso, escolha EditarPreferências e, na janela Preferências, marque a opção Renomear arquivos importados para letra minúscula.

+ +
+ +
+ Gravando os metadados sob demanda + +

Por padrão, o Shotwell não modifica arquivos de fotos, mesmo quando você editar fotos ou alterar suas etiquetas ou títulos. O Shotwell registra essas mudanças apenas no seu próprio banco de dados.

+ +

Para alterar esse comportamento, você pode marcar a opção Gravar etiquetas, títulos e outros metadados para arquivos de fotos na janela Preferências. Quando essa opção é ativada, o Shotwell grava os seguintes metadados para a maioria dos arquivos de fotos sempre que você alterá-la no Shotwell:

+ + +

títulos

+

etiquetas

+

avaliações

+

informações sobre rotação

+

data/hora

+
+ +

O Shotwell armazena essas informações em arquivos de fotos nos formatos EXIF, IPTC e/ou XMP. Note que o Shotwell pode escrever apenas em arquivos de fotos em JPEG, PNG e TIFF, e não em fotos BMP, em fotos RAW ou em arquivos de vídeo.

+ +
+ +
+ Monitoramento em tempo de execução + +

Enquanto o Shotwell é executado, ele percebe as alterações feitas em arquivos de sua biblioteca externamente. Quando uma foto é alterada, o Shotwell relê o arquivo e atualiza a sua visão da foto e de seus metadados.

+ +

Note que o Shotwell verifica todos os arquivos de sua biblioteca na inicialização, mas apenas arquivos de fotos contidas no diretório da biblioteca são monitorados em tempo real, após a inicialização. Esperamos remover esta limitação em uma nova versão.

+ +
+ +
diff --git a/help/pt_BR/other-missing.page b/help/pt_BR/other-missing.page new file mode 100644 index 0000000..c5d9549 --- /dev/null +++ b/help/pt_BR/other-missing.page @@ -0,0 +1,27 @@ + + + + + + Se o Shotwell não consegue encontrar uma foto em sua biblioteca, ele marca como "faltante" em seu banco de dados. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Fotos faltantes + +

Cada vez que o Shotwell é iniciado, ele verifica se os arquivos de sua biblioteca ainda existem no seu disco rígido. Se o Shotwell perceber que quaisquer arquivos da biblioteca não existem, ele não vai exibi-los nas visões normais eventos e marcações, mas em vez disso vai mostrá-los em uma visão Arquivos faltantes que aparecerá na barra lateral.

+ +

Se você não quiser mais que os arquivos que faltam façam parte de sua coleção do Shotwell (talvez porque você os tenha excluídos), vá na visão de Arquivos faltantes, selecione os arquivos e clique em Remover da biblioteca.

+ +

Se você tem fotos em um disco removível, como um CD ou pendrives USB, e importá-las para o Shotwell sem copiar os arquivos das fotos para o computador, elas vão ficar como arquivos faltantes se você retirar o disco removível. Consulte para saber como copiar os arquivos de discos removíveis para seu computador.

+ +

Se quaisquer arquivos faltantes se tornarem disponíveis novamente, o Shotwell perceber isso na próxima vez que for iniciado. As arquivos vão aparecer novamente nas visões de eventos e marcações.

+ +
diff --git a/help/pt_BR/other-multiple.page b/help/pt_BR/other-multiple.page new file mode 100644 index 0000000..9c33697 --- /dev/null +++ b/help/pt_BR/other-multiple.page @@ -0,0 +1,27 @@ + + + + + + Você pode abrir o Shotwell com uma biblioteca diferente da normal, usando uma opção de linha de comando. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Múltiplas bibliotecas + +

O Shotwell normalmente armazena seus bancos de dados no diretório ~/.shotwell. Este diretório não contém as fotos, mas o banco de dados neste diretório contém a lista de todas as fotos na biblioteca do Shotwell.

+ +

É possível ter várias bibliotecas do Shotwell, cada uma com seu próprio conjunto de fotos. Cada biblioteca tem seu próprio diretório de banco de dados. Para iniciar o Shotwell com uma biblioteca alternativa, basta especificar um diretório de banco de dados em sua linha de comando da seguinte forma:

+ + +shotwell -d [diretório-do-banco-de-dados-da-biblioteca] + + +
diff --git a/help/pt_BR/other-plugins.page b/help/pt_BR/other-plugins.page new file mode 100644 index 0000000..15755ec --- /dev/null +++ b/help/pt_BR/other-plugins.page @@ -0,0 +1,24 @@ + + + + + + Estenda as funcionalidades do Shotwell dinamicamente. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Plug-ins +

O Shotwell pode ser usado com plug-ins, que são bibliotecas dinâmicas que podem adicionar suporte para novos destinos de publicação ou novas transições em exibições de slides.

+ +

Para ver a lista dos plug-ins instalados, use o menu EditarPreferências e, na janela de Preferências, clique na aba Plug-ins. Você verá a lista dos plug-ins atualmente instalados, cada um com uma caixa de seleção para ativá-lo ou desativá-lo.

+ +

A documentação completa de como desenvolver novos plug-ins está disponível em http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins

+ +
diff --git a/help/pt_BR/pt_BR.po b/help/pt_BR/pt_BR.po index af8a99b..4391a5e 100644 --- a/help/pt_BR/pt_BR.po +++ b/help/pt_BR/pt_BR.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: shotwell master\n" -"POT-Creation-Date: 2016-04-16 08:18+0000\n" -"PO-Revision-Date: 2016-04-16 08:10-0200\n" +"POT-Creation-Date: 2016-07-10 08:26+0000\n" +"PO-Revision-Date: 2016-07-12 12:59-0200\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -17,1528 +17,1510 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Virtaal 0.7.1\n" -#: C/view-sidebar.page:7(desc) -msgid "" -"The sidebar on the left of the window lists various views of your library." +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "Felipe Braga , 2015" + +#. (itstool) path: info/desc +#: C/edit-adjustments.page:7 +msgid "Change the exposure, saturation, tint, and shadows of a photo." msgstr "" -"A barra lateral esquerda da janela lista várias visões da sua biblioteca." +"Mude a exposição, saturação, matiz/coloração, temperatura, e sombras de uma " +"foto." -#: C/view-sidebar.page:21(title) -msgid "The sidebar" -msgstr "A barra lateral" +#. (itstool) path: page/title +#: C/edit-adjustments.page:12 +msgid "Color adjustments" +msgstr "Ajustes de cor" -#: C/view-sidebar.page:23(p) +#. (itstool) path: page/p +#: C/edit-adjustments.page:14 msgid "" -"The sidebar on the left side of the Shotwell window lists various views of " -"your library. Although you may see the same photo in multiple views, it's " -"only stored once on your hard drive." +"The Adjust button opens a floating window with a histogram and " +"sliders to adjust a photo's exposure, saturation, tint, temperature, and " +"shadows. The histogram also has sliders to reduce the upper and lower " +"intensity thresholds of the photograph, expanding the contrast of the middle " +"range." msgstr "" -"A barra lateral esquerda da janela lista várias visões da sua biblioteca. " -"Embora você possa ver a mesma foto em várias visões, ela só é armazenada uma " -"vez em seu disco rígido." +"O botão Ajustar abre uma janela com um histograma e controles " +"deslizantes para ajustar a exposição, saturação, matiz/coloração, " +"temperatura, e sombras de uma foto. O histograma também tem controles " +"deslizantes para reduzir os limiares de intensidade superior e inferior da " +"fotografia, ampliando o contraste da faixa intermediária." -#: C/view-sidebar.page:25(p) +#. (itstool) path: page/p +#: C/edit-adjustments.page:16 msgid "" -"The Last Import view lists your last imported photos no matter if " -"they are imported from F-Spot, your camera, a memory card or the hard disk." +"The Enhance button adjusts the histogram and shadows sliders to " +"improve the quality of a photo." msgstr "" -"A visão Última Importação mostra as últimas fotos importadas de " -"qualquer lugar (câmera, cartão de memória, disco rígido ou do programa F-" -"Spot)." +"O botão Melhorar ajusta o histograma e sombras automaticamente " +"para melhorar a qualidade de uma foto." -#: C/view-sidebar.page:27(p) -msgid "The Flagged lists all photos you had previous flagged." -msgstr "A visão Marcadas mostra suas fotos marcadas." +#. (itstool) path: page/p +#: C/edit-adjustments.page:18 +msgid "" +"When the photo's colors and contrast are to your liking, press OK " +"to save the changes. Reset will return the image to its original " +"state. Cancel discards all changes you've made." +msgstr "" +"Após ajustar as cores e o contraste da foto, clique em OK para " +"salvar as alterações. O botão Reiniciar irá retornar a imagem ao " +"seu estado original. O botão Cancelar descarta todas as mudanças " +"que você fez." + +#. (itstool) path: section/title +#: C/edit-adjustments.page:21 +msgid "What do the color adjustments do?" +msgstr "O que os ajustes fazem?" -#: C/view-sidebar.page:29(p) +#. (itstool) path: item/title +#: C/edit-adjustments.page:24 +msgid "Exposure" +msgstr "Exposição" + +#. (itstool) path: item/p +#: C/edit-adjustments.page:25 msgid "" -"The Saved Search allows you to sort your library by many criteria." +"Changes the brightness to make it look like the photo was exposed for a " +"longer or shorter time. Use this to correct under- or over-exposed photos." msgstr "" -"A visão Pesquisa salva permite classificar sua biblioteca por " -"vários critérios de pesquisa." +"Altera o brilho para fazer parecer que a foto foi exposta por um tempo maior " +"ou menor. Utilize este ajuste para corrigir fotografias sub ou sobre-" +"expostas." + +#. (itstool) path: item/title +#: C/edit-adjustments.page:28 +msgid "Saturation" +msgstr "Saturação" -#: C/view-sidebar.page:31(p) +#. (itstool) path: item/p +#: C/edit-adjustments.page:29 msgid "" -"The Events folder lists all events in your library. An event is a " -"group of photos that were taken at approximately the same time." +"Changes how vivid colors look. If your photo looks gray and washed out, try " +"increasing the saturation. If colors look too bold, try decreasing it." msgstr "" -"A visão Eventos lista todos os eventos em sua biblioteca. Um " -"evento é um grupo de fotos que foram tiradas em datas parecidas." +"Ajusta o quanto vivas parecem as cores. Se a foto parece cinzenta e com " +"cores pouco vivas, tente aumentar a saturação. Se as cores parecem muito " +"ousadas, tente diminuí-la." + +#. (itstool) path: item/title +#: C/edit-adjustments.page:32 +msgid "Tint" +msgstr "Colorir" -#: C/view-sidebar.page:33(p) +#. (itstool) path: item/p +#: C/edit-adjustments.page:33 msgid "" -"The Tags folder lists all tags you've assigned to photos. Photos " -"can have multiple tags attached to them. When you click on the name of a tag " -"in the sidebar, you will see all the photos associated with that tag." +"This tints the photo with a color. It's useful for correcting photos taken " +"with the wrong white balance setting, which typically have an unnatural " +"color cast. For example, photos taken outdoors with the white balance set to " +"\"Tungsten\" may have a blue cast." msgstr "" -"A visão Etiquetas lista todas as etiquetas que você colocou nas " -"fotos. Fotos podem ter várias etiquetas. Clicar no nome de uma etiqueta na " -"barra lateral mostra todas as fotos associadas à ela." +"Este ajuste tinge a foto com uma cor. É útil para corrigir as fotos tiradas " +"com a configuração de equilíbrio de brancos errado, que ficam com cores que " +"não parecem naturais. Por exemplo, fotos tiradas ao ar livre com o balanço " +"de brancos definido como \"Incandescente\" ficam com um tom azulado." -#: C/view-information.page:7(desc) +#. (itstool) path: item/title +#: C/edit-adjustments.page:36 +msgid "Temperature" +msgstr "Temperatura" + +#. (itstool) path: item/p +#: C/edit-adjustments.page:37 msgid "" -"View more detailed information about photos, like the exposure mode used by " -"the camera." +"Changes how \"warm\" or \"cool\" the picture looks. Use this to make cold, " +"depressing scenes look more lively, for example." msgstr "" -"Exibe informações detalhadas sobre fotos, como o modo de exposição usado " -"pela câmera." +"Ajusta a forma como a foto parece \"quente\" ou \"fria\". Use-o para fazer " +"que cenas frias e deprimentes pareçam mais animadas, por exemplo." -#: C/view-information.page:12(title) -msgid "Basic and extended information" -msgstr "Informações básicas e estendidas" +#. (itstool) path: item/title +#: C/edit-adjustments.page:40 +msgid "Shadows" +msgstr "Sombras" -#: C/view-information.page:14(p) +#. (itstool) path: item/p +#: C/edit-adjustments.page:41 msgid "" -"The Basic Information pane appears at the bottom of the sidebar, and " -"displays a brief summary of the photos you've selected. If no photos are " -"selected, it displays a summary of the entire collection. You can toggle the " -"display of this pane using the ViewBasic " -"Information command." +"This makes shadowy areas appear lighter. Use this to make detail more " +"visible if it's obscured by the darkness of a shadow." msgstr "" -"Um painel de informações básicas aparece na parte inferior da barra lateral, " -"mostrando um resumo das fotos selecionadas. Se nenhuma foto estiver " -"selecionada, ele exibe um resumo de toda a biblioteca. Você pode alternar a " -"exibição deste painel usando o item de menu VerInformações Básicas." +"Esse ajuste faz com que áreas de sombra pareçam mais claras. Use-o para " +"fazer os detalhes mais visíveis se eles estão sob de uma sombra." + +#. (itstool) path: item/title +#: C/edit-adjustments.page:44 +msgid "Intensity Threshold (sliders on the histogram)" +msgstr "Limiares de intensidade (cantos do histograma)" -#: C/view-information.page:16(p) +#. (itstool) path: item/p +#: C/edit-adjustments.page:45 msgid "" -"The floating Extended Information window displays more information about the " -"selected photo. The ViewExtended Information command or CtrlShiftX toggles the display of this window." +"These sliders change how light the brightest white is and how dark the " +"darkest black is. Use them to change the contrast of the photo. Photos which " +"look washed out should particularly benefit from changing these settings." msgstr "" -"A janela de informações estendidas exibe mais informações sobre a foto " -"selecionada. O item de menu VerInformações " -"estendidas ou a combinação de teclas CtrlShiftX alterna a exibição desta janela." +"Esses controles alteram a forma como o branco é claro e o quão escuro é o " +"preto. Use-os para alterar o contraste da foto. Fotos que parecem " +"desgastadas deverão se beneficiar muito com a alteração dessas configurações." -#: C/view-displaying.page:7(desc) +#. (itstool) path: media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: C/edit-crop.page:42 +msgctxt "_" msgid "" -"Learn about different ways of viewing your photos: in a grid, filling the " -"main window, or filling the whole screen." +"external ref='figures/crop_thirds.jpg' md5='4cf0a026bb812c7eab0c9db8210a9524'" msgstr "" -"Saiba mais sobre formas diferentes de ver suas fotos: em uma lista, na " -"janela principal, ou em tela cheia." +"external ref='figures/crop_thirds.jpg' md5='4cf0a026bb812c7eab0c9db8210a9524'" -#: C/view-displaying.page:12(title) -msgid "Photo views" -msgstr "Formas de visualização de fotos" +#. (itstool) path: info/desc +#: C/edit-crop.page:7 +msgid "Improve the composition of a photo by cutting out parts of it." +msgstr "Melhore a composição de uma foto cortando partes dela." + +#. (itstool) path: page/title +#: C/edit-crop.page:12 +msgid "Cropping" +msgstr "Cortando" -#: C/view-displaying.page:14(p) +#. (itstool) path: page/p +#: C/edit-crop.page:14 msgid "" -"When you select any collection in the sidebar, Shotwell displays all photos " -"in the collection in the main window area. At the bottom right is a slider " -"which adjusts the viewing size of the thumbnails. You may also adjust the " -"thumbnail size using the plus and minus keys (+ and -) " -"or by pressing Ctrl while moving your mouse scroll wheel." +"To reduce the area of a photo and concentrate the viewer's attention on a " +"smaller portion of it, use the Crop tool. The crop tool is only available in " +"full-window or fullscreen mode." msgstr "" -"Ao selecionar qualquer coleção na barra lateral, o Shotwell exibe todas as " -"fotos dela na área da janela principal. No canto inferior direito há um " -"controle que ajusta o tamanho das miniaturas. Você também pode ajustar o " -"tamanho das miniaturas utilizando as teclas + e - ou " -"pressionando a tecla Ctrl enquanto move a roda do mouse." +"Para reduzir a área de uma foto e concentrar a atenção do espectador em uma " +"parte menor dela, use a ferramenta de cortar. A ferramenta de cortar estará " +"disponível apenas nos modos de janela toda ou tela cheia." -#: C/view-displaying.page:16(p) +#. (itstool) path: item/p +#: C/edit-crop.page:19 msgid "" -"You can view a photo full-window by double-clicking on it. From there you " -"may move to other photos in the collection with the Back and Forward " -"buttons. To return to the collection, double-click on the photo or press " -"Esc." +"Double-click on a photo to enter full-window mode, then press the Crop button on the toolbar." msgstr "" -"Você pode ver uma foto na janela toda dando um clique duplo sobre ela. Lá, " -"você pode mover para outras fotos da coleção com os botões Voltar e Avançar. " -"Para retornar para a coleção, clique duas vezes sobre a foto ou pressione " -"Esc." +"Clique duas vezes em uma foto para entrar no modo janela toda e use o botão " +"Cortar na barra de ferramentas." -#: C/view-displaying.page:18(p) +#. (itstool) path: item/p +#: C/edit-crop.page:22 msgid "" -"When viewing a photo in full-window mode, the slider on the toolbar controls " -"zoom. You can pan around by grabbing and dragging anywhere on the photo. You " -"can also zoom using your scroll wheel or by pressing the following keyboard " -"shortcuts: Ctrl0 for the full image, " -"Ctrl1 for 100% (1 photo pixel = 1 screen pixel), " -"and Ctrl2 for 200% (1 photo pixel = 2x2 screen " -"pixels)." +"A white box, the crop rectangle, will appear over the photo. The lighter " +"portion of the photo within the crop rectangle represents what the photo " +"will look like when you crop it." msgstr "" -"Ao visualizar uma foto na janela toda, existirá um controle no canto da tela " -"para manipular o zoom da visualização. Você pode movimentar a visualização " -"clicando e arrastando em qualquer lugar da foto. Você também pode aumentar o " -"zoom usando a roda do mouse ou pressionando as teclas: Ctrl0 para mostrar toda a foto, Ctrl1 para 100% de zoom, e Ctrl2 para 200% de zoom." +"Um retângulo branco, o \"retângulo de corte\", aparecerá sobre a foto. A " +"parte mais clara da foto dentro do retângulo de corte representa o que a " +"foto parecerá quando você cortá-la." -#: C/view-displaying.page:20(p) +#. (itstool) path: item/p +#: C/edit-crop.page:25 msgid "" -"Shotwell offers a fullscreen mode to display photos. Choose " -"ViewFullscreen or press F11. To see the fullscreen toolbar, move your mouse to the bottom of the " -"screen. The toolbar offers buttons to move through the collection, to pin " -"the toolbar down (so it isn't hidden when you move the mouse away), and to " -"leave fullscreen view." +"If you place your cursor in the middle of the box, you can move the box " +"around. If you drag the edges of the box, you can adjust its size. As you " +"move and adjust the crop box, you'll see four lines appear inside it, like a " +"tic-tac-toe grid. These are rule of thirds lines." msgstr "" -"O Shotwell oferece um modo de tela cheia para visualizar fotos. Use o menu " -"VerTela cheia ou pressione a tecla " -"F11. Para ver a barra de ferramentas da visualização da tela " -"cheia, mova o cursor do mouse para a parte inferior da tela. Essa barra de " -"ferramentas oferece botões para percorrer a coleção, para fixar a barra de " -"ferramentas (para que ela não fique oculta quando você tirar o cursor do " -"mouse dela), e para sair dessa visualização." - -#: C/view-displaying.page:23(title) -msgid "Viewing videos" -msgstr "Assistindo vídeos" +"Arraste o retângulo para posicioná-lo e ajuste seu tamanho, arrastando suas " +"bordas. Quando você move ou ajustar o tamanho do retângulo de corte, " +"aparecem quatro linhas dentro dele, como uma grade de jogo da velha: são as " +"linhas da regra dos terços." -#: C/view-displaying.page:24(p) +#. (itstool) path: item/p +#: C/edit-crop.page:26 msgid "" -"When you double-click a video, Shotwell will launch an external video player " -"to play the video. It's not currently possible to display a video in full-" -"window mode in Shotwell or to play the video within Shotwell itself." +"You can also constrain the crop box to one of many common sizes. Choose a " +"size from the drop-down list that suits your needs. If you press the flip " +"button next to it, the orientation of the constraint will switch (from " +"landscape to portrait)." msgstr "" -"Ao dar duplo clique num vídeo, o Shotwell irá iniciar um reprodutor externo " -"para exibi-lo. Não é possível, atualmente, mostrar o vídeo na janela toda no " -"Shotwell ou reproduzir o vídeo no próprio Shotwell." +"Você também pode restringir o retângulo de corte para um de muitos tamanhos " +"comuns. Escolha um tamanho a partir da lista que se adapte às suas " +"necessidades. Se você pressionar o botão ao lado da lista, a orientação da " +"restrição irá mudar (de paisagem para retrato, e vice-versa)." -#: C/share-upload.page:7(desc) -msgid "Publish photos to Facebook, Flickr, Picasa Web Albums, or other sites." +#. (itstool) path: item/p +#: C/edit-crop.page:29 +msgid "" +"When you're happy with your crop outline, apply it by pressing the " +"Crop button. Shotwell will display the cropped photo." msgstr "" -"Publique fotos para o Facebook, Flickr, Picasa Web Albums, ou outros lugares." - -#: C/share-upload.page:12(title) -msgid "Publishing to the Web" -msgstr "Publicando para a web" +"Após acertar o seu retângulo de corte, aplica a alteração pressionando o " +"botão Cortar. O Shotwell irá mostrar a foto cortada." -#: C/share-upload.page:14(p) +#. (itstool) path: item/p +#: C/edit-crop.page:32 msgid "" -"Through the use of plugins, Shotwell can " -"publish photos and videos to the following services, each of which requires " -"an account:" +"If you change your mind, press the Crop button again and fine-" +"tune the crop." msgstr "" -"Através do uso de plug-ins, o Shotwell " -"pode publicar fotos e vídeos para os seguintes serviços (cada um necessita " -"de uma conta):" - -#: C/share-upload.page:18(link) -msgid "Facebook" -msgstr "Facebook" - -#: C/share-upload.page:19(link) -msgid "Flickr" -msgstr "Flickr" +"Se você mudar de ideia, pressione o botão Cortar novamente e " +"ajuste o corte." -#: C/share-upload.page:20(p) +#. (itstool) path: item/p +#: C/edit-crop.page:33 msgid "" -"Picasa Web Albums and " -"Google+" +"If you press Cancel rather than Apply, Shotwell will " +"return to the photo's previous crop dimensions." msgstr "" -"Picasa Web Albums e Google+" +"Se você pressionar Cancelar ao invés de Aplicar, o " +"Shotwell voltará às dimensões anteriores da foto." -#: C/share-upload.page:21(p) -msgid "YouTube (videos only)" -msgstr "YouTube (somente vídeos)" +#. (itstool) path: section/title +#: C/edit-crop.page:38 +msgid "What is the rule of thirds?" +msgstr "O que é a regra dos terços?" -#: C/share-upload.page:22(p) +#. (itstool) path: section/p +#: C/edit-crop.page:39 msgid "" -"Yandex.Fotki, a photo site " -"popular in Russia (photos only)" +"The rule of thirds helps you to choose a pleasing composition for a " +"photo." msgstr "" -"Yandex.Fotki, um site de fotos " -"popular na Rússia (somente fotos)" +"A regra dos terços ajuda você a escolher uma composição agradável " +"para uma foto." -#: C/share-upload.page:23(p) +#. (itstool) path: section/p +#: C/edit-crop.page:40 msgid "" -"Any site running the Piwigo photo " -"gallery software (photos only)" +"Imagine that the scene is divided up into a 3x3 grid by two equally-spaced " +"vertical lines and two equally-spaced horizontal lines. According to the " +"rule, you're more likely to get a pleasing composition if you align major " +"features (like the horizon, or a person's body) with one of the lines. " +"Paying attention to the way features flow from one part of the grid to " +"another can also help." msgstr "" -"Qualquer site usando o software de galeria de fotos Piwigo (somente fotos)" +"Imagine que a cena é dividida em uma grade de 3x3 por duas linhas verticais " +"igualmente espaçadas e duas linhas horizontais igualmente espaçadas. De " +"acordo com a regra, você terá mais chances de obter uma composição agradável " +"se você alinhar as características principais (como o horizonte, ou corpo de " +"uma pessoa) com uma das linhas. Prestar atenção ao caminho que o fluxo de " +"recursos faz de uma parte da grade para outra também pode ajudar." -#: C/share-upload.page:26(p) +#. (itstool) path: section/p +#: C/edit-crop.page:41 msgid "" -"To publish selected photos in a collection, choose EditPreferences and click on the Plugins tab " -"to enable the plugin for the service you want to publish to. Next, choose, " -"FilePublish, press the Publish toolbar button or use CtrlP. You " -"will see a dialog that lets you select a publishing service. You will then " -"need to log in or create an account." +"Cropping a photo so that it conforms to the rule of thirds often results in " +"a more visually appealing image." msgstr "" -"Para publicar as fotos selecionadas, use o item do menu EditarPreferências e clique na aba Plug-ins " -"para ativar o plug-in para o serviço correspondente. Em seguida, selecione " -"as fotos/vídeos e use o menu ArquivoPublicar ou pressione o botão Publicar na barra de ferramentas ou, " -"ainda, use as teclas CtrlP. Você verá " -"uma caixa de diálogo que permite selecionar um serviço de publicação. Em " -"seguida, será necessário fazer o login ou criar uma conta." +"Cortar uma foto de acordo com a regra dos terços geralmente resulta em uma " +"imagem mais atraente." -#: C/share-upload.page:31(p) +#. (itstool) path: media/p +#: C/edit-crop.page:43 msgid "" -"Publishing to Facebook requires you to grant certain permissions to the " -"Shotwell Connect Facebook application. You only need to grant these " -"permissions once, when you first associate Shotwell Connect with your " -"Facebook account." +"Cropping a photo, using the \"rule of thirds\" lines to improve the " +"composition." msgstr "" -"Publicar para o Facebook necessita que você conceda algumas permissões para " -"o aplicativo \"Shotwell Connect\". Você só precisará conceder essas " -"permissões quando usar o Shotwell para publicar fotos/vídeos no Facebook " -"pela primeira vez." +"Recortar uma foto, usando a \"regra dos terços\" para melhorar a composição." -#: C/share-upload.page:35(p) +#. (itstool) path: info/desc +#: C/edit-enhance.page:7 msgid "" -"Similarly, publishing to Flickr requires you to log in and permit Shotwell " -"Connect to access your account." +"Let Shotwell improve the brightness and contrast of a photo automatically." msgstr "" -"De maneira parecida, publicar fotos/vídeos para o Flickr necessita que você " -"conceda permissões de acesso à sua conta pelo aplicativo." +"Deixe o Shotwell melhorar o brilho e o contraste de uma foto automaticamente." + +#. (itstool) path: page/title +#: C/edit-enhance.page:14 +msgid "Auto-enhance" +msgstr "Automelhoramento" -#: C/share-upload.page:37(p) +#. (itstool) path: page/p +#: C/edit-enhance.page:16 msgid "" -"If you have a Google account, but have not yet used Picasa Web Albums, you " -"will need to log in to Picasa using a browser once before you can publish to " -"this service." +"Clicking on the Enhance button is a quick way to automatically " +"adjust the brightness and contrast of your photo. It will often give you a " +"photo that is correctly exposed. You can also use it as a starting point and " +"then improve the adjustments by clicking on the Adjust button." msgstr "" -"Se você tiver uma conta Google, mas ainda não utilizou o Picasa Web Albums, " -"você precisará acessá-lo primeiro usando um navegador uma vez antes de " -"conseguir publicar pelo Shotwell." +"Clicando no botão Melhorar é uma maneira rápida de ajustar " +"automaticamente o brilho e o contraste da foto. O resultado, normalmente, " +"será uma foto com exposição correta. Você também pode usá-la como ponto de " +"partida e, em seguida, melhorar os ajustes clicando sobre o botão de " +"Ajustar." -#: C/share-slideshow.page:7(desc) -msgid "Watch a slideshow of your photos." -msgstr "Veja uma exibição de slides de suas fotos." +#. (itstool) path: info/desc +#: C/edit-external.page:7 +msgid "Use a different program to edit a photo." +msgstr "Use um programa diferente para editar fotos." -#: C/share-slideshow.page:12(title) -msgid "Slideshows" -msgstr "Exibição de slides" +#. (itstool) path: page/title +#: C/edit-external.page:12 +msgid "Edit photos with an external program" +msgstr "Editando fotos com um programa externo" -#: C/share-slideshow.page:14(p) +#. (itstool) path: page/p +#: C/edit-external.page:16 msgid "" -"To see a sideshow of any collection in Shotwell, navigate to that collection " -"and select ViewSlideshow or press " -"F5." +"You might want to use an external editor to do additional work on a photo. " +"If installed, GIMP and UFRaw are the default external editors for photo and " +"RAW editing, respectively. If these programs are not installed, you must " +"select your preferred editors by choosing EditPreferences and selecting editors from drop-down " +"menus of installed applications." msgstr "" -"Para ver uma exibição de slides de qualquer coleção no Shotwell, navegue até " -"ela e use o menu VerExibição de slides ou pressione a tecla F5." - -#: C/share-slideshow.page:16(p) -msgid "You can change some settings in a running slideshow:" -msgstr "Você pode ajustar as configurações durante uma exibição de slides:" - -#: C/share-slideshow.page:19(p) -msgid "The duration how long an image should be shown: 1 - 30 seconds" -msgstr "A duração em que a mesma foto é exibida: de 1 a 30 segundos" - -#: C/share-slideshow.page:20(p) -msgid "You can select different transition effects." -msgstr "Mudar os efeitos de transição entre as fotos." +"Você pode querer ou precisar usar um editor externo para fazer trabalhos " +"adicionais nas fotos. Se instalados, GIMP e UFRaw são os editores externos " +"padrão para edição de fotos e arquivos RAW, respectivamente. Se esses " +"programas não estão instalados, você deve selecionar seus editores " +"preferidos usando o item do menu EditarPreferências e selecionando editores na lista dos aplicativos instalados." -#: C/share-slideshow.page:21(p) -msgid "The time for each transition effect: 0.1 - 1.0 seconds" -msgstr "A duração de cada efeito de transição: de 0,1 a 1,0 segundos" +#. (itstool) path: page/p +#: C/edit-external.page:24 +msgid "" +"Once your editors have been set, select a photo and choose " +"Photos Open With External Editor to " +"open the photo with the external editor. Likewise, if the original photo is " +"a RAW file, select PhotosOpen With RAW Editor to edit the RAW file directly with the set RAW editor." +msgstr "" +"Quando os editores forem definidos, selecione uma foto e use o item de menu " +"FotosAbrir com o editor externo para " +"abrir a foto com o editor externo. Da mesma forma, se a foto original é um " +"arquivo RAW, use o item de menu FotosAbrir com " +"editor de RAW para editar o arquivo RAW diretamente com o " +"editor definido." -#: C/share-send.page:7(desc) -msgid "Send photos via email, instant messaging or in other ways." +#. (itstool) path: page/p +#: C/edit-external.page:31 +msgid "" +"When you complete your edits and save the file, Shotwell will detect the " +"changes and update the photo. When external edits have been made, press and " +"hold the Shift key in full-window view to show the original photo " +"rather than the externally-edited one." msgstr "" -"Envie fotos por e-mail, mensageiro instantâneo (como MSN, Gtalk/Hangouts, " -"ICQ, etc.) e outros." +"Ao concluir suas edições e salvar o arquivo, o Shotwell irá detectar as " +"alterações e atualizar a foto. Quando as edições externas forem feitas, " +"mantenha pressionada a tecla Shift na vista de \"toda janela\" " +"para mostrar a foto original, ao invés da editada." -#: C/share-send.page:12(title) -msgid "Sending photos" -msgstr "Enviando fotos" +#. (itstool) path: page/p +#: C/edit-external.page:38 +msgid "Reverting to original will erase any external edits." +msgstr "Revertendo à original vai apagar todas as edições externas." -#: C/share-send.page:14(p) +#. (itstool) path: note/p +#: C/edit-external.page:43 msgid "" -"Shotwell can send photos using the GNOME desktop's Send To mechanism, which " -"lets you send photos via email, instant messaging or in other ways." +"If you externally edit a RAW photo and save the result to another image, " +"such as a JPEG or PNG, Shotwell cannot automatically determine that the " +"original RAW and the new image should be paired." msgstr "" -"O Shotwell pode enviar fotos usando o mecanismo 'Enviar Para' da área de " -"trabalho GNOME, que permite o envio por e-mail, mensagens instantâneas e " -"outras formas." +"Se você editar externamente uma foto RAW e salvar o resultado em outra " +"imagem, tal como um JPEG ou PNG, o Shotwell não conseguirá determinar " +"automaticamente que a foto RAW original e a nova imagem devem ser " +"emparelhadas." -#: C/share-send.page:16(p) +#. (itstool) path: note/p +#: C/edit-external.page:49 msgid "" -"To send photos, select them in Shotwell and choose FileSend To..., or right-click the photos and choose " -"Send To... from the context menu. A Send To dialog box " -"will appear which lets you choose a mechanism for sending the files (such as " -"email or instant messaging) and a destination. You can optionally choose to " -"send the files in a compressed format." +"If you want to work within the resulting image within Shotwell, you'll need " +"to import it yourself." msgstr "" -"Para enviar fotos, selecione-as no Shotwell e escolha ArquivoEnviar para..., ou clique com o botão direito nas " -"fotos e escolha Enviar para... no menu de contexto. A caixa de " -"diálogo Enviar para permite que você escolha um mecanismo para o " -"envio de arquivos (como e-mail ou mensageiro instantâneo) e um destino. É " -"possível optar por enviar os arquivos em um formato compactado." +"Se você quer usar a imagem resultante dentro do Shotwell, você precisa " +"importá-la." -#: C/share-print.page:7(desc) -#| msgid "" -#| "Click FilePrint. For more printing " -#| "options, select the Page Setup tab in the Print " -#| "dialog." +#. (itstool) path: info/desc +#: C/edit-nondestructive.page:7 msgid "" -"Click FilePrint.... For more printing " -"options, select the Page Setup tab in the Print dialog." +"Shotwell is a non-destructive photo editor - it does not modify your " +"original photos." msgstr "" -"Use o item de menu ArquivoImprimir..." -". Para mais opções de impressão, use a guia Configurar Página na " -"janela Imprimir." +"O Shotwell é um editor de foto não-destrutivo - ele não modifica suas fotos " +"originais." -#: C/share-print.page:12(title) -msgid "Printing" -msgstr "Imprimindo" +#. (itstool) path: page/title +#: C/edit-nondestructive.page:12 +msgid "What happens to the original when I edit a photo?" +msgstr "" +"O que acontece com o arquivo original quando eu editar uma foto no Shotwell?" -#: C/share-print.page:14(p) -#| msgid "" -#| "To print a photo, select it and choose FilePrint." +#. (itstool) path: page/p +#: C/edit-nondestructive.page:14 msgid "" -"To print a photo, select it and choose FilePrint...." +"Shotwell is a non-destructive photo editor. It does not modify your original " +"photographs. That is to say, if you crop a photo or adjust its colors, the " +"photo file on disc remains untouched. Shotwell stores your edits in a " +"database and applies them on the fly as necessary. This means you can undo " +"any alterations you make to a photograph." msgstr "" -"Para imprimir uma foto, selecione-a e use o menu " -"ArquivoImprimir...." +"O Shotwell é um editor de foto não-destrutivo. Ele não modifica suas fotos " +"originais. Ou seja, se você cortar uma foto ou ajustar suas cores, o arquivo " +"de foto no disco permanece não alterado. O Shotwell armazena as suas edições " +"em um banco de dados os aplica em tempo real, quando necessário. Isto " +"significa que você pode desfazer quaisquer alterações que você faz para uma " +"foto." -#: C/share-print.page:16(p) -#| msgid "" -#| "Shotwell can also print multiple images in one page; to do this, select " -#| "multiple images, choose FilePrint, " -#| "and in the Print dialog, choose the Image Settings " -#| "tab. In Image Settings, choose one of the multiple-image-per-" -#| "page options under Autosize." +#. (itstool) path: page/p +#: C/edit-nondestructive.page:16 C/edit-undo.page:18 msgid "" -"Shotwell can also print multiple images in one page; to do this, select " -"multiple images, choose FilePrint..., " -"and in the Print dialog, choose the Image Settings " -"tab. In Image Settings, choose one of the multiple-image-per-page " -"options under Autosize." +"If you want to see what a photo looked like before your modifications, press " +"the Shift key. The original photo will be displayed as long as " +"you hold the key down." msgstr "" -"O Shotwell também pode imprimir várias fotos em uma única página; para fazer " -"isso, selecione múltiplas fotos e use o menu " -"ArquivoImprimir... e, na caixa de diálogo de " -"impressão, escolha a aba Configurações da imagem. Nela, escolha " -"uma das várias opções de quantidade de imagens por página em Tamanho " -"automático." +"Para ver a foto antes de suas alterações, pressione a tecla Shift. A foto original será exibida enquanto você mantiver pressionada a " +"tecla." -#: C/share-print.page:23(p) +#. (itstool) path: page/p +#: C/edit-nondestructive.page:18 msgid "" -"If you would like to set formatting, paper size, and orientation options, " -"choose the Page Setup tab in the Print dialog prior to " -"printing." +"Note that Shotwell can optionally write metadata (such as tags and titles) " +"to photo files. For more information, see the section Photo files." msgstr "" -"Para definir a formatação da impressão, tamanho do papel e opções de " -"orientação, escolha a aba Configurar página na caixa de diálogo " -"Imprimir antes da impressão." - -#: C/share-export.page:7(desc) -msgid "Copy photos out of Shotwell so you can put them somewhere else." -msgstr "Copie fotos fora do Shotwell para colocá-las em outro lugar." - -#: C/share-export.page:12(title) -msgid "Exporting photos" -msgstr "Exportando fotos" +"Note que o Shotwell pode, opcionalmente, gravar metadados (como etiquetas e " +"títulos) nos arquivos originais das fotos. Para obter mais informações, " +"consulte a seção Arquivos de fotos." -#: C/share-export.page:14(p) +#. (itstool) path: info/desc +#: C/edit-redeye.page:7 msgid "" -"To export photos from Shotwell via drag and drop, drag the photos from " -"Shotwell onto a file manager window or your desktop. The new files will be " -"full-sized copies of the photos in your library." +"Correct photos where people have red eyes because of the camera's flash." msgstr "" -"Para exportar fotos do Shotwell via arrastar e soltar, arraste as fotos do " -"Shotwell para uma janela do gerenciador de arquivos ou para sua área de " -"trabalho. Os novos arquivos serão cópias das fotos em sua biblioteca." +"Corrija fotos onde as pessoas ficam com os olhos vermelhos por causa do " +"flash da câmera." + +#. (itstool) path: page/title +#: C/edit-redeye.page:12 +msgid "Removing red-eye" +msgstr "Removendo olhos vermelhos" -#: C/share-export.page:18(p) -#| msgid "" -#| "Alternatively, select a set of photos and choose the FileExport command or press ShiftCtrlE, which exports photos while " -#| "letting you fine-tune the size and dimensions of your photo files. A " -#| "window will appear allowing you to make several choices:" +#. (itstool) path: page/p +#: C/edit-redeye.page:14 msgid "" -"Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting " -"you fine-tune the size and dimensions of your photo files. A window will " -"appear allowing you to make several choices:" +"Red-eye occurs when the camera's flash reflects off the pupil of someone's " +"eye. To eliminate this in a photo, use the Red-eye tool." msgstr "" -"Como alternativa, selecione um conjunto de fotos e use o item de menu " -"ArquivoExportar... ou pressione o " -"conjunto de teclas " -"CtrlShiftE. Aparecerá uma " -"janela que lhe permite fazer várias escolhas:" +"Olhos vermelhos ocorrem quando o flash da câmera reflete a pupila do olho de " +"alguém. Para eliminar este efeito em uma foto, use a ferramenta de remoção " +"de olhos vermelhos." -#: C/share-export.page:24(p) -msgid "A format for export." -msgstr "Um formato para exportar." +#. (itstool) path: item/p +#: C/edit-redeye.page:17 +msgid "Click Red-eye. A circle will appear on the photo." +msgstr "Clique Olhos vermelhos. Um círculo aparecerá na foto." -#: C/share-export.page:27(p) +#. (itstool) path: item/p +#: C/edit-redeye.page:20 msgid "" -"Choose Unmodified to export photos in their original format " -"without any edits made in Shotwell. RAW photos will be exported in their " -"original RAW format." +"Drag the circle over the affected pupil, adjust its size with the slider " +"control, and press Apply. The redness will be removed." msgstr "" -"Escolha Não modificado para exportar fotos em seu formato " -"original, sem qualquer alteração feita no Shotwell. Fotos RAW serão " -"exportados no formato RAW original." +"Posicione o círculo sobre a pupila afetada, ajuste seu tamanho com o " +"controle deslizante, e pressione Aplicar. A vermelhidão será " +"removida." -#: C/share-export.page:29(p) +#. (itstool) path: item/p +#: C/edit-redeye.page:23 msgid "" -"Choose Current to export photos including edits made in Shotwell. " -"RAW photos will be exported in JPEG format if you have edited them in " -"Shotwell, and otherwise in their original RAW format." +"Repeat this process for all red pupils in your photo. Press Close " +"when finished." msgstr "" -"Escolha Atual para exportar fotos, incluindo as edições feitas no " -"Shotwell. Fotos RAW serão exportadas em formato JPEG, se você tiver as " -"editado no Shotwell, ou em seu formato RAW original, caso contrário." +"Repita esse processo para todas as pupilas afetadas na foto. Clique em " +"Fechar quando terminar." -#: C/share-export.page:31(p) +#. (itstool) path: info/desc +#: C/edit-rotate.page:7 msgid "" -"Or you can choose a particular image format (JPEG, PNG, TIFF, BMP) to be " -"used for exporting. Any edits made in Shotwell will be included, and " -"Shotwell will convert photos to the destination format." +"Click the Rotate button, or choose one of the commands in the " +"Photo menu." msgstr "" -"Ou você pode escolher um formato de imagem (JPEG, PNG, TIFF, BMP) a ser " -"utilizado para a exportação. As alterações feitas no Shotwell serão " -"incluídas, e o Shotwell vai converter fotos para o formato escolhido." +"Clique no botão Girar, ou use um dos comandos no menu Foto." -#: C/share-export.page:37(p) -msgid "The image quality for exporting (Low, Medium, High, or Maximum)." -msgstr "" -"A qualidade da imagem para a exportação (Baixo, Médio, Alto, ou Máximo)." +#. (itstool) path: page/title +#: C/edit-rotate.page:12 +msgid "Rotate or flip a photo" +msgstr "Girando ou invertendo uma foto" -#: C/share-export.page:38(p) +#. (itstool) path: page/p +#: C/edit-rotate.page:14 msgid "" -"A scaling constraint (which means how Shotwell will decide to scale the " -"photos down), and the desired pixel size." +"You can rotate your photos left and right (clockwise and counterclockwise) " +"with the Rotate button on the toolbar of most views. You can also " +"make a mirror image of any photo." msgstr "" -"Uma restrição de escala (como o que significa que o Shotwell irá diminuir as " -"fotos quando se necessário), e o número de pixeis desejado." +"Você pode girar suas fotos para a esquerda e para a direita (sentido horário " +"e anti-horário) com o botão Girar da barra de ferramentas da " +"maioria das visões. Você também pode inverter/espelhar uma foto, tanto " +"horizontalmente quanto verticalmente." -#: C/share-export.page:39(p) +#. (itstool) path: page/p +#: C/edit-rotate.page:16 msgid "" -"The option whether you like to export metadatas such as tags or ratings. " -"This can help to save your privacy if you have geolocation tags or tags " -"which shouldn't be seen by anyone." +"To rotate right, click on the Rotate button. To rotate left, " +"press and hold the Ctrl key and then click the button. Both " +"commands are available in the Photos menu too. Alternatively, use " +"the following keyboard shortcuts:" msgstr "" -"A opção se você deseja exportar metadados, como etiquetas ou avaliações. " -"Isso pode ajudar a manter a sua privacidade, se você tem etiquetas de " -"geolocalização que não devem ser vistas por qualquer um." +"Para girar à direita, clique no botão Girar. Para girar à " +"esquerda, mantenha pressionada a tecla Ctrl e clique no botão " +"Girar. Ambos os comandos estão disponíveis também no menu " +"Fotos. Como alternativa, use os seguintes atalhos de teclado:" -#: C/share-export.page:42(p) +#. (itstool) path: item/p +#: C/edit-rotate.page:18 msgid "" -"If selected, Shotwell will write tags, titles, and other metadata to the new " -"files." +"rotate left: ShiftCtrlR or " +"[" msgstr "" -"Se selecionado, o Shotwell vai escrever as etiquetas, títulos e outros " -"metadados nos arquivos criados na exportação." +"girar à esquerda: ShiftCtrlR ou [" -#: C/share-background.page:7(desc) +#. (itstool) path: item/p +#: C/edit-rotate.page:19 msgid "" -"Set your desktop background to a single photo or to a slideshow of photos." +"rotate right: CtrlR or ]" msgstr "" -"Defina o pano de fundo de sua área de trabalho com uma única foto ou uma " -"exibição de slides de fotos." - -#: C/share-background.page:12(title) -msgid "Set a desktop background or slideshow" -msgstr "Definindo o plano de fundo da área de trabalho" +"girar à direita: CtrlR ou ]" -#: C/share-background.page:14(p) +#. (itstool) path: page/p +#: C/edit-rotate.page:21 msgid "" -"To set a single photo as your desktop background, select the photo and " -"choose FileSet as Desktop Background." +"To create a mirror image of a photo, use the Flip Horizontally " +"command in the Photos menu. To flip an image vertically, use the " +"Flip Vertically command in the same menu." msgstr "" -"Para definir uma única foto como plano de fundo da área de trabalho, " -"selecione a foto e use o item de menu ArquivoDefinir " -"como plano de fundo da área de trabalho." +"Para espelhar uma foto horizontalmente, use o item Inverter " +"horizontalmente do menu Fotos. Para espelhar uma foto " +"verticalmente, use o item Inverter verticalmente do mesmo menu." -#: C/share-background.page:16(p) -#| msgid "" -#| "You can also set your background to a slideshow of photos. To do this, " -#| "select the photos for the slideshow and choose FileSet as Desktop Slideshow. Shotwell will prompt " -#| "you for a slideshow delay, which can be any interval up to one day in " -#| "length. The background slideshow will proceed even when Shotwell is not " -#| "running." +#. (itstool) path: note/p +#: C/edit-rotate.page:24 msgid "" -"You can also set your background to a slideshow of photos. To do this, " -"select the photos for the slideshow and choose FileSet as Desktop Slideshow.... Shotwell will prompt " -"you for a slideshow delay, which can be any interval up to one day in " -"length. The background slideshow will proceed even when Shotwell is not " -"running." +"If you select more than one image, you can rotate all of them at the same " +"time." msgstr "" -"Você também pode definir o plano de fundo da área de trabalho como uma " -"exibição de slides de fotos. Para fazer isso, selecione as fotos para a " -"apresentação de slides e use o item de menu Arquivo" -"Definir apresentação de slides da área de trabalho.... O " -"Shotwell pedirá um intervalo de tempo entre as fotos, que pode ser de até um " -"dia de comprimento. A troca de fotos do fundo da área de trabalho funciona " -"mesmo quando o Shotwell não está em execução." +"Se você selecionar mais de uma foto, você pode girar todas ao mesmo tempo." -#: C/running.page:7(desc) -msgid "" -"Find Shotwell in the Applications menu, or have it start automatically when " -"you plug in a camera." -msgstr "" -"Encontre o Shotwell no menu de aplicativos, ou inicie-o automaticamente " -"quando você conecta uma câmera." +#. (itstool) path: info/desc +#: C/edit-straighten.page:7 +msgid "Straighten a photo so that its horizon appears level." +msgstr "Endireitar uma foto para que seu horizonte pareça nivelado." -#: C/running.page:14(title) -msgid "Running Shotwell" -msgstr "Executando o Shotwell" +#. (itstool) path: page/title +#: C/edit-straighten.page:12 +msgid "Straighten photos" +msgstr "Endireitando fotos" -#: C/running.page:16(p) +#. (itstool) path: page/p +#: C/edit-straighten.page:14 msgid "" -"Once installed, Shotwell is available in your Applications menu " -"under Graphics or Photography." +"The straighten tools allows photos to be leveled and straightened. The " +"straighten tool is only available in full-window or fullscreen mode." msgstr "" -"Uma vez instalado, o Shotwell estará disponível no seu menu " -"Aplicativos sob a categoria Gráficos ou " -"Fotografia." +"A ferramenta de endireitar permite que as fotos sejam nivelados e " +"endireitadas. A ferramenta de endireitar só está disponível nos modos de " +"janela toda ou tela cheia." -# Atualmente, essas preferências são acessadas de outra forma... -#: C/running.page:18(p) +#. (itstool) path: item/p +#: C/edit-straighten.page:18 msgid "" -"Shotwell may also be executed automatically when a camera is plugged in to " -"your computer. To check that your system is set up to run Shotwell when a " -"camera is detected, go to EditPreferences in any Nautilus (file browser) window and choose the Media tab.  You'll see a dropdown box entitled Photos: which lets " -"you choose Shotwell as your photo handling application." +"Click Straighten. The straighten slider will appear. " +"Alternatively, use the keyboard shortcut CtrlA." msgstr "" -"O Shotwell também pode ser executado automaticamente quando uma câmera é " -"conectada ao computador. Para verificar se o sistema está configurado para " -"executar o Shotwell quando uma câmera é detectada, vá em " -"EditarPreferências em qualquer janela " -"do Nautilus (gerenciador de arquivos) e escolha a guia Mídia. " -"Você verá uma caixa seleção intitulada Fotos: que permite " -"escolher o Shotwell como seu aplicativo para manipular fotos." +"Clique em Endireitar. O controle de endireitar aparecerá. Como " +"alternativa, use o atalho de teclado " +"CtrlA." -#: C/running.page:25(p) -msgid "" -"Shotwell may also be executed directly from its build directory, although " -"this is only recommended for testing out Shotwell or for developers." +#. (itstool) path: item/p +#: C/edit-straighten.page:21 +msgid "Drag the slider to achieve the desired degree of straightening." msgstr "" -"O Shotwell também pode ser executado diretamente de seu diretório de " -"compilação, embora isso só seja recomendado para testar o Shotwell ou para " -"desenvolvedores." - -#: C/raw.page:7(desc) -msgid "More about RAW support in Shotwell." -msgstr "Mais informações sobre o suporte de arquivos RAW no Shotwell." +"Arraste o controle deslizante para atingir o grau desejado de endireitamento." -#: C/raw.page:12(title) -msgid "RAW support in Shotwell" -msgstr "Suporte de arquivos RAW no Shotwell" +#. (itstool) path: item/p +#: C/edit-straighten.page:24 +msgid "Press Straighten when finished." +msgstr "Pressione Endireitar quando tiver terminado." -#: C/raw.page:13(p) -msgid "" -"Some cameras have the ability to store data directly off the sensor and into " -"a file that contains extra color information; this is commonly referred to " -"as 'RAW' or 'camera RAW', and Shotwell supports these files as well." +#. (itstool) path: info/desc +#: C/edit-date-time.page:7 +msgid "Change the date and time of photos if those details are incorrect." msgstr "" -"Algumas câmeras têm a capacidade de armazenar em um arquivo dados " -"diretamente do sensor e que contém informações adicionais de cor; este " -"formato de arquivo é comumente chamado de 'RAW' ou 'câmera RAW', e o " -"Shotwell também oferece suporte a esse tipo de arquivo." +"Corrija a data e a hora de fotos, se essas informações estiverem incorretas." -#: C/raw.page:18(p) -msgid "" -"Since RAW photographs normally cannot be displayed directly, but must be " -"first developed - that is, have their extra information interpreted and " -"readied for displaying - most cameras will either embed a JPEG inside a RAW-" -"format file, or produce a JPEG alongside the RAW file at the time the " -"snapshot is taken. The latter is referred to throughout this document as RAW" -"+JPEG. If you import a RAW+JPEG pair, Shotwell will keep them paired and " -"treat them as one item in your library." -msgstr "" -"Como fotos RAW normalmente não podem ser exibidas diretamente, mas precisam " -"ser tratadas antes - precisam da sua informação adicional corretamente " -"interpretada para possibilitar a exibição - a maioria das câmeras incorpora " -"uma imagem JPEG dentro de um arquivo RAW, ou gera uma imagem JPEG junto com " -"o arquivo RAW no momento em que foto é tirada. Este segundo formato é " -"chamado ao longo deste documento como \"RAW+JPEG\". Se você importar um par " -"de arquivos RAW+JPEG, o Shotwell irá mantê-los emparelhados e tratá-los como " -"um único item na sua biblioteca." +#. (itstool) path: page/title +#: C/edit-date-time.page:12 +msgid "Adjust the date and time of photos" +msgstr "Ajustando a data e a hora de fotos" -#: C/raw.page:27(p) +#. (itstool) path: page/p +#: C/edit-date-time.page:14 msgid "" -"When you import a RAW file, you can choose to either use the camera's " -"internally-developed JPEG or Shotwell's by selecting PhotosDeveloper in the menus." +"To adjust the date and time of photos, select the photos you would like to " +"adjust, choose PhotosAdjust Date and Time... and select a new date and time." msgstr "" -"Quando você importa um arquivo RAW, você pode optar por usar a imagem JPEG " -"gerada pela câmera ou uma gerada pelo Shotwell no menu em " -"FotosDesenvolvedor." +"Para ajustar a data e a hora das fotos, selecione as fotos que você gostaria " +"de ajustar, use o item do menu FotosAjustar data e " +"hora... e selecione uma nova data e hora." -#: C/raw.page:33(p) +#. (itstool) path: page/p +#: C/edit-date-time.page:16 msgid "" -"Changing between developers will cause all edits made to a photograph to be " -"discarded." +"If you are changing the date and time of multiple photos at once, you can " +"choose to shift all the photos by the same amount of time or to set all the " +"photos to the same time." msgstr "" -"Mudar o desenvolvedor de uma foto fará com que todas as alterações feitas " -"nela pelo Shotwell sejam descartadas." +"Se você estiver alterando a data e hora de várias fotos de uma só vez, você " +"pode optar por mover a data e hora de todas as fotos pela mesma quantidade " +"de tempo ou por definir todas as fotos na mesma data e hora." -#: C/raw.page:39(p) +#. (itstool) path: page/p +#: C/edit-date-time.page:18 msgid "" -"In order to publish or use a RAW photograph in most other software, it has " -"to be exported first. Shotwell can export your RAW photos in JPEG, PNG, TIFF " -"or BMP format, and, when publishing, will internally export a JPEG version " -"for you and publish that." +"By default, the date and time are only changed inside Shotwell. You can also " +"choose to modify the date and time in the original file, but this cannot be " +"undone once you exit Shotwell." msgstr "" -"Para publicar ou utilizar uma foto RAW na maioria dos outros softwares, você " -"precisará antes exportá-la. O Shotwell pode exportar suas fotos RAW nos " -"formatos JPEG, PNG, TIFF ou BMP, e, se uma foto RAW for publicada, ela será " -"internamente exportada para JPEG e é imagem exportada que será publicada." +"Por padrão, a data e a hora são só alterados dentro do Shotwell. Você também " +"pode optar por modificar a data e hora no arquivo original, mas isso não " +"pode ser desfeito depois de sair do Shotwell." -#: C/other-plugins.page:7(desc) -msgid "Extend Shotwell's functionality dynamically." -msgstr "Estenda as funcionalidades do Shotwell dinamicamente." +#. (itstool) path: info/desc +#: C/edit-undo.page:7 +msgid "Return a photo to its original, unedited form." +msgstr "Retorne uma foto para sua forma original, não editada." -#: C/other-plugins.page:12(title) -msgid "Plugins" -msgstr "Plug-ins" +#. (itstool) path: page/title +#: C/edit-undo.page:14 +msgid "Undoing changes" +msgstr "Desfazendo alterações" -#: C/other-plugins.page:13(p) +#. (itstool) path: page/p +#: C/edit-undo.page:16 msgid "" -"Shotwell can be used with plugins, which are companion shared " -"libraries that can add support for new publishing destinations or new " -"slideshow transitions." +"Because Shotwell is a non-destructive photo editor, you can undo any " +"alterations you make to a photograph." msgstr "" -"O Shotwell pode ser usado com plug-ins, que são bibliotecas " -"dinâmicas que podem adicionar suporte para novos destinos de publicação ou " -"novas transições em exibições de slides." +"Como o Shotwell é um editor de foto não-destrutivo, você pode desfazer " +"quaisquer alterações que você fez para uma foto." -#: C/other-plugins.page:18(p) +#. (itstool) path: page/p +#: C/edit-undo.page:20 msgid "" -"To see a list of installed plugins, choose EditPreferences, and in the Preferences " -"window, click on the Plugins tab. You'll see a list of currently-" -"installed plugins, each with a checkbox by it, and you may enable or disable " -"each by selecting or deselecting the checkbox by its name." +"To completely undo all the changes you've made to a photo, click " +"PhotosRevert to Original. The only " +"exception is that time and date adjustments will not be reverted." msgstr "" -"Para ver a lista dos plug-ins instalados, use o menu EditarPreferências e, na janela de Preferências, clique na aba Plug-ins. Você verá a lista dos plug-ins " -"atualmente instalados, cada um com uma caixa de seleção para ativá-lo ou " -"desativá-lo." +"Para desfazer todas as alterações feitas a uma foto, use o item de menu " +"FotosReverter para o original. A " +"única exceção é que os ajustes de hora e data não serão revertidos." -#: C/other-plugins.page:25(p) +#. (itstool) path: info/desc +#: C/formats.page:7 msgid "" -"Full documentation on how to develop new plugins is available at http://redmine.yorba.org/projects/shotwell/wiki/" -"ShotwellArchWritingPlugins" +"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files as well as video " +"files." msgstr "" -"A documentação completa de como desenvolver novos plug-ins está disponível " -"em http://redmine.yorba.org/projects/shotwell/wiki/" -"ShotwellArchWritingPlugins" +"O Shotwell oferece suporte a arquivos de fotos JPEG, PNG, TIFF, BMP e RAW e " +"arquivos de vídeo." -#: C/other-multiple.page:7(desc) -msgid "" -"You can open Shotwell with a different photo library by using the command " -"line." -msgstr "" -"Você pode abrir o Shotwell com uma biblioteca diferente da normal, usando " -"uma opção de linha de comando." - -#: C/other-multiple.page:12(title) -msgid "Multiple libraries" -msgstr "Múltiplas bibliotecas" +#. (itstool) path: page/title +#: C/formats.page:12 +msgid "Supported photo and video formats" +msgstr "Suporte a formatos de foto e vídeo" -# O diretório usado é o ~/.local/share/shotwell... -#: C/other-multiple.page:14(p) +#. (itstool) path: page/p +#: C/formats.page:14 msgid "" -"Shotwell normally stores its database and photo thumbnails in the directory " -"~/.shotwell . This directory does not hold photos, but the " -"database in this directory contains a list of all the photos in the Shotwell " -"library." +"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files. Shotwell does not yet support other graphics " +"format such as GIF." msgstr "" -"O Shotwell normalmente armazena seus bancos de dados no diretório ~/." -"shotwell. Este diretório não contém as fotos, mas o banco de dados " -"neste diretório contém a lista de todas as fotos na biblioteca do Shotwell." +"O Shotwell oferece suporte aos formatos JPEG, PNG, TIFF, BMP e arquivos de " +"fotos em RAW. O Shotwell " +"ainda não oferece suporte a outros formatos gráficos, como o GIF." -#: C/other-multiple.page:16(p) +#. (itstool) path: page/p +#: C/formats.page:16 msgid "" -"As an advanced feature, it's possible for you to have multiple Shotwell " -"libraries, each of which has its own set of photos. Each library needs its " -"own database directory. To launch Shotwell with an alternate library, " -"specify an alternate database directory on the command line as follows:" +"Shotwell's RAW format support is currently limited. When you view a RAW " +"photo, you are actually viewing a JPEG derived from the RAW photo, not the " +"RAW image itself. Additionally, the RAW editing pipeline is not fully 16-bit " +"- you can only export edited photos as 8-bit files. All supported formats " +"can be used for export (JPEG, PNG, TIFF, BMP)." msgstr "" -"É possível ter várias bibliotecas do Shotwell, cada uma com seu próprio " -"conjunto de fotos. Cada biblioteca tem seu próprio diretório de banco de " -"dados. Para iniciar o Shotwell com uma biblioteca alternativa, basta " -"especificar um diretório de banco de dados em sua linha de comando da " -"seguinte forma:" +"Suporte ao formato RAW do Shotwell é limitado. Quando você ver uma foto RAW, " +"na verdade você está vendo um JPEG derivado da foto RAW, e não a imagem RAW. " +"Além disso, o edição RAW não é totalmente de 16 bits - você só pode exportar " +"fotos editadas como arquivos de 8 bits. Todos os formatos aos quais há " +"suporte podem ser usados na exportação (JPEG, PNG, TIFF e BMP)." -# O diretório é do "banco de dados da biblioteca": dizer -# "diretório da biblioteca" pode confundi o usuário... -#: C/other-multiple.page:18(screen) -#, no-wrap +#. (itstool) path: page/p +#: C/formats.page:18 msgid "" -"\n" -"shotwell -d [library-directory]\n" +"For more information about RAW-format photos in Shotwell, please see the " +"RAW section." msgstr "" -"\n" -"shotwell -d [diretório-do-banco-de-dados-da-biblioteca]\n" +"Para obter mais informações sobre o tratamento das fotos em formato RAW no " +"Shotwell, por favor, consulte a seção Suporte de arquivos RAW no Shotwell." -#: C/other-missing.page:7(desc) -msgid "If Shotwell can't find a photo in your library, it marks it as missing." +#. (itstool) path: page/p +#: C/formats.page:22 +msgid "" +"Shotwell also supports video files in any format supported by the GStreamer " +"media library on the system where Shotwell is running. This typically " +"includes the following formats among others:" msgstr "" -"Se o Shotwell não consegue encontrar uma foto em sua biblioteca, ele marca " -"como \"faltante\" em seu banco de dados." +"O Shotwell também oferece suporte a arquivos de vídeo em qualquer formato " +"reconhecido pela biblioteca de mídia GStreamer no sistema no qual o Shotwell " +"está em execução. Isso normalmente inclui os seguintes formatos, entre " +"outros:" -#: C/other-missing.page:12(title) -msgid "Missing photos" -msgstr "Fotos faltantes" +#. (itstool) path: item/p +#: C/formats.page:25 +msgid "Container formats: Ogg, QuickTime, MP4, AVI." +msgstr "Formatos de contêineres: Ogg, QuickTime, MP4, AVI." -#: C/other-missing.page:14(p) +#. (itstool) path: item/p +#: C/formats.page:26 msgid "" -"Each time Shotwell starts up, it scans your photo library to verify that all " -"photo files still exist on your hard drive. If Shotwell finds that any photo " -"files are missing, it will not display them in the normal Photos, Events and " -"Tags views, but will instead show them in a separate Missing Files view " -"which will appear in the sidebar." +"Codecs: Theora, Quicktime, MPEG-4, Motion JPEG. Note that some operating " +"systems may not include all codecs listed here due to legal or licensing " +"restrictions." msgstr "" -"Cada vez que o Shotwell é iniciado, ele verifica se os arquivos de sua " -"biblioteca ainda existem no seu disco rígido. Se o Shotwell perceber que " -"quaisquer arquivos da biblioteca não existem, ele não vai exibi-los nas " -"visões normais eventos e marcações, mas em vez disso vai mostrá-los em uma " -"visão Arquivos faltantes que aparecerá na barra lateral." +"Codificadores: Theora, QuickTime, MPEG-4, Motion JPEG. Note que alguns " +"sistemas operacionais podem não incluir todos os listados aqui devido a " +"restrições legais ou de licenciamento." -#: C/other-missing.page:16(p) +#. (itstool) path: page/p +#: C/formats.page:30 msgid "" -"If you no longer want the missing files to be part of your Shotwell " -"collection (perhaps because you deleted them), go to the Missing Files view, " -"select the photos and then click Remove From Library." +"Shotwell supports both photos and videos, but for simplicity, this " +"documentation uses just the term \"photos\" in most places. Many operations " +"in Shotwell apply to both photos and videos, however. In particular, events, " +"flagging, rating, tagging, and publishing work both for photos and for " +"videos." msgstr "" -"Se você não quiser mais que os arquivos que faltam façam parte de sua " -"coleção do Shotwell (talvez porque você os tenha excluídos), vá na visão de " -"Arquivos faltantes, selecione os arquivos e clique em " -"Remover da biblioteca." +"O Shotwell oferece suporte a arquivos de fotos e vídeos, mas, para " +"simplificar, esta documentação utiliza apenas o termo \"fotos\" na maioria " +"dos lugares. A maioria das operações no Shotwell se aplicam à fotos e " +"vídeos, como eventos, marcações, avaliações, atribuição de etiquetas e " +"publicações." -#: C/other-missing.page:18(p) -msgid "" -"If you have photos on a removable disk, such as a CD or USB flash drive, and " -"import them into Shotwell without copying the photos to your computer, they will show up as missing files " -"if you then disconnect the removable disk. See " -"to learn how to copy files from removable disks onto your computer." -msgstr "" -"Se você tem fotos em um disco removível, como um CD ou pendrives USB, e " -"importá-las para o Shotwell sem " -"copiar os arquivos das fotos para o computador, elas vão ficar como " -"arquivos faltantes se você retirar o disco removível. Consulte para saber como copiar os arquivos de discos removíveis " -"para seu computador." +#. (itstool) path: info/desc +#: C/import-camera.page:7 +msgid "Copy photos from a digital camera." +msgstr "Copie fotos de uma câmera digital." + +#. (itstool) path: page/title +#: C/import-camera.page:12 +msgid "Importing from a camera" +msgstr "Importando fotos de uma câmera" + +#. (itstool) path: page/p +#: C/import-camera.page:14 +msgid "To import photos from a digital camera:" +msgstr "Para importar fotos de uma câmera digital:" -#: C/other-missing.page:20(p) +#. (itstool) path: item/p +#: C/import-camera.page:18 msgid "" -"If any missing photo files become available again, Shotwell will notice this " -"the next time it starts. The photos will once again appear in the Photos, " -"Events and Tags views." +"Connect the camera to your computer and switch it on. Shotwell will detect " +"it and list it in the sidebar." msgstr "" -"Se quaisquer arquivos faltantes se tornarem disponíveis novamente, o " -"Shotwell perceber isso na próxima vez que for iniciado. As arquivos vão " -"aparecer novamente nas visões de eventos e marcações." +"Conecte a câmera ao computador e ligue-a. O Shotwell irá detectá-la e mostrá-" +"la na barra lateral." -#: C/other-files.page:7(desc) -msgid "Keep the Shotwell library in sync with photo files on disk." +#. (itstool) path: item/p +#: C/import-camera.page:22 +msgid "" +"Select the camera in the sidebar. Previews of each photo on the camera will " +"be displayed." msgstr "" -"Mantenha a biblioteca do Shotwell sincronizada com os arquivos de seu disco " -"rígido." - -#: C/other-files.page:12(title) -msgid "Photo files" -msgstr "Arquivos de fotos" +"Selecione a câmera na barra lateral. Pré-visualizações das fotos na câmera " +"serão exibidas." -#: C/other-files.page:14(p) +#. (itstool) path: item/p +#: C/import-camera.page:25 msgid "" -"Every photo in the Shotwell library corresponds to a file stored on your " -"hard disk. Shotwell has several features which help you keep the Shotwell " -"library and files on disk in sync." +"If you like, you can choose a set of specific photos to import. To do this, " +"hold down the Ctrl key and click to select individual photos. You " +"can hold down Shift and click to select a range of photos too." msgstr "" -"Cada foto na biblioteca do Shotwell corresponde a um arquivo armazenado em " -"seu disco rígido. O Shotwell tem várias funcionalidades que te ajudam a " -"manter a biblioteca e os arquivos no disco sincronizados." - -#: C/other-files.page:21(title) -msgid "Using a custom directory pattern" -msgstr "Usando um padrão de diretórios personalizado" +"Se preferir, você pode escolher um conjunto de fotos para importar. Para " +"isso, mantenha pressionada a tecla Ctrl e clique para selecionar " +"cada foto. Você pode segurar a tecla Shift e clicar para " +"selecionar um intervalo de fotos." -#: C/other-files.page:22(p) +#. (itstool) path: item/p +#: C/import-camera.page:28 msgid "" -"Shotwell allows you to specify how it names directories in your library. You " -"can do this by changing the Directory Structure and Pattern settings in the Preferences dialog. You may use a " -"preselected pattern, or choose Custom and type in your own." +"Click either Import Selected or Import All. The photos " +"will be copied from the camera and saved on your computer." msgstr "" -"O Shotwell permite especificar como chama diretórios em sua biblioteca. Você " -"pode fazer isso alterando a Estrutura de diretório e as " -"configurações Padrão na janela Preferências. Você pode " -"usar um padrão na lista, ou escolher Personalizar e digitar o seu " -"próprio." +"Clique em Importar selecionadas ou em Importar todas. " +"As fotos serão copiadas da câmera e gravadas em seu computador." -#: C/other-files.page:29(p) +#. (itstool) path: page/p +#: C/import-camera.page:32 msgid "" -"The available symbols for the directory pattern begin with a % (percent " -"sign). The values these symbols produce are locale-dependent, so what you " -"see on your computer may vary from the examples below." +"Once the import is complete, you can open the Last Import view " +"(in the sidebar) to see all photos that were imported. The Events list (also " +"in the sidebar) will also show the new photos, organized by date." msgstr "" -"Os símbolos disponíveis para o padrão de diretório começam com uma % (sinal " -"de porcentagem). Os valores produzidos são dependentes da idioma/região, de " -"modo que você vê no seu computador pode se diferente dos exemplos abaixo." - -#: C/other-files.page:38(em) -msgid "Symbol" -msgstr "Símbolo" - -#: C/other-files.page:38(em) -msgid "Meaning" -msgstr "Significado" - -#: C/other-files.page:38(em) -msgid "Example" -msgstr "Exemplo" - -#: C/other-files.page:43(p) -msgid "%Y" -msgstr "%Y" - -#: C/other-files.page:43(p) -msgid "Year: full" -msgstr "Ano (completo)" - -#: C/other-files.page:43(p) -msgid "2011" -msgstr "2011" - -#: C/other-files.page:46(p) -msgid "%y" -msgstr "%y" - -#: C/other-files.page:46(p) -msgid "Year: two digit" -msgstr "Ano (dois dígitos)" - -#: C/other-files.page:46(p) -msgid "11" -msgstr "11" - -#: C/other-files.page:49(p) -msgid "%d" -msgstr "%d" - -#: C/other-files.page:49(p) -msgid "Day of the month with leading zero" -msgstr "Dia do mês (com zero inicial)" - -#: C/other-files.page:49(p) -msgid "03" -msgstr "03" - -#: C/other-files.page:52(p) -msgid "%A" -msgstr "%A" - -#: C/other-files.page:52(p) -msgid "Day name: full" -msgstr "Nome do dia da semana (completo)" - -#: C/other-files.page:52(p) -msgid "Wednesday" -msgstr "Quarta-feira" - -#: C/other-files.page:55(p) -msgid "%a" -msgstr "%a" - -#: C/other-files.page:55(p) -msgid "Day name: abbreviated" -msgstr "Nome do dia da semana (abreviado)" - -#: C/other-files.page:55(p) -msgid "Wed" -msgstr "Qua" - -#: C/other-files.page:58(p) -msgid "%m" -msgstr "%m" - -#: C/other-files.page:58(p) -msgid "Month number with leading zero" -msgstr "Mês (com zero inicial)" - -#: C/other-files.page:58(p) -msgid "02" -msgstr "02" - -#: C/other-files.page:60(p) -msgid "%b" -msgstr "%b" - -#: C/other-files.page:60(p) -msgid "Month name: abbreviated" -msgstr "Nome do mês (abreviado)" - -#: C/other-files.page:60(p) -msgid "Feb" -msgstr "Fev" - -#: C/other-files.page:62(p) -msgid "%B" -msgstr "%B" - -#: C/other-files.page:62(p) -msgid "Month name: full" -msgstr "Nome do mês (completo)" +"Quando importação estiver concluída, você pode selecionar Última " +"importação na barra lateral para ver as fotos importadas. A lista de " +"eventos também irá mostrar novas entradas para as datas correspondentes às " +"fotos importadas." -#: C/other-files.page:62(p) -msgid "February" -msgstr "Fevereiro" +#. (itstool) path: info/desc +#: C/import-file.page:7 +msgid "Import photos that are already saved on your computer." +msgstr "Importe fotos existentes no computador." -#: C/other-files.page:63(p) -msgid "%I" -msgstr "%I" +#. (itstool) path: page/title +#: C/import-file.page:12 +msgid "Importing from your hard disk" +msgstr "Importando de seu disco rígido" -#: C/other-files.page:63(p) -msgid "Hour: 12 hour format" -msgstr "Hora (formato de 12h)" +#. (itstool) path: page/p +#: C/import-file.page:14 +msgid "" +"To import photo files from your hard disk into Shotwell, just drag them from " +"your file browser into the Shotwell window." +msgstr "" +"Para importar arquivos de seu disco rígido para o Shotwell, basta arrastá-" +"los a partir do seu navegador de arquivos para a janela do Shotwell." -#: C/other-files.page:63(p) -msgid "05" -msgstr "05" +#. (itstool) path: page/p +#: C/import-file.page:16 +msgid "" +"Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import." +msgstr "" +"Alternativamente, use o item de menu ArquivoImportar " +"da pasta... e selecione a pasta que contém as fotos que você " +"deseja importar." -#: C/other-files.page:64(p) -msgid "%H" -msgstr "%H" +#. (itstool) path: page/p +#: C/import-file.page:18 +msgid "" +"Shotwell will ask whether you want to copy the photo files to your library " +"folder (usually this is the Pictures folder in your home " +"directory) or to import them in place without copying the files." +msgstr "" +"O Shotwell irá perguntar se você deseja copiar os arquivos de fotos para a " +"pasta de biblioteca (geralmente este é a pasta Imagens no seu " +"diretório pessoal) ou importá-los do lugar, sem copiar os arquivos." -#: C/other-files.page:64(p) -msgid "Hour: 24 hour format" -msgstr "Hora (formato de 24h)" +#. (itstool) path: page/p +#: C/import-file.page:20 +msgid "" +"If you hold down Ctrl while dragging photos in, Shotwell will " +"copy the photos into your library folder without prompting. Similarly, if " +"you hold down CtrlShift while " +"dragging photos in, Shotwell will import the photos without copying them." +msgstr "" +"Se você manter pressionada a tecla Ctrl enquanto arrasta as fotos " +"para o Shotwell, ele irá copiar as fotos para a pasta de biblioteca sem te " +"perguntar. Da mesma forma, se você segurar a tecla CtrlShift enquanto arrasta fotos para o Shotwell, ele " +"vai importar as fotos do lugar sem copiá-las, sem te perguntar." -#: C/other-files.page:64(p) -msgid "17" -msgstr "17" +#. (itstool) path: page/p +#: C/import-file.page:22 +msgid "" +"Once the import is complete, you can select Last Import in the " +"sidebar to see all photos successfully imported. The Events list will also " +"show new entries for the dates corresponding to the imported photos." +msgstr "" +"Quando importação estiver concluída, você pode selecionar Última " +"importação na barra lateral para ver as fotos importadas. A lista de " +"eventos também irá mostrar novas entradas para as datas correspondentes às " +"fotos importadas." -#: C/other-files.page:66(p) -msgid "%M" -msgstr "%M" +#. (itstool) path: info/desc +#: C/import-f-spot.page:7 +msgid "" +"Shotwell can import all your photos and tags from the F-Spot photo manager." +msgstr "" +"O Shotwell pode importar todas as suas fotos e etiquetas do programa " +"gerenciador de fotos F-Spot." -#: C/other-files.page:66(p) -msgid "Minute" -msgstr "Minuto" +#. (itstool) path: page/title +#: C/import-f-spot.page:12 +msgid "Importing from F-Spot" +msgstr "Importando do F-Spot" -#: C/other-files.page:66(p) -msgid "16" -msgstr "16" +#. (itstool) path: page/p +#: C/import-f-spot.page:14 +msgid "To import an existing photo collection from F-Spot:" +msgstr "Para importar uma coleção de fotos existentes do programa F-Spot:" -#: C/other-files.page:67(p) -msgid "%S" -msgstr "%S" +# Uma entrada de menu para importar DIRETAMENTE do F-Spot não existe... +#. (itstool) path: item/p +#: C/import-f-spot.page:16 +msgid "Select FileImport From F-Spot." +msgstr "" +"Selecione ArquivoImportar do F-Spot." -#: C/other-files.page:67(p) -msgid "Second" -msgstr "Segundo" +#. (itstool) path: item/p +#: C/import-f-spot.page:17 +msgid "" +"Now choose either the default F-Spot library or another F-Spot database. If " +"importing from another F-Spot database, select a directory and file from the " +"chooser dialog box." +msgstr "" +"Escolha a biblioteca padrão do F-Spot ou outro banco de dados do F-Spot. " +"Para importar bancos d dados diferentes do padrão do F-Spot, selecione o " +"diretório e o arquivo dele." -#: C/other-files.page:67(p) -msgid "30" -msgstr "30" +#. (itstool) path: page/p +#: C/import-f-spot.page:20 +msgid "" +"Shotwell will import your photos, together with their tags and other " +"information. Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list " +"will also show new entries for the dates corresponding to the imported " +"photos." +msgstr "" +"O Shotwell vai importar suas fotos, com as suas etiquetas e outras " +"informações. Quando a importação for concluída, você pode selecionar " +"Última importação na barra lateral para ver as fotos importadas. " +"A lista de eventos também irá mostrar novas entradas para as datas " +"correspondentes às fotos importadas." -#: C/other-files.page:68(p) -msgid "%p" -msgstr "%p" +#. (itstool) path: info/desc +#: C/import-memorycard.page:7 +msgid "Import photos from a digital camera's memory card." +msgstr "Importe fotos do cartão de memória de uma câmera digital." -#: C/other-files.page:68(p) -msgid "AM or PM" -msgstr "AM ou PM" +#. (itstool) path: page/title +#: C/import-memorycard.page:12 +msgid "Importing from a memory card" +msgstr "Importando fotos de um cartão de memória" -#: C/other-files.page:68(p) -msgid "PM" -msgstr "PM" +#. (itstool) path: page/p +#: C/import-memorycard.page:14 +msgid "To import photos from a camera memory card:" +msgstr "Para importar fotos do cartão de memória de uma câmera:" -#: C/other-files.page:72(p) +#. (itstool) path: item/p +#: C/import-memorycard.page:18 msgid "" -"There are other symbols available; please check the manual for strftime by " -"running the command man strftime if you need one that isn't " -"listed here." +"Put the card into your card reader. Make sure the card reader is plugged in " +"to the computer and switched on." msgstr "" -"Existem outros símbolos disponíveis; por favor, verifique o manual do " -"\"strftime\", com o comando man strftime se você precisa de um " -"que não esteja aqui." +"Coloque o cartão no leitor de cartões de memória do computador. Certifique-" +"se de que o leitor de cartão está corretamente conectado ao computador e " +"ligado." -#: C/other-files.page:79(title) -msgid "Automatically importing photos" -msgstr "Importando fotos automaticamente" +#. (itstool) path: item/p +#: C/import-memorycard.page:21 +msgid "The card reader and card should be detected automatically." +msgstr "O cartão de memória será detectado automaticamente." -#: C/other-files.page:81(p) +#. (itstool) path: item/p +#: C/import-memorycard.page:24 msgid "" -"Shotwell can automatically import new photos which appear in the library " -"directory. (The library directory is usually the Pictures " -"directory in your home directory; you can change its location in in the " -"Preferences window.)" +"Follow the instructions for importing photos from " +"your hard disk. If you click FileImport From " +"Folder..., the memory card should be visible as a folder in " +"the side bar of the file selection window." msgstr "" -"O Shotwell pode importar novas fotos que aparecem no diretório da biblioteca " -"automaticamente. (O diretório da biblioteca é geralmente o diretório " -"Imagens em seu diretório pessoal, você ajustar isso na janela " -"de Preferências.)" +"Siga as instruções para importar fotos de seu " +"disco rígido. Se você usar o menu ArquivoImportar da pasta..., o cartão de memória deve ser " +"visível como uma pasta na barra lateral da janela de seleção de arquivos." -#: C/other-files.page:86(p) +#. (itstool) path: page/p +#: C/import-memorycard.page:28 msgid "" -"To enable auto-import, check the box Watch library directory for new " -"files in the Preferences window." +"Shotwell can import photos from any memory card that is compatible with your " +"card reader." msgstr "" -"Para habilitar a importação automática, marque a opção Monitorar " -"diretório de biblioteca por novos arquivos na janela de " -"Preferências." +"O Shotwell pode importar fotos de qualquer cartão de memória compatível com " +"o seu leitor de cartões." -#: C/other-files.page:90(p) +#. (itstool) path: page/p +#: C/import-memorycard.page:30 msgid "" -"Shotwell can also follow symbolic links inside automatically-imported " -"directories." +"If the card is not detected automatically, your card reader may not have " +"been recognized. Try unplugging it and then plugging it in again. If that " +"doesn't work, you should still be able to import photos by connecting your camera directly to the computer, " +"though." msgstr "" -"O Shotwell também pode seguir links simbólicos dentro de diretórios " -"automaticamente importados." - -#: C/other-files.page:95(title) -msgid "Automatically renaming imported photos to lowercase" -msgstr "Renomeando automaticamente fotos importadas para minúsculas" +"Se o cartão não for detectado automaticamente, o seu leitor de cartões pode " +"não ter sido reconhecido. Tente desconectá-lo e, em seguida, ligá-lo " +"novamente. Se isso não funcionar, você ainda deve conseguir importar fotos " +"conectando sua câmera no computador." -#: C/other-files.page:97(p) +#. (itstool) path: media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: C/index.page:23 +msgctxt "_" msgid "" -"Shotwell can automatically change the filenames of imported photos to " -"lowercase. To enable this, choose EditPreferences, and in the Preferences window, check the " -"Rename imported files to lowercase box." +"external ref='figures/shotwell_logo.png' " +"md5='4b333499555b4e496b1a38f7899067f3'" msgstr "" -"O Shotwell pode mudar automaticamente os nomes dos arquivos de fotos " -"importadas para minúsculas. Para habilitar isso, escolha " -"EditarPreferências e, na janela " -"Preferências, marque a opção Renomear arquivos importados " -"para letra minúscula." +"external ref='figures/shotwell_logo.png' " +"md5='4b333499555b4e496b1a38f7899067f3'" -#: C/other-files.page:107(title) -msgid "Writing metadata on the fly" -msgstr "Gravando os metadados sob demanda" +#. (itstool) path: info/title +#: C/index.page:6 +msgctxt "link" +msgid "Shotwell" +msgstr "Shotwell" + +#. (itstool) path: info/title +#: C/index.page:7 +msgctxt "text" +msgid "Shotwell" +msgstr "Shotwell" + +#. (itstool) path: credit/name +#: C/index.page:9 +msgid "Jim Nelson" +msgstr "Jim Nelson" + +#. (itstool) path: credit/name +#: C/index.page:11 +msgid "Allison Barlow" +msgstr "Allison Barlow" + +#. (itstool) path: credit/name +#: C/index.page:13 +msgid "Robert Ancell" +msgstr "Robert Ancell" + +#. (itstool) path: credit/name +#: C/index.page:15 +msgid "Peter Smith" +msgstr "Peter Smith" -#: C/other-files.page:109(p) -msgid "" -"By default, Shotwell does not modify photo files, even when you edit photos " -"or change their tags or titles. Shotwell records these changes in its own " -"database only." -msgstr "" -"Por padrão, o Shotwell não modifica arquivos de fotos, mesmo quando você " -"editar fotos ou alterar suas etiquetas ou títulos. O Shotwell registra essas " -"mudanças apenas no seu próprio banco de dados." +#. (itstool) path: credit/name +#: C/index.page:17 +msgid "Phil Bull" +msgstr "Phil Bull" -#: C/other-files.page:112(p) +#. (itstool) path: page/title +#: C/index.page:23 msgid "" -"To change this behavior, you can enable the checkbox Write tags, titles " -"and other metadata to photo files in the Preferences " -"dialog. When this option is enabled, Shotwell will write the following " -"metadata to most photo files whenever you change it in Shotwell:" +"Shotwell Photo " +"Manager" msgstr "" -"Para alterar esse comportamento, você pode marcar a opção Gravar " -"etiquetas, títulos e outros metadados para arquivos de fotos na janela " -"Preferências. Quando essa opção é ativada, o Shotwell grava os " -"seguintes metadados para a maioria dos arquivos de fotos sempre que você " -"alterá-la no Shotwell:" +"Gerenciador de " +"fotos Shotwell" -#: C/other-files.page:118(p) -msgid "titles" -msgstr "títulos" +#. (itstool) path: section/title +#: C/index.page:26 +msgid "Importing Photos" +msgstr "Importando fotos" -#: C/other-files.page:119(p) -msgid "tags" -msgstr "etiquetas" +#. (itstool) path: section/title +#: C/index.page:30 +msgid "Viewing Photos" +msgstr "Visualizando fotos" -#: C/other-files.page:120(p) -msgid "ratings" -msgstr "avaliações" +#. (itstool) path: section/title +#: C/index.page:34 +msgid "Organizing Photos" +msgstr "Organizando as fotos" -#: C/other-files.page:121(p) -msgid "rotation information" -msgstr "informações sobre rotação" +#. (itstool) path: section/title +#: C/index.page:38 +msgid "Editing Photos" +msgstr "Editando fotos" -#: C/other-files.page:122(p) -msgid "time/date" -msgstr "data/hora" +#. (itstool) path: section/title +#: C/index.page:42 +msgid "Sharing Photos" +msgstr "Compartilhando fotos" + +#. (itstool) path: section/title +#: C/index.page:46 +msgid "Other Features" +msgstr "Outras funcionalidades" -#: C/other-files.page:125(p) +#. (itstool) path: info/desc +#: C/organize-event.page:7 msgid "" -"Shotwell stores this information in photo files in EXIF, IPTC and/or XMP " -"format. Note that Shotwell can write only to photo files in JPEG, PNG and " -"TIFF format, not to BMP photos, RAW photos or to video files." +"Group photos together that were taken at the same time. Learn how to rename, " +"merge, and sort events." msgstr "" -"O Shotwell armazena essas informações em arquivos de fotos nos formatos " -"EXIF, IPTC e/ou XMP. Note que o Shotwell pode escrever apenas em arquivos de " -"fotos em JPEG, PNG e TIFF, e não em fotos BMP, em fotos RAW ou em arquivos " -"de vídeo." +"Agrupa fotos que foram tiradas na mesma época. Saiba como mudar o nome, " +"mesclar e classificar eventos." -#: C/other-files.page:133(title) -msgid "Runtime monitoring" -msgstr "Monitoramento em tempo de execução" +#. (itstool) path: page/title +#: C/organize-event.page:12 +msgid "Events" +msgstr "Eventos" -#: C/other-files.page:135(p) +#. (itstool) path: page/p +#: C/organize-event.page:14 msgid "" -"While Shotwell is running, it notices changes made to any photo file " -"externally. When a photo file changes, Shotwell rereads the file and updates " -"your view of the photo and metadata." +"An event is a group of photos that were taken at approximately the same " +"time. When you import photos, Shotwell checks when each photo was taken. It " +"then groups the photos into events." msgstr "" -"Enquanto o Shotwell é executado, ele percebe as alterações feitas em " -"arquivos de sua biblioteca externamente. Quando uma foto é alterada, o " -"Shotwell relê o arquivo e atualiza a sua visão da foto e de seus metadados." +"Um evento é um grupo de fotos que foram tiradas aproximadamente ao mesmo " +"tempo. Quando você importar fotos, o Shotwell verifica a data em que cada " +"foto foi tirada e agrupa as fotos em eventos." -#: C/other-files.page:139(p) +#. (itstool) path: page/p +#: C/organize-event.page:16 msgid "" -"Note that Shotwell checks all photo files for changes at startup, but only " -"photo files contained in the library directory are monitored in real time " -"after startup. We hope to remove this limitation in a further release." +"Choose Events from the sidebar to see your photos organized by " +"date. If you select a month or year from the sidebar, a list of events will " +"be displayed in the main window. Double-click an event to see all the photos " +"that were taken around that time." msgstr "" -"Note que o Shotwell verifica todos os arquivos de sua biblioteca na " -"inicialização, mas apenas arquivos de fotos contidas no diretório da " -"biblioteca são monitorados em tempo real, após a inicialização. Esperamos " -"remover esta limitação em uma nova versão." +"Clique na visão Eventos da barra lateral para ver as suas fotos " +"organizadas por data. Se você selecionar um mês ou um ano a partir da barra " +"lateral, uma lista de eventos será exibido na janela principal. Clique duas " +"vezes em um evento para ver todas as fotos que dele." -#: C/organize-title.page:7(desc) -msgid "Give titles to your photos." -msgstr "Dê títulos às suas fotos." +#. (itstool) path: page/p +#: C/organize-event.page:18 +msgid "" +"If a photo has no embedded date/time information, then Shotwell can't " +"automatically place it in any event. In this case the photo will appear in " +"the No Event view accessible from the sidebar. You can still move " +"the photo to any event you like as described below." +msgstr "" +"Se uma foto não tem nenhuma informação de data/hora incorporadas, o Shotwell " +"não consegue colocá-la automaticamente em um evento. Neste caso, a foto " +"aparecerá no item Nenhum Evento da visão de eventos, acessível na " +"barra lateral. Você ainda pode mover a foto para outro evento, se " +"necessário, como descrito abaixo." -#: C/organize-title.page:12(title) -msgid "Titles" -msgstr "Títulos" +#. (itstool) path: section/title +#: C/organize-event.page:25 +msgid "Renaming events" +msgstr "Renomeando eventos" -#: C/organize-title.page:14(p) +# Duplo clique não funciona. Traduzido para o atalho válido de tecla F2. +#. (itstool) path: section/p +#: C/organize-event.page:27 msgid "" -"The ViewTitles checkbox toggles the " -"display of titles beneath each photo. By default, a photo's title is its " -"filename." +"To give an event a name rather than referring to it by its date, select the " +"event, click EventsRename Event... " +"and enter a new name. Another way of renaming an event is to double-click " +"its name in the sidebar; type a new name and then press Enter." msgstr "" -"A caixa de seleção VerTítulos alterna " -"a exibição de títulos abaixo de cada foto. Por padrão, o título de uma foto " -"é seu nome de arquivo." +"Para dar a um evento um nome ao invés de se referir a ele pela sua data, " +"selecione o evento e use o item de menu EventosRenomear evento... e digite um novo nome para o " +"evento. Outras formas de mudar o nome de um evento é pressionar a tecla F2 " +"ou clicar com o botão direito (e usar o menu de contexto) em seu nome na " +"barra lateral; digite um novo nome e pressione Enter." + +#. (itstool) path: section/title +#: C/organize-event.page:31 +msgid "Moving photos between events" +msgstr "Movendo fotos entre eventos" -#: C/organize-title.page:17(p) -#| msgid "" -#| "To change a photo's title, select the photo and click " -#| "PhotosEdit Title, or press " -#| "F2." +#. (itstool) path: section/p +#: C/organize-event.page:33 msgid "" -"To change a photo's title, select the photo and click PhotosEdit Title..., or press F2." +"Even though photos are initially grouped into events by their date, you can " +"move photos between events. To do this, drag any photo to the sidebar and " +"drop it on an event." msgstr "" -"Para alterar o título de uma foto, selecione a foto e clique em " -"FotosEditar título..., ou pressione a " -"tecla F2." - -#: C/organize-tag.page:7(desc) -msgid "Organize photos by labelling them." -msgstr "Organize suas fotos com rótulos." +"As fotos são inicialmente agrupadas em eventos por data, mas você pode mover " +"fotos entre eventos. Para isso, arraste qualquer foto e solte-a sobre outro " +"evento na barra lateral." -#: C/organize-tag.page:14(title) -msgid "Tagging photos" -msgstr "Etiquetando fotos" +#. (itstool) path: section/title +#: C/organize-event.page:37 +msgid "Creating and merging events" +msgstr "Criando e unindo eventos" -#: C/organize-tag.page:16(p) +#. (itstool) path: section/p +#: C/organize-event.page:38 msgid "" -"You can assign one or more tags to selected photos. A tag can be one or more " -"words that you want to associate with those photos." +"To create a new event, select the photos you would like in the new event and " +"click EventsNew Event." msgstr "" -"Você pode atribuir uma ou mais etiquetas para as fotos selecionadas. Uma " -"etiqueta é composta de uma ou mais palavras que serão associadas às fotos." +"Para criar um novo evento, selecione as fotos dele o novo evento e use o " +"item do menu EventosNovo evento." -#: C/organize-tag.page:22(p) +#. (itstool) path: section/p +#: C/organize-event.page:39 msgid "" -"To add new tags to photos, select the photos you would like to tag, then do " -"any of the following:" +"To merge events, select Events from the sidebar, " +"then, while holding down Ctrl click on the events you want to " +"merge in the main window area. Finally, click EventsMerge Events." msgstr "" -"Para adicionar novas etiquetas nas fotos, selecione as fotos que você " -"gostaria de etiquetar, e:" +"Para unir eventos, selecione Eventos da barra " +"lateral e, mantendo a tecla Ctrl pressionada clique sobre os " +"eventos que deseja unir na janela principal. Com os eventos selecionados, " +"use o item do menu EventosUnir eventos." -#: C/organize-tag.page:28(p) -#| msgid "Choose TagsAdd Tags." -msgid "Choose TagsAdd Tags...." +#. (itstool) path: section/title +#: C/organize-event.page:43 +msgid "Sorting events" +msgstr "Ordenando Eventos" + +#. (itstool) path: section/p +#: C/organize-event.page:45 +msgid "" +"Events are displayed in a tree in the sidebar, organized by the year and " +"month of the earliest photo in the event. To change the event sort order, " +"click ViewSort Events and select " +"either ascending or descending." msgstr "" -"Use o item de menu EtiquetasAdicionar " -"etiquetas...." +"Os eventos são exibidos em uma árvore na barra lateral, organizados pelo ano " +"e mês da foto mais antiga no evento. Para alterar a ordenação dos eventos, " +"use o item do menu VerOrdenar eventos " +"e selecione Ascendente ou Descendente." -#: C/organize-tag.page:29(p) -msgid "Type CtrlT." -msgstr "Pressione as teclas CtrlT." +#. (itstool) path: section/title +#: C/organize-event.page:51 +msgid "Change the photo used to represent each event" +msgstr "Mude a foto usada para representar cada evento" -#: C/organize-tag.page:30(p) -msgid "Drag the selected photos and drop them on the desired tag." -msgstr "Arraste as fotos selecionadas até etiqueta desejada, na barra lateral." +#. (itstool) path: section/p +#: C/organize-event.page:53 +msgid "" +"If you select the Events item in the sidebar, you'll see a single " +"photo which represents each event. This is called the key photo." +msgstr "" +"Se você selecionar o item Eventos na barra lateral, você verá uma " +"única foto que representa cada evento. Ela é chamada de \"foto chave\" do " +"evento (também chamada de \"foto de capa\" em alguns serviços de publicação)." -#: C/organize-tag.page:33(p) -#| msgid "" -#| "When you use CtrlT or " -#| "TagsAdd Tags you can type in the " -#| "names of one or more tags, separated by commas. Once you have created a " -#| "tag, you can rename it by selecting that tag in the sidebar and choosing " -#| "TagsRename Tag \"[name]\", by " -#| "rightclicking on it and choose Rename... or double-click on " -#| "the tag in the sidebar." +#. (itstool) path: section/p +#: C/organize-event.page:55 msgid "" -"When you use CtrlT or " -"TagsAdd Tags... you can type in the " -"names of one or more tags, separated by commas. Once you have created a tag, " -"you can rename it by selecting that tag in the sidebar and choosing " -"TagsRename Tag \"[name]\"..., by " -"rightclicking on it and choose Rename... or double-click on the " -"tag in the sidebar." +"By default, Shotwell uses the first photo in each event as its key photo. To " +"use a different key photo, select the photo and choose PhotosMake Key Photo for Event." msgstr "" -"Quando você usa o CtrlT ou " -"EtiquetasAdicionar etiquetas... você " -"poderá digitar os nomes de uma ou mais etiquetas, separados por vírgulas. " -"Depois de ter criado uma etiqueta, você pode renomeá-la selecionando essa " -"etiqueta na barra lateral e escolher Etiquetas" -"Renomear etiqueta \"[nome]\"..., ou clicar com o botão " -"direito nela e usar o item Renomear... no menu de contexto, ou " -"ainda clicar duas vezes sobre a etiqueta na barra lateral." - -#: C/organize-tag.page:44(p) -#| msgid "" -#| "To change which tags are associated with a particular photo, select that " -#| "photo, choose TagsModify Tags or " -#| "right-click on a photo and select Modify Tags and edit the " -#| "comma separated list. To remove a tag from one or more photos, first " -#| "select that tag in the sidebar, then select the photos you would like to " -#| "remove, and choose TagsRemove Tag \"[name]\" from " -#| "Photos or right-click on the photos an select Remove " -#| "Tag \"[name]\" from Photos." +"Por padrão, o Shotwell usa a primeira foto de cada evento como a sua foto " +"chave. Para usar uma foto de chave diferente, selecione a foto e use o item " +"do menu FotosDesignar foto como chave para evento." + +#. (itstool) path: info/desc +#: C/organize-flag.page:7 +msgid "Flag photos to mark them as special or to work with them as a set." +msgstr "" +"Marque fotos para sinalizá-las como algo especial ou para trabalhar com elas " +"depois conjuntamente." + +#. (itstool) path: page/title +#: C/organize-flag.page:12 +msgid "Flagging photos" +msgstr "Marcando fotos" + +#. (itstool) path: page/p +#: C/organize-flag.page:14 msgid "" -"To change which tags are associated with a particular photo, select that " -"photo, choose TagsModify Tags... or " -"right-click on a photo and select Modify Tags... and edit the " -"comma separated list. To remove a tag from one or more photos, first select " -"that tag in the sidebar, then select the photos you would like to remove, " -"and choose TagsRemove Tag \"[name]\" from Photos or right-click on the photos an select Remove Tag " -"\"[name]\" from Photos." +"Shotwell lets you flag photos. When a photo is flagged, a small " +"flag icon appears in its upper right corner. You can select the " +"Flagged item in the sidebar to see all photos which have been " +"flagged." msgstr "" -"Para alterar quais as etiquetas que estão associados a uma determinada foto, " -"selecione a foto e use o item de menu Etiquetas" -"Modificar etiquetas... ou clique com o botão direito do mouse " -"na foto e use o item do menu de contexto Modificar etiquetas... e " -"altere a lista separada por vírgulas. Para remover uma etiqueta de uma ou " -"mais fotos, selecione primeiro a etiqueta na barra lateral, em seguida " -"selecione as fotos de que você deseja tirar a etiqueta, e use o item de menu " -"EtiquetasRemover a etiqueta \"[nome]\" das " -"fotos ou clique com o botão direito sobre as fotos e use o " -"item Remover a etiqueta \"[nome]\" das fotos do menu de contexto." +"O Shotwell permite que você marque fotos. Quando uma foto é " +"marcada, um pequeno ícone de bandeira aparece no canto superior direito " +"dela. Você pode selecionar o item Marcada na barra lateral para " +"ver todas as fotos que foram marcadas." -#: C/organize-tag.page:58(p) +#. (itstool) path: page/p +#: C/organize-flag.page:18 msgid "" -"To delete a tag entirely, select that tag in the sidebar and choose " -"TagsDelete Tag \"[name]\" or by right-" -"click and select Delete Tag \"[name]\"." +"Flagging a photo marks it as special. You can interpret this in any way you " +"like. For example, you might flag all photos which need visual adjustment, " +"or all photos which you want to share with a friend." msgstr "" -"Para apagar uma etiqueta completamente, selecione a etiqueta na barra " -"lateral e use o item de menu EtiquetasApagar " -"etiqueta \"[nome]\" ou clique com o botão direito na etiqueta " -"e use o item Apagar etiqueta \"[nome] do menu de contexto." +"Marcar uma foto a sinaliza como \"especial\". Você pode interpretar isso " +"como quiser. Por exemplo, você pode marcar todas as fotos que precisam de " +"ajuste visual ou todas as fotos que você deseja mandar para um amigo." -#: C/organize-tag.page:64(p) -#| msgid "" -#| "When you create a tag, it will appear in the sidebar under the Tags item, " -#| "which is hidden if there are no tags. Photos can have multiple tags " -#| "attached to them, and when you click on the name of a given tag in the " -#| "sidebar, you will see all the photos associated with that tag." +#. (itstool) path: page/p +#: C/organize-flag.page:22 msgid "" -"When you create a tag, it will appear in the sidebar under the Tags item, which is hidden if there are no tags. Photos can have multiple " -"tags attached to them, and when you click on the name of a given tag in the " -"sidebar, you will see all the photos associated with that tag." +"Flagging is also useful because you can operate on all flagged photos as a " +"set. For example, you can select the Flagged view and then upload " +"all flagged photos to a publishing service." msgstr "" -"Quando você cria uma etiqueta, ela aparece na barra lateral sob o item " -"Etiquetas, que não aparece se não existe pelo menos uma etiqueta. " -"As fotos podem ter várias etiquetas associadas a elas, e quando você clicar " -"sobre o nome de uma etiqueta na barra lateral, você vai ver todas as fotos " -"associadas a essa etiqueta." +"Marcar também é útil para sinalizar todas as fotos conjunto a ser " +"trabalhado. Por exemplo, você pode selecionar o modo de exibição de fotos " +"Marcadas e, em seguida, enviar elas para um serviço de publicação." -#: C/organize-tag.page:73(title) -msgid "Hierarchical Tags" -msgstr "Etiquetas hierárquicas" +#. (itstool) path: section/title +#: C/organize-flag.page:27 +msgid "To flag or unflag a photo" +msgstr "Para marcar ou desmarcar uma foto" -#: C/organize-tag.page:74(p) +#. (itstool) path: section/p +#: C/organize-flag.page:28 msgid "" -"Shotwell supports also hierarchial tags. You can rearrange your tags by drag " -"and drop a tag onto another. To create a new subtag right-click on a tag and " -"select New." +"To flag or unflag a photo, right-click the photo and choose Flag " +"or Unflag from the context menu. Or use the CtrlG or / shortcut keys." msgstr "" -"O Shotwell oferece suporte a hierarquia entre etiquetas. Você pode " -"reorganizar suas etiquetas arrastando e soltando uma etiqueta sobre outra. " -"Para criar uma nova subetiqueta clique com o botão direito numa etiqueta e " -"use o item Nova no menu de contexto." +"Para marcar ou desmarcar de uma foto, clique com o botão direito do mouse na " +"foto e use os itens Marcar ou Desmarcar do menu de " +"contexto. Ou use as teclas de atalho CtrlG ou /." -#: C/organize-tag.page:81(p) +#. (itstool) path: info/desc +#: C/organize-rating.page:7 msgid "" -"Hierarchial tags can help you to sort your tag list in ways that better " -"match how you work or think; for example, you can store location tags like " -"\"Mountains\" or \"Beach\" under a parent tag \"Places\", which itself can " -"be placed under the tag \"Summer Holidays\"." -msgstr "" -"Etiquetas hierárquica ajudam a organizar sua lista de etiquetas da forma que " -"melhor corresponder à forma como você trabalha ou pensa; por exemplo, você " -"pode armazenar a localização em etiquetas como \"Montanha\" ou \"Praia\" " -"dentro de uma etiqueta-pai \"Lugares\", que podem ser colocados sob a " -"etiqueta \"Férias de Verão\"." - -#: C/organize-tag.page:89(p) -msgid "Note that deleting a parent tag will also delete its child tags." +"Give photos a rating between 1 and 5 stars. You can reject bad photos, " +"hiding them from view." msgstr "" -"Note que apagar uma etiqueta-pai também vai apagar suas etiquetas-filhas." - -#: C/organize-search.page:7(desc) -msgid "Find photos and videos in your collection by a variety of criteria." -msgstr "Encontre fotos e vídeos em sua coleção por vários critérios." +"Dê às fotos uma avaliação entre 1 e 5 estrelas. Você pode tirar fotos ruins " +"da visão." -#: C/organize-search.page:12(title) -msgid "Searching" -msgstr "Pesquisando" +#. (itstool) path: page/title +#: C/organize-rating.page:12 +msgid "Ratings" +msgstr "Avaliações" -#: C/organize-search.page:14(p) +#. (itstool) path: page/p +#: C/organize-rating.page:13 msgid "" -"There are two ways to search in Shotwell: the filter toolbar, and with a " -"saved search. The search bar allows you to quickly search the current view " -"for certain criteria. Saved Searches feature more complex search criteria " -"and persist in the sidebar between sessions." +"You can assign each photo a rating from 1-5 stars, or may alternatively rate " +"it as Rejected, in which case Shotwell will hide the photo by default." msgstr "" -"Há duas maneiras de pesquisar no Shotwell: usando a barra de pesquisa, e com " -"uma pesquisa salva. A barra de pesquisa permite-lhe filtrar rapidamente os " -"itens da visão atual sob determinados critérios. As pesquisa salvas " -"apresentam critérios de pesquisa mais complexos e ficam na barra lateral " -"depois de criadas." +"Você pode atribuir a cada foto uma avaliação de 1-5 estrelas, ou pode " +"classificá-la como Rejeitada, caso em que o Shotwell irá esconder a foto por " +"padrão." -#: C/organize-search.page:21(title) -msgid "Search bar" -msgstr "Barra de pesquisa" +#. (itstool) path: page/p +#: C/organize-rating.page:15 +msgid "You can rate a photo or a set of photos in any of these ways:" +msgstr "" +"Você pode avaliar uma foto ou um conjunto de fotos com uma das seguintes " +"formas:" -#: C/organize-search.page:22(p) +#. (itstool) path: item/p +#: C/organize-rating.page:18 msgid "" -"The ViewSearch Bar checkbox toggles " -"the display of the search bar. You can also hit CtrlF or F8 to bring up the search bar. From " -"this bar, you can find, show and hide photos and videos based on title, tag, " -"rating or other options." +"Select the photo(s), then choose a rating from the top-level " +"PhotosSet Rating menu." msgstr "" -"A opção do menu VerBarra de pequisa " -"alterna a exibição da barra de pesquisa. Você também pode pressionar as " -"teclas CtrlF ou F8 para " -"abrir a barra de pesquisa. A partir desta barra, você pode filtrar, mostrar " -"e esconder suas fotos e vídeos baseados em título, etiquetas, avaliação ou " -"outras opções." +"Selecione a(s) foto(s) e, em seguida, defina uma avaliação usando o item do " +"menu FotosAvaliar." -#: C/organize-search.page:29(p) +#. (itstool) path: item/p +#: C/organize-rating.page:19 msgid "" -"To begin searching, simply enter a search keyword in the text box, or click " -"on Flagged, Rating or Type. The text search " -"matches your keywords across tag names, photo or video titles and photos' " -"original filenames. The Flagged, Rating and Type buttons allow you to filter your collection by whether photos are " -"flagged, their current number of stars, and whether the items shown are " -"images, videos, or raw camera files, respectively." +"Right-click on the photo(s), then choose a rating from the Set Rating " +"context menu." msgstr "" -"Para iniciar um filtro, basta digitar algo na caixa de texto, clicar em " -"Marcada, escolher a Avaliação ou Tipo. " -"Serão filtrados os itens da visão atual que correspondam aos critérios da " -"pesquisa (o texto da pesquisa é verificado em etiquetas, títulos e nomes de " -"arquivos das fotos e vídeos)." +"Clique com o botão direito do mouse sobre a(s) foto(s) e use o item \"Avaliar" +"\" do menu de contexto." -#: C/organize-search.page:38(p) +#. (itstool) path: item/p +#: C/organize-rating.page:20 msgid "" -"Disabling the search bar or exiting Shotwell automatically resets the search " -"bar." +"Select the photo(s), then press any of the shortcut keys 1, " +"2, 3, 4 or 5 to assign a rating. " +"Or press 9 to mark the photo(s) as rejected or 0 to " +"clear the rating(s)." msgstr "" -"Desabilitar a barra de pesquisa ou sair do Shotwell retira automaticamente o " -"filtro definido nela." - -#: C/organize-search.page:44(title) -msgid "Saved search" -msgstr "Pesquisa salva" +"Selecione a(s) foto(s) e, em seguida, pressione qualquer uma das teclas de " +"atalho 1, 2, 3, 4 ou 5 para atribuir uma avaliação. Ou pressione 9 para marcar a(s) " +"foto(s) como \"rejeitada(s)\" ou 0 para apagar a(s) avaliações(s)." -#: C/organize-search.page:45(p) +#. (itstool) path: page/p +#: C/organize-rating.page:23 msgid "" -"A saved search persists across Shotwell sessions, and is updated as photos " -"and videos are added and removed from your Shotwell library." +"Normally Shotwell displays all photos except rejected photos. You can set a " +"different rating filter using the ViewFilter Photos menu - for example, you can display only photos rated with 3 " +"stars or higher, or you can display all photos including those marked " +"rejected. The Shotwell icon on the toolbar displays the current rating " +"filter and can also be used to set the filter." msgstr "" -"Uma pesquisa salva persiste entre as sessões do Shotwell, e é atualizada " -"como fotos e vídeos adicionados, removidos ou alterados de sua biblioteca." +"Normalmente o Shotwell exibe todas as fotos exceto fotos rejeitadas. Você " +"pode definir um filtro de classificação diferente usando o item de menu " +"VerFiltrar fotos - por exemplo, você " +"pode exibir somente fotos avaliado com 3 estrelas ou mais, ou você pode " +"exibir todas as fotos, incluindo aquelas marcadas como \"rejeitadas\". A " +"barra de pesquisa do Shotwell aparece mostrando o filtro atual e também pode " +"ser usada para alterá-lo." -#: C/organize-search.page:50(p) -#| msgid "" -#| "Create a new saved search with EditNew Search or by hitting CtrlS. " -#| "The dialog box allows you to enter a name for the search and select " -#| "whether you want to meet Any, All, or None of the criteria in the " -#| "following rows." +#. (itstool) path: page/p +#: C/organize-rating.page:26 msgid "" -"Create a new saved search with EditNew Saved " -"Search... or by hitting CtrlS. The dialog box allows you to enter a name for the search and select " -"whether you want to meet Any, All, or None of the criteria in the following " -"rows." +"Shotwell normally displays each photo's rating in its lower left-hand " +"corner. You can turn off the display of ratings using the ViewRatings menu item." msgstr "" -"Crie uma nova pesquisa salva usando o item do menu " -"EditarNova pesquisa salva... ou " -"pressionando as teclas CtrlS. A caixa " -"de diálogo exibida permite que você digite um nome para a pesquisa e " -"selecionar como são verificadas as combinações dos critérios nas linhas " -"seguintes: \"todos\", \"qualquer\" ou \"nenhum\"." +"O Shotwell normalmente exibe a avaliação de cada foto em seu canto inferior " +"esquerdo. Você pode desativar a exibição das avaliações usando o a opção do " +"menu VerAvaliações." -#: C/organize-search.page:56(p) -#| msgid "" -#| "Each row represents a search criterion. Use the + button to add more " -#| "rows, and the - button to remove a specific row. The combo box on the " -#| "left of each row selects the type of criteria. Criteria must be entered " -#| "correctly before the OK button becomes available." +#. (itstool) path: page/p +#: C/organize-rating.page:28 msgid "" -"Each row represents a search criterion. Use the + button to add " -"more rows, and the - button to remove a specific row. The combo " -"box on the left of each row selects the type of criteria. Criteria must be " -"entered correctly before the OK button becomes available." +"You can increase or decrease a photo's rating using the Set " +"RatingIncrease and Set RatingDecrease commands, or the keyboard shortcuts " +"< and >." msgstr "" -"Cada linha representa um critério de pesquisa. Use o botão + para " -"adicionar mais linhas, e o botão - da direita das linhas para " -"removê-las. Do lado esquerdo de cada linha há listas para selecionar o tipo " -"da pesquisa. O botão OK só fica disponível quando os critérios " -"são válidos." +"Você pode aumentar ou diminuir a avaliação de uma foto usando o item do menu " +"FotoAvaliarAumentar e " +"FotoAvaliarDiminuir, ou os " +"atalhos de teclado < e >." -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: C/organize-remove.page:15(None) +#. (itstool) path: media +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: C/organize-remove.page:15 +msgctxt "_" msgid "" -"@@image: 'figures/trash_process.png'; md5=ed596bda34c2f4a79a310fbc8bb51fd2" +"external ref='figures/trash_process.png' " +"md5='ed596bda34c2f4a79a310fbc8bb51fd2'" msgstr "" -"@@image: 'figures/trash_process.png'; md5=ed596bda34c2f4a79a310fbc8bb51fd2" +"external ref='figures/trash_process.png' " +"md5='ed596bda34c2f4a79a310fbc8bb51fd2'" -#: C/organize-remove.page:7(desc) +#. (itstool) path: info/desc +#: C/organize-remove.page:7 msgid "" "Remove photos from the library, or delete them from your computer entirely." msgstr "Remova fotos da biblioteca, ou apague-as do seu computador." -#: C/organize-remove.page:12(title) +#. (itstool) path: page/title +#: C/organize-remove.page:12 msgid "Removing and deleting photos" msgstr "Removendo e apagando fotos" -#: C/organize-remove.page:14(p) +#. (itstool) path: page/p +#: C/organize-remove.page:14 msgid "" "You may remove photos from your library and you may additionally delete them " "entirely from your hard disk." msgstr "" "Você pode remover fotos de sua biblioteca e/ou apagá-las de seu disco rígido." -#: C/organize-remove.page:15(media) +#. (itstool) path: page/media +#: C/organize-remove.page:15 msgid "Delete process" msgstr "Processo de exclusão" -#: C/organize-remove.page:16(p) +#. (itstool) path: page/p +#: C/organize-remove.page:16 msgid "" "This diagram shows how a photo, when deleted, is first put into Shotwell's " "trash. If you delete it from Shotwell's trash, it is put into your " @@ -1550,11 +1532,13 @@ msgstr "" "colocado na lixeira do computador. Se você apagá-la da lixeira do seu " "computador a foto é finalmente e irremediavelmente apagada do seu computador." -#: C/organize-remove.page:18(title) +#. (itstool) path: section/title +#: C/organize-remove.page:18 msgid "Removing photos from the library" msgstr "Removendo fotos da biblioteca" -#: C/organize-remove.page:19(p) +#. (itstool) path: section/p +#: C/organize-remove.page:19 msgid "" "Select the photos to remove and choose EditMove to " "Trash. (You can also press the Delete key.) The " @@ -1565,7 +1549,8 @@ msgstr "" "tecla Delete). As fotos serão movidos de sua biblioteca para a " "Lixeira do Shotwell." -#: C/organize-remove.page:22(p) +#. (itstool) path: section/p +#: C/organize-remove.page:22 msgid "" "If you want to remove photos from Shotwell without having them pass through " "the trash, simply select the photos to be removed and choose " @@ -1577,11 +1562,13 @@ msgstr "" "gui>Remover da biblioteca. Os arquivos vão continuar no " "seu disco rígido." -#: C/organize-remove.page:26(title) +#. (itstool) path: section/title +#: C/organize-remove.page:26 msgid "Emptying or restoring the trash folder" msgstr "Esvaziando a lixeira ou restaurando itens" -#: C/organize-remove.page:27(p) +#. (itstool) path: section/p +#: C/organize-remove.page:27 msgid "" "Select the Trash entry in the Sidebar and Shotwell will display all photos " "that have been marked for removal or deletion. In the Trash view, the " @@ -1591,35 +1578,43 @@ msgstr "" "foram marcadas para remoção ou exclusão. Na visão da lixeira, os seguintes " "comandos estarão disponíveis:" -#: C/organize-remove.page:29(title) +#. (itstool) path: item/title +#: C/organize-remove.page:29 msgid "Delete" msgstr "Apagar" -#: C/organize-remove.page:29(p) +#. (itstool) path: item/p +#: C/organize-remove.page:29 msgid "Delete the selected photos from the trash folder." msgstr "Remove as fotos selecionadas da lixeira." -#: C/organize-remove.page:30(title) +#. (itstool) path: item/title +#: C/organize-remove.page:30 msgid "Restore" msgstr "Restaurar" -#: C/organize-remove.page:30(p) +#. (itstool) path: item/p +#: C/organize-remove.page:30 msgid "Restore the selected photos into Shotwell." msgstr "Restaura as fotos selecionada para biblioteca do Shotwell." -#: C/organize-remove.page:31(title) +#. (itstool) path: item/title +#: C/organize-remove.page:31 msgid "Empty trash" msgstr "Esvaziar lixeira" -#: C/organize-remove.page:31(p) +#. (itstool) path: item/p +#: C/organize-remove.page:31 msgid "Delete all photos from the trash folder." msgstr "Remove todas as fotos da lixeira." -#: C/organize-remove.page:36(title) +#. (itstool) path: section/title +#: C/organize-remove.page:36 msgid "Deleting or emptying Trash" msgstr "Excluindo arquivos ou limpando a lixeira" -#: C/organize-remove.page:37(p) +#. (itstool) path: section/p +#: C/organize-remove.page:37 msgid "" "When you delete files from the Trash folder or empty the Trash folder, you " "will be given the following choices:" @@ -1627,11 +1622,13 @@ msgstr "" "Ao excluir arquivos da lixeira (ou esvaziá-la), você terá as seguintes " "opções:" -#: C/organize-remove.page:39(title) +#. (itstool) path: item/title +#: C/organize-remove.page:39 msgid "Only Remove" msgstr "Remover da biblioteca" -#: C/organize-remove.page:39(p) +#. (itstool) path: item/p +#: C/organize-remove.page:39 msgid "" "Remove photos from the library but leave the photos in their location on the " "computer." @@ -1639,1346 +1636,1679 @@ msgstr "" "Remove fotos da biblioteca, mas deixa seus arquivos em sua localização no " "computador." -#: C/organize-remove.page:40(title) +#. (itstool) path: item/title +#: C/organize-remove.page:40 msgid "Trash file" msgstr "Remover e apagar arquivo(s)" -#: C/organize-remove.page:40(p) +#. (itstool) path: item/p +#: C/organize-remove.page:40 msgid "Remove photos from the library and delete them from the computer." msgstr "Remove arquivos da biblioteca e apaga do seu computador." -#: C/organize-remove.page:41(title) +#. (itstool) path: item/title +#: C/organize-remove.page:41 msgid "Cancel" msgstr "Cancelar" -#: C/organize-remove.page:41(p) +#. (itstool) path: item/p +#: C/organize-remove.page:41 msgid "Do nothing." msgstr "Não faz nada." -#: C/organize-rating.page:7(desc) +#. (itstool) path: info/desc +#: C/organize-search.page:7 +msgid "Find photos and videos in your collection by a variety of criteria." +msgstr "Encontre fotos e vídeos em sua coleção por vários critérios." + +#. (itstool) path: page/title +#: C/organize-search.page:12 +msgid "Searching" +msgstr "Pesquisando" + +#. (itstool) path: page/p +#: C/organize-search.page:14 msgid "" -"Give photos a rating between 1 and 5 stars. You can reject bad photos, " -"hiding them from view." +"There are two ways to search in Shotwell: the filter toolbar, and with a " +"saved search. The search bar allows you to quickly search the current view " +"for certain criteria. Saved Searches feature more complex search criteria " +"and persist in the sidebar between sessions." msgstr "" -"Dê às fotos uma avaliação entre 1 e 5 estrelas. Você pode tirar fotos ruins " -"da visão." +"Há duas maneiras de pesquisar no Shotwell: usando a barra de pesquisa, e com " +"uma pesquisa salva. A barra de pesquisa permite-lhe filtrar rapidamente os " +"itens da visão atual sob determinados critérios. As pesquisa salvas " +"apresentam critérios de pesquisa mais complexos e ficam na barra lateral " +"depois de criadas." -#: C/organize-rating.page:12(title) -msgid "Ratings" -msgstr "Avaliações" +#. (itstool) path: section/title +#: C/organize-search.page:21 +msgid "Search bar" +msgstr "Barra de pesquisa" + +#. (itstool) path: section/p +#: C/organize-search.page:22 +msgid "" +"The ViewSearch Bar checkbox toggles " +"the display of the search bar. You can also hit CtrlF or F8 to bring up the search bar. From " +"this bar, you can find, show and hide photos and videos based on title, tag, " +"rating or other options." +msgstr "" +"A opção do menu VerBarra de pequisa " +"alterna a exibição da barra de pesquisa. Você também pode pressionar as " +"teclas CtrlF ou F8 para " +"abrir a barra de pesquisa. A partir desta barra, você pode filtrar, mostrar " +"e esconder suas fotos e vídeos baseados em título, etiquetas, avaliação ou " +"outras opções." + +#. (itstool) path: section/p +#: C/organize-search.page:29 +msgid "" +"To begin searching, simply enter a search keyword in the text box, or click " +"on Flagged, Rating or Type. The text search " +"matches your keywords across tag names, photo or video titles and photos' " +"original filenames. The Flagged, Rating and Type buttons allow you to filter your collection by whether photos are " +"flagged, their current number of stars, and whether the items shown are " +"images, videos, or raw camera files, respectively." +msgstr "" +"Para iniciar um filtro, basta digitar algo na caixa de texto, clicar em " +"Marcada, escolher a Avaliação ou Tipo. " +"Serão filtrados os itens da visão atual que correspondam aos critérios da " +"pesquisa (o texto da pesquisa é verificado em etiquetas, títulos e nomes de " +"arquivos das fotos e vídeos)." + +#. (itstool) path: section/p +#: C/organize-search.page:38 +msgid "" +"Disabling the search bar or exiting Shotwell automatically resets the search " +"bar." +msgstr "" +"Desabilitar a barra de pesquisa ou sair do Shotwell retira automaticamente o " +"filtro definido nela." + +#. (itstool) path: section/title +#: C/organize-search.page:44 +msgid "Saved search" +msgstr "Pesquisa salva" + +#. (itstool) path: section/p +#: C/organize-search.page:45 +msgid "" +"A saved search persists across Shotwell sessions, and is updated as photos " +"and videos are added and removed from your Shotwell library." +msgstr "" +"Uma pesquisa salva persiste entre as sessões do Shotwell, e é atualizada " +"como fotos e vídeos adicionados, removidos ou alterados de sua biblioteca." + +#. (itstool) path: section/p +#: C/organize-search.page:50 +msgid "" +"Create a new saved search with EditNew Saved " +"Search... or by hitting CtrlS. The dialog box allows you to enter a name for the search and select " +"whether you want to meet Any, All, or None of the criteria in the following " +"rows." +msgstr "" +"Crie uma nova pesquisa salva usando o item do menu EditarNova pesquisa salva... ou pressionando as teclas " +"CtrlS. A caixa de diálogo exibida " +"permite que você digite um nome para a pesquisa e selecionar como são " +"verificadas as combinações dos critérios nas linhas seguintes: \"todos\", " +"\"qualquer\" ou \"nenhum\"." + +#. (itstool) path: section/p +#: C/organize-search.page:56 +msgid "" +"Each row represents a search criterion. Use the + button to add " +"more rows, and the - button to remove a specific row. The combo " +"box on the left of each row selects the type of criteria. Criteria must be " +"entered correctly before the OK button becomes available." +msgstr "" +"Cada linha representa um critério de pesquisa. Use o botão + para " +"adicionar mais linhas, e o botão - da direita das linhas para " +"removê-las. Do lado esquerdo de cada linha há listas para selecionar o tipo " +"da pesquisa. O botão OK só fica disponível quando os critérios " +"são válidos." + +#. (itstool) path: info/desc +#: C/organize-tag.page:7 +msgid "Organize photos by labelling them." +msgstr "Organize suas fotos com rótulos." + +#. (itstool) path: page/title +#: C/organize-tag.page:14 +msgid "Tagging photos" +msgstr "Etiquetando fotos" + +#. (itstool) path: page/p +#: C/organize-tag.page:16 +msgid "" +"You can assign one or more tags to selected photos. A tag can be one or more " +"words that you want to associate with those photos." +msgstr "" +"Você pode atribuir uma ou mais etiquetas para as fotos selecionadas. Uma " +"etiqueta é composta de uma ou mais palavras que serão associadas às fotos." -#: C/organize-rating.page:13(p) +#. (itstool) path: page/p +#: C/organize-tag.page:22 msgid "" -"You can assign each photo a rating from 1-5 stars, or may alternatively rate " -"it as Rejected, in which case Shotwell will hide the photo by default." +"To add new tags to photos, select the photos you would like to tag, then do " +"any of the following:" msgstr "" -"Você pode atribuir a cada foto uma avaliação de 1-5 estrelas, ou pode " -"classificá-la como Rejeitada, caso em que o Shotwell irá esconder a foto por " -"padrão." +"Para adicionar novas etiquetas nas fotos, selecione as fotos que você " +"gostaria de etiquetar, e:" -#: C/organize-rating.page:15(p) -msgid "You can rate a photo or a set of photos in any of these ways:" +#. (itstool) path: item/p +#: C/organize-tag.page:28 +msgid "Choose TagsAdd Tags...." msgstr "" -"Você pode avaliar uma foto ou um conjunto de fotos com uma das seguintes " -"formas:" +"Use o item de menu EtiquetasAdicionar etiquetas...." + +#. (itstool) path: item/p +#: C/organize-tag.page:29 +msgid "Type CtrlT." +msgstr "Pressione as teclas CtrlT." + +#. (itstool) path: item/p +#: C/organize-tag.page:30 +msgid "Drag the selected photos and drop them on the desired tag." +msgstr "Arraste as fotos selecionadas até etiqueta desejada, na barra lateral." -#: C/organize-rating.page:18(p) +#. (itstool) path: page/p +#: C/organize-tag.page:33 msgid "" -"Select the photo(s), then choose a rating from the top-level " -"PhotosSet Rating menu." +"When you use CtrlT or " +"TagsAdd Tags... you can type in the " +"names of one or more tags, separated by commas. Once you have created a tag, " +"you can rename it by selecting that tag in the sidebar and choosing " +"TagsRename Tag \"[name]\"..., by " +"rightclicking on it and choose Rename... or double-click on the " +"tag in the sidebar." msgstr "" -"Selecione a(s) foto(s) e, em seguida, defina uma avaliação usando o item do " -"menu FotosAvaliar." +"Quando você usa o CtrlT ou " +"EtiquetasAdicionar etiquetas... você " +"poderá digitar os nomes de uma ou mais etiquetas, separados por vírgulas. " +"Depois de ter criado uma etiqueta, você pode renomeá-la selecionando essa " +"etiqueta na barra lateral e escolher EtiquetasRenomear etiqueta \"[nome]\"..., ou clicar com o " +"botão direito nela e usar o item Renomear... no menu de contexto, " +"ou ainda clicar duas vezes sobre a etiqueta na barra lateral." -#: C/organize-rating.page:19(p) +#. (itstool) path: page/p +#: C/organize-tag.page:44 msgid "" -"Right-click on the photo(s), then choose a rating from the Set Rating " -"context menu." +"To change which tags are associated with a particular photo, select that " +"photo, choose TagsModify Tags... or " +"right-click on a photo and select Modify Tags... and edit the " +"comma separated list. To remove a tag from one or more photos, first select " +"that tag in the sidebar, then select the photos you would like to remove, " +"and choose TagsRemove Tag \"[name]\" from Photos or right-click on the photos an select Remove Tag " +"\"[name]\" from Photos." msgstr "" -"Clique com o botão direito do mouse sobre a(s) foto(s) e use o item \"Avaliar" -"\" do menu de contexto." +"Para alterar quais as etiquetas que estão associados a uma determinada foto, " +"selecione a foto e use o item de menu EtiquetasModificar etiquetas... ou clique com o botão direito " +"do mouse na foto e use o item do menu de contexto Modificar etiquetas..." +" e altere a lista separada por vírgulas. Para remover uma etiqueta de " +"uma ou mais fotos, selecione primeiro a etiqueta na barra lateral, em " +"seguida selecione as fotos de que você deseja tirar a etiqueta, e use o item " +"de menu EtiquetasRemover a etiqueta \"[nome]\" das " +"fotos ou clique com o botão direito sobre as fotos e use o " +"item Remover a etiqueta \"[nome]\" das fotos do menu de contexto." -#: C/organize-rating.page:20(p) +#. (itstool) path: page/p +#: C/organize-tag.page:58 msgid "" -"Select the photo(s), then press any of the shortcut keys 1, " -"2, 3, 4 or 5 to assign a rating. " -"Or press 9 to mark the photo(s) as rejected or 0 to " -"clear the rating(s)." +"To delete a tag entirely, select that tag in the sidebar and choose " +"TagsDelete Tag \"[name]\" or by right-" +"click and select Delete Tag \"[name]\"." msgstr "" -"Selecione a(s) foto(s) e, em seguida, pressione qualquer uma das teclas de " -"atalho 1, 2, 3, 4 ou 5 para atribuir uma avaliação. Ou pressione 9 para marcar a(s) " -"foto(s) como \"rejeitada(s)\" ou 0 para apagar a(s) avaliações(s)." +"Para apagar uma etiqueta completamente, selecione a etiqueta na barra " +"lateral e use o item de menu EtiquetasApagar " +"etiqueta \"[nome]\" ou clique com o botão direito na etiqueta " +"e use o item Apagar etiqueta \"[nome] do menu de contexto." -#: C/organize-rating.page:23(p) +#. (itstool) path: page/p +#: C/organize-tag.page:64 msgid "" -"Normally Shotwell displays all photos except rejected photos. You can set a " -"different rating filter using the ViewFilter Photos menu - for example, you can display only photos rated with 3 " -"stars or higher, or you can display all photos including those marked " -"rejected. The Shotwell icon on the toolbar displays the current rating " -"filter and can also be used to set the filter." +"When you create a tag, it will appear in the sidebar under the Tags item, which is hidden if there are no tags. Photos can have multiple " +"tags attached to them, and when you click on the name of a given tag in the " +"sidebar, you will see all the photos associated with that tag." msgstr "" -"Normalmente o Shotwell exibe todas as fotos exceto fotos rejeitadas. Você " -"pode definir um filtro de classificação diferente usando o item de menu " -"VerFiltrar fotos - por exemplo, você " -"pode exibir somente fotos avaliado com 3 estrelas ou mais, ou você pode " -"exibir todas as fotos, incluindo aquelas marcadas como \"rejeitadas\". A " -"barra de pesquisa do Shotwell aparece mostrando o filtro atual e também pode " -"ser usada para alterá-lo." +"Quando você cria uma etiqueta, ela aparece na barra lateral sob o item " +"Etiquetas, que não aparece se não existe pelo menos uma etiqueta. " +"As fotos podem ter várias etiquetas associadas a elas, e quando você clicar " +"sobre o nome de uma etiqueta na barra lateral, você vai ver todas as fotos " +"associadas a essa etiqueta." + +#. (itstool) path: section/title +#: C/organize-tag.page:73 +msgid "Hierarchical Tags" +msgstr "Etiquetas hierárquicas" -#: C/organize-rating.page:26(p) +#. (itstool) path: section/p +#: C/organize-tag.page:74 msgid "" -"Shotwell normally displays each photo's rating in its lower left-hand " -"corner. You can turn off the display of ratings using the ViewRatings menu item." +"Shotwell supports also hierarchial tags. You can rearrange your tags by drag " +"and drop a tag onto another. To create a new subtag right-click on a tag and " +"select New." msgstr "" -"O Shotwell normalmente exibe a avaliação de cada foto em seu canto inferior " -"esquerdo. Você pode desativar a exibição das avaliações usando o a opção do " -"menu VerAvaliações." +"O Shotwell oferece suporte a hierarquia entre etiquetas. Você pode " +"reorganizar suas etiquetas arrastando e soltando uma etiqueta sobre outra. " +"Para criar uma nova subetiqueta clique com o botão direito numa etiqueta e " +"use o item Nova no menu de contexto." -#: C/organize-rating.page:28(p) +#. (itstool) path: section/p +#: C/organize-tag.page:81 msgid "" -"You can increase or decrease a photo's rating using the Set " -"RatingIncrease and Set RatingDecrease commands, or the keyboard shortcuts " -"< and >." +"Hierarchial tags can help you to sort your tag list in ways that better " +"match how you work or think; for example, you can store location tags like " +"\"Mountains\" or \"Beach\" under a parent tag \"Places\", which itself can " +"be placed under the tag \"Summer Holidays\"." msgstr "" -"Você pode aumentar ou diminuir a avaliação de uma foto usando o item do menu " -"FotoAvaliarAumentar e " -"FotoAvaliarDiminuir, ou os " -"atalhos de teclado < e >." +"Etiquetas hierárquica ajudam a organizar sua lista de etiquetas da forma que " +"melhor corresponder à forma como você trabalha ou pensa; por exemplo, você " +"pode armazenar a localização em etiquetas como \"Montanha\" ou \"Praia\" " +"dentro de uma etiqueta-pai \"Lugares\", que podem ser colocados sob a " +"etiqueta \"Férias de Verão\"." -#: C/organize-flag.page:7(desc) -msgid "Flag photos to mark them as special or to work with them as a set." +#. (itstool) path: section/p +#: C/organize-tag.page:89 +msgid "Note that deleting a parent tag will also delete its child tags." msgstr "" -"Marque fotos para sinalizá-las como algo especial ou para trabalhar com elas " -"depois conjuntamente." +"Note que apagar uma etiqueta-pai também vai apagar suas etiquetas-filhas." -#: C/organize-flag.page:12(title) -msgid "Flagging photos" -msgstr "Marcando fotos" +#. (itstool) path: info/desc +#: C/organize-title.page:7 +msgid "Give titles to your photos." +msgstr "Dê títulos às suas fotos." -#: C/organize-flag.page:14(p) -msgid "" -"Shotwell lets you flag photos. When a photo is flagged, a small " -"flag icon appears in its upper right corner. You can select the " -"Flagged item in the sidebar to see all photos which have been " -"flagged." -msgstr "" -"O Shotwell permite que você marque fotos. Quando uma foto é " -"marcada, um pequeno ícone de bandeira aparece no canto superior direito " -"dela. Você pode selecionar o item Marcada na barra lateral para " -"ver todas as fotos que foram marcadas." +#. (itstool) path: page/title +#: C/organize-title.page:12 +msgid "Titles" +msgstr "Títulos" -#: C/organize-flag.page:18(p) +#. (itstool) path: page/p +#: C/organize-title.page:14 msgid "" -"Flagging a photo marks it as special. You can interpret this in any way you " -"like. For example, you might flag all photos which need visual adjustment, " -"or all photos which you want to share with a friend." +"The ViewTitles checkbox toggles the " +"display of titles beneath each photo. By default, a photo's title is its " +"filename." msgstr "" -"Marcar uma foto a sinaliza como \"especial\". Você pode interpretar isso " -"como quiser. Por exemplo, você pode marcar todas as fotos que precisam de " -"ajuste visual ou todas as fotos que você deseja mandar para um amigo." +"A caixa de seleção VerTítulos alterna " +"a exibição de títulos abaixo de cada foto. Por padrão, o título de uma foto " +"é seu nome de arquivo." -#: C/organize-flag.page:22(p) +#. (itstool) path: page/p +#: C/organize-title.page:17 msgid "" -"Flagging is also useful because you can operate on all flagged photos as a " -"set. For example, you can select the Flagged view and then upload " -"all flagged photos to a publishing service." +"To change a photo's title, select the photo and click PhotosEdit Title..., or press F2." msgstr "" -"Marcar também é útil para sinalizar todas as fotos conjunto a ser " -"trabalhado. Por exemplo, você pode selecionar o modo de exibição de fotos " -"marcadas e, em seguida, enviar elas para um serviço de publicação." - -#: C/organize-flag.page:27(title) -msgid "To flag or unflag a photo" -msgstr "Para marcar ou desmarcar uma foto" +"Para alterar o título de uma foto, selecione a foto e clique em " +"FotosEditar título..., ou pressione a " +"tecla F2." -#: C/organize-flag.page:28(p) -msgid "" -"To flag or unflag a photo, right-click the photo and choose Flag " -"or Unflag from the context menu. Or use the CtrlG or / shortcut keys." +#. (itstool) path: info/desc +#: C/other-files.page:7 +msgid "Keep the Shotwell library in sync with photo files on disk." msgstr "" -"Para marcar ou desmarcar de uma foto, clique com o botão direito do mouse na " -"foto e use os itens Marcar ou Desmarcar do menu de " -"contexto. Ou use as teclas de atalho CtrlG ou /." +"Mantenha a biblioteca do Shotwell sincronizada com os arquivos de seu disco " +"rígido." + +#. (itstool) path: page/title +#: C/other-files.page:12 +msgid "Photo files" +msgstr "Arquivos de fotos" -#: C/organize-event.page:7(desc) +#. (itstool) path: page/p +#: C/other-files.page:14 msgid "" -"Group photos together that were taken at the same time. Learn how to rename, " -"merge, and sort events." +"Every photo in the Shotwell library corresponds to a file stored on your " +"hard disk. Shotwell has several features which help you keep the Shotwell " +"library and files on disk in sync." msgstr "" -"Agrupa fotos que foram tiradas na mesma época. Saiba como mudar o nome, " -"mesclar e classificar eventos." +"Cada foto na biblioteca do Shotwell corresponde a um arquivo armazenado em " +"seu disco rígido. O Shotwell tem várias funcionalidades que te ajudam a " +"manter a biblioteca e os arquivos no disco sincronizados." -#: C/organize-event.page:12(title) -msgid "Events" -msgstr "Eventos" +#. (itstool) path: section/title +#: C/other-files.page:21 +msgid "Using a custom directory pattern" +msgstr "Usando um padrão de diretórios personalizado" -#: C/organize-event.page:14(p) +#. (itstool) path: section/p +#: C/other-files.page:22 msgid "" -"An event is a group of photos that were taken at approximately the same " -"time. When you import photos, Shotwell checks when each photo was taken. It " -"then groups the photos into events." +"Shotwell allows you to specify how it names directories in your library. You " +"can do this by changing the Directory Structure and Pattern settings in the Preferences dialog. You may use a " +"preselected pattern, or choose Custom and type in your own." msgstr "" -"Um evento é um grupo de fotos que foram tiradas aproximadamente ao mesmo " -"tempo. Quando você importar fotos, o Shotwell verifica a data em que cada " -"foto foi tirada e agrupa as fotos em eventos." +"O Shotwell permite especificar como chama diretórios em sua biblioteca. Você " +"pode fazer isso alterando a Estrutura de diretório e as " +"configurações Padrão na janela Preferências. Você pode " +"usar um padrão na lista, ou escolher Personalizar e digitar o seu " +"próprio." -#: C/organize-event.page:16(p) +#. (itstool) path: section/p +#: C/other-files.page:29 msgid "" -"Choose Events from the sidebar to see your photos organized by " -"date. If you select a month or year from the sidebar, a list of events will " -"be displayed in the main window. Double-click an event to see all the photos " -"that were taken around that time." +"The available symbols for the directory pattern begin with a % (percent " +"sign). The values these symbols produce are locale-dependent, so what you " +"see on your computer may vary from the examples below." msgstr "" -"Clique na visão Eventos da barra lateral para ver as suas fotos " -"organizadas por data. Se você selecionar um mês ou um ano a partir da barra " -"lateral, uma lista de eventos será exibido na janela principal. Clique duas " -"vezes em um evento para ver todas as fotos que dele." +"Os símbolos disponíveis para o padrão de diretório começam com uma % (sinal " +"de porcentagem). Os valores produzidos são dependentes da idioma/região, de " +"modo que você vê no seu computador pode se diferente dos exemplos abaixo." -#: C/organize-event.page:18(p) -msgid "" -"If a photo has no embedded date/time information, then Shotwell can't " -"automatically place it in any event. In this case the photo will appear in " -"the No Event view accessible from the sidebar. You can still move " -"the photo to any event you like as described below." -msgstr "" -"Se uma foto não tem nenhuma informação de data/hora incorporadas, o Shotwell " -"não consegue colocá-la automaticamente em um evento. Neste caso, a foto " -"aparecerá no item Nenhum Evento da visão de eventos, acessível na " -"barra lateral. Você ainda pode mover a foto para outro evento, se " -"necessário, como descrito abaixo." +#. (itstool) path: td/p +#: C/other-files.page:38 +msgid "Symbol" +msgstr "Símbolo" -#: C/organize-event.page:25(title) -msgid "Renaming events" -msgstr "Renomeando eventos" +#. (itstool) path: td/p +#: C/other-files.page:38 +msgid "Meaning" +msgstr "Significado" + +#. (itstool) path: td/p +#: C/other-files.page:38 +msgid "Example" +msgstr "Exemplo" + +#. (itstool) path: td/p +#: C/other-files.page:43 +msgid "%Y" +msgstr "%Y" + +#. (itstool) path: td/p +#: C/other-files.page:43 +msgid "Year: full" +msgstr "Ano (completo)" + +#. (itstool) path: td/p +#: C/other-files.page:43 +msgid "2011" +msgstr "2011" + +#. (itstool) path: td/p +#: C/other-files.page:46 +msgid "%y" +msgstr "%y" + +#. (itstool) path: td/p +#: C/other-files.page:46 +msgid "Year: two digit" +msgstr "Ano (dois dígitos)" + +#. (itstool) path: td/p +#: C/other-files.page:46 +msgid "11" +msgstr "11" + +#. (itstool) path: td/p +#: C/other-files.page:49 +msgid "%d" +msgstr "%d" +#. (itstool) path: td/p +#: C/other-files.page:49 +msgid "Day of the month with leading zero" +msgstr "Dia do mês (com zero inicial)" -# Duplo clique não funciona. Traduzido para o atalho válido de tecla F2. -#: C/organize-event.page:27(p) -msgid "" -"To give an event a name rather than referring to it by its date, select the " -"event, click EventsRename Event... " -"and enter a new name. Another way of renaming an event is to double-click " -"its name in the sidebar; type a new name and then press Enter." -msgstr "" -"Para dar a um evento um nome ao invés de se referir a ele pela sua data, " -"selecione o evento e use o item de menu Eventos" -"Renomear evento... e digite um novo nome para o evento. " -"Outras formas de mudar o nome de um evento é pressionar a tecla F2 ou clicar " -"com o botão direito (e usar o menu de contexto) em seu nome na barra lateral;" -" digite um novo nome e pressione Enter." +#. (itstool) path: td/p +#: C/other-files.page:49 +msgid "03" +msgstr "03" -#: C/organize-event.page:31(title) -msgid "Moving photos between events" -msgstr "Movendo fotos entre eventos" +#. (itstool) path: td/p +#: C/other-files.page:52 +msgid "%A" +msgstr "%A" -#: C/organize-event.page:33(p) -msgid "" -"Even though photos are initially grouped into events by their date, you can " -"move photos between events. To do this, drag any photo to the sidebar and " -"drop it on an event." -msgstr "" -"As fotos são inicialmente agrupadas em eventos por data, mas você pode mover " -"fotos entre eventos. Para isso, arraste qualquer foto e solte-a sobre outro " -"evento na barra lateral." +#. (itstool) path: td/p +#: C/other-files.page:52 +msgid "Day name: full" +msgstr "Nome do dia da semana (completo)" -#: C/organize-event.page:37(title) -msgid "Creating and merging events" -msgstr "Criando e unindo eventos" +#. (itstool) path: td/p +#: C/other-files.page:52 +msgid "Wednesday" +msgstr "Quarta-feira" -#: C/organize-event.page:38(p) -msgid "" -"To create a new event, select the photos you would like in the new event and " -"click EventsNew Event." -msgstr "" -"Para criar um novo evento, selecione as fotos dele o novo evento e use o " -"item do menu EventosNovo evento." +#. (itstool) path: td/p +#: C/other-files.page:55 +msgid "%a" +msgstr "%a" -#: C/organize-event.page:39(p) -msgid "" -"To merge events, select Events from the sidebar, " -"then, while holding down Ctrl click on the events you want to " -"merge in the main window area. Finally, click EventsMerge Events." -msgstr "" -"Para unir eventos, selecione Eventos da barra " -"lateral e, mantendo a tecla Ctrl pressionada clique sobre os " -"eventos que deseja unir na janela principal. Com os eventos selecionados, " -"use o item do menu EventosUnir eventos." +#. (itstool) path: td/p +#: C/other-files.page:55 +msgid "Day name: abbreviated" +msgstr "Nome do dia da semana (abreviado)" -#: C/organize-event.page:43(title) -msgid "Sorting events" -msgstr "Ordenando Eventos" +#. (itstool) path: td/p +#: C/other-files.page:55 +msgid "Wed" +msgstr "Qua" -#: C/organize-event.page:45(p) -msgid "" -"Events are displayed in a tree in the sidebar, organized by the year and " -"month of the earliest photo in the event. To change the event sort order, " -"click ViewSort Events and select " -"either ascending or descending." -msgstr "" -"Os eventos são exibidos em uma árvore na barra lateral, organizados pelo ano " -"e mês da foto mais antiga no evento. Para alterar a ordenação dos eventos, " -"use o item do menu VerOrdenar eventos " -"e selecione Ascendente ou Descendente." +#. (itstool) path: td/p +#: C/other-files.page:58 +msgid "%m" +msgstr "%m" -#: C/organize-event.page:51(title) -msgid "Change the photo used to represent each event" -msgstr "Mude a foto usada para representar cada evento" +#. (itstool) path: td/p +#: C/other-files.page:58 +msgid "Month number with leading zero" +msgstr "Mês (com zero inicial)" -#: C/organize-event.page:53(p) -#| msgid "" -#| "If you select the Events item in the sidebar, you'll see a single photo " -#| "which represents each event. This is called the key photo." -msgid "" -"If you select the Events item in the sidebar, you'll see a single " -"photo which represents each event. This is called the key photo." -msgstr "" -"Se você selecionar o item Eventos na barra lateral, você verá uma " -"única foto que representa cada evento. Ela é chamada de \"foto chave\" do " -"evento (também chamada de \"foto de capa\" em alguns serviços de publicação)." +#. (itstool) path: td/p +#: C/other-files.page:58 +msgid "02" +msgstr "02" -#: C/organize-event.page:55(p) -msgid "" -"By default, Shotwell uses the first photo in each event as its key photo. To " -"use a different key photo, select the photo and choose PhotosMake Key Photo for Event." -msgstr "" -"Por padrão, o Shotwell usa a primeira foto de cada evento como a sua foto " -"chave. Para usar uma foto de chave diferente, selecione a foto e use o item " -"do menu FotosDesignar foto como chave para evento." +#. (itstool) path: td/p +#: C/other-files.page:60 +msgid "%b" +msgstr "%b" -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: C/index.page:23(None) -msgid "" -"@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" -msgstr "" -"@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" +#. (itstool) path: td/p +#: C/other-files.page:60 +msgid "Month name: abbreviated" +msgstr "Nome do mês (abreviado)" -#: C/index.page:6(title) C/index.page:7(title) -msgid "Shotwell" -msgstr "Shotwell" +#. (itstool) path: td/p +#: C/other-files.page:60 +msgid "Feb" +msgstr "Fev" -#: C/index.page:9(name) -msgid "Jim Nelson" -msgstr "Jim Nelson" +#. (itstool) path: td/p +#: C/other-files.page:62 +msgid "%B" +msgstr "%B" -#: C/index.page:10(email) -msgid "jim@yorba.org" -msgstr "jim@yorba.org" +#. (itstool) path: td/p +#: C/other-files.page:62 +msgid "Month name: full" +msgstr "Nome do mês (completo)" -#: C/index.page:11(name) -msgid "Allison Barlow" -msgstr "Allison Barlow" +#. (itstool) path: td/p +#: C/other-files.page:62 +msgid "February" +msgstr "Fevereiro" -#: C/index.page:12(email) -msgid "allison@yorba.org" -msgstr "allison@yorba.org" +#. (itstool) path: td/p +#: C/other-files.page:63 +msgid "%I" +msgstr "%I" -#: C/index.page:13(name) -msgid "Robert Ancell" -msgstr "Robert Ancell" +#. (itstool) path: td/p +#: C/other-files.page:63 +msgid "Hour: 12 hour format" +msgstr "Hora (formato de 12h)" -#: C/index.page:14(email) -msgid "robert.ancell@canonical.com" -msgstr "robert.ancell@canonical.com" +#. (itstool) path: td/p +#: C/other-files.page:63 +msgid "05" +msgstr "05" -#: C/index.page:15(name) -msgid "Peter Smith" -msgstr "Peter Smith" +#. (itstool) path: td/p +#: C/other-files.page:64 +msgid "%H" +msgstr "%H" -#: C/index.page:16(email) -msgid "pdo.smith@gmail.com" -msgstr "pdo.smith@gmail.com" +#. (itstool) path: td/p +#: C/other-files.page:64 +msgid "Hour: 24 hour format" +msgstr "Hora (formato de 24h)" -#: C/index.page:17(name) -msgid "Phil Bull" -msgstr "Phil Bull" +#. (itstool) path: td/p +#: C/other-files.page:64 +msgid "17" +msgstr "17" -#: C/index.page:18(email) -msgid "philbull@gmail.com" -msgstr "philbull@gmail.com" +#. (itstool) path: td/p +#: C/other-files.page:66 +msgid "%M" +msgstr "%M" -#: C/index.page:23(title) -msgid "" -"Shotwell Photo " -"Manager" -msgstr "" -"Gerenciador de " -"fotos Shotwell" +#. (itstool) path: td/p +#: C/other-files.page:66 +msgid "Minute" +msgstr "Minuto" -#: C/index.page:26(title) -msgid "Importing Photos" -msgstr "Importando fotos" +#. (itstool) path: td/p +#: C/other-files.page:66 +msgid "16" +msgstr "16" -#: C/index.page:30(title) -msgid "Viewing Photos" -msgstr "Visualizando fotos" +#. (itstool) path: td/p +#: C/other-files.page:67 +msgid "%S" +msgstr "%S" -#: C/index.page:34(title) -msgid "Organizing Photos" -msgstr "Organizando as fotos" +#. (itstool) path: td/p +#: C/other-files.page:67 +msgid "Second" +msgstr "Segundo" -#: C/index.page:38(title) -msgid "Editing Photos" -msgstr "Editando fotos" +#. (itstool) path: td/p +#: C/other-files.page:67 +msgid "30" +msgstr "30" -#: C/index.page:42(title) -msgid "Sharing Photos" -msgstr "Compartilhando fotos" +#. (itstool) path: td/p +#: C/other-files.page:68 +msgid "%p" +msgstr "%p" -#: C/index.page:46(title) -msgid "Other Features" -msgstr "Outras funcionalidades" +#. (itstool) path: td/p +#: C/other-files.page:68 +msgid "AM or PM" +msgstr "AM ou PM" -#: C/import-memorycard.page:7(desc) -msgid "Import photos from a digital camera's memory card." -msgstr "Importe fotos do cartão de memória de uma câmera digital." +#. (itstool) path: td/p +#: C/other-files.page:68 +msgid "PM" +msgstr "PM" -#: C/import-memorycard.page:12(title) -msgid "Importing from a memory card" -msgstr "Importando fotos de um cartão de memória" +#. (itstool) path: section/p +#: C/other-files.page:72 +msgid "" +"There are other symbols available; please check the manual for strftime by " +"running the command man strftime if you need one that isn't " +"listed here." +msgstr "" +"Existem outros símbolos disponíveis; por favor, verifique o manual do " +"\"strftime\", com o comando man strftime se você precisa de um " +"que não esteja aqui." -#: C/import-memorycard.page:14(p) -msgid "To import photos from a camera memory card:" -msgstr "Para importar fotos do cartão de memória de uma câmera:" +#. (itstool) path: section/title +#: C/other-files.page:79 +msgid "Automatically importing photos" +msgstr "Importando fotos automaticamente" -#: C/import-memorycard.page:18(p) +#. (itstool) path: section/p +#: C/other-files.page:81 msgid "" -"Put the card into your card reader. Make sure the card reader is plugged in " -"to the computer and switched on." +"Shotwell can automatically import new photos which appear in the library " +"directory. (The library directory is usually the Pictures " +"directory in your home directory; you can change its location in in the " +"Preferences window.)" msgstr "" -"Coloque o cartão no leitor de cartões de memória do computador. Certifique-" -"se de que o leitor de cartão está corretamente conectado ao computador e " -"ligado." +"O Shotwell pode importar novas fotos que aparecem no diretório da biblioteca " +"automaticamente. (O diretório da biblioteca é geralmente o diretório " +"Imagens em seu diretório pessoal, você ajustar isso na janela " +"de Preferências.)" -#: C/import-memorycard.page:21(p) -msgid "The card reader and card should be detected automatically." -msgstr "O cartão de memória será detectado automaticamente." +#. (itstool) path: section/p +#: C/other-files.page:86 +msgid "" +"To enable auto-import, check the box Watch library directory for new " +"files in the Preferences window." +msgstr "" +"Para habilitar a importação automática, marque a opção Monitorar " +"diretório de biblioteca por novos arquivos na janela de " +"Preferências." -#: C/import-memorycard.page:24(p) -#| msgid "" -#| "Follow the instructions for importing photos " -#| "from your hard disk. If you click FileImport From Folder, the memory card should be " -#| "visible as a folder in the side bar of the file selection window." +#. (itstool) path: note/p +#: C/other-files.page:90 msgid "" -"Follow the instructions for importing photos from " -"your hard disk. If you click FileImport From " -"Folder..., the memory card should be visible as a folder in " -"the side bar of the file selection window." +"Shotwell can also follow symbolic links inside automatically-imported " +"directories." msgstr "" -"Siga as instruções para importar fotos de seu " -"disco rígido. Se você usar o menu Arquivo" -"Importar da pasta..., o cartão de memória deve ser visível " -"como uma pasta na barra lateral da janela de seleção de arquivos." +"O Shotwell também pode seguir links simbólicos dentro de diretórios " +"automaticamente importados." -#: C/import-memorycard.page:28(p) +#. (itstool) path: section/title +#: C/other-files.page:95 +msgid "Automatically renaming imported photos to lowercase" +msgstr "Renomeando automaticamente fotos importadas para minúsculas" + +#. (itstool) path: section/p +#: C/other-files.page:97 msgid "" -"Shotwell can import photos from any memory card that is compatible with your " -"card reader." +"Shotwell can automatically change the filenames of imported photos to " +"lowercase. To enable this, choose EditPreferences, and in the Preferences window, check the " +"Rename imported files to lowercase box." msgstr "" -"O Shotwell pode importar fotos de qualquer cartão de memória compatível com " -"o seu leitor de cartões." +"O Shotwell pode mudar automaticamente os nomes dos arquivos de fotos " +"importadas para minúsculas. Para habilitar isso, escolha " +"EditarPreferências e, na janela " +"Preferências, marque a opção Renomear arquivos importados " +"para letra minúscula." -#: C/import-memorycard.page:30(p) +#. (itstool) path: section/title +#: C/other-files.page:107 +msgid "Writing metadata on the fly" +msgstr "Gravando os metadados sob demanda" + +#. (itstool) path: section/p +#: C/other-files.page:109 msgid "" -"If the card is not detected automatically, your card reader may not have " -"been recognized. Try unplugging it and then plugging it in again. If that " -"doesn't work, you should still be able to import photos by connecting your camera directly to the computer, " -"though." +"By default, Shotwell does not modify photo files, even when you edit photos " +"or change their tags or titles. Shotwell records these changes in its own " +"database only." msgstr "" -"Se o cartão não for detectado automaticamente, o seu leitor de cartões pode " -"não ter sido reconhecido. Tente desconectá-lo e, em seguida, ligá-lo " -"novamente. Se isso não funcionar, você ainda deve conseguir importar fotos " -"conectando sua câmera no computador." +"Por padrão, o Shotwell não modifica arquivos de fotos, mesmo quando você " +"editar fotos ou alterar suas etiquetas ou títulos. O Shotwell registra essas " +"mudanças apenas no seu próprio banco de dados." -#: C/import-f-spot.page:7(desc) +#. (itstool) path: section/p +#: C/other-files.page:112 msgid "" -"Shotwell can import all your photos and tags from the F-Spot photo manager." +"To change this behavior, you can enable the checkbox Write tags, titles " +"and other metadata to photo files in the Preferences " +"dialog. When this option is enabled, Shotwell will write the following " +"metadata to most photo files whenever you change it in Shotwell:" msgstr "" -"O Shotwell pode importar todas as suas fotos e etiquetas do programa " -"gerenciador de fotos F-Spot." +"Para alterar esse comportamento, você pode marcar a opção Gravar " +"etiquetas, títulos e outros metadados para arquivos de fotos na janela " +"Preferências. Quando essa opção é ativada, o Shotwell grava os " +"seguintes metadados para a maioria dos arquivos de fotos sempre que você " +"alterá-la no Shotwell:" -#: C/import-f-spot.page:12(title) -msgid "Importing from F-Spot" -msgstr "Importando do F-Spot" +#. (itstool) path: item/p +#: C/other-files.page:118 +msgid "titles" +msgstr "títulos" -#: C/import-f-spot.page:14(p) -msgid "To import an existing photo collection from F-Spot:" -msgstr "Para importar uma coleção de fotos existentes do programa F-Spot:" +#. (itstool) path: item/p +#: C/other-files.page:119 +msgid "tags" +msgstr "etiquetas" -# Uma entrada de menu para importar DIRETAMENTE do F-Spot não existe... -#: C/import-f-spot.page:16(p) -msgid "Select FileImport From F-Spot." -msgstr "" -"Selecione ArquivoImportar do F-Spot." +#. (itstool) path: item/p +#: C/other-files.page:120 +msgid "ratings" +msgstr "avaliações" -#: C/import-f-spot.page:17(p) -msgid "" -"Now choose either the default F-Spot library or another F-Spot database. If " -"importing from another F-Spot database, select a directory and file from the " -"chooser dialog box." -msgstr "" -"Escolha a biblioteca padrão do F-Spot ou outro banco de dados do F-Spot. " -"Para importar bancos d dados diferentes do padrão do F-Spot, selecione o " -"diretório e o arquivo dele." +#. (itstool) path: item/p +#: C/other-files.page:121 +msgid "rotation information" +msgstr "informações sobre rotação" + +#. (itstool) path: item/p +#: C/other-files.page:122 +msgid "time/date" +msgstr "data/hora" -#: C/import-f-spot.page:20(p) +#. (itstool) path: section/p +#: C/other-files.page:125 msgid "" -"Shotwell will import your photos, together with their tags and other " -"information. Once the import is complete, you can select Last Import in the sidebar to see all photos successfully imported. The Events list " -"will also show new entries for the dates corresponding to the imported " -"photos." +"Shotwell stores this information in photo files in EXIF, IPTC and/or XMP " +"format. Note that Shotwell can write only to photo files in JPEG, PNG and " +"TIFF format, not to BMP photos, RAW photos or to video files." msgstr "" -"O Shotwell vai importar suas fotos, com as suas etiquetas e outras " -"informações. Quando a importação for concluída, você pode selecionar " -"Última importação na barra lateral para ver as fotos importadas. " -"A lista de eventos também irá mostrar novas entradas para as datas " -"correspondentes às fotos importadas." - -#: C/import-file.page:7(desc) -msgid "Import photos that are already saved on your computer." -msgstr "Importe fotos existentes no computador." +"O Shotwell armazena essas informações em arquivos de fotos nos formatos " +"EXIF, IPTC e/ou XMP. Note que o Shotwell pode escrever apenas em arquivos de " +"fotos em JPEG, PNG e TIFF, e não em fotos BMP, em fotos RAW ou em arquivos " +"de vídeo." -#: C/import-file.page:12(title) -msgid "Importing from your hard disk" -msgstr "Importando de seu disco rígido" +#. (itstool) path: section/title +#: C/other-files.page:133 +msgid "Runtime monitoring" +msgstr "Monitoramento em tempo de execução" -#: C/import-file.page:14(p) +#. (itstool) path: section/p +#: C/other-files.page:135 msgid "" -"To import photo files from your hard disk into Shotwell, just drag them from " -"your file browser into the Shotwell window." +"While Shotwell is running, it notices changes made to any photo file " +"externally. When a photo file changes, Shotwell rereads the file and updates " +"your view of the photo and metadata." msgstr "" -"Para importar arquivos de seu disco rígido para o Shotwell, basta arrastá-" -"los a partir do seu navegador de arquivos para a janela do Shotwell." +"Enquanto o Shotwell é executado, ele percebe as alterações feitas em " +"arquivos de sua biblioteca externamente. Quando uma foto é alterada, o " +"Shotwell relê o arquivo e atualiza a sua visão da foto e de seus metadados." -#: C/import-file.page:16(p) -#| msgid "" -#| "Alternatively, click FileImport From Folder and select the folder containing the photos you want to " -#| "import." +#. (itstool) path: section/p +#: C/other-files.page:139 msgid "" -"Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import." +"Note that Shotwell checks all photo files for changes at startup, but only " +"photo files contained in the library directory are monitored in real time " +"after startup. We hope to remove this limitation in a further release." msgstr "" -"Alternativamente, use o item de menu ArquivoImportar " -"da pasta... e selecione a pasta que contém as fotos que você " -"deseja importar." +"Note que o Shotwell verifica todos os arquivos de sua biblioteca na " +"inicialização, mas apenas arquivos de fotos contidas no diretório da " +"biblioteca são monitorados em tempo real, após a inicialização. Esperamos " +"remover esta limitação em uma nova versão." -#: C/import-file.page:18(p) -msgid "" -"Shotwell will ask whether you want to copy the photo files to your library " -"folder (usually this is the Pictures folder in your home " -"directory) or to import them in place without copying the files." +#. (itstool) path: info/desc +#: C/other-missing.page:7 +msgid "If Shotwell can't find a photo in your library, it marks it as missing." msgstr "" -"O Shotwell irá perguntar se você deseja copiar os arquivos de fotos para a " -"pasta de biblioteca (geralmente este é a pasta Imagens no seu " -"diretório pessoal) ou importá-los do lugar, sem copiar os arquivos." +"Se o Shotwell não consegue encontrar uma foto em sua biblioteca, ele marca " +"como \"faltante\" em seu banco de dados." + +#. (itstool) path: page/title +#: C/other-missing.page:12 +msgid "Missing photos" +msgstr "Fotos faltantes" -#: C/import-file.page:20(p) +#. (itstool) path: page/p +#: C/other-missing.page:14 msgid "" -"If you hold down Ctrl while dragging photos in, Shotwell will " -"copy the photos into your library folder without prompting. Similarly, if " -"you hold down CtrlShift while " -"dragging photos in, Shotwell will import the photos without copying them." +"Each time Shotwell starts up, it scans your photo library to verify that all " +"photo files still exist on your hard drive. If Shotwell finds that any photo " +"files are missing, it will not display them in the normal Photos, Events and " +"Tags views, but will instead show them in a separate Missing Files view " +"which will appear in the sidebar." msgstr "" -"Se você manter pressionada a tecla Ctrl enquanto arrasta as fotos " -"para o Shotwell, ele irá copiar as fotos para a pasta de biblioteca sem te " -"perguntar. Da mesma forma, se você segurar a tecla CtrlShift enquanto arrasta fotos para o Shotwell, ele " -"vai importar as fotos do lugar sem copiá-las, sem te perguntar." +"Cada vez que o Shotwell é iniciado, ele verifica se os arquivos de sua " +"biblioteca ainda existem no seu disco rígido. Se o Shotwell perceber que " +"quaisquer arquivos da biblioteca não existem, ele não vai exibi-los nas " +"visões normais eventos e marcações, mas em vez disso vai mostrá-los em uma " +"visão Arquivos faltantes que aparecerá na barra lateral." -#: C/import-file.page:22(p) +#. (itstool) path: page/p +#: C/other-missing.page:16 msgid "" -"Once the import is complete, you can select Last Import in the " -"sidebar to see all photos successfully imported. The Events list will also " -"show new entries for the dates corresponding to the imported photos." +"If you no longer want the missing files to be part of your Shotwell " +"collection (perhaps because you deleted them), go to the Missing Files view, " +"select the photos and then click Remove From Library." msgstr "" -"Quando importação estiver concluída, você pode selecionar Última " -"importação na barra lateral para ver as fotos importadas. A lista de " -"eventos também irá mostrar novas entradas para as datas correspondentes às " -"fotos importadas." - -#: C/import-camera.page:7(desc) -msgid "Copy photos from a digital camera." -msgstr "Copie fotos de uma câmera digital." - -#: C/import-camera.page:12(title) -msgid "Importing from a camera" -msgstr "Importando fotos de uma câmera" - -#: C/import-camera.page:14(p) -msgid "To import photos from a digital camera:" -msgstr "Para importar fotos de uma câmera digital:" +"Se você não quiser mais que os arquivos que faltam façam parte de sua " +"coleção do Shotwell (talvez porque você os tenha excluídos), vá na visão de " +"Arquivos faltantes, selecione os arquivos e clique em " +"Remover da biblioteca." -#: C/import-camera.page:18(p) +#. (itstool) path: page/p +#: C/other-missing.page:18 msgid "" -"Connect the camera to your computer and switch it on. Shotwell will detect " -"it and list it in the sidebar." +"If you have photos on a removable disk, such as a CD or USB flash drive, and " +"import them into Shotwell without copying the photos to your computer, they will show up as missing files " +"if you then disconnect the removable disk. See " +"to learn how to copy files from removable disks onto your computer." msgstr "" -"Conecte a câmera ao computador e ligue-a. O Shotwell irá detectá-la e mostrá-" -"la na barra lateral." +"Se você tem fotos em um disco removível, como um CD ou pendrives USB, e " +"importá-las para o Shotwell sem " +"copiar os arquivos das fotos para o computador, elas vão ficar como " +"arquivos faltantes se você retirar o disco removível. Consulte para saber como copiar os arquivos de discos removíveis " +"para seu computador." -#: C/import-camera.page:22(p) +#. (itstool) path: page/p +#: C/other-missing.page:20 msgid "" -"Select the camera in the sidebar. Previews of each photo on the camera will " -"be displayed." +"If any missing photo files become available again, Shotwell will notice this " +"the next time it starts. The photos will once again appear in the Photos, " +"Events and Tags views." msgstr "" -"Selecione a câmera na barra lateral. Pré-visualizações das fotos na câmera " -"serão exibidas." +"Se quaisquer arquivos faltantes se tornarem disponíveis novamente, o " +"Shotwell perceber isso na próxima vez que for iniciado. As arquivos vão " +"aparecer novamente nas visões de eventos e marcações." -#: C/import-camera.page:25(p) +#. (itstool) path: info/desc +#: C/other-multiple.page:7 msgid "" -"If you like, you can choose a set of specific photos to import. To do this, " -"hold down the Ctrl key and click to select individual photos. You " -"can hold down Shift and click to select a range of photos too." +"You can open Shotwell with a different photo library by using the command " +"line." msgstr "" -"Se preferir, você pode escolher um conjunto de fotos para importar. Para " -"isso, mantenha pressionada a tecla Ctrl e clique para selecionar " -"cada foto. Você pode segurar a tecla Shift e clicar para " -"selecionar um intervalo de fotos." +"Você pode abrir o Shotwell com uma biblioteca diferente da normal, usando " +"uma opção de linha de comando." + +#. (itstool) path: page/title +#: C/other-multiple.page:12 +msgid "Multiple libraries" +msgstr "Múltiplas bibliotecas" -#: C/import-camera.page:28(p) +# O diretório usado é o ~/.local/share/shotwell... +#. (itstool) path: page/p +#: C/other-multiple.page:14 msgid "" -"Click either Import Selected or Import All. The photos " -"will be copied from the camera and saved on your computer." +"Shotwell normally stores its database and photo thumbnails in the directory " +"~/.shotwell . This directory does not hold photos, but the " +"database in this directory contains a list of all the photos in the Shotwell " +"library." msgstr "" -"Clique em Importar selecionadas ou em Importar todas. " -"As fotos serão copiadas da câmera e gravadas em seu computador." +"O Shotwell normalmente armazena seus bancos de dados no diretório ~/." +"shotwell. Este diretório não contém as fotos, mas o banco de dados " +"neste diretório contém a lista de todas as fotos na biblioteca do Shotwell." -#: C/import-camera.page:32(p) +#. (itstool) path: page/p +#: C/other-multiple.page:16 msgid "" -"Once the import is complete, you can open the Last Import view " -"(in the sidebar) to see all photos that were imported. The Events list (also " -"in the sidebar) will also show the new photos, organized by date." +"As an advanced feature, it's possible for you to have multiple Shotwell " +"libraries, each of which has its own set of photos. Each library needs its " +"own database directory. To launch Shotwell with an alternate library, " +"specify an alternate database directory on the command line as follows:" msgstr "" -"Quando importação estiver concluída, você pode selecionar Última " -"importação na barra lateral para ver as fotos importadas. A lista de " -"eventos também irá mostrar novas entradas para as datas correspondentes às " -"fotos importadas." +"É possível ter várias bibliotecas do Shotwell, cada uma com seu próprio " +"conjunto de fotos. Cada biblioteca tem seu próprio diretório de banco de " +"dados. Para iniciar o Shotwell com uma biblioteca alternativa, basta " +"especificar um diretório de banco de dados em sua linha de comando da " +"seguinte forma:" -#: C/formats.page:7(desc) +# O diretório é do "banco de dados da biblioteca": dizer +# "diretório da biblioteca" pode confundi o usuário... +#. (itstool) path: page/screen +#: C/other-multiple.page:18 +#, no-wrap msgid "" -"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files as well as video " -"files." +"\n" +"shotwell -d [library-directory]\n" msgstr "" -"O Shotwell oferece suporte a arquivos de fotos JPEG, PNG, TIFF, BMP e RAW e " -"arquivos de vídeo." +"\n" +"shotwell -d [diretório-do-banco-de-dados-da-biblioteca]\n" -#: C/formats.page:12(title) -msgid "Supported photo and video formats" -msgstr "Suporte a formatos de foto e vídeo" +#. (itstool) path: info/desc +#: C/other-plugins.page:7 +msgid "Extend Shotwell's functionality dynamically." +msgstr "Estenda as funcionalidades do Shotwell dinamicamente." -#: C/formats.page:14(p) -msgid "" -"Shotwell supports JPEG, PNG, TIFF, BMP and RAW photo files. Shotwell does not yet support other graphics " -"format such as GIF." -msgstr "" -"O Shotwell oferece suporte aos formatos JPEG, PNG, TIFF, BMP e arquivos de " -"fotos em RAW. O Shotwell " -"ainda não oferece suporte a outros formatos gráficos, como o GIF." +#. (itstool) path: page/title +#: C/other-plugins.page:12 +msgid "Plugins" +msgstr "Plug-ins" -#: C/formats.page:16(p) +#. (itstool) path: page/p +#: C/other-plugins.page:13 msgid "" -"Shotwell's RAW format support is currently limited. When you view a RAW " -"photo, you are actually viewing a JPEG derived from the RAW photo, not the " -"RAW image itself. Additionally, the RAW editing pipeline is not fully 16-bit " -"- you can only export edited photos as 8-bit files. All supported formats " -"can be used for export (JPEG, PNG, TIFF, BMP)." +"Shotwell can be used with plugins, which are companion shared " +"libraries that can add support for new publishing destinations or new " +"slideshow transitions." msgstr "" -"Suporte ao formato RAW do Shotwell é limitado. Quando você ver uma foto RAW, " -"na verdade você está vendo um JPEG derivado da foto RAW, e não a imagem RAW. " -"Além disso, o edição RAW não é totalmente de 16 bits - você só pode exportar " -"fotos editadas como arquivos de 8 bits. Todos os formatos aos quais há " -"suporte podem ser usados na exportação (JPEG, PNG, TIFF e BMP)." +"O Shotwell pode ser usado com plug-ins, que são bibliotecas " +"dinâmicas que podem adicionar suporte para novos destinos de publicação ou " +"novas transições em exibições de slides." -#: C/formats.page:18(p) +#. (itstool) path: page/p +#: C/other-plugins.page:18 msgid "" -"For more information about RAW-format photos in Shotwell, please see the " -"RAW section." +"To see a list of installed plugins, choose EditPreferences, and in the Preferences " +"window, click on the Plugins tab. You'll see a list of currently-" +"installed plugins, each with a checkbox by it, and you may enable or disable " +"each by selecting or deselecting the checkbox by its name." msgstr "" -"Para obter mais informações sobre o tratamento das fotos em formato RAW no " -"Shotwell, por favor, consulte a seção Suporte de arquivos RAW no Shotwell." +"Para ver a lista dos plug-ins instalados, use o menu EditarPreferências e, na janela de Preferências, clique na aba Plug-ins. Você verá a lista dos plug-ins " +"atualmente instalados, cada um com uma caixa de seleção para ativá-lo ou " +"desativá-lo." -#: C/formats.page:22(p) +#. (itstool) path: note/p +#: C/other-plugins.page:25 msgid "" -"Shotwell also supports video files in any format supported by the GStreamer " -"media library on the system where Shotwell is running. This typically " -"includes the following formats among others:" +"Full documentation on how to develop new plugins is available at http://redmine.yorba.org/projects/shotwell/wiki/" +"ShotwellArchWritingPlugins" msgstr "" -"O Shotwell também oferece suporte a arquivos de vídeo em qualquer formato " -"reconhecido pela biblioteca de mídia GStreamer no sistema no qual o Shotwell " -"está em execução. Isso normalmente inclui os seguintes formatos, entre " -"outros:" +"A documentação completa de como desenvolver novos plug-ins está disponível " +"em http://redmine.yorba.org/projects/shotwell/wiki/" +"ShotwellArchWritingPlugins" -#: C/formats.page:25(p) -msgid "Container formats: Ogg, QuickTime, MP4, AVI." -msgstr "Formatos de contêineres: Ogg, QuickTime, MP4, AVI." +#. (itstool) path: info/desc +#: C/raw.page:7 +msgid "More about RAW support in Shotwell." +msgstr "Mais informações sobre o suporte de arquivos RAW no Shotwell." + +#. (itstool) path: page/title +#: C/raw.page:12 +msgid "RAW support in Shotwell" +msgstr "Suporte de arquivos RAW no Shotwell" -#: C/formats.page:26(p) +#. (itstool) path: page/p +#: C/raw.page:13 msgid "" -"Codecs: Theora, Quicktime, MPEG-4, Motion JPEG. Note that some operating " -"systems may not include all codecs listed here due to legal or licensing " -"restrictions." +"Some cameras have the ability to store data directly off the sensor and into " +"a file that contains extra color information; this is commonly referred to " +"as 'RAW' or 'camera RAW', and Shotwell supports these files as well." msgstr "" -"Codificadores: Theora, QuickTime, MPEG-4, Motion JPEG. Note que alguns " -"sistemas operacionais podem não incluir todos os listados aqui devido a " -"restrições legais ou de licenciamento." +"Algumas câmeras têm a capacidade de armazenar em um arquivo dados " +"diretamente do sensor e que contém informações adicionais de cor; este " +"formato de arquivo é comumente chamado de 'RAW' ou 'câmera RAW', e o " +"Shotwell também oferece suporte a esse tipo de arquivo." -#: C/formats.page:30(p) +#. (itstool) path: page/p +#: C/raw.page:18 msgid "" -"Shotwell supports both photos and videos, but for simplicity, this " -"documentation uses just the term \"photos\" in most places. Many operations " -"in Shotwell apply to both photos and videos, however. In particular, events, " -"flagging, rating, tagging, and publishing work both for photos and for " -"videos." +"Since RAW photographs normally cannot be displayed directly, but must be " +"first developed - that is, have their extra information interpreted and " +"readied for displaying - most cameras will either embed a JPEG inside a RAW-" +"format file, or produce a JPEG alongside the RAW file at the time the " +"snapshot is taken. The latter is referred to throughout this document as RAW" +"+JPEG. If you import a RAW+JPEG pair, Shotwell will keep them paired and " +"treat them as one item in your library." msgstr "" -"O Shotwell oferece suporte a arquivos de fotos e vídeos, mas, para " -"simplificar, esta documentação utiliza apenas o termo \"fotos\" na maioria " -"dos lugares. A maioria das operações no Shotwell se aplicam à fotos e " -"vídeos, como eventos, marcações, avaliações, atribuição de etiquetas e " -"publicações." - -#: C/edit-undo.page:7(desc) -msgid "Return a photo to its original, unedited form." -msgstr "Retorne uma foto para sua forma original, não editada." - -#: C/edit-undo.page:14(title) -msgid "Undoing changes" -msgstr "Desfazendo alterações" +"Como fotos RAW normalmente não podem ser exibidas diretamente, mas precisam " +"ser tratadas antes - precisam da sua informação adicional corretamente " +"interpretada para possibilitar a exibição - a maioria das câmeras incorpora " +"uma imagem JPEG dentro de um arquivo RAW, ou gera uma imagem JPEG junto com " +"o arquivo RAW no momento em que foto é tirada. Este segundo formato é " +"chamado ao longo deste documento como \"RAW+JPEG\". Se você importar um par " +"de arquivos RAW+JPEG, o Shotwell irá mantê-los emparelhados e tratá-los como " +"um único item na sua biblioteca." -#: C/edit-undo.page:16(p) +#. (itstool) path: page/p +#: C/raw.page:27 msgid "" -"Because Shotwell is a non-destructive photo editor, you can undo any " -"alterations you make to a photograph." +"When you import a RAW file, you can choose to either use the camera's " +"internally-developed JPEG or Shotwell's by selecting PhotosDeveloper in the menus." msgstr "" -"Como o Shotwell é um editor de foto não-destrutivo, você pode desfazer " -"quaisquer alterações que você fez para uma foto." +"Quando você importa um arquivo RAW, você pode optar por usar a imagem JPEG " +"gerada pela câmera ou uma gerada pelo Shotwell no menu em " +"FotosDesenvolvedor." -#: C/edit-undo.page:18(p) C/edit-nondestructive.page:16(p) +#. (itstool) path: note/p +#: C/raw.page:33 msgid "" -"If you want to see what a photo looked like before your modifications, press " -"the Shift key. The original photo will be displayed as long as " -"you hold the key down." +"Changing between developers will cause all edits made to a photograph to be " +"discarded." msgstr "" -"Para ver a foto antes de suas alterações, pressione a tecla Shift. A foto original será exibida enquanto você mantiver pressionada a " -"tecla." +"Mudar o desenvolvedor de uma foto fará com que todas as alterações feitas " +"nela pelo Shotwell sejam descartadas." -#: C/edit-undo.page:20(p) +#. (itstool) path: page/p +#: C/raw.page:39 msgid "" -"To completely undo all the changes you've made to a photo, click " -"PhotosRevert to Original. The only " -"exception is that time and date adjustments will not be reverted." +"In order to publish or use a RAW photograph in most other software, it has " +"to be exported first. Shotwell can export your RAW photos in JPEG, PNG, TIFF " +"or BMP format, and, when publishing, will internally export a JPEG version " +"for you and publish that." msgstr "" -"Para desfazer todas as alterações feitas a uma foto, use o item de menu " -"FotosReverter para o original. A " -"única exceção é que os ajustes de hora e data não serão revertidos." +"Para publicar ou utilizar uma foto RAW na maioria dos outros softwares, você " +"precisará antes exportá-la. O Shotwell pode exportar suas fotos RAW nos " +"formatos JPEG, PNG, TIFF ou BMP, e, se uma foto RAW for publicada, ela será " +"internamente exportada para JPEG e é imagem exportada que será publicada." -#: C/edit-date-time.page:7(desc) -#| msgid "Change the time and date of photos if those details are incorrect." -msgid "Change the date and time of photos if those details are incorrect." +#. (itstool) path: info/desc +#: C/running.page:7 +msgid "" +"Find Shotwell in the Applications menu, or have it start automatically when " +"you plug in a camera." msgstr "" -"Corrija a data e a hora de fotos, se essas informações estiverem incorretas." +"Encontre o Shotwell no menu de aplicativos, ou inicie-o automaticamente " +"quando você conecta uma câmera." -#: C/edit-date-time.page:12(title) -#| msgid "Adjust the time and date of photos" -msgid "Adjust the date and time of photos" -msgstr "Ajustando a data e a hora de fotos" +#. (itstool) path: page/title +#: C/running.page:14 +msgid "Running Shotwell" +msgstr "Executando o Shotwell" -#: C/edit-date-time.page:14(p) -#| msgid "" -#| "To adjust the time and date of photos, select the photos you would like " -#| "to adjust, choose PhotosAdjust Time and Date and select a new time and date." +#. (itstool) path: page/p +#: C/running.page:16 msgid "" -"To adjust the date and time of photos, select the photos you would like to " -"adjust, choose PhotosAdjust Date and Time... and select a new date and time." +"Once installed, Shotwell is available in your Applications menu " +"under Graphics or Photography." msgstr "" -"Para ajustar a data e a hora das fotos, selecione as fotos que você gostaria " -"de ajustar, use o item do menu FotosAjustar data e " -"hora... e selecione uma nova data e hora." +"Uma vez instalado, o Shotwell estará disponível no seu menu " +"Aplicativos sob a categoria Gráficos ou " +"Fotografia." -#: C/edit-date-time.page:16(p) +# Atualmente, essas preferências são acessadas de outra forma... +#. (itstool) path: page/p +#: C/running.page:18 msgid "" -"If you are changing the date and time of multiple photos at once, you can " -"choose to shift all the photos by the same amount of time or to set all the " -"photos to the same time." +"Shotwell may also be executed automatically when a camera is plugged in to " +"your computer. To check that your system is set up to run Shotwell when a " +"camera is detected, go to EditPreferences in any Nautilus (file browser) window and choose the Media tab.  You'll see a dropdown box entitled Photos: which lets " +"you choose Shotwell as your photo handling application." msgstr "" -"Se você estiver alterando a data e hora de várias fotos de uma só vez, você " -"pode optar por mover a data e hora de todas as fotos pela mesma quantidade " -"de tempo ou por definir todas as fotos na mesma data e hora." +"O Shotwell também pode ser executado automaticamente quando uma câmera é " +"conectada ao computador. Para verificar se o sistema está configurado para " +"executar o Shotwell quando uma câmera é detectada, vá em " +"EditarPreferências em qualquer janela " +"do Nautilus (gerenciador de arquivos) e escolha a guia Mídia. " +"Você verá uma caixa seleção intitulada Fotos: que permite " +"escolher o Shotwell como seu aplicativo para manipular fotos." -#: C/edit-date-time.page:18(p) -#| msgid "" -#| "By default, the time and date are only changed inside Shotwell. You can " -#| "also choose to modify the time and date in the original file, but this " -#| "cannot be undone once you exit Shotwell." +#. (itstool) path: note/p +#: C/running.page:25 msgid "" -"By default, the date and time are only changed inside Shotwell. You can also " -"choose to modify the date and time in the original file, but this cannot be " -"undone once you exit Shotwell." +"Shotwell may also be executed directly from its build directory, although " +"this is only recommended for testing out Shotwell or for developers." msgstr "" -"Por padrão, a data e a hora são só alterados dentro do Shotwell. Você também " -"pode optar por modificar a data e hora no arquivo original, mas isso não " -"pode ser desfeito depois de sair do Shotwell." +"O Shotwell também pode ser executado diretamente de seu diretório de " +"compilação, embora isso só seja recomendado para testar o Shotwell ou para " +"desenvolvedores." -#: C/edit-straighten.page:7(desc) -msgid "Straighten a photo so that its horizon appears level." -msgstr "Endireitar uma foto para que seu horizonte pareça nivelado." +#. (itstool) path: info/desc +#: C/share-background.page:7 +msgid "" +"Set your desktop background to a single photo or to a slideshow of photos." +msgstr "" +"Defina o pano de fundo de sua área de trabalho com uma única foto ou uma " +"apresentação de slides de fotos." -#: C/edit-straighten.page:12(title) -msgid "Straighten photos" -msgstr "Endireitando fotos" +#. (itstool) path: page/title +#: C/share-background.page:12 +msgid "Set a desktop background or slideshow" +msgstr "Definindo o plano de fundo da área de trabalho" -#: C/edit-straighten.page:14(p) +#. (itstool) path: page/p +#: C/share-background.page:14 msgid "" -"The straighten tools allows photos to be leveled and straightened. The " -"straighten tool is only available in full-window or fullscreen mode." +"To set a single photo as your desktop background, select the photo and " +"choose FileSet as Desktop Background." msgstr "" -"A ferramenta de endireitar permite que as fotos sejam nivelados e " -"endireitadas. A ferramenta de endireitar só está disponível nos modos de " -"janela toda ou tela cheia." +"Para definir uma única foto como plano de fundo da área de trabalho, " +"selecione a foto e use o item de menu ArquivoDefinir " +"como plano de fundo da área de trabalho." -#: C/edit-straighten.page:18(p) +#. (itstool) path: page/p +#: C/share-background.page:16 msgid "" -"Click Straighten. The straighten slider will appear. " -"Alternatively, use the keyboard shortcut CtrlA." +"You can also set your background to a slideshow of photos. To do this, " +"select the photos for the slideshow and choose FileSet as Desktop Slideshow.... Shotwell will prompt " +"you for a slideshow delay, which can be any interval up to one day in " +"length. The background slideshow will proceed even when Shotwell is not " +"running." msgstr "" -"Clique em Endireitar. O controle de endireitar aparecerá. Como " -"alternativa, use o atalho de teclado CtrlA." +"Você também pode definir o plano de fundo da área de trabalho como uma " +"apresentação de slides de fotos. Para fazer isso, selecione as fotos para a " +"apresentação de slides e use o item de menu Arquivo" +"Definir apresentação de slides da área de trabalho.... O " +"Shotwell pedirá um intervalo de tempo entre as fotos, que pode ser de até um " +"dia de comprimento. A troca de fotos do fundo da área de trabalho funciona " +"mesmo quando o Shotwell não está em execução." -#: C/edit-straighten.page:21(p) -msgid "Drag the slider to achieve the desired degree of straightening." -msgstr "" -"Arraste o controle deslizante para atingir o grau desejado de endireitamento." +#. (itstool) path: info/desc +#: C/share-export.page:7 +msgid "Copy photos out of Shotwell so you can put them somewhere else." +msgstr "Copie fotos fora do Shotwell para colocá-las em outro lugar." -#: C/edit-straighten.page:24(p) -#| msgid "Press OK when finished." -msgid "Press Straighten when finished." -msgstr "Pressione Endireitar quando tiver terminado." +#. (itstool) path: page/title +#: C/share-export.page:12 +msgid "Exporting photos" +msgstr "Exportando fotos" -#: C/edit-rotate.page:7(desc) +#. (itstool) path: page/p +#: C/share-export.page:14 msgid "" -"Click the Rotate button, or choose one of the commands in the " -"Photo menu." +"To export photos from Shotwell via drag and drop, drag the photos from " +"Shotwell onto a file manager window or your desktop. The new files will be " +"full-sized copies of the photos in your library." msgstr "" -"Clique no botão Girar, ou use um dos comandos no menu Foto." - -#: C/edit-rotate.page:12(title) -msgid "Rotate or flip a photo" -msgstr "Girando ou invertendo uma foto" +"Para exportar fotos do Shotwell via arrastar e soltar, arraste as fotos do " +"Shotwell para uma janela do gerenciador de arquivos ou para sua área de " +"trabalho. Os novos arquivos serão cópias das fotos em sua biblioteca." -#: C/edit-rotate.page:14(p) +#. (itstool) path: page/p +#: C/share-export.page:18 msgid "" -"You can rotate your photos left and right (clockwise and counterclockwise) " -"with the Rotate button on the toolbar of most views. You can also " -"make a mirror image of any photo." +"Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting " +"you fine-tune the size and dimensions of your photo files. A window will " +"appear allowing you to make several choices:" msgstr "" -"Você pode girar suas fotos para a esquerda e para a direita (sentido horário " -"e anti-horário) com o botão Girar da barra de ferramentas da " -"maioria das visões. Você também pode inverter/espelhar uma foto, tanto " -"horizontalmente quanto verticalmente." +"Como alternativa, selecione um conjunto de fotos e use o item de menu " +"ArquivoExportar... ou pressione o " +"conjunto de teclas CtrlShiftE. Aparecerá uma janela que lhe permite fazer várias escolhas:" + +#. (itstool) path: item/p +#: C/share-export.page:24 +msgid "A format for export." +msgstr "Um formato para exportar." -#: C/edit-rotate.page:16(p) +#. (itstool) path: item/p +#: C/share-export.page:27 msgid "" -"To rotate right, click on the Rotate button. To rotate left, " -"press and hold the Ctrl key and then click the button. Both " -"commands are available in the Photos menu too. Alternatively, use " -"the following keyboard shortcuts:" +"Choose Unmodified to export photos in their original format " +"without any edits made in Shotwell. RAW photos will be exported in their " +"original RAW format." msgstr "" -"Para girar à direita, clique no botão Girar. Para girar à " -"esquerda, mantenha pressionada a tecla Ctrl e clique no botão " -"Girar. Ambos os comandos estão disponíveis também no menu " -"Fotos. Como alternativa, use os seguintes atalhos de teclado:" +"Escolha Não modificado para exportar fotos em seu formato " +"original, sem qualquer alteração feita no Shotwell. Fotos RAW serão " +"exportados no formato RAW original." -#: C/edit-rotate.page:18(p) +#. (itstool) path: item/p +#: C/share-export.page:29 msgid "" -"rotate left: ShiftCtrlR or " -"[" +"Choose Current to export photos including edits made in Shotwell. " +"RAW photos will be exported in JPEG format if you have edited them in " +"Shotwell, and otherwise in their original RAW format." msgstr "" -"girar à esquerda: ShiftCtrlR ou [" +"Escolha Atual para exportar fotos, incluindo as edições feitas no " +"Shotwell. Fotos RAW serão exportadas em formato JPEG, se você tiver as " +"editado no Shotwell, ou em seu formato RAW original, caso contrário." -#: C/edit-rotate.page:19(p) +#. (itstool) path: item/p +#: C/share-export.page:31 msgid "" -"rotate right: CtrlR or ]" +"Or you can choose a particular image format (JPEG, PNG, TIFF, BMP) to be " +"used for exporting. Any edits made in Shotwell will be included, and " +"Shotwell will convert photos to the destination format." +msgstr "" +"Ou você pode escolher um formato de imagem (JPEG, PNG, TIFF, BMP) a ser " +"utilizado para a exportação. As alterações feitas no Shotwell serão " +"incluídas, e o Shotwell vai converter fotos para o formato escolhido." + +#. (itstool) path: item/p +#: C/share-export.page:37 +msgid "The image quality for exporting (Low, Medium, High, or Maximum)." msgstr "" -"girar à direita: CtrlR ou ]" +"A qualidade da imagem para a exportação (Baixo, Médio, Alto, ou Máximo)." -#: C/edit-rotate.page:21(p) +#. (itstool) path: item/p +#: C/share-export.page:38 msgid "" -"To create a mirror image of a photo, use the Flip Horizontally " -"command in the Photos menu. To flip an image vertically, use the " -"Flip Vertically command in the same menu." +"A scaling constraint (which means how Shotwell will decide to scale the " +"photos down), and the desired pixel size." msgstr "" -"Para espelhar uma foto horizontalmente, use o item Inverter " -"horizontalmente do menu Fotos. Para espelhar uma foto " -"verticalmente, use o item Inverter verticalmente do mesmo menu." +"Uma restrição de escala (como o que significa que o Shotwell irá diminuir as " +"fotos quando se necessário), e o número de pixeis desejado." -#: C/edit-rotate.page:24(p) +#. (itstool) path: item/p +#: C/share-export.page:39 msgid "" -"If you select more than one image, you can rotate all of them at the same " -"time." +"The option whether you like to export metadatas such as tags or ratings. " +"This can help to save your privacy if you have geolocation tags or tags " +"which shouldn't be seen by anyone." msgstr "" -"Se você selecionar mais de uma foto, você pode girar todas ao mesmo tempo." +"A opção se você deseja exportar metadados, como etiquetas ou avaliações. " +"Isso pode ajudar a manter a sua privacidade, se você tem etiquetas de " +"geolocalização que não devem ser vistas por qualquer um." -#: C/edit-redeye.page:7(desc) +#. (itstool) path: page/p +#: C/share-export.page:42 msgid "" -"Correct photos where people have red eyes because of the camera's flash." +"If selected, Shotwell will write tags, titles, and other metadata to the new " +"files." msgstr "" -"Corrija fotos onde as pessoas ficam com os olhos vermelhos por causa do " -"flash da câmera." - -#: C/edit-redeye.page:12(title) -msgid "Removing red-eye" -msgstr "Removendo olhos vermelhos" +"Se selecionado, o Shotwell vai escrever as etiquetas, títulos e outros " +"metadados nos arquivos criados na exportação." -#: C/edit-redeye.page:14(p) +#. (itstool) path: info/desc +#: C/share-print.page:7 msgid "" -"Red-eye occurs when the camera's flash reflects off the pupil of someone's " -"eye. To eliminate this in a photo, use the Red-eye tool." +"Click FilePrint.... For more printing " +"options, select the Page Setup tab in the Print dialog." msgstr "" -"Olhos vermelhos ocorrem quando o flash da câmera reflete a pupila do olho de " -"alguém. Para eliminar este efeito em uma foto, use a ferramenta de remoção " -"de olhos vermelhos." +"Use o item de menu ArquivoImprimir.... Para mais opções de impressão, use a guia Configurar Página na janela Imprimir." -#: C/edit-redeye.page:17(p) -msgid "Click Red-eye. A circle will appear on the photo." -msgstr "Clique Olhos vermelhos. Um círculo aparecerá na foto." +#. (itstool) path: page/title +#: C/share-print.page:12 +msgid "Printing" +msgstr "Imprimindo" -#: C/edit-redeye.page:20(p) +#. (itstool) path: page/p +#: C/share-print.page:14 msgid "" -"Drag the circle over the affected pupil, adjust its size with the slider " -"control, and press Apply. The redness will be removed." +"To print a photo, select it and choose FilePrint...." msgstr "" -"Posicione o círculo sobre a pupila afetada, ajuste seu tamanho com o " -"controle deslizante, e pressione Aplicar. A vermelhidão será " -"removida." +"Para imprimir uma foto, selecione-a e use o menu ArquivoImprimir...." -#: C/edit-redeye.page:23(p) +#. (itstool) path: page/p +#: C/share-print.page:16 msgid "" -"Repeat this process for all red pupils in your photo. Press Close " -"when finished." +"Shotwell can also print multiple images in one page; to do this, select " +"multiple images, choose FilePrint..., " +"and in the Print dialog, choose the Image Settings " +"tab. In Image Settings, choose one of the multiple-image-per-page " +"options under Autosize." msgstr "" -"Repita esse processo para todas as pupilas afetadas na foto. Clique em " -"Fechar quando terminar." +"O Shotwell também pode imprimir várias fotos em uma única página; para fazer " +"isso, selecione múltiplas fotos e use o menu ArquivoImprimir... e, na caixa de diálogo de impressão, " +"escolha a aba Configurações da imagem. Nela, escolha uma das " +"várias opções de quantidade de imagens por página em Tamanho " +"automático." -#: C/edit-nondestructive.page:7(desc) +#. (itstool) path: page/p +#: C/share-print.page:23 msgid "" -"Shotwell is a non-destructive photo editor - it does not modify your " -"original photos." +"If you would like to set formatting, paper size, and orientation options, " +"choose the Page Setup tab in the Print dialog prior to " +"printing." msgstr "" -"O Shotwell é um editor de foto não-destrutivo - ele não modifica suas fotos " -"originais." +"Para definir a formatação da impressão, tamanho do papel e opções de " +"orientação, escolha a aba Configurar página na caixa de diálogo " +"Imprimir antes da impressão." -#: C/edit-nondestructive.page:12(title) -msgid "What happens to the original when I edit a photo?" +#. (itstool) path: info/desc +#: C/share-send.page:7 +msgid "Send photos via email, instant messaging or in other ways." msgstr "" -"O que acontece com o arquivo original quando eu editar uma foto no Shotwell?" +"Envie fotos por e-mail, mensageiro instantâneo (como MSN, Gtalk/Hangouts, " +"ICQ, etc.) e outros." + +#. (itstool) path: page/title +#: C/share-send.page:12 +msgid "Sending photos" +msgstr "Enviando fotos" -#: C/edit-nondestructive.page:14(p) +#. (itstool) path: page/p +#: C/share-send.page:14 msgid "" -"Shotwell is a non-destructive photo editor. It does not modify your original " -"photographs. That is to say, if you crop a photo or adjust its colors, the " -"photo file on disc remains untouched. Shotwell stores your edits in a " -"database and applies them on the fly as necessary. This means you can undo " -"any alterations you make to a photograph." +"Shotwell can send photos using the GNOME desktop's Send To mechanism, which " +"lets you send photos via email, instant messaging or in other ways." msgstr "" -"O Shotwell é um editor de foto não-destrutivo. Ele não modifica suas fotos " -"originais. Ou seja, se você cortar uma foto ou ajustar suas cores, o arquivo " -"de foto no disco permanece não alterado. O Shotwell armazena as suas edições " -"em um banco de dados os aplica em tempo real, quando necessário. Isto " -"significa que você pode desfazer quaisquer alterações que você faz para uma " -"foto." +"O Shotwell pode enviar fotos usando o mecanismo 'Enviar Para' da área de " +"trabalho GNOME, que permite o envio por e-mail, mensagens instantâneas e " +"outras formas." -#: C/edit-nondestructive.page:18(p) +#. (itstool) path: page/p +#: C/share-send.page:16 msgid "" -"Note that Shotwell can optionally write metadata (such as tags and titles) " -"to photo files. For more information, see the section Photo files." +"To send photos, select them in Shotwell and choose FileSend To..., or right-click the photos and choose " +"Send To... from the context menu. A Send To dialog box " +"will appear which lets you choose a mechanism for sending the files (such as " +"email or instant messaging) and a destination. You can optionally choose to " +"send the files in a compressed format." msgstr "" -"Note que o Shotwell pode, opcionalmente, gravar metadados (como etiquetas e " -"títulos) nos arquivos originais das fotos. Para obter mais informações, " -"consulte a seção Arquivos de fotos." +"Para enviar fotos, selecione-as no Shotwell e escolha ArquivoEnviar para..., ou clique com o botão direito nas " +"fotos e escolha Enviar para... no menu de contexto. A caixa de " +"diálogo Enviar para permite que você escolha um mecanismo para o " +"envio de arquivos (como e-mail ou mensageiro instantâneo) e um destino. É " +"possível optar por enviar os arquivos em um formato compactado." -#: C/edit-external.page:7(desc) -msgid "Use a different program to edit a photo." -msgstr "Use um programa diferente para editar fotos." +#. (itstool) path: info/desc +#: C/share-slideshow.page:7 +msgid "Watch a slideshow of your photos." +msgstr "Veja uma apresentação de slides de suas fotos." -#: C/edit-external.page:12(title) -msgid "Edit photos with an external program" -msgstr "Editando fotos com um programa externo" +#. (itstool) path: page/title +#: C/share-slideshow.page:12 +msgid "Slideshows" +msgstr "Apresentação de slides" -#: C/edit-external.page:16(p) +#. (itstool) path: page/p +#: C/share-slideshow.page:14 msgid "" -"You might want to use an external editor to do additional work on a photo. " -"If installed, GIMP and UFRaw are the default external editors for photo and " -"RAW editing, respectively. If these programs are not installed, you must " -"select your preferred editors by choosing EditPreferences and selecting editors from drop-down " -"menus of installed applications." +"To see a sideshow of any collection in Shotwell, navigate to that collection " +"and select ViewSlideshow or press " +"F5." msgstr "" -"Você pode querer ou precisar usar um editor externo para fazer trabalhos " -"adicionais nas fotos. Se instalados, GIMP e UFRaw são os editores externos " -"padrão para edição de fotos e arquivos RAW, respectivamente. Se esses " -"programas não estão instalados, você deve selecionar seus editores " -"preferidos usando o item do menu EditarPreferências e selecionando editores na lista dos aplicativos instalados." +"Para ver uma apresentação de slides de qualquer coleção no Shotwell, navegue " +"até ela e use o menu VerApresentação de " +"slides ou pressione a tecla F5." -#: C/edit-external.page:24(p) -msgid "" -"Once your editors have been set, select a photo and choose " -"PhotosOpen With External Editor to " -"open the photo with the external editor. Likewise, if the original photo is " -"a RAW file, select PhotosOpen With RAW Editor to edit the RAW file directly with the set RAW editor." -msgstr "" -"Quando os editores forem definidos, selecione uma foto e use o item de menu " -"FotosAbrir com o editor externo para " -"abrir a foto com o editor externo. Da mesma forma, se a foto original é um " -"arquivo RAW, use o item de menu FotosAbrir com " -"editor de RAW para editar o arquivo RAW diretamente com o " -"editor definido." +#. (itstool) path: page/p +#: C/share-slideshow.page:16 +msgid "You can change some settings in a running slideshow:" +msgstr "Você pode ajustar as configurações durante uma apresentação de slides:" -#: C/edit-external.page:31(p) -msgid "" -"When you complete your edits and save the file, Shotwell will detect the " -"changes and update the photo. When external edits have been made, press and " -"hold the Shift key in full-window view to show the original photo " -"rather than the externally-edited one." -msgstr "" -"Ao concluir suas edições e salvar o arquivo, o Shotwell irá detectar as " -"alterações e atualizar a foto. Quando as edições externas forem feitas, " -"mantenha pressionada a tecla Shift na vista de \"toda janela\" " -"para mostrar a foto original, ao invés da editada." +#. (itstool) path: item/p +#: C/share-slideshow.page:19 +msgid "The duration how long an image should be shown: 1 - 30 seconds" +msgstr "A duração em que a mesma foto é exibida: de 1 a 30 segundos" -#: C/edit-external.page:38(p) -msgid "Reverting to original will erase any external edits." -msgstr "Revertendo à original vai apagar todas as edições externas." +#. (itstool) path: item/p +#: C/share-slideshow.page:20 +msgid "You can select different transition effects." +msgstr "Mudar os efeitos de transição entre as fotos." -#: C/edit-external.page:43(p) -msgid "" -"If you externally edit a RAW photo and save the result to another image, " -"such as a JPEG or PNG, Shotwell cannot automatically determine that the " -"original RAW and the new image should be paired." -msgstr "" -"Se você editar externamente uma foto RAW e salvar o resultado em outra " -"imagem, tal como um JPEG ou PNG, o Shotwell não conseguirá determinar " -"automaticamente que a foto RAW original e a nova imagem devem ser " -"emparelhadas." +#. (itstool) path: item/p +#: C/share-slideshow.page:21 +msgid "The time for each transition effect: 0.1 - 1.0 seconds" +msgstr "A duração de cada efeito de transição: de 0,1 a 1,0 segundos" -#: C/edit-external.page:49(p) -msgid "" -"If you want to work within the resulting image within Shotwell, you'll need " -"to import it yourself." +#. (itstool) path: info/desc +#: C/share-upload.page:7 +msgid "Publish photos to Facebook, Flickr, Picasa Web Albums, or other sites." msgstr "" -"Se você quer usar a imagem resultante dentro do Shotwell, você precisa " -"importá-la." +"Publique fotos para o Facebook, Flickr, Picasa Web Albums, ou outros lugares." + +#. (itstool) path: page/title +#: C/share-upload.page:12 +msgid "Publishing to the Web" +msgstr "Publicando para a web" -#: C/edit-enhance.page:7(desc) +#. (itstool) path: page/p +#: C/share-upload.page:14 msgid "" -"Let Shotwell improve the brightness and contrast of a photo automatically." +"Through the use of plugins, Shotwell can " +"publish photos and videos to the following services, each of which requires " +"an account:" msgstr "" -"Deixe o Shotwell melhorar o brilho e o contraste de uma foto automaticamente." +"Através do uso de plug-ins, o Shotwell " +"pode publicar fotos e vídeos para os seguintes serviços (cada um necessita " +"de uma conta):" -#: C/edit-enhance.page:14(title) -msgid "Auto-enhance" -msgstr "Automelhoramento" +#. (itstool) path: item/p +#: C/share-upload.page:18 +msgid "Facebook" +msgstr "Facebook" -#: C/edit-enhance.page:16(p) -msgid "" -"Clicking on the Enhance button is a quick way to automatically " -"adjust the brightness and contrast of your photo. It will often give you a " -"photo that is correctly exposed. You can also use it as a starting point and " -"then improve the adjustments by clicking on the Adjust button." -msgstr "" -"Clicando no botão Melhorar é uma maneira rápida de ajustar " -"automaticamente o brilho e o contraste da foto. O resultado, normalmente, " -"será uma foto com exposição correta. Você também pode usá-la como ponto de " -"partida e, em seguida, melhorar os ajustes clicando sobre o botão de " -"Ajustar." +#. (itstool) path: item/p +#: C/share-upload.page:19 +msgid "Flickr" +msgstr "Flickr" -#. When image changes, this message will be marked fuzzy or untranslated for you. -#. It doesn't matter what you translate it to: it's not used at all. -#: C/edit-crop.page:42(None) +#. (itstool) path: item/p +#: C/share-upload.page:20 msgid "" -"@@image: 'figures/crop_thirds.jpg'; md5=4cf0a026bb812c7eab0c9db8210a9524" +"Picasa Web Albums and " +"Google+" msgstr "" -"@@image: 'figures/crop_thirds.jpg'; md5=4cf0a026bb812c7eab0c9db8210a9524" - -#: C/edit-crop.page:7(desc) -msgid "Improve the composition of a photo by cutting out parts of it." -msgstr "Melhore a composição de uma foto cortando partes dela." +"Picasa Web Albums e Google+" -#: C/edit-crop.page:12(title) -msgid "Cropping" -msgstr "Cortando" +#. (itstool) path: item/p +#: C/share-upload.page:21 +msgid "YouTube (videos only)" +msgstr "YouTube (somente vídeos)" -#: C/edit-crop.page:14(p) +#. (itstool) path: item/p +#: C/share-upload.page:22 msgid "" -"To reduce the area of a photo and concentrate the viewer's attention on a " -"smaller portion of it, use the Crop tool. The crop tool is only available in " -"full-window or fullscreen mode." +"Yandex.Fotki, a photo site " +"popular in Russia (photos only)" msgstr "" -"Para reduzir a área de uma foto e concentrar a atenção do espectador em uma " -"parte menor dela, use a ferramenta de cortar. A ferramenta de cortar estará " -"disponível apenas nos modos de janela toda ou tela cheia." +"Yandex.Fotki, um site de fotos " +"popular na Rússia (somente fotos)" -#: C/edit-crop.page:19(p) +#. (itstool) path: item/p +#: C/share-upload.page:23 msgid "" -"Double-click on a photo to enter full-window mode, then press the Crop button on the toolbar." +"Any site running the Piwigo photo " +"gallery software (photos only)" msgstr "" -"Clique duas vezes em uma foto para entrar no modo janela toda e use o botão " -"Cortar na barra de ferramentas." +"Qualquer site usando o software de galeria de fotos Piwigo (somente fotos)" -#: C/edit-crop.page:22(p) +#. (itstool) path: page/p +#: C/share-upload.page:26 msgid "" -"A white box, the crop rectangle, will appear over the photo. The lighter " -"portion of the photo within the crop rectangle represents what the photo " -"will look like when you crop it." +"To publish selected photos in a collection, choose EditPreferences and click on the Plugins tab " +"to enable the plugin for the service you want to publish to. Next, choose, " +"FilePublish, press the Publish toolbar button or use CtrlP. You " +"will see a dialog that lets you select a publishing service. You will then " +"need to log in or create an account." msgstr "" -"Um retângulo branco, o \"retângulo de corte\", aparecerá sobre a foto. A " -"parte mais clara da foto dentro do retângulo de corte representa o que a " -"foto parecerá quando você cortá-la." +"Para publicar as fotos selecionadas, use o item do menu EditarPreferências e clique na aba Plug-ins " +"para ativar o plug-in para o serviço correspondente. Em seguida, selecione " +"as fotos/vídeos e use o menu ArquivoPublicar ou pressione o botão Publicar na barra de ferramentas ou, " +"ainda, use as teclas CtrlP. Você verá " +"uma caixa de diálogo que permite selecionar um serviço de publicação. Em " +"seguida, será necessário fazer o login ou criar uma conta." -#: C/edit-crop.page:25(p) +#. (itstool) path: page/p +#: C/share-upload.page:31 msgid "" -"If you place your cursor in the middle of the box, you can move the box " -"around. If you drag the edges of the box, you can adjust its size. As you " -"move and adjust the crop box, you'll see four lines appear inside it, like a " -"tic-tac-toe grid. These are rule of thirds lines." +"Publishing to Facebook requires you to grant certain permissions to the " +"Shotwell Facebook application. You only need to grant these permissions " +"once, when you first associate Shotwell with your Facebook account." msgstr "" -"Arraste o retângulo para posicioná-lo e ajuste seu tamanho, arrastando suas " -"bordas. Quando você move ou ajustar o tamanho do retângulo de corte, " -"aparecem quatro linhas dentro dele, como uma grade de jogo da velha: são as " -"linhas da regra dos terços." +"Publicar para o Facebook necessita que você conceda algumas permissões para " +"o aplicativo Facebook do Shotwell. Você só precisará conceder essas " +"permissões quando usar o Shotwell para publicar fotos/vídeos no Facebook " +"pela primeira vez." -#: C/edit-crop.page:26(p) +#. (itstool) path: note/p +#: C/share-upload.page:34 msgid "" -"You can also constrain the crop box to one of many common sizes. Choose a " -"size from the drop-down list that suits your needs. If you press the flip " -"button next to it, the orientation of the constraint will switch (from " -"landscape to portrait)." +"You will be only able to publish images with at most the permission you " +"granted to the Shotwell Facebook application" msgstr "" -"Você também pode restringir o retângulo de corte para um de muitos tamanhos " -"comuns. Escolha um tamanho a partir da lista que se adapte às suas " -"necessidades. Se você pressionar o botão ao lado da lista, a orientação da " -"restrição irá mudar (de paisagem para retrato, e vice-versa)." +"Você apenas conseguirá publicar imagens com a permissão que você concedeu " +"para o aplicativo Facebook do Shotwell" -#: C/edit-crop.page:29(p) +#. (itstool) path: page/p +#: C/share-upload.page:36 msgid "" -"When you're happy with your crop outline, apply it by pressing the " -"Crop button. Shotwell will display the cropped photo." +"Similarly, publishing to Flickr requires you to log in and permit Shotwell " +"Connect to access your account." msgstr "" -"Após acertar o seu retângulo de corte, aplica a alteração pressionando o " -"botão Cortar. O Shotwell irá mostrar a foto cortada." +"De maneira parecida, publicar fotos/vídeos para o Flickr necessita que você " +"conceda permissões de acesso à sua conta pelo aplicativo." -#: C/edit-crop.page:32(p) +#. (itstool) path: page/p +#: C/share-upload.page:38 msgid "" -"If you change your mind, press the Crop button again and fine-" -"tune the crop." +"If you have a Google account, but have not yet used Picasa Web Albums, you " +"will need to log in to Picasa using a browser once before you can publish to " +"this service." msgstr "" -"Se você mudar de ideia, pressione o botão Cortar novamente e " -"ajuste o corte." +"Se você tiver uma conta Google, mas ainda não utilizou o Picasa Web Albums, " +"você precisará acessá-lo primeiro usando um navegador uma vez antes de " +"conseguir publicar pelo Shotwell." -#: C/edit-crop.page:33(p) +#. (itstool) path: info/desc +#: C/view-displaying.page:7 msgid "" -"If you press Cancel rather than Apply, Shotwell will " -"return to the photo's previous crop dimensions." +"Learn about different ways of viewing your photos: in a grid, filling the " +"main window, or filling the whole screen." msgstr "" -"Se você pressionar Cancelar ao invés de Aplicar, o " -"Shotwell voltará às dimensões anteriores da foto." +"Saiba mais sobre formas diferentes de ver suas fotos: em uma lista, na " +"janela principal, ou em tela cheia." -#: C/edit-crop.page:38(title) -msgid "What is the rule of thirds?" -msgstr "O que é a regra dos terços?" +#. (itstool) path: page/title +#: C/view-displaying.page:12 +msgid "Photo views" +msgstr "Formas de visualização de fotos" -#: C/edit-crop.page:39(p) +#. (itstool) path: page/p +#: C/view-displaying.page:14 msgid "" -"The rule of thirds helps you to choose a pleasing composition for a " -"photo." +"When you select any collection in the sidebar, Shotwell displays all photos " +"in the collection in the main window area. At the bottom right is a slider " +"which adjusts the viewing size of the thumbnails. You may also adjust the " +"thumbnail size using the plus and minus keys (+ and -) " +"or by pressing Ctrl while moving your mouse scroll wheel." msgstr "" -"A regra dos terços ajuda você a escolher uma composição agradável " -"para uma foto." +"Ao selecionar qualquer coleção na barra lateral, o Shotwell exibe todas as " +"fotos dela na área da janela principal. No canto inferior direito há um " +"controle deslizante que ajusta o tamanho das miniaturas. Você também pode " +"ajustar o tamanho das miniaturas utilizando as teclas + e " +"- ou pressionando a tecla Ctrl enquanto move a roda do " +"mouse." -#: C/edit-crop.page:40(p) +#. (itstool) path: page/p +#: C/view-displaying.page:16 msgid "" -"Imagine that the scene is divided up into a 3x3 grid by two equally-spaced " -"vertical lines and two equally-spaced horizontal lines. According to the " -"rule, you're more likely to get a pleasing composition if you align major " -"features (like the horizon, or a person's body) with one of the lines. " -"Paying attention to the way features flow from one part of the grid to " -"another can also help." +"You can view a photo full-window by double-clicking on it. From there you " +"may move to other photos in the collection with the Back and Forward " +"buttons. To return to the collection, double-click on the photo or press " +"Esc." msgstr "" -"Imagine que a cena é dividida em uma grade de 3x3 por duas linhas verticais " -"igualmente espaçadas e duas linhas horizontais igualmente espaçadas. De " -"acordo com a regra, você terá mais chances de obter uma composição agradável " -"se você alinhar as características principais (como o horizonte, ou corpo de " -"uma pessoa) com uma das linhas. Prestar atenção ao caminho que o fluxo de " -"recursos faz de uma parte da grade para outra também pode ajudar." +"Você pode ver uma foto na janela toda dando um clique duplo sobre ela. Lá, " +"você pode mover para outras fotos da coleção com os botões Voltar e Avançar. " +"Para retornar para a coleção, clique duas vezes sobre a foto ou pressione " +"Esc." -#: C/edit-crop.page:41(p) +#. (itstool) path: page/p +#: C/view-displaying.page:18 msgid "" -"Cropping a photo so that it conforms to the rule of thirds often results in " -"a more visually appealing image." +"When viewing a photo in full-window mode, the slider on the toolbar controls " +"zoom. You can pan around by grabbing and dragging anywhere on the photo. You " +"can also zoom using your scroll wheel or by pressing the following keyboard " +"shortcuts: Ctrl0 for the full image, " +"Ctrl1 for 100% (1 photo pixel = 1 screen pixel), " +"and Ctrl2 for 200% (1 photo pixel = 2x2 screen " +"pixels)." msgstr "" -"Cortar uma foto de acordo com a regra dos terços geralmente resulta em uma " -"imagem mais atraente." +"Ao visualizar uma foto na janela toda, existirá um controle deslizante no " +"canto da tela para manipular o zoom da visualização. Você pode movimentar a " +"visualização clicando e arrastando em qualquer lugar da foto. Você também " +"pode aumentar o zoom usando a roda do mouse ou pressionando as teclas: " +"Ctrl0 para mostrar toda a foto, " +"Ctrl1 para 100% de zoom, e " +"Ctrl2 para 200% de zoom." -#: C/edit-crop.page:43(p) +#. (itstool) path: page/p +#: C/view-displaying.page:20 msgid "" -"Cropping a photo, using the \"rule of thirds\" lines to improve the " -"composition." -msgstr "" -"Recortar uma foto, usando a \"regra dos terços\" para melhorar a composição." - -#: C/edit-adjustments.page:7(desc) -msgid "Change the exposure, saturation, tint, and shadows of a photo." +"Shotwell offers a fullscreen mode to display photos. Choose " +"ViewFullscreen or press F11. To see the fullscreen toolbar, move your mouse to the bottom of the " +"screen. The toolbar offers buttons to move through the collection, to pin " +"the toolbar down (so it isn't hidden when you move the mouse away), and to " +"leave fullscreen view." msgstr "" -"Mude a exposição, saturação, matiz/coloração, temperatura, e sombras de uma " -"foto." +"O Shotwell oferece um modo de tela cheia para visualizar fotos. Use o menu " +"VerTela cheia ou pressione a tecla " +"F11. Para ver a barra de ferramentas da visualização da tela " +"cheia, mova o cursor do mouse para a parte inferior da tela. Essa barra de " +"ferramentas oferece botões para percorrer a coleção, para fixar a barra de " +"ferramentas (para que ela não fique oculta quando você tirar o cursor do " +"mouse dela), e para sair dessa visualização." -#: C/edit-adjustments.page:12(title) -msgid "Color adjustments" -msgstr "Ajustes de cor" +#. (itstool) path: section/title +#: C/view-displaying.page:23 +msgid "Viewing videos" +msgstr "Assistindo vídeos" -#: C/edit-adjustments.page:14(p) +#. (itstool) path: section/p +#: C/view-displaying.page:24 msgid "" -"The Adjust button opens a floating window with a histogram and " -"sliders to adjust a photo's exposure, saturation, tint, temperature, and " -"shadows. The histogram also has sliders to reduce the upper and lower " -"intensity thresholds of the photograph, expanding the contrast of the middle " -"range." +"When you double-click a video, Shotwell will launch an external video player " +"to play the video. It's not currently possible to display a video in full-" +"window mode in Shotwell or to play the video within Shotwell itself." msgstr "" -"O botão Ajustar abre uma janela com um histograma e controles " -"deslizantes para ajustar a exposição, saturação, matiz/coloração, " -"temperatura, e sombras de uma foto. O histograma também tem controles " -"deslizantes para reduzir os limiares de intensidade superior e inferior da " -"fotografia, ampliando o contraste da faixa intermediária." +"Ao dar duplo clique num vídeo, o Shotwell irá iniciar um reprodutor externo " +"para exibi-lo. Não é possível, atualmente, mostrar o vídeo na janela toda no " +"Shotwell ou reproduzir o vídeo no próprio Shotwell." -#: C/edit-adjustments.page:16(p) +#. (itstool) path: info/desc +#: C/view-information.page:7 msgid "" -"The Enhance button adjusts the histogram and shadows sliders to " -"improve the quality of a photo." +"View more detailed information about photos, like the exposure mode used by " +"the camera." msgstr "" -"O botão Melhorar ajusta o histograma e sombras automaticamente " -"para melhorar a qualidade de uma foto." +"Exibe informações detalhadas sobre fotos, como o modo de exposição usado " +"pela câmera." -#: C/edit-adjustments.page:18(p) +#. (itstool) path: page/title +#: C/view-information.page:12 +msgid "Basic and extended information" +msgstr "Informações básicas e estendidas" + +#. (itstool) path: page/p +#: C/view-information.page:14 msgid "" -"When the photo's colors and contrast are to your liking, press OK " -"to save the changes. Reset will return the image to its original " -"state. Cancel discards all changes you've made." +"The Basic Information pane appears at the bottom of the sidebar, and " +"displays a brief summary of the photos you've selected. If no photos are " +"selected, it displays a summary of the entire collection. You can toggle the " +"display of this pane using the ViewBasic " +"Information command." msgstr "" -"Após ajustar as cores e o contraste da foto, clique em OK para " -"salvar as alterações. O botão Reiniciar irá retornar a imagem ao " -"seu estado original. O botão Cancelar descarta todas as mudanças " -"que você fez." - -#: C/edit-adjustments.page:21(title) -msgid "What do the color adjustments do?" -msgstr "O que os ajustes fazem?" - -#: C/edit-adjustments.page:24(title) -msgid "Exposure" -msgstr "Exposição" +"Um painel de informações básicas aparece na parte inferior da barra lateral, " +"mostrando um resumo das fotos selecionadas. Se nenhuma foto estiver " +"selecionada, ele exibe um resumo de toda a biblioteca. Você pode alternar a " +"exibição deste painel usando o item de menu Ver" +"Informações Básicas." -#: C/edit-adjustments.page:25(p) +#. (itstool) path: page/p +#: C/view-information.page:16 msgid "" -"Changes the brightness to make it look like the photo was exposed for a " -"longer or shorter time. Use this to correct under- or over-exposed photos." +"The floating Extended Information window displays more information about the " +"selected photo. The ViewExtended Information command or CtrlShiftX toggles the display of this window." msgstr "" -"Altera o brilho para fazer parecer que a foto foi exposta por um tempo maior " -"ou menor. Utilize este ajuste para corrigir fotografias sub ou sobre-" -"expostas." - -#: C/edit-adjustments.page:28(title) -msgid "Saturation" -msgstr "Saturação" +"A janela de informações estendidas exibe mais informações sobre a foto " +"selecionada. O item de menu VerInformações " +"estendidas ou a combinação de teclas " +"CtrlShiftX alterna a " +"exibição desta janela." -#: C/edit-adjustments.page:29(p) +#. (itstool) path: info/desc +#: C/view-sidebar.page:7 msgid "" -"Changes how vivid colors look. If your photo looks gray and washed out, try " -"increasing the saturation. If colors look too bold, try decreasing it." +"The sidebar on the left of the window lists various views of your library." msgstr "" -"Ajusta o quanto vivas parecem as cores. Se a foto parece cinzenta e com " -"cores pouco vivas, tente aumentar a saturação. Se as cores parecem muito " -"ousadas, tente diminuí-la." +"A barra lateral esquerda da janela lista várias visões da sua biblioteca." -#: C/edit-adjustments.page:32(title) -msgid "Tint" -msgstr "Colorir" +#. (itstool) path: page/title +#: C/view-sidebar.page:21 +msgid "The sidebar" +msgstr "A barra lateral" -#: C/edit-adjustments.page:33(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:23 msgid "" -"This tints the photo with a color. It's useful for correcting photos taken " -"with the wrong white balance setting, which typically have an unnatural " -"color cast. For example, photos taken outdoors with the white balance set to " -"\"Tungsten\" may have a blue cast." +"The sidebar on the left side of the Shotwell window lists various views of " +"your library. Although you may see the same photo in multiple views, it's " +"only stored once on your hard drive." msgstr "" -"Este ajuste tinge a foto com uma cor. É útil para corrigir as fotos tiradas " -"com a configuração de equilíbrio de brancos errado, que ficam com cores que " -"não parecem naturais. Por exemplo, fotos tiradas ao ar livre com o balanço " -"de brancos definido como \"Incandescente\" ficam com um tom azulado." - -#: C/edit-adjustments.page:36(title) -msgid "Temperature" -msgstr "Temperatura" +"A barra lateral esquerda da janela lista várias visões da sua biblioteca. " +"Embora você possa ver a mesma foto em várias visões, ela só é armazenada uma " +"vez em seu disco rígido." -#: C/edit-adjustments.page:37(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:25 msgid "" -"Changes how \"warm\" or \"cool\" the picture looks. Use this to make cold, " -"depressing scenes look more lively, for example." +"The Last Import view lists your last imported photos no matter if " +"they are imported from F-Spot, your camera, a memory card or the hard disk." msgstr "" -"Ajusta a forma como a foto parece \"quente\" ou \"fria\". Use-o para fazer " -"que cenas frias e deprimentes pareçam mais animadas, por exemplo." +"A visão Última Importação mostra as últimas fotos importadas de " +"qualquer lugar (câmera, cartão de memória, disco rígido ou do programa F-" +"Spot)." -#: C/edit-adjustments.page:40(title) -msgid "Shadows" -msgstr "Sombras" +#. (itstool) path: page/p +#: C/view-sidebar.page:27 +msgid "The Flagged lists all photos you had previous flagged." +msgstr "A visão Marcadas mostra suas fotos marcadas." -#: C/edit-adjustments.page:41(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:29 msgid "" -"This makes shadowy areas appear lighter. Use this to make detail more " -"visible if it's obscured by the darkness of a shadow." +"The Saved Search allows you to sort your library by many criteria." msgstr "" -"Esse ajuste faz com que áreas de sombra pareçam mais claras. Use-o para " -"fazer os detalhes mais visíveis se eles estão sob de uma sombra." +"A visão Pesquisa salva permite classificar sua biblioteca por " +"vários critérios de pesquisa." -#: C/edit-adjustments.page:44(title) -msgid "Intensity Threshold (sliders on the histogram)" -msgstr "Limiares de intensidade (cantos do histograma)" +#. (itstool) path: page/p +#: C/view-sidebar.page:31 +msgid "" +"The Events folder lists all events in your library. An event is a " +"group of photos that were taken at approximately the same time." +msgstr "" +"A visão Eventos lista todos os eventos em sua biblioteca. Um " +"evento é um grupo de fotos que foram tiradas em datas parecidas." -#: C/edit-adjustments.page:45(p) +#. (itstool) path: page/p +#: C/view-sidebar.page:33 msgid "" -"These sliders change how light the brightest white is and how dark the " -"darkest black is. Use them to change the contrast of the photo. Photos which " -"look washed out should particularly benefit from changing these settings." +"The Tags folder lists all tags you've assigned to photos. Photos " +"can have multiple tags attached to them. When you click on the name of a tag " +"in the sidebar, you will see all the photos associated with that tag." msgstr "" -"Esses controles alteram a forma como o branco é claro e o quão escuro é o " -"preto. Use-os para alterar o contraste da foto. Fotos que parecem " -"desgastadas deverão se beneficiar muito com a alteração dessas configurações." +"A visão Etiquetas lista todas as etiquetas que você colocou nas " +"fotos. Fotos podem ter várias etiquetas. Clicar no nome de uma etiqueta na " +"barra lateral mostra todas as fotos associadas à ela." -#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 -#: C/edit-adjustments.page:0(None) -msgid "translator-credits" -msgstr "Felipe Braga , 2015" +#~ msgid "Facebook" +#~ msgstr "Facebook" + +#~ msgid "Flickr" +#~ msgstr "Flickr" + +#~ msgid "Symbol" +#~ msgstr "Símbolo" + +#~ msgid "" +#~ "@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" +#~ msgstr "" +#~ "@@image: 'figures/shotwell_logo.png'; md5=59de2b2c4fa64ea1497c98452c509dbd" + +#~ msgid "jim@yorba.org" +#~ msgstr "jim@yorba.org" + +#~ msgid "allison@yorba.org" +#~ msgstr "allison@yorba.org" + +#~ msgid "robert.ancell@canonical.com" +#~ msgstr "robert.ancell@canonical.com" + +#~ msgid "pdo.smith@gmail.com" +#~ msgstr "pdo.smith@gmail.com" + +#~ msgid "philbull@gmail.com" +#~ msgstr "philbull@gmail.com" diff --git a/help/pt_BR/pt_BR.stamp b/help/pt_BR/pt_BR.stamp new file mode 100644 index 0000000..e69de29 diff --git a/help/pt_BR/raw.page b/help/pt_BR/raw.page new file mode 100644 index 0000000..c9b4941 --- /dev/null +++ b/help/pt_BR/raw.page @@ -0,0 +1,30 @@ + + + + + + Mais informações sobre o suporte de arquivos RAW no Shotwell. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Suporte de arquivos RAW no Shotwell +

Algumas câmeras têm a capacidade de armazenar em um arquivo dados diretamente do sensor e que contém informações adicionais de cor; este formato de arquivo é comumente chamado de 'RAW' ou 'câmera RAW', e o Shotwell também oferece suporte a esse tipo de arquivo.

+ +

Como fotos RAW normalmente não podem ser exibidas diretamente, mas precisam ser tratadas antes - precisam da sua informação adicional corretamente interpretada para possibilitar a exibição - a maioria das câmeras incorpora uma imagem JPEG dentro de um arquivo RAW, ou gera uma imagem JPEG junto com o arquivo RAW no momento em que foto é tirada. Este segundo formato é chamado ao longo deste documento como "RAW+JPEG". Se você importar um par de arquivos RAW+JPEG, o Shotwell irá mantê-los emparelhados e tratá-los como um único item na sua biblioteca.

+ +

Quando você importa um arquivo RAW, você pode optar por usar a imagem JPEG gerada pela câmera ou uma gerada pelo Shotwell no menu em FotosDesenvolvedor.

+ + +

Mudar o desenvolvedor de uma foto fará com que todas as alterações feitas nela pelo Shotwell sejam descartadas.

+
+ +

Para publicar ou utilizar uma foto RAW na maioria dos outros softwares, você precisará antes exportá-la. O Shotwell pode exportar suas fotos RAW nos formatos JPEG, PNG, TIFF ou BMP, e, se uma foto RAW for publicada, ela será internamente exportada para JPEG e é imagem exportada que será publicada.

+ +
diff --git a/help/pt_BR/running.page b/help/pt_BR/running.page new file mode 100644 index 0000000..f72fe0d --- /dev/null +++ b/help/pt_BR/running.page @@ -0,0 +1,29 @@ + + + + + + Encontre o Shotwell no menu de aplicativos, ou inicie-o automaticamente quando você conecta uma câmera. + + + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Executando o Shotwell + +

Uma vez instalado, o Shotwell estará disponível no seu menu Aplicativos sob a categoria Gráficos ou Fotografia.

+ +

O Shotwell também pode ser executado automaticamente quando uma câmera é conectada ao computador. Para verificar se o sistema está configurado para executar o Shotwell quando uma câmera é detectada, vá em EditarPreferências em qualquer janela do Nautilus (gerenciador de arquivos) e escolha a guia Mídia. Você verá uma caixa seleção intitulada Fotos: que permite escolher o Shotwell como seu aplicativo para manipular fotos.

+ + +

O Shotwell também pode ser executado diretamente de seu diretório de compilação, embora isso só seja recomendado para testar o Shotwell ou para desenvolvedores.

+
+ +
diff --git a/help/pt_BR/share-background.page b/help/pt_BR/share-background.page new file mode 100644 index 0000000..b7d68e3 --- /dev/null +++ b/help/pt_BR/share-background.page @@ -0,0 +1,23 @@ + + + + + + Defina o pano de fundo de sua área de trabalho com uma única foto ou uma apresentação de slides de fotos. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Definindo o plano de fundo da área de trabalho + +

Para definir uma única foto como plano de fundo da área de trabalho, selecione a foto e use o item de menu ArquivoDefinir como plano de fundo da área de trabalho.

+ +

Você também pode definir o plano de fundo da área de trabalho como uma apresentação de slides de fotos. Para fazer isso, selecione as fotos para a apresentação de slides e use o item de menu ArquivoDefinir apresentação de slides da área de trabalho.... O Shotwell pedirá um intervalo de tempo entre as fotos, que pode ser de até um dia de comprimento. A troca de fotos do fundo da área de trabalho funciona mesmo quando o Shotwell não está em execução.

+ +
diff --git a/help/pt_BR/share-export.page b/help/pt_BR/share-export.page new file mode 100644 index 0000000..a47592a --- /dev/null +++ b/help/pt_BR/share-export.page @@ -0,0 +1,38 @@ + + + + + + Copie fotos fora do Shotwell para colocá-las em outro lugar. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Exportando fotos + +

Para exportar fotos do Shotwell via arrastar e soltar, arraste as fotos do Shotwell para uma janela do gerenciador de arquivos ou para sua área de trabalho. Os novos arquivos serão cópias das fotos em sua biblioteca.

+ +

Como alternativa, selecione um conjunto de fotos e use o item de menu ArquivoExportar... ou pressione o conjunto de teclas CtrlShiftE. Aparecerá uma janela que lhe permite fazer várias escolhas:

+ + +

Um formato para exportar.

+ +

Escolha Não modificado para exportar fotos em seu formato original, sem qualquer alteração feita no Shotwell. Fotos RAW serão exportados no formato RAW original.

+

Escolha Atual para exportar fotos, incluindo as edições feitas no Shotwell. Fotos RAW serão exportadas em formato JPEG, se você tiver as editado no Shotwell, ou em seu formato RAW original, caso contrário.

+

Ou você pode escolher um formato de imagem (JPEG, PNG, TIFF, BMP) a ser utilizado para a exportação. As alterações feitas no Shotwell serão incluídas, e o Shotwell vai converter fotos para o formato escolhido.

+
+
+

A qualidade da imagem para a exportação (Baixo, Médio, Alto, ou Máximo).

+

Uma restrição de escala (como o que significa que o Shotwell irá diminuir as fotos quando se necessário), e o número de pixeis desejado.

+

A opção se você deseja exportar metadados, como etiquetas ou avaliações. Isso pode ajudar a manter a sua privacidade, se você tem etiquetas de geolocalização que não devem ser vistas por qualquer um.

+
+ +

Se selecionado, o Shotwell vai escrever as etiquetas, títulos e outros metadados nos arquivos criados na exportação.

+ +
diff --git a/help/pt_BR/share-print.page b/help/pt_BR/share-print.page new file mode 100644 index 0000000..048c377 --- /dev/null +++ b/help/pt_BR/share-print.page @@ -0,0 +1,24 @@ + + + + + + Use o item de menu ArquivoImprimir.... Para mais opções de impressão, use a guia Configurar Página na janela Imprimir. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Imprimindo + +

Para imprimir uma foto, selecione-a e use o menu ArquivoImprimir....

+ +

O Shotwell também pode imprimir várias fotos em uma única página; para fazer isso, selecione múltiplas fotos e use o menu ArquivoImprimir... e, na caixa de diálogo de impressão, escolha a aba Configurações da imagem. Nela, escolha uma das várias opções de quantidade de imagens por página em Tamanho automático.

+ +

Para definir a formatação da impressão, tamanho do papel e opções de orientação, escolha a aba Configurar página na caixa de diálogo Imprimir antes da impressão.

+
diff --git a/help/pt_BR/share-send.page b/help/pt_BR/share-send.page new file mode 100644 index 0000000..2e09851 --- /dev/null +++ b/help/pt_BR/share-send.page @@ -0,0 +1,22 @@ + + + + + + Envie fotos por e-mail, mensageiro instantâneo (como MSN, Gtalk/Hangouts, ICQ, etc.) e outros. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Enviando fotos + +

O Shotwell pode enviar fotos usando o mecanismo 'Enviar Para' da área de trabalho GNOME, que permite o envio por e-mail, mensagens instantâneas e outras formas.

+

Para enviar fotos, selecione-as no Shotwell e escolha ArquivoEnviar para..., ou clique com o botão direito nas fotos e escolha Enviar para... no menu de contexto. A caixa de diálogo Enviar para permite que você escolha um mecanismo para o envio de arquivos (como e-mail ou mensageiro instantâneo) e um destino. É possível optar por enviar os arquivos em um formato compactado.

+ +
diff --git a/help/pt_BR/share-slideshow.page b/help/pt_BR/share-slideshow.page new file mode 100644 index 0000000..3598fef --- /dev/null +++ b/help/pt_BR/share-slideshow.page @@ -0,0 +1,28 @@ + + + + + + Veja uma apresentação de slides de suas fotos. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Apresentação de slides + +

Para ver uma apresentação de slides de qualquer coleção no Shotwell, navegue até ela e use o menu VerApresentação de slides ou pressione a tecla F5.

+ +

Você pode ajustar as configurações durante uma apresentação de slides:

+ + +

A duração em que a mesma foto é exibida: de 1 a 30 segundos

+

Mudar os efeitos de transição entre as fotos.

+

A duração de cada efeito de transição: de 0,1 a 1,0 segundos

+
+
diff --git a/help/pt_BR/share-upload.page b/help/pt_BR/share-upload.page new file mode 100644 index 0000000..cb804b0 --- /dev/null +++ b/help/pt_BR/share-upload.page @@ -0,0 +1,38 @@ + + + + + + Publique fotos para o Facebook, Flickr, Picasa Web Albums, ou outros lugares. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Publicando para a web + +

Através do uso de plug-ins, o Shotwell pode publicar fotos e vídeos para os seguintes serviços (cada um necessita de uma conta):

+ + +

Facebook

+

Flickr

+

Picasa Web Albums e Google+

+

YouTube (somente vídeos)

+

Yandex.Fotki, um site de fotos popular na Rússia (somente fotos)

+

Qualquer site usando o software de galeria de fotos Piwigo (somente fotos)

+
+ +

Para publicar as fotos selecionadas, use o item do menu EditarPreferências e clique na aba Plug-ins para ativar o plug-in para o serviço correspondente. Em seguida, selecione as fotos/vídeos e use o menu ArquivoPublicar ou pressione o botão Publicar na barra de ferramentas ou, ainda, use as teclas CtrlP. Você verá uma caixa de diálogo que permite selecionar um serviço de publicação. Em seguida, será necessário fazer o login ou criar uma conta.

+ +

Publicar para o Facebook necessita que você conceda algumas permissões para o aplicativo Facebook do Shotwell. Você só precisará conceder essas permissões quando usar o Shotwell para publicar fotos/vídeos no Facebook pela primeira vez.

+

Você apenas conseguirá publicar imagens com a permissão que você concedeu para o aplicativo Facebook do Shotwell

+ +

De maneira parecida, publicar fotos/vídeos para o Flickr necessita que você conceda permissões de acesso à sua conta pelo aplicativo.

+ +

Se você tiver uma conta Google, mas ainda não utilizou o Picasa Web Albums, você precisará acessá-lo primeiro usando um navegador uma vez antes de conseguir publicar pelo Shotwell.

+
diff --git a/help/pt_BR/view-displaying.page b/help/pt_BR/view-displaying.page new file mode 100644 index 0000000..69daa8e --- /dev/null +++ b/help/pt_BR/view-displaying.page @@ -0,0 +1,32 @@ + + + + + + Saiba mais sobre formas diferentes de ver suas fotos: em uma lista, na janela principal, ou em tela cheia. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Formas de visualização de fotos + +

Ao selecionar qualquer coleção na barra lateral, o Shotwell exibe todas as fotos dela na área da janela principal. No canto inferior direito há um controle deslizante que ajusta o tamanho das miniaturas. Você também pode ajustar o tamanho das miniaturas utilizando as teclas + e - ou pressionando a tecla Ctrl enquanto move a roda do mouse.

+ +

Você pode ver uma foto na janela toda dando um clique duplo sobre ela. Lá, você pode mover para outras fotos da coleção com os botões Voltar e Avançar. Para retornar para a coleção, clique duas vezes sobre a foto ou pressione Esc.

+ +

Ao visualizar uma foto na janela toda, existirá um controle deslizante no canto da tela para manipular o zoom da visualização. Você pode movimentar a visualização clicando e arrastando em qualquer lugar da foto. Você também pode aumentar o zoom usando a roda do mouse ou pressionando as teclas: Ctrl0 para mostrar toda a foto, Ctrl1 para 100% de zoom, e Ctrl2 para 200% de zoom.

+ +

O Shotwell oferece um modo de tela cheia para visualizar fotos. Use o menu VerTela cheia ou pressione a tecla F11. Para ver a barra de ferramentas da visualização da tela cheia, mova o cursor do mouse para a parte inferior da tela. Essa barra de ferramentas oferece botões para percorrer a coleção, para fixar a barra de ferramentas (para que ela não fique oculta quando você tirar o cursor do mouse dela), e para sair dessa visualização.

+ +
+Assistindo vídeos +

Ao dar duplo clique num vídeo, o Shotwell irá iniciar um reprodutor externo para exibi-lo. Não é possível, atualmente, mostrar o vídeo na janela toda no Shotwell ou reproduzir o vídeo no próprio Shotwell.

+
+ +
diff --git a/help/pt_BR/view-information.page b/help/pt_BR/view-information.page new file mode 100644 index 0000000..facffab --- /dev/null +++ b/help/pt_BR/view-information.page @@ -0,0 +1,23 @@ + + + + + + Exibe informações detalhadas sobre fotos, como o modo de exposição usado pela câmera. + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + Informações básicas e estendidas + +

Um painel de informações básicas aparece na parte inferior da barra lateral, mostrando um resumo das fotos selecionadas. Se nenhuma foto estiver selecionada, ele exibe um resumo de toda a biblioteca. Você pode alternar a exibição deste painel usando o item de menu VerInformações Básicas.

+ +

A janela de informações estendidas exibe mais informações sobre a foto selecionada. O item de menu VerInformações estendidas ou a combinação de teclas CtrlShiftX alterna a exibição desta janela.

+ +
diff --git a/help/pt_BR/view-sidebar.page b/help/pt_BR/view-sidebar.page new file mode 100644 index 0000000..ab424c1 --- /dev/null +++ b/help/pt_BR/view-sidebar.page @@ -0,0 +1,40 @@ + + + + + + A barra lateral esquerda da janela lista várias visões da sua biblioteca. + + + + + + + + + + + + + + Felipe Braga + fbobraga@gmail.com + 2015 + + + + A barra lateral + +

A barra lateral esquerda da janela lista várias visões da sua biblioteca. Embora você possa ver a mesma foto em várias visões, ela só é armazenada uma vez em seu disco rígido.

+ +

A visão Última Importação mostra as últimas fotos importadas de qualquer lugar (câmera, cartão de memória, disco rígido ou do programa F-Spot).

+ +

A visão Marcadas mostra suas fotos marcadas.

+ +

A visão Pesquisa salva permite classificar sua biblioteca por vários critérios de pesquisa.

+ +

A visão Eventos lista todos os eventos em sua biblioteca. Um evento é um grupo de fotos que foram tiradas em datas parecidas.

+ +

A visão Etiquetas lista todas as etiquetas que você colocou nas fotos. Fotos podem ter várias etiquetas. Clicar no nome de uma etiqueta na barra lateral mostra todas as fotos associadas à ela.

+ +
diff --git a/help/shotwell.1 b/help/shotwell.1 new file mode 100644 index 0000000..334cd7c --- /dev/null +++ b/help/shotwell.1 @@ -0,0 +1,62 @@ +.TH "shotwell" "1" + +.SH "NAME" +shotwell \- Digital photo manager + +.SH "SYNOPSIS" +\fBshotwell \fR[\fIOPTION\fR]... [\fIFILE\fR] + +.SH "DESCRIPTION" +.P +Shotwell is a digital photo organizer designed for the GNOME desktop environment. It allows you to +import photos from disk or camera, organize them in various ways, view them in full-window or fullscreen mode, and export them to share with others. + +.SH "OPTIONS" +.B \-h, \-\-help +.R Show help options + +.B \-d, \-\-datadir=DIRECTORY +.RS +Path to Shotwell's private data +.RE + +.B \-\-no-runtime-monitoring +.RS +Do not monitor library directory at runtime for changes +.RE + +.B \-\-no-startup-progress +.RS +Don't display startup progress meter +.RE + +.B \-V, \-\-version +.RS +Show the application's version +.RE + +.B \-\-display=DISPLAY +.RS +X display to use +.RE + +.SH "EXAMPLES" +\fBshotwell +.RS +\fROpens Shotwell with the user's library. +.RE + +\fBshotwell \fIFILE +.RS +\fROpens an image file for direct editing. File is not imported into library and unsaved changes are lost on close. +.RE + +.SH "NOTES" +.P +Shotwell homepage: https://wiki.gnome.org/Apps/Shotwell +.P +Report bugs: https://bugzilla.gnome.org/enter_bug.cgi?product=Shotwell + +.SH "AUTHOR" +.PP +This manual page was written by Jim Nelson jim@yorba.org and Allison Barlow allison@yorba.org. diff --git a/help/sv/edit-adjustments.page b/help/sv/edit-adjustments.page new file mode 100644 index 0000000..1f34ddc --- /dev/null +++ b/help/sv/edit-adjustments.page @@ -0,0 +1,49 @@ + + + + + + Ändra exponering, mättnad, färgton och skuggorna för en bild. + + + + + Färgjusteringar + +

Knappen Justera öppnar ett fönster med ett histogram och skjutreglage för att justera en bilds exponering, mättnad, färgton, temperatur och skuggor. Histogrammet har också skjutreglaget för att minska de övre och lägre intensitetströsklarna för bilden, utökandes kontrasten för mittenområdet.

+ +

Knappen Förbättra justerar histogram- och skuggskjutreglagen för att förbättra kvaliteten på en bild.

+ +

When the photo's colors and contrast are to your liking, press OK to save the changes. Reset will return the image to its original state. Cancel discards all changes you've made.

+ +
+ Vad gör färgjusteringarna? + + + Exponering +

Ändra ljusstyrkan för att få det att se ut som att bilden exponerades en längre eller kortare tid. Använd detta för att korrigera över- eller underexponerade bilder.

+
+ + Mättnad +

Ändrar hur levande färger uppfattas. Om din bild ser grå och urblekt ut, prova att öka mättnaden. Om färgerna är för starka, prova att minska den.

+
+ + Tint +

Tonar bilden med en färg. Användbart för att korrigera bilder tagna med fel vitbalansinställning, som vanligen har en onaturlig färg. Exempelvis, bilder tagna utomhus med vitbalansen inställd till ”Tungsten” kan ha en blå toning.

+
+ + Temperatur +

Ändrar hur ”varm” eller ”kall” bilden ser ut. Använd exempelvis denna för att få kalla, deprimerande motiv att se mer levande ut.

+
+ + Skuggor +

Får skuggområden att se ljusare ut. Använd denna för att få fram fler detaljer om något döljs av skuggor.

+
+ + Intensitettröskelvärde (skjutreglage på histogrammet) +

Skjutreglagen ändrar hur ljus den ljusaste vit är, och hur mörk den mörkaste svarta är. Använd dem för att ändra kontrasten på en bild. Speciellt bilder som ser urblekta ut bör ha nytta av att ändra dessa inställningar.

+
+
+
+ +
diff --git a/help/sv/edit-crop.page b/help/sv/edit-crop.page new file mode 100644 index 0000000..b38136d --- /dev/null +++ b/help/sv/edit-crop.page @@ -0,0 +1,44 @@ + + + + + + Förbättra sammansättningen för en bild genom att klippa bort delar från den. + + + + + Beskär + +

För att minska området för en bild och fånga betraktarens uppmärksamhet till ett mindre område, använd verktyget beskär. Verktyget beskär är endast tillgängligt i helfönster- eller helskärmsläge.

+ + + +

Dubbelklicka på en bild för att ange helskärmsläge och tryck sedan på knappen Beskär i verktygsfältet.

+
+ +

En vit ruta, beskärningsrektangeln kommer att visas på bilden. Den ljusare delen av bilden inuti beskärningsrektangeln representerar hur bilden kommer att se ut efter att den är beskuren.

+
+ +

Om du placerar din markör i mitten på rutan kan du också flytta runt rutan. Om du drar i kanterna på rutan kan du justera dess storlek. När du flyttar runt och justerar rutan kommer du att se fyra linjer inuti den, ungefär som ett rutnät i luffarschack. Det är linjer för tredelningsregeln.

+

Du kan också begränsa beskärningsrutan till en av många vanliga storlekar. Välj en storlek från rullgardinsmenyn som passar dig. Om du trycker vändknappen bredvid den kommer riktningen av begränsningen att växla (från landskap till porträtt).

+
+ +

When you're happy with your crop outline, apply it by pressing the Crop button. Shotwell will display the cropped photo.

+
+ +

Om du ändrar dig, tryck knappen Beskär igen och finjustera beskärningen.

+

Om du trycker Avbryt istället för Verkställ kommer Shotwell att återgå till en bilds tidigare dimensioner.

+
+
+ +
+ Vad är tredelningsregeln? +

Tredelningsregeln hjälper dig att välja en angenäm sammansättning för en bild.

+

Föreställ dig att en scen delas upp i ett 3x3-rutnät med två vertikala linjer och två horisontella linjer, alla med samma avstånd sinsemellan. Enligt regeln får du en bättre sammansättning om du justerar större egenskaper (som horisonten eller en persons kropp) med en av linjerna. Att observera sättet egenskaper flödar från en del av rutnätet till ett annat kan också hjälpa.

+

Att beskära en bild så att den passar under tredelningsregeln ger ofta en visuellt tilltalande bild.

+ +

Att beskära en bild och använda ”tredelningsregeln” för att förbättra sammansättningen.

+
+
+
diff --git a/help/sv/edit-date-time.page b/help/sv/edit-date-time.page new file mode 100644 index 0000000..757360e --- /dev/null +++ b/help/sv/edit-date-time.page @@ -0,0 +1,19 @@ + + + + + + Change the date and time of photos if those details are incorrect. + + + + + Adjust the date and time of photos + +

To adjust the date and time of photos, select the photos you would like to adjust, choose PhotosAdjust Date and Time... and select a new date and time.

+ +

Om du ändrar datum och tid för flera bilder samtidigt kan du välja att ändra tiden för alla bilder eller ange samma tid för alla bilder samtidigt.

+ +

By default, the date and time are only changed inside Shotwell. You can also choose to modify the date and time in the original file, but this cannot be undone once you exit Shotwell.

+ +
diff --git a/help/sv/edit-enhance.page b/help/sv/edit-enhance.page new file mode 100644 index 0000000..c4b33b0 --- /dev/null +++ b/help/sv/edit-enhance.page @@ -0,0 +1,16 @@ + + + + + + Låt Shotwell förbättra ljusstyrka och kontrast för en bild automatiskt. + + + + + + + Autoförbättra + +

Att klicka på knappen Förbättra är ett snabbt sätt att automatiskt justera ljusstyrkan och kontrasten för din bild. Det ger ofta en bild som är korrekt exponerad. Du kan också använda det som en startpunkt och sedan förbättra justeringarna genom att klicka på knappen Justera.

+
diff --git a/help/sv/edit-external.page b/help/sv/edit-external.page new file mode 100644 index 0000000..c53aa3a --- /dev/null +++ b/help/sv/edit-external.page @@ -0,0 +1,31 @@ + + + + + + Använda ett annat program för att redigera en bild. + + + + + Redigera bilder med ett externt program + +

Du kan vilja använda en extern redigerare för att utföra ytterligare arbete på en bild. Om installerade så är GIMP och UFRaw de externa standardredigerarna för bilder och RAW-redigering. Om dessa program inte är installerade måste du välja dina föredragna redigerare genom att välja RedigeraInställningar och markera redigerare från rullgardinsmenyn för installerade program.

+ +

+ Once your editors have been set, select a photo and choose Photos + Open With External Editor to open the photo with the external editor. + Likewise, if the original photo is a RAW file, select PhotosOpen + With RAW Editor to edit the RAW file directly with the set RAW editor. +

+ +

När du är klar med redigering och sparar filen kommer Shotwell att upptäcka ändringarna och uppdatera bilden. Om externa ändringar har skett, tryck och håll Skift-tangenten i helskärmsvyn för att visa originalbilden istället för den externt redigerade.

+ +

Återställning till originalet kommer att radera externa ändringar.

+ + +

Om du externt redigerar en RAW-bild och sparar resultatet till en annan bild, som JPEG eller PNG, kan inte Shotwell automatiskt bestämma att den ursprungliga RAW-filen och den nya bilden ska kopplas samman.

+ +

Om du vill arbeta med bildresultatet i Shotwell måste du importera det.

+
+
diff --git a/help/sv/edit-nondestructive.page b/help/sv/edit-nondestructive.page new file mode 100644 index 0000000..87134b5 --- /dev/null +++ b/help/sv/edit-nondestructive.page @@ -0,0 +1,19 @@ + + + + + + Shotwell är en förlustfri bildredigerare - den ändrar inte dina originalbilder. + + + + + Vad händer med originalet när jag redigerar en bild? + +

Shotwell är en förlustfri bildredigerare. Det ändrar inte dina originalbilder. Det betyder att om du beskär en bild, eller ändrar dess färg kommer bildfilerna på disk att bevaras orörda. Shotwell lagrar dina ändringar i en databas och verkställer dem direkt eftersom. Det betyder att du kan ångra ändringar gjorda på en bild.

+ +

Om du vill se hur en bild såg ut innan dina ändringar, tryck tangenten Skift. Originalbilden kommer att visas så länge tangenten hålls nere.

+ +

Observera att Shotwell valfritt kan skriva metadata (som taggar och namn) till bildfiler. För mer information, se avsnittet Bildfiler.

+ +
diff --git a/help/sv/edit-redeye.page b/help/sv/edit-redeye.page new file mode 100644 index 0000000..ec97be0 --- /dev/null +++ b/help/sv/edit-redeye.page @@ -0,0 +1,25 @@ + + + + + + Rätta till bilder där personer har röda ögon på grund av kamerans blixt. + + + + + Ta bort röda ögon + +

Röda ögon uppstår när kamerans blixt reflekteras i pupillen i någons öga. För att ta bort detta ur en bild, använd verktyget röda ögon.

+ + +

Klicka Röda ögon. En cirkel visas på bilden.

+
+ +

Dra cirkeln över berörd pupill, justera dess storlek med skjutreglaget och tryck Verkställ. Rödheten kommer att tas bort.

+
+ +

Upprepa processen för alla röda pupiller i din bild. Tryck Stäng när färdig.

+
+
+
diff --git a/help/sv/edit-rotate.page b/help/sv/edit-rotate.page new file mode 100644 index 0000000..b16fb83 --- /dev/null +++ b/help/sv/edit-rotate.page @@ -0,0 +1,26 @@ + + + + + + Klicka knappen Rotera eller välj en av kommandona i Bild-menyn. + + + + + Rotera eller vänd en bild + +

Du kan rotera dina bilder till vänster och höger (medurs eller moturs) med knappen Rotera i verktygsfältet för de flesta vyer. Du kan också skapa en spegelbild av en bild.

+ +

För att rotera höger, klicka på knappen Rotera. För att rotera vänster, tryck och håll ner tangenten Ctrl och klicka sedan på knappen. Båda kommandona är också tillgängliga i menyn Bilder. Alternativt, använd följande tangentbordsgenvägar:

+ +

rotera vänster: SkiftCtrlR eller [

+

rotera höger: CtrlR eller ]

+
+

För att skapa en spegelbild av en bild, använd Vänd horisontellt-kommandot i Bilder-menyn. För att vända en bild vertikalt, använd Vänd vertikalt-kommandot i samma meny.

+ + +

Om du väljer mer än en bild så kan du rotera dem samtidigt.

+
+ +
diff --git a/help/sv/edit-straighten.page b/help/sv/edit-straighten.page new file mode 100644 index 0000000..a0eb448 --- /dev/null +++ b/help/sv/edit-straighten.page @@ -0,0 +1,27 @@ + + + + + + Räta ut en bild så att dess horisont blir rak. + + + + + Räta ut bilder + +

Verktygen för att räta ut bilder låter dem rätas ut och plattas till. Verktyget för att räta ut är endast tillgängligt i helskärms- eller helfönsterläge.

+ + + +

Klicka Räta ut. Skjutreglaget för att räta ut visas. Alternativt, använd tangentbordskombinationen CtrlA.

+
+ +

Dra i skjutreglaget för att uppnå önska grad av uträtning.

+
+ +

Press Straighten when finished.

+
+
+ +
diff --git a/help/sv/edit-undo.page b/help/sv/edit-undo.page new file mode 100644 index 0000000..f128f61 --- /dev/null +++ b/help/sv/edit-undo.page @@ -0,0 +1,21 @@ + + + + + + Återställa en bild till dess ursprungliga oredigerade skick. + + + + + + + Ånga ändringar + +

Eftersom Shotwell är en förlustfri bildredigerare kan du ångra ändringar du gjort i en bild.

+ +

Om du vill se hur en bild såg ut innan dina ändringar, tryck tangenten Skift. Originalbilden kommer att visas så länge tangenten hålls nere.

+ +

För att helt ångra alla dina ändringar till en bild, klicka BilderÅterställ till original. Det enda undantaget är att tid- och datumjusteringar inte kommer att återställas.

+ +
diff --git a/help/sv/formats.page b/help/sv/formats.page new file mode 100644 index 0000000..def7946 --- /dev/null +++ b/help/sv/formats.page @@ -0,0 +1,27 @@ + + + + + + Shotwell stödjer JPEG, PNG, TIFF, BMP och RAW-bilder såväl som filmfiler. + + + + + Bild- och videoformat som stöds + +

Shotwell stödjer JPEG, PNG, TIFF, BMP och RAW-bildfiler. Shotwell stödjer inte ännu andra grafikformat som GIF.

+ +

Shotwells RAW-formatstöd är för tillfället begränsat. När du visar en RAW-bild visar du egentligen en JPEG som härstammar från RAW-bilden, inte själva RAW-bilden. Dessutom är RAW-redigeringsflödet inte helt 16-bitars - du kan bara exportera redigerade bilder som 8-bitars filer. Alla format som stöds kan användas för export (JPEG, PNG, TIFF, BMP).

+ +

För mer information om RAW-formatbilder i Shotwell, se avsnittet RAW.

+ +

Shotwell stödjer också filmfiler i format som GStreamer mediabibliotek stödjer, på systemet där Shotwell körs. Normalt inkluderar det följande format, bland andra:

+ +

Behållarformat: Ogg, QuickTime, MP4, AVI.

+

Kodekar: Theora, Quicktime, MPEG-4, Motion JPEG. Observera att vissa operativsystem kanske inte inkluderar kodekarna listade här på grund av juridiska eller licensbaserade begränsningar.

+
+ +

Shotwell stödjer både bilder och filmer, men för enkelhetens skull använder dokumentationen termen ”bilder” på de flesta ställen. Flera operationer i Shotwell gäller dock för bild och filmer. Speciellt händelser, att flagga, betygsätta, tagga och publicera fungerar för både bilder och filmer.

+ +
diff --git a/help/sv/import-camera.page b/help/sv/import-camera.page new file mode 100644 index 0000000..3cdeac2 --- /dev/null +++ b/help/sv/import-camera.page @@ -0,0 +1,31 @@ + + + + + + Kopiera bilder från en digital kamera. + + + + + Importera från en kamera + +

Att importera bilder från en digitalkamera:

+ + + +

Anslut kameran till din dator och slå på den. Shotwell kommer att upptäcka den och lista den i sidopanelen.

+
+ +

Välj kameran i sidopanelen. Förhandsvisningar av varje bild på kameran kommer att visas.

+
+ +

Om du vill kan du välja en samling specifika bilder att importera. För att göra detta, håll ner tangenten Ctrl och klicka för att markera individuella bilder. Du kan också hålla ner Skift och klicka för att markera ett intervall av bilder.

+
+ +

Klicka antingen Importera markerade eller Importera alla. Bilderna kommer att kopieras från kameran och sparas på din dator.

+
+
+ +

När importen är klar kan du öppna vyn Senast importerade (i sidopanelen) för att se alla bilder som importerades. Händelselistan (också i sidopanelen) kommer att visa de nya bilderna, ordnade efter datum.

+
diff --git a/help/sv/import-f-spot.page b/help/sv/import-f-spot.page new file mode 100644 index 0000000..3c841af --- /dev/null +++ b/help/sv/import-f-spot.page @@ -0,0 +1,19 @@ + + + + + + Shotwell kan importera alla dina bilder och taggar från bildhanteraren F-Spot. + + + + + Importera från F-Spot + +

För att importera en befintlig bildsamling från F-Spot:

+ +

Välj ArkivImportera från F-Spot.

+

Välj nu antingen F-Spot-biblioteket eller en annan F-Spot-databas. Om importen sker från en annan F-Spot-databas, välj katalog och fil från valdialogrutan.

+
+

Shotwell kommer att importera dina bilder tillsammans med deras taggar och annan information. När importen är klar kan du välja Senaste import i sidopanelen för att se alla bilder som importerades. Händelselistan kommer också att visa nya angivelser för datum som motsvarar de importerade bilderna.

+
diff --git a/help/sv/import-file.page b/help/sv/import-file.page new file mode 100644 index 0000000..43521a7 --- /dev/null +++ b/help/sv/import-file.page @@ -0,0 +1,23 @@ + + + + + + Importera bilder som redan är sparade på din dator. + + + + + Importera från din hårddisk + +

För att importera bildfiler från din hårddisk till Shotwell, dra dem från din filhanterare till Shotwell-fönstret.

+ +

Alternatively, click FileImport From Folder... and select the folder containing the photos you want to import.

+ +

Shotwell kommer att fråga huruvida du vill kopiera bildfiler till din biblioteksmapp (vanligtvis mappen Bilder i din hemkatalog) eller importera dem direkt utan att kopiera filerna.

+ +

Om du håller ner Ctrl när du drar in bilder kommer Shotwell att kopiera bilderna till din biblioteksmapp utan att fråga. På samma sätt, om du håller ner CtrlSkift medan du drar in bilder kommer Shotwell att importera bilderna utan att kopiera dem.

+ +

När importen är färdig kan du välja Senaste import i sidopanelen för att se alla importerade bilder. Händelselistan kommer också att visa nya poster för datumen som motsvarar de importerade bilderna.

+ +
diff --git a/help/sv/import-memorycard.page b/help/sv/import-memorycard.page new file mode 100644 index 0000000..3c7a691 --- /dev/null +++ b/help/sv/import-memorycard.page @@ -0,0 +1,31 @@ + + + + + + Importera bilder från en digitalkameras minneskort. + + + + + Importera från ett minneskort + +

För att importera bilder från en kameras minneskort:

+ + + +

Stoppa i kortet i din kortläsare. Försäkra dig om att kortläsaren är ansluten till datorn och påslagen.

+
+ +

Kortläsaren och kortet bör upptäckas automatiskt.

+
+ +

Follow the instructions for importing photos from your hard disk. If you click FileImport From Folder..., the memory card should be visible as a folder in the side bar of the file selection window.

+
+
+ +

Shotwell kan importera bilder från minneskort som är kompatibla med din kortläsare.

+ +

Om kortet inte upptäcks automatiskt kanske din kortläsare inte kände igen det. Prova att koppla från det och sedan ansluta det igen. Om det inte fungerar bör du ändå kunna importera bilder genom att ansluta din kamera direkt till datorn .

+ +
diff --git a/help/sv/index.page b/help/sv/index.page new file mode 100644 index 0000000..befb57f --- /dev/null +++ b/help/sv/index.page @@ -0,0 +1,47 @@ + + + + + Shotwell + Shotwell + + Jim Nelson + jim@yorba.org + Allison Barlow + allison@yorba.org + Robert Ancell + robert.ancell@canonical.com + Peter Smith + pdo.smith@gmail.com + Phil Bull + philbull@gmail.com + + + + + <media type="image" src="figures/shotwell_logo.png"/>Shotwell bildhanterare + +
+ Importera bilder +
+ +
+ Visa bilder +
+ +
+ Ordna bilder +
+ +
+ Redigera bilder +
+ +
+ Dela bilder +
+ +
+ Andra egenskaper +
+
diff --git a/help/sv/organize-event.page b/help/sv/organize-event.page new file mode 100644 index 0000000..325c7bf --- /dev/null +++ b/help/sv/organize-event.page @@ -0,0 +1,53 @@ + + + + + + Gruppera bilder som tagits samtidigt. Lär dig att byta namn, sammanfoga och sortera händelser. + + + + + Händelser + +

En händelse är en grupp bilder som tagits ungefär samtidigt. När du importerar bilder kontrollerar Shotwell när varje bild tagits. Det grupperar sedan bilderna i händelser.

+ +

Välj Händelser från sidopanelen för att se dina bilder ordnade efter datum. Om du väljer en månad eller ett år från sidopanelen visas en lista över händelser i huvudfönstret. Dubbelklicka på en händelse för att se alla bilder som togs vid den tiden.

+ +

Om en bild inte har inbäddad datum/tid-information kan inte Shotwell automatiskt placera dem i någon händelse. I detta fall kommer bilden att visas i vyn Ingen händelse tillgänglig från sidopanelen. Du kan fortfarande flytta bilden till vilken händelse du vill, som beskrivs nedan.

+ +
+ Byta namn på händelser + +

To give an event a name rather than referring to it by its date, select the event, click EventsRename Event... and enter a new name. Another way of renaming an event is to double-click its name in the sidebar; type a new name and then press Enter.

+
+ +
+ Flytta bilder mellan händelser + +

Även om bilder inledningsvis grupperas i händelser efter datum kan du flytta bilder mellan händelser. För att göra detta, dra en bild till sidopanelen och släpp den på en händelse.

+
+ +
+ Skapa och sammanfoga händelser +

För att skapa nya händelser, markera de bilder du skulle vilja ha i en ny händelse och klicka HändelserNy händelse.

+

För att sammanfoga händelser, välj Händelser från sidopanelen och sedan, medan du håller ner Ctrl, klicka på händelserna du vill sammanfoga i huvudfönstret. Slutligen, klicka på HändelserSammanfoga händelser.

+
+ +
+ Sortera händelser + +

Händelser visas i ett träd i sidopanelen, ordnade efter år och månad efter de tidigaste bilderna i en händelse. För att ändra sorteringsordning, klicka VisaSortera händelser och välj antingen stigande eller fallande.

+ +
+ +
+ Ändra bilden som representerar varje händelse. + +

If you select the Events item in the sidebar, you'll see a single photo which represents each event. This is called the key photo.

+ +

Som standard använder Shotwell den första bilden i varje händelse som dess nyckelbild. För att använda en annan nyckelbild, markera bilden och välj BilderSkapa nyckelbild för händelse.

+ +
+ +
diff --git a/help/sv/organize-flag.page b/help/sv/organize-flag.page new file mode 100644 index 0000000..9a3e768 --- /dev/null +++ b/help/sv/organize-flag.page @@ -0,0 +1,24 @@ + + + + + + Flagga bilder för att markera dem som speciella eller för att arbeta med dem som en samling. + + + + + Flagga bilder + +

Shotwell låter dig flagga bilder. När en bild flaggats kommer en liten flaggikon visas i dess övre högra hörn. Du kan markera Flaggade i sidopanelen för att se alla bilder som har flaggats.

+ +

Att flagga en bild markerar den som speciell. Du kan tolka det som du vill. Till exempel kan du flagga alla bilder som kräver visuell justering, eller alla bilder som du vill dela med en vän.

+ +

Att flagga är användbart eftersom du kan jobba med alla flaggade bilder som en samling. Till exempel kan du markera vyn Flaggade och sedan skicka upp alla flaggade bilder till en publiceringstjänst.

+ +
+ Att flagga eller flagga av en bild +

För att flagga eller flagga av en bild, högerklicka på bilden och välj Flagga eller Flagga av från snabbmenyn. Eller, använd snabbtangenterna CtrlG eller /.

+
+ +
diff --git a/help/sv/organize-rating.page b/help/sv/organize-rating.page new file mode 100644 index 0000000..7d9b699 --- /dev/null +++ b/help/sv/organize-rating.page @@ -0,0 +1,27 @@ + + + + + + Ge bilderna ett betyg mellan en och fem stjärnor. Du kan avvisa dåliga bilder och dölja dem från visning. + + + + + Betyg +

Du kan ger varje bild ett betyg från 1-5 stjärnor, eller sätta den som avvisad, vilket medför att Shotwell som standard kommer att dölja bilden.

+ +

Du kan betygsätta en bild eller en samling bilder på dessa sätt:

+ + +

Markera bilden och välj sedan betygsätt från den översta menyn BilderBetygsätt.

+

Högerklicka på bilden/rna och välj sedan ett betyg från snabbmenyn Betygsätt.

+

Markera bilden/erna och tryck sedan på någon av snabbtangenterna 1, 2, 3, 4 eller 5 för att tilldela ett betyg. Eller, tryck 9 för att markera bilden/erna som avvisade eller0 för att rensa betyg.

+
+ +

Vanligtvis visar Shotwell alla bilder förutom avvisade bilder. Du kan ange ett annat betygsfilter genom att använda VisaFiltrera bilder-menyn - till exempel kan du visa bilder betygsatta med tre stjärnor eller högre, eller du kan visa alla bilder inklusive de som markerats avvisade. Shotwell-ikonen på verktygsfältet visar aktuellt betygsfilter och kan också användas för att aktivera filtret.

+ +

Shotwell visar som standard varje bilds betyg i nedre vänstra hörnet, Du kan stänga av visningen av betyg genom att nyttja VisaBetyg-menyobjektet.

+ +

Du kan öka eller minska en bilds betyg genom att använda BetygsättHöj och BetygsättSänk-kommandona, eller tangentbordsgenvägarna < och >.

+
diff --git a/help/sv/organize-remove.page b/help/sv/organize-remove.page new file mode 100644 index 0000000..f0c27c6 --- /dev/null +++ b/help/sv/organize-remove.page @@ -0,0 +1,42 @@ + + + + + + Ta bort bilder från biblioteket eller radera dem fullständigt från din dator. + + + + + Ta bort och radera bilder + +

Du kan ta bort bilder från ditt bibliotek och du kan också radera dem fullständigt från din hårddisk.

+Raderingsprocess +

Diagrammet visar hur en bild, när den raderas, först läggs i Shotwells papperskorg. Om du raderar den från Shotwells papperskorg läggs den i datorns papperskorg. Om du raderar den från din dators papperskorg är bilden oåterkalleligen raderat från din dator.

+
+ Ta bort bilder från biblioteket +

Markera bilder att ta bort och välj RedigeraFlytta till papperskorgen. (Du kan också trycka Delete-tangenten.) Bilderna kommer att flyttas från ditt bibliotek till Shotwells papperskorg.

+

Om du vill ta bort bilder från Shotwell utan att låta dem passera genom papperskorgen, markera bilderna att ta bort och välj RedigeraTa bort från bibliotek. Bildfilerna kommer att vara kvar på disken.

+
+ +
+ Rensa eller återställa papperskorgen +

Välj papperskorgen i sidopanelen och Shotwell kommer att visa alla bilder som har markerats för borttagning eller radering. I vyn för papperskorgen är följande kommandon tillgängliga:

+ + Radera

Radera de markerade bilderna från papperskorgen.

+ Återställ

Återställ de markerade bilderna till Shotwell.

+ Töm papperskorgen

Radera alla bilder från papperskorgen.

+
+
+ +
+ Radera eller tömma papperskorgen +

När du raderar filer från papperskorgen, eller tömmer den, kommer du att ges följande val:

+ + Endast ta bort

Tar bort bilder från biblioteket men lämnar kvar bilderna på deras plats i datorn.

+ Radera fil

Tar bort bilder från biblioteket och raderar dem från datorn.

+ Avbryt

Gör inget.

+
+
+ +
diff --git a/help/sv/organize-search.page b/help/sv/organize-search.page new file mode 100644 index 0000000..b3ec6e1 --- /dev/null +++ b/help/sv/organize-search.page @@ -0,0 +1,41 @@ + + + + + + Hitta bilder och filmer i din samling med blandade kriterier. + + + + + Söka + +

Det finns två sätt att söka på i Shotwell: filterverktygsfältet och med en sparad sökning. Sökfältet låter dig snabbt söka aktuell vy efter specifika kriterier. Sparade sökningar erbjuder komplexare sökningskriterier och lagring i sidopanelen mellan sessioner.

+ + + +
+ Sparad sökning +

En sparad sökning lagras över Shotwell-sessioner och uppdateras då bilder och filmer läggs till och tas bort från ditt Shotwell-bibliotek.

+ +

+ Create a new saved search with EditNew Saved Search... or by hitting + CtrlS. The dialog box allows you to enter a name for the + search and select whether you want to meet Any, All, or None of the criteria in the following rows. +

+ +

+ Each row represents a search criterion. Use the + button to add more rows, and the + - button to remove a specific row. The combo box on the left of each row selects the type + of criteria. Criteria must be entered correctly before the OK button becomes available. +

+
+ +
diff --git a/help/sv/organize-tag.page b/help/sv/organize-tag.page new file mode 100644 index 0000000..b90c03e --- /dev/null +++ b/help/sv/organize-tag.page @@ -0,0 +1,68 @@ + + + + + + Organisera bilder genom att sätta taggar på dem. + + + + + + + Tagga bilder + +

Du kan tilldela en eller fler taggar för att markera bilder. En tagg kan vara en eller flera ord som du vill associera med dessa bilder.

+ +

För att lägga till taggar till bilder, markera bilderna du skulle vilja lägga tagga, och gör sedan följande:

+ + +

Choose TagsAdd Tags....

+

Skriv in CtrlT.

+

Dra de markerade bilderna och släpp dem på den önskade taggen.

+
+ +

+ When you use CtrlT or + TagsAdd Tags... you can type + in the names of one or more tags, separated by commas. + Once you have created a tag, you can rename it by selecting that + tag in the sidebar and choosing + TagsRename Tag "[name]"..., + by rightclicking on it and choose Rename... or + double-click on the tag in the sidebar. +

+ +

+ To change which tags are associated with a particular photo, + select that photo, choose + TagsModify Tags... or + right-click on a photo and select Modify Tags... and + edit the comma separated list. + To remove a tag from one or more photos, first select that tag + in the sidebar, then select the photos you would like to remove, + and choose + TagsRemove Tag "[name]" from Photos + or right-click on the photos an select + Remove Tag "[name]" from Photos. +

+ +

För att fullständigt ta bort en tagg, markera taggen i sidopanelen och välj TaggarTa bort tagg "[namn]" eller högerklicka och välj Ta bort tagg "[namn]".

+ +

+ When you create a tag, it will appear in the sidebar under the + Tags item, which is hidden if there are no tags. Photos + can have multiple tags attached to them, and when you click on the + name of a given tag in the sidebar, you will see all the photos + associated with that tag. +

+ +
+ Hierarkiska taggar +

Shotwell stödjer också hierarkiska taggar. Du kan flytta om dina taggar genom att dra och släppa en tagg på en annan. För att skapa en ny undertagg, högerklicka på en tagg och markera Ny.

+ +

Hierarkiska taggar kan hjälpa dig att sortera din tagglista på sätt som bättre matchar hur du tänker eller jobbar - exempelvis kan du lagra platstaggar som ”Berg” eller ”Strand” under en överordnad tagg ”Platser”, vilken i sig själv kan placeras under taggen ”Sommarsemester”.

+ +

Observera att ta bort en överordnad tagg också kommer att bort underordnade taggar.

+
+
diff --git a/help/sv/organize-title.page b/help/sv/organize-title.page new file mode 100644 index 0000000..b718cff --- /dev/null +++ b/help/sv/organize-title.page @@ -0,0 +1,18 @@ + + + + + + Namnge dina bilder. + + + + + Namn + +

Kryssrutan VisaTitlar aktiverar visningen av titlar under varje bild. Som standard är en bilds namn dess filnamn.

+ +

To change a photo's title, +select the photo and click PhotosEdit Title..., or press F2.

+ +
diff --git a/help/sv/other-files.page b/help/sv/other-files.page new file mode 100644 index 0000000..da68bfa --- /dev/null +++ b/help/sv/other-files.page @@ -0,0 +1,100 @@ + + + + + + Håll Shotwell-biblioteket i synk med bildfiler på disk. + + + + + Bildfiler + +

Varje bild i Shotwell-biblioteket motsvaras av en fil lagrad på din hårddisk. Shotwell har flera olika funktioner som hjälper dig att hålla Shotwell-biblioteket och filerna på disk i synk.

+ + +
+ Använda ett anpassat katalogmönster +

Shotwell låter dig ange hur det namnger kataloger i ditt bibliotek. Du kan göra detta genom att ändra inställningarna Katalogstruktur och Mönster i dialogen Inställningar. Du kan använda ett förvalt mönster, eller välja Anpassa och skriva in ditt eget.

+ +

De tillgängliga symbolerna för katalogmönstren börjar med ett % (procenttecken). Värdena dessa symboler producerar är lokal-beroende, så vad du ser på din dator kan variera jämfört med följande exempel.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Symbol

Meaning

Example

%Y

År: hela

2015

%y

År: tvåsiffrigt

15

%d

Månadsdag med inledande nolla

03

%A

Veckodag: hela

Onsdag

%a

Veckodag: förkortad

Ons

%m

Månadsnummer med inledande nolla

02

%b

Månadsnummer: förkortat

Feb

%B

Månadsnummer: helt

Februari

%I

Timme: 12-timmarsformat

05

%H

Timme: 24-timmarsformat

17

%M

Minut

16

%S

Sekund

30

%p

AM eller PM

PM

+ +

Det finns andra symboler tillgängliga, se handboken för strftime genom att köra kommandot man strftime om du behöver en som inte listas här.

+
+ +
+ Importera bilder automatiskt + +

Shotwell kan automatiskt importera nya bilder som kommer att visas i bibliotekskatalogen. (Bibliotekskatalogen är vanligtvis katalogen Bilder i din hemkatalog - du kan ändra dess plats i fönstret Inställningar.)

+ +

För att aktivera autoimport, kryssa i rutan Bevaka bibliotekskatalogen efter nya filer i fönstret Inställningar.

+ +

Shotwell kan också följa symboliska länkar inuti automatiskt importerade kataloger.

+ +
+ +
+ Automatiskt döpa om importerade bilder till gemener. + +

Shotwell kan automatiskt ändra filnamnen för importerade bilder till gemener. För att aktivera detta, välj RedigeraInställningar och i fönstret Inställningar, kryssa i rutan Byt namn på importerade filer till gemener.

+ +
+ +
+ Skriva metadata direkt + +

Som standard ändrar inte Shotwell bildfiler, även om du redigerar bilder eller ändrar deras taggar och namn. Shotwell sparar endast dessa ändringar i sin databas.

+ +

För att ändra detta beteende kan du aktivera kryssrutan Skriv taggar, namn och annan metadata till bildfiler i dialogen Inställningar. När detta alternativ är aktiverat kommer Shotwell att skriva följande metadata till de flesta bildfiler när du ändrar dem i Shotwell:

+ + +

namn

+

taggar

+

betyg

+

riktningsinformation

+

tid/datum

+
+ +

Shotwell lagrar denna information i bildfiler i EXIF, IPTC och/eller XMP-format. Observera att Shotwell endast kan skriva till bildfiler i JPEG, PNG och TIFF-format, inte till BMP-bilder, RAW-bilder eller till videofiler.

+ +
+ +
+ Körtidsövervakning + +

När Shotwell körs märker det av ändringar gjorda till bildfiler externt. När en bildfil ändras läser Shotwell om filen och uppdaterar din vy över bilder och metadata.

+ +

Observera att Shotwell kontrollerar alla bildfiler vid uppstart, men att endast bildfiler i bibliotekskatalogen övervakas i realtid efter uppstart. Vi hoppas kunna ta bort denna begränsning i en framtida utgåva.

+ +
+ +
diff --git a/help/sv/other-missing.page b/help/sv/other-missing.page new file mode 100644 index 0000000..e577f95 --- /dev/null +++ b/help/sv/other-missing.page @@ -0,0 +1,21 @@ + + + + + + Om Shotwell inte kan hitta en bild i ditt bibliotek kommer det att markera den som saknad. + + + + + Saknade bilder + +

Var gång Shotwell startar söker det av ditt bildbibliotek för att verifiera att alla bilder fortfarande existerar på din hårddisk. Om Shotwell finner att det saknas filer, kommer dessa inte att visas i vyerna Bilder, Händelser eller Taggar, och istället visas de i separata vyn Saknade filer, vilken visas i sidopanelen.

+ +

Om du inte längre vill att de saknade filerna ska vara en del av din Shotwell-samling (kanske för att du tog bort dem), gå till vyn Saknade filer, välj bilder och klicka sedan Ta bort från bibliotek.

+ +

Om du har bilder på en flyttbar enhet, som en cd-skiva eller en usb-sticka, och importerar dem till Shotwell utan att kopiera bilderna till din dator, kommer de att visas som saknade filer om du kopplar från den flyttbara enheten. Se för att lära dig mer om att kopiera filer från en flyttbar enhet till din dator.

+ +

Om några saknade bilder blir tillgängliga igen kommer Shotwell att märka det nästa gång programmet startar. Bilderna kommer åter igen att visas i vyerna Bilder, Händelser och Taggar.

+ +
diff --git a/help/sv/other-multiple.page b/help/sv/other-multiple.page new file mode 100644 index 0000000..6214a85 --- /dev/null +++ b/help/sv/other-multiple.page @@ -0,0 +1,21 @@ + + + + + + Du kan öppna Shotwell med ett annat bildbibliotek genom att använda kommandoraden. + + + + + Flera bibliotek + +

Shotwell lagrar normalt sin databas och sina miniatyrbilder i katalogen ~/.shotwell . Denna katalog innehåller inte bilder, men databasen i denna katalog innehåller en lista över alla bilder i Shotwell-biblioteket.

+ +

Som en avancerad funktion är det möjligt för dig att ha flera Shotwell-bibliotek, var och en med dess egna grupp av bilder. Varje bibliotek behöver dess egna databaskatalog. För att starta Shotwell som ett alternativt bibliotek, ange en alternativ katalog på kommandoraden enligt:

+ + +shotwell -d [bibliotekskatalog] + + +
diff --git a/help/sv/other-plugins.page b/help/sv/other-plugins.page new file mode 100644 index 0000000..a1a5a83 --- /dev/null +++ b/help/sv/other-plugins.page @@ -0,0 +1,18 @@ + + + + + + Utöka Shotwells funktionalitet dynamiskt. + + + + + Insticksmoduler +

Shotwell kan användas med Insticksmoduler, vilket är delade bibliotek som kan lägga till stöd för nya publiceringstyper eller nya övergångar vid bildspel.

+ +

För att se en lista över installerade insticksmoduler, välj RedigeraInställningar, och i fönstret Inställningar, klicka på fliken Insticksmoduler. Du kommer att se en lista av aktuella installerade insticksmoduler, var och en med en kryssruta vid sida av den, och du kan aktivera eller inaktivera var och en genom att kryssa eller kryssa av kryssrutan för dess namn.

+ +

Fullständig dokumentation om hur du utvecklar nya insticksmoduler finns tillgänglig på http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins

+ +
diff --git a/help/sv/raw.page b/help/sv/raw.page new file mode 100644 index 0000000..b8511ce --- /dev/null +++ b/help/sv/raw.page @@ -0,0 +1,24 @@ + + + + + + Mer om RAW-stöd i Shotwell. + + + + + RAW-stöd i Shotwell +

En del kameror har förmågan att lagra data direkt från sensorn till en fil som innehåller extra färginformation, känt som ”RAW” eller ”Kamera-RAW”, och Shotwell stödjer även dessa filer.

+ +

Eftersom RAW-bilder vanligtvis endast kan visas direkt, men först måste framkallas - det vill säga, tolka deras extra information och göra klart den för visning - kommer de flesta kameror att bädda in en JPEG inuti RAW-formatfilen, eller skapa en JPEG vid sidan av RAW-filen då ögonblicksbilden tas. Det senare refereras till i detta dokument som RAW+JPEG. Om du importerar ett RAW+JPEG-par kommer Shotwell att hålla dem sammankopplade och behandla dem som ett objekt i ditt bibliotek.

+ +

När du importerar en RAW-fil kan du välja att antingen använda kamerans inbyggda JPEG eller Shotwells egna genom att markera BilderFramkallare i menyerna.

+ + +

Ändringar mellan framkallare kommer att göra att alla redigeringar gjorda till en bild förkastas.

+
+ +

För att kunna publicera eller använda en RAW-bild i de flesta andra programmen måste den exporteras först. Shotwell kan exportera dina RAW-bilder i JPEG, PNG, TIFF eller BMP-format, och när du publicerar, exporterar de en JPEG-version för dig och publicerar den.

+ +
diff --git a/help/sv/running.page b/help/sv/running.page new file mode 100644 index 0000000..7719df9 --- /dev/null +++ b/help/sv/running.page @@ -0,0 +1,23 @@ + + + + + + Hitta Shotwell i programmenyn, eller låt det starta automatiskt när du stoppar i en kamera. + + + + + + + Köra Shotwell + +

När det väl är installerat är Shotwell tillgängligt i menyn Program under Grafik eller Bilder.

+ +

Shotwell kan också exekveras automatiskt när en kamera stoppas i din dator. För att kontrollera att ditt system är inställt på att köra Shotwell när en kamera upptäcks, gå till RedigeraInställningar i ett Nautilus(filhanterare)-fönster och markera fliken Media. Du kommer att se en rullgardinsmeny som heter Bilder: vilken låter dig välja Shotwell som ditt program för bildhantering.

+ + +

Shotwell kan också exekveras direkt från dess byggkatalog, men det rekommenderas bara för testning av Shotwell eller för utvecklare.

+
+ +
diff --git a/help/sv/share-background.page b/help/sv/share-background.page new file mode 100644 index 0000000..9219005 --- /dev/null +++ b/help/sv/share-background.page @@ -0,0 +1,21 @@ + + + + + + Ställ in din skrivbordsbakgrund till att använda en enstaka bild eller ett bildspel. + + + + + Ange en skrivbordsbakgrund eller ett bildspel. + +

För att ange en bild som din skrivbordsbakgrund, markera bilden och välj sedan ArkivAnvänd som skrivbordsbakgrund.

+ +

You can also set your background to a slideshow of photos. To do this, select the photos for + the slideshow and choose FileSet as Desktop Slideshow.... + Shotwell will prompt you for a slideshow delay, which can be any interval up to one day in length. + The background slideshow will proceed even when Shotwell is not running. +

+ +
diff --git a/help/sv/share-export.page b/help/sv/share-export.page new file mode 100644 index 0000000..e4fdd87 --- /dev/null +++ b/help/sv/share-export.page @@ -0,0 +1,35 @@ + + + + + + Kopiera bilder från Shotwell så att du kan använda dem på andra ställen. + + + + + Exportera bilder + +

För att exportera bilder från Shotwell via dra-och-släpp, dra bilderna från Shotwell till ett filhanterarfönster eller ditt skrivbord. De nya filerna kommer att vara kopior av bilderna i ditt bibliotek.

+ +

+Alternatively, select a set of photos and choose the FileExport... command or press ShiftCtrlE, which exports photos while letting you fine-tune the size and dimensions of your photo files. +A window will appear allowing you to make several choices: +

+ + +

Ett format för export.

+ +

Välj Oförändrad för att exportera bilderna i deras originalformat utan redigeringar gjorda i Shotwell. RAW-bilder kommer att exporteras i deras original-RAW-format.

+

Välj Aktuellt för att exportera bilder med ändringar gjorda i Shotwell. RAW-bilder kommer att exporteras i JPEG-format om du har redigerat dem i Shotwell, annars i deras ursprungliga RAW-format.

+

Eller så kan du välja ett specifikt bildformat (JPEG, PNG, TIFF, BMP) för exporten. Ändringar gjorda i Shotwell kommer att inkluderas och Shotwell kommer att konvertera bilderna till målformatet.

+
+
+

Bildkvaliteten för export (låg, mellan, hög eller maximal)

+

En skalningsbegränsning (vilket betyder hur Shotwell bestämmer hur bilderna ska skalas) och önskad bildpunktsstorlek.

+

Huruvida du vill exportera metadata som taggar eller betyg. Detta kan skydda din sekretess om du har geoplats-taggar eller taggar ingen bör se.

+
+ +

Om valt kommer Shotwell att skriva taggar, titlar och annan metadata till de nya filerna.

+ +
diff --git a/help/sv/share-print.page b/help/sv/share-print.page new file mode 100644 index 0000000..c864ea5 --- /dev/null +++ b/help/sv/share-print.page @@ -0,0 +1,23 @@ + + + + + + Click FilePrint.... For more printing options, select the Page Setup tab in the Print dialog. + + + + + Skriva ut + +

To print a photo, select it and choose FilePrint....

+ +

+ Shotwell can also print multiple images in one page; to do this, select multiple images, + choose FilePrint..., and in the Print dialog, + choose the Image Settings tab. In Image Settings, choose one of the + multiple-image-per-page options under Autosize. +

+ +

Om du vill ställa in formatering, pappersstorlek och riktningsalternativ, välj fliken Sidinställning i dialogen Skriv ut innan utskrift.

+
diff --git a/help/sv/share-send.page b/help/sv/share-send.page new file mode 100644 index 0000000..0df43ce --- /dev/null +++ b/help/sv/share-send.page @@ -0,0 +1,16 @@ + + + + + + Skicka bilder via e-post, snabbmeddelanden eller på andra sätt. + + + + + Skicka bilder + +

Shotwell kan skicka bilder genom GNOME-skrivbordets "Skicka till"-mekanism som låter dig skicka bilder via e-post, snabbmeddelanden eller på andra sätt.

+

För att skicka bilder, visa dem i Shotwell och välj ArkivSkicka till…, eller högerklicka på bilderna och välj Skicka till… från snabbmenyn. En Skicka till-dialog kommer att visas vilken låter dig välja olika sätt att skicka filerna på (som e-post eller snabbmeddelanden) och en destination. Du kan också välja att skicka filerna i ett komprimerat format.

+ +
diff --git a/help/sv/share-slideshow.page b/help/sv/share-slideshow.page new file mode 100644 index 0000000..6ab2850 --- /dev/null +++ b/help/sv/share-slideshow.page @@ -0,0 +1,22 @@ + + + + + + Se en bildpresentation av dina bilder. + + + + + Bildpresentationer + +

För att se ett bildspel över en samling i Shotwell, navigera över samlingen och markera VisaBildspel eller tryck F5.

+ +

Du kan ändra en del inställningar i ett körande bildspel:

+ + +

Hur länge en bild ska visas: 1 - 30 sekunder

+

Du kan välja olika övergångseffekter.

+

Tiden för övergångseffekter: 0,1 - 1,0 sekunder

+
+
diff --git a/help/sv/share-upload.page b/help/sv/share-upload.page new file mode 100644 index 0000000..ea461ae --- /dev/null +++ b/help/sv/share-upload.page @@ -0,0 +1,34 @@ + + + + + + Publicera bilden till Facebook, Flickr, Picasa Web Albums eller andra webbplatser. + + + + + Publicera på webben + +

Genom att använda insticksmoduler kan Shotwell publicera bilder och filmer till följande tjänster, som var och en kräver ett konto:

+ + +

Facebook

+

Flickr

+

Picasa Web Albums och Google+

+

YouTube (endast video)

+

Yandex.Fotki, en populär webbplats i Ryssland (endast bilder)

+

Vilken webbplats som helst som kör Piwigo-bildgalleriprogram (endast bilder)

+
+ +

För att publicera markerade bilder i en samling, välj RedigeraInställningar och klicka på fliken Insticksmoduler för att aktivera insticket för tjänsten du vill publicera till. Välj sedan ArkivPublicera, tryck verktygsfältsknappen Publicera eller använd CtrlP. Du får då upp en dialog som låter dig välja en publiceringstjänst. Du måste sedan logga in eller skapa ett konto.

+ +

Publishing to Facebook requires you to grant certain permissions to the Shotwell Facebook application. + You only need to grant these permissions once, when you first associate Shotwell with your Facebook account. +

+

You will be only able to publish images with at most the permission you granted to the Shotwell Facebook application

+ +

På liknande sätt kräver Flickr att du loggar in och tillåter Shotwell Connect att komma åt ditt konto.

+ +

Om du har ett Google-konto, men ännu inte använt Picasa Web Albums behöver du logga in till Picasa med en webbläsare en gång innan du kan publicera till tjänsten.

+
diff --git a/help/sv/sv.stamp b/help/sv/sv.stamp new file mode 100644 index 0000000..e69de29 diff --git a/help/sv/view-displaying.page b/help/sv/view-displaying.page new file mode 100644 index 0000000..2140546 --- /dev/null +++ b/help/sv/view-displaying.page @@ -0,0 +1,26 @@ + + + + + + Lär dig olika sätt att visa dina bilder: i ett rutnät som fyller huvudfönstret eller hela skärmen. + + + + + Bildvyer + +

När du väljer en samling i sidopanelen visar Shotwell alla bilder i samlingen i huvudfönstret. Längst ned till höger finns ett skjutreglage som justerar vystorleken på miniatyrbilderna. Du kan också justera miniatyrbildsstorleken genom att använda plus och minustangenterna (+ och -) eller genom att trycka Ctrl medan du rör rullhjulet på musen.

+ +

Du kan visa en bild i helskärm genom att dubbelklicka på det. Därifrån kan du gå vidare till andra bilden i samlingen med knapparna Bakåt och Framåt. För att återvända till samlingen, dubbelklicka på bilden eller tryck Esc.

+ +

När du visar en bild i helskärmsläge blir skjutreglaget i verktygsfältet zoom. Du kan flytta runt genom att ta tag i och dra varsomhelst på bilden. Du kan också zooma med ditt rullhjul eller genom att trycka följande tangentbordsgenvägar:Ctrl0 för hela bilden, Ctrl1 för 100% (1 bildpunkt i bilden = 1 bildpunkt på skärm) och Ctrl2 för 200% (1 bildpunkt för skärm = 2x2 skärmbildpunkter).

+ +

Shotwell erbjuder ett helskärmsläge för att visa bilden. Välj VisaHelskärm eller tryck F11. För att se verktygsfältet i helskärmsläge, flytta din mus till nedre delen av skärmen. Verktygsfältet har knappar för att flytta genom samlingen, att fästa verktygsfältet (så att det inte döljs när du flyttar musen) och för att lämna helskärmsvyn.

+ +
+Visa filmer +

När du dubbelklickar på en film kommer Shotwell att starta en extern videospelare för att spela filmen. Det är för närvarande inte möjligt att visa en film i helskärmsläge i Shotwell, eller att spela upp en film i själva Shotwell.

+
+ +
diff --git a/help/sv/view-information.page b/help/sv/view-information.page new file mode 100644 index 0000000..e7df6c6 --- /dev/null +++ b/help/sv/view-information.page @@ -0,0 +1,17 @@ + + + + + + Visa detaljerad information om bilder, som exponeringsläge använt av kameran. + + + + + Grundläggande och utökad information + +

Panelen för grundläggande information visas längst ned i sidopanelen och ger en kortfattad sammanfattning av de bilder du har markerat. Om inga bilder är markerade visar den en sammanfattning av hela samlingen. Du kan växla visningen av denna panel genom att använda VisaGrundläggande information-kommandot.

+ +

Fönstret Utökad information visar mer information om den markerade bilden. Kommandot VisaUtökad information eller CtrlSkiftX växlar visningen av detta fönster.

+ +
diff --git a/help/sv/view-sidebar.page b/help/sv/view-sidebar.page new file mode 100644 index 0000000..cbedffa --- /dev/null +++ b/help/sv/view-sidebar.page @@ -0,0 +1,34 @@ + + + + + + Sidopanelen till vänster om fönstret listar olika vyer över ditt bibliotek. + + + + + + + + + + + + + + Sidopanelen + +

Sidopanelen på den vänstra sidan av Shotwell-fönstret listar olika vyer över ditt bibliotek. Fastän du kan se samma bild i olika vyer är den endast lagrad en gång på din hårddisk.

+ +

Vyn Senaste import listar dina senast importerade bilder oavsett om de är importerade från F-Spot, din kamera, ett minneskort eller hårddisken.

+ +

Flaggade listar alla bilder du tidigare flaggat.

+ +

Sparad sökning låter dig sortera ditt bibliotek efter flera kriterier.

+ +

Mappen Händelser listar alla händelser i ditt bibliotek. En händelser är en grupp av bilder som tagits ungefär samtidigt.

+ +

Mappen Taggar listar alla taggar du tilldelat till bilder. Bilder kan ha flera taggar kopplade till dem. När du klickar på namnet på en tagg i sidopanelen kommer du att se alla bilder associerade med den taggen.

+ +
diff --git a/icons/Makefile.am b/icons/Makefile.am new file mode 100644 index 0000000..79724ee --- /dev/null +++ b/icons/Makefile.am @@ -0,0 +1,54 @@ +imagesdir = $(datadir)/shotwell/icons + +dist_images_DATA = \ + all-rejected.png \ + crop-pivot-reticle.png \ + crop.svg \ + drag_nub.png \ + faces-tool.png \ + filter-flagged.png \ + filter-photos.png \ + filter-raw.png \ + filter-videos.png \ + five-star-filter.svg \ + five-stars.svg \ + flag-page.png \ + flag-trinket.png \ + four-star-filter-plus.svg \ + four-stars.svg \ + generic-plugin.png \ + image-adjust.svg \ + import-all.png \ + import.svg \ + make-primary.svg \ + many-faces.png \ + merge.svg \ + multiple-events.png \ + multiple-tags.png \ + no-event.png \ + noninterpretable-video.png \ + one-event.png \ + one-face.png \ + one-star-filter-plus.svg \ + one-star.svg \ + one-tag.png \ + pin-toolbar.svg \ + publish.png \ + redeye.png \ + rejected.svg \ + shotwell-16.png \ + shotwell-auto-enhance.png \ + shotwell.png \ + shotwell-street.jpg \ + slideshow-extension-point.png \ + sprocket.png \ + straighten.svg \ + three-star-filter-plus.svg \ + three-stars.svg \ + two-star-filter-plus.svg \ + two-stars.svg \ + videos-page.png \ + zoom-in.png \ + zoom-out.png + +-include $(top_srcdir)/git.mk diff --git a/icons/Makefile.in b/icons/Makefile.in new file mode 100644 index 0000000..cffd751 --- /dev/null +++ b/icons/Makefile.in @@ -0,0 +1,614 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = icons +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/appdata-xml.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/ax_generate_changelog.m4 \ + $(top_srcdir)/m4/ax_is_release.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(dist_images_DATA) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(imagesdir)" +DATA = $(dist_images_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +API_VERSION = @API_VERSION@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GIT = @GIT@ +GITVER = @GITVER@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_EXTRA_PLUGINS = @HAVE_EXTRA_PLUGINS@ +HAVE_UNITY = @HAVE_UNITY@ +HELP_DIR = @HELP_DIR@ +IMPORT_CFLAGS = @IMPORT_CFLAGS@ +IMPORT_LIBS = @IMPORT_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +ITSTOOL = @ITSTOOL@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MICRO_VERSION = @MICRO_VERSION@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ +PLUGIN_LIBS = @PLUGIN_LIBS@ +POSUB = @POSUB@ +PUBLISHING_CFLAGS = @PUBLISHING_CFLAGS@ +PUBLISHING_LIBS = @PUBLISHING_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHOTWELL_CFLAGS = @SHOTWELL_CFLAGS@ +SHOTWELL_LIBS = @SHOTWELL_LIBS@ +STRIP = @STRIP@ +THUMBNAILER_CFLAGS = @THUMBNAILER_CFLAGS@ +THUMBNAILER_LIBS = @THUMBNAILER_LIBS@ +TRANSITIONS_CFLAGS = @TRANSITIONS_CFLAGS@ +TRANSITIONS_LIBS = @TRANSITIONS_LIBS@ +UNITY_CFLAGS = @UNITY_CFLAGS@ +UNITY_LIBS = @UNITY_LIBS@ +UNITY_VALAFLAGS = @UNITY_VALAFLAGS@ +USE_NLS = @USE_NLS@ +VALAC = @VALAC@ +VALAFLAGS = @VALAFLAGS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMLLINT = @XMLLINT@ +YELP_LC_DIST = @YELP_LC_DIST@ +YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appdataxmldir = @appdataxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +imagesdir = $(datadir)/shotwell/icons +dist_images_DATA = \ + all-rejected.png \ + crop-pivot-reticle.png \ + crop.svg \ + drag_nub.png \ + faces-tool.png \ + filter-flagged.png \ + filter-photos.png \ + filter-raw.png \ + filter-videos.png \ + five-star-filter.svg \ + five-stars.svg \ + flag-page.png \ + flag-trinket.png \ + four-star-filter-plus.svg \ + four-stars.svg \ + generic-plugin.png \ + image-adjust.svg \ + import-all.png \ + import.svg \ + make-primary.svg \ + many-faces.png \ + merge.svg \ + multiple-events.png \ + multiple-tags.png \ + no-event.png \ + noninterpretable-video.png \ + one-event.png \ + one-face.png \ + one-star-filter-plus.svg \ + one-star.svg \ + one-tag.png \ + pin-toolbar.svg \ + publish.png \ + redeye.png \ + rejected.svg \ + shotwell-16.png \ + shotwell-auto-enhance.png \ + shotwell.png \ + shotwell-street.jpg \ + slideshow-extension-point.png \ + sprocket.png \ + straighten.svg \ + three-star-filter-plus.svg \ + three-stars.svg \ + two-star-filter-plus.svg \ + two-stars.svg \ + videos-page.png \ + zoom-in.png \ + zoom-out.png + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign icons/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign icons/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dist_imagesDATA: $(dist_images_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_images_DATA)'; test -n "$(imagesdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(imagesdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(imagesdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(imagesdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(imagesdir)" || exit $$?; \ + done + +uninstall-dist_imagesDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_images_DATA)'; test -n "$(imagesdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(imagesdir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(imagesdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-dist_imagesDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_imagesDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dist_imagesDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-dist_imagesDATA + +.PRECIOUS: Makefile + + +-include $(top_srcdir)/git.mk + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/icons/faces-tool.png b/icons/faces-tool.png new file mode 100644 index 0000000..5276ce2 Binary files /dev/null and b/icons/faces-tool.png differ diff --git a/icons/many-faces.png b/icons/many-faces.png new file mode 100644 index 0000000..8e3071c Binary files /dev/null and b/icons/many-faces.png differ diff --git a/icons/one-face.png b/icons/one-face.png new file mode 100644 index 0000000..c3203bc Binary files /dev/null and b/icons/one-face.png differ diff --git a/icons/shotwell-16.png b/icons/shotwell-16.png new file mode 100644 index 0000000..546fdcb Binary files /dev/null and b/icons/shotwell-16.png differ diff --git a/icons/shotwell.png b/icons/shotwell.png new file mode 100644 index 0000000..546fdcb Binary files /dev/null and b/icons/shotwell.png differ diff --git a/import.am b/import.am new file mode 100644 index 0000000..cbab67c --- /dev/null +++ b/import.am @@ -0,0 +1,54 @@ +plugin_LTLIBRARIES += plugins/shotwell-data-imports/shotwell-data-imports.la +dist_noinst_DATA += \ + plugins/shotwell-data-imports/f-spot-24.png \ + plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml + +plugins_shotwell_data_imports_shotwell_data_imports_la_SOURCES = \ + plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala \ + plugins/shotwell-data-imports/FSpotDatabaseTable.vala \ + plugins/shotwell-data-imports/FSpotDatabase.vala \ + plugins/shotwell-data-imports/FSpotImporter.vala \ + plugins/shotwell-data-imports/FSpotMetaTable.vala \ + plugins/shotwell-data-imports/FSpotPhotosTable.vala \ + plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala \ + plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala \ + plugins/shotwell-data-imports/FSpotRollsTable.vala \ + plugins/shotwell-data-imports/FSpotTableBehavior.vala \ + plugins/shotwell-data-imports/FSpotTagsTable.vala \ + plugins/shotwell-data-imports/shotwell-data-imports.vala \ + plugins/shotwell-data-imports/SqliteSupport.vala \ + plugins/shotwell-data-imports/VersionNumber.vala \ + plugins/shotwell-plugin-common.vapi + +nodist_plugins_shotwell_data_imports_shotwell_data_imports_la_SOURCES = \ + plugins/shotwell-data-imports/resource.c +MOSTLYCLEANFILES += plugins/shotwell-data-imports/resource.c + +plugins/shotwell-data-imports/resource.c: plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml + $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-data-imports --generate $< + +plugins_shotwell_data_imports_shotwell_data_imports_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gtk+-3.0 \ + --pkg libsoup-2.4 \ + --pkg gexiv2 \ + --pkg gee-0.8 \ + --pkg json-glib-1.0 \ + --pkg shotwell-plugin-dev-1.0 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --pkg sqlite3 \ + --vapidir $(abs_top_srcdir)/plugins + +plugins_shotwell_data_imports_shotwell_data_imports_la_CFLAGS = \ + -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Imports"' \ + $(PLUGIN_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I $(abs_top_srcdir)/plugins + +plugins_shotwell_data_imports_shotwell_data_imports_la_LDFLAGS = \ + $(SHOTWELL_PLUGIN_LDFLAGS) + +plugins_shotwell_data_imports_shotwell_data_imports_la_LIBADD = \ + $(IMPORT_LIBS) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la diff --git a/m4/appdata-xml.m4 b/m4/appdata-xml.m4 new file mode 100644 index 0000000..765d95c --- /dev/null +++ b/m4/appdata-xml.m4 @@ -0,0 +1,90 @@ +# appdata-xml.m4 +# +# serial 5 + +dnl APPDATA_XML +dnl Installs and validates AppData XML files. +dnl +dnl Call APPDATA_XML in configure.ac to check for the appdata-validate tool. +dnl Add @APPDATA_XML_RULES@ to a Makefile.am to substitute the make rules. Add +dnl .appdata.xml files to appdata_XML in Makefile.am and they will be validated +dnl at make check time, if appdata-validate is installed, as well as installed +dnl to the correct location automatically. Add --enable-appdata-validate to +dnl DISTCHECK_CONFIGURE_FLAGS in Makefile.am to require valid AppData XML when +dnl doing a distcheck. +dnl +dnl Adding files to appdata_XML does not distribute them automatically. + +AU_DEFUN([APPDATA_XML], +[ + m4_pattern_allow([AM_V_GEN]) + AC_ARG_ENABLE([appdata-validate], + [AS_HELP_STRING([--disable-appdata-validate], + [Disable validating AppData XML files during check phase])]) + + AS_IF([test "x$enable_appdata_validate" != "xno"], + [AC_PATH_PROG([APPSTREAM_UTIL], [appstream-util]) + AS_IF([test "x$APPSTREAM_UTIL" = "x"], + [have_appdata_validate=no], + [have_appdata_validate=yes + AC_SUBST([APPSTREAM_UTIL])])], + [have_appdata_validate=no]) + + AS_IF([test "x$have_appdata_validate" != "xno"], + [appdata_validate=yes], + [appdata_validate=no + AS_IF([test "x$enable_appdata_validate" = "xyes"], + [AC_MSG_ERROR([AppData validation was requested but appstream-util was not found])])]) + + AC_SUBST([appdataxmldir], [${datadir}/appdata]) + + APPDATA_XML_RULES=' +.PHONY : uninstall-appdata-xml install-appdata-xml clean-appdata-xml + +mostlyclean-am: clean-appdata-xml + +%.appdata.valid: %.appdata.xml + $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; \ + if test -n "$(APPSTREAM_UTIL)"; \ + then $(APPSTREAM_UTIL) --nonet validate $${d}$<; fi \ + && touch [$]@ + +check-am: $(appdata_XML:.appdata.xml=.appdata.valid) +uninstall-am: uninstall-appdata-xml +install-data-am: install-appdata-xml + +.SECONDARY: $(appdata_XML) + +install-appdata-xml: $(appdata_XML) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(appdataxmldir)" || $(MKDIR_P) "$(DESTDIR)$(appdataxmldir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(appdataxmldir)"; \ + fi + +uninstall-appdata-xml: + @$(NORMAL_UNINSTALL) + @list='\''$(appdata_XML)'\''; test -n "$(appdataxmldir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(appdataxmldir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(appdataxmldir)" && rm -f $$files + +clean-appdata-xml: + rm -f $(appdata_XML:.appdata.xml=.appdata.valid) +' + _APPDATA_XML_SUBST(APPDATA_XML_RULES) +], +[Use the new APPSTREAM_XML macro instead of APPDATA_XML in configure.ac, and + replace @APPDATA_XML_RULES@ with @APPSTREAM_XML_RULES@, appdata_XML with + appstream_XML and --enable-appdata-validate with --enable-appstream-validate + in Makefile.am]) + +dnl _APPDATA_XML_SUBST(VARIABLE) +dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +AC_DEFUN([_APPDATA_XML_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) diff --git a/m4/ax_check_enable_debug.m4 b/m4/ax_check_enable_debug.m4 new file mode 100644 index 0000000..f99d75f --- /dev/null +++ b/m4/ax_check_enable_debug.m4 @@ -0,0 +1,124 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_enable_debug.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_ENABLE_DEBUG([enable by default=yes/info/profile/no], [ENABLE DEBUG VARIABLES ...], [DISABLE DEBUG VARIABLES NDEBUG ...], [IS-RELEASE]) +# +# DESCRIPTION +# +# Check for the presence of an --enable-debug option to configure, with +# the specified default value used when the option is not present. Return +# the value in the variable $ax_enable_debug. +# +# Specifying 'yes' adds '-g -O0' to the compilation flags for all +# languages. Specifying 'info' adds '-g' to the compilation flags. +# Specifying 'profile' adds '-g -pg' to the compilation flags and '-pg' to +# the linking flags. Otherwise, nothing is added. +# +# Define the variables listed in the second argument if debug is enabled, +# defaulting to no variables. Defines the variables listed in the third +# argument if debug is disabled, defaulting to NDEBUG. All lists of +# variables should be space-separated. +# +# If debug is not enabled, ensure AC_PROG_* will not add debugging flags. +# Should be invoked prior to any AC_PROG_* compiler checks. +# +# IS-RELEASE can be used to change the default to 'no' when making a +# release. Set IS-RELEASE to 'yes' or 'no' as appropriate. By default, it +# uses the value of $ax_is_release, so if you are using the AX_IS_RELEASE +# macro, there is no need to pass this parameter. +# +# AX_IS_RELEASE([git-directory]) +# AX_CHECK_ENABLE_DEBUG() +# +# LICENSE +# +# Copyright (c) 2011 Rhys Ulerich +# Copyright (c) 2014, 2015 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +#serial 5 + +AC_DEFUN([AX_CHECK_ENABLE_DEBUG],[ + AC_BEFORE([$0],[AC_PROG_CC])dnl + AC_BEFORE([$0],[AC_PROG_CXX])dnl + AC_BEFORE([$0],[AC_PROG_F77])dnl + AC_BEFORE([$0],[AC_PROG_FC])dnl + + AC_MSG_CHECKING(whether to enable debugging) + + ax_enable_debug_default=m4_tolower(m4_normalize(ifelse([$1],,[no],[$1]))) + ax_enable_debug_is_release=m4_tolower(m4_normalize(ifelse([$4],, + [$ax_is_release], + [$4]))) + + # If this is a release, override the default. + AS_IF([test "$ax_enable_debug_is_release" = "yes"], + [ax_enable_debug_default="no"]) + + m4_define(ax_enable_debug_vars,[m4_normalize(ifelse([$2],,,[$2]))]) + m4_define(ax_disable_debug_vars,[m4_normalize(ifelse([$3],,[NDEBUG],[$3]))]) + + AC_ARG_ENABLE(debug, + [AS_HELP_STRING([--enable-debug=]@<:@yes/info/profile/no@:>@,[compile with debugging])], + [],enable_debug=$ax_enable_debug_default) + + # empty mean debug yes + AS_IF([test "x$enable_debug" = "x"], + [enable_debug="yes"]) + + # case of debug + AS_CASE([$enable_debug], + [yes],[ + AC_MSG_RESULT(yes) + CFLAGS="${CFLAGS} -g -O0" + CXXFLAGS="${CXXFLAGS} -g -O0" + FFLAGS="${FFLAGS} -g -O0" + FCFLAGS="${FCFLAGS} -g -O0" + OBJCFLAGS="${OBJCFLAGS} -g -O0" + ], + [info],[ + AC_MSG_RESULT(info) + CFLAGS="${CFLAGS} -g" + CXXFLAGS="${CXXFLAGS} -g" + FFLAGS="${FFLAGS} -g" + FCFLAGS="${FCFLAGS} -g" + OBJCFLAGS="${OBJCFLAGS} -g" + ], + [profile],[ + AC_MSG_RESULT(profile) + CFLAGS="${CFLAGS} -g -pg" + CXXFLAGS="${CXXFLAGS} -g -pg" + FFLAGS="${FFLAGS} -g -pg" + FCFLAGS="${FCFLAGS} -g -pg" + OBJCFLAGS="${OBJCFLAGS} -g -pg" + LDFLAGS="${LDFLAGS} -pg" + ], + [ + AC_MSG_RESULT(no) + dnl Ensure AC_PROG_CC/CXX/F77/FC/OBJC will not enable debug flags + dnl by setting any unset environment flag variables + AS_IF([test "x${CFLAGS+set}" != "xset"], + [CFLAGS=""]) + AS_IF([test "x${CXXFLAGS+set}" != "xset"], + [CXXFLAGS=""]) + AS_IF([test "x${FFLAGS+set}" != "xset"], + [FFLAGS=""]) + AS_IF([test "x${FCFLAGS+set}" != "xset"], + [FCFLAGS=""]) + AS_IF([test "x${OBJCFLAGS+set}" != "xset"], + [OBJCFLAGS=""]) + ]) + + dnl Define various variables if debugging is disabled. + dnl assert.h is a NOP if NDEBUG is defined, so define it by default. + AS_IF([test "x$enable_debug" = "xyes"], + [m4_map_args_w(ax_enable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is enabled])])], + [m4_map_args_w(ax_disable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is disabled])])]) + ax_enable_debug=$enable_debug +]) diff --git a/m4/ax_generate_changelog.m4 b/m4/ax_generate_changelog.m4 new file mode 100644 index 0000000..d9d5cd1 --- /dev/null +++ b/m4/ax_generate_changelog.m4 @@ -0,0 +1,99 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_generate_changelog.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GENERATE_CHANGELOG() +# +# DESCRIPTION +# +# Builds a rule for generating a ChangeLog file from version control +# system commit messages. Currently, the only supported VCS is git, but +# support for others could be added in future. +# +# Defines GENERATE_CHANGELOG_RULES which should be substituted in your +# Makefile. +# +# Usage example: +# +# configure.ac: +# +# AX_GENERATE_CHANGELOG +# +# Makefile.am: +# +# @GENERATE_CHANGELOG_RULES@ +# CHANGELOG_START = 0.2.3^ +# dist-hook: dist-ChangeLog +# +# ChangeLog (stub committed to VCS): +# +# The ChangeLog is auto-generated when releasing. +# If you are seeing this, use 'git log' for a detailed list of changes. +# +# This results in a "dist-ChangeLog" rule being added to the Makefile. +# When run, "dist-ChangeLog" will generate a ChangeLog in the +# $(top_distdir), using $(CHANGELOG_GIT_FLAGS) to format the output from +# "git log" being run in $(CHANGELOG_GIT_DIR). +# +# Unless Automake is initialised with the 'foreign' option, a dummy +# ChangeLog file must be committed to VCS in $(top_srcdir), containing the +# text above (for example). It will be substituted by the automatically +# generated ChangeLog during "make dist". +# +# LICENSE +# +# Copyright (c) 2015 David King +# Copyright (c) 2015 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 1 + +AC_DEFUN([AX_GENERATE_CHANGELOG],[ + # Find git, defaulting to the 'missing' script so the user gets a nice + # message if git is missing, rather than a plain 'command not found'. + AC_PATH_PROG([GIT],[git],[${am_missing_run}git]) + AC_SUBST([GIT]) + + # Build the ChangeLog rules. + m4_pattern_allow([AM_V_GEN]) +GENERATE_CHANGELOG_RULES=' +# Generate ChangeLog +# +# Optional: +# - CHANGELOG_START: git commit ID or tag name to output changelogs from +# (exclusive). (Default: include all commits) +# - CHANGELOG_GIT_FLAGS: General flags to pass to git-log when generating the +# ChangeLog. (Default: various) +# - CHANGELOG_GIT_DIR: .git directory to use. (Default: $(top_srcdir)/.git) + +# git-specific +CHANGELOG_GIT_FLAGS ?= --stat -M -C --name-status --no-color +CHANGELOG_GIT_DIR ?= $(top_srcdir)/.git + +ifeq ($(CHANGELOG_START),) +CHANGELOG_GIT_RANGE = +else +CHANGELOG_GIT_RANGE = $(CHANGELOG_START).. +endif + +# Generate a ChangeLog in $(top_distdir) +dist-ChangeLog: + $(AM_V_GEN)if $(GIT) \ + --git-dir=$(CHANGELOG_GIT_DIR) --work-tree=$(top_srcdir) log \ + $(CHANGELOG_GIT_FLAGS) $(CHANGELOG_GIT_RANGE) \ + | fmt --split-only >.ChangeLog.tmp; \ + then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ + else rm -f .ChangeLog.tmp; exit 1; fi + +.PHONY: dist-ChangeLog +' + + AC_SUBST([GENERATE_CHANGELOG_RULES]) + m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([GENERATE_CHANGELOG_RULES])]) +]) diff --git a/m4/ax_is_release.m4 b/m4/ax_is_release.m4 new file mode 100644 index 0000000..9ec6746 --- /dev/null +++ b/m4/ax_is_release.m4 @@ -0,0 +1,69 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_is_release.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_IS_RELEASE(POLICY) +# +# DESCRIPTION +# +# Determine whether the code is being configured as a release, or from +# git. Set the ax_is_release variable to 'yes' or 'no'. +# +# If building a release version, it is recommended that the configure +# script disable compiler errors and debug features, by conditionalising +# them on the ax_is_release variable. If building from git, these +# features should be enabled. +# +# The POLICY parameter specifies how ax_is_release is determined. It can +# take the following values: +# +# * git-directory: ax_is_release will be 'no' if a '.git' directory exists +# * minor-version: ax_is_release will be 'no' if the minor version number +# in $PACKAGE_VERSION is odd; this assumes +# $PACKAGE_VERSION follows the 'major.minor.micro' scheme +# * micro-version: ax_is_release will be 'no' if the micro version number +# in $PACKAGE_VERSION is odd; this assumes +# $PACKAGE_VERSION follows the 'major.minor.micro' scheme +# * always: ax_is_release will always be 'yes' +# * never: ax_is_release will always be 'no' +# +# Other policies may be added in future. +# +# LICENSE +# +# Copyright (c) 2015 Philip Withnall +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +#serial 3 + +AC_DEFUN([AX_IS_RELEASE],[ + AC_BEFORE([AC_INIT],[$0]) + + m4_case([$1], + [git-directory],[ + # $is_release = (.git directory does not exist) + AS_IF([test -d .git],[ax_is_release=no],[ax_is_release=yes]) + ], + [minor-version],[ + # $is_release = ($minor_version is even) + minor_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'` + AS_IF([test "$(( $minor_version % 2 ))" -ne 0], + [ax_is_release=no],[ax_is_release=yes]) + ], + [micro-version],[ + # $is_release = ($micro_version is even) + micro_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]]*\.[[^.]]*\.\([[^.]]*\).*/\1/'` + AS_IF([test "$(( $micro_version % 2 ))" -ne 0], + [ax_is_release=no],[ax_is_release=yes]) + ], + [always],[ax_is_release=yes], + [never],[ax_is_release=no], + [ + AC_MSG_ERROR([Invalid policy. Valid policies: git-directory, minor-version.]) + ]) +]) diff --git a/m4/ax_require_defined.m4 b/m4/ax_require_defined.m4 new file mode 100644 index 0000000..cae1111 --- /dev/null +++ b/m4/ax_require_defined.m4 @@ -0,0 +1,37 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_require_defined.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_REQUIRE_DEFINED(MACRO) +# +# DESCRIPTION +# +# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have +# been defined and thus are available for use. This avoids random issues +# where a macro isn't expanded. Instead the configure script emits a +# non-fatal: +# +# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found +# +# It's like AC_REQUIRE except it doesn't expand the required macro. +# +# Here's an example: +# +# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) +# +# LICENSE +# +# Copyright (c) 2014 Mike Frysinger +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 1 + +AC_DEFUN([AX_REQUIRE_DEFINED], [dnl + m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])]) +])dnl AX_REQUIRE_DEFINED diff --git a/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 0000000..eef5073 --- /dev/null +++ b/m4/gettext.m4 @@ -0,0 +1,420 @@ +# gettext.m4 serial 68 (gettext-0.19.8) +dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2006, 2008-2010. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value '$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], + [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define([gt_included_intl], + ifelse([$1], [external], + ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), + [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + gt_NEEDS_INIT + AM_GNU_GETTEXT_NEED([$2]) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AC_REQUIRE([AM_NLS]) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH([included-gettext], + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + ]])], + [eval "$gt_func_gnugettext_libc=yes"], + [eval "$gt_func_gnugettext_libc=no"])]) + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + [$gt_func_gnugettext_libintl], + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + ]])], + [eval "$gt_func_gnugettext_libintl=yes"], + [eval "$gt_func_gnugettext_libintl=no"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + ]])], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE([ENABLE_NLS], [1], + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE([HAVE_GETTEXT], [1], + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE([HAVE_DCGETTEXT], [1], + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST([BUILD_INCLUDED_LIBINTL]) + AC_SUBST([USE_INCLUDED_LIBINTL]) + AC_SUBST([CATOBJEXT]) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST([DATADIRNAME]) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST([INSTOBJEXT]) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST([GENCAT]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST([INTLOBJS]) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST([INTLLIBS]) + + dnl Make all documented variables known to autoconf. + AC_SUBST([LIBINTL]) + AC_SUBST([LTLIBINTL]) + AC_SUBST([POSUB]) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ + m4_divert_text([DEFAULTS], [gt_needs=]) + m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) + + +dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) diff --git a/m4/gsettings.m4 b/m4/gsettings.m4 new file mode 100644 index 0000000..35ee5aa --- /dev/null +++ b/m4/gsettings.m4 @@ -0,0 +1,83 @@ +dnl GLIB_GSETTINGS +dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether +dnl the schema should be compiled +dnl + +AC_DEFUN([GLIB_GSETTINGS], +[ + m4_pattern_allow([AM_V_GEN]) + AC_ARG_ENABLE(schemas-compile, + AS_HELP_STRING([--disable-schemas-compile], + [Disable regeneration of gschemas.compiled on install]), + [case ${enableval} in + yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; + no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-compile]) ;; + esac]) + AC_SUBST([GSETTINGS_DISABLE_SCHEMAS_COMPILE]) + PKG_PROG_PKG_CONFIG([0.16]) + AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas]) + if test x$cross_compiling != xyes; then + GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0` + else + AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas) + fi + AC_SUBST(GLIB_COMPILE_SCHEMAS) + if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then + ifelse([$2],,[AC_MSG_ERROR([glib-compile-schemas not found.])],[$2]) + else + ifelse([$1],,[:],[$1]) + fi + + GSETTINGS_RULES=' +.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas + +mostlyclean-am: clean-gsettings-schemas + +gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) + +%.gschema.valid: %.gschema.xml $(gsettings__enum_file) + $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p [$](@D) && touch [$]@ + +all-am: $(gsettings_SCHEMAS:.xml=.valid) +uninstall-am: uninstall-gsettings-schemas +install-data-am: install-gsettings-schemas + +.SECONDARY: $(gsettings_SCHEMAS) + +install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ + fi + +uninstall-gsettings-schemas: + @$(NORMAL_UNINSTALL) + @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) + +clean-gsettings-schemas: + rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) + +ifdef gsettings_ENUM_NAMESPACE +$(gsettings__enum_file): $(gsettings_ENUM_FILES) + $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" [$]^ > [$]@.tmp && mv [$]@.tmp [$]@ +endif +' + _GSETTINGS_SUBST(GSETTINGS_RULES) +]) + +dnl _GSETTINGS_SUBST(VARIABLE) +dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +AC_DEFUN([_GSETTINGS_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) diff --git a/m4/iconv.m4 b/m4/iconv.m4 new file mode 100644 index 0000000..aa159c5 --- /dev/null +++ b/m4/iconv.m4 @@ -0,0 +1,271 @@ +# iconv.m4 serial 19 (gettext-0.18.2) +dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_func_iconv=yes]) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, + dnl Solaris 10. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + ]], + [[int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + result |= 16; + return result; +]])], + [am_cv_func_iconv_works=yes], , + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [m4_ifdef([gl_00GNULIB], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif + ]], + [[]])], + [am_cv_proto_iconv_arg1=""], + [am_cv_proto_iconv_arg1="const"]) + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated . + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) + fi +]) diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4 new file mode 100644 index 0000000..aca924c --- /dev/null +++ b/m4/intlmacosx.m4 @@ -0,0 +1,56 @@ +# intlmacosx.m4 serial 5 (gettext-0.18.2) +dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on Mac OS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in Mac OS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[CFPreferencesCopyAppValue(NULL, NULL)]])], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], + [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in Mac OS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[CFLocaleCopyCurrent();]])], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], + [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 new file mode 100644 index 0000000..6209de6 --- /dev/null +++ b/m4/lib-ld.m4 @@ -0,0 +1,119 @@ +# lib-ld.m4 serial 6 +dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid +dnl collision with libtool.m4. + +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 /dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE([rpath], + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) + dnl Autoconf >= 2.61 supports dots in --with options. + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 new file mode 100644 index 0000000..6851031 --- /dev/null +++ b/m4/lib-prefix.m4 @@ -0,0 +1,224 @@ +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl . + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif + ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +]) diff --git a/m4/libtool.m4 b/m4/libtool.m4 new file mode 100644 index 0000000..10ab284 --- /dev/null +++ b/m4/libtool.m4 @@ -0,0 +1,8388 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +]) + +# serial 58 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + +# _LT_CC_BASENAME(CC) +# ------------------- +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. +m4_defun([_LT_CC_BASENAME], +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from 'configure', and 'config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain=$ac_aux_dir/ltmain.sh +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the 'libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags='_LT_TAGS'dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# '#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test 0 = "$lt_write_fail" && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +_LT_COPYING +_LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS=$save_LDFLAGS + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test yes = "$lt_cv_ld_force_load"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + m4_if([$1], [CXX], +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case $ECHO in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes = "$cross_compiling"; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then + + # We can hardcode non-existent directories. + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program that can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program that can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_MAGIC_METHOD], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +AC_CACHE_CHECK([how to recognize dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[[4-9]]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test yes = "$GCC"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + osf3*) + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting $shlibpath_var if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC=$CC +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report what library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC=$lt_save_CC +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)=$prev$p + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)=$p + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)=$p + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f "$lt_ac_sed" && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test 10 -lt "$lt_ac_count" && break + lt_ac_count=`expr $lt_ac_count + 1` + if test "$lt_ac_count" -gt "$lt_ac_max"; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine what file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 new file mode 100644 index 0000000..94b0829 --- /dev/null +++ b/m4/ltoptions.m4 @@ -0,0 +1,437 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 8 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option '$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' +# LT_INIT options. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [pic_mode=m4_default([$1], [default])]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 new file mode 100644 index 0000000..48bc934 --- /dev/null +++ b/m4/ltsugar.m4 @@ -0,0 +1,124 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59, which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 new file mode 100644 index 0000000..fa04b52 --- /dev/null +++ b/m4/ltversion.m4 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 4179 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.6' +macro_revision='2.4.6' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 new file mode 100644 index 0000000..c6b26f8 --- /dev/null +++ b/m4/lt~obsolete.m4 @@ -0,0 +1,99 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software +# Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/m4/nls.m4 b/m4/nls.m4 new file mode 100644 index 0000000..afdb9ca --- /dev/null +++ b/m4/nls.m4 @@ -0,0 +1,32 @@ +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software +dnl Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) diff --git a/m4/pkg.m4 b/m4/pkg.m4 new file mode 100644 index 0000000..faea7f8 --- /dev/null +++ b/m4/pkg.m4 @@ -0,0 +1,214 @@ +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_default([$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + m4_default([$4], [AC_MSG_ERROR( +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT])[]dnl + ]) +elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + $3 +fi[]dnl +])# PKG_CHECK_MODULES + + +# PKG_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable pkgconfigdir as the location where a module +# should install pkg-config .pc files. By default the directory is +# $libdir/pkgconfig, but the default can be changed by passing +# DIRECTORY. The user can override through the --with-pkgconfigdir +# parameter. +AC_DEFUN([PKG_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([pkgconfigdir], + [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, + [with_pkgconfigdir=]pkg_default) +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +]) dnl PKG_INSTALLDIR + + +# PKG_NOARCH_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable noarch_pkgconfigdir as the location where a +# module should install arch-independent pkg-config .pc files. By +# default the directory is $datadir/pkgconfig, but the default can be +# changed by passing DIRECTORY. The user can override through the +# --with-noarch-pkgconfigdir parameter. +AC_DEFUN([PKG_NOARCH_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([noarch-pkgconfigdir], + [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, + [with_noarch_pkgconfigdir=]pkg_default) +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +]) dnl PKG_NOARCH_INSTALLDIR + + +# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# ------------------------------------------- +# Retrieves the value of the pkg-config variable for the given module. +AC_DEFUN([PKG_CHECK_VAR], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl + +_PKG_CONFIG([$1], [variable="][$3]["], [$2]) +AS_VAR_COPY([$1], [pkg_cv_][$1]) + +AS_VAR_IF([$1], [""], [$5], [$4])dnl +])# PKG_CHECK_VAR diff --git a/m4/po.m4 b/m4/po.m4 new file mode 100644 index 0000000..c5a2f6b --- /dev/null +++ b/m4/po.m4 @@ -0,0 +1,453 @@ +# po.m4 serial 24 (gettext-0.19) +dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.60]) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AC_PROG_MKDIR_P])dnl + AC_REQUIRE([AC_PROG_SED])dnl + AC_REQUIRE([AM_NLS])dnl + + dnl Release version of the gettext macros. This is used to ensure that + dnl the gettext macros and po/Makefile.in.in are in sync. + AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) + + dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([MSGFMT_015]) +changequote(,)dnl + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([GMSGFMT_015]) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac +changequote([,])dnl + AC_SUBST([XGETTEXT_015]) + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + + dnl Installation directories. + dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we + dnl have to define it here, so that it can be used in po/Makefile. + test -n "$localedir" || localedir='${datadir}/locale' + AC_SUBST([localedir]) + + dnl Support for AM_XGETTEXT_OPTION. + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) + + AC_CONFIG_COMMANDS([po-directories], [[ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done]], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat < "$ac_file.tmp" + tab=`printf '\t'` + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. + +AC_PREREQ([2.50]) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$][$1]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +]) diff --git a/m4/yelp.m4 b/m4/yelp.m4 new file mode 100644 index 0000000..709c48e --- /dev/null +++ b/m4/yelp.m4 @@ -0,0 +1,219 @@ +AC_DEFUN([YELP_HELP_INIT], +[ +AC_REQUIRE([AC_PROG_LN_S]) +m4_pattern_allow([AM_V_at]) +m4_pattern_allow([AM_V_GEN]) +m4_pattern_allow([AM_DEFAULT_VERBOSITY]) + +YELP_LC_MEDIA_LINKS=true +YELP_LC_DIST=true + +for yelpopt in [$1]; do + case $yelpopt in + lc-media-links) YELP_LC_MEDIA_LINKS=true ;; + no-lc-media-links) YELP_LC_MEDIA_LINKS= ;; + lc-dist) YELP_LC_DIST=true ;; + no-lc-dist) YELP_LC_DIST= ;; + *) AC_MSG_ERROR([Unrecognized [YELP_HELP_INIT] option $yelpopt"]) ;; + esac +done; +AC_SUBST([YELP_LC_MEDIA_LINKS]) +AC_SUBST([YELP_LC_DIST]) + +AC_ARG_WITH([help-dir], + AS_HELP_STRING([--with-help-dir=DIR], + [path where help files are installed]),, + [with_help_dir='${datadir}/help']) +HELP_DIR="$with_help_dir" +AC_SUBST(HELP_DIR) + +AC_ARG_VAR([ITSTOOL], [Path to the `itstool` command]) +AC_CHECK_PROG([ITSTOOL], [itstool], [itstool]) +if test x"$ITSTOOL" = x; then + AC_MSG_ERROR([itstool not found]) +fi + +AC_ARG_VAR([XMLLINT], [Path to the `xmllint` command]) +AC_CHECK_PROG([XMLLINT], [xmllint], [xmllint]) +if test x"$XMLLINT" = x; then + AC_MSG_ERROR([xmllint not found]) +fi + +YELP_HELP_RULES=' +HELP_ID ?= +HELP_POT ?= +HELP_FILES ?= +HELP_EXTRA ?= +HELP_MEDIA ?= +HELP_LINGUAS ?= + +_HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS)) +_HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot)) +_HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po)) +_HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES)) +_HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f)) +_HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f)) +_HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f)) +_HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f))) +_HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp) + +_HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1) +_HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V)) +_HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V)) +_HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V)) +_HELP_LC_VERBOSE_0 = @echo " GEN "$(dir [$]@); + +all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES) + +.PHONY: pot +pot: $(_HELP_POTFILE) +$(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) + $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \ + $(ITSTOOL) -o "[$]@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)") + +.PHONY: repo +repo: $(_HELP_POTFILE) + $(AM_V_at)for po in $(_HELP_POFILES); do \ + if test "x[$](_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \ + msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \ + done + +$(_HELP_POFILES): + $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi + $(AM_V_at)if test ! -f "[$]@" -a -f "$(srcdir)/[$]@"; then cp "$(srcdir)/[$]@" "[$]@"; fi + $(AM_V_GEN)if ! test -f "[$]@"; then \ + (cd "$(dir [$]@)" && \ + $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \ + mv "$(notdir [$]@).tmp" "$(notdir [$]@)"); \ + else \ + (cd "$(dir [$]@)" && \ + $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \ + msgmerge -o "$(notdir [$]@)" "$(notdir [$]@)" "$(notdir [$]@).tmp" && \ + rm "$(notdir [$]@).tmp"); \ + fi + +$(_HELP_MOFILES): %.mo: %.po + $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi + $(AM_V_GEN)msgfmt -o "[$]@" "$<" + +$(_HELP_LC_FILES): $(_HELP_LINGUAS) +$(_HELP_LINGUAS): $(_HELP_LC_STAMPS) +$(_HELP_LC_STAMPS): %.stamp: %.mo +$(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA) + $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi + $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \ + mo="$(dir [$]@)$(patsubst %/$(notdir [$]@),%,[$]@).mo"; \ + if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \ + (cd "$(dir [$]@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \ + touch "[$]@" + +.PHONY: clean-help +mostlyclean-am: $(if $(HELP_ID),clean-help) +clean-help: + rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) + +EXTRA_DIST ?= +EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) +EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp)) +EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) +EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) + +distdir: distdir-help-files +distdir-help-files: $(_HELP_LC_FILES) + @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ + $(MKDIR_P) "$(distdir)/$$lc"; \ + for file in $(HELP_FILES); do \ + if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \ + cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \ + done; \ + done; \ + +.PHONY: check-help +check: check-help +check-help: + for lc in C $(_HELP_LINGUAS); do \ + if test -d "$$lc"; \ + then d=; \ + xmlpath="$$lc"; \ + else \ + d="$(srcdir)/"; \ + xmlpath="$$lc:$(srcdir)/$$lc"; \ + fi; \ + for page in $(HELP_FILES); do \ + echo "$(XMLLINT) --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ + $(XMLLINT) --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ + done; \ + done + + +.PHONY: install-help +install-data-am: $(if $(HELP_ID),install-help) +install-help: $(_HELP_LC_FILES) + @for lc in C $(_HELP_LINGUAS); do \ + $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ + done + @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ + if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ + echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \ + $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \ + done; done + @for f in $(_HELP_C_EXTRA); do \ + lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ + if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ + echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \ + $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \ + done + @for f in $(HELP_MEDIA); do \ + for lc in C $(_HELP_LINGUAS); do \ + if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + mdir=`dirname "$$f"`; \ + if test "x$mdir" = "x."; then mdir=""; fi; \ + if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \ + if test -f "$$d$$lc/$$f"; then \ + echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \ + $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \ + elif test "x$$lc" != "xC"; then \ + if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \ + echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \ + dname="$$f"; \ + pars="../"; \ + while test "$$dname" != "." -a "$$dname" != "/"; do \ + pars="../$$pars"; \ + dname=$$(dirname "$$dname"); \ + done; \ + $(LN_S) -f $$pars"C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \ + fi; \ + fi; \ + done; \ + done + +.PHONY: uninstall-help +uninstall-am: $(if $(HELP_ID),uninstall-help) +uninstall-help: + for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + echo "rm -f $$helpdir`basename $$f`"; \ + rm -f "$$helpdir`basename $$f`"; \ + done; done + @for f in $(_HELP_C_EXTRA); do \ + lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + echo "rm -f $$helpdir`basename $$f`"; \ + rm -f "$$helpdir`basename $$f`"; \ + done + @for f in $(HELP_MEDIA); do \ + for lc in C $(_HELP_LINGUAS); do \ + helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ + echo "rm -f $$helpdir$$f"; \ + rm -f "$$helpdir$$f"; \ + done; \ + done; +' +AC_SUBST([YELP_HELP_RULES]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([YELP_HELP_RULES])]) +]) diff --git a/misc/Makefile.am b/misc/Makefile.am new file mode 100644 index 0000000..6376879 --- /dev/null +++ b/misc/Makefile.am @@ -0,0 +1,32 @@ +gsettings_SCHEMAS = \ + org.yorba.shotwell.gschema.xml \ + org.yorba.shotwell-extras.gschema.xml + +appdata_in_files = $(srcdir)/shotwell.appdata.xml.in +appdata_XML = \ + shotwell.appdata.xml + +desktopdir = $(datadir)/applications +desktop_DATA = shotwell.desktop shotwell-viewer.desktop + +$(appdata_XML) : $(appdata_in_files) + $(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ + +%.desktop.in : %.desktop.in.in + $(AM_V_GEN) sed -e 's|@VERSION[@]|$(VERSION)|g' $< > $@ + +%.desktop : %.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ + +@GSETTINGS_RULES@ +@APPDATA_XML_RULES@ + +CLEANFILES = $(appdata_XML) $(desktop_DATA) $(desktop_in_files) + +dist_noinst_DATA = \ + $(srcdir)/shotwell.desktop.in.in \ + $(srcdir)/shotwell-viewer.desktop.in.in \ + $(gsettings_SCHEMAS) \ + $(appdata_in_files) + +-include $(top_srcdir)/git.mk diff --git a/misc/Makefile.in b/misc/Makefile.in new file mode 100644 index 0000000..b69d514 --- /dev/null +++ b/misc/Makefile.in @@ -0,0 +1,592 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = misc +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/appdata-xml.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/ax_generate_changelog.m4 \ + $(top_srcdir)/m4/ax_is_release.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(dist_noinst_DATA) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(desktopdir)" +DATA = $(desktop_DATA) $(dist_noinst_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +API_VERSION = @API_VERSION@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GIT = @GIT@ +GITVER = @GITVER@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_EXTRA_PLUGINS = @HAVE_EXTRA_PLUGINS@ +HAVE_UNITY = @HAVE_UNITY@ +HELP_DIR = @HELP_DIR@ +IMPORT_CFLAGS = @IMPORT_CFLAGS@ +IMPORT_LIBS = @IMPORT_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +ITSTOOL = @ITSTOOL@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MICRO_VERSION = @MICRO_VERSION@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ +PLUGIN_LIBS = @PLUGIN_LIBS@ +POSUB = @POSUB@ +PUBLISHING_CFLAGS = @PUBLISHING_CFLAGS@ +PUBLISHING_LIBS = @PUBLISHING_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHOTWELL_CFLAGS = @SHOTWELL_CFLAGS@ +SHOTWELL_LIBS = @SHOTWELL_LIBS@ +STRIP = @STRIP@ +THUMBNAILER_CFLAGS = @THUMBNAILER_CFLAGS@ +THUMBNAILER_LIBS = @THUMBNAILER_LIBS@ +TRANSITIONS_CFLAGS = @TRANSITIONS_CFLAGS@ +TRANSITIONS_LIBS = @TRANSITIONS_LIBS@ +UNITY_CFLAGS = @UNITY_CFLAGS@ +UNITY_LIBS = @UNITY_LIBS@ +UNITY_VALAFLAGS = @UNITY_VALAFLAGS@ +USE_NLS = @USE_NLS@ +VALAC = @VALAC@ +VALAFLAGS = @VALAFLAGS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMLLINT = @XMLLINT@ +YELP_LC_DIST = @YELP_LC_DIST@ +YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appdataxmldir = @appdataxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +gsettings_SCHEMAS = \ + org.yorba.shotwell.gschema.xml \ + org.yorba.shotwell-extras.gschema.xml + +appdata_in_files = $(srcdir)/shotwell.appdata.xml.in +appdata_XML = \ + shotwell.appdata.xml + +desktopdir = $(datadir)/applications +desktop_DATA = shotwell.desktop shotwell-viewer.desktop +CLEANFILES = $(appdata_XML) $(desktop_DATA) $(desktop_in_files) +dist_noinst_DATA = \ + $(srcdir)/shotwell.desktop.in.in \ + $(srcdir)/shotwell-viewer.desktop.in.in \ + $(gsettings_SCHEMAS) \ + $(appdata_in_files) + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign misc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign misc/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-desktopDATA: $(desktop_DATA) + @$(NORMAL_INSTALL) + @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ + done + +uninstall-desktopDATA: + @$(NORMAL_UNINSTALL) + @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(desktopdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-desktopDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-desktopDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-desktopDATA install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-desktopDATA + +.PRECIOUS: Makefile + + +$(appdata_XML) : $(appdata_in_files) + $(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ + +%.desktop.in : %.desktop.in.in + $(AM_V_GEN) sed -e 's|@VERSION[@]|$(VERSION)|g' $< > $@ + +%.desktop : %.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ + +@GSETTINGS_RULES@ +@APPDATA_XML_RULES@ + +-include $(top_srcdir)/git.mk + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/misc/org.yorba.shotwell-extras.gschema.xml b/misc/org.yorba.shotwell-extras.gschema.xml index 3506f12..e31f67a 100644 --- a/misc/org.yorba.shotwell-extras.gschema.xml +++ b/misc/org.yorba.shotwell-extras.gschema.xml @@ -1,4 +1,4 @@ - + diff --git a/misc/org.yorba.shotwell.gschema.xml b/misc/org.yorba.shotwell.gschema.xml index 1f6a093..16ba868 100644 --- a/misc/org.yorba.shotwell.gschema.xml +++ b/misc/org.yorba.shotwell.gschema.xml @@ -1,4 +1,4 @@ - + @@ -35,6 +35,12 @@ True if the sidebar is to be displayed, false otherwise. + + true + display toolbar + True if the bottom toolbar is to be displayed, false otherwise. + + false display search bar @@ -427,7 +433,7 @@ "" - Piwigio URL + Piwigo URL URL of the Piwigo server. diff --git a/misc/shotwell-viewer.desktop.head b/misc/shotwell-viewer.desktop.head deleted file mode 100644 index 994bc18..0000000 --- a/misc/shotwell-viewer.desktop.head +++ /dev/null @@ -1,14 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Shotwell Viewer -GenericName=Photo Viewer -Exec=shotwell %f -Icon=shotwell -Terminal=false -NoDisplay=true -Type=Application -MimeType=image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-3fr;image/x-adobe-dng;image/x-arw;image/x-bay;image/x-bmp;image/x-canon-cr2;image/x-canon-crw;image/x-cap;image/x-cr2;image/x-crw;image/x-dcr;image/x-dcraw;image/x-dcs;image/x-dng;image/x-drf;image/x-eip;image/x-erf;image/x-fff;image/x-fuji-raf;image/x-iiq;image/x-k25;image/x-kdc;image/x-mef;image/x-minolta-mrw;image/x-mos;image/x-mrw;image/x-nef;image/x-nikon-nef;image/x-nrw;image/x-olympus-orf;image/x-orf;image/x-panasonic-raw;image/x-pef;image/x-pentax-pef;image/x-png;image/x-ptx;image/x-pxn;image/x-r3d;image/x-raf;image/x-raw;image/x-rw2;image/x-rwl;image/x-rwz;image/x-sigma-x3f;image/x-sony-arw;image/x-sony-sr2;image/x-sony-srf;image/x-sr2;image/x-srf;image/x-x3f; -Categories=Graphics;Viewer;Photography;GNOME;GTK; -X-GIO-NoFuse=true -X-GNOME-Gettext-Domain=shotwell -X-GNOME-FullName=Shotwell Photo Viewer diff --git a/misc/shotwell-viewer.desktop.in.in b/misc/shotwell-viewer.desktop.in.in new file mode 100644 index 0000000..b5e41f3 --- /dev/null +++ b/misc/shotwell-viewer.desktop.in.in @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Name=Shotwell Viewer +GenericName=Photo Viewer +Exec=shotwell %f +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=shotwell +Terminal=false +NoDisplay=true +Type=Application +MimeType=image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-3fr;image/x-adobe-dng;image/x-arw;image/x-bay;image/x-bmp;image/x-canon-cr2;image/x-canon-crw;image/x-cap;image/x-cr2;image/x-crw;image/x-dcr;image/x-dcraw;image/x-dcs;image/x-dng;image/x-drf;image/x-eip;image/x-erf;image/x-fff;image/x-fuji-raf;image/x-iiq;image/x-k25;image/x-kdc;image/x-mef;image/x-minolta-mrw;image/x-mos;image/x-mrw;image/x-nef;image/x-nikon-nef;image/x-nrw;image/x-olympus-orf;image/x-orf;image/x-panasonic-raw;image/x-pef;image/x-pentax-pef;image/x-png;image/x-ptx;image/x-pxn;image/x-r3d;image/x-raf;image/x-raw;image/x-rw2;image/x-rwl;image/x-rwz;image/x-sigma-x3f;image/x-sony-arw;image/x-sony-sr2;image/x-sony-srf;image/x-sr2;image/x-srf;image/x-x3f; +Categories=Graphics;Viewer;Photography;GNOME;GTK; +X-GIO-NoFuse=true +X-GNOME-Gettext-Domain=shotwell +X-GNOME-FullName=Shotwell Photo Viewer diff --git a/misc/shotwell.appdata.xml b/misc/shotwell.appdata.xml deleted file mode 100644 index 62b9a57..0000000 --- a/misc/shotwell.appdata.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - shotwell.desktop - CC0 - LGPL-2.1+ - Popular photo manager - -

- Shotwell is an easy-to-use, fast photo organizer designed for the GNOME desktop. - It allows you to import photos from your camera or disk, organize them by date and subject - matter, even ratings. It also offers basic photo editing, like crop, red-eye correction, - color adjustments, and straighten. Shotwell's non-destructive photo editor does not alter - your master photos, making it easy to experiment and correct errors. -

-

- When ready, Shotwell can upload your photos to various web sites, such as Facebook, Flickr, - Picasa (Google Plus), and more. -

-

- Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats. -

-
- https://wiki.gnome.org/Apps/Shotwell - - http://www.yorba.org/wp-content/uploads/2013/02/harbor.png - http://www.yorba.org/wp-content/uploads/2013/02/import-300x155.png - http://www.yorba.org/wp-content/uploads/2013/02/organize-300x197.png - http://www.yorba.org/wp-content/uploads/2013/02/edit-300x247.png - http://www.yorba.org/wp-content/uploads/2013/02/publish-300x213.png - - shotwell@yorba.org - GNOME -
diff --git a/misc/shotwell.appdata.xml.in b/misc/shotwell.appdata.xml.in new file mode 100644 index 0000000..955ec1c --- /dev/null +++ b/misc/shotwell.appdata.xml.in @@ -0,0 +1,60 @@ + + + + shotwell.desktop + CC0-1.0 + LGPL-2.1+ + shotwell + Shotwell + Popular photo manager + +

+ Shotwell is an easy-to-use, fast photo organizer designed for the GNOME desktop. + It allows you to import photos from your camera or disk, organize them by date and subject + matter, even ratings. It also offers basic photo editing, like crop, red-eye correction, + color adjustments, and straighten. Shotwell's non-destructive photo editor does not alter + your master photos, making it easy to experiment and correct errors. +

+

+ When ready, Shotwell can upload your photos to various web sites, such as Facebook, Flickr, + Picasa (Google Plus), and more. +

+

+ Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats. +

+
+ https://wiki.gnome.org/Apps/Shotwell + + + http://shotwell-project.org/appdata/shotwell/harbor.png + + + + http://shotwell-project.org/appdata/shotwell/import-300x155.png + + + + http://shotwell-project.org/appdata/shotwell/organize-300x197.png + + + + http://shotwell-project.org/appdata/shotwell/edit-300x247.png + + + + http://shotwell-project.org/appdata/shotwell/publish-300x213.png + + + + mail@jensge.org + GNOME + + The Shotwell developers + + https://bugzilla.gnome.org/enter_bug.cgi?product=shotwell + + + http://www.gnome.org/friends/ + + http://shotwell-project.org/doc/html +
diff --git a/misc/shotwell.convert b/misc/shotwell.convert deleted file mode 100644 index 2f972c1..0000000 --- a/misc/shotwell.convert +++ /dev/null @@ -1,105 +0,0 @@ -[org.yorba.shotwell.preferences.ui] -background-color = /apps/shotwell/preferences/ui/background_color -display-basic-properties = /apps/shotwell/preferences/ui/display_basic_properties -display-extended-properties = /apps/shotwell/preferences/ui/display_extended_properties -display-photo-ratings = /apps/shotwell/preferences/ui/display_photo_ratings -display-photo-tags = /apps/shotwell/preferences/ui/display_photo_tags -display-photo-titles = /apps/shotwell/preferences/ui/display_photo_titles -event-photos-sort-ascending = /apps/shotwell/preferences/ui/event_photos_sort_ascending -event-photos-sort-by = /apps/shotwell/preferences/ui/event_photos_sort_by -events-sort-ascending = /apps/shotwell/preferences/ui/events_sort_ascending -hide-photos-already-imported = /apps/shotwell/preferences/ui/hide_photos_already_imported -keep-relativity = /apps/shotwell/preferences/ui/keep_relativity -library-photos-sort-ascending = /apps/shotwell/preferences/ui/library_photos_sort_ascending -library-photos-sort-by = /apps/shotwell/preferences/ui/library_photos_sort_by -modify-originals = /apps/shotwell/preferences/ui/modify_originals -photo-thumbnail-scale = /apps/shotwell/preferences/ui/photo_thumbnail_scale -show-welcome-dialog = /apps/shotwell/preferences/ui/show_welcome_dialog -sidebar-position = /apps/shotwell/preferences/ui/pane_position -use-24-hour-time = /apps/shotwell/preferences/ui/twentyfour_hr_time - -[org.yorba.shotwell.preferences.slideshow] -delay = /apps/shotwell/preferences/slideshow/delay -transition-delay = /apps/shotwell/preferences/slideshow_transition/delay -transition-effect-id = /apps/shotwell/preferences/slideshow_transition/name -show-title = /apps/shotwell/preferences/slideshow/show-title - -[org.yorba.shotwell.preferences.window] -direct-height = /apps/shotwell/preferences/window/direct_height -direct-maximize = /apps/shotwell/preferences/window/direct_maximize -direct-width = /apps/shotwell/preferences/window/direct_width -library-height = /apps/shotwell/preferences/window/library_height -library-maximize = /apps/shotwell/preferences/window/library_maximize -library-width = /apps/shotwell/preferences/window/library_width - -[org.yorba.shotwell.preferences.files] -auto-import = /apps/shotwell/preferences/files/auto_import -commit-metadata = /apps/shotwell/preferences/files/commit_metadata -directory-pattern = /apps/shotwell/preferences/files/directory_pattern -directory-pattern-custom = /apps/shotwell/preferences/files/directory_pattern_custom -import-dir = /apps/shotwell/preferences/files/import_dir -use-lowercase-filenames = /apps/shotwell/preferences/files/use_lowercase_filenames -raw-developer-default = /apps/shotwell/preferences/files/raw_developer_default - -[org.yorba.shotwell.preferences.editing] -external-photo-editor = /apps/shotwell/preferences/editing/external_photo_editor -external-raw-editor = /apps/shotwell/preferences/editing/external_raw_editor - -[org.yorba.shotwell.video] -interpreter-state-cookie = /apps/shotwell/video/interpreter_state_cookie - -[org.yorba.shotwell.printing] -content-height = /apps/shotwell/printing/content_height -content-layout = /apps/shotwell/printing/content_layout -content-ppi = /apps/shotwell/printing/content_ppi -content-units = /apps/shotwell/printing/content_units -content-width = /apps/shotwell/printing/content_width -images-per-page = /apps/shotwell/printing/images_per_page_selection -match-aspect-ratio = /apps/shotwell/printing/match_aspect_ratio -print-titles = /apps/shotwell/printing/print_titles -size-selection = /apps/shotwell/printing/size_selection -titles-font = /apps/shotwell/printing/print_titles_font - -[org.yorba.shotwell.sharing] -default-service = /apps/shotwell/sharing/default_service -last-used-service = /apps/shotwell/sharing/last_used_service - -[org.yorba.shotwell.plugins.enable-state] -publishing-facebook = /apps/shotwell/plugins/org.yorba.shotwell.publishing.facebook/enabled -publishing-flickr = /apps/shotwell/plugins/org.yorba.shotwell.publishing.flickr/enabled -publishing-picasa = /apps/shotwell/plugins/org.yorba.shotwell.publishing.picasa/enabled -publishing-piwigo = /apps/shotwell/plugins/org.yorba.shotwell.publishing.piwigo/enabled -publishing-yandex-fotki = /apps/shotwell/plugins/org.yorba.shotwell.publishing.yandex-fotki/enabled -publishing-youtube = /apps/shotwell/plugins/org.yorba.shotwell.publishing.youtube/enabled -transitions-crumble = /apps/shotwell/plugins/org.yorba.shotwell.transitions.crumble/enabled -transitions-fade = /apps/shotwell/plugins/org.yorba.shotwell.transitions.fade/enabled -transitions-slide = /apps/shotwell/plugins/org.yorba.shotwell.transitions.slide/enabled - -[org.yorba.shotwell.sharing.facebook] -uid = /apps/shotwell/sharing/facebook/uid -user-name = /apps/shotwell/sharing/facebook/user_name -default-size = /apps/shotwell/sharing/facebook/default_size - -[org.yorba.shotwell.sharing.flickr] -default-size = /apps/shotwell/sharing/flickr/default_size -visibility = /apps/shotwell/sharing/flickr/visibility - -[org.yorba.shotwell.sharing.picasa] -default-size = /apps/shotwell/sharing/picasa/default_size -last-album = /apps/shotwell/sharing/picasa/last_album - -[org.yorba.shotwell.sharing.org-yorba-shotwell-publishing-piwigo] -url = /apps/shotwell/sharing/org.yorba.shotwell.publishing.piwigo/url -username = /apps/shotwell/sharing/org.yorba.shotwell.publishing.piwigo/username -password = /apps/shotwell/sharing/org.yorba.shotwell.publishing.piwigo/password -remember-password = /apps/shotwell/sharing/org.yorba.shotwell.publishing.piwigo/remember-password -last-category = /apps/shotwell/sharing/org.yorba.shotwell.publishing.piwigo/last-category -last-permission-level = /apps/shotwell/sharing/org.yorba.shotwell.publishing.piwigo/last-permission-level - -[org.yorba.shotwell.sharing.org-yorba-shotwell-publishing-yandex-fotki] -auth-token = /apps/shotwell/sharing/org.yorba.shotwell.publishing.yandex-fotki/auth_token - -[org.yorba.shotwell.sharing.youtube] -user-name = /apps/shotwell/sharing/youtube/user_name -auth-token = /apps/shotwell/sharing/youtube/auth_token - diff --git a/misc/shotwell.desktop.head b/misc/shotwell.desktop.head deleted file mode 100644 index 09ca9ed..0000000 --- a/misc/shotwell.desktop.head +++ /dev/null @@ -1,15 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Shotwell -GenericName=Photo Manager -Comment=Organize your photos -Keywords=album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;organize;photo;photographs;photos;picture;pictures;photography;print;publish;rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo; -Exec=shotwell %U -Icon=shotwell -Terminal=false -Type=Application -MimeType=x-content/image-dcf; -Categories=Graphics;Photography;GNOME;GTK; -X-GIO-NoFuse=true -X-GNOME-Gettext-Domain=shotwell -X-GNOME-FullName=Shotwell Photo Manager diff --git a/misc/shotwell.desktop.in.in b/misc/shotwell.desktop.in.in new file mode 100644 index 0000000..aa1ede2 --- /dev/null +++ b/misc/shotwell.desktop.in.in @@ -0,0 +1,17 @@ +[Desktop Entry] +Version=1.0 +Name=Shotwell +GenericName=Photo Manager +Comment=Organize your photos +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;organize;photo;photographs;photos;picture;pictures;photography;print;publish;rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo; +Exec=shotwell %U +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=shotwell +Terminal=false +Type=Application +MimeType=x-content/image-dcf; +Categories=Graphics;Photography;GNOME;GTK; +X-GIO-NoFuse=true +X-GNOME-Gettext-Domain=shotwell +X-GNOME-FullName=Shotwell Photo Manager diff --git a/plugins/Makefile b/plugins/Makefile deleted file mode 100644 index c622063..0000000 --- a/plugins/Makefile +++ /dev/null @@ -1,33 +0,0 @@ - -include plugins.mk - -DIST_FILES := \ - Makefile \ - Makefile.plugin.mk \ - plugins.mk - -.PHONY: all -all: $(ALL_PLUGINS) - -.PHONY: $(ALL_PLUGINS) -$(ALL_PLUGINS): - @$(MAKE) --directory=$@ PLUGINS_VERSION="$(PLUGINS_VERSION)" USER_VALAFLAGS="$(USER_VALAFLAGS)" \ - PLUGIN_CFLAGS="$(PLUGIN_CFLAGS)" - -.PHONY: clean -clean: - $(foreach plugin,$(ALL_PLUGINS),$(MAKE) --directory=$(plugin) clean;) - -.PHONY: cleantemps -cleantemps: - $(foreach plugin,$(ALL_PLUGINS),$(MAKE) --directory=$(plugin) cleantemps;) - -.PHONY: distclean -distclean: - $(foreach plugin,$(ALL_PLUGINS),$(MAKE) --directory=$(plugin) distclean;) - -.PHONY: listfiles -listfiles: - @printf "$(foreach file,$(DIST_FILES), plugins/$(file)) " - @$(foreach plugin,$(ALL_PLUGINS),$(MAKE) --directory=$(plugin) --no-print-directory listfiles;) - diff --git a/plugins/Makefile.plugin.mk b/plugins/Makefile.plugin.mk deleted file mode 100644 index c26c672..0000000 --- a/plugins/Makefile.plugin.mk +++ /dev/null @@ -1,80 +0,0 @@ - -# Generic plug-in Makefile for Shotwell standard plugins. -# -# Requires PLUGIN and SRC_FILES be set to the name of the plugin binary (minus extension) and that -# the directory is registered in plugins.mk. -# -# To use, include this file in each plug-in directory's Makefile after setting appropriate variables. -# Also be sure that each plug-in has a dummy_main() function to satisfy valac's linkage. -# -# NOTE: This file is called from the cwd of each directory, hence the relative paths should be -# read as such. - -ifndef VALAC -VALAC := valac -endif -MAKE_FILES := Makefile ../Makefile.plugin.mk ../plugins.mk -HEADER_FILES := ../shotwell-plugin-dev-1.0.vapi ../shotwell-plugin-dev-1.0.h \ - ../shotwell-plugin-dev-1.0.deps - -include ../plugins.mk - -# automatically include shotwell-plugin-dev-1.0's dependencies -# NOTE: This line will generate an error when running "make dist" from the master Makefile. -# It can be safely ignored. -PKGS := $(shell sed ':a;N;$$!ba;s/\n/ /g' ../shotwell-plugin-dev-1.0.deps) $(PKGS) - -# automatically include the shotwell-plugin-dev-1.0 package as a local dependency -EXT_PKGS := $(PKGS) -PKGS := shotwell-plugin-dev-1.0 $(PKGS) $(PLUGIN_PKGS) - -CFILES := $(notdir $(SRC_FILES:.vala=.c)) -OFILES := $(notdir $(SRC_FILES:.vala=.o)) - -CFLAGS := $(shell pkg-config --print-errors --cflags $(EXT_PKGS) $(PLUGIN_PKGS)) \ - -nostdlib -export-dynamic $(PLUGIN_CFLAGS) -LIBS := $(shell pkg-config --print-errors --libs $(EXT_PKGS) $(PLUGIN_PKGS)) -DEFINES := -D_VERSION='"$(PLUGINS_VERSION)"' -DGETTEXT_PACKAGE='"shotwell"' - -all: $(PLUGIN).so - -PLUGIN_EXTRAFLAGS ?= --vapidir=../common --pkg shotwell-plugin-common -PLUGIN_EXTRALINKFLAGS ?= -L../common/ -lshotwell-plugin-common - -.stamp: $(SRC_FILES) $(MAKE_FILES) $(HEADER_FILES) - $(VALAC) --target-glib=$(MIN_GLIB_VERSION) -g --enable-checking --fatal-warnings --ccode --enable-deprecated \ - --vapidir=../ $(foreach pkg,$(PKGS),--pkg=$(pkg)) $(foreach pkg,$(CUSTOM_VAPI_PKGS),--pkg=$(pkg)) \ - $(USER_VALAFLAGS) \ - $(PLUGIN_EXTRAFLAGS) \ - --vapidir=../../vapi \ - $(SRC_FILES) - @touch .stamp - -$(CFILES): .stamp - @ - -.c.o: - $(CC) -c $(CFLAGS) $(DEFINES) -I../.. -I ../common $< - -$(PLUGIN).so: $(OFILES) - $(CC) $(LDFLAGS) -shared $(OFILES) $(LIBS) $(PLUGIN_EXTRALINKFLAGS) -o $@ - -.PHONY: cleantemps -cleantemps: - @rm -f $(notdir $(SRC_FILES:.vala=.c)) $(notdir $(SRC_FILES:.vala=.o)) - @rm -f .stamp - -.PHONY: clean -clean: cleantemps - @rm -f $(PLUGIN).so $(OFILES) $(CFILES) - -.PHONY: distclean -distclean: clean - -PLUGIN_DIR ?= $(PLUGIN) - -.PHONY: listfiles -listfiles: - @printf "plugins/$(PLUGIN_DIR)/Makefile $(foreach file,$(SRC_FILES),plugins/$(PLUGIN_DIR)/$(file)) " - @printf "$(foreach rc,$(RC_FILES),plugins/$(PLUGIN_DIR)/$(rc)) " - diff --git a/plugins/common/Makefile b/plugins/common/Makefile deleted file mode 100644 index 90714a0..0000000 --- a/plugins/common/Makefile +++ /dev/null @@ -1,20 +0,0 @@ - -PLUGIN := libshotwell-plugin-common -PLUGIN_DIR := common - -PLUGIN_PKGS := \ - gee-0.8 \ - libxml-2.0 \ - libsoup-2.4 \ - json-glib-1.0 \ - webkit2gtk-4.0 - -SRC_FILES := Resources.vala RESTSupport.vala - -PLUGIN_EXTRAFLAGS := --vapi=shotwell-plugin-common.vapi \ - --header=shotwell-plugin-common.h - -PLUGIN_EXTRALINKFLAGS := - -include ../Makefile.plugin.mk - diff --git a/plugins/common/RESTSupport.c b/plugins/common/RESTSupport.c new file mode 100644 index 0000000..fe85fe6 --- /dev/null +++ b/plugins/common/RESTSupport.c @@ -0,0 +1,9226 @@ +/* RESTSupport.c generated by valac 0.32.1, the Vala compiler + * generated from RESTSupport.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 +#include +#include +#include +#include +#include +#include +#include +#include + +#define _g_hmac_unref0(var) ((var == NULL) ? NULL : (var = (g_hmac_unref (var), NULL))) + +#define PUBLISHING_REST_SUPPORT_TYPE_SESSION (publishing_rest_support_session_get_type ()) +#define PUBLISHING_REST_SUPPORT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)) +#define PUBLISHING_REST_SUPPORT_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSessionClass)) +#define PUBLISHING_REST_SUPPORT_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION)) +#define PUBLISHING_REST_SUPPORT_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_SESSION)) +#define PUBLISHING_REST_SUPPORT_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSessionClass)) + +typedef struct _PublishingRESTSupportSession PublishingRESTSupportSession; +typedef struct _PublishingRESTSupportSessionClass PublishingRESTSupportSessionClass; +typedef struct _PublishingRESTSupportSessionPrivate PublishingRESTSupportSessionPrivate; +#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 _PublishingRESTSupportParamSpecSession PublishingRESTSupportParamSpecSession; + +#define PUBLISHING_REST_SUPPORT_TYPE_HTTP_METHOD (publishing_rest_support_http_method_get_type ()) + +#define PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT (publishing_rest_support_argument_get_type ()) +#define PUBLISHING_REST_SUPPORT_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgument)) +#define PUBLISHING_REST_SUPPORT_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgumentClass)) +#define PUBLISHING_REST_SUPPORT_IS_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)) +#define PUBLISHING_REST_SUPPORT_IS_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)) +#define PUBLISHING_REST_SUPPORT_ARGUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgumentClass)) + +typedef struct _PublishingRESTSupportArgument PublishingRESTSupportArgument; +typedef struct _PublishingRESTSupportArgumentClass PublishingRESTSupportArgumentClass; +typedef struct _PublishingRESTSupportArgumentPrivate PublishingRESTSupportArgumentPrivate; +#define _publishing_rest_support_argument_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_argument_unref (var), NULL))) +typedef struct _PublishingRESTSupportParamSpecArgument PublishingRESTSupportParamSpecArgument; + +#define PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION (publishing_rest_support_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)) +#define PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransactionClass)) +#define PUBLISHING_REST_SUPPORT_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransactionClass)) + +typedef struct _PublishingRESTSupportTransaction PublishingRESTSupportTransaction; +typedef struct _PublishingRESTSupportTransactionClass PublishingRESTSupportTransactionClass; +typedef struct _PublishingRESTSupportTransactionPrivate PublishingRESTSupportTransactionPrivate; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define __vala_SoupURI_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupURI_free (var), NULL))) +typedef struct _PublishingRESTSupportParamSpecTransaction PublishingRESTSupportParamSpecTransaction; + +#define PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION (publishing_rest_support_upload_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction)) +#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransactionClass)) +#define PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransactionClass)) + +typedef struct _PublishingRESTSupportUploadTransaction PublishingRESTSupportUploadTransaction; +typedef struct _PublishingRESTSupportUploadTransactionClass PublishingRESTSupportUploadTransactionClass; +typedef struct _PublishingRESTSupportUploadTransactionPrivate PublishingRESTSupportUploadTransactionPrivate; +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) +#define __vala_SoupMultipart_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupMultipart_free (var), NULL))) +#define __vala_SoupBuffer_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupBuffer_free (var), NULL))) + +#define PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT (publishing_rest_support_xml_document_get_type ()) +#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocument)) +#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocumentClass)) +#define PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)) +#define PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)) +#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocumentClass)) + +typedef struct _PublishingRESTSupportXmlDocument PublishingRESTSupportXmlDocument; +typedef struct _PublishingRESTSupportXmlDocumentClass PublishingRESTSupportXmlDocumentClass; +typedef struct _PublishingRESTSupportXmlDocumentPrivate PublishingRESTSupportXmlDocumentPrivate; +#define _publishing_rest_support_xml_document_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_xml_document_unref (var), NULL))) +typedef struct _PublishingRESTSupportParamSpecXmlDocument PublishingRESTSupportParamSpecXmlDocument; +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) + +#define PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER (publishing_rest_support_batch_uploader_get_type ()) +#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)) +#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploaderClass)) +#define PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)) +#define PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)) +#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploaderClass)) + +typedef struct _PublishingRESTSupportBatchUploader PublishingRESTSupportBatchUploader; +typedef struct _PublishingRESTSupportBatchUploaderClass PublishingRESTSupportBatchUploaderClass; +typedef struct _PublishingRESTSupportBatchUploaderPrivate PublishingRESTSupportBatchUploaderPrivate; +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +typedef struct _PublishingRESTSupportParamSpecBatchUploader PublishingRESTSupportParamSpecBatchUploader; + +#define PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION (publishing_rest_support_google_session_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSessionClass)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSessionClass)) + +typedef struct _PublishingRESTSupportGoogleSession PublishingRESTSupportGoogleSession; +typedef struct _PublishingRESTSupportGoogleSessionClass PublishingRESTSupportGoogleSessionClass; +typedef struct _PublishingRESTSupportGoogleSessionPrivate PublishingRESTSupportGoogleSessionPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER (publishing_rest_support_google_publisher_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisherClass)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisherClass)) + +typedef struct _PublishingRESTSupportGooglePublisher PublishingRESTSupportGooglePublisher; +typedef struct _PublishingRESTSupportGooglePublisherClass PublishingRESTSupportGooglePublisherClass; +typedef struct _PublishingRESTSupportGooglePublisherPrivate PublishingRESTSupportGooglePublisherPrivate; + +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL (publishing_rest_support_google_publisher_google_session_impl_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GOOGLE_SESSION_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImpl)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GOOGLE_SESSION_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImplClass)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_GOOGLE_SESSION_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_GOOGLE_SESSION_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GOOGLE_SESSION_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImplClass)) + +typedef struct _PublishingRESTSupportGooglePublisherGoogleSessionImpl PublishingRESTSupportGooglePublisherGoogleSessionImpl; +typedef struct _PublishingRESTSupportGooglePublisherGoogleSessionImplClass PublishingRESTSupportGooglePublisherGoogleSessionImplClass; + +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE (publishing_rest_support_google_publisher_web_authentication_pane_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPane)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPaneClass)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_WEB_AUTHENTICATION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPaneClass)) + +typedef struct _PublishingRESTSupportGooglePublisherWebAuthenticationPane PublishingRESTSupportGooglePublisherWebAuthenticationPane; +typedef struct _PublishingRESTSupportGooglePublisherWebAuthenticationPaneClass PublishingRESTSupportGooglePublisherWebAuthenticationPaneClass; +typedef struct _PublishingRESTSupportGooglePublisherGoogleSessionImplPrivate PublishingRESTSupportGooglePublisherGoogleSessionImplPrivate; + +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GET_ACCESS_TOKENS_TRANSACTION (publishing_rest_support_google_publisher_get_access_tokens_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_ACCESS_TOKENS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GET_ACCESS_TOKENS_TRANSACTION, PublishingRESTSupportGooglePublisherGetAccessTokensTransaction)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_ACCESS_TOKENS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GET_ACCESS_TOKENS_TRANSACTION, PublishingRESTSupportGooglePublisherGetAccessTokensTransactionClass)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_GET_ACCESS_TOKENS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GET_ACCESS_TOKENS_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_GET_ACCESS_TOKENS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GET_ACCESS_TOKENS_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_ACCESS_TOKENS_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GET_ACCESS_TOKENS_TRANSACTION, PublishingRESTSupportGooglePublisherGetAccessTokensTransactionClass)) + +typedef struct _PublishingRESTSupportGooglePublisherGetAccessTokensTransaction PublishingRESTSupportGooglePublisherGetAccessTokensTransaction; +typedef struct _PublishingRESTSupportGooglePublisherGetAccessTokensTransactionClass PublishingRESTSupportGooglePublisherGetAccessTokensTransactionClass; + +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_REFRESH_ACCESS_TOKEN_TRANSACTION (publishing_rest_support_google_publisher_refresh_access_token_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_REFRESH_ACCESS_TOKEN_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_REFRESH_ACCESS_TOKEN_TRANSACTION, PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_REFRESH_ACCESS_TOKEN_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_REFRESH_ACCESS_TOKEN_TRANSACTION, PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionClass)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_REFRESH_ACCESS_TOKEN_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_REFRESH_ACCESS_TOKEN_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_REFRESH_ACCESS_TOKEN_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_REFRESH_ACCESS_TOKEN_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_REFRESH_ACCESS_TOKEN_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_REFRESH_ACCESS_TOKEN_TRANSACTION, PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionClass)) + +typedef struct _PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction; +typedef struct _PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionClass PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionClass; +#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL))) + +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION (publishing_rest_support_google_publisher_authenticated_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransaction)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_AUTHENTICATED_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_AUTHENTICATED_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass)) + +typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransaction PublishingRESTSupportGooglePublisherAuthenticatedTransaction; +typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass; + +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_USERNAME_FETCH_TRANSACTION (publishing_rest_support_google_publisher_username_fetch_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_USERNAME_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_USERNAME_FETCH_TRANSACTION, PublishingRESTSupportGooglePublisherUsernameFetchTransaction)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_USERNAME_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_USERNAME_FETCH_TRANSACTION, PublishingRESTSupportGooglePublisherUsernameFetchTransactionClass)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_USERNAME_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_USERNAME_FETCH_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_USERNAME_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_USERNAME_FETCH_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_USERNAME_FETCH_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_USERNAME_FETCH_TRANSACTION, PublishingRESTSupportGooglePublisherUsernameFetchTransactionClass)) + +typedef struct _PublishingRESTSupportGooglePublisherUsernameFetchTransaction PublishingRESTSupportGooglePublisherUsernameFetchTransaction; +typedef struct _PublishingRESTSupportGooglePublisherUsernameFetchTransactionClass PublishingRESTSupportGooglePublisherUsernameFetchTransactionClass; +typedef struct _PublishingRESTSupportGooglePublisherWebAuthenticationPanePrivate PublishingRESTSupportGooglePublisherWebAuthenticationPanePrivate; +typedef struct _PublishingRESTSupportGooglePublisherGetAccessTokensTransactionPrivate PublishingRESTSupportGooglePublisherGetAccessTokensTransactionPrivate; +typedef struct _PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionPrivate PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionPrivate; +typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate; +typedef struct _PublishingRESTSupportGooglePublisherUsernameFetchTransactionPrivate PublishingRESTSupportGooglePublisherUsernameFetchTransactionPrivate; +#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 _PublishingRESTSupportSession { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportSessionPrivate * priv; +}; + +struct _PublishingRESTSupportSessionClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportSession *self); + gboolean (*is_authenticated) (PublishingRESTSupportSession* self); +}; + +struct _PublishingRESTSupportSessionPrivate { + gchar* endpoint_url; + SoupSession* soup_session; + gboolean transactions_stopped; +}; + +struct _PublishingRESTSupportParamSpecSession { + GParamSpec parent_instance; +}; + +typedef enum { + PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, + PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST, + PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT +} PublishingRESTSupportHttpMethod; + +struct _PublishingRESTSupportArgument { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportArgumentPrivate * priv; + gchar* key; + gchar* value; +}; + +struct _PublishingRESTSupportArgumentClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportArgument *self); +}; + +struct _PublishingRESTSupportParamSpecArgument { + GParamSpec parent_instance; +}; + +struct _PublishingRESTSupportTransaction { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportTransactionPrivate * priv; +}; + +struct _PublishingRESTSupportTransactionClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportTransaction *self); + void (*add_header) (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value); + void (*execute) (PublishingRESTSupportTransaction* self, GError** error); +}; + +struct _PublishingRESTSupportTransactionPrivate { + PublishingRESTSupportArgument** arguments; + gint arguments_length1; + gint _arguments_size_; + gboolean is_executed; + PublishingRESTSupportSession* parent_session; + SoupMessage* message; + gint bytes_written; + GError* err; + gchar* endpoint_url; + gboolean use_custom_payload; +}; + +struct _PublishingRESTSupportParamSpecTransaction { + GParamSpec parent_instance; +}; + +struct _PublishingRESTSupportUploadTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingRESTSupportUploadTransactionPrivate * priv; + GHashTable* binary_disposition_table; + SpitPublishingPublishable* publishable; + gchar* mime_type; + GeeHashMap* message_headers; +}; + +struct _PublishingRESTSupportUploadTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingRESTSupportXmlDocument { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportXmlDocumentPrivate * priv; +}; + +struct _PublishingRESTSupportXmlDocumentClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportXmlDocument *self); +}; + +struct _PublishingRESTSupportXmlDocumentPrivate { + xmlDoc* document; +}; + +typedef gchar* (*PublishingRESTSupportXmlDocumentCheckForErrorResponse) (PublishingRESTSupportXmlDocument* doc, void* user_data); +struct _PublishingRESTSupportParamSpecXmlDocument { + GParamSpec parent_instance; +}; + +struct _PublishingRESTSupportBatchUploader { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportBatchUploaderPrivate * priv; +}; + +struct _PublishingRESTSupportBatchUploaderClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportBatchUploader *self); + PublishingRESTSupportTransaction* (*create_transaction) (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable); +}; + +struct _PublishingRESTSupportBatchUploaderPrivate { + gint current_file; + SpitPublishingPublishable** publishables; + gint publishables_length1; + gint _publishables_size_; + PublishingRESTSupportSession* session; + SpitPublishingProgressCallback status_updated; + gpointer status_updated_target; +}; + +struct _PublishingRESTSupportParamSpecBatchUploader { + GParamSpec parent_instance; +}; + +struct _PublishingRESTSupportGoogleSession { + PublishingRESTSupportSession parent_instance; + PublishingRESTSupportGoogleSessionPrivate * priv; +}; + +struct _PublishingRESTSupportGoogleSessionClass { + PublishingRESTSupportSessionClass parent_class; + gchar* (*get_user_name) (PublishingRESTSupportGoogleSession* self); + gchar* (*get_access_token) (PublishingRESTSupportGoogleSession* self); + gchar* (*get_refresh_token) (PublishingRESTSupportGoogleSession* self); + void (*deauthenticate) (PublishingRESTSupportGoogleSession* self); +}; + +struct _PublishingRESTSupportGooglePublisher { + GObject parent_instance; + PublishingRESTSupportGooglePublisherPrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherClass { + GObjectClass parent_class; + void (*on_login_flow_complete) (PublishingRESTSupportGooglePublisher* self); + void (*do_logout) (PublishingRESTSupportGooglePublisher* self); + gboolean (*is_running) (PublishingRESTSupportGooglePublisher* self); + void (*start) (PublishingRESTSupportGooglePublisher* self); + void (*stop) (PublishingRESTSupportGooglePublisher* self); +}; + +struct _PublishingRESTSupportGooglePublisherPrivate { + gchar* scope; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* session; + PublishingRESTSupportGooglePublisherWebAuthenticationPane* web_auth_pane; + SpitPublishingPluginHost* host; + SpitPublishingService* service; +}; + +struct _PublishingRESTSupportGooglePublisherGoogleSessionImpl { + PublishingRESTSupportGoogleSession parent_instance; + PublishingRESTSupportGooglePublisherGoogleSessionImplPrivate * priv; + gchar* access_token; + gchar* user_name; + gchar* refresh_token; +}; + +struct _PublishingRESTSupportGooglePublisherGoogleSessionImplClass { + PublishingRESTSupportGoogleSessionClass parent_class; +}; + +struct _PublishingRESTSupportGooglePublisherWebAuthenticationPane { + GObject parent_instance; + PublishingRESTSupportGooglePublisherWebAuthenticationPanePrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherWebAuthenticationPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingRESTSupportGooglePublisherWebAuthenticationPanePrivate { + WebKitWebView* webview; + GtkBox* pane_widget; + gchar* auth_sequence_start_url; +}; + +struct _PublishingRESTSupportGooglePublisherGetAccessTokensTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingRESTSupportGooglePublisherGetAccessTokensTransactionPrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherGetAccessTokensTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionPrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingRESTSupportGooglePublisherAuthenticatedTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingRESTSupportGooglePublisherUsernameFetchTransaction { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction parent_instance; + PublishingRESTSupportGooglePublisherUsernameFetchTransactionPrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherUsernameFetchTransactionClass { + PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass parent_class; +}; + + +static gpointer publishing_rest_support_session_parent_class = NULL; +static gpointer publishing_rest_support_argument_parent_class = NULL; +static gpointer publishing_rest_support_transaction_parent_class = NULL; +static gpointer publishing_rest_support_upload_transaction_parent_class = NULL; +static gpointer publishing_rest_support_xml_document_parent_class = NULL; +static gpointer publishing_rest_support_batch_uploader_parent_class = NULL; +static gpointer publishing_rest_support_google_session_parent_class = NULL; +static gpointer publishing_rest_support_google_publisher_parent_class = NULL; +static gpointer publishing_rest_support_google_publisher_google_session_impl_parent_class = NULL; +static gpointer publishing_rest_support_google_publisher_web_authentication_pane_parent_class = NULL; +static gboolean publishing_rest_support_google_publisher_web_authentication_pane_cache_dirty; +static gboolean publishing_rest_support_google_publisher_web_authentication_pane_cache_dirty = FALSE; +static SpitPublishingDialogPaneIface* publishing_rest_support_google_publisher_web_authentication_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_rest_support_google_publisher_get_access_tokens_transaction_parent_class = NULL; +static gpointer publishing_rest_support_google_publisher_refresh_access_token_transaction_parent_class = NULL; +static gpointer publishing_rest_support_google_publisher_authenticated_transaction_parent_class = NULL; +static gpointer publishing_rest_support_google_publisher_username_fetch_transaction_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_rest_support_google_publisher_spit_publishing_publisher_parent_iface = NULL; + +#define PUBLISHING_REST_SUPPORT_SHA1_HMAC_LENGTH 20 +gchar* publishing_rest_support_hmac_sha1 (const gchar* key, const gchar* message); +gpointer publishing_rest_support_session_ref (gpointer instance); +void publishing_rest_support_session_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_session (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_session (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_session (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_session (const GValue* value); +GType publishing_rest_support_session_get_type (void) G_GNUC_CONST; +#define PUBLISHING_REST_SUPPORT_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSessionPrivate)) +enum { + PUBLISHING_REST_SUPPORT_SESSION_DUMMY_PROPERTY +}; +PublishingRESTSupportSession* publishing_rest_support_session_construct (GType object_type, const gchar* endpoint_url); +void publishing_rest_support_session_notify_wire_message_unqueued (PublishingRESTSupportSession* self, SoupMessage* message); +void publishing_rest_support_session_notify_authenticated (PublishingRESTSupportSession* self); +void publishing_rest_support_session_notify_authentication_failed (PublishingRESTSupportSession* self, GError* err); +gboolean publishing_rest_support_session_is_authenticated (PublishingRESTSupportSession* self); +static gboolean publishing_rest_support_session_real_is_authenticated (PublishingRESTSupportSession* self); +gchar* publishing_rest_support_session_get_endpoint_url (PublishingRESTSupportSession* self); +void publishing_rest_support_session_stop_transactions (PublishingRESTSupportSession* self); +gboolean publishing_rest_support_session_are_transactions_stopped (PublishingRESTSupportSession* self); +void publishing_rest_support_session_send_wire_message (PublishingRESTSupportSession* self, SoupMessage* message); +static void _publishing_rest_support_session_notify_wire_message_unqueued_soup_session_request_unqueued (SoupSession* _sender, SoupMessage* msg, gpointer self); +static void publishing_rest_support_session_finalize (PublishingRESTSupportSession* obj); +GType publishing_rest_support_http_method_get_type (void) G_GNUC_CONST; +gchar* publishing_rest_support_http_method_to_string (PublishingRESTSupportHttpMethod self); +PublishingRESTSupportHttpMethod publishing_rest_support_http_method_from_string (const gchar* str); +gpointer publishing_rest_support_argument_ref (gpointer instance); +void publishing_rest_support_argument_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_argument (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_argument (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_argument (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_argument (const GValue* value); +GType publishing_rest_support_argument_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_REST_SUPPORT_ARGUMENT_DUMMY_PROPERTY +}; +PublishingRESTSupportArgument* publishing_rest_support_argument_new (const gchar* key, const gchar* value); +PublishingRESTSupportArgument* publishing_rest_support_argument_construct (GType object_type, const gchar* key, const gchar* value); +gint publishing_rest_support_argument_compare (PublishingRESTSupportArgument* arg1, PublishingRESTSupportArgument* arg2); +PublishingRESTSupportArgument** publishing_rest_support_argument_sort (PublishingRESTSupportArgument** inputArray, int inputArray_length1, int* result_length1); +static gint _publishing_rest_support_argument_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +gchar* publishing_rest_support_argument_to_string (PublishingRESTSupportArgument* self); +static void publishing_rest_support_argument_finalize (PublishingRESTSupportArgument* obj); +gpointer publishing_rest_support_transaction_ref (gpointer instance); +void publishing_rest_support_transaction_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_transaction (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_transaction (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_transaction (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_transaction (const GValue* value); +GType publishing_rest_support_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_REST_SUPPORT_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransactionPrivate)) +enum { + PUBLISHING_REST_SUPPORT_TRANSACTION_DUMMY_PROPERTY +}; +PublishingRESTSupportTransaction* publishing_rest_support_transaction_new (PublishingRESTSupportSession* parent_session, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct (GType object_type, PublishingRESTSupportSession* parent_session, PublishingRESTSupportHttpMethod method); +static void publishing_rest_support_transaction_on_wrote_body_data (PublishingRESTSupportTransaction* self, SoupBuffer* written_data); +static void _publishing_rest_support_transaction_on_wrote_body_data_soup_message_wrote_body_data (SoupMessage* _sender, SoupBuffer* chunk, gpointer self); +PublishingRESTSupportTransaction* publishing_rest_support_transaction_new_with_endpoint_url (PublishingRESTSupportSession* parent_session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportSession* parent_session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +static void publishing_rest_support_transaction_on_message_unqueued (PublishingRESTSupportTransaction* self, SoupMessage* message); +void publishing_rest_support_transaction_check_response (PublishingRESTSupportTransaction* self, SoupMessage* message, GError** error); +gchar* publishing_rest_support_transaction_get_response (PublishingRESTSupportTransaction* self); +gchar* publishing_rest_support_transaction_get_endpoint_url (PublishingRESTSupportTransaction* self); +PublishingRESTSupportArgument** publishing_rest_support_transaction_get_arguments (PublishingRESTSupportTransaction* self, int* result_length1); +static PublishingRESTSupportArgument** _vala_array_dup1 (PublishingRESTSupportArgument** self, int length); +PublishingRESTSupportArgument** publishing_rest_support_transaction_get_sorted_arguments (PublishingRESTSupportTransaction* self, int* result_length1); +void publishing_rest_support_transaction_set_is_executed (PublishingRESTSupportTransaction* self, gboolean is_executed); +void publishing_rest_support_transaction_send (PublishingRESTSupportTransaction* self, GError** error); +static void _publishing_rest_support_transaction_on_message_unqueued_publishing_rest_support_session_wire_message_unqueued (PublishingRESTSupportSession* _sender, SoupMessage* message, gpointer self); +PublishingRESTSupportHttpMethod publishing_rest_support_transaction_get_method (PublishingRESTSupportTransaction* self); +void publishing_rest_support_transaction_add_header (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value); +static void publishing_rest_support_transaction_real_add_header (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value); +void publishing_rest_support_transaction_set_custom_payload (PublishingRESTSupportTransaction* self, const gchar* custom_payload, const gchar* payload_content_type, gulong payload_length); +void publishing_rest_support_transaction_set_message (PublishingRESTSupportTransaction* self, SoupMessage* message); +gboolean publishing_rest_support_transaction_get_is_executed (PublishingRESTSupportTransaction* self); +guint publishing_rest_support_transaction_get_status_code (PublishingRESTSupportTransaction* self); +void publishing_rest_support_transaction_execute (PublishingRESTSupportTransaction* self, GError** error); +static void publishing_rest_support_transaction_real_execute (PublishingRESTSupportTransaction* self, GError** error); +static void _vala_SoupURI_free (SoupURI* self); +SoupMessageHeaders* publishing_rest_support_transaction_get_response_headers (PublishingRESTSupportTransaction* self); +SoupMessage* publishing_rest_support_transaction_get_message (PublishingRESTSupportTransaction* self); +void publishing_rest_support_transaction_add_argument (PublishingRESTSupportTransaction* self, const gchar* name, const gchar* value); +static void _vala_array_add1 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value); +PublishingRESTSupportSession* publishing_rest_support_transaction_get_parent_session (PublishingRESTSupportTransaction* self); +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 publishing_rest_support_transaction_finalize (PublishingRESTSupportTransaction* obj); +GType publishing_rest_support_upload_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION_DUMMY_PROPERTY +}; +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new (PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable); +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable); +static gchar* publishing_rest_support_upload_transaction_media_type_to_mime_type (SpitPublishingPublisherMediaType media_type); +static GHashTable* publishing_rest_support_upload_transaction_create_default_binary_disposition_table (PublishingRESTSupportUploadTransaction* self); +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new_with_endpoint_url (PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable, const gchar* endpoint_url); +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable, const gchar* endpoint_url); +static void publishing_rest_support_upload_transaction_real_add_header (PublishingRESTSupportTransaction* base, const gchar* key, const gchar* value); +const gchar* spit_publishing_publisher_media_type_to_string (SpitPublishingPublisherMediaType self); +static void _g_free0_ (gpointer var); +void publishing_rest_support_upload_transaction_set_binary_disposition_table (PublishingRESTSupportUploadTransaction* self, GHashTable* new_disp_table); +static void publishing_rest_support_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +static void _vala_SoupMultipart_free (SoupMultipart* self); +static void _vala_SoupBuffer_free (SoupBuffer* self); +static void publishing_rest_support_upload_transaction_finalize (PublishingRESTSupportTransaction* obj); +gpointer publishing_rest_support_xml_document_ref (gpointer instance); +void publishing_rest_support_xml_document_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_xml_document (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_xml_document (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_xml_document (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_xml_document (const GValue* value); +GType publishing_rest_support_xml_document_get_type (void) G_GNUC_CONST; +#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocumentPrivate)) +enum { + PUBLISHING_REST_SUPPORT_XML_DOCUMENT_DUMMY_PROPERTY +}; +static PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_new (xmlDoc* doc); +static PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_construct (GType object_type, xmlDoc* doc); +xmlNode* publishing_rest_support_xml_document_get_root_node (PublishingRESTSupportXmlDocument* self); +xmlNode* publishing_rest_support_xml_document_get_named_child (PublishingRESTSupportXmlDocument* self, xmlNode* parent, const gchar* child_name, GError** error); +gchar* publishing_rest_support_xml_document_get_property_value (PublishingRESTSupportXmlDocument* self, xmlNode* node, const gchar* property_key, GError** error); +PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_parse_string (const gchar* input_string, PublishingRESTSupportXmlDocumentCheckForErrorResponse check_for_error_response, void* check_for_error_response_target, GError** error); +static void publishing_rest_support_xml_document_finalize (PublishingRESTSupportXmlDocument* obj); +gchar* publishing_rest_support_decimal_entity_encode (const gchar* source); +gpointer publishing_rest_support_batch_uploader_ref (gpointer instance); +void publishing_rest_support_batch_uploader_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_batch_uploader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_batch_uploader (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_batch_uploader (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_batch_uploader (const GValue* value); +GType publishing_rest_support_batch_uploader_get_type (void) G_GNUC_CONST; +#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploaderPrivate)) +enum { + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_DUMMY_PROPERTY +}; +PublishingRESTSupportBatchUploader* publishing_rest_support_batch_uploader_construct (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable** publishables, int publishables_length1); +static SpitPublishingPublishable** _vala_array_dup2 (SpitPublishingPublishable** self, int length); +static void publishing_rest_support_batch_uploader_send_files (PublishingRESTSupportBatchUploader* self); +PublishingRESTSupportTransaction* publishing_rest_support_batch_uploader_create_transaction (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable); +static void publishing_rest_support_batch_uploader_on_chunk_transmitted (PublishingRESTSupportBatchUploader* self, gint bytes_written_so_far, gint total_bytes); +static void _publishing_rest_support_batch_uploader_on_chunk_transmitted_publishing_rest_support_transaction_chunk_transmitted (PublishingRESTSupportTransaction* _sender, gint bytes_written_so_far, gint total_bytes, gpointer self); +PublishingRESTSupportSession* publishing_rest_support_batch_uploader_get_session (PublishingRESTSupportBatchUploader* self); +SpitPublishingPublishable* publishing_rest_support_batch_uploader_get_current_publishable (PublishingRESTSupportBatchUploader* self); +static PublishingRESTSupportTransaction* publishing_rest_support_batch_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable); +void publishing_rest_support_batch_uploader_upload (PublishingRESTSupportBatchUploader* self, SpitPublishingProgressCallback status_updated, void* status_updated_target); +static void publishing_rest_support_batch_uploader_finalize (PublishingRESTSupportBatchUploader* obj); +gchar* publishing_rest_support_asciify_string (const gchar* s); +GType publishing_rest_support_google_session_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_DUMMY_PROPERTY +}; +gchar* publishing_rest_support_google_session_get_user_name (PublishingRESTSupportGoogleSession* self); +static gchar* publishing_rest_support_google_session_real_get_user_name (PublishingRESTSupportGoogleSession* self); +gchar* publishing_rest_support_google_session_get_access_token (PublishingRESTSupportGoogleSession* self); +static gchar* publishing_rest_support_google_session_real_get_access_token (PublishingRESTSupportGoogleSession* self); +gchar* publishing_rest_support_google_session_get_refresh_token (PublishingRESTSupportGoogleSession* self); +static gchar* publishing_rest_support_google_session_real_get_refresh_token (PublishingRESTSupportGoogleSession* self); +void publishing_rest_support_google_session_deauthenticate (PublishingRESTSupportGoogleSession* self); +static void publishing_rest_support_google_session_real_deauthenticate (PublishingRESTSupportGoogleSession* self); +PublishingRESTSupportGoogleSession* publishing_rest_support_google_session_construct (GType object_type); +GType publishing_rest_support_google_publisher_get_type (void) G_GNUC_CONST; +static GType publishing_rest_support_google_publisher_google_session_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType publishing_rest_support_google_publisher_web_authentication_pane_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisherPrivate)) +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_DUMMY_PROPERTY +}; +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_OAUTH_CLIENT_ID "1073902228337-gm4uf5etk25s0hnnm0g7uv2tm2bm1j0b.apps.googleusercontent." \ +"com" +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_OAUTH_CLIENT_SECRET "_kA4RZz72xqed4DqfO7xMmMN" +PublishingRESTSupportGooglePublisher* publishing_rest_support_google_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host, const gchar* scope); +static PublishingRESTSupportGooglePublisherGoogleSessionImpl* publishing_rest_support_google_publisher_google_session_impl_new (void); +static PublishingRESTSupportGooglePublisherGoogleSessionImpl* publishing_rest_support_google_publisher_google_session_impl_construct (GType object_type); +static void publishing_rest_support_google_publisher_on_web_auth_pane_authorized (PublishingRESTSupportGooglePublisher* self, const gchar* auth_code); +static void _publishing_rest_support_google_publisher_on_web_auth_pane_authorized_publishing_rest_support_google_publisher_web_authentication_pane_authorized (PublishingRESTSupportGooglePublisherWebAuthenticationPane* _sender, const gchar* auth_code, gpointer self); +gboolean publishing_rest_support_google_publisher_is_running (PublishingRESTSupportGooglePublisher* self); +static void publishing_rest_support_google_publisher_do_get_access_tokens (PublishingRESTSupportGooglePublisher* self, const gchar* auth_code); +static void publishing_rest_support_google_publisher_on_get_access_tokens_complete (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rest_support_google_publisher_on_get_access_tokens_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_rest_support_google_publisher_on_get_access_tokens_error (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_rest_support_google_publisher_on_get_access_tokens_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rest_support_google_publisher_do_extract_tokens (PublishingRESTSupportGooglePublisher* self, const gchar* response_body); +static void publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +void publishing_rest_support_google_publisher_do_logout (PublishingRESTSupportGooglePublisher* self); +static void publishing_rest_support_google_publisher_on_refresh_token_available (PublishingRESTSupportGooglePublisher* self, const gchar* token); +static void publishing_rest_support_google_publisher_on_access_token_available (PublishingRESTSupportGooglePublisher* self, const gchar* token); +static void publishing_rest_support_google_publisher_do_fetch_username (PublishingRESTSupportGooglePublisher* self); +static void publishing_rest_support_google_publisher_on_fetch_username_transaction_completed (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rest_support_google_publisher_on_fetch_username_transaction_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_rest_support_google_publisher_on_fetch_username_transaction_error (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_rest_support_google_publisher_on_fetch_username_transaction_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rest_support_google_publisher_do_extract_username (PublishingRESTSupportGooglePublisher* self, const gchar* response_body); +static GType publishing_rest_support_google_publisher_get_access_tokens_transaction_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PublishingRESTSupportGooglePublisherGetAccessTokensTransaction* publishing_rest_support_google_publisher_get_access_tokens_transaction_new (PublishingRESTSupportSession* session, const gchar* auth_code); +static PublishingRESTSupportGooglePublisherGetAccessTokensTransaction* publishing_rest_support_google_publisher_get_access_tokens_transaction_construct (GType object_type, PublishingRESTSupportSession* session, const gchar* auth_code); +static void publishing_rest_support_google_publisher_do_hosted_web_authentication (PublishingRESTSupportGooglePublisher* self); +static PublishingRESTSupportGooglePublisherWebAuthenticationPane* publishing_rest_support_google_publisher_web_authentication_pane_new (const gchar* auth_sequence_start_url); +static PublishingRESTSupportGooglePublisherWebAuthenticationPane* publishing_rest_support_google_publisher_web_authentication_pane_construct (GType object_type, const gchar* auth_sequence_start_url); +static void publishing_rest_support_google_publisher_do_exchange_refresh_token_for_access_token (PublishingRESTSupportGooglePublisher* self); +static GType publishing_rest_support_google_publisher_refresh_access_token_transaction_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction* publishing_rest_support_google_publisher_refresh_access_token_transaction_new (PublishingRESTSupportSession* session); +static PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction* publishing_rest_support_google_publisher_refresh_access_token_transaction_construct (GType object_type, PublishingRESTSupportSession* session); +GType publishing_rest_support_google_publisher_authenticated_transaction_get_type (void) G_GNUC_CONST; +static GType publishing_rest_support_google_publisher_username_fetch_transaction_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PublishingRESTSupportGooglePublisherUsernameFetchTransaction* publishing_rest_support_google_publisher_username_fetch_transaction_new (PublishingRESTSupportGoogleSession* session); +static PublishingRESTSupportGooglePublisherUsernameFetchTransaction* publishing_rest_support_google_publisher_username_fetch_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session); +void publishing_rest_support_google_publisher_on_login_flow_complete (PublishingRESTSupportGooglePublisher* self); +SpitPublishingPluginHost* publishing_rest_support_google_publisher_get_host (PublishingRESTSupportGooglePublisher* self); +PublishingRESTSupportGoogleSession* publishing_rest_support_google_publisher_get_session (PublishingRESTSupportGooglePublisher* self); +void publishing_rest_support_google_publisher_start_oauth_flow (PublishingRESTSupportGooglePublisher* self, const gchar* refresh_token); +static gboolean publishing_rest_support_google_publisher_web_authentication_pane_is_cache_dirty (void); +static void publishing_rest_support_google_publisher_real_on_login_flow_complete (PublishingRESTSupportGooglePublisher* self); +static void publishing_rest_support_google_publisher_real_do_logout (PublishingRESTSupportGooglePublisher* self); +static gboolean publishing_rest_support_google_publisher_real_is_running (PublishingRESTSupportGooglePublisher* self); +void publishing_rest_support_google_publisher_start (PublishingRESTSupportGooglePublisher* self); +static void publishing_rest_support_google_publisher_real_start (PublishingRESTSupportGooglePublisher* self); +void publishing_rest_support_google_publisher_stop (PublishingRESTSupportGooglePublisher* self); +static void publishing_rest_support_google_publisher_real_stop (PublishingRESTSupportGooglePublisher* self); +static SpitPublishingService* publishing_rest_support_google_publisher_real_get_service (SpitPublishingPublisher* base); +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GOOGLE_SESSION_IMPL_DUMMY_PROPERTY +}; +static gboolean publishing_rest_support_google_publisher_google_session_impl_real_is_authenticated (PublishingRESTSupportSession* base); +static gchar* publishing_rest_support_google_publisher_google_session_impl_real_get_user_name (PublishingRESTSupportGoogleSession* base); +static gchar* publishing_rest_support_google_publisher_google_session_impl_real_get_access_token (PublishingRESTSupportGoogleSession* base); +static gchar* publishing_rest_support_google_publisher_google_session_impl_real_get_refresh_token (PublishingRESTSupportGoogleSession* base); +static void publishing_rest_support_google_publisher_google_session_impl_real_deauthenticate (PublishingRESTSupportGoogleSession* base); +static void publishing_rest_support_google_publisher_google_session_impl_finalize (PublishingRESTSupportSession* obj); +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_WEB_AUTHENTICATION_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPanePrivate)) +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_WEB_AUTHENTICATION_PANE_DUMMY_PROPERTY +}; +static void publishing_rest_support_google_publisher_web_authentication_pane_on_page_load_changed (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self, WebKitLoadEvent load_event); +static void _publishing_rest_support_google_publisher_web_authentication_pane_on_page_load_changed_webkit_web_view_load_changed (WebKitWebView* _sender, WebKitLoadEvent load_event, gpointer self); +static gboolean __lambda4_ (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self); +static gboolean ___lambda4__webkit_web_view_context_menu (WebKitWebView* _sender, WebKitContextMenu* context_menu, GdkEvent* event, WebKitHitTestResult* hit_test_result, gpointer self); +static void publishing_rest_support_google_publisher_web_authentication_pane_on_page_load (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self); +static void publishing_rest_support_google_publisher_web_authentication_pane_on_load_started (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self); +static SpitPublishingDialogPaneGeometryOptions publishing_rest_support_google_publisher_web_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static GtkWidget* publishing_rest_support_google_publisher_web_authentication_pane_real_get_widget (SpitPublishingDialogPane* base); +static void publishing_rest_support_google_publisher_web_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_rest_support_google_publisher_web_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void publishing_rest_support_google_publisher_web_authentication_pane_finalize (GObject* obj); +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_ACCESS_TOKENS_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_ACCESS_TOKENS_TRANSACTION_ENDPOINT_URL "https://accounts.google.com/o/oauth2/token" +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_REFRESH_ACCESS_TOKEN_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_REFRESH_ACCESS_TOKEN_TRANSACTION_ENDPOINT_URL "https://accounts.google.com/o/oauth2/token" +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION_DUMMY_PROPERTY +}; +static PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_new_with_endpoint_url (PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +static PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_new (PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +enum { + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_USERNAME_FETCH_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_USERNAME_FETCH_TRANSACTION_ENDPOINT_URL "https://www.googleapis.com/oauth2/v1/userinfo" +static void publishing_rest_support_google_publisher_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 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 774 "RESTSupport.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 780 "RESTSupport.c" +} + + +gchar* publishing_rest_support_hmac_sha1 (const gchar* key, const gchar* message) { + gchar* result = NULL; + guint8 buffer[PUBLISHING_REST_SUPPORT_SHA1_HMAC_LENGTH] = {0}; + gsize len = 0UL; + GHmac* mac = NULL; + const gchar* _tmp0_ = NULL; + guint8* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + guint8* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + GHmac* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + guint8* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + guint8* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gsize _tmp7_ = 0UL; + gchar* _tmp8_ = NULL; +#line 14 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 14 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (message != NULL, NULL); +#line 16 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + len = (gsize) PUBLISHING_REST_SUPPORT_SHA1_HMAC_LENGTH; +#line 18 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = key; +#line 18 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = string_get_data (_tmp0_, &_tmp1__length1); +#line 18 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_; +#line 18 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 18 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = g_hmac_new (G_CHECKSUM_SHA1, _tmp2_, _tmp2__length1); +#line 18 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + mac = _tmp3_; +#line 19 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = message; +#line 19 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = string_get_data (_tmp4_, &_tmp5__length1); +#line 19 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_; +#line 19 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6__length1 = _tmp5__length1; +#line 19 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_hmac_update (mac, _tmp6_, (gssize) _tmp6__length1); +#line 20 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_hmac_get_digest (mac, buffer, &len); +#line 22 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = len; +#line 22 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = g_base64_encode (buffer + 0, ((gint) _tmp7_) - 0); +#line 22 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp8_; +#line 22 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_hmac_unref0 (mac); +#line 22 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 842 "RESTSupport.c" +} + + +PublishingRESTSupportSession* publishing_rest_support_session_construct (GType object_type, const gchar* endpoint_url) { + PublishingRESTSupportSession* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + SoupSessionAsync* _tmp2_ = NULL; + SoupSession* _tmp3_ = NULL; +#line 34 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportSession*) g_type_create_instance (object_type); +#line 35 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = endpoint_url; +#line 35 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 35 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->endpoint_url); +#line 35 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->endpoint_url = _tmp1_; +#line 36 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = (SoupSessionAsync*) soup_session_async_new (); +#line 36 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->soup_session); +#line 36 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->soup_session = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, soup_session_get_type (), SoupSession); +#line 37 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->soup_session; +#line 37 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_set (_tmp3_, "ssl-use-system-ca-file", TRUE, NULL); +#line 34 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 874 "RESTSupport.c" +} + + +void publishing_rest_support_session_notify_wire_message_unqueued (PublishingRESTSupportSession* self, SoupMessage* message) { + SoupMessage* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self)); +#line 40 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (SOUP_IS_MESSAGE (message)); +#line 41 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = message; +#line 41 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "wire-message-unqueued", _tmp0_); +#line 888 "RESTSupport.c" +} + + +void publishing_rest_support_session_notify_authenticated (PublishingRESTSupportSession* self) { +#line 44 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self)); +#line 45 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "authenticated"); +#line 897 "RESTSupport.c" +} + + +void publishing_rest_support_session_notify_authentication_failed (PublishingRESTSupportSession* self, GError* err) { + GError* _tmp0_ = NULL; +#line 48 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self)); +#line 49 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = err; +#line 49 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "authentication-failed", _tmp0_); +#line 909 "RESTSupport.c" +} + + +static gboolean publishing_rest_support_session_real_is_authenticated (PublishingRESTSupportSession* self) { +#line 52 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_session_is_authenticated'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 52 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return FALSE; +#line 918 "RESTSupport.c" +} + + +gboolean publishing_rest_support_session_is_authenticated (PublishingRESTSupportSession* self) { +#line 52 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self), FALSE); +#line 52 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return PUBLISHING_REST_SUPPORT_SESSION_GET_CLASS (self)->is_authenticated (self); +#line 927 "RESTSupport.c" +} + + +gchar* publishing_rest_support_session_get_endpoint_url (PublishingRESTSupportSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 54 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self), NULL); +#line 55 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->endpoint_url; +#line 55 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 55 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 55 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 945 "RESTSupport.c" +} + + +void publishing_rest_support_session_stop_transactions (PublishingRESTSupportSession* self) { + SoupSession* _tmp0_ = NULL; +#line 58 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self)); +#line 59 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->transactions_stopped = TRUE; +#line 60 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->soup_session; +#line 60 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_session_abort (_tmp0_); +#line 959 "RESTSupport.c" +} + + +gboolean publishing_rest_support_session_are_transactions_stopped (PublishingRESTSupportSession* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 63 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self), FALSE); +#line 64 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->transactions_stopped; +#line 64 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp0_; +#line 64 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 974 "RESTSupport.c" +} + + +static void _publishing_rest_support_session_notify_wire_message_unqueued_soup_session_request_unqueued (SoupSession* _sender, SoupMessage* msg, gpointer self) { +#line 71 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_session_notify_wire_message_unqueued ((PublishingRESTSupportSession*) self, msg); +#line 981 "RESTSupport.c" +} + + +void publishing_rest_support_session_send_wire_message (PublishingRESTSupportSession* self, SoupMessage* message) { + gboolean _tmp0_ = FALSE; + SoupSession* _tmp1_ = NULL; + SoupSession* _tmp2_ = NULL; + SoupMessage* _tmp3_ = NULL; + SoupSession* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 67 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (self)); +#line 67 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (SOUP_IS_MESSAGE (message)); +#line 68 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_session_are_transactions_stopped (self); +#line 68 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp0_) { +#line 69 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 1002 "RESTSupport.c" + } +#line 71 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->soup_session; +#line 71 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect (_tmp1_, "request-unqueued", (GCallback) _publishing_rest_support_session_notify_wire_message_unqueued_soup_session_request_unqueued, self); +#line 72 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->soup_session; +#line 72 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = message; +#line 72 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_session_send_message (_tmp2_, _tmp3_); +#line 74 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->soup_session; +#line 74 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("request-unqueued", soup_session_get_type (), &_tmp5_, NULL, FALSE); +#line 74 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _publishing_rest_support_session_notify_wire_message_unqueued_soup_session_request_unqueued, self); +#line 1020 "RESTSupport.c" +} + + +static void publishing_rest_support_value_session_init (GValue* value) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1027 "RESTSupport.c" +} + + +static void publishing_rest_support_value_session_free_value (GValue* value) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_session_unref (value->data[0].v_pointer); +#line 1036 "RESTSupport.c" + } +} + + +static void publishing_rest_support_value_session_copy_value (const GValue* src_value, GValue* dest_value) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (src_value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = publishing_rest_support_session_ref (src_value->data[0].v_pointer); +#line 1046 "RESTSupport.c" + } else { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 1050 "RESTSupport.c" + } +} + + +static gpointer publishing_rest_support_value_session_peek_pointer (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 1058 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_session_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (collect_values[0].v_pointer) { +#line 1065 "RESTSupport.c" + PublishingRESTSupportSession* object; + object = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1072 "RESTSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 1076 "RESTSupport.c" + } +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = publishing_rest_support_session_ref (object); +#line 1080 "RESTSupport.c" + } else { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1084 "RESTSupport.c" + } +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 1088 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_session_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRESTSupportSession** object_p; + object_p = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!object_p) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1099 "RESTSupport.c" + } +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = NULL; +#line 1105 "RESTSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = value->data[0].v_pointer; +#line 1109 "RESTSupport.c" + } else { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = publishing_rest_support_session_ref (value->data[0].v_pointer); +#line 1113 "RESTSupport.c" + } +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 1117 "RESTSupport.c" +} + + +GParamSpec* publishing_rest_support_param_spec_session (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRESTSupportParamSpecSession* spec; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_REST_SUPPORT_TYPE_SESSION), NULL); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return G_PARAM_SPEC (spec); +#line 1131 "RESTSupport.c" +} + + +gpointer publishing_rest_support_value_get_session (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_SESSION), NULL); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 1140 "RESTSupport.c" +} + + +void publishing_rest_support_value_set_session (GValue* value, gpointer v_object) { + PublishingRESTSupportSession* old; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_SESSION)); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_SESSION)); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_session_ref (value->data[0].v_pointer); +#line 1160 "RESTSupport.c" + } else { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1164 "RESTSupport.c" + } +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_session_unref (old); +#line 1170 "RESTSupport.c" + } +} + + +void publishing_rest_support_value_take_session (GValue* value, gpointer v_object) { + PublishingRESTSupportSession* old; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_SESSION)); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_SESSION)); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 1189 "RESTSupport.c" + } else { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1193 "RESTSupport.c" + } +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_session_unref (old); +#line 1199 "RESTSupport.c" + } +} + + +static void publishing_rest_support_session_class_init (PublishingRESTSupportSessionClass * klass) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_session_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_rest_support_session_finalize; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_class_add_private (klass, sizeof (PublishingRESTSupportSessionPrivate)); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_rest_support_session_real_is_authenticated; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("wire_message_unqueued", PUBLISHING_REST_SUPPORT_TYPE_SESSION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, soup_message_get_type ()); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("authenticated", PUBLISHING_REST_SUPPORT_TYPE_SESSION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("authentication_failed", PUBLISHING_REST_SUPPORT_TYPE_SESSION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); +#line 1219 "RESTSupport.c" +} + + +static void publishing_rest_support_session_instance_init (PublishingRESTSupportSession * self) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv = PUBLISHING_REST_SUPPORT_SESSION_GET_PRIVATE (self); +#line 26 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->endpoint_url = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->soup_session = NULL; +#line 28 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->transactions_stopped = FALSE; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->ref_count = 1; +#line 1234 "RESTSupport.c" +} + + +static void publishing_rest_support_session_finalize (PublishingRESTSupportSession* obj) { + PublishingRESTSupportSession * self; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_destroy (self); +#line 26 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->endpoint_url); +#line 27 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->soup_session); +#line 1248 "RESTSupport.c" +} + + +GType publishing_rest_support_session_get_type (void) { + static volatile gsize publishing_rest_support_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_session_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rest_support_value_session_init, publishing_rest_support_value_session_free_value, publishing_rest_support_value_session_copy_value, publishing_rest_support_value_session_peek_pointer, "p", publishing_rest_support_value_session_collect_value, "p", publishing_rest_support_value_session_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportSession), 0, (GInstanceInitFunc) publishing_rest_support_session_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 publishing_rest_support_session_type_id; + publishing_rest_support_session_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRESTSupportSession", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&publishing_rest_support_session_type_id__volatile, publishing_rest_support_session_type_id); + } + return publishing_rest_support_session_type_id__volatile; +} + + +gpointer publishing_rest_support_session_ref (gpointer instance) { + PublishingRESTSupportSession* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return instance; +#line 1273 "RESTSupport.c" +} + + +void publishing_rest_support_session_unref (gpointer instance) { + PublishingRESTSupportSession* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_SESSION_GET_CLASS (self)->finalize (self); +#line 25 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1286 "RESTSupport.c" + } +} + + +gchar* publishing_rest_support_http_method_to_string (PublishingRESTSupportHttpMethod self) { + gchar* result = NULL; +#line 84 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + switch (self) { +#line 84 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET: +#line 1297 "RESTSupport.c" + { + gchar* _tmp0_ = NULL; +#line 86 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = g_strdup ("GET"); +#line 86 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp0_; +#line 86 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1306 "RESTSupport.c" + } +#line 84 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT: +#line 1310 "RESTSupport.c" + { + gchar* _tmp1_ = NULL; +#line 89 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_strdup ("PUT"); +#line 89 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 89 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1319 "RESTSupport.c" + } +#line 84 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST: +#line 1323 "RESTSupport.c" + { + gchar* _tmp2_ = NULL; +#line 92 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strdup ("POST"); +#line 92 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 92 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1332 "RESTSupport.c" + } + default: + { +#line 95 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_error ("RESTSupport.vala:95: unrecognized HTTP method enumeration value"); +#line 1338 "RESTSupport.c" + } + } +} + + +PublishingRESTSupportHttpMethod publishing_rest_support_http_method_from_string (const gchar* str) { + PublishingRESTSupportHttpMethod result = 0; + const gchar* _tmp0_ = NULL; +#line 99 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (str != NULL, 0); +#line 100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = str; +#line 100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp0_, "GET") == 0) { +#line 101 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET; +#line 101 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1357 "RESTSupport.c" + } else { + const gchar* _tmp1_ = NULL; +#line 102 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = str; +#line 102 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp1_, "PUT") == 0) { +#line 103 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT; +#line 103 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1368 "RESTSupport.c" + } else { + const gchar* _tmp2_ = NULL; +#line 104 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = str; +#line 104 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp2_, "POST") == 0) { +#line 105 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST; +#line 105 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1379 "RESTSupport.c" + } else { + const gchar* _tmp3_ = NULL; +#line 107 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = str; +#line 107 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_error ("RESTSupport.vala:107: unrecognized HTTP method name: %s", _tmp3_); +#line 1386 "RESTSupport.c" + } + } + } +} + + +GType publishing_rest_support_http_method_get_type (void) { + static volatile gsize publishing_rest_support_http_method_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_http_method_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, "PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET", "get"}, {PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST, "PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST", "post"}, {PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT, "PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT", "put"}, {0, NULL, NULL}}; + GType publishing_rest_support_http_method_type_id; + publishing_rest_support_http_method_type_id = g_enum_register_static ("PublishingRESTSupportHttpMethod", values); + g_once_init_leave (&publishing_rest_support_http_method_type_id__volatile, publishing_rest_support_http_method_type_id); + } + return publishing_rest_support_http_method_type_id__volatile; +} + + +PublishingRESTSupportArgument* publishing_rest_support_argument_construct (GType object_type, const gchar* key, const gchar* value) { + PublishingRESTSupportArgument* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 116 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 116 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (value != NULL, NULL); +#line 116 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportArgument*) g_type_create_instance (object_type); +#line 117 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = key; +#line 117 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 117 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->key); +#line 117 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->key = _tmp1_; +#line 118 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = value; +#line 118 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 118 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->value); +#line 118 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->value = _tmp3_; +#line 116 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 1435 "RESTSupport.c" +} + + +PublishingRESTSupportArgument* publishing_rest_support_argument_new (const gchar* key, const gchar* value) { +#line 116 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_argument_construct (PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, key, value); +#line 1442 "RESTSupport.c" +} + + +gint publishing_rest_support_argument_compare (PublishingRESTSupportArgument* arg1, PublishingRESTSupportArgument* arg2) { + gint result = 0; + GCompareFunc _tmp0_ = NULL; + PublishingRESTSupportArgument* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportArgument* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 121 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_ARGUMENT (arg1), 0); +#line 121 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_ARGUMENT (arg2), 0); +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = g_strcmp0; +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = arg1; +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_->key; +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = arg2; +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = _tmp3_->key; +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp0_ (_tmp2_, _tmp4_); +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp5_; +#line 122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1474 "RESTSupport.c" +} + + +static gint _publishing_rest_support_argument_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = publishing_rest_support_argument_compare ((PublishingRESTSupportArgument*) a, (PublishingRESTSupportArgument*) b); +#line 126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1483 "RESTSupport.c" +} + + +static gpointer _publishing_rest_support_argument_ref0 (gpointer self) { +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self ? publishing_rest_support_argument_ref (self) : NULL; +#line 1490 "RESTSupport.c" +} + + +PublishingRESTSupportArgument** publishing_rest_support_argument_sort (PublishingRESTSupportArgument** inputArray, int inputArray_length1, int* result_length1) { + PublishingRESTSupportArgument** result = NULL; + GeeTreeSet* sorted_args = NULL; + GeeTreeSet* _tmp0_ = NULL; + PublishingRESTSupportArgument** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GeeTreeSet* _tmp5_ = NULL; + gint _tmp6_ = 0; + gpointer* _tmp7_ = NULL; + PublishingRESTSupportArgument** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = gee_tree_set_new (PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, (GBoxedCopyFunc) publishing_rest_support_argument_ref, publishing_rest_support_argument_unref, _publishing_rest_support_argument_compare_gcompare_data_func, NULL, NULL); +#line 126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + sorted_args = _tmp0_; +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = inputArray; +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1__length1 = inputArray_length1; +#line 1513 "RESTSupport.c" + { + PublishingRESTSupportArgument** arg_collection = NULL; + gint arg_collection_length1 = 0; + gint _arg_collection_size_ = 0; + gint arg_it = 0; +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + arg_collection = _tmp1_; +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + arg_collection_length1 = _tmp1__length1; +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + for (arg_it = 0; arg_it < _tmp1__length1; arg_it = arg_it + 1) { +#line 1525 "RESTSupport.c" + PublishingRESTSupportArgument* _tmp2_ = NULL; + PublishingRESTSupportArgument* arg = NULL; +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _publishing_rest_support_argument_ref0 (arg_collection[arg_it]); +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + arg = _tmp2_; +#line 1532 "RESTSupport.c" + { + GeeTreeSet* _tmp3_ = NULL; + PublishingRESTSupportArgument* _tmp4_ = NULL; +#line 129 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = sorted_args; +#line 129 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = arg; +#line 129 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 128 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_argument_unref0 (arg); +#line 1544 "RESTSupport.c" + } + } + } +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = sorted_args; +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp6_); +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = _tmp7_; +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8__length1 = _tmp6_; +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (result_length1) { +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *result_length1 = _tmp8__length1; +#line 1560 "RESTSupport.c" + } +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp8_; +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (sorted_args); +#line 131 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1568 "RESTSupport.c" +} + + +gchar* publishing_rest_support_argument_to_string (PublishingRESTSupportArgument* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 134 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_ARGUMENT (self), NULL); +#line 135 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->key; +#line 135 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->value; +#line 135 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strdup_printf ("%s=%s", _tmp0_, _tmp1_); +#line 135 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 135 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 1589 "RESTSupport.c" +} + + +static void publishing_rest_support_value_argument_init (GValue* value) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1596 "RESTSupport.c" +} + + +static void publishing_rest_support_value_argument_free_value (GValue* value) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (value->data[0].v_pointer) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_argument_unref (value->data[0].v_pointer); +#line 1605 "RESTSupport.c" + } +} + + +static void publishing_rest_support_value_argument_copy_value (const GValue* src_value, GValue* dest_value) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (src_value->data[0].v_pointer) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = publishing_rest_support_argument_ref (src_value->data[0].v_pointer); +#line 1615 "RESTSupport.c" + } else { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 1619 "RESTSupport.c" + } +} + + +static gpointer publishing_rest_support_value_argument_peek_pointer (const GValue* value) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 1627 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_argument_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (collect_values[0].v_pointer) { +#line 1634 "RESTSupport.c" + PublishingRESTSupportArgument* object; + object = collect_values[0].v_pointer; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1641 "RESTSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 1645 "RESTSupport.c" + } +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = publishing_rest_support_argument_ref (object); +#line 1649 "RESTSupport.c" + } else { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1653 "RESTSupport.c" + } +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 1657 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_argument_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRESTSupportArgument** object_p; + object_p = collect_values[0].v_pointer; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!object_p) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1668 "RESTSupport.c" + } +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!value->data[0].v_pointer) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = NULL; +#line 1674 "RESTSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = value->data[0].v_pointer; +#line 1678 "RESTSupport.c" + } else { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = publishing_rest_support_argument_ref (value->data[0].v_pointer); +#line 1682 "RESTSupport.c" + } +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 1686 "RESTSupport.c" +} + + +GParamSpec* publishing_rest_support_param_spec_argument (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRESTSupportParamSpecArgument* spec; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT), NULL); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return G_PARAM_SPEC (spec); +#line 1700 "RESTSupport.c" +} + + +gpointer publishing_rest_support_value_get_argument (const GValue* value) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT), NULL); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 1709 "RESTSupport.c" +} + + +void publishing_rest_support_value_set_argument (GValue* value, gpointer v_object) { + PublishingRESTSupportArgument* old; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_argument_ref (value->data[0].v_pointer); +#line 1729 "RESTSupport.c" + } else { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1733 "RESTSupport.c" + } +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_argument_unref (old); +#line 1739 "RESTSupport.c" + } +} + + +void publishing_rest_support_value_take_argument (GValue* value, gpointer v_object) { + PublishingRESTSupportArgument* old; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 1758 "RESTSupport.c" + } else { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 1762 "RESTSupport.c" + } +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_argument_unref (old); +#line 1768 "RESTSupport.c" + } +} + + +static void publishing_rest_support_argument_class_init (PublishingRESTSupportArgumentClass * klass) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_argument_parent_class = g_type_class_peek_parent (klass); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportArgumentClass *) klass)->finalize = publishing_rest_support_argument_finalize; +#line 1778 "RESTSupport.c" +} + + +static void publishing_rest_support_argument_instance_init (PublishingRESTSupportArgument * self) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->ref_count = 1; +#line 1785 "RESTSupport.c" +} + + +static void publishing_rest_support_argument_finalize (PublishingRESTSupportArgument* obj) { + PublishingRESTSupportArgument * self; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgument); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_destroy (self); +#line 113 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->key); +#line 114 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->value); +#line 1799 "RESTSupport.c" +} + + +GType publishing_rest_support_argument_get_type (void) { + static volatile gsize publishing_rest_support_argument_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_argument_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rest_support_value_argument_init, publishing_rest_support_value_argument_free_value, publishing_rest_support_value_argument_copy_value, publishing_rest_support_value_argument_peek_pointer, "p", publishing_rest_support_value_argument_collect_value, "p", publishing_rest_support_value_argument_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportArgumentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_argument_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportArgument), 0, (GInstanceInitFunc) publishing_rest_support_argument_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 publishing_rest_support_argument_type_id; + publishing_rest_support_argument_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRESTSupportArgument", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_rest_support_argument_type_id__volatile, publishing_rest_support_argument_type_id); + } + return publishing_rest_support_argument_type_id__volatile; +} + + +gpointer publishing_rest_support_argument_ref (gpointer instance) { + PublishingRESTSupportArgument* self; + self = instance; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return instance; +#line 1824 "RESTSupport.c" +} + + +void publishing_rest_support_argument_unref (gpointer instance) { + PublishingRESTSupportArgument* self; + self = instance; +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_ARGUMENT_GET_CLASS (self)->finalize (self); +#line 112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1837 "RESTSupport.c" + } +} + + +static void _publishing_rest_support_transaction_on_wrote_body_data_soup_message_wrote_body_data (SoupMessage* _sender, SoupBuffer* chunk, gpointer self) { +#line 161 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_on_wrote_body_data ((PublishingRESTSupportTransaction*) self, chunk); +#line 1845 "RESTSupport.c" +} + + +PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct (GType object_type, PublishingRESTSupportSession* parent_session, PublishingRESTSupportHttpMethod method) { + PublishingRESTSupportTransaction* self = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PublishingRESTSupportSession* _tmp3_ = NULL; + PublishingRESTSupportHttpMethod _tmp4_ = 0; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingRESTSupportSession* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + SoupMessage* _tmp10_ = NULL; + SoupMessage* _tmp11_ = NULL; +#line 153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (parent_session), NULL); +#line 153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportTransaction*) g_type_create_instance (object_type); +#line 156 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = parent_session; +#line 156 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = publishing_rest_support_session_get_endpoint_url (_tmp0_); +#line 156 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_; +#line 156 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp2_ != NULL, "parent_session.get_endpoint_url() != null"); +#line 156 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp2_); +#line 158 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = parent_session; +#line 158 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->parent_session = _tmp3_; +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = method; +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = publishing_rest_support_http_method_to_string (_tmp4_); +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_; +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = parent_session; +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = publishing_rest_support_session_get_endpoint_url (_tmp7_); +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = _tmp8_; +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = soup_message_new (_tmp6_, _tmp9_); +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->message); +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->message = _tmp10_; +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp9_); +#line 160 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp6_); +#line 161 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = self->priv->message; +#line 161 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect (_tmp11_, "wrote-body-data", (GCallback) _publishing_rest_support_transaction_on_wrote_body_data_soup_message_wrote_body_data, self); +#line 153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 1909 "RESTSupport.c" +} + + +PublishingRESTSupportTransaction* publishing_rest_support_transaction_new (PublishingRESTSupportSession* parent_session, PublishingRESTSupportHttpMethod method) { +#line 153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_transaction_construct (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, parent_session, method); +#line 1916 "RESTSupport.c" +} + + +PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportSession* parent_session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method) { + PublishingRESTSupportTransaction* self = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PublishingRESTSupportHttpMethod _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + SoupMessage* _tmp7_ = NULL; +#line 164 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (parent_session), NULL); +#line 164 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (endpoint_url != NULL, NULL); +#line 164 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportTransaction*) g_type_create_instance (object_type); +#line 166 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = parent_session; +#line 166 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->parent_session = _tmp0_; +#line 167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = endpoint_url; +#line 167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->endpoint_url); +#line 167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->endpoint_url = _tmp2_; +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = method; +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_http_method_to_string (_tmp3_); +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp4_; +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = endpoint_url; +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = soup_message_new (_tmp5_, _tmp6_); +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->message); +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->message = _tmp7_; +#line 168 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp5_); +#line 164 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 1966 "RESTSupport.c" +} + + +PublishingRESTSupportTransaction* publishing_rest_support_transaction_new_with_endpoint_url (PublishingRESTSupportSession* parent_session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method) { +#line 164 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_transaction_construct_with_endpoint_url (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, parent_session, endpoint_url, method); +#line 1973 "RESTSupport.c" +} + + +static void publishing_rest_support_transaction_on_wrote_body_data (PublishingRESTSupportTransaction* self, SoupBuffer* written_data) { + gint _tmp0_ = 0; + SoupBuffer* _tmp1_ = NULL; + gsize _tmp2_ = 0UL; + gint _tmp3_ = 0; + SoupMessage* _tmp4_ = NULL; + SoupMessageBody* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; +#line 171 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 171 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (written_data != NULL); +#line 172 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->bytes_written; +#line 172 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = written_data; +#line 172 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_->length; +#line 172 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->bytes_written = _tmp0_ + ((gint) _tmp2_); +#line 173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->bytes_written; +#line 173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->message; +#line 173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp4_->request_body; +#line 173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_->length; +#line 173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "chunk-transmitted", _tmp3_, (gint) _tmp6_); +#line 2007 "RESTSupport.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 185 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self ? g_error_copy (self) : NULL; +#line 2014 "RESTSupport.c" +} + + +static void publishing_rest_support_transaction_on_message_unqueued (PublishingRESTSupportTransaction* self, SoupMessage* message) { + SoupMessage* _tmp0_ = NULL; + SoupMessage* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 176 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 176 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (SOUP_IS_MESSAGE (message)); +#line 177 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->message; +#line 177 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = message; +#line 177 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp0_ != _tmp1_) { +#line 178 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2034 "RESTSupport.c" + } + { + SoupMessage* _tmp2_ = NULL; +#line 181 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = message; +#line 181 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_check_response (self, _tmp2_, &_inner_error_); +#line 181 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 181 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2046 "RESTSupport.c" + goto __catch0_spit_publishing_publishing_error; + } +#line 181 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 181 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 181 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2055 "RESTSupport.c" + } + } + goto __finally0; + __catch0_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 180 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + err = _inner_error_; +#line 180 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 183 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = err; +#line 183 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = _tmp3_->message; +#line 183 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_warning ("RESTSupport.vala:183: Publishing error: %s", _tmp4_); +#line 184 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (self); +#line 184 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_; +#line 184 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_warning ("RESTSupport.vala:184: response validation failed. bad response = '%s'.", _tmp6_); +#line 184 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp6_); +#line 185 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = err; +#line 185 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = _g_error_copy0 (_tmp7_); +#line 185 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (self->priv->err); +#line 185 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->err = _tmp8_; +#line 180 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (err); +#line 2096 "RESTSupport.c" + } + __finally0: +#line 180 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 180 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 180 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 180 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2107 "RESTSupport.c" + } +} + + +void publishing_rest_support_transaction_check_response (PublishingRESTSupportTransaction* self, SoupMessage* message, GError** error) { + SoupMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + guint _tmp2_ = 0U; + gboolean _tmp42_ = FALSE; + SoupMessage* _tmp43_ = NULL; + SoupMessageBody* _tmp44_ = NULL; + guint8* _tmp45_ = NULL; + gint _tmp45__length1 = 0; + GError * _inner_error_ = NULL; +#line 189 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 189 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (SOUP_IS_MESSAGE (message)); +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = message; +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp0_, "status-code", &_tmp1_, NULL); +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_; +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + switch (_tmp2_) { +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case SOUP_STATUS_OK: +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case SOUP_STATUS_CREATED: +#line 2138 "RESTSupport.c" + { +#line 194 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 2142 "RESTSupport.c" + } +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case SOUP_STATUS_CANT_RESOLVE: +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case SOUP_STATUS_CANT_RESOLVE_PROXY: +#line 2148 "RESTSupport.c" + { + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SoupMessage* _tmp5_ = NULL; + guint _tmp6_ = 0U; + guint _tmp7_ = 0U; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = publishing_rest_support_transaction_get_endpoint_url (self); +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = _tmp3_; +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = message; +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp5_, "status-code", &_tmp6_, NULL); +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Unable to resolve %s (error code %u)", _tmp4_, _tmp7_); +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = _tmp8_; +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp4_); +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp9_; +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2181 "RESTSupport.c" + } else { +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 198 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2189 "RESTSupport.c" + } + } +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case SOUP_STATUS_CANT_CONNECT: +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case SOUP_STATUS_CANT_CONNECT_PROXY: +#line 2196 "RESTSupport.c" + { + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + SoupMessage* _tmp12_ = NULL; + guint _tmp13_ = 0U; + guint _tmp14_ = 0U; + GError* _tmp15_ = NULL; + GError* _tmp16_ = NULL; +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = publishing_rest_support_transaction_get_endpoint_url (self); +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = _tmp10_; +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = message; +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp12_, "status-code", &_tmp13_, NULL); +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = _tmp13_; +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Unable to connect to %s (error code %u)", _tmp11_, _tmp14_); +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = _tmp15_; +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp11_); +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp16_; +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2229 "RESTSupport.c" + } else { +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 203 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2237 "RESTSupport.c" + } + } +#line 190 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case SOUP_STATUS_SSL_FAILED: +#line 2242 "RESTSupport.c" + { + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; + GError* _tmp20_ = NULL; +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = publishing_rest_support_transaction_get_endpoint_url (self); +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = _tmp17_; +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_SSL_FAILED, "Unable to connect to %s: Secure connection failed", _tmp18_); +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = _tmp19_; +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp18_); +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp20_; +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2266 "RESTSupport.c" + } else { +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 206 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2274 "RESTSupport.c" + } + } + default: + { + SoupMessage* _tmp21_ = NULL; + guint _tmp22_ = 0U; + guint _tmp23_ = 0U; +#line 211 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = message; +#line 211 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp21_, "status-code", &_tmp22_, NULL); +#line 211 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = _tmp22_; +#line 211 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp23_ >= ((guint) 100)) { +#line 2290 "RESTSupport.c" + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + SoupMessage* _tmp26_ = NULL; + guint _tmp27_ = 0U; + guint _tmp28_ = 0U; + SoupMessage* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + GError* _tmp33_ = NULL; + GError* _tmp34_ = NULL; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = publishing_rest_support_transaction_get_endpoint_url (self); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = _tmp24_; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp26_ = message; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp26_, "status-code", &_tmp27_, NULL); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp28_ = _tmp27_; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_ = message; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp29_, "reason-phrase", &_tmp30_, NULL); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp31_ = _tmp30_; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp32_ = _tmp31_; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp33_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Service %s returned HTTP status code %u %s", _tmp25_, _tmp28_, _tmp32_); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp34_ = _tmp33_; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp32_); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp25_); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp34_; +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2336 "RESTSupport.c" + } else { +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 212 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2344 "RESTSupport.c" + } + } else { + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + SoupMessage* _tmp37_ = NULL; + guint _tmp38_ = 0U; + guint _tmp39_ = 0U; + GError* _tmp40_ = NULL; + GError* _tmp41_ = NULL; +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp35_ = publishing_rest_support_transaction_get_endpoint_url (self); +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp36_ = _tmp35_; +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp37_ = message; +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp37_, "status-code", &_tmp38_, NULL); +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp39_ = _tmp38_; +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp40_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Failure communicating with %s (error code %u)", _tmp36_, _tmp39_); +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp41_ = _tmp40_; +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp36_); +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp41_; +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2378 "RESTSupport.c" + } else { +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 215 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2386 "RESTSupport.c" + } + } + } + } +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp43_ = message; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp44_ = _tmp43_->response_body; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp45_ = _tmp44_->data; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp45__length1 = (gint) _tmp44_->length; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp45_ == NULL) { +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp42_ = TRUE; +#line 2403 "RESTSupport.c" + } else { + SoupMessage* _tmp46_ = NULL; + SoupMessageBody* _tmp47_ = NULL; + guint8* _tmp48_ = NULL; + gint _tmp48__length1 = 0; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp46_ = message; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp47_ = _tmp46_->response_body; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp48_ = _tmp47_->data; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp48__length1 = (gint) _tmp47_->length; +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp42_ = _tmp48__length1 == 0; +#line 2419 "RESTSupport.c" + } +#line 221 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp42_) { +#line 2423 "RESTSupport.c" + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + GError* _tmp51_ = NULL; + GError* _tmp52_ = NULL; +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp49_ = publishing_rest_support_transaction_get_endpoint_url (self); +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp50_ = _tmp49_; +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp51_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "No response data from %s", _tmp50_); +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp52_ = _tmp51_; +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp50_); +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp52_; +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2446 "RESTSupport.c" + } else { +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 222 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2454 "RESTSupport.c" + } + } +} + + +static PublishingRESTSupportArgument** _vala_array_dup1 (PublishingRESTSupportArgument** self, int length) { + PublishingRESTSupportArgument** result; + int i; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = g_new0 (PublishingRESTSupportArgument*, length + 1); +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + for (i = 0; i < length; i++) { +#line 2467 "RESTSupport.c" + PublishingRESTSupportArgument* _tmp0_ = NULL; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = _publishing_rest_support_argument_ref0 (self[i]); +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result[i] = _tmp0_; +#line 2473 "RESTSupport.c" + } +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 2477 "RESTSupport.c" +} + + +PublishingRESTSupportArgument** publishing_rest_support_transaction_get_arguments (PublishingRESTSupportTransaction* self, int* result_length1) { + PublishingRESTSupportArgument** result = NULL; + PublishingRESTSupportArgument** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingRESTSupportArgument** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingRESTSupportArgument** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 226 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), NULL); +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->arguments; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0__length1 = self->priv->arguments_length1; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup1 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (result_length1) { +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *result_length1 = _tmp2__length1; +#line 2507 "RESTSupport.c" + } +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 227 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 2513 "RESTSupport.c" +} + + +PublishingRESTSupportArgument** publishing_rest_support_transaction_get_sorted_arguments (PublishingRESTSupportTransaction* self, int* result_length1) { + PublishingRESTSupportArgument** result = NULL; + gint _tmp0_ = 0; + PublishingRESTSupportArgument** _tmp1_ = NULL; + PublishingRESTSupportArgument** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + PublishingRESTSupportArgument** _tmp4_ = NULL; + PublishingRESTSupportArgument** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + PublishingRESTSupportArgument** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 230 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), NULL); +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = publishing_rest_support_transaction_get_arguments (self, &_tmp0_); +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_; +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2__length1 = _tmp0_; +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_argument_sort (_tmp2_, _tmp0_, &_tmp3_); +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp4_; +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5__length1 = _tmp3_; +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = (_vala_array_free (_tmp2_, _tmp2__length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_; +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6__length1 = _tmp5__length1; +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (result_length1) { +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *result_length1 = _tmp6__length1; +#line 2553 "RESTSupport.c" + } +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp6_; +#line 231 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 2559 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_set_is_executed (PublishingRESTSupportTransaction* self, gboolean is_executed) { + gboolean _tmp0_ = FALSE; +#line 234 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 235 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = is_executed; +#line 235 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->is_executed = _tmp0_; +#line 2571 "RESTSupport.c" +} + + +static void _publishing_rest_support_transaction_on_message_unqueued_publishing_rest_support_session_wire_message_unqueued (PublishingRESTSupportSession* _sender, SoupMessage* message, gpointer self) { +#line 239 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_on_message_unqueued ((PublishingRESTSupportTransaction*) self, message); +#line 2578 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_send (PublishingRESTSupportTransaction* self, GError** error) { + PublishingRESTSupportSession* _tmp0_ = NULL; + SoupMessage* _tmp1_ = NULL; + PublishingRESTSupportSession* _tmp2_ = NULL; + SoupMessage* _tmp3_ = NULL; + PublishingRESTSupportSession* _tmp4_ = NULL; + guint _tmp5_ = 0U; + SoupMessage* _tmp6_ = NULL; + guint _tmp7_ = 0U; + GError* _tmp8_ = NULL; + GError* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 238 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 239 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->parent_session; +#line 239 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect (_tmp0_, "wire-message-unqueued", (GCallback) _publishing_rest_support_transaction_on_message_unqueued_publishing_rest_support_session_wire_message_unqueued, self); +#line 240 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->message; +#line 240 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect (_tmp1_, "wrote-body-data", (GCallback) _publishing_rest_support_transaction_on_wrote_body_data_soup_message_wrote_body_data, self); +#line 241 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->parent_session; +#line 241 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->message; +#line 241 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_session_send_wire_message (_tmp2_, _tmp3_); +#line 243 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->parent_session; +#line 243 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("wire-message-unqueued", PUBLISHING_REST_SUPPORT_TYPE_SESSION, &_tmp5_, NULL, FALSE); +#line 243 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _publishing_rest_support_transaction_on_message_unqueued_publishing_rest_support_session_wire_message_unqueued, self); +#line 244 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = self->priv->message; +#line 244 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("wrote-body-data", soup_message_get_type (), &_tmp7_, NULL, FALSE); +#line 244 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _publishing_rest_support_transaction_on_wrote_body_data_soup_message_wrote_body_data, self); +#line 246 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = self->priv->err; +#line 246 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp8_ != NULL) { +#line 2626 "RESTSupport.c" + GError* _tmp9_ = NULL; +#line 247 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = self->priv->err; +#line 247 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "network-error", _tmp9_); +#line 2632 "RESTSupport.c" + } else { +#line 249 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "completed"); +#line 2636 "RESTSupport.c" + } +#line 251 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = self->priv->err; +#line 251 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp10_ != NULL) { +#line 2642 "RESTSupport.c" + GError* _tmp11_ = NULL; + GError* _tmp12_ = NULL; +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = self->priv->err; +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = _g_error_copy0 (_tmp11_); +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp12_; +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2657 "RESTSupport.c" + } else { +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 252 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2665 "RESTSupport.c" + } + } +} + + +PublishingRESTSupportHttpMethod publishing_rest_support_transaction_get_method (PublishingRESTSupportTransaction* self) { + PublishingRESTSupportHttpMethod result = 0; + SoupMessage* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRESTSupportHttpMethod _tmp4_ = 0; + PublishingRESTSupportHttpMethod _tmp5_ = 0; +#line 255 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), 0); +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->message; +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp0_, "method", &_tmp1_, NULL); +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_; +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _tmp2_; +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_http_method_from_string (_tmp3_); +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp4_; +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp3_); +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp5_; +#line 256 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 2699 "RESTSupport.c" +} + + +static void publishing_rest_support_transaction_real_add_header (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value) { + SoupMessage* _tmp0_ = NULL; + SoupMessageHeaders* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 259 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (key != NULL); +#line 259 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (value != NULL); +#line 260 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->message; +#line 260 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _tmp0_->request_headers; +#line 260 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = key; +#line 260 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = value; +#line 260 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_message_headers_append (_tmp1_, _tmp2_, _tmp3_); +#line 2722 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_add_header (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value) { +#line 259 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 259 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_GET_CLASS (self)->add_header (self, key, value); +#line 2731 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_set_custom_payload (PublishingRESTSupportTransaction* self, const gchar* custom_payload, const gchar* payload_content_type, gulong payload_length) { + PublishingRESTSupportHttpMethod _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gulong _tmp2_ = 0UL; + gulong _tmp3_ = 0UL; + gulong length = 0UL; + SoupMessage* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + guint8* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + guint8* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gulong _tmp13_ = 0UL; +#line 271 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 271 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (payload_content_type != NULL); +#line 273 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_transaction_get_method (self); +#line 273 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_ != PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, "get_method() != HttpMethod.GET"); +#line 275 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = custom_payload; +#line 275 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp1_ == NULL) { +#line 276 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->use_custom_payload = FALSE; +#line 277 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2765 "RESTSupport.c" + } +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = payload_length; +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp3_ > ((gulong) 0)) { +#line 2771 "RESTSupport.c" + gulong _tmp4_ = 0UL; +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = payload_length; +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp4_; +#line 2777 "RESTSupport.c" + } else { + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = custom_payload; +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = strlen (_tmp5_); +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = (gulong) _tmp7_; +#line 2790 "RESTSupport.c" + } +#line 280 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + length = _tmp2_; +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = self->priv->message; +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = payload_content_type; +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = custom_payload; +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = string_get_data (_tmp10_, &_tmp11__length1); +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = _tmp11_; +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12__length1 = _tmp11__length1; +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = length; +#line 281 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_message_set_request (_tmp8_, _tmp9_, SOUP_MEMORY_COPY, _tmp12_ + 0, (gsize) (((gint) _tmp13_) - 0)); +#line 283 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->use_custom_payload = TRUE; +#line 2812 "RESTSupport.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 292 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self ? g_object_ref (self) : NULL; +#line 2819 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_set_message (PublishingRESTSupportTransaction* self, SoupMessage* message) { + SoupMessage* _tmp0_ = NULL; + SoupMessage* _tmp1_ = NULL; +#line 291 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 291 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (SOUP_IS_MESSAGE (message)); +#line 292 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = message; +#line 292 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 292 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->message); +#line 292 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->message = _tmp1_; +#line 2838 "RESTSupport.c" +} + + +gboolean publishing_rest_support_transaction_get_is_executed (PublishingRESTSupportTransaction* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 295 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), FALSE); +#line 296 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->is_executed; +#line 296 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp0_; +#line 296 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 2853 "RESTSupport.c" +} + + +guint publishing_rest_support_transaction_get_status_code (PublishingRESTSupportTransaction* self) { + guint result = 0U; + gboolean _tmp0_ = FALSE; + SoupMessage* _tmp1_ = NULL; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; +#line 299 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), 0U); +#line 300 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_transaction_get_is_executed (self); +#line 300 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_, "get_is_executed()"); +#line 301 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->message; +#line 301 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_get (_tmp1_, "status-code", &_tmp2_, NULL); +#line 301 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _tmp2_; +#line 301 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp3_; +#line 301 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 2879 "RESTSupport.c" +} + + +static void _vala_SoupURI_free (SoupURI* self) { +#line 335 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_boxed_free (soup_uri_get_type (), self); +#line 2886 "RESTSupport.c" +} + + +static void publishing_rest_support_transaction_real_execute (PublishingRESTSupportTransaction* self, GError** error) { + gboolean _tmp0_ = FALSE; + PublishingRESTSupportHttpMethod _tmp1_ = 0; + gchar* formdata_string = NULL; + gchar* _tmp3_ = NULL; + gchar* old_url = NULL; + gchar* url_with_query = NULL; + gboolean _tmp19_ = FALSE; + PublishingRESTSupportHttpMethod _tmp20_ = 0; + GError * _inner_error_ = NULL; +#line 308 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->use_custom_payload; +#line 308 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp0_) { +#line 309 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->is_executed = TRUE; +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_send (self, &_inner_error_); +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2916 "RESTSupport.c" + } else { +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 310 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2924 "RESTSupport.c" + } + } +#line 312 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 2929 "RESTSupport.c" + } +#line 316 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = publishing_rest_support_transaction_get_method (self); +#line 316 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp1_ == PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST) { +#line 2935 "RESTSupport.c" + PublishingRESTSupportArgument** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 317 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->arguments; +#line 317 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2__length1 = self->priv->arguments_length1; +#line 317 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp2__length1 > 0, "arguments.length > 0"); +#line 2944 "RESTSupport.c" + } +#line 320 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = g_strdup (""); +#line 320 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + formdata_string = _tmp3_; +#line 2950 "RESTSupport.c" + { + gint i = 0; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + i = 0; +#line 2955 "RESTSupport.c" + { + gboolean _tmp4_ = FALSE; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = TRUE; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + while (TRUE) { +#line 2962 "RESTSupport.c" + gint _tmp6_ = 0; + PublishingRESTSupportArgument** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingRESTSupportArgument** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint _tmp10_ = 0; + PublishingRESTSupportArgument* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + PublishingRESTSupportArgument** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 2979 "RESTSupport.c" + gint _tmp5_ = 0; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = i; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + i = _tmp5_ + 1; +#line 2985 "RESTSupport.c" + } +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = FALSE; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = i; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = self->priv->arguments; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7__length1 = self->priv->arguments_length1; +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!(_tmp6_ < _tmp7__length1)) { +#line 321 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 2999 "RESTSupport.c" + } +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = formdata_string; +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = self->priv->arguments; +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9__length1 = self->priv->arguments_length1; +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = i; +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = _tmp9_[_tmp10_]; +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = publishing_rest_support_argument_to_string (_tmp11_); +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = _tmp12_; +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = g_strconcat (_tmp8_, _tmp13_, NULL); +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (formdata_string); +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + formdata_string = _tmp14_; +#line 322 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp13_); +#line 323 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = i; +#line 323 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = self->priv->arguments; +#line 323 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16__length1 = self->priv->arguments_length1; +#line 323 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp15_ < (_tmp16__length1 - 1)) { +#line 3031 "RESTSupport.c" + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 324 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = formdata_string; +#line 324 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = g_strconcat (_tmp17_, "&", NULL); +#line 324 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (formdata_string); +#line 324 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + formdata_string = _tmp18_; +#line 3042 "RESTSupport.c" + } + } + } + } +#line 330 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old_url = NULL; +#line 331 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + url_with_query = NULL; +#line 332 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = publishing_rest_support_transaction_get_method (self); +#line 332 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp20_ == PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET) { +#line 3055 "RESTSupport.c" + PublishingRESTSupportArgument** _tmp21_ = NULL; + gint _tmp21__length1 = 0; +#line 332 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = self->priv->arguments; +#line 332 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21__length1 = self->priv->arguments_length1; +#line 332 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = _tmp21__length1 > 0; +#line 3064 "RESTSupport.c" + } else { +#line 332 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = FALSE; +#line 3068 "RESTSupport.c" + } +#line 332 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp19_) { +#line 3072 "RESTSupport.c" + SoupMessage* _tmp22_ = NULL; + SoupURI* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + SoupMessage* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + SoupURI* _tmp33_ = NULL; + SoupURI* _tmp34_ = NULL; +#line 333 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = self->priv->message; +#line 333 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = soup_message_get_uri (_tmp22_); +#line 333 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = soup_uri_to_string (_tmp23_, FALSE); +#line 333 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (old_url); +#line 333 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old_url = _tmp24_; +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = publishing_rest_support_transaction_get_endpoint_url (self); +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp26_ = _tmp25_; +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp27_ = g_strconcat (_tmp26_, "?", NULL); +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp28_ = _tmp27_; +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_ = formdata_string; +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp30_ = g_strconcat (_tmp28_, _tmp29_, NULL); +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (url_with_query); +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + url_with_query = _tmp30_; +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp28_); +#line 334 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp26_); +#line 335 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp31_ = self->priv->message; +#line 335 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp32_ = url_with_query; +#line 335 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp33_ = soup_uri_new (_tmp32_); +#line 335 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp34_ = _tmp33_; +#line 335 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_message_set_uri (_tmp31_, _tmp34_); +#line 335 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupURI_free0 (_tmp34_); +#line 3128 "RESTSupport.c" + } else { + SoupMessage* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + guint8* _tmp37_ = NULL; + gint _tmp37__length1 = 0; + guint8* _tmp38_ = NULL; + gint _tmp38__length1 = 0; +#line 337 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp35_ = self->priv->message; +#line 337 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp36_ = formdata_string; +#line 337 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp37_ = string_get_data (_tmp36_, &_tmp37__length1); +#line 337 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp38_ = _tmp37_; +#line 337 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp38__length1 = _tmp37__length1; +#line 337 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_message_set_request (_tmp35_, "application/x-www-form-urlencoded", SOUP_MEMORY_COPY, _tmp38_, (gsize) _tmp38__length1); +#line 3148 "RESTSupport.c" + } +#line 341 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->is_executed = TRUE; +#line 3152 "RESTSupport.c" + { + SoupMessage* _tmp39_ = NULL; + SoupURI* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 344 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp39_ = self->priv->message; +#line 344 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp40_ = soup_message_get_uri (_tmp39_); +#line 344 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp41_ = soup_uri_to_string (_tmp40_, FALSE); +#line 344 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp42_ = _tmp41_; +#line 344 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:344: sending message to URI = '%s'", _tmp42_); +#line 344 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp42_); +#line 345 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_send (self, &_inner_error_); +#line 345 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3174 "RESTSupport.c" + goto __finally1; + } + } + __finally1: + { + const gchar* _tmp43_ = NULL; +#line 348 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp43_ = old_url; +#line 348 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp43_ != NULL) { +#line 3185 "RESTSupport.c" + SoupMessage* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + SoupURI* _tmp46_ = NULL; + SoupURI* _tmp47_ = NULL; +#line 349 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp44_ = self->priv->message; +#line 349 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp45_ = old_url; +#line 349 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp46_ = soup_uri_new (_tmp45_); +#line 349 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp47_ = _tmp46_; +#line 349 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_message_set_uri (_tmp44_, _tmp47_); +#line 349 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupURI_free0 (_tmp47_); +#line 3202 "RESTSupport.c" + } + } +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (url_with_query); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (old_url); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (formdata_string); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 3219 "RESTSupport.c" + } else { +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (url_with_query); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (old_url); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (formdata_string); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 343 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 3233 "RESTSupport.c" + } + } +#line 304 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (url_with_query); +#line 304 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (old_url); +#line 304 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (formdata_string); +#line 3242 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_execute (PublishingRESTSupportTransaction* self, GError** error) { +#line 304 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 304 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_GET_CLASS (self)->execute (self, error); +#line 3251 "RESTSupport.c" +} + + +gchar* publishing_rest_support_transaction_get_response (PublishingRESTSupportTransaction* self) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + SoupMessage* _tmp1_ = NULL; + SoupMessageBody* _tmp2_ = NULL; + guint8* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 353 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), NULL); +#line 354 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_transaction_get_is_executed (self); +#line 354 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_, "get_is_executed()"); +#line 355 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->message; +#line 355 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_->response_body; +#line 355 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _tmp2_->data; +#line 355 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3__length1 = (gint) _tmp2_->length; +#line 355 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 355 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp4_; +#line 355 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 3283 "RESTSupport.c" +} + + +SoupMessageHeaders* publishing_rest_support_transaction_get_response_headers (PublishingRESTSupportTransaction* self) { + SoupMessageHeaders* result = NULL; + gboolean _tmp0_ = FALSE; + SoupMessage* _tmp1_ = NULL; + SoupMessageHeaders* _tmp2_ = NULL; +#line 358 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), NULL); +#line 359 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_transaction_get_is_executed (self); +#line 359 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_, "get_is_executed()"); +#line 360 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->message; +#line 360 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp1_->response_headers; +#line 360 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 360 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 3306 "RESTSupport.c" +} + + +SoupMessage* publishing_rest_support_transaction_get_message (PublishingRESTSupportTransaction* self) { + SoupMessage* result = NULL; + gboolean _tmp0_ = FALSE; + SoupMessage* _tmp1_ = NULL; + SoupMessage* _tmp2_ = NULL; +#line 363 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), NULL); +#line 364 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_transaction_get_is_executed (self); +#line 364 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_, "get_is_executed()"); +#line 365 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->message; +#line 365 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 365 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 365 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 3329 "RESTSupport.c" +} + + +static void _vala_array_add1 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value) { +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if ((*length) == (*size)) { +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *array = g_renew (PublishingRESTSupportArgument*, *array, (*size) + 1); +#line 3340 "RESTSupport.c" + } +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + (*array)[(*length)++] = value; +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + (*array)[*length] = NULL; +#line 3346 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_add_argument (PublishingRESTSupportTransaction* self, const gchar* name, const gchar* value) { + PublishingRESTSupportArgument** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportArgument* _tmp3_ = NULL; +#line 368 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self)); +#line 368 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (name != NULL); +#line 368 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (value != NULL); +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->arguments; +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0__length1 = self->priv->arguments_length1; +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = name; +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = value; +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = publishing_rest_support_argument_new (_tmp1_, _tmp2_); +#line 369 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_array_add1 (&self->priv->arguments, &self->priv->arguments_length1, &self->priv->_arguments_size_, _tmp3_); +#line 3374 "RESTSupport.c" +} + + +gchar* publishing_rest_support_transaction_get_endpoint_url (PublishingRESTSupportTransaction* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 372 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), NULL); +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->endpoint_url; +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp1_ != NULL) { +#line 3388 "RESTSupport.c" + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->endpoint_url; +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp0_); +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = _tmp3_; +#line 3399 "RESTSupport.c" + } else { + PublishingRESTSupportSession* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->parent_session; +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = publishing_rest_support_session_get_endpoint_url (_tmp4_); +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp0_); +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = _tmp5_; +#line 3411 "RESTSupport.c" + } +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp0_; +#line 373 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 3417 "RESTSupport.c" +} + + +static gpointer _publishing_rest_support_session_ref0 (gpointer self) { +#line 377 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self ? publishing_rest_support_session_ref (self) : NULL; +#line 3424 "RESTSupport.c" +} + + +PublishingRESTSupportSession* publishing_rest_support_transaction_get_parent_session (PublishingRESTSupportTransaction* self) { + PublishingRESTSupportSession* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingRESTSupportSession* _tmp1_ = NULL; +#line 376 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (self), NULL); +#line 377 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->parent_session; +#line 377 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _publishing_rest_support_session_ref0 (_tmp0_); +#line 377 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 377 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 3442 "RESTSupport.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 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (n_param_values == 3); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + data1 = closure->data; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + data2 = param_values->data[0].v_pointer; +#line 3461 "RESTSupport.c" + } else { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + data1 = param_values->data[0].v_pointer; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + data2 = closure->data; +#line 3467 "RESTSupport.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + callback (data1, g_value_get_int (param_values + 1), g_value_get_int (param_values + 2), data2); +#line 3473 "RESTSupport.c" +} + + +static void publishing_rest_support_value_transaction_init (GValue* value) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 3480 "RESTSupport.c" +} + + +static void publishing_rest_support_value_transaction_free_value (GValue* value) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (value->data[0].v_pointer) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_unref (value->data[0].v_pointer); +#line 3489 "RESTSupport.c" + } +} + + +static void publishing_rest_support_value_transaction_copy_value (const GValue* src_value, GValue* dest_value) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (src_value->data[0].v_pointer) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = publishing_rest_support_transaction_ref (src_value->data[0].v_pointer); +#line 3499 "RESTSupport.c" + } else { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 3503 "RESTSupport.c" + } +} + + +static gpointer publishing_rest_support_value_transaction_peek_pointer (const GValue* value) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 3511 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_transaction_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (collect_values[0].v_pointer) { +#line 3518 "RESTSupport.c" + PublishingRESTSupportTransaction* object; + object = collect_values[0].v_pointer; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3525 "RESTSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 3529 "RESTSupport.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = publishing_rest_support_transaction_ref (object); +#line 3533 "RESTSupport.c" + } else { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 3537 "RESTSupport.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 3541 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_transaction_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRESTSupportTransaction** object_p; + object_p = collect_values[0].v_pointer; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!object_p) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3552 "RESTSupport.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!value->data[0].v_pointer) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = NULL; +#line 3558 "RESTSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = value->data[0].v_pointer; +#line 3562 "RESTSupport.c" + } else { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = publishing_rest_support_transaction_ref (value->data[0].v_pointer); +#line 3566 "RESTSupport.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 3570 "RESTSupport.c" +} + + +GParamSpec* publishing_rest_support_param_spec_transaction (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRESTSupportParamSpecTransaction* spec; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION), NULL); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return G_PARAM_SPEC (spec); +#line 3584 "RESTSupport.c" +} + + +gpointer publishing_rest_support_value_get_transaction (const GValue* value) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION), NULL); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 3593 "RESTSupport.c" +} + + +void publishing_rest_support_value_set_transaction (GValue* value, gpointer v_object) { + PublishingRESTSupportTransaction* old; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_ref (value->data[0].v_pointer); +#line 3613 "RESTSupport.c" + } else { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 3617 "RESTSupport.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_unref (old); +#line 3623 "RESTSupport.c" + } +} + + +void publishing_rest_support_value_take_transaction (GValue* value, gpointer v_object) { + PublishingRESTSupportTransaction* old; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 3642 "RESTSupport.c" + } else { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 3646 "RESTSupport.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_unref (old); +#line 3652 "RESTSupport.c" + } +} + + +static void publishing_rest_support_transaction_class_init (PublishingRESTSupportTransactionClass * klass) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_parent_class = g_type_class_peek_parent (klass); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_rest_support_transaction_finalize; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_class_add_private (klass, sizeof (PublishingRESTSupportTransactionPrivate)); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportTransactionClass *) klass)->add_header = publishing_rest_support_transaction_real_add_header; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_rest_support_transaction_real_execute; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("chunk_transmitted", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, 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 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("network_error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 3674 "RESTSupport.c" +} + + +static void publishing_rest_support_transaction_instance_init (PublishingRESTSupportTransaction * self) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv = PUBLISHING_REST_SUPPORT_TRANSACTION_GET_PRIVATE (self); +#line 141 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->is_executed = FALSE; +#line 142 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->parent_session = NULL; +#line 143 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->message = NULL; +#line 144 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->bytes_written = 0; +#line 145 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->err = NULL; +#line 146 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->endpoint_url = NULL; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->ref_count = 1; +#line 3695 "RESTSupport.c" +} + + +static void publishing_rest_support_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingRESTSupportTransaction * self; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_destroy (self); +#line 140 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->arguments = (_vala_array_free (self->priv->arguments, self->priv->arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 143 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->message); +#line 145 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (self->priv->err); +#line 146 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->endpoint_url); +#line 3713 "RESTSupport.c" +} + + +GType publishing_rest_support_transaction_get_type (void) { + static volatile gsize publishing_rest_support_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_transaction_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rest_support_value_transaction_init, publishing_rest_support_value_transaction_free_value, publishing_rest_support_value_transaction_copy_value, publishing_rest_support_value_transaction_peek_pointer, "p", publishing_rest_support_value_transaction_collect_value, "p", publishing_rest_support_value_transaction_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportTransaction), 0, (GInstanceInitFunc) publishing_rest_support_transaction_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 publishing_rest_support_transaction_type_id; + publishing_rest_support_transaction_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRESTSupportTransaction", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_rest_support_transaction_type_id__volatile, publishing_rest_support_transaction_type_id); + } + return publishing_rest_support_transaction_type_id__volatile; +} + + +gpointer publishing_rest_support_transaction_ref (gpointer instance) { + PublishingRESTSupportTransaction* self; + self = instance; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return instance; +#line 3738 "RESTSupport.c" +} + + +void publishing_rest_support_transaction_unref (gpointer instance) { + PublishingRESTSupportTransaction* self; + self = instance; +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_GET_CLASS (self)->finalize (self); +#line 139 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3751 "RESTSupport.c" + } +} + + +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable) { + PublishingRESTSupportUploadTransaction* self = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + SpitPublishingPublishable* _tmp1_ = NULL; + SpitPublishingPublishable* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + SpitPublishingPublisherMediaType _tmp4_ = 0; + gchar* _tmp5_ = NULL; + GHashTable* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; +#line 387 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (session), NULL); +#line 387 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 388 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = session; +#line 388 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportUploadTransaction*) publishing_rest_support_transaction_construct (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 389 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = publishable; +#line 389 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 389 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->publishable); +#line 389 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->publishable = _tmp2_; +#line 390 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = publishable; +#line 390 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = spit_publishing_publishable_get_media_type (_tmp3_); +#line 390 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = publishing_rest_support_upload_transaction_media_type_to_mime_type (_tmp4_); +#line 390 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->mime_type); +#line 390 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->mime_type = _tmp5_; +#line 392 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_upload_transaction_create_default_binary_disposition_table (self); +#line 392 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_hash_table_unref0 (self->binary_disposition_table); +#line 392 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->binary_disposition_table = _tmp6_; +#line 394 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = 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 394 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->message_headers); +#line 394 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->message_headers = _tmp7_; +#line 387 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 3806 "RESTSupport.c" +} + + +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new (PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable) { +#line 387 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_upload_transaction_construct (PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, session, publishable); +#line 3813 "RESTSupport.c" +} + + +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable, const gchar* endpoint_url) { + PublishingRESTSupportUploadTransaction* self = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + SpitPublishingPublishable* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + SpitPublishingPublisherMediaType _tmp5_ = 0; + gchar* _tmp6_ = NULL; + GHashTable* _tmp7_ = NULL; + GeeHashMap* _tmp8_ = NULL; +#line 397 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (session), NULL); +#line 397 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 397 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (endpoint_url != NULL, NULL); +#line 399 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = session; +#line 399 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = endpoint_url; +#line 399 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportUploadTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, _tmp0_, _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 400 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = publishable; +#line 400 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 400 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->publishable); +#line 400 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->publishable = _tmp3_; +#line 401 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishable; +#line 401 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = spit_publishing_publishable_get_media_type (_tmp4_); +#line 401 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_upload_transaction_media_type_to_mime_type (_tmp5_); +#line 401 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->mime_type); +#line 401 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->mime_type = _tmp6_; +#line 403 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = publishing_rest_support_upload_transaction_create_default_binary_disposition_table (self); +#line 403 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_hash_table_unref0 (self->binary_disposition_table); +#line 403 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->binary_disposition_table = _tmp7_; +#line 405 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = 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 405 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->message_headers); +#line 405 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->message_headers = _tmp8_; +#line 397 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 3872 "RESTSupport.c" +} + + +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new_with_endpoint_url (PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable, const gchar* endpoint_url) { +#line 397 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_upload_transaction_construct_with_endpoint_url (PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, session, publishable, endpoint_url); +#line 3879 "RESTSupport.c" +} + + +static void publishing_rest_support_upload_transaction_real_add_header (PublishingRESTSupportTransaction* base, const gchar* key, const gchar* value) { + PublishingRESTSupportUploadTransaction * self; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 408 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction); +#line 408 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (key != NULL); +#line 408 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (value != NULL); +#line 409 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->message_headers; +#line 409 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = key; +#line 409 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = value; +#line 409 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, _tmp2_); +#line 3902 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_upload_transaction_media_type_to_mime_type (SpitPublishingPublisherMediaType media_type) { + gchar* result = NULL; + SpitPublishingPublisherMediaType _tmp0_ = 0; +#line 413 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = media_type; +#line 413 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp0_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) { +#line 3913 "RESTSupport.c" + gchar* _tmp1_ = NULL; +#line 414 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_strdup ("image/jpeg"); +#line 414 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 414 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 3921 "RESTSupport.c" + } else { + SpitPublishingPublisherMediaType _tmp2_ = 0; +#line 415 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = media_type; +#line 415 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp2_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 3928 "RESTSupport.c" + gchar* _tmp3_ = NULL; +#line 416 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = g_strdup ("video/mpeg"); +#line 416 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp3_; +#line 416 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 3936 "RESTSupport.c" + } else { + SpitPublishingPublisherMediaType _tmp4_ = 0; + GEnumValue* _tmp5_; +#line 418 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = media_type; +#line 418 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = g_enum_get_value (g_type_class_ref (SPIT_PUBLISHING_PUBLISHER_TYPE_MEDIA_TYPE), _tmp4_); +#line 418 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_error ("RESTSupport.vala:418: UploadTransaction: unknown media type %s.", (_tmp5_ != NULL) ? _tmp5_->value_name : NULL); +#line 3946 "RESTSupport.c" + } + } +} + + +static void _g_free0_ (gpointer var) { +#line 422 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + var = (g_free (var), NULL); +#line 3955 "RESTSupport.c" +} + + +static GHashTable* publishing_rest_support_upload_transaction_create_default_binary_disposition_table (PublishingRESTSupportUploadTransaction* self) { + GHashTable* result = NULL; + GHashTable* _result_ = NULL; + GHashFunc _tmp0_ = NULL; + GEqualFunc _tmp1_ = NULL; + GHashTable* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 421 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION (self), NULL); +#line 422 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = g_str_hash; +#line 422 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_str_equal; +#line 422 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_free0_); +#line 422 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _result_ = _tmp2_; +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = g_strdup ("filename"); +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->publishable; +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = spit_publishing_publishable_get_serialized_file (_tmp4_); +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_; +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = g_file_get_basename (_tmp6_); +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = _tmp7_; +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = soup_uri_encode (_tmp8_, NULL); +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_hash_table_insert (_result_, _tmp3_, _tmp9_); +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp8_); +#line 425 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (_tmp6_); +#line 428 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _result_; +#line 428 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 4006 "RESTSupport.c" +} + + +static gpointer _g_hash_table_ref0 (gpointer self) { +#line 432 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self ? g_hash_table_ref (self) : NULL; +#line 4013 "RESTSupport.c" +} + + +void publishing_rest_support_upload_transaction_set_binary_disposition_table (PublishingRESTSupportUploadTransaction* self, GHashTable* new_disp_table) { + GHashTable* _tmp0_ = NULL; + GHashTable* _tmp1_ = NULL; +#line 431 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION (self)); +#line 431 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (new_disp_table != NULL); +#line 432 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = new_disp_table; +#line 432 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _g_hash_table_ref0 (_tmp0_); +#line 432 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_hash_table_unref0 (self->binary_disposition_table); +#line 432 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->binary_disposition_table = _tmp1_; +#line 4032 "RESTSupport.c" +} + + +static void _vala_SoupMultipart_free (SoupMultipart* self) { +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_boxed_free (soup_multipart_get_type (), self); +#line 4039 "RESTSupport.c" +} + + +static void _vala_SoupBuffer_free (SoupBuffer* self) { +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_boxed_free (soup_buffer_get_type (), self); +#line 4046 "RESTSupport.c" +} + + +static void publishing_rest_support_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingRESTSupportUploadTransaction * self; + PublishingRESTSupportArgument** request_arguments = NULL; + gint _tmp0_ = 0; + PublishingRESTSupportArgument** _tmp1_ = NULL; + gint request_arguments_length1 = 0; + gint _request_arguments_size_ = 0; + PublishingRESTSupportArgument** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + SoupMultipart* message_parts = NULL; + SoupMultipart* _tmp3_ = NULL; + PublishingRESTSupportArgument** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gchar* payload = NULL; + gsize payload_length = 0UL; + gint payload_part_num = 0; + SoupMultipart* _tmp20_ = NULL; + gint _tmp21_ = 0; + SoupBuffer* bindable_data = NULL; + const gchar* _tmp22_ = NULL; + guint8* _tmp23_ = NULL; + gint _tmp23__length1 = 0; + guint8* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gsize _tmp25_ = 0UL; + SoupBuffer* _tmp26_ = NULL; + SoupMultipart* _tmp27_ = NULL; + SpitPublishingPublishable* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + SoupBuffer* _tmp34_ = NULL; + SoupMessageHeaders* image_part_header = NULL; + SoupBuffer* image_part_body = NULL; + SoupMultipart* _tmp35_ = NULL; + gint _tmp36_ = 0; + SoupMessageHeaders* _tmp37_ = NULL; + SoupBuffer* _tmp38_ = NULL; + SoupMessageHeaders* _tmp39_ = NULL; + GHashTable* _tmp40_ = NULL; + SoupMessage* outbound_message = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + SoupMultipart* _tmp43_ = NULL; + SoupMessage* _tmp44_ = NULL; + SoupMessage* _tmp45_ = NULL; + GeeMapIterator* i = NULL; + GeeHashMap* _tmp46_ = NULL; + GeeMapIterator* _tmp47_ = NULL; + gboolean cont = FALSE; + GeeMapIterator* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; + SoupMessage* _tmp61_ = NULL; + GError * _inner_error_ = NULL; +#line 435 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction); +#line 436 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = publishing_rest_support_transaction_get_arguments (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_tmp0_); +#line 436 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments = _tmp1_; +#line 436 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments_length1 = _tmp0_; +#line 436 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _request_arguments_size_ = request_arguments_length1; +#line 437 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = request_arguments; +#line 437 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2__length1 = request_arguments_length1; +#line 437 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp2__length1 > 0, "request_arguments.length > 0"); +#line 439 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = soup_multipart_new ("multipart/form-data"); +#line 439 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + message_parts = _tmp3_; +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = request_arguments; +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4__length1 = request_arguments_length1; +#line 4130 "RESTSupport.c" + { + PublishingRESTSupportArgument** arg_collection = NULL; + gint arg_collection_length1 = 0; + gint _arg_collection_size_ = 0; + gint arg_it = 0; +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + arg_collection = _tmp4_; +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + arg_collection_length1 = _tmp4__length1; +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + for (arg_it = 0; arg_it < _tmp4__length1; arg_it = arg_it + 1) { +#line 4142 "RESTSupport.c" + PublishingRESTSupportArgument* _tmp5_ = NULL; + PublishingRESTSupportArgument* arg = NULL; +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _publishing_rest_support_argument_ref0 (arg_collection[arg_it]); +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + arg = _tmp5_; +#line 4149 "RESTSupport.c" + { + SoupMultipart* _tmp6_ = NULL; + PublishingRESTSupportArgument* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + PublishingRESTSupportArgument* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 442 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = message_parts; +#line 442 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = arg; +#line 442 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = _tmp7_->key; +#line 442 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = arg; +#line 442 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = _tmp9_->value; +#line 442 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_multipart_append_form_string (_tmp6_, _tmp8_, _tmp10_); +#line 441 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_argument_unref0 (arg); +#line 4170 "RESTSupport.c" + } + } + } + { + SpitPublishingPublishable* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gsize _tmp17_ = 0UL; +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = self->publishable; +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = spit_publishing_publishable_get_serialized_file (_tmp11_); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = _tmp12_; +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = _tmp14_; +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_file_get_contents (_tmp15_, &_tmp16_, &_tmp17_, &_inner_error_); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (payload); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + payload = _tmp16_; +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + payload_length = _tmp17_; +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp15_); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (_tmp13_); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == G_FILE_ERROR) { +#line 4208 "RESTSupport.c" + goto __catch2_g_file_error; + } +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (payload); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 447 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 4223 "RESTSupport.c" + } + } + goto __finally2; + __catch2_g_file_error: + { + GError* e = NULL; + const gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + e = _inner_error_; +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 450 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = _ ("A temporary file needed for publishing is unavailable"); +#line 450 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp18_); +#line 450 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp19_; +#line 450 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (e); +#line 4244 "RESTSupport.c" + goto __finally2; + } + __finally2: +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (payload); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 4262 "RESTSupport.c" + } else { +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (payload); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 446 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 4276 "RESTSupport.c" + } + } +#line 454 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = message_parts; +#line 454 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = soup_multipart_get_length (_tmp20_); +#line 454 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + payload_part_num = _tmp21_; +#line 456 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = payload; +#line 456 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = string_get_data (_tmp22_, &_tmp23__length1); +#line 456 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = _tmp23_; +#line 456 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24__length1 = _tmp23__length1; +#line 456 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = payload_length; +#line 456 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp26_ = soup_buffer_new (SOUP_MEMORY_COPY, _tmp24_ + 0, ((gint) _tmp25_) - 0); +#line 456 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + bindable_data = _tmp26_; +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp27_ = message_parts; +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp28_ = self->publishable; +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_ = spit_publishing_publishable_get_serialized_file (_tmp28_); +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp30_ = _tmp29_; +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp31_ = g_file_get_path (_tmp30_); +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp32_ = _tmp31_; +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp33_ = self->mime_type; +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp34_ = bindable_data; +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_multipart_append_form_file (_tmp27_, "", _tmp32_, _tmp33_, _tmp34_); +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp32_); +#line 457 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (_tmp30_); +#line 462 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp35_ = message_parts; +#line 462 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp36_ = payload_part_num; +#line 462 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_multipart_get_part (_tmp35_, _tmp36_, &_tmp37_, &_tmp38_); +#line 462 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + image_part_header = _tmp37_; +#line 462 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + image_part_body = _tmp38_; +#line 463 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp39_ = image_part_header; +#line 463 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp40_ = self->binary_disposition_table; +#line 463 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_message_headers_set_content_disposition (_tmp39_, "form-data", _tmp40_); +#line 465 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp41_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 465 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp42_ = _tmp41_; +#line 465 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp43_ = message_parts; +#line 465 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp44_ = soup_form_request_new_from_multipart (_tmp42_, _tmp43_); +#line 465 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp45_ = _tmp44_; +#line 465 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp42_); +#line 465 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + outbound_message = _tmp45_; +#line 468 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp46_ = self->message_headers; +#line 468 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp47_ = gee_abstract_map_map_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); +#line 468 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + i = _tmp47_; +#line 469 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp48_ = i; +#line 469 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp49_ = gee_map_iterator_next (_tmp48_); +#line 469 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + cont = _tmp49_; +#line 470 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + while (TRUE) { +#line 4365 "RESTSupport.c" + gboolean _tmp50_ = FALSE; + SoupMessage* _tmp51_ = NULL; + SoupMessageHeaders* _tmp52_ = NULL; + GeeMapIterator* _tmp53_ = NULL; + gpointer _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + GeeMapIterator* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GeeMapIterator* _tmp59_ = NULL; + gboolean _tmp60_ = FALSE; +#line 470 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp50_ = cont; +#line 470 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp50_) { +#line 470 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 4383 "RESTSupport.c" + } +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp51_ = outbound_message; +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp52_ = _tmp51_->request_headers; +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp53_ = i; +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp54_ = gee_map_iterator_get_key (_tmp53_); +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp55_ = (gchar*) _tmp54_; +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp56_ = i; +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp57_ = gee_map_iterator_get_value (_tmp56_); +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp58_ = (gchar*) _tmp57_; +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + soup_message_headers_append (_tmp52_, _tmp55_, _tmp58_); +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp58_); +#line 471 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp55_); +#line 472 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp59_ = i; +#line 472 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp60_ = gee_map_iterator_next (_tmp59_); +#line 472 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + cont = _tmp60_; +#line 4413 "RESTSupport.c" + } +#line 474 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp61_ = outbound_message; +#line 474 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_set_message (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp61_); +#line 476 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_set_is_executed (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), TRUE); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_send (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (i); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (outbound_message); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (payload); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 4443 "RESTSupport.c" + } else { +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (i); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (outbound_message); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (payload); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 477 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 4463 "RESTSupport.c" + } + } +#line 435 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (i); +#line 435 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (outbound_message); +#line 435 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 435 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (payload); +#line 435 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 435 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 4478 "RESTSupport.c" +} + + +static void publishing_rest_support_upload_transaction_class_init (PublishingRESTSupportUploadTransactionClass * klass) { +#line 381 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_upload_transaction_parent_class = g_type_class_peek_parent (klass); +#line 381 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_rest_support_upload_transaction_finalize; +#line 381 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportTransactionClass *) klass)->add_header = publishing_rest_support_upload_transaction_real_add_header; +#line 381 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_rest_support_upload_transaction_real_execute; +#line 4491 "RESTSupport.c" +} + + +static void publishing_rest_support_upload_transaction_instance_init (PublishingRESTSupportUploadTransaction * self) { +#line 382 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->binary_disposition_table = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->publishable = NULL; +#line 385 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->message_headers = NULL; +#line 4502 "RESTSupport.c" +} + + +static void publishing_rest_support_upload_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingRESTSupportUploadTransaction * self; +#line 381 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction); +#line 382 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_hash_table_unref0 (self->binary_disposition_table); +#line 383 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->publishable); +#line 384 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->mime_type); +#line 385 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->message_headers); +#line 381 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_rest_support_upload_transaction_parent_class)->finalize (obj); +#line 4520 "RESTSupport.c" +} + + +GType publishing_rest_support_upload_transaction_get_type (void) { + static volatile gsize publishing_rest_support_upload_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_upload_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportUploadTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_upload_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportUploadTransaction), 0, (GInstanceInitFunc) publishing_rest_support_upload_transaction_instance_init, NULL }; + GType publishing_rest_support_upload_transaction_type_id; + publishing_rest_support_upload_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingRESTSupportUploadTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rest_support_upload_transaction_type_id__volatile, publishing_rest_support_upload_transaction_type_id); + } + return publishing_rest_support_upload_transaction_type_id__volatile; +} + + +static PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_construct (GType object_type, xmlDoc* doc) { + PublishingRESTSupportXmlDocument* self = NULL; + xmlDoc* _tmp0_ = NULL; +#line 489 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportXmlDocument*) g_type_create_instance (object_type); +#line 490 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = doc; +#line 490 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->document = _tmp0_; +#line 489 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 4547 "RESTSupport.c" +} + + +static PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_new (xmlDoc* doc) { +#line 489 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_xml_document_construct (PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, doc); +#line 4554 "RESTSupport.c" +} + + +xmlNode* publishing_rest_support_xml_document_get_root_node (PublishingRESTSupportXmlDocument* self) { + xmlNode* result = NULL; + xmlDoc* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; +#line 497 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (self), NULL); +#line 498 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->document; +#line 498 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = xmlDocGetRootElement (_tmp0_); +#line 498 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 498 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 4572 "RESTSupport.c" +} + + +xmlNode* publishing_rest_support_xml_document_get_named_child (PublishingRESTSupportXmlDocument* self, xmlNode* parent, const gchar* child_name, GError** error) { + xmlNode* result = NULL; + xmlNode* doc_node_iter = NULL; + xmlNode* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; + const gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + GError * _inner_error_ = NULL; +#line 501 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (self), NULL); +#line 501 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (child_name != NULL, NULL); +#line 503 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = parent; +#line 503 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _tmp0_->children; +#line 503 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + doc_node_iter = _tmp1_; +#line 4594 "RESTSupport.c" + { + gboolean _tmp2_ = FALSE; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = TRUE; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + while (TRUE) { +#line 4601 "RESTSupport.c" + xmlNode* _tmp5_ = NULL; + xmlNode* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp2_) { +#line 4608 "RESTSupport.c" + xmlNode* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = doc_node_iter; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = _tmp3_->next; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + doc_node_iter = _tmp4_; +#line 4617 "RESTSupport.c" + } +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = FALSE; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = doc_node_iter; +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!(_tmp5_ != NULL)) { +#line 505 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 4627 "RESTSupport.c" + } +#line 506 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = doc_node_iter; +#line 506 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_->name; +#line 506 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = child_name; +#line 506 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp7_, _tmp8_) == 0) { +#line 4637 "RESTSupport.c" + xmlNode* _tmp9_ = NULL; +#line 507 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = doc_node_iter; +#line 507 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp9_; +#line 507 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 4645 "RESTSupport.c" + } + } + } +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = child_name; +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Can't find XML node %s", _tmp10_); +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp11_; +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4661 "RESTSupport.c" + } else { +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 510 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4669 "RESTSupport.c" + } +} + + +gchar* publishing_rest_support_xml_document_get_property_value (PublishingRESTSupportXmlDocument* self, xmlNode* node, const gchar* property_key, GError** error) { + gchar* result = NULL; + gchar* value_string = NULL; + xmlNode* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 514 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (self), NULL); +#line 514 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (property_key != NULL, NULL); +#line 516 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = node; +#line 516 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = property_key; +#line 516 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = (gchar*) xmlGetProp (_tmp0_, (xmlChar*) _tmp1_); +#line 516 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value_string = _tmp2_; +#line 517 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = value_string; +#line 517 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp3_ == NULL) { +#line 4698 "RESTSupport.c" + const gchar* _tmp4_ = NULL; + xmlNode* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = property_key; +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = node; +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_->name; +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Can't find XML " "property %s on node %s", _tmp4_, _tmp6_); +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp7_; +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (value_string); +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4721 "RESTSupport.c" + } else { +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (value_string); +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 518 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4731 "RESTSupport.c" + } + } +#line 521 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = value_string; +#line 521 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 4738 "RESTSupport.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 4761 "RESTSupport.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 4784 "RESTSupport.c" +} + + +PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_parse_string (const gchar* input_string, PublishingRESTSupportXmlDocumentCheckForErrorResponse check_for_error_response, void* check_for_error_response_target, GError** error) { + PublishingRESTSupportXmlDocument* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gboolean _tmp6_ = FALSE; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + xmlDoc* doc = NULL; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + xmlDoc* _tmp25_ = NULL; + xmlDoc* _tmp26_ = NULL; + xmlDoc* _tmp28_ = NULL; + xmlNode* _tmp29_ = NULL; + PublishingRESTSupportXmlDocument* rest_doc = NULL; + xmlDoc* _tmp31_ = NULL; + PublishingRESTSupportXmlDocument* _tmp32_ = NULL; + gchar* _result_ = NULL; + PublishingRESTSupportXmlDocumentCheckForErrorResponse _tmp33_ = NULL; + void* _tmp33__target = NULL; + PublishingRESTSupportXmlDocument* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GError * _inner_error_ = NULL; +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = input_string; +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp1_ == NULL) { +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = TRUE; +#line 4825 "RESTSupport.c" + } else { + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = input_string; +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = strlen (_tmp2_); +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = _tmp3_; +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = _tmp4_ == 0; +#line 4838 "RESTSupport.c" + } +#line 526 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp0_) { +#line 4842 "RESTSupport.c" + GError* _tmp5_ = NULL; +#line 527 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Empty XML string"); +#line 527 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp5_; +#line 527 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 527 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 527 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4854 "RESTSupport.c" + } else { +#line 527 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 527 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4862 "RESTSupport.c" + } + } +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = input_string; +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = string_chug (_tmp7_); +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = _tmp8_; +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = string_chomp (_tmp9_); +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = _tmp10_; +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = g_str_has_prefix (_tmp11_, "<"); +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = !_tmp12_; +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp11_); +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp9_); +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp13_) { +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = TRUE; +#line 4887 "RESTSupport.c" + } else { + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = input_string; +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = string_chug (_tmp14_); +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = _tmp15_; +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = string_chomp (_tmp16_); +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = _tmp17_; +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = g_str_has_suffix (_tmp18_, ">"); +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = !_tmp19_; +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp18_); +#line 531 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp16_); +#line 4913 "RESTSupport.c" + } +#line 530 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp6_) { +#line 4917 "RESTSupport.c" + GError* _tmp20_ = NULL; +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Unable to parse XML " "document"); +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp20_; +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4929 "RESTSupport.c" + } else { +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 533 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4937 "RESTSupport.c" + } + } +#line 539 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = input_string; +#line 539 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = input_string; +#line 539 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = strlen (_tmp22_); +#line 539 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = _tmp23_; +#line 539 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = xmlReadMemory (_tmp21_, (gint) _tmp24_, NULL, NULL, (gint) (XML_PARSE_NOBLANKS | XML_PARSE_RECOVER)); +#line 539 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + doc = _tmp25_; +#line 541 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp26_ = doc; +#line 541 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp26_ == NULL) { +#line 4956 "RESTSupport.c" + GError* _tmp27_ = NULL; +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp27_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Unable to parse XML " "document"); +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp27_; +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4968 "RESTSupport.c" + } else { +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 542 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4976 "RESTSupport.c" + } + } +#line 547 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp28_ = doc; +#line 547 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_ = _tmp28_->children; +#line 547 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp29_ == NULL) { +#line 4985 "RESTSupport.c" + GError* _tmp30_ = NULL; +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp30_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Unable to parse XML " "document"); +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp30_; +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 4997 "RESTSupport.c" + } else { +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 548 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 5005 "RESTSupport.c" + } + } +#line 552 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp31_ = doc; +#line 552 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp32_ = publishing_rest_support_xml_document_new (_tmp31_); +#line 552 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + rest_doc = _tmp32_; +#line 554 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp33_ = check_for_error_response; +#line 554 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp33__target = check_for_error_response_target; +#line 554 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp34_ = rest_doc; +#line 554 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp35_ = _tmp33_ (_tmp34_, _tmp33__target); +#line 554 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _result_ = _tmp35_; +#line 555 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp36_ = _result_; +#line 555 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp36_ != NULL) { +#line 5028 "RESTSupport.c" + const gchar* _tmp37_ = NULL; + GError* _tmp38_ = NULL; +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp37_ = _result_; +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp38_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_SERVICE_ERROR, "%s", _tmp37_); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = _tmp38_; +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_propagate_error (error, _inner_error_); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_result_); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_xml_document_unref0 (rest_doc); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 5047 "RESTSupport.c" + } else { +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_result_); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_xml_document_unref0 (rest_doc); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 556 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 5059 "RESTSupport.c" + } + } +#line 558 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = rest_doc; +#line 558 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_result_); +#line 558 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 5068 "RESTSupport.c" +} + + +static void publishing_rest_support_value_xml_document_init (GValue* value) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 5075 "RESTSupport.c" +} + + +static void publishing_rest_support_value_xml_document_free_value (GValue* value) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (value->data[0].v_pointer) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_xml_document_unref (value->data[0].v_pointer); +#line 5084 "RESTSupport.c" + } +} + + +static void publishing_rest_support_value_xml_document_copy_value (const GValue* src_value, GValue* dest_value) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (src_value->data[0].v_pointer) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = publishing_rest_support_xml_document_ref (src_value->data[0].v_pointer); +#line 5094 "RESTSupport.c" + } else { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 5098 "RESTSupport.c" + } +} + + +static gpointer publishing_rest_support_value_xml_document_peek_pointer (const GValue* value) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 5106 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_xml_document_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (collect_values[0].v_pointer) { +#line 5113 "RESTSupport.c" + PublishingRESTSupportXmlDocument* object; + object = collect_values[0].v_pointer; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5120 "RESTSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 5124 "RESTSupport.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = publishing_rest_support_xml_document_ref (object); +#line 5128 "RESTSupport.c" + } else { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 5132 "RESTSupport.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 5136 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_xml_document_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRESTSupportXmlDocument** object_p; + object_p = collect_values[0].v_pointer; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!object_p) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 5147 "RESTSupport.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!value->data[0].v_pointer) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = NULL; +#line 5153 "RESTSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = value->data[0].v_pointer; +#line 5157 "RESTSupport.c" + } else { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = publishing_rest_support_xml_document_ref (value->data[0].v_pointer); +#line 5161 "RESTSupport.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 5165 "RESTSupport.c" +} + + +GParamSpec* publishing_rest_support_param_spec_xml_document (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRESTSupportParamSpecXmlDocument* spec; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT), NULL); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return G_PARAM_SPEC (spec); +#line 5179 "RESTSupport.c" +} + + +gpointer publishing_rest_support_value_get_xml_document (const GValue* value) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT), NULL); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 5188 "RESTSupport.c" +} + + +void publishing_rest_support_value_set_xml_document (GValue* value, gpointer v_object) { + PublishingRESTSupportXmlDocument* old; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_xml_document_ref (value->data[0].v_pointer); +#line 5208 "RESTSupport.c" + } else { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 5212 "RESTSupport.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_xml_document_unref (old); +#line 5218 "RESTSupport.c" + } +} + + +void publishing_rest_support_value_take_xml_document (GValue* value, gpointer v_object) { + PublishingRESTSupportXmlDocument* old; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 5237 "RESTSupport.c" + } else { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 5241 "RESTSupport.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_xml_document_unref (old); +#line 5247 "RESTSupport.c" + } +} + + +static void publishing_rest_support_xml_document_class_init (PublishingRESTSupportXmlDocumentClass * klass) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_xml_document_parent_class = g_type_class_peek_parent (klass); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportXmlDocumentClass *) klass)->finalize = publishing_rest_support_xml_document_finalize; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_class_add_private (klass, sizeof (PublishingRESTSupportXmlDocumentPrivate)); +#line 5259 "RESTSupport.c" +} + + +static void publishing_rest_support_xml_document_instance_init (PublishingRESTSupportXmlDocument * self) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv = PUBLISHING_REST_SUPPORT_XML_DOCUMENT_GET_PRIVATE (self); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->ref_count = 1; +#line 5268 "RESTSupport.c" +} + + +static void publishing_rest_support_xml_document_finalize (PublishingRESTSupportXmlDocument* obj) { + PublishingRESTSupportXmlDocument * self; + xmlDoc* _tmp0_ = NULL; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocument); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_destroy (self); +#line 494 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->document; +#line 494 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + xmlFreeDoc (_tmp0_); +#line 5283 "RESTSupport.c" +} + + +GType publishing_rest_support_xml_document_get_type (void) { + static volatile gsize publishing_rest_support_xml_document_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_xml_document_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rest_support_value_xml_document_init, publishing_rest_support_value_xml_document_free_value, publishing_rest_support_value_xml_document_copy_value, publishing_rest_support_value_xml_document_peek_pointer, "p", publishing_rest_support_value_xml_document_collect_value, "p", publishing_rest_support_value_xml_document_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportXmlDocumentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_xml_document_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportXmlDocument), 0, (GInstanceInitFunc) publishing_rest_support_xml_document_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 publishing_rest_support_xml_document_type_id; + publishing_rest_support_xml_document_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRESTSupportXmlDocument", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_rest_support_xml_document_type_id__volatile, publishing_rest_support_xml_document_type_id); + } + return publishing_rest_support_xml_document_type_id__volatile; +} + + +gpointer publishing_rest_support_xml_document_ref (gpointer instance) { + PublishingRESTSupportXmlDocument* self; + self = instance; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return instance; +#line 5308 "RESTSupport.c" +} + + +void publishing_rest_support_xml_document_unref (gpointer instance) { + PublishingRESTSupportXmlDocument* self; + self = instance; +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_XML_DOCUMENT_GET_CLASS (self)->finalize (self); +#line 481 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 5321 "RESTSupport.c" + } +} + + +gchar* publishing_rest_support_decimal_entity_encode (const gchar* source) { + gchar* result = NULL; + GString* encoded_str_builder = NULL; + GString* _tmp0_ = NULL; + gchar* current_char = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GString* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 567 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (source != NULL, NULL); +#line 568 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = g_string_new (""); +#line 568 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + encoded_str_builder = _tmp0_; +#line 569 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = source; +#line 569 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 569 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + current_char = _tmp2_; +#line 570 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + while (TRUE) { +#line 5350 "RESTSupport.c" + gint current_char_value = 0; + const gchar* _tmp3_ = NULL; + gunichar _tmp4_ = 0U; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gint _tmp9_ = 0; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 571 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = current_char; +#line 571 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = g_utf8_get_char_validated (_tmp3_, (gssize) -1); +#line 571 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + current_char_value = (gint) _tmp4_; +#line 574 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = current_char_value; +#line 574 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp5_ < 1) { +#line 575 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 5374 "RESTSupport.c" + } +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = current_char_value; +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp9_ < 128) { +#line 5380 "RESTSupport.c" + gint _tmp10_ = 0; +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = current_char_value; +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = _tmp10_ != ((gint) '&'); +#line 5386 "RESTSupport.c" + } else { +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = FALSE; +#line 5390 "RESTSupport.c" + } +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp8_) { +#line 5394 "RESTSupport.c" + gint _tmp11_ = 0; +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = current_char_value; +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp11_ != ((gint) '<'); +#line 5400 "RESTSupport.c" + } else { +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = FALSE; +#line 5404 "RESTSupport.c" + } +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp7_) { +#line 5408 "RESTSupport.c" + gint _tmp12_ = 0; +#line 580 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = current_char_value; +#line 580 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp12_ != ((gint) '>'); +#line 5414 "RESTSupport.c" + } else { +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = FALSE; +#line 5418 "RESTSupport.c" + } +#line 579 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp6_) { +#line 5422 "RESTSupport.c" + GString* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gunichar _tmp15_ = 0U; +#line 581 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = encoded_str_builder; +#line 581 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = current_char; +#line 581 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = g_utf8_get_char_validated (_tmp14_, (gssize) -1); +#line 581 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_string_append_unichar (_tmp13_, _tmp15_); +#line 5434 "RESTSupport.c" + } else { + GString* _tmp16_ = NULL; + gint _tmp17_ = 0; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 583 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = encoded_str_builder; +#line 583 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = current_char_value; +#line 583 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = g_strdup_printf ("&#%d;", _tmp17_); +#line 583 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = _tmp18_; +#line 583 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_string_append (_tmp16_, _tmp19_); +#line 583 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp19_); +#line 5452 "RESTSupport.c" + } +#line 585 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = current_char; +#line 585 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = g_utf8_next_char (_tmp20_); +#line 585 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 585 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (current_char); +#line 585 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + current_char = _tmp22_; +#line 5464 "RESTSupport.c" + } +#line 588 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = encoded_str_builder; +#line 588 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = _tmp23_->str; +#line 588 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 588 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp25_; +#line 588 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (current_char); +#line 588 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_string_free0 (encoded_str_builder); +#line 588 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 5480 "RESTSupport.c" +} + + +static SpitPublishingPublishable** _vala_array_dup2 (SpitPublishingPublishable** self, int length) { + SpitPublishingPublishable** result; + int i; +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = g_new0 (SpitPublishingPublishable*, length + 1); +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + for (i = 0; i < length; i++) { +#line 5491 "RESTSupport.c" + SpitPublishingPublishable* _tmp0_ = NULL; +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result[i] = _tmp0_; +#line 5497 "RESTSupport.c" + } +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 5501 "RESTSupport.c" +} + + +PublishingRESTSupportBatchUploader* publishing_rest_support_batch_uploader_construct (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable** publishables, int publishables_length1) { + PublishingRESTSupportBatchUploader* self = NULL; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingRESTSupportSession* _tmp2_ = NULL; + PublishingRESTSupportSession* _tmp3_ = NULL; +#line 600 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (session), NULL); +#line 600 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportBatchUploader*) g_type_create_instance (object_type); +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishables; +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0__length1 = publishables_length1; +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup2 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->publishables = _tmp1_; +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->publishables_length1 = _tmp1__length1; +#line 601 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->_publishables_size_ = self->priv->publishables_length1; +#line 602 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = session; +#line 602 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _publishing_rest_support_session_ref0 (_tmp2_); +#line 602 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 602 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->session = _tmp3_; +#line 600 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 5543 "RESTSupport.c" +} + + +static void _publishing_rest_support_batch_uploader_on_chunk_transmitted_publishing_rest_support_transaction_chunk_transmitted (PublishingRESTSupportTransaction* _sender, gint bytes_written_so_far, gint total_bytes, gpointer self) { +#line 623 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_batch_uploader_on_chunk_transmitted ((PublishingRESTSupportBatchUploader*) self, bytes_written_so_far, total_bytes); +#line 5550 "RESTSupport.c" +} + + +static void publishing_rest_support_batch_uploader_send_files (PublishingRESTSupportBatchUploader* self) { + gboolean stop = FALSE; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gboolean _tmp23_ = FALSE; + GError * _inner_error_ = NULL; +#line 605 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (self)); +#line 606 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->current_file = 0; +#line 607 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + stop = FALSE; +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->publishables; +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0__length1 = self->priv->publishables_length1; +#line 5570 "RESTSupport.c" + { + SpitPublishingPublishable** publishable_collection = NULL; + gint publishable_collection_length1 = 0; + gint _publishable_collection_size_ = 0; + gint publishable_it = 0; +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishable_collection = _tmp0_; +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishable_collection_length1 = _tmp0__length1; +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + for (publishable_it = 0; publishable_it < _tmp0__length1; publishable_it = publishable_it + 1) { +#line 5582 "RESTSupport.c" + SpitPublishingPublishable* _tmp1_ = NULL; + SpitPublishingPublishable* publishable = NULL; +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _g_object_ref0 (publishable_collection[publishable_it]); +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishable = _tmp1_; +#line 5589 "RESTSupport.c" + { + GFile* file = NULL; + SpitPublishingPublishable* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gdouble fraction_complete = 0.0; + gint _tmp6_ = 0; + SpitPublishingPublishable** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + SpitPublishingProgressCallback _tmp8_ = NULL; + void* _tmp8__target = NULL; + PublishingRESTSupportTransaction* txn = NULL; + SpitPublishingPublishable** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + SpitPublishingPublishable* _tmp14_ = NULL; + PublishingRESTSupportTransaction* _tmp15_ = NULL; + PublishingRESTSupportTransaction* _tmp16_ = NULL; + PublishingRESTSupportTransaction* _tmp19_ = NULL; + guint _tmp20_ = 0U; + gboolean _tmp21_ = FALSE; + gint _tmp22_ = 0; +#line 609 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = publishable; +#line 609 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = spit_publishing_publishable_get_serialized_file (_tmp2_); +#line 609 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + file = _tmp3_; +#line 612 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = file; +#line 612 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp4_ == NULL) { +#line 5622 "RESTSupport.c" + gint _tmp5_ = 0; +#line 613 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = self->priv->current_file; +#line 613 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->current_file = _tmp5_ + 1; +#line 614 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (file); +#line 614 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (publishable); +#line 614 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + continue; +#line 5634 "RESTSupport.c" + } +#line 617 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = self->priv->current_file; +#line 617 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = self->priv->publishables; +#line 617 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7__length1 = self->priv->publishables_length1; +#line 617 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + fraction_complete = ((gdouble) _tmp6_) / _tmp7__length1; +#line 618 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = self->priv->status_updated; +#line 618 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8__target = self->priv->status_updated_target; +#line 618 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp8_ != NULL) { +#line 5650 "RESTSupport.c" + SpitPublishingProgressCallback _tmp9_ = NULL; + void* _tmp9__target = NULL; + gint _tmp10_ = 0; + gdouble _tmp11_ = 0.0; +#line 619 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = self->priv->status_updated; +#line 619 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9__target = self->priv->status_updated_target; +#line 619 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = self->priv->current_file; +#line 619 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = fraction_complete; +#line 619 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ (_tmp10_ + 1, _tmp11_, _tmp9__target); +#line 5665 "RESTSupport.c" + } +#line 621 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = self->priv->publishables; +#line 621 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12__length1 = self->priv->publishables_length1; +#line 621 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = self->priv->current_file; +#line 621 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = _tmp12_[_tmp13_]; +#line 621 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = publishing_rest_support_batch_uploader_create_transaction (self, _tmp14_); +#line 621 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + txn = _tmp15_; +#line 623 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = txn; +#line 623 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect (_tmp16_, "chunk-transmitted", (GCallback) _publishing_rest_support_batch_uploader_on_chunk_transmitted_publishing_rest_support_transaction_chunk_transmitted, self); +#line 5683 "RESTSupport.c" + { + PublishingRESTSupportTransaction* _tmp17_ = NULL; +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = txn; +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_execute (_tmp17_, &_inner_error_); +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5694 "RESTSupport.c" + goto __catch3_spit_publishing_publishing_error; + } +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (file); +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (publishable); +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 626 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 5709 "RESTSupport.c" + } + } + goto __finally3; + __catch3_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp18_ = NULL; +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + err = _inner_error_; +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 628 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = err; +#line 628 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "upload-error", _tmp18_); +#line 629 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + stop = TRUE; +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (err); +#line 5729 "RESTSupport.c" + } + __finally3: +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (file); +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (publishable); +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 625 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 5746 "RESTSupport.c" + } +#line 632 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = txn; +#line 632 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("chunk-transmitted", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp20_, NULL, FALSE); +#line 632 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp19_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _publishing_rest_support_batch_uploader_on_chunk_transmitted_publishing_rest_support_transaction_chunk_transmitted, self); +#line 634 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = stop; +#line 634 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp21_) { +#line 635 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 635 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (file); +#line 635 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (publishable); +#line 635 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 5766 "RESTSupport.c" + } +#line 637 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = self->priv->current_file; +#line 637 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->current_file = _tmp22_ + 1; +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (file); +#line 608 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (publishable); +#line 5778 "RESTSupport.c" + } + } + } +#line 640 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = stop; +#line 640 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp23_) { +#line 5786 "RESTSupport.c" + gint _tmp24_ = 0; +#line 641 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = self->priv->current_file; +#line 641 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "upload-complete", _tmp24_); +#line 5792 "RESTSupport.c" + } +} + + +static void publishing_rest_support_batch_uploader_on_chunk_transmitted (PublishingRESTSupportBatchUploader* self, gint bytes_written_so_far, gint total_bytes) { + gdouble file_span = 0.0; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gdouble this_file_fraction_complete = 0.0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gdouble fraction_complete = 0.0; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + SpitPublishingProgressCallback _tmp7_ = NULL; + void* _tmp7__target = NULL; +#line 644 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (self)); +#line 645 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->publishables; +#line 645 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0__length1 = self->priv->publishables_length1; +#line 645 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + file_span = 1.0 / _tmp0__length1; +#line 646 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = bytes_written_so_far; +#line 646 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = total_bytes; +#line 646 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + this_file_fraction_complete = ((gdouble) _tmp1_) / _tmp2_; +#line 647 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->current_file; +#line 647 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = file_span; +#line 647 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = this_file_fraction_complete; +#line 647 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = file_span; +#line 647 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + fraction_complete = (_tmp3_ * _tmp4_) + (_tmp5_ * _tmp6_); +#line 650 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = self->priv->status_updated; +#line 650 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7__target = self->priv->status_updated_target; +#line 650 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp7_ != NULL) { +#line 5841 "RESTSupport.c" + SpitPublishingProgressCallback _tmp8_ = NULL; + void* _tmp8__target = NULL; + gint _tmp9_ = 0; + gdouble _tmp10_ = 0.0; +#line 651 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = self->priv->status_updated; +#line 651 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8__target = self->priv->status_updated_target; +#line 651 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = self->priv->current_file; +#line 651 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = fraction_complete; +#line 651 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ (_tmp9_ + 1, _tmp10_, _tmp8__target); +#line 5856 "RESTSupport.c" + } +} + + +PublishingRESTSupportSession* publishing_rest_support_batch_uploader_get_session (PublishingRESTSupportBatchUploader* self) { + PublishingRESTSupportSession* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingRESTSupportSession* _tmp1_ = NULL; +#line 654 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (self), NULL); +#line 655 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->session; +#line 655 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _publishing_rest_support_session_ref0 (_tmp0_); +#line 655 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 655 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 5875 "RESTSupport.c" +} + + +SpitPublishingPublishable* publishing_rest_support_batch_uploader_get_current_publishable (PublishingRESTSupportBatchUploader* self) { + SpitPublishingPublishable* result = NULL; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint _tmp1_ = 0; + SpitPublishingPublishable* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; +#line 658 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (self), NULL); +#line 659 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->publishables; +#line 659 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0__length1 = self->priv->publishables_length1; +#line 659 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->current_file; +#line 659 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = _tmp0_[_tmp1_]; +#line 659 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 659 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp3_; +#line 659 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 5902 "RESTSupport.c" +} + + +static PublishingRESTSupportTransaction* publishing_rest_support_batch_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable) { +#line 662 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_batch_uploader_create_transaction'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 662 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 5911 "RESTSupport.c" +} + + +PublishingRESTSupportTransaction* publishing_rest_support_batch_uploader_create_transaction (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable) { +#line 662 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (self), NULL); +#line 662 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_GET_CLASS (self)->create_transaction (self, publishable); +#line 5920 "RESTSupport.c" +} + + +void publishing_rest_support_batch_uploader_upload (PublishingRESTSupportBatchUploader* self, SpitPublishingProgressCallback status_updated, void* status_updated_target) { + SpitPublishingProgressCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 664 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (self)); +#line 665 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = status_updated; +#line 665 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0__target = status_updated_target; +#line 665 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->status_updated = _tmp0_; +#line 665 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->status_updated_target = _tmp0__target; +#line 667 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->publishables; +#line 667 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1__length1 = self->priv->publishables_length1; +#line 667 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp1__length1 > 0) { +#line 668 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_batch_uploader_send_files (self); +#line 5947 "RESTSupport.c" + } +} + + +static void publishing_rest_support_value_batch_uploader_init (GValue* value) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 5955 "RESTSupport.c" +} + + +static void publishing_rest_support_value_batch_uploader_free_value (GValue* value) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (value->data[0].v_pointer) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_batch_uploader_unref (value->data[0].v_pointer); +#line 5964 "RESTSupport.c" + } +} + + +static void publishing_rest_support_value_batch_uploader_copy_value (const GValue* src_value, GValue* dest_value) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (src_value->data[0].v_pointer) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = publishing_rest_support_batch_uploader_ref (src_value->data[0].v_pointer); +#line 5974 "RESTSupport.c" + } else { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 5978 "RESTSupport.c" + } +} + + +static gpointer publishing_rest_support_value_batch_uploader_peek_pointer (const GValue* value) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 5986 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_batch_uploader_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (collect_values[0].v_pointer) { +#line 5993 "RESTSupport.c" + PublishingRESTSupportBatchUploader* object; + object = collect_values[0].v_pointer; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 6000 "RESTSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 6004 "RESTSupport.c" + } +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = publishing_rest_support_batch_uploader_ref (object); +#line 6008 "RESTSupport.c" + } else { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 6012 "RESTSupport.c" + } +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 6016 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_value_batch_uploader_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRESTSupportBatchUploader** object_p; + object_p = collect_values[0].v_pointer; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!object_p) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 6027 "RESTSupport.c" + } +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!value->data[0].v_pointer) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = NULL; +#line 6033 "RESTSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = value->data[0].v_pointer; +#line 6037 "RESTSupport.c" + } else { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + *object_p = publishing_rest_support_batch_uploader_ref (value->data[0].v_pointer); +#line 6041 "RESTSupport.c" + } +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 6045 "RESTSupport.c" +} + + +GParamSpec* publishing_rest_support_param_spec_batch_uploader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRESTSupportParamSpecBatchUploader* spec; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER), NULL); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return G_PARAM_SPEC (spec); +#line 6059 "RESTSupport.c" +} + + +gpointer publishing_rest_support_value_get_batch_uploader (const GValue* value) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER), NULL); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return value->data[0].v_pointer; +#line 6068 "RESTSupport.c" +} + + +void publishing_rest_support_value_set_batch_uploader (GValue* value, gpointer v_object) { + PublishingRESTSupportBatchUploader* old; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_batch_uploader_ref (value->data[0].v_pointer); +#line 6088 "RESTSupport.c" + } else { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 6092 "RESTSupport.c" + } +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_batch_uploader_unref (old); +#line 6098 "RESTSupport.c" + } +} + + +void publishing_rest_support_value_take_batch_uploader (GValue* value, gpointer v_object) { + PublishingRESTSupportBatchUploader* old; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + old = value->data[0].v_pointer; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (v_object) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = v_object; +#line 6117 "RESTSupport.c" + } else { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + value->data[0].v_pointer = NULL; +#line 6121 "RESTSupport.c" + } +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (old) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_batch_uploader_unref (old); +#line 6127 "RESTSupport.c" + } +} + + +static void publishing_rest_support_batch_uploader_class_init (PublishingRESTSupportBatchUploaderClass * klass) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_batch_uploader_parent_class = g_type_class_peek_parent (klass); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_rest_support_batch_uploader_finalize; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_class_add_private (klass, sizeof (PublishingRESTSupportBatchUploaderPrivate)); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_rest_support_batch_uploader_real_create_transaction; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("upload_complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("upload_error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); +#line 6145 "RESTSupport.c" +} + + +static void publishing_rest_support_batch_uploader_instance_init (PublishingRESTSupportBatchUploader * self) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv = PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_GET_PRIVATE (self); +#line 592 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->current_file = 0; +#line 593 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->publishables = NULL; +#line 593 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->publishables_length1 = 0; +#line 593 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->_publishables_size_ = self->priv->publishables_length1; +#line 594 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->session = NULL; +#line 595 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->status_updated = NULL; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->ref_count = 1; +#line 6166 "RESTSupport.c" +} + + +static void publishing_rest_support_batch_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingRESTSupportBatchUploader * self; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_destroy (self); +#line 593 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 594 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 6180 "RESTSupport.c" +} + + +GType publishing_rest_support_batch_uploader_get_type (void) { + static volatile gsize publishing_rest_support_batch_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_batch_uploader_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rest_support_value_batch_uploader_init, publishing_rest_support_value_batch_uploader_free_value, publishing_rest_support_value_batch_uploader_copy_value, publishing_rest_support_value_batch_uploader_peek_pointer, "p", publishing_rest_support_value_batch_uploader_collect_value, "p", publishing_rest_support_value_batch_uploader_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportBatchUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_batch_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportBatchUploader), 0, (GInstanceInitFunc) publishing_rest_support_batch_uploader_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 publishing_rest_support_batch_uploader_type_id; + publishing_rest_support_batch_uploader_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRESTSupportBatchUploader", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&publishing_rest_support_batch_uploader_type_id__volatile, publishing_rest_support_batch_uploader_type_id); + } + return publishing_rest_support_batch_uploader_type_id__volatile; +} + + +gpointer publishing_rest_support_batch_uploader_ref (gpointer instance) { + PublishingRESTSupportBatchUploader* self; + self = instance; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return instance; +#line 6205 "RESTSupport.c" +} + + +void publishing_rest_support_batch_uploader_unref (gpointer instance) { + PublishingRESTSupportBatchUploader* self; + self = instance; +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_GET_CLASS (self)->finalize (self); +#line 591 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 6218 "RESTSupport.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 6237 "RESTSupport.c" +} + + +gchar* publishing_rest_support_asciify_string (const gchar* s) { + gchar* result = NULL; + gchar* t = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GString* b = NULL; + GString* _tmp2_ = NULL; + GString* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 675 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (s != NULL, NULL); +#line 676 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = s; +#line 676 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_utf8_normalize (_tmp0_, (gssize) -1, G_NORMALIZE_DEFAULT); +#line 676 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + t = _tmp1_; +#line 678 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_string_new (""); +#line 678 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + b = _tmp2_; +#line 6263 "RESTSupport.c" + { + const gchar* u = NULL; + const gchar* _tmp3_ = NULL; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = t; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + u = _tmp3_; +#line 6271 "RESTSupport.c" + { + gboolean _tmp4_ = FALSE; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = TRUE; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + while (TRUE) { +#line 6278 "RESTSupport.c" + const gchar* _tmp7_ = NULL; + gunichar _tmp8_ = 0U; + gunichar c = 0U; + const gchar* _tmp9_ = NULL; + gunichar _tmp10_ = 0U; + gunichar _tmp11_ = 0U; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 6287 "RESTSupport.c" + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = u; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = g_utf8_next_char (_tmp5_); +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + u = _tmp6_; +#line 6296 "RESTSupport.c" + } +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = FALSE; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = u; +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = string_get_char (_tmp7_, (glong) 0); +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!(_tmp8_ != ((gunichar) 0))) { +#line 679 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 6308 "RESTSupport.c" + } +#line 680 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = u; +#line 680 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = string_get_char (_tmp9_, (glong) 0); +#line 680 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + c = _tmp10_; +#line 681 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = c; +#line 681 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (((gint) _tmp11_) < 128) { +#line 6320 "RESTSupport.c" + GString* _tmp12_ = NULL; + gunichar _tmp13_ = 0U; +#line 682 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = b; +#line 682 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = c; +#line 682 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_string_append_unichar (_tmp12_, _tmp13_); +#line 6329 "RESTSupport.c" + } + } + } + } +#line 685 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = b; +#line 685 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = _tmp14_->str; +#line 685 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 685 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp16_; +#line 685 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_string_free0 (b); +#line 685 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (t); +#line 685 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 6348 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_google_session_real_get_user_name (PublishingRESTSupportGoogleSession* self) { +#line 689 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_session_get_user_name'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 689 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 6357 "RESTSupport.c" +} + + +gchar* publishing_rest_support_google_session_get_user_name (PublishingRESTSupportGoogleSession* self) { +#line 689 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (self), NULL); +#line 689 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_GET_CLASS (self)->get_user_name (self); +#line 6366 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_google_session_real_get_access_token (PublishingRESTSupportGoogleSession* self) { +#line 690 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_session_get_access_token'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 690 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 6375 "RESTSupport.c" +} + + +gchar* publishing_rest_support_google_session_get_access_token (PublishingRESTSupportGoogleSession* self) { +#line 690 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (self), NULL); +#line 690 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_GET_CLASS (self)->get_access_token (self); +#line 6384 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_google_session_real_get_refresh_token (PublishingRESTSupportGoogleSession* self) { +#line 691 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_session_get_refresh_token'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 691 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return NULL; +#line 6393 "RESTSupport.c" +} + + +gchar* publishing_rest_support_google_session_get_refresh_token (PublishingRESTSupportGoogleSession* self) { +#line 691 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (self), NULL); +#line 691 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_GET_CLASS (self)->get_refresh_token (self); +#line 6402 "RESTSupport.c" +} + + +static void publishing_rest_support_google_session_real_deauthenticate (PublishingRESTSupportGoogleSession* self) { +#line 692 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_session_deauthenticate'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 692 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6411 "RESTSupport.c" +} + + +void publishing_rest_support_google_session_deauthenticate (PublishingRESTSupportGoogleSession* self) { +#line 692 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (self)); +#line 692 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_GET_CLASS (self)->deauthenticate (self); +#line 6420 "RESTSupport.c" +} + + +PublishingRESTSupportGoogleSession* publishing_rest_support_google_session_construct (GType object_type) { + PublishingRESTSupportGoogleSession* self = NULL; +#line 688 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGoogleSession*) publishing_rest_support_session_construct (object_type, NULL); +#line 688 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 6430 "RESTSupport.c" +} + + +static void publishing_rest_support_google_session_class_init (PublishingRESTSupportGoogleSessionClass * klass) { +#line 688 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_session_parent_class = g_type_class_peek_parent (klass); +#line 688 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->get_user_name = publishing_rest_support_google_session_real_get_user_name; +#line 688 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->get_access_token = publishing_rest_support_google_session_real_get_access_token; +#line 688 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->get_refresh_token = publishing_rest_support_google_session_real_get_refresh_token; +#line 688 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->deauthenticate = publishing_rest_support_google_session_real_deauthenticate; +#line 6445 "RESTSupport.c" +} + + +static void publishing_rest_support_google_session_instance_init (PublishingRESTSupportGoogleSession * self) { +} + + +GType publishing_rest_support_google_session_get_type (void) { + static volatile gsize publishing_rest_support_google_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_session_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGoogleSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGoogleSession), 0, (GInstanceInitFunc) publishing_rest_support_google_session_instance_init, NULL }; + GType publishing_rest_support_google_session_type_id; + publishing_rest_support_google_session_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_SESSION, "PublishingRESTSupportGoogleSession", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&publishing_rest_support_google_session_type_id__volatile, publishing_rest_support_google_session_type_id); + } + return publishing_rest_support_google_session_type_id__volatile; +} + + +PublishingRESTSupportGooglePublisher* publishing_rest_support_google_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host, const gchar* scope) { + PublishingRESTSupportGooglePublisher * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp2_ = NULL; + SpitPublishingService* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; +#line 870 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 870 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 870 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (scope != NULL, NULL); +#line 870 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisher*) g_object_new (object_type, NULL); +#line 872 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = scope; +#line 872 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 872 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->scope); +#line 872 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->scope = _tmp1_; +#line 873 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = publishing_rest_support_google_publisher_google_session_impl_new (); +#line 873 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 873 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->session = _tmp2_; +#line 874 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = service; +#line 874 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->service = _tmp3_; +#line 875 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = host; +#line 875 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->host = _tmp4_; +#line 876 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->web_auth_pane); +#line 876 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->web_auth_pane = NULL; +#line 870 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 6508 "RESTSupport.c" +} + + +static void _publishing_rest_support_google_publisher_on_web_auth_pane_authorized_publishing_rest_support_google_publisher_web_authentication_pane_authorized (PublishingRESTSupportGooglePublisherWebAuthenticationPane* _sender, const gchar* auth_code, gpointer self) { +#line 880 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_web_auth_pane_authorized ((PublishingRESTSupportGooglePublisher*) self, auth_code); +#line 6515 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_web_auth_pane_authorized (PublishingRESTSupportGooglePublisher* self, const gchar* auth_code) { + PublishingRESTSupportGooglePublisherWebAuthenticationPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + const gchar* _tmp5_ = NULL; +#line 879 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 879 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (auth_code != NULL); +#line 880 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->web_auth_pane; +#line 880 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("authorized", PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, &_tmp1_, NULL, FALSE); +#line 880 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_web_auth_pane_authorized_publishing_rest_support_google_publisher_web_authentication_pane_authorized, self); +#line 882 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->scope; +#line 882 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = auth_code; +#line 882 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:882: EVENT: user authorized scope %s with auth_code %" \ +"s", _tmp2_, _tmp3_); +#line 884 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (self); +#line 884 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 885 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6548 "RESTSupport.c" + } +#line 887 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = auth_code; +#line 887 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_get_access_tokens (self, _tmp5_); +#line 6554 "RESTSupport.c" +} + + +static void _publishing_rest_support_google_publisher_on_get_access_tokens_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 891 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_get_access_tokens_complete ((PublishingRESTSupportGooglePublisher*) self, _sender); +#line 6561 "RESTSupport.c" +} + + +static void _publishing_rest_support_google_publisher_on_get_access_tokens_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 892 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_get_access_tokens_error ((PublishingRESTSupportGooglePublisher*) self, _sender, err); +#line 6568 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_get_access_tokens_complete (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 890 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 890 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 891 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = txn; +#line 891 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 891 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_get_access_tokens_complete_publishing_rest_support_transaction_completed, self); +#line 892 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = txn; +#line 892 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 892 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_get_access_tokens_error_publishing_rest_support_transaction_network_error, self); +#line 894 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:894: %s", "EVENT: network transaction to exchange authorization code for access t" \ +"okens " "completed successfully."); +#line 897 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (self); +#line 897 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 898 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6605 "RESTSupport.c" + } +#line 900 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = txn; +#line 900 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 900 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 900 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_extract_tokens (self, _tmp7_); +#line 900 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp7_); +#line 6617 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_get_access_tokens_error (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + SpitPublishingPluginHost* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 903 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 903 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 905 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = txn; +#line 905 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 905 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_get_access_tokens_complete_publishing_rest_support_transaction_completed, self); +#line 906 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = txn; +#line 906 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 906 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_get_access_tokens_error_publishing_rest_support_transaction_network_error, self); +#line 908 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = txn; +#line 908 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 908 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = _tmp5_; +#line 908 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("EVENT: network transaction to exchange authorization code for access t" \ +"okens " "failed; response = '%s'", _tmp6_); +#line 908 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp6_); +#line 911 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = publishing_rest_support_google_publisher_is_running (self); +#line 911 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp7_) { +#line 912 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6664 "RESTSupport.c" + } +#line 914 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = self->priv->host; +#line 914 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = err; +#line 914 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp8_, _tmp9_); +#line 6672 "RESTSupport.c" +} + + +static void _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 919 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed ((PublishingRESTSupportGooglePublisher*) self, _sender); +#line 6679 "RESTSupport.c" +} + + +static void _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 920 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error ((PublishingRESTSupportGooglePublisher*) self, _sender, err); +#line 6686 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 917 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 917 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 919 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = txn; +#line 919 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 919 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed_publishing_rest_support_transaction_completed, self); +#line 920 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = txn; +#line 920 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 920 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error_publishing_rest_support_transaction_network_error, self); +#line 922 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:922: EVENT: refresh access token transaction complete" \ +"d successfully."); +#line 924 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (self); +#line 924 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 925 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6725 "RESTSupport.c" + } +#line 927 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = self->priv->session; +#line 927 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 927 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp6_) { +#line 928 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6735 "RESTSupport.c" + } +#line 930 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = txn; +#line 930 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 930 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = _tmp8_; +#line 930 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_extract_tokens (self, _tmp9_); +#line 930 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp9_); +#line 6747 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + guint _tmp8_ = 0U; + SpitPublishingPluginHost* _tmp9_ = NULL; + GError* _tmp10_ = NULL; +#line 933 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 933 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 935 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = txn; +#line 935 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 935 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed_publishing_rest_support_transaction_completed, self); +#line 936 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = txn; +#line 936 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 936 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error_publishing_rest_support_transaction_network_error, self); +#line 938 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:938: EVENT: refresh access token transaction caused a" \ +" network error."); +#line 940 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (self); +#line 940 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 941 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6787 "RESTSupport.c" + } +#line 943 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = self->priv->session; +#line 943 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 943 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp6_) { +#line 944 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6797 "RESTSupport.c" + } +#line 948 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = txn; +#line 948 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = publishing_rest_support_transaction_get_status_code (_tmp7_); +#line 948 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp8_ == ((guint) 400)) { +#line 949 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_logout (self); +#line 950 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6809 "RESTSupport.c" + } +#line 953 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = self->priv->host; +#line 953 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = err; +#line 953 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp9_, _tmp10_); +#line 6817 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_refresh_token_available (PublishingRESTSupportGooglePublisher* self, const gchar* token) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 956 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 956 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (token != NULL); +#line 957 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = token; +#line 957 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:957: EVENT: an OAuth refresh token has become availab" \ +"le; token = '%s'.", _tmp0_); +#line 959 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = publishing_rest_support_google_publisher_is_running (self); +#line 959 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp1_) { +#line 960 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6841 "RESTSupport.c" + } +#line 962 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->session; +#line 962 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = token; +#line 962 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 962 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp2_->refresh_token); +#line 962 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_->refresh_token = _tmp4_; +#line 6853 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_access_token_available (PublishingRESTSupportGooglePublisher* self, const gchar* token) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 965 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 965 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (token != NULL); +#line 966 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = token; +#line 966 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:966: EVENT: an OAuth access token has become availabl" \ +"e; token = '%s'.", _tmp0_); +#line 968 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = publishing_rest_support_google_publisher_is_running (self); +#line 968 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp1_) { +#line 969 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6877 "RESTSupport.c" + } +#line 971 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->session; +#line 971 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = token; +#line 971 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 971 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp2_->access_token); +#line 971 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_->access_token = _tmp4_; +#line 973 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_fetch_username (self); +#line 6891 "RESTSupport.c" +} + + +static void _publishing_rest_support_google_publisher_on_fetch_username_transaction_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 977 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_fetch_username_transaction_completed ((PublishingRESTSupportGooglePublisher*) self, _sender); +#line 6898 "RESTSupport.c" +} + + +static void _publishing_rest_support_google_publisher_on_fetch_username_transaction_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 978 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_fetch_username_transaction_error ((PublishingRESTSupportGooglePublisher*) self, _sender, err); +#line 6905 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_fetch_username_transaction_completed (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 976 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 976 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 977 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = txn; +#line 977 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 977 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_fetch_username_transaction_completed_publishing_rest_support_transaction_completed, self); +#line 978 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = txn; +#line 978 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 978 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_fetch_username_transaction_error_publishing_rest_support_transaction_network_error, self); +#line 980 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:980: EVENT: username fetch transaction completed succ" \ +"essfully."); +#line 982 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (self); +#line 982 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 983 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6942 "RESTSupport.c" + } +#line 985 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = txn; +#line 985 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 985 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 985 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_extract_username (self, _tmp7_); +#line 985 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp7_); +#line 6954 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_on_fetch_username_transaction_error (PublishingRESTSupportGooglePublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 988 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 988 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 990 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = txn; +#line 990 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 990 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_fetch_username_transaction_completed_publishing_rest_support_transaction_completed, self); +#line 991 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = txn; +#line 991 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 991 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rest_support_google_publisher_on_fetch_username_transaction_error_publishing_rest_support_transaction_network_error, self); +#line 993 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:993: EVENT: username fetch transaction caused a netwo" \ +"rk error"); +#line 995 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (self); +#line 995 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp4_) { +#line 996 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 6990 "RESTSupport.c" + } +#line 998 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = self->priv->host; +#line 998 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = err; +#line 998 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp6_); +#line 6998 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_do_get_access_tokens (PublishingRESTSupportGooglePublisher* self, const gchar* auth_code) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRESTSupportGooglePublisherGetAccessTokensTransaction* tokens_txn = NULL; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportGooglePublisherGetAccessTokensTransaction* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 1001 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1001 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (auth_code != NULL); +#line 1002 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:1002: ACTION: exchanging authorization code for acces" \ +"s & refresh tokens"); +#line 1004 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->host; +#line 1004 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_install_login_wait_pane (_tmp0_); +#line 1006 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->session; +#line 1006 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = auth_code; +#line 1006 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = publishing_rest_support_google_publisher_get_access_tokens_transaction_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp2_); +#line 1006 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + tokens_txn = _tmp3_; +#line 1007 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (tokens_txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rest_support_google_publisher_on_get_access_tokens_complete_publishing_rest_support_transaction_completed, self, 0); +#line 1008 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (tokens_txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rest_support_google_publisher_on_get_access_tokens_error_publishing_rest_support_transaction_network_error, self, 0); +#line 7031 "RESTSupport.c" + { +#line 1011 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (tokens_txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 1011 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1011 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 7039 "RESTSupport.c" + goto __catch4_spit_publishing_publishing_error; + } +#line 1011 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (tokens_txn); +#line 1011 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 1011 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7050 "RESTSupport.c" + } + } + goto __finally4; + __catch4_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 1010 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + err = _inner_error_; +#line 1010 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 1013 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->host; +#line 1013 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = err; +#line 1013 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp5_); +#line 1010 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (err); +#line 7071 "RESTSupport.c" + } + __finally4: +#line 1010 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1010 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (tokens_txn); +#line 1010 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %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/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 1010 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7084 "RESTSupport.c" + } +#line 1001 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (tokens_txn); +#line 7088 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_do_hosted_web_authentication (PublishingRESTSupportGooglePublisher* self) { + gchar* user_authorization_url = 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; + const 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; + PublishingRESTSupportGooglePublisherWebAuthenticationPane* _tmp27_ = NULL; + PublishingRESTSupportGooglePublisherWebAuthenticationPane* _tmp28_ = NULL; + SpitPublishingPluginHost* _tmp29_ = NULL; + PublishingRESTSupportGooglePublisherWebAuthenticationPane* _tmp30_ = NULL; +#line 1017 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1018 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:1018: ACTION: running OAuth authentication flow in ho" \ +"sted web pane."); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = soup_uri_encode ("urn:ietf:wg:oauth:2.0:oob", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _tmp0_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strconcat ("https://accounts.google.com/o/oauth2/auth?" "response_type=code&" "client_id=" PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_OAUTH_CLIENT_ID "&" "redirect_uri=", _tmp1_, NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _tmp2_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = g_strconcat (_tmp3_, "&", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp4_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = g_strconcat (_tmp5_, "scope=", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = self->priv->scope; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = soup_uri_encode (_tmp8_, NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = _tmp9_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = g_strconcat (_tmp7_, _tmp10_, NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = _tmp11_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = g_strconcat (_tmp12_, "+", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = _tmp13_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = soup_uri_encode ("https://www.googleapis.com/auth/userinfo.profile", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = _tmp15_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = g_strconcat (_tmp14_, _tmp16_, NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = _tmp17_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = g_strconcat (_tmp18_, "&", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = _tmp19_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = g_strconcat (_tmp20_, "state=connect&", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = _tmp21_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = g_strconcat (_tmp22_, "access_type=offline&", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = _tmp23_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = g_strconcat (_tmp24_, "approval_prompt=force", NULL); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp26_ = _tmp25_; +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp24_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp22_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp20_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp18_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp16_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp14_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp12_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp10_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp7_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp5_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp3_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp1_); +#line 1020 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + user_authorization_url = _tmp26_; +#line 1030 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp27_ = publishing_rest_support_google_publisher_web_authentication_pane_new (user_authorization_url); +#line 1030 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->web_auth_pane); +#line 1030 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->web_auth_pane = _tmp27_; +#line 1031 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp28_ = self->priv->web_auth_pane; +#line 1031 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (_tmp28_, "authorized", (GCallback) _publishing_rest_support_google_publisher_on_web_auth_pane_authorized_publishing_rest_support_google_publisher_web_authentication_pane_authorized, self, 0); +#line 1033 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_ = self->priv->host; +#line 1033 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp30_ = self->priv->web_auth_pane; +#line 1033 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 1017 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (user_authorization_url); +#line 7227 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_do_exchange_refresh_token_for_access_token (PublishingRESTSupportGooglePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction* txn = NULL; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp1_ = NULL; + PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 1037 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1038 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:1038: ACTION: exchanging OAuth refresh token for OAut" \ +"h access token."); +#line 1040 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->host; +#line 1040 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_install_login_wait_pane (_tmp0_); +#line 1042 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->session; +#line 1042 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = publishing_rest_support_google_publisher_refresh_access_token_transaction_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1042 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + txn = _tmp2_; +#line 1044 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_completed_publishing_rest_support_transaction_completed, self, 0); +#line 1045 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rest_support_google_publisher_on_refresh_access_token_transaction_error_publishing_rest_support_transaction_network_error, self, 0); +#line 7255 "RESTSupport.c" + { +#line 1048 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 1048 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1048 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 7263 "RESTSupport.c" + goto __catch5_spit_publishing_publishing_error; + } +#line 1048 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 1048 "/home/jens/Source/shotwell/plugins/common/RESTSupport.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 1048 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 1048 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7274 "RESTSupport.c" + } + } + goto __finally5; + __catch5_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + GError* _tmp4_ = NULL; +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + err = _inner_error_; +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 1050 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->host; +#line 1050 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = err; +#line 1050 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp3_, _tmp4_); +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (err); +#line 7295 "RESTSupport.c" + } + __finally5: +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 1047 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7308 "RESTSupport.c" + } +#line 1037 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 7312 "RESTSupport.c" +} + + +static gpointer _json_object_ref0 (gpointer self) { +#line 1067 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self ? json_object_ref (self) : NULL; +#line 7319 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_do_extract_tokens (PublishingRESTSupportGooglePublisher* self, const gchar* response_body) { + JsonParser* parser = NULL; + JsonParser* _tmp0_ = NULL; + JsonObject* response_obj = NULL; + JsonParser* _tmp10_ = NULL; + JsonNode* _tmp11_ = NULL; + JsonObject* _tmp12_ = NULL; + JsonObject* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + JsonObject* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + JsonObject* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + JsonObject* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + GError * _inner_error_ = NULL; +#line 1054 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1054 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (response_body != NULL); +#line 1055 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:1055: ACTION: extracting OAuth tokens from body of se" \ +"rver response"); +#line 1057 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = json_parser_new (); +#line 1057 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + parser = _tmp0_; +#line 7349 "RESTSupport.c" + { + JsonParser* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1060 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = parser; +#line 1060 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = response_body; +#line 1060 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + json_parser_load_from_data (_tmp1_, _tmp2_, (gssize) -1, &_inner_error_); +#line 1060 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7361 "RESTSupport.c" + goto __catch6_g_error; + } + } + goto __finally6; + __catch6_g_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 1059 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + err = _inner_error_; +#line 1059 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->host; +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = err; +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp4_->message; +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = g_strconcat ("Couldn't parse JSON response: ", _tmp5_, NULL); +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp7_); +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = _tmp8_; +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp3_, _tmp9_); +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (_tmp9_); +#line 1062 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp7_); +#line 1064 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (err); +#line 1064 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (parser); +#line 1064 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7406 "RESTSupport.c" + } + __finally6: +#line 1059 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1059 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (parser); +#line 1059 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1059 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 1059 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7419 "RESTSupport.c" + } +#line 1067 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = parser; +#line 1067 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = json_parser_get_root (_tmp10_); +#line 1067 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = json_node_get_object (_tmp11_); +#line 1067 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = _json_object_ref0 (_tmp12_); +#line 1067 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + response_obj = _tmp13_; +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = response_obj; +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = json_object_has_member (_tmp15_, "access_token"); +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (!_tmp16_) { +#line 7437 "RESTSupport.c" + JsonObject* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = response_obj; +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = json_object_has_member (_tmp17_, "refresh_token"); +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = !_tmp18_; +#line 7446 "RESTSupport.c" + } else { +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = FALSE; +#line 7450 "RESTSupport.c" + } +#line 1069 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp14_) { +#line 7454 "RESTSupport.c" + SpitPublishingPluginHost* _tmp19_ = NULL; + GError* _tmp20_ = NULL; + GError* _tmp21_ = NULL; +#line 1070 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = self->priv->host; +#line 1070 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "neither access_token nor refresh_token not present in server response"); +#line 1070 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = _tmp20_; +#line 1070 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp19_, _tmp21_); +#line 1070 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (_tmp21_); +#line 1072 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _json_object_unref0 (response_obj); +#line 1072 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (parser); +#line 1072 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7474 "RESTSupport.c" + } +#line 1075 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = response_obj; +#line 1075 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = json_object_has_member (_tmp22_, "refresh_token"); +#line 1075 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp23_) { +#line 7482 "RESTSupport.c" + gchar* refresh_token = NULL; + JsonObject* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 1076 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = response_obj; +#line 1076 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = json_object_get_string_member (_tmp24_, "refresh_token"); +#line 1076 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp26_ = g_strdup (_tmp25_); +#line 1076 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + refresh_token = _tmp26_; +#line 1078 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp27_ = refresh_token; +#line 1078 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp27_, "") != 0) { +#line 7500 "RESTSupport.c" + const gchar* _tmp28_ = NULL; +#line 1079 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp28_ = refresh_token; +#line 1079 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_refresh_token_available (self, _tmp28_); +#line 7506 "RESTSupport.c" + } +#line 1075 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (refresh_token); +#line 7510 "RESTSupport.c" + } +#line 1082 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_ = response_obj; +#line 1082 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp30_ = json_object_has_member (_tmp29_, "access_token"); +#line 1082 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp30_) { +#line 7518 "RESTSupport.c" + gchar* access_token = NULL; + JsonObject* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; +#line 1083 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp31_ = response_obj; +#line 1083 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp32_ = json_object_get_string_member (_tmp31_, "access_token"); +#line 1083 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp33_ = g_strdup (_tmp32_); +#line 1083 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + access_token = _tmp33_; +#line 1085 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp34_ = access_token; +#line 1085 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp34_, "") != 0) { +#line 7536 "RESTSupport.c" + const gchar* _tmp35_ = NULL; +#line 1086 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp35_ = access_token; +#line 1086 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_access_token_available (self, _tmp35_); +#line 7542 "RESTSupport.c" + } +#line 1082 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (access_token); +#line 7546 "RESTSupport.c" + } +#line 1054 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _json_object_unref0 (response_obj); +#line 1054 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (parser); +#line 7552 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_do_fetch_username (PublishingRESTSupportGooglePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingRESTSupportGooglePublisherUsernameFetchTransaction* txn = NULL; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp2_ = NULL; + PublishingRESTSupportGooglePublisherUsernameFetchTransaction* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 1090 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1091 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:1091: ACTION: running network transaction to fetch us" \ +"ername."); +#line 1093 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->host; +#line 1093 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_install_login_wait_pane (_tmp0_); +#line 1094 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->host; +#line 1094 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, TRUE); +#line 1096 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = self->priv->session; +#line 1096 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = publishing_rest_support_google_publisher_username_fetch_transaction_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession)); +#line 1096 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + txn = _tmp3_; +#line 1097 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rest_support_google_publisher_on_fetch_username_transaction_completed_publishing_rest_support_transaction_completed, self, 0); +#line 1098 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rest_support_google_publisher_on_fetch_username_transaction_error_publishing_rest_support_transaction_network_error, self, 0); +#line 7585 "RESTSupport.c" + { +#line 1101 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 1101 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7591 "RESTSupport.c" + goto __catch7_g_error; + } + } + goto __finally7; + __catch7_g_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + err = _inner_error_; +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 1103 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->host; +#line 1103 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = err; +#line 1103 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp5_); +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (err); +#line 7613 "RESTSupport.c" + } + __finally7: +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 1100 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7626 "RESTSupport.c" + } +#line 1090 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 7630 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_do_extract_username (PublishingRESTSupportGooglePublisher* self, const gchar* response_body) { + JsonParser* parser = NULL; + JsonParser* _tmp0_ = NULL; + JsonObject* response_obj = NULL; + JsonParser* _tmp10_ = NULL; + JsonNode* _tmp11_ = NULL; + JsonObject* _tmp12_ = NULL; + JsonObject* _tmp13_ = NULL; + JsonObject* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + JsonObject* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + GError * _inner_error_ = NULL; +#line 1107 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1107 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (response_body != NULL); +#line 1108 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_debug ("RESTSupport.vala:1108: ACTION: extracting username from body of server" \ +" response"); +#line 1110 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = json_parser_new (); +#line 1110 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + parser = _tmp0_; +#line 7659 "RESTSupport.c" + { + JsonParser* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1113 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = parser; +#line 1113 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = response_body; +#line 1113 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + json_parser_load_from_data (_tmp1_, _tmp2_, (gssize) -1, &_inner_error_); +#line 1113 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7671 "RESTSupport.c" + goto __catch8_g_error; + } + } + goto __finally8; + __catch8_g_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 1112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + err = _inner_error_; +#line 1112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _inner_error_ = NULL; +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->host; +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = err; +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = _tmp4_->message; +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = g_strconcat ("Couldn't parse JSON response: ", _tmp5_, NULL); +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp7_); +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = _tmp8_; +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_post_error (_tmp3_, _tmp9_); +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (_tmp9_); +#line 1115 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp7_); +#line 1117 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_error_free0 (err); +#line 1117 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (parser); +#line 1117 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7716 "RESTSupport.c" + } + __finally8: +#line 1112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (parser); +#line 1112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_clear_error (&_inner_error_); +#line 1112 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7729 "RESTSupport.c" + } +#line 1120 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = parser; +#line 1120 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = json_parser_get_root (_tmp10_); +#line 1120 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = json_node_get_object (_tmp11_); +#line 1120 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = _json_object_ref0 (_tmp12_); +#line 1120 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + response_obj = _tmp13_; +#line 1122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = response_obj; +#line 1122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = json_object_has_member (_tmp14_, "name"); +#line 1122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp15_) { +#line 7747 "RESTSupport.c" + gchar* username = NULL; + JsonObject* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 1123 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp16_ = response_obj; +#line 1123 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp17_ = json_object_get_string_member (_tmp16_, "name"); +#line 1123 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 1123 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + username = _tmp18_; +#line 1125 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp19_ = username; +#line 1125 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp19_, "") != 0) { +#line 7765 "RESTSupport.c" + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_ = self->priv->session; +#line 1126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp21_ = username; +#line 1126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 1126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp20_->user_name); +#line 1126 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp20_->user_name = _tmp22_; +#line 7779 "RESTSupport.c" + } +#line 1122 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (username); +#line 7783 "RESTSupport.c" + } +#line 1129 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp23_ = response_obj; +#line 1129 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp24_ = json_object_has_member (_tmp23_, "access_token"); +#line 1129 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp24_) { +#line 7791 "RESTSupport.c" + gchar* access_token = NULL; + JsonObject* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 1130 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp25_ = response_obj; +#line 1130 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp26_ = json_object_get_string_member (_tmp25_, "access_token"); +#line 1130 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp27_ = g_strdup (_tmp26_); +#line 1130 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + access_token = _tmp27_; +#line 1132 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp28_ = access_token; +#line 1132 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (g_strcmp0 (_tmp28_, "") != 0) { +#line 7809 "RESTSupport.c" + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 1133 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_ = self->priv->session; +#line 1133 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp30_ = access_token; +#line 1133 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp31_ = g_strdup (_tmp30_); +#line 1133 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp29_->access_token); +#line 1133 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp29_->access_token = _tmp31_; +#line 7823 "RESTSupport.c" + } +#line 1129 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (access_token); +#line 7827 "RESTSupport.c" + } +#line 1138 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp32_ = self->priv->session; +#line 1138 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp33_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1138 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp33_, "session.is_authenticated()"); +#line 1140 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_on_login_flow_complete (self); +#line 1107 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _json_object_unref0 (response_obj); +#line 1107 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (parser); +#line 7841 "RESTSupport.c" +} + + +SpitPublishingPluginHost* publishing_rest_support_google_publisher_get_host (PublishingRESTSupportGooglePublisher* self) { + SpitPublishingPluginHost* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; +#line 1143 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self), NULL); +#line 1144 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->host; +#line 1144 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp0_; +#line 1144 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 7856 "RESTSupport.c" +} + + +PublishingRESTSupportGoogleSession* publishing_rest_support_google_publisher_get_session (PublishingRESTSupportGooglePublisher* self) { + PublishingRESTSupportGoogleSession* result = NULL; + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; +#line 1147 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self), NULL); +#line 1148 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->session; +#line 1148 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _publishing_rest_support_session_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession)); +#line 1148 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 1148 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 7874 "RESTSupport.c" +} + + +void publishing_rest_support_google_publisher_start_oauth_flow (PublishingRESTSupportGooglePublisher* self, const gchar* refresh_token) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 1151 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1152 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = refresh_token; +#line 1152 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp1_ != NULL) { +#line 7887 "RESTSupport.c" + const gchar* _tmp2_ = NULL; +#line 1152 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = refresh_token; +#line 1152 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = g_strcmp0 (_tmp2_, "") != 0; +#line 7893 "RESTSupport.c" + } else { +#line 1152 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = FALSE; +#line 7897 "RESTSupport.c" + } +#line 1152 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp0_) { +#line 7901 "RESTSupport.c" + PublishingRESTSupportGooglePublisherGoogleSessionImpl* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = self->priv->session; +#line 1153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = refresh_token; +#line 1153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 1153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp3_->refresh_token); +#line 1153 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_->refresh_token = _tmp5_; +#line 1154 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_exchange_refresh_token_for_access_token (self); +#line 7917 "RESTSupport.c" + } else { + gboolean _tmp6_ = FALSE; +#line 1156 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_google_publisher_web_authentication_pane_is_cache_dirty (); +#line 1156 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp6_) { +#line 7924 "RESTSupport.c" + SpitPublishingPluginHost* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 1157 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = self->priv->host; +#line 1157 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = _ ("You have already logged in and out of a Google service during this Sho" \ +"twell session.\n" \ +"\n" \ +"To continue publishing to Google services, quit and restart Shotwell, " \ +"then try publishing again."); +#line 1157 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp7_, _tmp8_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 1158 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7935 "RESTSupport.c" + } +#line 1161 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_do_hosted_web_authentication (self); +#line 7939 "RESTSupport.c" + } +} + + +static void publishing_rest_support_google_publisher_real_on_login_flow_complete (PublishingRESTSupportGooglePublisher* self) { +#line 1165 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_publisher_on_login_flow_complete'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1165 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7949 "RESTSupport.c" +} + + +void publishing_rest_support_google_publisher_on_login_flow_complete (PublishingRESTSupportGooglePublisher* self) { +#line 1165 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1165 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS (self)->on_login_flow_complete (self); +#line 7958 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_real_do_logout (PublishingRESTSupportGooglePublisher* self) { +#line 1167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_publisher_do_logout'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 7967 "RESTSupport.c" +} + + +void publishing_rest_support_google_publisher_do_logout (PublishingRESTSupportGooglePublisher* self) { +#line 1167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1167 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS (self)->do_logout (self); +#line 7976 "RESTSupport.c" +} + + +static gboolean publishing_rest_support_google_publisher_real_is_running (PublishingRESTSupportGooglePublisher* self) { +#line 1169 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_publisher_is_running'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1169 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return FALSE; +#line 7985 "RESTSupport.c" +} + + +gboolean publishing_rest_support_google_publisher_is_running (PublishingRESTSupportGooglePublisher* self) { +#line 1169 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self), FALSE); +#line 1169 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS (self)->is_running (self); +#line 7994 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_real_start (PublishingRESTSupportGooglePublisher* self) { +#line 1171 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_publisher_start'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1171 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 8003 "RESTSupport.c" +} + + +void publishing_rest_support_google_publisher_start (PublishingRESTSupportGooglePublisher* self) { +#line 1171 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1171 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS (self)->start (self); +#line 8012 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_real_stop (PublishingRESTSupportGooglePublisher* self) { +#line 1173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_rest_support_google_publisher_stop'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 8021 "RESTSupport.c" +} + + +void publishing_rest_support_google_publisher_stop (PublishingRESTSupportGooglePublisher* self) { +#line 1173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER (self)); +#line 1173 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS (self)->stop (self); +#line 8030 "RESTSupport.c" +} + + +static SpitPublishingService* publishing_rest_support_google_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingRESTSupportGooglePublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 1175 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher); +#line 1176 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->service; +#line 1176 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1176 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 1176 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8049 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherGoogleSessionImpl* publishing_rest_support_google_publisher_google_session_impl_construct (GType object_type) { + PublishingRESTSupportGooglePublisherGoogleSessionImpl* self = NULL; +#line 704 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisherGoogleSessionImpl*) publishing_rest_support_google_session_construct (object_type); +#line 705 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->access_token); +#line 705 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->access_token = NULL; +#line 706 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->user_name); +#line 706 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->user_name = NULL; +#line 707 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->refresh_token); +#line 707 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->refresh_token = NULL; +#line 704 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 8071 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherGoogleSessionImpl* publishing_rest_support_google_publisher_google_session_impl_new (void) { +#line 704 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_google_publisher_google_session_impl_construct (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL); +#line 8078 "RESTSupport.c" +} + + +static gboolean publishing_rest_support_google_publisher_google_session_impl_real_is_authenticated (PublishingRESTSupportSession* base) { + PublishingRESTSupportGooglePublisherGoogleSessionImpl * self; + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; +#line 710 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImpl); +#line 711 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->access_token; +#line 711 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp0_ != NULL; +#line 711 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8094 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_google_publisher_google_session_impl_real_get_user_name (PublishingRESTSupportGoogleSession* base) { + PublishingRESTSupportGooglePublisherGoogleSessionImpl * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 714 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImpl); +#line 715 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->user_name; +#line 715 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_ != NULL, "user_name != null"); +#line 716 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->user_name; +#line 716 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 716 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 716 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8118 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_google_publisher_google_session_impl_real_get_access_token (PublishingRESTSupportGoogleSession* base) { + PublishingRESTSupportGooglePublisherGoogleSessionImpl * self; + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 719 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImpl); +#line 720 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 720 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_, "is_authenticated()"); +#line 721 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->access_token; +#line 721 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 721 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 721 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8142 "RESTSupport.c" +} + + +static gchar* publishing_rest_support_google_publisher_google_session_impl_real_get_refresh_token (PublishingRESTSupportGoogleSession* base) { + PublishingRESTSupportGooglePublisherGoogleSessionImpl * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 724 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImpl); +#line 725 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->refresh_token; +#line 725 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp0_ != NULL, "refresh_token != null"); +#line 726 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->refresh_token; +#line 726 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 726 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp2_; +#line 726 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8166 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_google_session_impl_real_deauthenticate (PublishingRESTSupportGoogleSession* base) { + PublishingRESTSupportGooglePublisherGoogleSessionImpl * self; +#line 729 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImpl); +#line 730 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->access_token); +#line 730 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->access_token = NULL; +#line 731 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->user_name); +#line 731 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->user_name = NULL; +#line 732 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->refresh_token); +#line 732 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->refresh_token = NULL; +#line 8186 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_google_session_impl_class_init (PublishingRESTSupportGooglePublisherGoogleSessionImplClass * klass) { +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_google_session_impl_parent_class = g_type_class_peek_parent (klass); +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_rest_support_google_publisher_google_session_impl_finalize; +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_rest_support_google_publisher_google_session_impl_real_is_authenticated; +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->get_user_name = publishing_rest_support_google_publisher_google_session_impl_real_get_user_name; +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->get_access_token = publishing_rest_support_google_publisher_google_session_impl_real_get_access_token; +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->get_refresh_token = publishing_rest_support_google_publisher_google_session_impl_real_get_refresh_token; +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGoogleSessionClass *) klass)->deauthenticate = publishing_rest_support_google_publisher_google_session_impl_real_deauthenticate; +#line 8205 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_google_session_impl_instance_init (PublishingRESTSupportGooglePublisherGoogleSessionImpl * self) { +} + + +static void publishing_rest_support_google_publisher_google_session_impl_finalize (PublishingRESTSupportSession* obj) { + PublishingRESTSupportGooglePublisherGoogleSessionImpl * self; +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GOOGLE_SESSION_IMPL, PublishingRESTSupportGooglePublisherGoogleSessionImpl); +#line 700 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->access_token); +#line 701 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->user_name); +#line 702 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->refresh_token); +#line 699 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + PUBLISHING_REST_SUPPORT_SESSION_CLASS (publishing_rest_support_google_publisher_google_session_impl_parent_class)->finalize (obj); +#line 8225 "RESTSupport.c" +} + + +static GType publishing_rest_support_google_publisher_google_session_impl_get_type (void) { + static volatile gsize publishing_rest_support_google_publisher_google_session_impl_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_publisher_google_session_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGooglePublisherGoogleSessionImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_publisher_google_session_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGooglePublisherGoogleSessionImpl), 0, (GInstanceInitFunc) publishing_rest_support_google_publisher_google_session_impl_instance_init, NULL }; + GType publishing_rest_support_google_publisher_google_session_impl_type_id; + publishing_rest_support_google_publisher_google_session_impl_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, "PublishingRESTSupportGooglePublisherGoogleSessionImpl", &g_define_type_info, 0); + g_once_init_leave (&publishing_rest_support_google_publisher_google_session_impl_type_id__volatile, publishing_rest_support_google_publisher_google_session_impl_type_id); + } + return publishing_rest_support_google_publisher_google_session_impl_type_id__volatile; +} + + +static void _publishing_rest_support_google_publisher_web_authentication_pane_on_page_load_changed_webkit_web_view_load_changed (WebKitWebView* _sender, WebKitLoadEvent load_event, gpointer self) { +#line 753 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_web_authentication_pane_on_page_load_changed ((PublishingRESTSupportGooglePublisherWebAuthenticationPane*) self, load_event); +#line 8244 "RESTSupport.c" +} + + +static gboolean __lambda4_ (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self) { + gboolean result = FALSE; +#line 754 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = FALSE; +#line 754 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8254 "RESTSupport.c" +} + + +static gboolean ___lambda4__webkit_web_view_context_menu (WebKitWebView* _sender, WebKitContextMenu* context_menu, GdkEvent* event, WebKitHitTestResult* hit_test_result, gpointer self) { + gboolean result; + result = __lambda4_ ((PublishingRESTSupportGooglePublisherWebAuthenticationPane*) self); +#line 754 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8263 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherWebAuthenticationPane* publishing_rest_support_google_publisher_web_authentication_pane_construct (GType object_type, const gchar* auth_sequence_start_url) { + PublishingRESTSupportGooglePublisherWebAuthenticationPane * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GtkBox* _tmp2_ = NULL; + WebKitWebView* _tmp3_ = NULL; + WebKitWebView* _tmp4_ = NULL; + WebKitSettings* _tmp5_ = NULL; + WebKitWebView* _tmp6_ = NULL; + WebKitWebView* _tmp7_ = NULL; + GtkBox* _tmp8_ = NULL; + WebKitWebView* _tmp9_ = NULL; +#line 745 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (auth_sequence_start_url != NULL, NULL); +#line 745 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisherWebAuthenticationPane*) g_object_new (object_type, NULL); +#line 746 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = auth_sequence_start_url; +#line 746 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 746 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->auth_sequence_start_url); +#line 746 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->auth_sequence_start_url = _tmp1_; +#line 748 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 748 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_ref_sink (_tmp2_); +#line 748 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 748 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->pane_widget = _tmp2_; +#line 750 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = (WebKitWebView*) webkit_web_view_new (); +#line 750 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_object_ref_sink (_tmp3_); +#line 750 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->webview); +#line 750 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv->webview = _tmp3_; +#line 751 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->webview; +#line 751 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = webkit_web_view_get_settings (_tmp4_); +#line 751 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + webkit_settings_set_enable_plugins (_tmp5_, FALSE); +#line 753 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = self->priv->webview; +#line 753 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (_tmp6_, "load-changed", (GCallback) _publishing_rest_support_google_publisher_web_authentication_pane_on_page_load_changed_webkit_web_view_load_changed, self, 0); +#line 754 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = self->priv->webview; +#line 754 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_connect_object (_tmp7_, "context-menu", (GCallback) ___lambda4__webkit_web_view_context_menu, self, 0); +#line 756 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = self->priv->pane_widget; +#line 756 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = self->priv->webview; +#line 756 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + gtk_box_pack_start (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 745 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 8329 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherWebAuthenticationPane* publishing_rest_support_google_publisher_web_authentication_pane_new (const gchar* auth_sequence_start_url) { +#line 745 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_google_publisher_web_authentication_pane_construct (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, auth_sequence_start_url); +#line 8336 "RESTSupport.c" +} + + +static gboolean publishing_rest_support_google_publisher_web_authentication_pane_is_cache_dirty (void) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 760 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = publishing_rest_support_google_publisher_web_authentication_pane_cache_dirty; +#line 760 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp0_; +#line 760 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8349 "RESTSupport.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 8376 "RESTSupport.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 8384 "RESTSupport.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 8390 "RESTSupport.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 8414 "RESTSupport.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 8422 "RESTSupport.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 8434 "RESTSupport.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 8458 "RESTSupport.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 8464 "RESTSupport.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 8468 "RESTSupport.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 8472 "RESTSupport.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 8484 "RESTSupport.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 8494 "RESTSupport.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 8500 "RESTSupport.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 8514 "RESTSupport.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 8524 "RESTSupport.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 8530 "RESTSupport.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 8539 "RESTSupport.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 8559 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_on_page_load (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self) { + GtkBox* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkCursor* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; + gchar* page_title = NULL; + WebKitWebView* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 763 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_WEB_AUTHENTICATION_PANE (self)); +#line 764 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->pane_widget; +#line 764 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 764 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = gdk_cursor_new (GDK_LEFT_PTR); +#line 764 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _tmp2_; +#line 764 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + gdk_window_set_cursor (_tmp1_, _tmp3_); +#line 764 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (_tmp3_); +#line 766 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = self->priv->webview; +#line 766 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = webkit_web_view_get_title (_tmp4_); +#line 766 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 766 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + page_title = _tmp6_; +#line 767 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = page_title; +#line 767 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = string_index_of (_tmp7_, "state=connect", 0); +#line 767 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp8_ > 0) { +#line 8602 "RESTSupport.c" + gint auth_code_field_start = 0; + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gchar* auth_code = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 768 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = page_title; +#line 768 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp10_ = string_index_of (_tmp9_, "code=", 0); +#line 768 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + auth_code_field_start = _tmp10_; +#line 769 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp11_ = auth_code_field_start; +#line 769 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + if (_tmp11_ < 0) { +#line 770 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (page_title); +#line 770 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 8626 "RESTSupport.c" + } +#line 772 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp12_ = page_title; +#line 772 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp13_ = auth_code_field_start; +#line 772 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp14_ = string_substring (_tmp12_, (glong) (_tmp13_ + 5), (glong) -1); +#line 772 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + auth_code = _tmp14_; +#line 775 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_web_authentication_pane_cache_dirty = TRUE; +#line 777 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp15_ = auth_code; +#line 777 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_emit_by_name (self, "authorized", _tmp15_); +#line 767 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (auth_code); +#line 8644 "RESTSupport.c" + } +#line 763 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (page_title); +#line 8648 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_on_load_started (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self) { + GtkBox* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkCursor* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; +#line 781 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_WEB_AUTHENTICATION_PANE (self)); +#line 782 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->pane_widget; +#line 782 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 782 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = gdk_cursor_new (GDK_WATCH); +#line 782 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _tmp2_; +#line 782 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + gdk_window_set_cursor (_tmp1_, _tmp3_); +#line 782 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (_tmp3_); +#line 8671 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_on_page_load_changed (PublishingRESTSupportGooglePublisherWebAuthenticationPane* self, WebKitLoadEvent load_event) { + WebKitLoadEvent _tmp0_ = 0; +#line 785 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_WEB_AUTHENTICATION_PANE (self)); +#line 786 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = load_event; +#line 786 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + switch (_tmp0_) { +#line 786 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case WEBKIT_LOAD_STARTED: +#line 8685 "RESTSupport.c" + { +#line 788 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_web_authentication_pane_on_load_started (self); +#line 789 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 8691 "RESTSupport.c" + } +#line 786 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + case WEBKIT_LOAD_FINISHED: +#line 8695 "RESTSupport.c" + { +#line 791 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_web_authentication_pane_on_page_load (self); +#line 792 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 8701 "RESTSupport.c" + } + default: +#line 786 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + break; +#line 8706 "RESTSupport.c" + } +#line 795 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return; +#line 8710 "RESTSupport.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_rest_support_google_publisher_web_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingRESTSupportGooglePublisherWebAuthenticationPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 798 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPane); +#line 799 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 799 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8723 "RESTSupport.c" +} + + +static GtkWidget* publishing_rest_support_google_publisher_web_authentication_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingRESTSupportGooglePublisherWebAuthenticationPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 802 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPane); +#line 803 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->pane_widget; +#line 803 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 803 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + result = _tmp1_; +#line 803 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return result; +#line 8742 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingRESTSupportGooglePublisherWebAuthenticationPane * self; + WebKitWebView* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 806 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPane); +#line 807 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = self->priv->webview; +#line 807 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = self->priv->auth_sequence_start_url; +#line 807 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + webkit_web_view_load_uri (_tmp0_, _tmp1_); +#line 8758 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingRESTSupportGooglePublisherWebAuthenticationPane * self; +#line 810 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPane); +#line 8766 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_class_init (PublishingRESTSupportGooglePublisherWebAuthenticationPaneClass * klass) { +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_web_authentication_pane_parent_class = g_type_class_peek_parent (klass); +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_class_add_private (klass, sizeof (PublishingRESTSupportGooglePublisherWebAuthenticationPanePrivate)); +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_rest_support_google_publisher_web_authentication_pane_finalize; +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_signal_new ("authorized", PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 8779 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_web_authentication_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_rest_support_google_publisher_web_authentication_pane_real_get_preferred_geometry; +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_rest_support_google_publisher_web_authentication_pane_real_get_widget; +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_rest_support_google_publisher_web_authentication_pane_real_on_pane_installed; +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_rest_support_google_publisher_web_authentication_pane_real_on_pane_uninstalled; +#line 8794 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_instance_init (PublishingRESTSupportGooglePublisherWebAuthenticationPane * self) { +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv = PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_WEB_AUTHENTICATION_PANE_GET_PRIVATE (self); +#line 8801 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_web_authentication_pane_finalize (GObject* obj) { + PublishingRESTSupportGooglePublisherWebAuthenticationPane * self; +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_WEB_AUTHENTICATION_PANE, PublishingRESTSupportGooglePublisherWebAuthenticationPane); +#line 739 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->webview); +#line 740 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 741 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->auth_sequence_start_url); +#line 736 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_OBJECT_CLASS (publishing_rest_support_google_publisher_web_authentication_pane_parent_class)->finalize (obj); +#line 8817 "RESTSupport.c" +} + + +static GType publishing_rest_support_google_publisher_web_authentication_pane_get_type (void) { + static volatile gsize publishing_rest_support_google_publisher_web_authentication_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_publisher_web_authentication_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGooglePublisherWebAuthenticationPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_publisher_web_authentication_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGooglePublisherWebAuthenticationPane), 0, (GInstanceInitFunc) publishing_rest_support_google_publisher_web_authentication_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_rest_support_google_publisher_web_authentication_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_rest_support_google_publisher_web_authentication_pane_type_id; + publishing_rest_support_google_publisher_web_authentication_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingRESTSupportGooglePublisherWebAuthenticationPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_rest_support_google_publisher_web_authentication_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_rest_support_google_publisher_web_authentication_pane_type_id__volatile, publishing_rest_support_google_publisher_web_authentication_pane_type_id); + } + return publishing_rest_support_google_publisher_web_authentication_pane_type_id__volatile; +} + + +static PublishingRESTSupportGooglePublisherGetAccessTokensTransaction* publishing_rest_support_google_publisher_get_access_tokens_transaction_construct (GType object_type, PublishingRESTSupportSession* session, const gchar* auth_code) { + PublishingRESTSupportGooglePublisherGetAccessTokensTransaction* self = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 817 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (session), NULL); +#line 817 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (auth_code != NULL, NULL); +#line 818 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = session; +#line 818 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisherGetAccessTokensTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_ACCESS_TOKENS_TRANSACTION_ENDPOINT_URL, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 820 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = auth_code; +#line 820 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "code", _tmp1_); +#line 821 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "client_id", PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_OAUTH_CLIENT_ID); +#line 822 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "client_secret", PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_OAUTH_CLIENT_SECRET); +#line 823 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "redirect_uri", "urn:ietf:wg:oauth:2.0:oob"); +#line 824 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "grant_type", "authorization_code"); +#line 817 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 8861 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherGetAccessTokensTransaction* publishing_rest_support_google_publisher_get_access_tokens_transaction_new (PublishingRESTSupportSession* session, const gchar* auth_code) { +#line 817 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_google_publisher_get_access_tokens_transaction_construct (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_GET_ACCESS_TOKENS_TRANSACTION, session, auth_code); +#line 8868 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_get_access_tokens_transaction_class_init (PublishingRESTSupportGooglePublisherGetAccessTokensTransactionClass * klass) { +#line 814 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_get_access_tokens_transaction_parent_class = g_type_class_peek_parent (klass); +#line 8875 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_get_access_tokens_transaction_instance_init (PublishingRESTSupportGooglePublisherGetAccessTokensTransaction * self) { +} + + +static GType publishing_rest_support_google_publisher_get_access_tokens_transaction_get_type (void) { + static volatile gsize publishing_rest_support_google_publisher_get_access_tokens_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_publisher_get_access_tokens_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGooglePublisherGetAccessTokensTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_publisher_get_access_tokens_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGooglePublisherGetAccessTokensTransaction), 0, (GInstanceInitFunc) publishing_rest_support_google_publisher_get_access_tokens_transaction_instance_init, NULL }; + GType publishing_rest_support_google_publisher_get_access_tokens_transaction_type_id; + publishing_rest_support_google_publisher_get_access_tokens_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingRESTSupportGooglePublisherGetAccessTokensTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rest_support_google_publisher_get_access_tokens_transaction_type_id__volatile, publishing_rest_support_google_publisher_get_access_tokens_transaction_type_id); + } + return publishing_rest_support_google_publisher_get_access_tokens_transaction_type_id__volatile; +} + + +static PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction* publishing_rest_support_google_publisher_refresh_access_token_transaction_construct (GType object_type, PublishingRESTSupportSession* session) { + PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction* self = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingRESTSupportSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 831 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_SESSION (session), NULL); +#line 832 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = session; +#line 832 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_REFRESH_ACCESS_TOKEN_TRANSACTION_ENDPOINT_URL, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 834 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "client_id", PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_OAUTH_CLIENT_ID); +#line 835 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "client_secret", PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_OAUTH_CLIENT_SECRET); +#line 836 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = session; +#line 836 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = publishing_rest_support_google_session_get_refresh_token (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession)); +#line 836 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = _tmp2_; +#line 836 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "refresh_token", _tmp3_); +#line 836 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp3_); +#line 837 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "grant_type", "refresh_token"); +#line 831 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 8925 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction* publishing_rest_support_google_publisher_refresh_access_token_transaction_new (PublishingRESTSupportSession* session) { +#line 831 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_google_publisher_refresh_access_token_transaction_construct (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_REFRESH_ACCESS_TOKEN_TRANSACTION, session); +#line 8932 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_refresh_access_token_transaction_class_init (PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionClass * klass) { +#line 828 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_refresh_access_token_transaction_parent_class = g_type_class_peek_parent (klass); +#line 8939 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_refresh_access_token_transaction_instance_init (PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction * self) { +} + + +static GType publishing_rest_support_google_publisher_refresh_access_token_transaction_get_type (void) { + static volatile gsize publishing_rest_support_google_publisher_refresh_access_token_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_publisher_refresh_access_token_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGooglePublisherRefreshAccessTokenTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_publisher_refresh_access_token_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction), 0, (GInstanceInitFunc) publishing_rest_support_google_publisher_refresh_access_token_transaction_instance_init, NULL }; + GType publishing_rest_support_google_publisher_refresh_access_token_transaction_type_id; + publishing_rest_support_google_publisher_refresh_access_token_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingRESTSupportGooglePublisherRefreshAccessTokenTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rest_support_google_publisher_refresh_access_token_transaction_type_id__volatile, publishing_rest_support_google_publisher_refresh_access_token_transaction_type_id); + } + return publishing_rest_support_google_publisher_refresh_access_token_transaction_type_id__volatile; +} + + +static PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method) { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRESTSupportHttpMethod _tmp2_ = 0; +#line 842 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 842 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (endpoint_url != NULL, NULL); +#line 844 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = session; +#line 844 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = endpoint_url; +#line 844 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = method; +#line 844 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisherAuthenticatedTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp2_); +#line 842 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 8978 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_new_with_endpoint_url (PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method) { +#line 842 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_google_publisher_authenticated_transaction_construct_with_endpoint_url (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, session, endpoint_url, method); +#line 8985 "RESTSupport.c" +} + + +PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method) { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRESTSupportHttpMethod _tmp2_ = 0; + PublishingRESTSupportGoogleSession* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportGoogleSession* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 847 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 847 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (endpoint_url != NULL, NULL); +#line 849 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = session; +#line 849 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp1_ = endpoint_url; +#line 849 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp2_ = method; +#line 849 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisherAuthenticatedTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp2_); +#line 850 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp3_ = session; +#line 850 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp4_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 850 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _vala_assert (_tmp4_, "session.is_authenticated()"); +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp5_ = session; +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp6_ = publishing_rest_support_google_session_get_access_token (_tmp5_); +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp7_ = _tmp6_; +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp8_ = g_strconcat ("Bearer ", _tmp7_, NULL); +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp9_ = _tmp8_; +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Authorization", _tmp9_); +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp9_); +#line 852 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (_tmp7_); +#line 847 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 9037 "RESTSupport.c" +} + + +PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_new (PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method) { +#line 847 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_google_publisher_authenticated_transaction_construct (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, session, endpoint_url, method); +#line 9044 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_authenticated_transaction_class_init (PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass * klass) { +#line 841 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_authenticated_transaction_parent_class = g_type_class_peek_parent (klass); +#line 9051 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_authenticated_transaction_instance_init (PublishingRESTSupportGooglePublisherAuthenticatedTransaction * self) { +} + + +GType publishing_rest_support_google_publisher_authenticated_transaction_get_type (void) { + static volatile gsize publishing_rest_support_google_publisher_authenticated_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_publisher_authenticated_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_publisher_authenticated_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGooglePublisherAuthenticatedTransaction), 0, (GInstanceInitFunc) publishing_rest_support_google_publisher_authenticated_transaction_instance_init, NULL }; + GType publishing_rest_support_google_publisher_authenticated_transaction_type_id; + publishing_rest_support_google_publisher_authenticated_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingRESTSupportGooglePublisherAuthenticatedTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rest_support_google_publisher_authenticated_transaction_type_id__volatile, publishing_rest_support_google_publisher_authenticated_transaction_type_id); + } + return publishing_rest_support_google_publisher_authenticated_transaction_type_id__volatile; +} + + +static PublishingRESTSupportGooglePublisherUsernameFetchTransaction* publishing_rest_support_google_publisher_username_fetch_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session) { + PublishingRESTSupportGooglePublisherUsernameFetchTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; +#line 859 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 860 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _tmp0_ = session; +#line 860 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = (PublishingRESTSupportGooglePublisherUsernameFetchTransaction*) publishing_rest_support_google_publisher_authenticated_transaction_construct (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_USERNAME_FETCH_TRANSACTION_ENDPOINT_URL, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 859 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return self; +#line 9082 "RESTSupport.c" +} + + +static PublishingRESTSupportGooglePublisherUsernameFetchTransaction* publishing_rest_support_google_publisher_username_fetch_transaction_new (PublishingRESTSupportGoogleSession* session) { +#line 859 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + return publishing_rest_support_google_publisher_username_fetch_transaction_construct (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_USERNAME_FETCH_TRANSACTION, session); +#line 9089 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_username_fetch_transaction_class_init (PublishingRESTSupportGooglePublisherUsernameFetchTransactionClass * klass) { +#line 856 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_username_fetch_transaction_parent_class = g_type_class_peek_parent (klass); +#line 9096 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_username_fetch_transaction_instance_init (PublishingRESTSupportGooglePublisherUsernameFetchTransaction * self) { +} + + +static GType publishing_rest_support_google_publisher_username_fetch_transaction_get_type (void) { + static volatile gsize publishing_rest_support_google_publisher_username_fetch_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_publisher_username_fetch_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGooglePublisherUsernameFetchTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_publisher_username_fetch_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGooglePublisherUsernameFetchTransaction), 0, (GInstanceInitFunc) publishing_rest_support_google_publisher_username_fetch_transaction_instance_init, NULL }; + GType publishing_rest_support_google_publisher_username_fetch_transaction_type_id; + publishing_rest_support_google_publisher_username_fetch_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, "PublishingRESTSupportGooglePublisherUsernameFetchTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rest_support_google_publisher_username_fetch_transaction_type_id__volatile, publishing_rest_support_google_publisher_username_fetch_transaction_type_id); + } + return publishing_rest_support_google_publisher_username_fetch_transaction_type_id__volatile; +} + + +static void publishing_rest_support_google_publisher_class_init (PublishingRESTSupportGooglePublisherClass * klass) { +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_parent_class = g_type_class_peek_parent (klass); +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + g_type_class_add_private (klass, sizeof (PublishingRESTSupportGooglePublisherPrivate)); +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->on_login_flow_complete = publishing_rest_support_google_publisher_real_on_login_flow_complete; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->do_logout = publishing_rest_support_google_publisher_real_do_logout; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->is_running = publishing_rest_support_google_publisher_real_is_running; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->start = publishing_rest_support_google_publisher_real_start; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->stop = publishing_rest_support_google_publisher_real_stop; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_rest_support_google_publisher_finalize; +#line 9133 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + publishing_rest_support_google_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_rest_support_google_publisher_is_running; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_rest_support_google_publisher_start; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_rest_support_google_publisher_stop; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_rest_support_google_publisher_real_get_service; +#line 9148 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_instance_init (PublishingRESTSupportGooglePublisher * self) { +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self->priv = PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_PRIVATE (self); +#line 9155 "RESTSupport.c" +} + + +static void publishing_rest_support_google_publisher_finalize (GObject* obj) { + PublishingRESTSupportGooglePublisher * self; +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher); +#line 864 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_free0 (self->priv->scope); +#line 865 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 866 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + _g_object_unref0 (self->priv->web_auth_pane); +#line 695 "/home/jens/Source/shotwell/plugins/common/RESTSupport.vala" + G_OBJECT_CLASS (publishing_rest_support_google_publisher_parent_class)->finalize (obj); +#line 9171 "RESTSupport.c" +} + + +GType publishing_rest_support_google_publisher_get_type (void) { + static volatile gsize publishing_rest_support_google_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rest_support_google_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRESTSupportGooglePublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rest_support_google_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRESTSupportGooglePublisher), 0, (GInstanceInitFunc) publishing_rest_support_google_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_rest_support_google_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_rest_support_google_publisher_type_id; + publishing_rest_support_google_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingRESTSupportGooglePublisher", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (publishing_rest_support_google_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_rest_support_google_publisher_type_id__volatile, publishing_rest_support_google_publisher_type_id); + } + return publishing_rest_support_google_publisher_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/plugins/common/RESTSupport.vala b/plugins/common/RESTSupport.vala index d9bf2ce..838192e 100644 --- a/plugins/common/RESTSupport.vala +++ b/plugins/common/RESTSupport.vala @@ -202,6 +202,9 @@ public class Transaction { case Soup.KnownStatusCode.CANT_CONNECT_PROXY: throw new Spit.Publishing.PublishingError.NO_ANSWER("Unable to connect to %s (error code %u)", get_endpoint_url(), message.status_code); + case Soup.KnownStatusCode.SSL_FAILED: + throw new Spit.Publishing.PublishingError.SSL_FAILED ("Unable to connect to %s: Secure connection failed", + get_endpoint_url ()); default: // status codes below 100 are used by Soup, 100 and above are defined HTTP codes diff --git a/plugins/common/Resources.c b/plugins/common/Resources.c new file mode 100644 index 0000000..dc7428b --- /dev/null +++ b/plugins/common/Resources.c @@ -0,0 +1,417 @@ +/* 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 Lesser General Public License + * (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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + + + +#define RESOURCES_WEBSITE_NAME _ ("Visit the Shotwell home page") +#define RESOURCES_WEBSITE_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" +#define RESOURCES_TRANSLATORS _ ("translator-credits") +GdkPixbuf** resources_load_icon_set (GFile* icon_file, int* result_length1); +static void _vala_array_add2 (GdkPixbuf*** array, int* length, int* size, GdkPixbuf* value); +GdkPixbuf** resources_load_from_resource (const gchar* resource_path, int* result_length1); +static void _vala_array_add3 (GdkPixbuf*** array, int* length, int* size, GdkPixbuf* value); +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 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + return self ? g_object_ref (self) : NULL; +#line 40 "Resources.c" +} + + +static void _vala_array_add2 (GdkPixbuf*** array, int* length, int* size, GdkPixbuf* value) { +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if ((*length) == (*size)) { +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *array = g_renew (GdkPixbuf*, *array, (*size) + 1); +#line 51 "Resources.c" + } +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + (*array)[(*length)++] = value; +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + (*array)[*length] = NULL; +#line 57 "Resources.c" +} + + +GdkPixbuf** resources_load_icon_set (GFile* icon_file, int* result_length1) { + GdkPixbuf** result = NULL; + GdkPixbuf* icon = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + GError * _inner_error_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + g_return_val_if_fail ((icon_file == NULL) || G_IS_FILE (icon_file), NULL); +#line 41 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon = NULL; +#line 72 "Resources.c" + { + GdkPixbuf* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp1_ = icon_file; +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp3_ = _tmp2_; +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp4_ = gdk_pixbuf_new_from_file (_tmp3_, &_inner_error_); +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp5_ = _tmp4_; +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_free0 (_tmp3_); +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp0_ = _tmp5_; +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 97 "Resources.c" + goto __catch9_g_error; + } +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp6_ = _tmp0_; +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp0_ = NULL; +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 43 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon = _tmp6_; +#line 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (_tmp0_); +#line 110 "Resources.c" + } + goto __finally9; + __catch9_g_error: + { + GError* err = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + err = _inner_error_; +#line 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _inner_error_ = NULL; +#line 45 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp7_ = icon_file; +#line 45 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp8_ = g_file_get_path (_tmp7_); +#line 45 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp9_ = _tmp8_; +#line 45 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + g_warning ("Resources.vala:45: couldn't load icon set from %s.", _tmp9_); +#line 45 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_free0 (_tmp9_); +#line 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_error_free0 (err); +#line 135 "Resources.c" + } + __finally9: +#line 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 42 "/home/jens/Source/shotwell/plugins/common/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 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + g_clear_error (&_inner_error_); +#line 42 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + return NULL; +#line 148 "Resources.c" + } +#line 48 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp10_ = icon; +#line 48 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (_tmp10_ != NULL) { +#line 154 "Resources.c" + GdkPixbuf** icon_pixbuf_set = NULL; + GdkPixbuf** _tmp11_ = NULL; + gint icon_pixbuf_set_length1 = 0; + gint _icon_pixbuf_set_size_ = 0; + GdkPixbuf** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf** _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 49 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp11_ = g_new0 (GdkPixbuf*, 0 + 1); +#line 49 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon_pixbuf_set = _tmp11_; +#line 49 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon_pixbuf_set_length1 = 0; +#line 49 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _icon_pixbuf_set_size_ = icon_pixbuf_set_length1; +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp12_ = icon_pixbuf_set; +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp12__length1 = icon_pixbuf_set_length1; +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp13_ = icon; +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp14_ = _g_object_ref0 (_tmp13_); +#line 50 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _vala_array_add2 (&icon_pixbuf_set, &icon_pixbuf_set_length1, &_icon_pixbuf_set_size_, _tmp14_); +#line 51 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp15_ = icon_pixbuf_set; +#line 51 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp15__length1 = icon_pixbuf_set_length1; +#line 51 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (result_length1) { +#line 51 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *result_length1 = _tmp15__length1; +#line 191 "Resources.c" + } +#line 51 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + result = _tmp15_; +#line 51 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 51 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + return result; +#line 199 "Resources.c" + } +#line 54 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp16_ = NULL; +#line 54 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp16__length1 = 0; +#line 54 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (result_length1) { +#line 54 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *result_length1 = _tmp16__length1; +#line 209 "Resources.c" + } +#line 54 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + result = _tmp16_; +#line 54 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 54 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + return result; +#line 217 "Resources.c" +} + + +static void _vala_array_add3 (GdkPixbuf*** array, int* length, int* size, GdkPixbuf* value) { +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if ((*length) == (*size)) { +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *array = g_renew (GdkPixbuf*, *array, (*size) + 1); +#line 228 "Resources.c" + } +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + (*array)[(*length)++] = value; +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + (*array)[*length] = NULL; +#line 234 "Resources.c" +} + + +GdkPixbuf** resources_load_from_resource (const gchar* resource_path, int* result_length1) { + GdkPixbuf** result = NULL; + GdkPixbuf* icon = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + GError * _inner_error_ = NULL; +#line 57 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + g_return_val_if_fail (resource_path != NULL, NULL); +#line 58 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon = NULL; +#line 249 "Resources.c" + { + GdkPixbuf* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp1_ = resource_path; +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp2_ = gdk_pixbuf_new_from_resource (_tmp1_, &_inner_error_); +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp0_ = _tmp2_; +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 263 "Resources.c" + goto __catch10_g_error; + } +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp3_ = _tmp0_; +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp0_ = NULL; +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 60 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon = _tmp3_; +#line 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (_tmp0_); +#line 276 "Resources.c" + } + goto __finally10; + __catch10_g_error: + { + GError* _error_ = NULL; + const gchar* _tmp4_ = NULL; +#line 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _error_ = _inner_error_; +#line 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _inner_error_ = NULL; +#line 62 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp4_ = resource_path; +#line 62 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + g_warning ("Resources.vala:62: Couldn't load icon set from %s", _tmp4_); +#line 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_error_free0 (_error_); +#line 293 "Resources.c" + } + __finally10: +#line 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 59 "/home/jens/Source/shotwell/plugins/common/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 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + g_clear_error (&_inner_error_); +#line 59 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + return NULL; +#line 306 "Resources.c" + } +#line 65 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp5_ = icon; +#line 65 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (_tmp5_ != NULL) { +#line 312 "Resources.c" + GdkPixbuf** icon_pixbuf_set = NULL; + GdkPixbuf** _tmp6_ = NULL; + gint icon_pixbuf_set_length1 = 0; + gint _icon_pixbuf_set_size_ = 0; + GdkPixbuf** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 66 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp6_ = g_new0 (GdkPixbuf*, 0 + 1); +#line 66 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon_pixbuf_set = _tmp6_; +#line 66 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + icon_pixbuf_set_length1 = 0; +#line 66 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _icon_pixbuf_set_size_ = icon_pixbuf_set_length1; +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp7_ = icon_pixbuf_set; +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp7__length1 = icon_pixbuf_set_length1; +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp8_ = icon; +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 67 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _vala_array_add3 (&icon_pixbuf_set, &icon_pixbuf_set_length1, &_icon_pixbuf_set_size_, _tmp9_); +#line 68 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp10_ = icon_pixbuf_set; +#line 68 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp10__length1 = icon_pixbuf_set_length1; +#line 68 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (result_length1) { +#line 68 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *result_length1 = _tmp10__length1; +#line 349 "Resources.c" + } +#line 68 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + result = _tmp10_; +#line 68 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 68 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + return result; +#line 357 "Resources.c" + } +#line 71 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp11_ = NULL; +#line 71 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _tmp11__length1 = 0; +#line 71 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + if (result_length1) { +#line 71 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + *result_length1 = _tmp11__length1; +#line 367 "Resources.c" + } +#line 71 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + result = _tmp11_; +#line 71 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + _g_object_unref0 (icon); +#line 71 "/home/jens/Source/shotwell/plugins/common/Resources.vala" + return result; +#line 375 "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/plugins/common/Resources.vala b/plugins/common/Resources.vala index 2bb1cb3..29c7294 100644 --- a/plugins/common/Resources.vala +++ b/plugins/common/Resources.vala @@ -6,6 +6,9 @@ namespace Resources { +[CCode (cname = "PLUGIN_RESOURCE_PATH")] +public extern const string RESOURCE_PATH; + public const string WEBSITE_NAME = _("Visit the Shotwell home page"); public const string WEBSITE_URL = "https://wiki.gnome.org/Apps/Shotwell"; @@ -42,7 +45,7 @@ public Gdk.Pixbuf[]? load_icon_set(GLib.File? icon_file) { warning("couldn't load icon set from %s.", icon_file.get_path()); } - if (icon_file != null) { + if (icon != null) { Gdk.Pixbuf[] icon_pixbuf_set = new Gdk.Pixbuf[0]; icon_pixbuf_set += icon; return icon_pixbuf_set; @@ -51,4 +54,21 @@ public Gdk.Pixbuf[]? load_icon_set(GLib.File? icon_file) { return null; } +public Gdk.Pixbuf[]? load_from_resource (string resource_path) { + Gdk.Pixbuf? icon = null; + try { + icon = new Gdk.Pixbuf.from_resource (resource_path); + } catch (Error error) { + warning ("Couldn't load icon set from %s", resource_path); + } + + if (icon != null) { + Gdk.Pixbuf[] icon_pixbuf_set = new Gdk.Pixbuf[0]; + icon_pixbuf_set += icon; + return icon_pixbuf_set; + } + + return null; +} + } diff --git a/plugins/plugins.mk b/plugins/plugins.mk deleted file mode 100644 index 687ceeb..0000000 --- a/plugins/plugins.mk +++ /dev/null @@ -1,40 +0,0 @@ - -PLUGINS := \ - common \ - shotwell-transitions \ - shotwell-publishing \ - shotwell-data-imports - -PLUGINS_RC := \ - plugins/shotwell-publishing/facebook.png \ - plugins/shotwell-publishing/facebook_publishing_options_pane.glade \ - plugins/shotwell-publishing/flickr.png \ - plugins/shotwell-publishing/flickr_publishing_options_pane.glade \ - plugins/shotwell-publishing/flickr_pin_entry_pane.glade \ - plugins/shotwell-publishing/picasa.png \ - plugins/shotwell-publishing/picasa_publishing_options_pane.glade \ - plugins/shotwell-publishing/youtube.png \ - plugins/shotwell-publishing/youtube_publishing_options_pane.glade \ - plugins/shotwell-publishing/piwigo.png \ - plugins/shotwell-publishing/piwigo_authentication_pane.glade \ - plugins/shotwell-publishing/piwigo_publishing_options_pane.glade \ - plugins/shotwell-transitions/slideshow-plugin.png - -EXTRA_PLUGINS := \ - shotwell-publishing-extras - -EXTRA_PLUGINS_RC := \ - plugins/shotwell-publishing-extras/yandex_publish_model.glade \ - plugins/shotwell-data-imports/f-spot-24.png \ - plugins/shotwell-publishing-extras/gallery3.png \ - plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade \ - plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade \ - plugins/shotwell-publishing-extras/tumblr.png \ - plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade \ - plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade \ - plugins/shotwell-publishing-extras/rajce.png \ - plugins/shotwell-publishing-extras/rajce_authentication_pane.glade \ - plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade - -ALL_PLUGINS := $(PLUGINS) $(EXTRA_PLUGINS) - diff --git a/plugins/shotwell-data-imports/FSpotDatabase.c b/plugins/shotwell-data-imports/FSpotDatabase.c new file mode 100644 index 0000000..31d70a7 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotDatabase.c @@ -0,0 +1,555 @@ +/* FSpotDatabase.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotDatabase.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE (data_imports_fspot_db_fspot_database_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabase)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabase DataImportsFSpotDbFSpotDatabase; +typedef struct _DataImportsFSpotDbFSpotDatabaseClass DataImportsFSpotDbFSpotDatabaseClass; +typedef struct _DataImportsFSpotDbFSpotDatabasePrivate DataImportsFSpotDbFSpotDatabasePrivate; + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE (data_imports_fspot_db_fspot_photos_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosTable DataImportsFSpotDbFSpotPhotosTable; +typedef struct _DataImportsFSpotDbFSpotPhotosTableClass DataImportsFSpotDbFSpotPhotosTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE (data_imports_fspot_db_fspot_photo_versions_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTable DataImportsFSpotDbFSpotPhotoVersionsTable; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTableClass DataImportsFSpotDbFSpotPhotoVersionsTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE (data_imports_fspot_db_fspot_tags_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotTagsTable DataImportsFSpotDbFSpotTagsTable; +typedef struct _DataImportsFSpotDbFSpotTagsTableClass DataImportsFSpotDbFSpotTagsTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE (data_imports_fspot_db_fspot_rolls_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsTable DataImportsFSpotDbFSpotRollsTable; +typedef struct _DataImportsFSpotDbFSpotRollsTableClass DataImportsFSpotDbFSpotRollsTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE (data_imports_fspot_db_fspot_meta_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE, DataImportsFSpotDbFSpotMetaTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE, DataImportsFSpotDbFSpotMetaTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE, DataImportsFSpotDbFSpotMetaTableClass)) + +typedef struct _DataImportsFSpotDbFSpotMetaTable DataImportsFSpotDbFSpotMetaTable; +typedef struct _DataImportsFSpotDbFSpotMetaTableClass DataImportsFSpotDbFSpotMetaTableClass; +#define _sqlite3_close0(var) ((var == NULL) ? NULL : (var = (sqlite3_close (var), NULL))) +#define _importable_database_table_unref0(var) ((var == NULL) ? NULL : (var = (importable_database_table_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define UTILS_TYPE_VERSION_NUMBER (utils_version_number_get_type ()) +#define UTILS_VERSION_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumber)) +#define UTILS_VERSION_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumberClass)) +#define UTILS_IS_VERSION_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UTILS_TYPE_VERSION_NUMBER)) +#define UTILS_IS_VERSION_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UTILS_TYPE_VERSION_NUMBER)) +#define UTILS_VERSION_NUMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumberClass)) + +typedef struct _UtilsVersionNumber UtilsVersionNumber; +typedef struct _UtilsVersionNumberClass UtilsVersionNumberClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR (data_imports_fspot_db_fspot_database_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseBehavior DataImportsFSpotDbFSpotDatabaseBehavior; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass DataImportsFSpotDbFSpotDatabaseBehaviorClass; + +struct _DataImportsFSpotDbFSpotDatabase { + GObject parent_instance; + DataImportsFSpotDbFSpotDatabasePrivate * priv; + DataImportsFSpotDbFSpotPhotosTable* photos_table; + DataImportsFSpotDbFSpotPhotoVersionsTable* photo_versions_table; + DataImportsFSpotDbFSpotTagsTable* tags_table; + DataImportsFSpotDbFSpotRollsTable* rolls_table; + gint64 hidden_tag_id; +}; + +struct _DataImportsFSpotDbFSpotDatabaseClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotDatabasePrivate { + sqlite3* fspot_db; + DataImportsFSpotDbFSpotMetaTable* meta_table; +}; + +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 data_imports_fspot_db_fspot_database_parent_class = NULL; + +#define DATA_IMPORTS_FSPOT_DB_NULL_ID ((gint64) 0) +#define DATA_IMPORTS_FSPOT_DB_INVALID_ID ((gint64) -1) +void data_imports_fspot_db_init (void); +void data_imports_fspot_db_fspot_database_behavior_create_behavior_map (void); +GType data_imports_fspot_db_fspot_database_get_type (void) G_GNUC_CONST; +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photos_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_versions_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_tags_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_rolls_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_meta_table_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabasePrivate)) +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_DUMMY_PROPERTY +}; +GQuark database_error_quark (void); +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_new (GFile* db_file, GError** error); +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_construct (GType object_type, GFile* db_file, GError** error); +DataImportsFSpotDbFSpotMetaTable* data_imports_fspot_db_fspot_meta_table_new (sqlite3* db); +DataImportsFSpotDbFSpotMetaTable* data_imports_fspot_db_fspot_meta_table_construct (GType object_type, sqlite3* db); +gint64 data_imports_fspot_db_fspot_meta_table_get_hidden_tag_id (DataImportsFSpotDbFSpotMetaTable* self, GError** error); +GType utils_version_number_get_type (void) G_GNUC_CONST; +static UtilsVersionNumber* data_imports_fspot_db_fspot_database_get_version (DataImportsFSpotDbFSpotDatabase* self, GError** error); +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotDatabaseBehavior* data_imports_fspot_db_fspot_database_behavior_new (UtilsVersionNumber* version, GError** error); +DataImportsFSpotDbFSpotDatabaseBehavior* data_imports_fspot_db_fspot_database_behavior_construct (GType object_type, UtilsVersionNumber* version, GError** error); +DataImportsFSpotDbFSpotPhotosTable* data_imports_fspot_db_fspot_photos_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotPhotosTable* data_imports_fspot_db_fspot_photos_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotPhotoVersionsTable* data_imports_fspot_db_fspot_photo_versions_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotPhotoVersionsTable* data_imports_fspot_db_fspot_photo_versions_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotTagsTable* data_imports_fspot_db_fspot_tags_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotTagsTable* data_imports_fspot_db_fspot_tags_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotRollsTable* data_imports_fspot_db_fspot_rolls_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotRollsTable* data_imports_fspot_db_fspot_rolls_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +gchar* data_imports_fspot_db_fspot_meta_table_get_db_version (DataImportsFSpotDbFSpotMetaTable* self, GError** error); +UtilsVersionNumber* utils_version_number_new_from_string (const gchar* str_version, const gchar* separator); +UtilsVersionNumber* utils_version_number_construct_from_string (GType object_type, const gchar* str_version, const gchar* separator); +static void data_imports_fspot_db_fspot_database_finalize (GObject* obj); + + +/** + * Initialization method for the whole module. + */ +void data_imports_fspot_db_init (void) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + data_imports_fspot_db_fspot_database_behavior_create_behavior_map (); +#line 209 "FSpotDatabase.c" +} + + +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_construct (GType object_type, GFile* db_file, GError** error) { + DataImportsFSpotDbFSpotDatabase * self = NULL; + gchar* filename = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint res = 0; + sqlite3* _tmp2_ = NULL; + gint _tmp3_ = 0; + sqlite3* _tmp5_ = NULL; + DataImportsFSpotDbFSpotMetaTable* _tmp6_ = NULL; + gint64 _tmp7_ = 0LL; + DataImportsFSpotDbFSpotMetaTable* _tmp8_ = NULL; + gint64 _tmp9_ = 0LL; + UtilsVersionNumber* _tmp10_ = NULL; + UtilsVersionNumber* _tmp11_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp12_ = NULL; + sqlite3* _tmp13_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp14_ = NULL; + DataImportsFSpotDbFSpotPhotosTable* _tmp15_ = NULL; + sqlite3* _tmp16_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp17_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsTable* _tmp18_ = NULL; + sqlite3* _tmp19_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp20_ = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp21_ = NULL; + sqlite3* _tmp22_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp23_ = NULL; + DataImportsFSpotDbFSpotRollsTable* _tmp24_ = NULL; + GError * _inner_error_ = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_return_val_if_fail (G_IS_FILE (db_file), NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self = (DataImportsFSpotDbFSpotDatabase*) g_object_new (object_type, NULL); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp0_ = db_file; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + filename = _tmp1_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp3_ = sqlite3_open_v2 (filename, &_tmp2_, SQLITE_OPEN_READONLY, NULL); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _sqlite3_close0 (self->priv->fspot_db); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->priv->fspot_db = _tmp2_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + res = _tmp3_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if (res != SQLITE_OK) { +#line 263 "FSpotDatabase.c" + GError* _tmp4_ = NULL; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp4_ = g_error_new (DATABASE_ERROR, DATABASE_ERROR_ERROR, "Unable to open F-Spot database %s: %d", filename, res); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _inner_error_ = _tmp4_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if ((_inner_error_->domain == DATABASE_ERROR) || (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR)) { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_propagate_error (error, _inner_error_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (self); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 279 "FSpotDatabase.c" + } else { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_clear_error (&_inner_error_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 289 "FSpotDatabase.c" + } + } +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp5_ = self->priv->fspot_db; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp6_ = data_imports_fspot_db_fspot_meta_table_new (_tmp5_); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->priv->meta_table); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->priv->meta_table = _tmp6_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp8_ = self->priv->meta_table; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp9_ = data_imports_fspot_db_fspot_meta_table_get_hidden_tag_id (_tmp8_, &_inner_error_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp7_ = _tmp9_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if ((_inner_error_->domain == DATABASE_ERROR) || (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR)) { +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_propagate_error (error, _inner_error_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (self); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 318 "FSpotDatabase.c" + } else { +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_clear_error (&_inner_error_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 328 "FSpotDatabase.c" + } + } +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->hidden_tag_id = _tmp7_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp11_ = data_imports_fspot_db_fspot_database_get_version (self, &_inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp10_ = _tmp11_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if ((_inner_error_->domain == DATABASE_ERROR) || (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR)) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_propagate_error (error, _inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (self); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 349 "FSpotDatabase.c" + } else { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_clear_error (&_inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 359 "FSpotDatabase.c" + } + } +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp12_ = data_imports_fspot_db_fspot_database_behavior_new (_tmp10_, &_inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + db_behavior = _tmp12_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if ((_inner_error_->domain == DATABASE_ERROR) || (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR)) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_propagate_error (error, _inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (_tmp10_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (self); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 380 "FSpotDatabase.c" + } else { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (_tmp10_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_clear_error (&_inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 392 "FSpotDatabase.c" + } + } +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp13_ = self->priv->fspot_db; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp14_ = db_behavior; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp15_ = data_imports_fspot_db_fspot_photos_table_new (_tmp13_, _tmp14_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->photos_table); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->photos_table = _tmp15_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp16_ = self->priv->fspot_db; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp17_ = db_behavior; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp18_ = data_imports_fspot_db_fspot_photo_versions_table_new (_tmp16_, _tmp17_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->photo_versions_table); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->photo_versions_table = _tmp18_; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp19_ = self->priv->fspot_db; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp20_ = db_behavior; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp21_ = data_imports_fspot_db_fspot_tags_table_new (_tmp19_, _tmp20_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->tags_table); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->tags_table = _tmp21_; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp22_ = self->priv->fspot_db; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp23_ = db_behavior; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp24_ = data_imports_fspot_db_fspot_rolls_table_new (_tmp22_, _tmp23_); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->rolls_table); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->rolls_table = _tmp24_; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (db_behavior); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_object_unref0 (_tmp10_); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (filename); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return self; +#line 443 "FSpotDatabase.c" +} + + +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_new (GFile* db_file, GError** error) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return data_imports_fspot_db_fspot_database_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, db_file, error); +#line 450 "FSpotDatabase.c" +} + + +static UtilsVersionNumber* data_imports_fspot_db_fspot_database_get_version (DataImportsFSpotDbFSpotDatabase* self, GError** error) { + UtilsVersionNumber* result = NULL; + gchar* _tmp0_ = NULL; + DataImportsFSpotDbFSpotMetaTable* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + UtilsVersionNumber* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE (self), NULL); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp1_ = self->priv->meta_table; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp2_ = data_imports_fspot_db_fspot_meta_table_get_db_version (_tmp1_, &_inner_error_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp0_ = _tmp2_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_propagate_error (error, _inner_error_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 477 "FSpotDatabase.c" + } else { +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_clear_error (&_inner_error_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return NULL; +#line 485 "FSpotDatabase.c" + } + } +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _tmp3_ = utils_version_number_new_from_string (_tmp0_, "."); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + result = _tmp3_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _g_free0 (_tmp0_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + return result; +#line 496 "FSpotDatabase.c" +} + + +static void data_imports_fspot_db_fspot_database_class_init (DataImportsFSpotDbFSpotDatabaseClass * klass) { +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + data_imports_fspot_db_fspot_database_parent_class = g_type_class_peek_parent (klass); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotDbFSpotDatabasePrivate)); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_database_finalize; +#line 507 "FSpotDatabase.c" +} + + +static void data_imports_fspot_db_fspot_database_instance_init (DataImportsFSpotDbFSpotDatabase * self) { +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self->priv = DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_GET_PRIVATE (self); +#line 514 "FSpotDatabase.c" +} + + +static void data_imports_fspot_db_fspot_database_finalize (GObject* obj) { + DataImportsFSpotDbFSpotDatabase * self; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabase); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _sqlite3_close0 (self->priv->fspot_db); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->priv->meta_table); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->photos_table); +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->photo_versions_table); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->tags_table); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + _importable_database_table_unref0 (self->rolls_table); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabase.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_database_parent_class)->finalize (obj); +#line 536 "FSpotDatabase.c" +} + + +/** + * An object that is able to read from the F-Spot + * database and extract the relevant objects. + */ +GType data_imports_fspot_db_fspot_database_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_database_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_database_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotDatabaseClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_database_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotDatabase), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_database_instance_init, NULL }; + GType data_imports_fspot_db_fspot_database_type_id; + data_imports_fspot_db_fspot_database_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotDatabase", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_database_type_id__volatile, data_imports_fspot_db_fspot_database_type_id); + } + return data_imports_fspot_db_fspot_database_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotDatabaseBehavior.c b/plugins/shotwell-data-imports/FSpotDatabaseBehavior.c new file mode 100644 index 0000000..b20f73f --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotDatabaseBehavior.c @@ -0,0 +1,2085 @@ +/* FSpotDatabaseBehavior.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotDatabaseBehavior.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY (data_imports_fspot_db_fspot_behavior_entry_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_BEHAVIOR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, DataImportsFSpotDbFSpotBehaviorEntry)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_BEHAVIOR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, DataImportsFSpotDbFSpotBehaviorEntryClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_BEHAVIOR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_BEHAVIOR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_BEHAVIOR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, DataImportsFSpotDbFSpotBehaviorEntryClass)) + +typedef struct _DataImportsFSpotDbFSpotBehaviorEntry DataImportsFSpotDbFSpotBehaviorEntry; +typedef struct _DataImportsFSpotDbFSpotBehaviorEntryClass DataImportsFSpotDbFSpotBehaviorEntryClass; +typedef struct _DataImportsFSpotDbFSpotBehaviorEntryPrivate DataImportsFSpotDbFSpotBehaviorEntryPrivate; + +#define UTILS_TYPE_VERSION_NUMBER (utils_version_number_get_type ()) +#define UTILS_VERSION_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumber)) +#define UTILS_VERSION_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumberClass)) +#define UTILS_IS_VERSION_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UTILS_TYPE_VERSION_NUMBER)) +#define UTILS_IS_VERSION_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UTILS_TYPE_VERSION_NUMBER)) +#define UTILS_VERSION_NUMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumberClass)) + +typedef struct _UtilsVersionNumber UtilsVersionNumber; +typedef struct _UtilsVersionNumberClass UtilsVersionNumberClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _DataImportsFSpotDbParamSpecFSpotBehaviorEntry DataImportsFSpotDbParamSpecFSpotBehaviorEntry; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR (data_imports_fspot_db_fspot_database_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseBehavior DataImportsFSpotDbFSpotDatabaseBehavior; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass DataImportsFSpotDbFSpotDatabaseBehaviorClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorPrivate DataImportsFSpotDbFSpotDatabaseBehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW (data_imports_fspot_db_fspot_photo_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoRow DataImportsFSpotDbFSpotPhotoRow; +typedef struct _DataImportsFSpotDbFSpotPhotoRowClass DataImportsFSpotDbFSpotPhotoRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW (data_imports_fspot_db_fspot_tag_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) + +typedef struct _DataImportsFSpotDbFSpotTagRow DataImportsFSpotDbFSpotTagRow; +typedef struct _DataImportsFSpotDbFSpotTagRowClass DataImportsFSpotDbFSpotTagRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW (data_imports_fspot_db_fspot_photo_tag_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoTagRow DataImportsFSpotDbFSpotPhotoTagRow; +typedef struct _DataImportsFSpotDbFSpotPhotoTagRowClass DataImportsFSpotDbFSpotPhotoTagRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW (data_imports_fspot_db_fspot_photo_version_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRow DataImportsFSpotDbFSpotPhotoVersionRow; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowClass DataImportsFSpotDbFSpotPhotoVersionRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW (data_imports_fspot_db_fspot_roll_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) + +typedef struct _DataImportsFSpotDbFSpotRollRow DataImportsFSpotDbFSpotRollRow; +typedef struct _DataImportsFSpotDbFSpotRollRowClass DataImportsFSpotDbFSpotRollRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR (data_imports_fspot_db_fspot_photos_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV0Behavior DataImportsFSpotDbFSpotPhotosV0Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV0BehaviorClass DataImportsFSpotDbFSpotPhotosV0BehaviorClass; +#define _data_imports_fspot_db_fspot_behavior_entry_unref0(var) ((var == NULL) ? NULL : (var = (data_imports_fspot_db_fspot_behavior_entry_unref (var), NULL))) + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR (data_imports_fspot_db_fspot_photos_v5_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V5_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV5Behavior DataImportsFSpotDbFSpotPhotosV5Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV5BehaviorClass DataImportsFSpotDbFSpotPhotosV5BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR (data_imports_fspot_db_fspot_photos_v7_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V7_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V7_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V7_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V7_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V7_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV7Behavior DataImportsFSpotDbFSpotPhotosV7Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV7BehaviorClass DataImportsFSpotDbFSpotPhotosV7BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR (data_imports_fspot_db_fspot_photos_v11_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V11_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V11_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V11_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V11_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V11_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV11Behavior DataImportsFSpotDbFSpotPhotosV11Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV11BehaviorClass DataImportsFSpotDbFSpotPhotosV11BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR (data_imports_fspot_db_fspot_photos_v16_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V16_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV16Behavior DataImportsFSpotDbFSpotPhotosV16Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV16BehaviorClass DataImportsFSpotDbFSpotPhotosV16BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR (data_imports_fspot_db_fspot_photos_v17_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V17_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV17Behavior DataImportsFSpotDbFSpotPhotosV17Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV17BehaviorClass DataImportsFSpotDbFSpotPhotosV17BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR (data_imports_fspot_db_fspot_photos_v18_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V18_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV18Behavior DataImportsFSpotDbFSpotPhotosV18Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV18BehaviorClass DataImportsFSpotDbFSpotPhotosV18BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR (data_imports_fspot_db_fspot_tags_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotTagsV0Behavior DataImportsFSpotDbFSpotTagsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotTagsV0BehaviorClass DataImportsFSpotDbFSpotTagsV0BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR (data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoTagsV0Behavior DataImportsFSpotDbFSpotPhotoTagsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV0Behavior DataImportsFSpotDbFSpotPhotoVersionsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV9Behavior DataImportsFSpotDbFSpotPhotoVersionsV9Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV16Behavior DataImportsFSpotDbFSpotPhotoVersionsV16Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV17Behavior DataImportsFSpotDbFSpotPhotoVersionsV17Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV18Behavior DataImportsFSpotDbFSpotPhotoVersionsV18Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR (data_imports_fspot_db_fspot_rolls_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsV0Behavior DataImportsFSpotDbFSpotRollsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotRollsV0BehaviorClass DataImportsFSpotDbFSpotRollsV0BehaviorClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR (data_imports_fspot_db_fspot_rolls_v5_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V5_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsV5Behavior DataImportsFSpotDbFSpotRollsV5Behavior; +typedef struct _DataImportsFSpotDbFSpotRollsV5BehaviorClass DataImportsFSpotDbFSpotRollsV5BehaviorClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +struct _DataImportsFSpotDbFSpotBehaviorEntry { + GTypeInstance parent_instance; + volatile int ref_count; + DataImportsFSpotDbFSpotBehaviorEntryPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotBehaviorEntryClass { + GTypeClass parent_class; + void (*finalize) (DataImportsFSpotDbFSpotBehaviorEntry *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotBehaviorEntryPrivate { + UtilsVersionNumber* version; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbParamSpecFSpotBehaviorEntry { + GParamSpec parent_instance; +}; + +struct _DataImportsFSpotDbFSpotDatabaseBehavior { + GObject parent_instance; + DataImportsFSpotDbFSpotDatabaseBehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotDatabaseBehaviorPrivate { + DataImportsFSpotDbFSpotTableBehavior* photos_behavior; + DataImportsFSpotDbFSpotTableBehavior* tags_behavior; + DataImportsFSpotDbFSpotTableBehavior* photo_tags_behavior; + DataImportsFSpotDbFSpotTableBehavior* photo_versions_behavior; + DataImportsFSpotDbFSpotTableBehavior* rolls_behavior; +}; + + +static gpointer data_imports_fspot_db_fspot_behavior_entry_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_database_behavior_parent_class = NULL; +extern UtilsVersionNumber* data_imports_fspot_db_fspot_database_behavior_MIN_UNSUPPORTED_VERSION; +UtilsVersionNumber* data_imports_fspot_db_fspot_database_behavior_MIN_UNSUPPORTED_VERSION = NULL; +static GeeMap* data_imports_fspot_db_fspot_database_behavior_behavior_map; +static GeeMap* data_imports_fspot_db_fspot_database_behavior_behavior_map = NULL; + +gpointer data_imports_fspot_db_fspot_behavior_entry_ref (gpointer instance); +void data_imports_fspot_db_fspot_behavior_entry_unref (gpointer instance); +GParamSpec* data_imports_fspot_db_param_spec_fspot_behavior_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void data_imports_fspot_db_value_set_fspot_behavior_entry (GValue* value, gpointer v_object); +void data_imports_fspot_db_value_take_fspot_behavior_entry (GValue* value, gpointer v_object); +gpointer data_imports_fspot_db_value_get_fspot_behavior_entry (const GValue* value); +GType data_imports_fspot_db_fspot_behavior_entry_get_type (void) G_GNUC_CONST; +GType utils_version_number_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_BEHAVIOR_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, DataImportsFSpotDbFSpotBehaviorEntryPrivate)) +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_BEHAVIOR_ENTRY_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotBehaviorEntry* data_imports_fspot_db_fspot_behavior_entry_new (UtilsVersionNumber* version, DataImportsFSpotDbFSpotTableBehavior* behavior); +DataImportsFSpotDbFSpotBehaviorEntry* data_imports_fspot_db_fspot_behavior_entry_construct (GType object_type, UtilsVersionNumber* version, DataImportsFSpotDbFSpotTableBehavior* behavior); +UtilsVersionNumber* data_imports_fspot_db_fspot_behavior_entry_get_version (DataImportsFSpotDbFSpotBehaviorEntry* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_behavior_entry_get_behavior (DataImportsFSpotDbFSpotBehaviorEntry* self); +static void data_imports_fspot_db_fspot_behavior_entry_finalize (DataImportsFSpotDbFSpotBehaviorEntry* obj); +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_tag_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_tag_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_version_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_roll_row_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorPrivate)) +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_DUMMY_PROPERTY +}; +UtilsVersionNumber* utils_version_number_new (gint* version, int version_length1); +UtilsVersionNumber* utils_version_number_construct (GType object_type, gint* version, int version_length1); +void data_imports_fspot_db_fspot_database_behavior_create_behavior_map (void); +GType data_imports_fspot_db_fspot_photos_v0_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photos_v5_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photos_v7_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photos_v11_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photos_v16_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photos_v17_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photos_v18_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_get_instance (void); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME "Photos" +GType data_imports_fspot_db_fspot_tags_v0_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_get_instance (void); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_TABLE_NAME "Tags" +GType data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_instance (void); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_TABLE_NAME "Photo_Tags" +GType data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_instance (void); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME "Photo_versions" +GType data_imports_fspot_db_fspot_rolls_v0_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_get_instance (void); +GType data_imports_fspot_db_fspot_rolls_v5_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_get_instance (void); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_TABLE_NAME "Rolls" +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_find_behavior (const gchar* table_name, UtilsVersionNumber* version); +DataImportsFSpotDbFSpotDatabaseBehavior* data_imports_fspot_db_fspot_database_behavior_new (UtilsVersionNumber* version, GError** error); +DataImportsFSpotDbFSpotDatabaseBehavior* data_imports_fspot_db_fspot_database_behavior_construct (GType object_type, UtilsVersionNumber* version, GError** error); +gchar* utils_version_number_to_string (UtilsVersionNumber* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photos_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_tags_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photo_tags_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photo_versions_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_rolls_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +static void data_imports_fspot_db_fspot_database_behavior_finalize (GObject* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return self ? g_object_ref (self) : NULL; +#line 410 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotBehaviorEntry* data_imports_fspot_db_fspot_behavior_entry_construct (GType object_type, UtilsVersionNumber* version, DataImportsFSpotDbFSpotTableBehavior* behavior) { + DataImportsFSpotDbFSpotBehaviorEntry* self = NULL; + UtilsVersionNumber* _tmp0_ = NULL; + UtilsVersionNumber* _tmp1_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp3_ = NULL; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (UTILS_IS_VERSION_NUMBER (version), NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR (behavior), NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self = (DataImportsFSpotDbFSpotBehaviorEntry*) g_type_create_instance (object_type); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = version; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->version); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv->version = _tmp1_; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp2_ = behavior; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->behavior); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv->behavior = _tmp3_; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return self; +#line 444 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotBehaviorEntry* data_imports_fspot_db_fspot_behavior_entry_new (UtilsVersionNumber* version, DataImportsFSpotDbFSpotTableBehavior* behavior) { +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return data_imports_fspot_db_fspot_behavior_entry_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, version, behavior); +#line 451 "FSpotDatabaseBehavior.c" +} + + +UtilsVersionNumber* data_imports_fspot_db_fspot_behavior_entry_get_version (DataImportsFSpotDbFSpotBehaviorEntry* self) { + UtilsVersionNumber* result = NULL; + UtilsVersionNumber* _tmp0_ = NULL; + UtilsVersionNumber* _tmp1_ = NULL; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_BEHAVIOR_ENTRY (self), NULL); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = self->priv->version; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = _tmp1_; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 469 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_behavior_entry_get_behavior (DataImportsFSpotDbFSpotBehaviorEntry* self) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_BEHAVIOR_ENTRY (self), NULL); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = self->priv->behavior; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = _tmp1_; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 487 "FSpotDatabaseBehavior.c" +} + + +static void data_imports_fspot_db_value_fspot_behavior_entry_init (GValue* value) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + value->data[0].v_pointer = NULL; +#line 494 "FSpotDatabaseBehavior.c" +} + + +static void data_imports_fspot_db_value_fspot_behavior_entry_free_value (GValue* value) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_behavior_entry_unref (value->data[0].v_pointer); +#line 503 "FSpotDatabaseBehavior.c" + } +} + + +static void data_imports_fspot_db_value_fspot_behavior_entry_copy_value (const GValue* src_value, GValue* dest_value) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (src_value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + dest_value->data[0].v_pointer = data_imports_fspot_db_fspot_behavior_entry_ref (src_value->data[0].v_pointer); +#line 513 "FSpotDatabaseBehavior.c" + } else { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + dest_value->data[0].v_pointer = NULL; +#line 517 "FSpotDatabaseBehavior.c" + } +} + + +static gpointer data_imports_fspot_db_value_fspot_behavior_entry_peek_pointer (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return value->data[0].v_pointer; +#line 525 "FSpotDatabaseBehavior.c" +} + + +static gchar* data_imports_fspot_db_value_fspot_behavior_entry_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (collect_values[0].v_pointer) { +#line 532 "FSpotDatabaseBehavior.c" + DataImportsFSpotDbFSpotBehaviorEntry* object; + object = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (object->parent_instance.g_class == NULL) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 539 "FSpotDatabaseBehavior.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.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 543 "FSpotDatabaseBehavior.c" + } +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + value->data[0].v_pointer = data_imports_fspot_db_fspot_behavior_entry_ref (object); +#line 547 "FSpotDatabaseBehavior.c" + } else { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + value->data[0].v_pointer = NULL; +#line 551 "FSpotDatabaseBehavior.c" + } +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return NULL; +#line 555 "FSpotDatabaseBehavior.c" +} + + +static gchar* data_imports_fspot_db_value_fspot_behavior_entry_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DataImportsFSpotDbFSpotBehaviorEntry** object_p; + object_p = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (!object_p) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 566 "FSpotDatabaseBehavior.c" + } +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (!value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + *object_p = NULL; +#line 572 "FSpotDatabaseBehavior.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + *object_p = value->data[0].v_pointer; +#line 576 "FSpotDatabaseBehavior.c" + } else { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + *object_p = data_imports_fspot_db_fspot_behavior_entry_ref (value->data[0].v_pointer); +#line 580 "FSpotDatabaseBehavior.c" + } +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return NULL; +#line 584 "FSpotDatabaseBehavior.c" +} + + +GParamSpec* data_imports_fspot_db_param_spec_fspot_behavior_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + DataImportsFSpotDbParamSpecFSpotBehaviorEntry* spec; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (g_type_is_a (object_type, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY), NULL); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return G_PARAM_SPEC (spec); +#line 598 "FSpotDatabaseBehavior.c" +} + + +gpointer data_imports_fspot_db_value_get_fspot_behavior_entry (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY), NULL); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return value->data[0].v_pointer; +#line 607 "FSpotDatabaseBehavior.c" +} + + +void data_imports_fspot_db_value_set_fspot_behavior_entry (GValue* value, gpointer v_object) { + DataImportsFSpotDbFSpotBehaviorEntry* old; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY)); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY)); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.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/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + value->data[0].v_pointer = v_object; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_behavior_entry_ref (value->data[0].v_pointer); +#line 627 "FSpotDatabaseBehavior.c" + } else { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + value->data[0].v_pointer = NULL; +#line 631 "FSpotDatabaseBehavior.c" + } +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_behavior_entry_unref (old); +#line 637 "FSpotDatabaseBehavior.c" + } +} + + +void data_imports_fspot_db_value_take_fspot_behavior_entry (GValue* value, gpointer v_object) { + DataImportsFSpotDbFSpotBehaviorEntry* old; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY)); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY)); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.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/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + value->data[0].v_pointer = v_object; +#line 656 "FSpotDatabaseBehavior.c" + } else { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + value->data[0].v_pointer = NULL; +#line 660 "FSpotDatabaseBehavior.c" + } +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_behavior_entry_unref (old); +#line 666 "FSpotDatabaseBehavior.c" + } +} + + +static void data_imports_fspot_db_fspot_behavior_entry_class_init (DataImportsFSpotDbFSpotBehaviorEntryClass * klass) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_behavior_entry_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + ((DataImportsFSpotDbFSpotBehaviorEntryClass *) klass)->finalize = data_imports_fspot_db_fspot_behavior_entry_finalize; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotDbFSpotBehaviorEntryPrivate)); +#line 678 "FSpotDatabaseBehavior.c" +} + + +static void data_imports_fspot_db_fspot_behavior_entry_instance_init (DataImportsFSpotDbFSpotBehaviorEntry * self) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv = DATA_IMPORTS_FSPOT_DB_FSPOT_BEHAVIOR_ENTRY_GET_PRIVATE (self); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->ref_count = 1; +#line 687 "FSpotDatabaseBehavior.c" +} + + +static void data_imports_fspot_db_fspot_behavior_entry_finalize (DataImportsFSpotDbFSpotBehaviorEntry* obj) { + DataImportsFSpotDbFSpotBehaviorEntry * self; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, DataImportsFSpotDbFSpotBehaviorEntry); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_signal_handlers_destroy (self); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->version); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->behavior); +#line 701 "FSpotDatabaseBehavior.c" +} + + +GType data_imports_fspot_db_fspot_behavior_entry_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_behavior_entry_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_behavior_entry_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { data_imports_fspot_db_value_fspot_behavior_entry_init, data_imports_fspot_db_value_fspot_behavior_entry_free_value, data_imports_fspot_db_value_fspot_behavior_entry_copy_value, data_imports_fspot_db_value_fspot_behavior_entry_peek_pointer, "p", data_imports_fspot_db_value_fspot_behavior_entry_collect_value, "p", data_imports_fspot_db_value_fspot_behavior_entry_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotBehaviorEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_behavior_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotBehaviorEntry), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_behavior_entry_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_imports_fspot_db_fspot_behavior_entry_type_id; + data_imports_fspot_db_fspot_behavior_entry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DataImportsFSpotDbFSpotBehaviorEntry", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_behavior_entry_type_id__volatile, data_imports_fspot_db_fspot_behavior_entry_type_id); + } + return data_imports_fspot_db_fspot_behavior_entry_type_id__volatile; +} + + +gpointer data_imports_fspot_db_fspot_behavior_entry_ref (gpointer instance) { + DataImportsFSpotDbFSpotBehaviorEntry* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_atomic_int_inc (&self->ref_count); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return instance; +#line 726 "FSpotDatabaseBehavior.c" +} + + +void data_imports_fspot_db_fspot_behavior_entry_unref (gpointer instance) { + DataImportsFSpotDbFSpotBehaviorEntry* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + DATA_IMPORTS_FSPOT_DB_FSPOT_BEHAVIOR_ENTRY_GET_CLASS (self)->finalize (self); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 739 "FSpotDatabaseBehavior.c" + } +} + + +void data_imports_fspot_db_fspot_database_behavior_create_behavior_map (void) { + GeeHashMap* _tmp0_ = NULL; + GeeList* photos_list = NULL; + GeeArrayList* _tmp1_ = NULL; + gint* _tmp2_ = NULL; + gint* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + UtilsVersionNumber* _tmp4_ = NULL; + UtilsVersionNumber* _tmp5_ = NULL; + DataImportsFSpotDbFSpotPhotosV0Behavior* _tmp6_ = NULL; + DataImportsFSpotDbFSpotPhotosV0Behavior* _tmp7_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp8_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp9_ = NULL; + gint* _tmp10_ = NULL; + gint* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + UtilsVersionNumber* _tmp12_ = NULL; + UtilsVersionNumber* _tmp13_ = NULL; + DataImportsFSpotDbFSpotPhotosV5Behavior* _tmp14_ = NULL; + DataImportsFSpotDbFSpotPhotosV5Behavior* _tmp15_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp16_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp17_ = NULL; + gint* _tmp18_ = NULL; + gint* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + UtilsVersionNumber* _tmp20_ = NULL; + UtilsVersionNumber* _tmp21_ = NULL; + DataImportsFSpotDbFSpotPhotosV7Behavior* _tmp22_ = NULL; + DataImportsFSpotDbFSpotPhotosV7Behavior* _tmp23_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp24_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp25_ = NULL; + gint* _tmp26_ = NULL; + gint* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + UtilsVersionNumber* _tmp28_ = NULL; + UtilsVersionNumber* _tmp29_ = NULL; + DataImportsFSpotDbFSpotPhotosV11Behavior* _tmp30_ = NULL; + DataImportsFSpotDbFSpotPhotosV11Behavior* _tmp31_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp32_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp33_ = NULL; + gint* _tmp34_ = NULL; + gint* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + UtilsVersionNumber* _tmp36_ = NULL; + UtilsVersionNumber* _tmp37_ = NULL; + DataImportsFSpotDbFSpotPhotosV16Behavior* _tmp38_ = NULL; + DataImportsFSpotDbFSpotPhotosV16Behavior* _tmp39_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp40_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp41_ = NULL; + gint* _tmp42_ = NULL; + gint* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + UtilsVersionNumber* _tmp44_ = NULL; + UtilsVersionNumber* _tmp45_ = NULL; + DataImportsFSpotDbFSpotPhotosV17Behavior* _tmp46_ = NULL; + DataImportsFSpotDbFSpotPhotosV17Behavior* _tmp47_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp48_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp49_ = NULL; + gint* _tmp50_ = NULL; + gint* _tmp51_ = NULL; + gint _tmp51__length1 = 0; + UtilsVersionNumber* _tmp52_ = NULL; + UtilsVersionNumber* _tmp53_ = NULL; + DataImportsFSpotDbFSpotPhotosV18Behavior* _tmp54_ = NULL; + DataImportsFSpotDbFSpotPhotosV18Behavior* _tmp55_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp56_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp57_ = NULL; + GeeMap* _tmp58_ = NULL; + GeeList* tags_list = NULL; + GeeArrayList* _tmp59_ = NULL; + gint* _tmp60_ = NULL; + gint* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + UtilsVersionNumber* _tmp62_ = NULL; + UtilsVersionNumber* _tmp63_ = NULL; + DataImportsFSpotDbFSpotTagsV0Behavior* _tmp64_ = NULL; + DataImportsFSpotDbFSpotTagsV0Behavior* _tmp65_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp66_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp67_ = NULL; + GeeMap* _tmp68_ = NULL; + GeeList* photo_tags_list = NULL; + GeeArrayList* _tmp69_ = NULL; + gint* _tmp70_ = NULL; + gint* _tmp71_ = NULL; + gint _tmp71__length1 = 0; + UtilsVersionNumber* _tmp72_ = NULL; + UtilsVersionNumber* _tmp73_ = NULL; + DataImportsFSpotDbFSpotPhotoTagsV0Behavior* _tmp74_ = NULL; + DataImportsFSpotDbFSpotPhotoTagsV0Behavior* _tmp75_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp76_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp77_ = NULL; + GeeMap* _tmp78_ = NULL; + GeeList* photo_versions_list = NULL; + GeeArrayList* _tmp79_ = NULL; + gint* _tmp80_ = NULL; + gint* _tmp81_ = NULL; + gint _tmp81__length1 = 0; + UtilsVersionNumber* _tmp82_ = NULL; + UtilsVersionNumber* _tmp83_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* _tmp84_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* _tmp85_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp86_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp87_ = NULL; + gint* _tmp88_ = NULL; + gint* _tmp89_ = NULL; + gint _tmp89__length1 = 0; + UtilsVersionNumber* _tmp90_ = NULL; + UtilsVersionNumber* _tmp91_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* _tmp92_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* _tmp93_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp94_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp95_ = NULL; + gint* _tmp96_ = NULL; + gint* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + UtilsVersionNumber* _tmp98_ = NULL; + UtilsVersionNumber* _tmp99_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* _tmp100_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* _tmp101_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp102_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp103_ = NULL; + gint* _tmp104_ = NULL; + gint* _tmp105_ = NULL; + gint _tmp105__length1 = 0; + UtilsVersionNumber* _tmp106_ = NULL; + UtilsVersionNumber* _tmp107_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* _tmp108_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* _tmp109_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp110_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp111_ = NULL; + gint* _tmp112_ = NULL; + gint* _tmp113_ = NULL; + gint _tmp113__length1 = 0; + UtilsVersionNumber* _tmp114_ = NULL; + UtilsVersionNumber* _tmp115_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* _tmp116_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* _tmp117_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp118_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp119_ = NULL; + GeeMap* _tmp120_ = NULL; + GeeList* rolls_list = NULL; + GeeArrayList* _tmp121_ = NULL; + gint* _tmp122_ = NULL; + gint* _tmp123_ = NULL; + gint _tmp123__length1 = 0; + UtilsVersionNumber* _tmp124_ = NULL; + UtilsVersionNumber* _tmp125_ = NULL; + DataImportsFSpotDbFSpotRollsV0Behavior* _tmp126_ = NULL; + DataImportsFSpotDbFSpotRollsV0Behavior* _tmp127_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp128_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp129_ = NULL; + gint* _tmp130_ = NULL; + gint* _tmp131_ = NULL; + gint _tmp131__length1 = 0; + UtilsVersionNumber* _tmp132_ = NULL; + UtilsVersionNumber* _tmp133_ = NULL; + DataImportsFSpotDbFSpotRollsV5Behavior* _tmp134_ = NULL; + DataImportsFSpotDbFSpotRollsV5Behavior* _tmp135_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp136_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp137_ = NULL; + GeeMap* _tmp138_ = NULL; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = 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 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_database_behavior_behavior_map); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_database_behavior_behavior_map = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, (GBoxedCopyFunc) data_imports_fspot_db_fspot_behavior_entry_ref, data_imports_fspot_db_fspot_behavior_entry_unref, NULL, NULL, NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + photos_list = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_LIST, GeeList); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp2_ = g_new0 (gint, 1); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp2_[0] = 0; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp3_ = _tmp2_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp3__length1 = 1; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp4_ = utils_version_number_new (_tmp3_, 1); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp5_ = _tmp4_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp6_ = data_imports_fspot_db_fspot_photos_v0_behavior_get_instance (); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp7_ = _tmp6_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp8_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp9_ = _tmp8_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photos_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp9_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp9_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp7_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp5_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp3_ = (g_free (_tmp3_), NULL); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp10_ = g_new0 (gint, 1); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp10_[0] = 5; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp11_ = _tmp10_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp11__length1 = 1; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp12_ = utils_version_number_new (_tmp11_, 1); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp13_ = _tmp12_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp14_ = data_imports_fspot_db_fspot_photos_v5_behavior_get_instance (); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp15_ = _tmp14_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp16_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp17_ = _tmp16_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photos_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp17_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp15_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp13_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp11_ = (g_free (_tmp11_), NULL); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp18_ = g_new0 (gint, 1); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp18_[0] = 7; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp19_ = _tmp18_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp19__length1 = 1; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp20_ = utils_version_number_new (_tmp19_, 1); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp21_ = _tmp20_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp22_ = data_imports_fspot_db_fspot_photos_v7_behavior_get_instance (); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp23_ = _tmp22_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp24_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp25_ = _tmp24_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photos_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp25_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp23_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp21_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp19_ = (g_free (_tmp19_), NULL); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp26_ = g_new0 (gint, 1); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp26_[0] = 11; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp27_ = _tmp26_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp27__length1 = 1; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp28_ = utils_version_number_new (_tmp27_, 1); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp29_ = _tmp28_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp30_ = data_imports_fspot_db_fspot_photos_v11_behavior_get_instance (); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp31_ = _tmp30_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp32_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp33_ = _tmp32_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photos_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp33_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp33_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp31_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp29_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp27_ = (g_free (_tmp27_), NULL); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp34_ = g_new0 (gint, 1); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp34_[0] = 16; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp35_ = _tmp34_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp35__length1 = 1; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp36_ = utils_version_number_new (_tmp35_, 1); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp37_ = _tmp36_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp38_ = data_imports_fspot_db_fspot_photos_v16_behavior_get_instance (); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp39_ = _tmp38_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp40_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp37_, G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp41_ = _tmp40_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photos_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp41_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp41_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp39_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp37_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp35_ = (g_free (_tmp35_), NULL); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp42_ = g_new0 (gint, 1); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp42_[0] = 17; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp43_ = _tmp42_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp43__length1 = 1; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp44_ = utils_version_number_new (_tmp43_, 1); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp45_ = _tmp44_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp46_ = data_imports_fspot_db_fspot_photos_v17_behavior_get_instance (); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp47_ = _tmp46_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp48_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp45_, G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp49_ = _tmp48_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photos_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp49_); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp49_); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp47_); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp45_); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp43_ = (g_free (_tmp43_), NULL); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp50_ = g_new0 (gint, 1); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp50_[0] = 18; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp51_ = _tmp50_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp51__length1 = 1; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp52_ = utils_version_number_new (_tmp51_, 1); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp53_ = _tmp52_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp54_ = data_imports_fspot_db_fspot_photos_v18_behavior_get_instance (); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp55_ = _tmp54_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp56_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp53_, G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp57_ = _tmp56_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photos_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp57_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp57_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp55_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp53_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp51_ = (g_free (_tmp51_), NULL); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp58_ = data_imports_fspot_db_fspot_database_behavior_behavior_map; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_map_set (_tmp58_, DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME, photos_list); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp59_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, (GBoxedCopyFunc) data_imports_fspot_db_fspot_behavior_entry_ref, data_imports_fspot_db_fspot_behavior_entry_unref, NULL, NULL, NULL); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + tags_list = G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_LIST, GeeList); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp60_ = g_new0 (gint, 1); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp60_[0] = 0; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp61_ = _tmp60_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp61__length1 = 1; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp62_ = utils_version_number_new (_tmp61_, 1); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp63_ = _tmp62_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp64_ = data_imports_fspot_db_fspot_tags_v0_behavior_get_instance (); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp65_ = _tmp64_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp66_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp63_, G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp67_ = _tmp66_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (tags_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp67_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp67_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp65_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp63_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp61_ = (g_free (_tmp61_), NULL); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp68_ = data_imports_fspot_db_fspot_database_behavior_behavior_map; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_map_set (_tmp68_, DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_TABLE_NAME, tags_list); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp69_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, (GBoxedCopyFunc) data_imports_fspot_db_fspot_behavior_entry_ref, data_imports_fspot_db_fspot_behavior_entry_unref, NULL, NULL, NULL); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + photo_tags_list = G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_LIST, GeeList); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp70_ = g_new0 (gint, 1); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp70_[0] = 0; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp71_ = _tmp70_; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp71__length1 = 1; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp72_ = utils_version_number_new (_tmp71_, 1); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp73_ = _tmp72_; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp74_ = data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_instance (); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp75_ = _tmp74_; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp76_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp73_, G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp77_ = _tmp76_; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photo_tags_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp77_); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp77_); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp75_); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp73_); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp71_ = (g_free (_tmp71_), NULL); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp78_ = data_imports_fspot_db_fspot_database_behavior_behavior_map; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_map_set (_tmp78_, DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_TABLE_NAME, photo_tags_list); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp79_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, (GBoxedCopyFunc) data_imports_fspot_db_fspot_behavior_entry_ref, data_imports_fspot_db_fspot_behavior_entry_unref, NULL, NULL, NULL); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + photo_versions_list = G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, GEE_TYPE_LIST, GeeList); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp80_ = g_new0 (gint, 1); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp80_[0] = 0; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp81_ = _tmp80_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp81__length1 = 1; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp82_ = utils_version_number_new (_tmp81_, 1); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp83_ = _tmp82_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp84_ = data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_instance (); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp85_ = _tmp84_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp86_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp83_, G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp87_ = _tmp86_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photo_versions_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp87_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp87_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp85_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp83_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp81_ = (g_free (_tmp81_), NULL); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp88_ = g_new0 (gint, 1); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp88_[0] = 9; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp89_ = _tmp88_; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp89__length1 = 1; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp90_ = utils_version_number_new (_tmp89_, 1); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp91_ = _tmp90_; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp92_ = data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_instance (); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp93_ = _tmp92_; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp94_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp91_, G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp95_ = _tmp94_; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photo_versions_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp95_); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp95_); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp93_); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp91_); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp89_ = (g_free (_tmp89_), NULL); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp96_ = g_new0 (gint, 1); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp96_[0] = 16; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp97_ = _tmp96_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp97__length1 = 1; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp98_ = utils_version_number_new (_tmp97_, 1); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp99_ = _tmp98_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp100_ = data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_instance (); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp101_ = _tmp100_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp102_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp99_, G_TYPE_CHECK_INSTANCE_CAST (_tmp101_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp103_ = _tmp102_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photo_versions_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp103_); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp103_); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp101_); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp99_); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp97_ = (g_free (_tmp97_), NULL); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp104_ = g_new0 (gint, 1); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp104_[0] = 17; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp105_ = _tmp104_; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp105__length1 = 1; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp106_ = utils_version_number_new (_tmp105_, 1); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp107_ = _tmp106_; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp108_ = data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_instance (); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp109_ = _tmp108_; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp110_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp107_, G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp111_ = _tmp110_; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photo_versions_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp111_); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp111_); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp109_); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp107_); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp105_ = (g_free (_tmp105_), NULL); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp112_ = g_new0 (gint, 1); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp112_[0] = 18; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp113_ = _tmp112_; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp113__length1 = 1; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp114_ = utils_version_number_new (_tmp113_, 1); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp115_ = _tmp114_; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp116_ = data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_instance (); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp117_ = _tmp116_; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp118_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp115_, G_TYPE_CHECK_INSTANCE_CAST (_tmp117_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp119_ = _tmp118_; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (photo_versions_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp119_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp119_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp117_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp115_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp113_ = (g_free (_tmp113_), NULL); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp120_ = data_imports_fspot_db_fspot_database_behavior_behavior_map; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_map_set (_tmp120_, DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME, photo_versions_list); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp121_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_BEHAVIOR_ENTRY, (GBoxedCopyFunc) data_imports_fspot_db_fspot_behavior_entry_ref, data_imports_fspot_db_fspot_behavior_entry_unref, NULL, NULL, NULL); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + rolls_list = G_TYPE_CHECK_INSTANCE_CAST (_tmp121_, GEE_TYPE_LIST, GeeList); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp122_ = g_new0 (gint, 1); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp122_[0] = 0; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp123_ = _tmp122_; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp123__length1 = 1; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp124_ = utils_version_number_new (_tmp123_, 1); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp125_ = _tmp124_; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp126_ = data_imports_fspot_db_fspot_rolls_v0_behavior_get_instance (); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp127_ = _tmp126_; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp128_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp125_, G_TYPE_CHECK_INSTANCE_CAST (_tmp127_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp129_ = _tmp128_; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (rolls_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp129_); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp129_); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp127_); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp125_); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp123_ = (g_free (_tmp123_), NULL); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp130_ = g_new0 (gint, 1); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp130_[0] = 5; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp131_ = _tmp130_; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp131__length1 = 1; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp132_ = utils_version_number_new (_tmp131_, 1); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp133_ = _tmp132_; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp134_ = data_imports_fspot_db_fspot_rolls_v5_behavior_get_instance (); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp135_ = _tmp134_; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp136_ = data_imports_fspot_db_fspot_behavior_entry_new (_tmp133_, G_TYPE_CHECK_INSTANCE_CAST (_tmp135_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp137_ = _tmp136_; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (rolls_list, GEE_TYPE_COLLECTION, GeeCollection), _tmp137_); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (_tmp137_); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp135_); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp133_); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp131_ = (g_free (_tmp131_), NULL); +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp138_ = data_imports_fspot_db_fspot_database_behavior_behavior_map; +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + gee_map_set (_tmp138_, DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_TABLE_NAME, rolls_list); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (rolls_list); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_versions_list); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_tags_list); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (tags_list); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photos_list); +#line 1441 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_find_behavior (const gchar* table_name, UtilsVersionNumber* version) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* behavior = NULL; + GeeList* behavior_list = NULL; + GeeMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (table_name != NULL, NULL); +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (UTILS_IS_VERSION_NUMBER (version), NULL); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + behavior = NULL; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = data_imports_fspot_db_fspot_database_behavior_behavior_map; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = table_name; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp2_ = gee_map_get (_tmp0_, _tmp1_); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + behavior_list = (GeeList*) _tmp2_; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp3_ = behavior_list; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp3_ != NULL) { +#line 1471 "FSpotDatabaseBehavior.c" + { + GeeList* _entry_list = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _entry_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _entry_index = 0; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp4_ = behavior_list; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _entry_list = _tmp5_; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp6_ = _entry_list; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp8_ = _tmp7_; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _entry_size = _tmp8_; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _entry_index = -1; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + while (TRUE) { +#line 1499 "FSpotDatabaseBehavior.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + DataImportsFSpotDbFSpotBehaviorEntry* entry = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + UtilsVersionNumber* _tmp15_ = NULL; + DataImportsFSpotDbFSpotBehaviorEntry* _tmp16_ = NULL; + UtilsVersionNumber* _tmp17_ = NULL; + UtilsVersionNumber* _tmp18_ = NULL; + gint _tmp19_ = 0; + gboolean _tmp20_ = FALSE; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp9_ = _entry_index; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _entry_index = _tmp9_ + 1; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp10_ = _entry_index; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp11_ = _entry_size; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + break; +#line 1525 "FSpotDatabaseBehavior.c" + } +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp12_ = _entry_list; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp13_ = _entry_index; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + entry = (DataImportsFSpotDbFSpotBehaviorEntry*) _tmp14_; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp15_ = version; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp16_ = entry; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp17_ = data_imports_fspot_db_fspot_behavior_entry_get_version (_tmp16_); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp18_ = _tmp17_; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp19_ = gee_comparable_compare_to (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COMPARABLE, GeeComparable), _tmp18_); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp20_ = _tmp19_ >= 0; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_tmp18_); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp20_) { +#line 1551 "FSpotDatabaseBehavior.c" + DataImportsFSpotDbFSpotBehaviorEntry* _tmp21_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp22_ = NULL; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp21_ = entry; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp22_ = data_imports_fspot_db_fspot_behavior_entry_get_behavior (_tmp21_); +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (behavior); +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + behavior = _tmp22_; +#line 1562 "FSpotDatabaseBehavior.c" + } +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _data_imports_fspot_db_fspot_behavior_entry_unref0 (entry); +#line 1566 "FSpotDatabaseBehavior.c" + } +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (_entry_list); +#line 1570 "FSpotDatabaseBehavior.c" + } + } else { + const gchar* _tmp23_ = NULL; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp23_ = table_name; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_warning ("FSpotDatabaseBehavior.vala:155: Could not find behavior list for table" \ +" %s", _tmp23_); +#line 1578 "FSpotDatabaseBehavior.c" + } +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = behavior; +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (behavior_list); +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 1586 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotDatabaseBehavior* data_imports_fspot_db_fspot_database_behavior_construct (GType object_type, UtilsVersionNumber* version, GError** error) { + DataImportsFSpotDbFSpotDatabaseBehavior * self = NULL; + UtilsVersionNumber* _tmp0_ = NULL; + UtilsVersionNumber* _tmp1_ = NULL; + gint _tmp2_ = 0; + DataImportsFSpotDbFSpotTableBehavior* photos_generic_behavior = NULL; + UtilsVersionNumber* _tmp8_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp9_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp10_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* tags_generic_behavior = NULL; + UtilsVersionNumber* _tmp13_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp14_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp15_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* photo_tags_generic_behavior = NULL; + UtilsVersionNumber* _tmp18_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp19_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp20_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* photo_versions_generic_behavior = NULL; + UtilsVersionNumber* _tmp23_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp24_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp25_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* rolls_generic_behavior = NULL; + UtilsVersionNumber* _tmp28_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp29_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp30_ = NULL; + gboolean _tmp33_ = FALSE; + gboolean _tmp34_ = FALSE; + gboolean _tmp35_ = FALSE; + gboolean _tmp36_ = FALSE; + DataImportsFSpotDbFSpotTableBehavior* _tmp37_ = NULL; + GError * _inner_error_ = NULL; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (UTILS_IS_VERSION_NUMBER (version), NULL); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self = (DataImportsFSpotDbFSpotDatabaseBehavior*) g_object_new (object_type, NULL); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = version; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = data_imports_fspot_db_fspot_database_behavior_MIN_UNSUPPORTED_VERSION; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp2_ = gee_comparable_compare_to (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COMPARABLE, GeeComparable), _tmp1_); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp2_ >= 0) { +#line 1633 "FSpotDatabaseBehavior.c" + UtilsVersionNumber* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp3_ = version; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp4_ = utils_version_number_to_string (_tmp3_); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp5_ = _tmp4_; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp6_ = g_error_new (SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR, SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR_UNSUPPORTED_VERSION, "Version %s is not yet supported", _tmp5_); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp7_ = _tmp6_; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_free0 (_tmp5_); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _inner_error_ = _tmp7_; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR) { +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_propagate_error (error, _inner_error_); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return NULL; +#line 1661 "FSpotDatabaseBehavior.c" + } else { +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_clear_error (&_inner_error_); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return NULL; +#line 1669 "FSpotDatabaseBehavior.c" + } + } +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp8_ = version; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp9_ = data_imports_fspot_db_fspot_database_behavior_find_behavior (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME, _tmp8_); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + photos_generic_behavior = _tmp9_; +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp10_ = photos_generic_behavior; +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp10_ != NULL) { +#line 1682 "FSpotDatabaseBehavior.c" + DataImportsFSpotDbFSpotTableBehavior* _tmp11_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp12_ = NULL; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp11_ = photos_generic_behavior; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR) ? ((DataImportsFSpotDbFSpotTableBehavior*) _tmp11_) : NULL); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->photos_behavior); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv->photos_behavior = _tmp12_; +#line 1693 "FSpotDatabaseBehavior.c" + } +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp13_ = version; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp14_ = data_imports_fspot_db_fspot_database_behavior_find_behavior (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_TABLE_NAME, _tmp13_); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + tags_generic_behavior = _tmp14_; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp15_ = tags_generic_behavior; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp15_ != NULL) { +#line 1705 "FSpotDatabaseBehavior.c" + DataImportsFSpotDbFSpotTableBehavior* _tmp16_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp17_ = NULL; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp16_ = tags_generic_behavior; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR) ? ((DataImportsFSpotDbFSpotTableBehavior*) _tmp16_) : NULL); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->tags_behavior); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv->tags_behavior = _tmp17_; +#line 1716 "FSpotDatabaseBehavior.c" + } +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp18_ = version; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp19_ = data_imports_fspot_db_fspot_database_behavior_find_behavior (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_TABLE_NAME, _tmp18_); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + photo_tags_generic_behavior = _tmp19_; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp20_ = photo_tags_generic_behavior; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp20_ != NULL) { +#line 1728 "FSpotDatabaseBehavior.c" + DataImportsFSpotDbFSpotTableBehavior* _tmp21_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp22_ = NULL; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp21_ = photo_tags_generic_behavior; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR) ? ((DataImportsFSpotDbFSpotTableBehavior*) _tmp21_) : NULL); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->photo_tags_behavior); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv->photo_tags_behavior = _tmp22_; +#line 1739 "FSpotDatabaseBehavior.c" + } +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp23_ = version; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp24_ = data_imports_fspot_db_fspot_database_behavior_find_behavior (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME, _tmp23_); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + photo_versions_generic_behavior = _tmp24_; +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp25_ = photo_versions_generic_behavior; +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp25_ != NULL) { +#line 1751 "FSpotDatabaseBehavior.c" + DataImportsFSpotDbFSpotTableBehavior* _tmp26_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp27_ = NULL; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp26_ = photo_versions_generic_behavior; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR) ? ((DataImportsFSpotDbFSpotTableBehavior*) _tmp26_) : NULL); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->photo_versions_behavior); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv->photo_versions_behavior = _tmp27_; +#line 1762 "FSpotDatabaseBehavior.c" + } +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp28_ = version; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp29_ = data_imports_fspot_db_fspot_database_behavior_find_behavior (DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_TABLE_NAME, _tmp28_); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + rolls_generic_behavior = _tmp29_; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp30_ = rolls_generic_behavior; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp30_ != NULL) { +#line 1774 "FSpotDatabaseBehavior.c" + DataImportsFSpotDbFSpotTableBehavior* _tmp31_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp32_ = NULL; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp31_ = rolls_generic_behavior; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp31_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR) ? ((DataImportsFSpotDbFSpotTableBehavior*) _tmp31_) : NULL); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->rolls_behavior); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv->rolls_behavior = _tmp32_; +#line 1785 "FSpotDatabaseBehavior.c" + } +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp37_ = self->priv->photos_behavior; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp37_ == NULL) { +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp36_ = TRUE; +#line 1793 "FSpotDatabaseBehavior.c" + } else { + DataImportsFSpotDbFSpotTableBehavior* _tmp38_ = NULL; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp38_ = self->priv->tags_behavior; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp36_ = _tmp38_ == NULL; +#line 1800 "FSpotDatabaseBehavior.c" + } +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp36_) { +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp35_ = TRUE; +#line 1806 "FSpotDatabaseBehavior.c" + } else { + DataImportsFSpotDbFSpotTableBehavior* _tmp39_ = NULL; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp39_ = self->priv->photo_tags_behavior; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp35_ = _tmp39_ == NULL; +#line 1813 "FSpotDatabaseBehavior.c" + } +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp35_) { +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp34_ = TRUE; +#line 1819 "FSpotDatabaseBehavior.c" + } else { + DataImportsFSpotDbFSpotTableBehavior* _tmp40_ = NULL; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp40_ = self->priv->photo_versions_behavior; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp34_ = _tmp40_ == NULL; +#line 1826 "FSpotDatabaseBehavior.c" + } +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp34_) { +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp33_ = TRUE; +#line 1832 "FSpotDatabaseBehavior.c" + } else { + DataImportsFSpotDbFSpotTableBehavior* _tmp41_ = NULL; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp41_ = self->priv->rolls_behavior; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp33_ = _tmp41_ == NULL; +#line 1839 "FSpotDatabaseBehavior.c" + } +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_tmp33_) { +#line 1843 "FSpotDatabaseBehavior.c" + UtilsVersionNumber* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + GError* _tmp45_ = NULL; + GError* _tmp46_ = NULL; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp42_ = version; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp43_ = utils_version_number_to_string (_tmp42_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp44_ = _tmp43_; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp45_ = g_error_new (SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR, SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR_UNSUPPORTED_VERSION, "Version %s is not supported", _tmp44_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp46_ = _tmp45_; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_free0 (_tmp44_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _inner_error_ = _tmp46_; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + if (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR) { +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_propagate_error (error, _inner_error_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (rolls_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_versions_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_tags_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (tags_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photos_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return NULL; +#line 1881 "FSpotDatabaseBehavior.c" + } else { +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (rolls_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_versions_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_tags_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (tags_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photos_generic_behavior); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_clear_error (&_inner_error_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return NULL; +#line 1899 "FSpotDatabaseBehavior.c" + } + } +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (rolls_generic_behavior); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_versions_generic_behavior); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photo_tags_generic_behavior); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (tags_generic_behavior); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (photos_generic_behavior); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return self; +#line 1914 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotDatabaseBehavior* data_imports_fspot_db_fspot_database_behavior_new (UtilsVersionNumber* version, GError** error) { +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return data_imports_fspot_db_fspot_database_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, version, error); +#line 1921 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photos_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (self), NULL); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = self->priv->photos_behavior; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = _tmp1_; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 1939 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_tags_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (self), NULL); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = self->priv->tags_behavior; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = _tmp1_; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 1957 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photo_tags_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (self), NULL); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = self->priv->photo_tags_behavior; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = _tmp1_; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 1975 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photo_versions_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (self), NULL); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = self->priv->photo_versions_behavior; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = _tmp1_; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 1993 "FSpotDatabaseBehavior.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_rolls_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (self), NULL); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = self->priv->rolls_behavior; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + result = _tmp1_; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + return result; +#line 2011 "FSpotDatabaseBehavior.c" +} + + +static void data_imports_fspot_db_fspot_database_behavior_class_init (DataImportsFSpotDbFSpotDatabaseBehaviorClass * klass) { + gint* _tmp0_ = NULL; + gint* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + UtilsVersionNumber* _tmp2_ = NULL; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_database_behavior_parent_class = g_type_class_peek_parent (klass); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotDbFSpotDatabaseBehaviorPrivate)); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_database_behavior_finalize; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_ = g_new0 (gint, 1); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp0_[0] = 19; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1_ = _tmp0_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp1__length1 = 1; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _tmp2_ = utils_version_number_new (_tmp1_, 1); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + data_imports_fspot_db_fspot_database_behavior_MIN_UNSUPPORTED_VERSION = _tmp2_; +#line 2038 "FSpotDatabaseBehavior.c" +} + + +static void data_imports_fspot_db_fspot_database_behavior_instance_init (DataImportsFSpotDbFSpotDatabaseBehavior * self) { +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self->priv = DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_PRIVATE (self); +#line 2045 "FSpotDatabaseBehavior.c" +} + + +static void data_imports_fspot_db_fspot_database_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotDatabaseBehavior * self; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->photos_behavior); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->tags_behavior); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->photo_tags_behavior); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->photo_versions_behavior); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + _g_object_unref0 (self->priv->rolls_behavior); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_database_behavior_parent_class)->finalize (obj); +#line 2065 "FSpotDatabaseBehavior.c" +} + + +/** + * A class that consolidates the behavior of all F-Spot tables (apart from meta) + * and is the one place to check whether the database version is supported. + */ +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_database_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_database_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotDatabaseBehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_database_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotDatabaseBehavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_database_behavior_instance_init, NULL }; + GType data_imports_fspot_db_fspot_database_behavior_type_id; + data_imports_fspot_db_fspot_database_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotDatabaseBehavior", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_database_behavior_type_id__volatile, data_imports_fspot_db_fspot_database_behavior_type_id); + } + return data_imports_fspot_db_fspot_database_behavior_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotDatabaseTable.c b/plugins/shotwell-data-imports/FSpotDatabaseTable.c new file mode 100644 index 0000000..48e5030 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotDatabaseTable.c @@ -0,0 +1,992 @@ +/* FSpotDatabaseTable.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotDatabaseTable.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 + + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseTablePrivate DataImportsFSpotDbFSpotDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) + +struct _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotDatabaseTable { + ImportableDatabaseTable parent_instance; + DataImportsFSpotDbFSpotDatabaseTablePrivate * priv; + sqlite3* fspot_db; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTableClass { + ImportableDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTablePrivate { + GType t_type; + GBoxedCopyFunc t_dup_func; + GDestroyNotify t_destroy_func; +}; + +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 data_imports_fspot_db_fspot_database_table_parent_class = NULL; + +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTablePrivate)) +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db); +ImportableDatabaseTable* importable_database_table_construct (GType object_type); +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior); +void importable_database_table_set_table_name (ImportableDatabaseTable* self, const gchar* table_name); +gchar* data_imports_fspot_db_fspot_table_behavior_get_table_name (DataImportsFSpotDbFSpotTableBehavior* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_table_get_behavior (DataImportsFSpotDbFSpotDatabaseTable* self); +gchar* data_imports_fspot_db_fspot_database_table_get_joined_column_list (DataImportsFSpotDbFSpotDatabaseTable* self, gboolean with_table); +gchar** data_imports_fspot_db_fspot_table_behavior_list_columns (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); +GQuark database_error_quark (void); +gint data_imports_fspot_db_fspot_database_table_select_all (DataImportsFSpotDbFSpotDatabaseTable* self, sqlite3_stmt** stmt, GError** error); +void importable_database_table_throw_error (const gchar* method, gint res, GError** error); +static void data_imports_fspot_db_fspot_database_table_finalize (ImportableDatabaseTable* 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); + + +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db) { + DataImportsFSpotDbFSpotDatabaseTable* self = NULL; + sqlite3* _tmp0_ = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_return_val_if_fail (db != NULL, NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self = (DataImportsFSpotDbFSpotDatabaseTable*) importable_database_table_construct (object_type); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self->priv->t_type = t_type; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self->priv->t_dup_func = t_dup_func; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self->priv->t_destroy_func = t_destroy_func; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp0_ = db; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self->fspot_db = _tmp0_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return self; +#line 147 "FSpotDatabaseTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return self ? g_object_ref (self) : NULL; +#line 154 "FSpotDatabaseTable.c" +} + + +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior) { + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_return_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE (self)); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_return_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR (behavior)); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp0_ = behavior; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_object_unref0 (self->behavior); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self->behavior = _tmp1_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp2_ = behavior; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp3_ = data_imports_fspot_db_fspot_table_behavior_get_table_name (_tmp2_); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp4_ = _tmp3_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + importable_database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable), _tmp4_); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (_tmp4_); +#line 186 "FSpotDatabaseTable.c" +} + + +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_table_get_behavior (DataImportsFSpotDbFSpotDatabaseTable* self) { + DataImportsFSpotDbFSpotTableBehavior* result = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp1_ = NULL; +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE (self), NULL); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp0_ = self->behavior; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + result = _tmp1_; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return result; +#line 204 "FSpotDatabaseTable.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 221 "FSpotDatabaseTable.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 231 "FSpotDatabaseTable.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 241 "FSpotDatabaseTable.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 247 "FSpotDatabaseTable.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 258 "FSpotDatabaseTable.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 270 "FSpotDatabaseTable.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 274 "FSpotDatabaseTable.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 278 "FSpotDatabaseTable.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 282 "FSpotDatabaseTable.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 305 "FSpotDatabaseTable.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 314 "FSpotDatabaseTable.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 327 "FSpotDatabaseTable.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 333 "FSpotDatabaseTable.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 343 "FSpotDatabaseTable.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 355 "FSpotDatabaseTable.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 359 "FSpotDatabaseTable.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 365 "FSpotDatabaseTable.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 376 "FSpotDatabaseTable.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 391 "FSpotDatabaseTable.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 395 "FSpotDatabaseTable.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 399 "FSpotDatabaseTable.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 405 "FSpotDatabaseTable.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 417 "FSpotDatabaseTable.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 438 "FSpotDatabaseTable.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 442 "FSpotDatabaseTable.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 448 "FSpotDatabaseTable.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 455 "FSpotDatabaseTable.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 463 "FSpotDatabaseTable.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 501 "FSpotDatabaseTable.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 510 "FSpotDatabaseTable.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 526 "FSpotDatabaseTable.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 532 "FSpotDatabaseTable.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 546 "FSpotDatabaseTable.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 566 "FSpotDatabaseTable.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 581 "FSpotDatabaseTable.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 585 "FSpotDatabaseTable.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 593 "FSpotDatabaseTable.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 604 "FSpotDatabaseTable.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 613 "FSpotDatabaseTable.c" + } +} + + +gchar* data_imports_fspot_db_fspot_database_table_get_joined_column_list (DataImportsFSpotDbFSpotDatabaseTable* self, gboolean with_table) { + gchar* result = NULL; + gchar** columns = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gint columns_length1 = 0; + gint _columns_size_ = 0; + gboolean _tmp3_ = FALSE; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gchar* _tmp17_ = NULL; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE (self), NULL); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp0_ = self->behavior; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_table_behavior_list_columns (_tmp0_, &_tmp1_); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + columns = _tmp2_; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + columns_length1 = _tmp1_; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _columns_size_ = columns_length1; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp3_ = with_table; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (_tmp3_) { +#line 646 "FSpotDatabaseTable.c" + { + gint i = 0; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + i = 0; +#line 651 "FSpotDatabaseTable.c" + { + gboolean _tmp4_ = FALSE; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp4_ = TRUE; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + while (TRUE) { +#line 658 "FSpotDatabaseTable.c" + gint _tmp6_ = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (!_tmp4_) { +#line 674 "FSpotDatabaseTable.c" + gint _tmp5_ = 0; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp5_ = i; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + i = _tmp5_ + 1; +#line 680 "FSpotDatabaseTable.c" + } +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp4_ = FALSE; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp6_ = i; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp7_ = columns; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp7__length1 = columns_length1; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (!(_tmp6_ < _tmp7__length1)) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + break; +#line 694 "FSpotDatabaseTable.c" + } +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp8_ = columns; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp8__length1 = columns_length1; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp9_ = i; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp11_ = columns; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp11__length1 = columns_length1; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp12_ = i; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp14_ = g_strdup_printf ("%s.%s", _tmp10_, _tmp13_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (_tmp8_[_tmp9_]); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp8_[_tmp9_] = _tmp14_; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp15_ = _tmp8_[_tmp9_]; +#line 720 "FSpotDatabaseTable.c" + } + } + } + } +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp16_ = columns; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp16__length1 = columns_length1; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp17_ = _vala_g_strjoinv (", ", _tmp16_, _tmp16__length1); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + result = _tmp17_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return result; +#line 737 "FSpotDatabaseTable.c" +} + + +gint data_imports_fspot_db_fspot_database_table_select_all (DataImportsFSpotDbFSpotDatabaseTable* self, sqlite3_stmt** stmt, GError** error) { + sqlite3_stmt* _vala_stmt = NULL; + gint result = 0; + gchar* column_list = NULL; + gchar* _tmp0_ = NULL; + gchar* sql = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint res = 0; + sqlite3* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp13_ = NULL; + gint _tmp14_ = 0; + gboolean _tmp15_ = FALSE; + gint _tmp16_ = 0; + GError * _inner_error_ = NULL; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE (self), 0); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_database_table_get_joined_column_list (self, FALSE); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + column_list = _tmp0_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp1_ = column_list; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp3_ = g_strdup_printf ("SELECT %s FROM %s", _tmp1_, _tmp2_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + sql = _tmp3_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp4_ = self->fspot_db; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp5_ = sql; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp7_ = sqlite3_prepare_v2 (_tmp4_, _tmp5_, -1, &_tmp6_, NULL); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _sqlite3_finalize0 (_vala_stmt); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _vala_stmt = _tmp6_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + res = _tmp7_; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp8_ = res; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (_tmp8_ != SQLITE_OK) { +#line 791 "FSpotDatabaseTable.c" + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp9_ = sql; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp10_ = g_strdup_printf ("Statement failed: %s", _tmp9_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp11_ = _tmp10_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp12_ = res; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + importable_database_table_throw_error (_tmp11_, _tmp12_, &_inner_error_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (_tmp11_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (sql); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (column_list); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return 0; +#line 820 "FSpotDatabaseTable.c" + } else { +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (sql); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (column_list); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return 0; +#line 832 "FSpotDatabaseTable.c" + } + } + } +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp13_ = _vala_stmt; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp14_ = sqlite3_step (_tmp13_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + res = _tmp14_; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp16_ = res; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (_tmp16_ != SQLITE_ROW) { +#line 846 "FSpotDatabaseTable.c" + gint _tmp17_ = 0; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp17_ = res; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp15_ = _tmp17_ != SQLITE_DONE; +#line 852 "FSpotDatabaseTable.c" + } else { +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp15_ = FALSE; +#line 856 "FSpotDatabaseTable.c" + } +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (_tmp15_) { +#line 860 "FSpotDatabaseTable.c" + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gint _tmp22_ = 0; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp19_ = column_list; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp20_ = g_strdup_printf ("select_all %s %s", _tmp18_, _tmp19_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp21_ = _tmp20_; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _tmp22_ = res; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + importable_database_table_throw_error (_tmp21_, _tmp22_, &_inner_error_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (_tmp21_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (sql); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (column_list); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return 0; +#line 892 "FSpotDatabaseTable.c" + } else { +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (sql); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (column_list); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return 0; +#line 904 "FSpotDatabaseTable.c" + } + } + } +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + result = res; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (sql); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_free0 (column_list); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + if (stmt) { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + *stmt = _vala_stmt; +#line 918 "FSpotDatabaseTable.c" + } else { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _sqlite3_finalize0 (_vala_stmt); +#line 922 "FSpotDatabaseTable.c" + } +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + return result; +#line 926 "FSpotDatabaseTable.c" +} + + +static void data_imports_fspot_db_fspot_database_table_class_init (DataImportsFSpotDbFSpotDatabaseTableClass * klass) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + data_imports_fspot_db_fspot_database_table_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + ((ImportableDatabaseTableClass *) klass)->finalize = data_imports_fspot_db_fspot_database_table_finalize; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotDbFSpotDatabaseTablePrivate)); +#line 937 "FSpotDatabaseTable.c" +} + + +static void data_imports_fspot_db_fspot_database_table_instance_init (DataImportsFSpotDbFSpotDatabaseTable * self) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self->priv = DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_PRIVATE (self); +#line 944 "FSpotDatabaseTable.c" +} + + +static void data_imports_fspot_db_fspot_database_table_finalize (ImportableDatabaseTable* obj) { + DataImportsFSpotDbFSpotDatabaseTable * self; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + _g_object_unref0 (self->behavior); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotDatabaseTable.vala" + IMPORTABLE_DATABASE_TABLE_CLASS (data_imports_fspot_db_fspot_database_table_parent_class)->finalize (obj); +#line 956 "FSpotDatabaseTable.c" +} + + +/** + * This class represents a generic F-Spot table. + */ +GType data_imports_fspot_db_fspot_database_table_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_database_table_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_database_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotDatabaseTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_database_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotDatabaseTable), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_database_table_instance_init, NULL }; + GType data_imports_fspot_db_fspot_database_table_type_id; + data_imports_fspot_db_fspot_database_table_type_id = g_type_register_static (TYPE_IMPORTABLE_DATABASE_TABLE, "DataImportsFSpotDbFSpotDatabaseTable", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&data_imports_fspot_db_fspot_database_table_type_id__volatile, data_imports_fspot_db_fspot_database_table_type_id); + } + return data_imports_fspot_db_fspot_database_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/plugins/shotwell-data-imports/FSpotImporter.c b/plugins/shotwell-data-imports/FSpotImporter.c new file mode 100644 index 0000000..5cb73d5 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotImporter.c @@ -0,0 +1,5345 @@ +/* FSpotImporter.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotImporter.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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include + + +#define TYPE_FSPOT_SERVICE (fspot_service_get_type ()) +#define FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FSPOT_SERVICE, FSpotService)) +#define FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FSPOT_SERVICE, FSpotServiceClass)) +#define IS_FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FSPOT_SERVICE)) +#define IS_FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FSPOT_SERVICE)) +#define FSPOT_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FSPOT_SERVICE, FSpotServiceClass)) + +typedef struct _FSpotService FSpotService; +typedef struct _FSpotServiceClass FSpotServiceClass; +typedef struct _FSpotServicePrivate FSpotServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER (data_imports_fspot_fspot_data_importer_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter)) +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER)) +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterClass)) + +typedef struct _DataImportsFSpotFSpotDataImporter DataImportsFSpotFSpotDataImporter; +typedef struct _DataImportsFSpotFSpotDataImporterClass DataImportsFSpotFSpotDataImporterClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY (data_imports_fspot_fspot_importable_library_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryClass)) + +typedef struct _DataImportsFSpotFSpotImportableLibrary DataImportsFSpotFSpotImportableLibrary; +typedef struct _DataImportsFSpotFSpotImportableLibraryClass DataImportsFSpotFSpotImportableLibraryClass; +typedef struct _DataImportsFSpotFSpotImportableLibraryPrivate DataImportsFSpotFSpotImportableLibraryPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM (data_imports_fspot_fspot_importable_item_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemClass)) + +typedef struct _DataImportsFSpotFSpotImportableItem DataImportsFSpotFSpotImportableItem; +typedef struct _DataImportsFSpotFSpotImportableItemClass DataImportsFSpotFSpotImportableItemClass; +typedef struct _DataImportsFSpotFSpotImportableItemPrivate DataImportsFSpotFSpotImportableItemPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW (data_imports_fspot_db_fspot_photo_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoRow DataImportsFSpotDbFSpotPhotoRow; +typedef struct _DataImportsFSpotDbFSpotPhotoRowClass DataImportsFSpotDbFSpotPhotoRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW (data_imports_fspot_db_fspot_photo_version_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRow DataImportsFSpotDbFSpotPhotoVersionRow; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowClass DataImportsFSpotDbFSpotPhotoVersionRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW (data_imports_fspot_db_fspot_roll_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) + +typedef struct _DataImportsFSpotDbFSpotRollRow DataImportsFSpotDbFSpotRollRow; +typedef struct _DataImportsFSpotDbFSpotRollRowClass DataImportsFSpotDbFSpotRollRowClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG (data_imports_fspot_fspot_importable_tag_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagClass)) + +typedef struct _DataImportsFSpotFSpotImportableTag DataImportsFSpotFSpotImportableTag; +typedef struct _DataImportsFSpotFSpotImportableTagClass DataImportsFSpotFSpotImportableTagClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT (data_imports_fspot_fspot_importable_event_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventClass)) + +typedef struct _DataImportsFSpotFSpotImportableEvent DataImportsFSpotFSpotImportableEvent; +typedef struct _DataImportsFSpotFSpotImportableEventClass DataImportsFSpotFSpotImportableEventClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING (data_imports_fspot_fspot_importable_rating_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingClass)) + +typedef struct _DataImportsFSpotFSpotImportableRating DataImportsFSpotFSpotImportableRating; +typedef struct _DataImportsFSpotFSpotImportableRatingClass DataImportsFSpotFSpotImportableRatingClass; +typedef struct _DataImportsFSpotDbFSpotPhotoRowPrivate DataImportsFSpotDbFSpotPhotoRowPrivate; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowPrivate DataImportsFSpotDbFSpotPhotoVersionRowPrivate; +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) +typedef struct _DataImportsFSpotFSpotImportableTagPrivate DataImportsFSpotFSpotImportableTagPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW (data_imports_fspot_db_fspot_tag_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) + +typedef struct _DataImportsFSpotDbFSpotTagRow DataImportsFSpotDbFSpotTagRow; +typedef struct _DataImportsFSpotDbFSpotTagRowClass DataImportsFSpotDbFSpotTagRowClass; +typedef struct _DataImportsFSpotDbFSpotTagRowPrivate DataImportsFSpotDbFSpotTagRowPrivate; +typedef struct _DataImportsFSpotFSpotImportableEventPrivate DataImportsFSpotFSpotImportableEventPrivate; +typedef struct _DataImportsFSpotFSpotImportableRatingPrivate DataImportsFSpotFSpotImportableRatingPrivate; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE (data_imports_fspot_fspot_tags_cache_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCache)) +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCacheClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE)) +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCacheClass)) + +typedef struct _DataImportsFSpotFSpotTagsCache DataImportsFSpotFSpotTagsCache; +typedef struct _DataImportsFSpotFSpotTagsCacheClass DataImportsFSpotFSpotTagsCacheClass; +typedef struct _DataImportsFSpotFSpotTagsCachePrivate DataImportsFSpotFSpotTagsCachePrivate; + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE (data_imports_fspot_db_fspot_tags_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotTagsTable DataImportsFSpotDbFSpotTagsTable; +typedef struct _DataImportsFSpotDbFSpotTagsTableClass DataImportsFSpotDbFSpotTagsTableClass; +#define _importable_database_table_unref0(var) ((var == NULL) ? NULL : (var = (importable_database_table_unref (var), NULL))) +typedef struct _DataImportsFSpotFSpotDataImporterPrivate DataImportsFSpotFSpotDataImporterPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE (data_imports_fspot_db_fspot_database_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabase)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabase DataImportsFSpotDbFSpotDatabase; +typedef struct _DataImportsFSpotDbFSpotDatabaseClass DataImportsFSpotDbFSpotDatabaseClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _DataImportsFSpotDbFSpotDatabasePrivate DataImportsFSpotDbFSpotDatabasePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE (data_imports_fspot_db_fspot_photos_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosTable DataImportsFSpotDbFSpotPhotosTable; +typedef struct _DataImportsFSpotDbFSpotPhotosTableClass DataImportsFSpotDbFSpotPhotosTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE (data_imports_fspot_db_fspot_photo_versions_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTable DataImportsFSpotDbFSpotPhotoVersionsTable; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTableClass DataImportsFSpotDbFSpotPhotoVersionsTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE (data_imports_fspot_db_fspot_rolls_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsTable DataImportsFSpotDbFSpotRollsTable; +typedef struct _DataImportsFSpotDbFSpotRollsTableClass DataImportsFSpotDbFSpotRollsTableClass; + +struct _FSpotService { + GObject parent_instance; + FSpotServicePrivate * priv; +}; + +struct _FSpotServiceClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableLibrary { + GObject parent_instance; + DataImportsFSpotFSpotImportableLibraryPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableLibraryClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableLibraryPrivate { + GFile* db_file; +}; + +struct _DataImportsFSpotFSpotImportableItem { + GObject parent_instance; + DataImportsFSpotFSpotImportableItemPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableItemClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableItemPrivate { + DataImportsFSpotDbFSpotPhotoRow* photo_row; + DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row; + DataImportsFSpotDbFSpotRollRow* roll_row; + DataImportsFSpotFSpotImportableTag** tags; + gint tags_length1; + gint _tags_size_; + DataImportsFSpotFSpotImportableEvent* event; + DataImportsFSpotFSpotImportableRating* rating; + gchar* folder_path; + gchar* filename; + time_t* date_time; +}; + +struct _DataImportsFSpotDbFSpotPhotoRow { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoRowPrivate * priv; + gint64 photo_id; + time_t time; + GFile* base_path; + gchar* filename; + gchar* description; + gint64 roll_id; + gint64 default_version_id; + gint rating; + gchar* md5_sum; +}; + +struct _DataImportsFSpotDbFSpotPhotoRowClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionRow { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionRowPrivate * priv; + gint64 photo_id; + gint64 version_id; + gchar* name; + GFile* base_path; + gchar* filename; + gchar* md5_sum; + gboolean is_protected; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionRowClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableTag { + GObject parent_instance; + DataImportsFSpotFSpotImportableTagPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableTagClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableTagPrivate { + DataImportsFSpotDbFSpotTagRow* row; + DataImportsFSpotFSpotImportableTag* parent; +}; + +struct _DataImportsFSpotDbFSpotTagRow { + GObject parent_instance; + DataImportsFSpotDbFSpotTagRowPrivate * priv; + gint64 tag_id; + gchar* name; + gint64 category_id; + gboolean is_category; + gint sort_priority; + gchar* stock_icon; +}; + +struct _DataImportsFSpotDbFSpotTagRowClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableEvent { + GObject parent_instance; + DataImportsFSpotFSpotImportableEventPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableEventClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableEventPrivate { + DataImportsFSpotDbFSpotTagRow* row; +}; + +struct _DataImportsFSpotFSpotImportableRating { + GObject parent_instance; + DataImportsFSpotFSpotImportableRatingPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableRatingClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableRatingPrivate { + gint rating_value; +}; + +struct _DataImportsFSpotFSpotTagsCache { + GObject parent_instance; + DataImportsFSpotFSpotTagsCachePrivate * priv; +}; + +struct _DataImportsFSpotFSpotTagsCacheClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotTagsCachePrivate { + DataImportsFSpotDbFSpotTagsTable* tags_table; + GeeHashMap* tags_map; +}; + +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 _DataImportsFSpotFSpotDataImporter { + GObject parent_instance; + DataImportsFSpotFSpotDataImporterPrivate * priv; +}; + +struct _DataImportsFSpotFSpotDataImporterClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotDataImporterPrivate { + SpitDataImportsPluginHost* host; + SpitDataImportsService* service; + gboolean running; +}; + +struct _DataImportsFSpotDbFSpotDatabase { + GObject parent_instance; + DataImportsFSpotDbFSpotDatabasePrivate * priv; + DataImportsFSpotDbFSpotPhotosTable* photos_table; + DataImportsFSpotDbFSpotPhotoVersionsTable* photo_versions_table; + DataImportsFSpotDbFSpotTagsTable* tags_table; + DataImportsFSpotDbFSpotRollsTable* rolls_table; + gint64 hidden_tag_id; +}; + +struct _DataImportsFSpotDbFSpotDatabaseClass { + GObjectClass parent_class; +}; + + +static gpointer fspot_service_parent_class = NULL; +static GdkPixbuf** fspot_service_icon_pixbuf_set; +static gint fspot_service_icon_pixbuf_set_length1; +static GdkPixbuf** fspot_service_icon_pixbuf_set = NULL; +static gint fspot_service_icon_pixbuf_set_length1 = 0; +static gint _fspot_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* fspot_service_spit_pluggable_parent_iface = NULL; +static SpitDataImportsServiceIface* fspot_service_spit_data_imports_service_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_library_parent_class = NULL; +static SpitDataImportsImportableLibraryIface* data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_item_parent_class = NULL; +static SpitDataImportsImportableMediaItemIface* data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_tag_parent_class = NULL; +static SpitDataImportsImportableTagIface* data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_event_parent_class = NULL; +static SpitDataImportsImportableEventIface* data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_rating_parent_class = NULL; +static SpitDataImportsImportableRatingIface* data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_tags_cache_parent_class = NULL; +static gpointer data_imports_fspot_fspot_data_importer_parent_class = NULL; +static SpitDataImportsDataImporterIface* data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_parent_iface = NULL; + +GType fspot_service_get_type (void) G_GNUC_CONST; +enum { + FSPOT_SERVICE_DUMMY_PROPERTY +}; +#define FSPOT_SERVICE_ICON_FILENAME "f-spot-24.png" +FSpotService* fspot_service_new (GFile* resource_directory); +FSpotService* fspot_service_construct (GType object_type, GFile* resource_directory); +void data_imports_fspot_db_init (void); +static gint fspot_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* fspot_service_real_get_id (SpitPluggable* base); +static const gchar* fspot_service_real_get_pluggable_name (SpitPluggable* base); +static void fspot_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length); +static void fspot_service_real_activation (SpitPluggable* base, gboolean enabled); +static SpitDataImportsDataImporter* fspot_service_real_create_data_importer (SpitDataImportsService* base, SpitDataImportsPluginHost* host); +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_new (SpitDataImportsService* service, SpitDataImportsPluginHost* host); +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsPluginHost* host); +GType data_imports_fspot_fspot_data_importer_get_type (void) G_GNUC_CONST; +static void fspot_service_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_SERVICE_NAME "F-Spot" +#define DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE _ ("Welcome to the F-Spot library import service.\n" \ +"\n" \ +"Please select a library to import, either by selecting one of the exis" \ +"ting libraries found by Shotwell or by selecting an alternative F-Spot" \ +" database file.") +#define DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE_FILE_ONLY _ ("Welcome to the F-Spot library import service.\n" \ +"\n" \ +"Please select an F-Spot database file.") +#define DATA_IMPORTS_FSPOT_FILE_IMPORT_LABEL _ ("Manually select an F-Spot database file to import:") +#define DATA_IMPORTS_FSPOT_ERROR_CANT_OPEN_DB_FILE _ ("Cannot open the selected F-Spot database file: the file does not exist" \ +" or is not an F-Spot database") +#define DATA_IMPORTS_FSPOT_ERROR_UNSUPPORTED_DB_VERSION _ ("Cannot open the selected F-Spot database file: this version of the F-S" \ +"pot database is not supported by Shotwell") +#define DATA_IMPORTS_FSPOT_ERROR_CANT_READ_TAGS_TABLE _ ("Cannot read the selected F-Spot database file: error while reading tag" \ +"s table") +#define DATA_IMPORTS_FSPOT_ERROR_CANT_READ_PHOTOS_TABLE _ ("Cannot read the selected F-Spot database file: error while reading pho" \ +"tos table") +#define DATA_IMPORTS_FSPOT_MESSAGE_FINAL_SCREEN _ ("Shotwell has found %d photos in the F-Spot library and is currently im" \ +"porting them. Duplicates will be automatically detected and removed.\n" \ +"\n" \ +"You can close this dialog and start using Shotwell while the import is" \ +" taking place in the background.") +GType data_imports_fspot_fspot_importable_library_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_DUMMY_PROPERTY +}; +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_new (GFile* db_file); +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_construct (GType object_type, GFile* db_file); +GFile* data_imports_fspot_fspot_importable_library_get_db_file (DataImportsFSpotFSpotImportableLibrary* self); +static gchar* data_imports_fspot_fspot_importable_library_real_get_display_name (SpitDataImportsImportableLibrary* base); +static void data_imports_fspot_fspot_importable_library_finalize (GObject* obj); +GType data_imports_fspot_fspot_importable_item_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_version_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_roll_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_fspot_importable_tag_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_fspot_importable_event_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_fspot_importable_rating_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_DUMMY_PROPERTY +}; +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_new (DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite); +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_construct (GType object_type, DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite); +static DataImportsFSpotFSpotImportableTag** _vala_array_dup2 (DataImportsFSpotFSpotImportableTag** self, int length); +static time_t* _time_t_dup (time_t* self); +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_new (gint rating_value); +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_construct (GType object_type, gint rating_value); +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED -1 +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED 0 +static gchar* data_imports_fspot_fspot_importable_item_decode_url (DataImportsFSpotFSpotImportableItem* self, const gchar* url); +static SpitDataImportsImportableTag** data_imports_fspot_fspot_importable_item_real_get_tags (SpitDataImportsImportableMediaItem* base, int* result_length1); +static void _vala_array_add1 (SpitDataImportsImportableTag*** array, int* length, int* size, SpitDataImportsImportableTag* value); +static SpitDataImportsImportableEvent* data_imports_fspot_fspot_importable_item_real_get_event (SpitDataImportsImportableMediaItem* base); +static gchar* data_imports_fspot_fspot_importable_item_real_get_folder_path (SpitDataImportsImportableMediaItem* base); +static gchar* data_imports_fspot_fspot_importable_item_real_get_filename (SpitDataImportsImportableMediaItem* base); +static gchar* data_imports_fspot_fspot_importable_item_real_get_title (SpitDataImportsImportableMediaItem* base); +static SpitDataImportsImportableRating* data_imports_fspot_fspot_importable_item_real_get_rating (SpitDataImportsImportableMediaItem* base); +static time_t* data_imports_fspot_fspot_importable_item_real_get_exposure_time (SpitDataImportsImportableMediaItem* base); +static void data_imports_fspot_fspot_importable_item_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_tag_row_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_DUMMY_PROPERTY +}; +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_new (DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent); +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent); +gint64 data_imports_fspot_fspot_importable_tag_get_id (DataImportsFSpotFSpotImportableTag* self); +static gchar* data_imports_fspot_fspot_importable_tag_real_get_name (SpitDataImportsImportableTag* base); +static SpitDataImportsImportableTag* data_imports_fspot_fspot_importable_tag_real_get_parent (SpitDataImportsImportableTag* base); +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_get_fspot_parent (DataImportsFSpotFSpotImportableTag* self); +gchar* data_imports_fspot_fspot_importable_tag_get_stock_icon (DataImportsFSpotFSpotImportableTag* self); +gboolean data_imports_fspot_fspot_importable_tag_is_stock (DataImportsFSpotFSpotImportableTag* self); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON "stock_icon:" +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_tag_to_event (DataImportsFSpotFSpotImportableTag* self); +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_new (DataImportsFSpotDbFSpotTagRow* row); +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row); +static void data_imports_fspot_fspot_importable_tag_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_DUMMY_PROPERTY +}; +static gchar* data_imports_fspot_fspot_importable_event_real_get_name (SpitDataImportsImportableEvent* base); +static void data_imports_fspot_fspot_importable_event_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_DUMMY_PROPERTY +}; +static gboolean data_imports_fspot_fspot_importable_rating_real_is_rejected (SpitDataImportsImportableRating* base); +static gboolean data_imports_fspot_fspot_importable_rating_real_is_unrated (SpitDataImportsImportableRating* base); +static gint data_imports_fspot_fspot_importable_rating_real_get_value (SpitDataImportsImportableRating* base); +static void data_imports_fspot_fspot_importable_rating_finalize (GObject* obj); +GType data_imports_fspot_fspot_tags_cache_get_type (void) G_GNUC_CONST; +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_tags_table_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCachePrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_DUMMY_PROPERTY +}; +GQuark database_error_quark (void); +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_new (DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error); +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_construct (GType object_type, DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error); +static gint64* _int64_dup (gint64* self); +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag (DataImportsFSpotFSpotTagsCache* self, DataImportsFSpotDbFSpotTagRow* tag_row, GError** error); +static DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag_from_id (DataImportsFSpotFSpotTagsCache* self, gint64 tag_id, GError** error); +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tags_table_get_by_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 tag_id, GError** error); +static void data_imports_fspot_fspot_tags_cache_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_DUMMY_PROPERTY +}; +static gboolean data_imports_fspot_fspot_data_importer_real_is_running (SpitDataImportsDataImporter* base); +static SpitDataImportsService* data_imports_fspot_fspot_data_importer_real_get_service (SpitDataImportsDataImporter* base); +static void data_imports_fspot_fspot_data_importer_real_start (SpitDataImportsDataImporter* base); +static void data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (DataImportsFSpotFSpotDataImporter* self); +static void data_imports_fspot_fspot_data_importer_real_stop (SpitDataImportsDataImporter* base); +static void _vala_array_add2 (SpitDataImportsImportableLibrary*** array, int* length, int* size, SpitDataImportsImportableLibrary* value); +static void data_imports_fspot_fspot_data_importer_real_on_library_selected (SpitDataImportsDataImporter* base, SpitDataImportsImportableLibrary* library); +static void data_imports_fspot_fspot_data_importer_real_on_file_selected (SpitDataImportsDataImporter* base, GFile* file); +GType data_imports_fspot_db_fspot_database_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_new (GFile* db_file, GError** error); +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_construct (GType object_type, GFile* db_file, GError** error); +GType data_imports_fspot_db_fspot_photos_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_versions_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_rolls_table_get_type (void) G_GNUC_CONST; +GeeArrayList* data_imports_fspot_db_fspot_photos_table_get_all (DataImportsFSpotDbFSpotPhotosTable* self, GError** error); +GeeArrayList* data_imports_fspot_db_fspot_tags_table_get_by_photo_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 photo_id, GError** error); +static gboolean data_imports_fspot_fspot_data_importer_is_tag_hidden (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag, gint64 hidden_tag_id); +static gboolean data_imports_fspot_fspot_data_importer_is_tag_favorite (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag); +static void _vala_array_add3 (DataImportsFSpotFSpotImportableTag*** array, int* length, int* size, DataImportsFSpotFSpotImportableTag* value); +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_rolls_table_get_by_id (DataImportsFSpotDbFSpotRollsTable* self, gint64 roll_id, GError** error); +GeeArrayList* data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (DataImportsFSpotDbFSpotPhotoVersionsTable* self, gint64 photo_id, GError** error); +static void _vala_array_add4 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value); +static void _vala_array_add5 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value); +static void _vala_array_add6 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value); +void data_imports_fspot_fspot_data_importer_on_imported_items_count (DataImportsFSpotFSpotDataImporter* self, gint imported_items_count); +static void _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback (gint imported_items_count, gpointer self); +static gboolean data_imports_fspot_fspot_data_importer_is_tag_event (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_EVENTS "stock_icon:emblem-event" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_FAV "stock_icon:emblem-favorite" +static void data_imports_fspot_fspot_data_importer_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); + + +FSpotService* fspot_service_construct (GType object_type, GFile* resource_directory) { + FSpotService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (FSpotService*) g_object_new (object_type, NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_db_init (); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = fspot_service_icon_pixbuf_set; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0__length1 = fspot_service_icon_pixbuf_set_length1; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_ == NULL) { +#line 617 "FSpotImporter.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = resources_load_from_resource ("/org/gnome/Shotwell/Imports/" FSPOT_SERVICE_ICON_FILENAME, &_tmp1_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_icon_pixbuf_set = (_vala_array_free (fspot_service_icon_pixbuf_set, fspot_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_icon_pixbuf_set = _tmp2_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_icon_pixbuf_set_length1 = _tmp1_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _fspot_service_icon_pixbuf_set_size_ = fspot_service_icon_pixbuf_set_length1; +#line 630 "FSpotImporter.c" + } +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 634 "FSpotImporter.c" +} + + +FSpotService* fspot_service_new (GFile* resource_directory) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return fspot_service_construct (TYPE_FSPOT_SERVICE, resource_directory); +#line 641 "FSpotImporter.c" +} + + +static gint fspot_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + FSpotService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = min_host_interface; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = max_host_interface; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_DATA_IMPORTS_CURRENT_INTERFACE); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 663 "FSpotImporter.c" +} + + +static const gchar* fspot_service_real_get_id (SpitPluggable* base) { + FSpotService * self; + const gchar* result = NULL; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = "org.yorba.shotwell.dataimports.fspot"; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 676 "FSpotImporter.c" +} + + +static const gchar* fspot_service_real_get_pluggable_name (SpitPluggable* base) { + FSpotService * self; + const gchar* result = NULL; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = "F-Spot"; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 689 "FSpotImporter.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self ? g_object_ref (self) : NULL; +#line 696 "FSpotImporter.c" +} + + +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (i = 0; i < length; i++) { +#line 707 "FSpotImporter.c" + GdkPixbuf* _tmp0_ = NULL; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result[i] = _tmp0_; +#line 713 "FSpotImporter.c" + } +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 717 "FSpotImporter.c" +} + + +static void fspot_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + FSpotService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (info != NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_strdup ("Bruno Girin"); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).authors); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).authors = _tmp0_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc."); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).copyright); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).copyright = _tmp2_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).translators); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).translators = _tmp3_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = g_strdup (_VERSION); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).version); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).version = _tmp4_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).website_name); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).website_name = _tmp5_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).website_url); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).website_url = _tmp6_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).is_license_wordwrapped = FALSE; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).license); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).license = _tmp7_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = fspot_service_icon_pixbuf_set; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8__length1 = fspot_service_icon_pixbuf_set_length1; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup1 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9__length1 = _tmp8__length1; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).icons = _tmp9_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).icons_length1 = _tmp9__length1; +#line 799 "FSpotImporter.c" +} + + +static void fspot_service_real_activation (SpitPluggable* base, gboolean enabled) { + FSpotService * self; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 807 "FSpotImporter.c" +} + + +static SpitDataImportsDataImporter* fspot_service_real_create_data_importer (SpitDataImportsService* base, SpitDataImportsPluginHost* host) { + FSpotService * self; + SpitDataImportsDataImporter* result = NULL; + SpitDataImportsPluginHost* _tmp0_ = NULL; + DataImportsFSpotFSpotDataImporter* _tmp1_ = NULL; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = host; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_data_importer_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsService), _tmp0_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 828 "FSpotImporter.c" +} + + +static void fspot_service_class_init (FSpotServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = fspot_service_finalize; +#line 837 "FSpotImporter.c" +} + + +static void fspot_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) fspot_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) fspot_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) fspot_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) fspot_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) fspot_service_real_activation; +#line 854 "FSpotImporter.c" +} + + +static void fspot_service_spit_data_imports_service_interface_init (SpitDataImportsServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_spit_data_imports_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->create_data_importer = (SpitDataImportsDataImporter* (*)(SpitDataImportsService*, SpitDataImportsPluginHost*)) fspot_service_real_create_data_importer; +#line 863 "FSpotImporter.c" +} + + +static void fspot_service_instance_init (FSpotService * self) { +} + + +static void fspot_service_finalize (GObject* obj) { + FSpotService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FSPOT_SERVICE, FSpotService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (fspot_service_parent_class)->finalize (obj); +#line 877 "FSpotImporter.c" +} + + +GType fspot_service_get_type (void) { + static volatile gsize fspot_service_type_id__volatile = 0; + if (g_once_init_enter (&fspot_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FSpotServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) fspot_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FSpotService), 0, (GInstanceInitFunc) fspot_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) fspot_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_data_imports_service_info = { (GInterfaceInitFunc) fspot_service_spit_data_imports_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType fspot_service_type_id; + fspot_service_type_id = g_type_register_static (G_TYPE_OBJECT, "FSpotService", &g_define_type_info, 0); + g_type_add_interface_static (fspot_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (fspot_service_type_id, SPIT_DATA_IMPORTS_TYPE_SERVICE, &spit_data_imports_service_info); + g_once_init_leave (&fspot_service_type_id__volatile, fspot_service_type_id); + } + return fspot_service_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_construct (GType object_type, GFile* db_file) { + DataImportsFSpotFSpotImportableLibrary * self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (G_IS_FILE (db_file), NULL); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableLibrary*) g_object_new (object_type, NULL); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = db_file; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->db_file); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->db_file = _tmp1_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 915 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_new (GFile* db_file) { +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_library_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, db_file); +#line 922 "FSpotImporter.c" +} + + +GFile* data_imports_fspot_fspot_importable_library_get_db_file (DataImportsFSpotFSpotImportableLibrary* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY (self), NULL); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->db_file; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 940 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_library_real_get_display_name (SpitDataImportsImportableLibrary* base) { + DataImportsFSpotFSpotImportableLibrary * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _ ("F-Spot library: %s"); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = self->priv->db_file; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = g_strdup_printf (_tmp0_, _tmp3_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp3_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp5_; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 973 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_class_init (DataImportsFSpotFSpotImportableLibraryClass * klass) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_library_parent_class = g_type_class_peek_parent (klass); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableLibraryPrivate)); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_library_finalize; +#line 984 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_interface_init (SpitDataImportsImportableLibraryIface * iface) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_parent_iface = g_type_interface_peek_parent (iface); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_display_name = (gchar* (*)(SpitDataImportsImportableLibrary*)) data_imports_fspot_fspot_importable_library_real_get_display_name; +#line 993 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_instance_init (DataImportsFSpotFSpotImportableLibrary * self) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_PRIVATE (self); +#line 1000 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableLibrary * self; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->db_file); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_library_parent_class)->finalize (obj); +#line 1012 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_library_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_library_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_library_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableLibraryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_library_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableLibrary), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_library_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_library_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_library_type_id; + data_imports_fspot_fspot_importable_library_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableLibrary", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_library_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, &spit_data_imports_importable_library_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_library_type_id__volatile, data_imports_fspot_fspot_importable_library_type_id); + } + return data_imports_fspot_fspot_importable_library_type_id__volatile; +} + + +static DataImportsFSpotFSpotImportableTag** _vala_array_dup2 (DataImportsFSpotFSpotImportableTag** self, int length) { + DataImportsFSpotFSpotImportableTag** result; + int i; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = g_new0 (DataImportsFSpotFSpotImportableTag*, length + 1); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (i = 0; i < length; i++) { +#line 1037 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result[i] = _tmp0_; +#line 1043 "FSpotImporter.c" + } +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1047 "FSpotImporter.c" +} + + +static time_t* _time_t_dup (time_t* self) { + time_t* dup; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + dup = g_new0 (time_t, 1); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + memcpy (dup, self, sizeof (time_t)); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return dup; +#line 1059 "FSpotImporter.c" +} + + +static gpointer __time_t_dup0 (gpointer self) { +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self ? _time_t_dup (self) : NULL; +#line 1066 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_construct (GType object_type, DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite) { + DataImportsFSpotFSpotImportableItem * self = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp3_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp4_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + DataImportsFSpotFSpotImportableTag** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp8_ = NULL; + DataImportsFSpotFSpotImportableEvent* _tmp9_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp10_ = NULL; + time_t _tmp11_ = 0; + time_t* _tmp12_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp13_ = NULL; + gint _tmp14_ = 0; + gchar* _tmp23_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp24_ = NULL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp33_ = NULL; + gchar* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; + const gchar* _tmp40_ = NULL; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW (photo_row), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((photo_version_row == NULL) || DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW (photo_version_row), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((roll_row == NULL) || DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW (roll_row), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((event == NULL) || DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT (event), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableItem*) g_object_new (object_type, NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = photo_row; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_row); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->photo_row = _tmp1_; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = photo_version_row; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_version_row); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->photo_version_row = _tmp3_; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = roll_row; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->roll_row); +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->roll_row = _tmp5_; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = tags; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6__length1 = tags_length1; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = (_tmp6_ != NULL) ? _vala_array_dup2 (_tmp6_, _tmp6__length1) : ((gpointer) _tmp6_); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7__length1 = _tmp6__length1; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags = (_vala_array_free (self->priv->tags, self->priv->tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags = _tmp7_; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags_length1 = _tmp7__length1; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->_tags_size_ = self->priv->tags_length1; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = event; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->event); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->event = _tmp9_; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = photo_row; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = _tmp10_->time; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = __time_t_dup0 (&_tmp11_); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->date_time); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->date_time = _tmp12_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = photo_row; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = _tmp13_->rating; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp14_ > 0) { +#line 1171 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp15_ = NULL; + gint _tmp16_ = 0; + DataImportsFSpotFSpotImportableRating* _tmp17_ = NULL; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = photo_row; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = _tmp15_->rating; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = data_imports_fspot_fspot_importable_rating_new (_tmp16_); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp17_; +#line 1185 "FSpotImporter.c" + } else { + gboolean _tmp18_ = FALSE; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = is_hidden; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp18_) { +#line 1192 "FSpotImporter.c" + DataImportsFSpotFSpotImportableRating* _tmp19_ = NULL; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = data_imports_fspot_fspot_importable_rating_new (DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp19_; +#line 1200 "FSpotImporter.c" + } else { + gboolean _tmp20_ = FALSE; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = is_favorite; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp20_) { +#line 1207 "FSpotImporter.c" + DataImportsFSpotFSpotImportableRating* _tmp21_ = NULL; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = data_imports_fspot_fspot_importable_rating_new (5); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp21_; +#line 1215 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableRating* _tmp22_ = NULL; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = data_imports_fspot_fspot_importable_rating_new (DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp22_; +#line 1224 "FSpotImporter.c" + } + } + } +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = photo_version_row; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp24_ != NULL) { +#line 1232 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = photo_version_row; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = _tmp25_->base_path; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = g_file_get_path (_tmp26_); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp23_); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = _tmp27_; +#line 1246 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = photo_row; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = _tmp28_->base_path; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = g_file_get_path (_tmp29_); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp23_); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = _tmp30_; +#line 1261 "FSpotImporter.c" + } +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = g_strdup (_tmp23_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->folder_path); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->folder_path = _tmp31_; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = photo_version_row; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp33_ != NULL) { +#line 1273 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = photo_version_row; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = _tmp34_->filename; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp35_; +#line 1282 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = photo_row; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp37_ = _tmp36_->filename; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp37_; +#line 1292 "FSpotImporter.c" + } +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp38_ = g_strdup (_tmp32_); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->filename); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->filename = _tmp38_; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp40_ = self->priv->folder_path; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp40_ != NULL) { +#line 1304 "FSpotImporter.c" + const gchar* _tmp41_ = NULL; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp41_ = self->priv->filename; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = _tmp41_ != NULL; +#line 1310 "FSpotImporter.c" + } else { +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = FALSE; +#line 1314 "FSpotImporter.c" + } +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp39_) { +#line 1318 "FSpotImporter.c" + GFile* photo = NULL; + const gchar* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; + GFile* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + GFile* _tmp46_ = NULL; + GFile* _tmp47_ = NULL; + GFile* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp42_ = self->priv->folder_path; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp43_ = g_file_new_for_path (_tmp42_); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp44_ = _tmp43_; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp45_ = self->priv->filename; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp46_ = g_file_get_child (_tmp44_, _tmp45_); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp47_ = _tmp46_; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp44_); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo = _tmp47_; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp48_ = photo; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp49_ = g_file_query_exists (_tmp48_, NULL); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp49_) { +#line 1350 "FSpotImporter.c" + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp50_ = self->priv->folder_path; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp51_ = data_imports_fspot_fspot_importable_item_decode_url (self, _tmp50_); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->folder_path); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->folder_path = _tmp51_; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp52_ = self->priv->filename; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp53_ = data_imports_fspot_fspot_importable_item_decode_url (self, _tmp52_); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->filename); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->filename = _tmp53_; +#line 1371 "FSpotImporter.c" + } +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo); +#line 1375 "FSpotImporter.c" + } +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp23_); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 1381 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_new (DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite) { +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_item_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, photo_row, photo_version_row, roll_row, tags, tags_length1, event, is_hidden, is_favorite); +#line 1388 "FSpotImporter.c" +} + + +static void _vala_array_add1 (SpitDataImportsImportableTag*** array, int* length, int* size, SpitDataImportsImportableTag* value) { +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableTag*, *array, (*size) + 1); +#line 1399 "FSpotImporter.c" + } +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 1405 "FSpotImporter.c" +} + + +static SpitDataImportsImportableTag** data_imports_fspot_fspot_importable_item_real_get_tags (SpitDataImportsImportableMediaItem* base, int* result_length1) { + DataImportsFSpotFSpotImportableItem * self; + SpitDataImportsImportableTag** result = NULL; + SpitDataImportsImportableTag** importable_tags = NULL; + SpitDataImportsImportableTag** _tmp0_ = NULL; + gint importable_tags_length1 = 0; + gint _importable_tags_size_ = 0; + DataImportsFSpotFSpotImportableTag** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + SpitDataImportsImportableTag** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_new0 (SpitDataImportsImportableTag*, 0 + 1); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_tags = _tmp0_; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_tags_length1 = 0; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_tags_size_ = importable_tags_length1; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = self->priv->tags; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1__length1 = self->priv->tags_length1; +#line 1434 "FSpotImporter.c" + { + DataImportsFSpotFSpotImportableTag** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_collection = _tmp1_; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_collection_length1 = _tmp1__length1; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (tag_it = 0; tag_it < _tmp1__length1; tag_it = tag_it + 1) { +#line 1446 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* _tmp2_ = NULL; + DataImportsFSpotFSpotImportableTag* tag = NULL; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _g_object_ref0 (tag_collection[tag_it]); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = _tmp2_; +#line 1453 "FSpotImporter.c" + { + SpitDataImportsImportableTag** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + SpitDataImportsImportableTag* _tmp5_ = NULL; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = importable_tags; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3__length1 = importable_tags_length1; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag)); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add1 (&importable_tags, &importable_tags_length1, &_importable_tags_size_, _tmp5_); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 1471 "FSpotImporter.c" + } + } + } +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = importable_tags; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6__length1 = importable_tags_length1; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (result_length1) { +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *result_length1 = _tmp6__length1; +#line 1483 "FSpotImporter.c" + } +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp6_; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1489 "FSpotImporter.c" +} + + +static SpitDataImportsImportableEvent* data_imports_fspot_fspot_importable_item_real_get_event (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + SpitDataImportsImportableEvent* result = NULL; + DataImportsFSpotFSpotImportableEvent* _tmp0_ = NULL; + SpitDataImportsImportableEvent* _tmp1_ = NULL; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->event; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, SpitDataImportsImportableEvent)); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1508 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_real_get_folder_path (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->folder_path; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1527 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_real_get_filename (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->filename; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1546 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_real_get_title (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + DataImportsFSpotDbFSpotPhotoRow* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp8_ = NULL; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = self->priv->photo_row; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_->description; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp3_ == NULL) { +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = TRUE; +#line 1568 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = self->priv->photo_row; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_->description; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_strcmp0 (_tmp5_, "") == 0; +#line 1578 "FSpotImporter.c" + } +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp1_) { +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = NULL; +#line 1584 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = self->priv->photo_row; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = _tmp6_->description; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _tmp7_; +#line 1594 "FSpotImporter.c" + } +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = g_strdup (_tmp0_); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp8_; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1602 "FSpotImporter.c" +} + + +static SpitDataImportsImportableRating* data_imports_fspot_fspot_importable_item_real_get_rating (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + SpitDataImportsImportableRating* result = NULL; + DataImportsFSpotFSpotImportableRating* _tmp0_ = NULL; + SpitDataImportsImportableRating* _tmp1_ = NULL; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, SpitDataImportsImportableRating)); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1621 "FSpotImporter.c" +} + + +static time_t* data_imports_fspot_fspot_importable_item_real_get_exposure_time (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + time_t* result = NULL; + time_t* _tmp0_ = NULL; + time_t* _tmp1_ = NULL; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->date_time; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = __time_t_dup0 (_tmp0_); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1640 "FSpotImporter.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 1665 "FSpotImporter.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 1673 "FSpotImporter.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 1679 "FSpotImporter.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 1713 "FSpotImporter.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 1722 "FSpotImporter.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 1728 "FSpotImporter.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 1737 "FSpotImporter.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 1743 "FSpotImporter.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 1752 "FSpotImporter.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 1756 "FSpotImporter.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 1764 "FSpotImporter.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 1773 "FSpotImporter.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 1777 "FSpotImporter.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 1799 "FSpotImporter.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 1817 "FSpotImporter.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 1840 "FSpotImporter.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 1848 "FSpotImporter.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 1860 "FSpotImporter.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 1884 "FSpotImporter.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 1890 "FSpotImporter.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 1894 "FSpotImporter.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 1898 "FSpotImporter.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 1910 "FSpotImporter.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 1920 "FSpotImporter.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 1926 "FSpotImporter.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 1940 "FSpotImporter.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 1950 "FSpotImporter.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 1956 "FSpotImporter.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 1965 "FSpotImporter.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 1985 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_decode_url (DataImportsFSpotFSpotImportableItem* self, const gchar* url) { + gchar* result = NULL; + GString* builder = NULL; + GString* _tmp0_ = NULL; + GString* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM (self), NULL); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_string_new (""); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + builder = _tmp0_; +#line 2004 "FSpotImporter.c" + { + gint idx = 0; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = 0; +#line 2009 "FSpotImporter.c" + { + gboolean _tmp1_ = FALSE; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = TRUE; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 2016 "FSpotImporter.c" + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint cidx = 0; + const gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp17_ = 0; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp1_) { +#line 2030 "FSpotImporter.c" + } +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = FALSE; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = idx; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = url; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = strlen (_tmp3_); +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp2_ < _tmp5_)) { +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 2046 "FSpotImporter.c" + } +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = url; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = idx; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = string_index_of_char (_tmp6_, (gunichar) '%', _tmp7_); +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + cidx = _tmp8_; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = cidx; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = idx; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp9_ > _tmp10_) { +#line 2062 "FSpotImporter.c" + GString* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = builder; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = url; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = idx; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = cidx; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = string_slice (_tmp12_, (glong) _tmp13_, (glong) _tmp14_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = _tmp15_; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_string_append (_tmp11_, _tmp16_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp16_); +#line 2085 "FSpotImporter.c" + } +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = cidx; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp17_ >= 0) { +#line 2091 "FSpotImporter.c" + gint _tmp18_ = 0; + const gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = cidx; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = url; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = strlen (_tmp19_); +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = _tmp20_; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp18_ < (_tmp21_ - 2)) { +#line 2106 "FSpotImporter.c" + gchar c1 = '\0'; + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gchar _tmp24_ = '\0'; + gchar c2 = '\0'; + const gchar* _tmp25_ = NULL; + gint _tmp26_ = 0; + gchar _tmp27_ = '\0'; + gboolean _tmp28_ = FALSE; + gchar _tmp29_ = '\0'; + gboolean _tmp30_ = FALSE; + gint _tmp39_ = 0; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = url; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = cidx; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = string_get (_tmp22_, (glong) (_tmp23_ + 1)); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + c1 = _tmp24_; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = url; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = cidx; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = string_get (_tmp25_, (glong) (_tmp26_ + 2)); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + c2 = _tmp27_; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = c1; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = g_ascii_isxdigit (_tmp29_); +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp30_) { +#line 2141 "FSpotImporter.c" + gchar _tmp31_ = '\0'; + gboolean _tmp32_ = FALSE; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = c1; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = g_ascii_isxdigit (_tmp31_); +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = _tmp32_; +#line 2150 "FSpotImporter.c" + } else { +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = FALSE; +#line 2154 "FSpotImporter.c" + } +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp28_) { +#line 2158 "FSpotImporter.c" + gint ccode = 0; + gchar _tmp33_ = '\0'; + gint _tmp34_ = 0; + gchar _tmp35_ = '\0'; + gint _tmp36_ = 0; + GString* _tmp37_ = NULL; + gint _tmp38_ = 0; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = c1; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = g_ascii_xdigit_value (_tmp33_); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = c2; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = g_ascii_xdigit_value (_tmp35_); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + ccode = (0x10 * _tmp34_) + _tmp36_; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp37_ = builder; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp38_ = ccode; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_string_append_c (_tmp37_, (gchar) _tmp38_); +#line 2182 "FSpotImporter.c" + } +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = cidx; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = _tmp39_ + 3; +#line 2188 "FSpotImporter.c" + } else { + gint _tmp40_ = 0; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp40_ = cidx; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = _tmp40_ + 1; +#line 2195 "FSpotImporter.c" + } + } else { + GString* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + gint _tmp43_ = 0; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + gint _tmp47_ = 0; + gint _tmp48_ = 0; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp41_ = builder; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp42_ = url; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp43_ = idx; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp44_ = string_substring (_tmp42_, (glong) _tmp43_, (glong) -1); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp45_ = _tmp44_; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_string_append (_tmp41_, _tmp45_); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp45_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp46_ = url; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp47_ = strlen (_tmp46_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp48_ = _tmp47_; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = _tmp48_; +#line 2228 "FSpotImporter.c" + } + } + } + } +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp49_ = builder; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp50_ = _tmp49_->str; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp51_ = g_strdup (_tmp50_); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp51_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_string_free0 (builder); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2245 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_class_init (DataImportsFSpotFSpotImportableItemClass * klass) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_item_parent_class = g_type_class_peek_parent (klass); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableItemPrivate)); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_item_finalize; +#line 2256 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_interface_init (SpitDataImportsImportableMediaItemIface * iface) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_parent_iface = g_type_interface_peek_parent (iface); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_tags = (SpitDataImportsImportableTag** (*)(SpitDataImportsImportableMediaItem*, int*)) data_imports_fspot_fspot_importable_item_real_get_tags; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_event = (SpitDataImportsImportableEvent* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_event; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_folder_path = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_folder_path; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_filename = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_filename; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_title = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_title; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_rating = (SpitDataImportsImportableRating* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_rating; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_exposure_time = (time_t* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_exposure_time; +#line 2277 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_instance_init (DataImportsFSpotFSpotImportableItem * self) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_PRIVATE (self); +#line 2284 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableItem * self; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_row); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_version_row); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->roll_row); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags = (_vala_array_free (self->priv->tags, self->priv->tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->event); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->folder_path); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->filename); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->date_time); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_item_parent_class)->finalize (obj); +#line 2312 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_item_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_item_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableItem), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_item_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_media_item_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_item_type_id; + data_imports_fspot_fspot_importable_item_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableItem", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_item_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, &spit_data_imports_importable_media_item_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_item_type_id__volatile, data_imports_fspot_fspot_importable_item_type_id); + } + return data_imports_fspot_fspot_importable_item_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent) { + DataImportsFSpotFSpotImportableTag * self = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp2_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp3_ = NULL; +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (row), NULL); +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((parent == NULL) || DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (parent), NULL); +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableTag*) g_object_new (object_type, NULL); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = row; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->row = _tmp1_; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = parent; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->parent); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->parent = _tmp3_; +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2360 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_new (DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent) { +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_tag_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, row, parent); +#line 2367 "FSpotImporter.c" +} + + +gint64 data_imports_fspot_fspot_importable_tag_get_id (DataImportsFSpotFSpotImportableTag* self) { + gint64 result = 0LL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), 0LL); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->tag_id; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2385 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_tag_real_get_name (SpitDataImportsImportableTag* base) { + DataImportsFSpotFSpotImportableTag * self; + gchar* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->name; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2407 "FSpotImporter.c" +} + + +static SpitDataImportsImportableTag* data_imports_fspot_fspot_importable_tag_real_get_parent (SpitDataImportsImportableTag* base) { + DataImportsFSpotFSpotImportableTag * self; + SpitDataImportsImportableTag* result = NULL; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + SpitDataImportsImportableTag* _tmp1_ = NULL; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->parent; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag)); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2426 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_get_fspot_parent (DataImportsFSpotFSpotImportableTag* self) { + DataImportsFSpotFSpotImportableTag* result = NULL; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp1_ = NULL; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->parent; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2444 "FSpotImporter.c" +} + + +gchar* data_imports_fspot_fspot_importable_tag_get_stock_icon (DataImportsFSpotFSpotImportableTag* self) { + gchar* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->stock_icon; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2465 "FSpotImporter.c" +} + + +gboolean data_imports_fspot_fspot_importable_tag_is_stock (DataImportsFSpotFSpotImportableTag* self) { + gboolean result = FALSE; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), FALSE); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->stock_icon; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2486 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_tag_to_event (DataImportsFSpotFSpotImportableTag* self) { + DataImportsFSpotFSpotImportableEvent* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + DataImportsFSpotFSpotImportableEvent* _tmp1_ = NULL; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_event_new (_tmp0_); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2504 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_class_init (DataImportsFSpotFSpotImportableTagClass * klass) { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_tag_parent_class = g_type_class_peek_parent (klass); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableTagPrivate)); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_tag_finalize; +#line 2515 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_interface_init (SpitDataImportsImportableTagIface * iface) { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_parent_iface = g_type_interface_peek_parent (iface); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_name = (gchar* (*)(SpitDataImportsImportableTag*)) data_imports_fspot_fspot_importable_tag_real_get_name; +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_parent = (SpitDataImportsImportableTag* (*)(SpitDataImportsImportableTag*)) data_imports_fspot_fspot_importable_tag_real_get_parent; +#line 2526 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_instance_init (DataImportsFSpotFSpotImportableTag * self) { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_PRIVATE (self); +#line 2533 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableTag * self; +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->parent); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_tag_parent_class)->finalize (obj); +#line 2547 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_tag_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_tag_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_tag_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableTagClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_tag_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableTag), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_tag_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_tag_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_tag_type_id; + data_imports_fspot_fspot_importable_tag_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableTag", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_tag_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, &spit_data_imports_importable_tag_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_tag_type_id__volatile, data_imports_fspot_fspot_importable_tag_type_id); + } + return data_imports_fspot_fspot_importable_tag_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row) { + DataImportsFSpotFSpotImportableEvent * self = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (row), NULL); +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableEvent*) g_object_new (object_type, NULL); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = row; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->row = _tmp1_; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2583 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_new (DataImportsFSpotDbFSpotTagRow* row) { +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_event_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, row); +#line 2590 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_event_real_get_name (SpitDataImportsImportableEvent* base) { + DataImportsFSpotFSpotImportableEvent * self; + gchar* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->name; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2612 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_class_init (DataImportsFSpotFSpotImportableEventClass * klass) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_event_parent_class = g_type_class_peek_parent (klass); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableEventPrivate)); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_event_finalize; +#line 2623 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_interface_init (SpitDataImportsImportableEventIface * iface) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_parent_iface = g_type_interface_peek_parent (iface); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_name = (gchar* (*)(SpitDataImportsImportableEvent*)) data_imports_fspot_fspot_importable_event_real_get_name; +#line 2632 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_instance_init (DataImportsFSpotFSpotImportableEvent * self) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_PRIVATE (self); +#line 2639 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableEvent * self; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_event_parent_class)->finalize (obj); +#line 2651 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_event_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_event_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_event_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableEventClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_event_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableEvent), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_event_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_event_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_event_type_id; + data_imports_fspot_fspot_importable_event_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableEvent", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_event_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, &spit_data_imports_importable_event_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_event_type_id__volatile, data_imports_fspot_fspot_importable_event_type_id); + } + return data_imports_fspot_fspot_importable_event_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_construct (GType object_type, gint rating_value) { + DataImportsFSpotFSpotImportableRating * self = NULL; + gint _tmp0_ = 0; + gint _tmp2_ = 0; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableRating*) g_object_new (object_type, NULL); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = rating_value; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_ < -1) { +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + rating_value = -1; +#line 2681 "FSpotImporter.c" + } else { + gint _tmp1_ = 0; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = rating_value; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp1_ > 5) { +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + rating_value = 5; +#line 2690 "FSpotImporter.c" + } + } +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = rating_value; +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating_value = _tmp2_; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2699 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_new (gint rating_value) { +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_rating_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, rating_value); +#line 2706 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_importable_rating_real_is_rejected (SpitDataImportsImportableRating* base) { + DataImportsFSpotFSpotImportableRating * self; + gboolean result = FALSE; + gint _tmp0_ = 0; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating_value; +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_ == DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED; +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2722 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_importable_rating_real_is_unrated (SpitDataImportsImportableRating* base) { + DataImportsFSpotFSpotImportableRating * self; + gboolean result = FALSE; + gint _tmp0_ = 0; +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating_value; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_ == DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2738 "FSpotImporter.c" +} + + +static gint data_imports_fspot_fspot_importable_rating_real_get_value (SpitDataImportsImportableRating* base) { + DataImportsFSpotFSpotImportableRating * self; + gint result = 0; + gint _tmp0_ = 0; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating_value; +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_; +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2754 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_class_init (DataImportsFSpotFSpotImportableRatingClass * klass) { +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_rating_parent_class = g_type_class_peek_parent (klass); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableRatingPrivate)); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_rating_finalize; +#line 2765 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_interface_init (SpitDataImportsImportableRatingIface * iface) { +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_parent_iface = g_type_interface_peek_parent (iface); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->is_rejected = (gboolean (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_is_rejected; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->is_unrated = (gboolean (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_is_unrated; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_value = (gint (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_get_value; +#line 2778 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_instance_init (DataImportsFSpotFSpotImportableRating * self) { +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_PRIVATE (self); +#line 2785 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableRating * self; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_rating_parent_class)->finalize (obj); +#line 2795 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_rating_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_rating_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_rating_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableRating), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_rating_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_rating_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_rating_type_id; + data_imports_fspot_fspot_importable_rating_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableRating", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_rating_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, &spit_data_imports_importable_rating_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_rating_type_id__volatile, data_imports_fspot_fspot_importable_rating_type_id); + } + return data_imports_fspot_fspot_importable_rating_type_id__volatile; +} + + +static gpointer _importable_database_table_ref0 (gpointer self) { +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self ? importable_database_table_ref (self) : NULL; +#line 2816 "FSpotImporter.c" +} + + +static gint64* _int64_dup (gint64* self) { + gint64* dup; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + dup = g_new0 (gint64, 1); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + memcpy (dup, self, sizeof (gint64)); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return dup; +#line 2828 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_construct (GType object_type, DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error) { + DataImportsFSpotFSpotTagsCache * self = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE (tags_table), NULL); +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotTagsCache*) g_object_new (object_type, NULL); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tags_table; +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _importable_database_table_ref0 (_tmp0_); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_database_table_unref0 (self->priv->tags_table); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags_table = _tmp1_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = gee_hash_map_new (G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->tags_map); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags_map = _tmp2_; +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2857 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_new (DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error) { +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_tags_cache_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, tags_table, error); +#line 2864 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag (DataImportsFSpotFSpotTagsCache* self, DataImportsFSpotDbFSpotTagRow* tag_row, GError** error) { + DataImportsFSpotFSpotImportableTag* result = NULL; + DataImportsFSpotFSpotImportableTag* tag = NULL; + GeeHashMap* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gpointer _tmp3_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE (self), NULL); +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (tag_row), NULL); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->tags_map; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = tag_row; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_->tag_id; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp2_); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = (DataImportsFSpotFSpotImportableTag*) _tmp3_; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp4_ != NULL) { +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = tag; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2899 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* parent_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; + DataImportsFSpotFSpotImportableTag* new_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp8_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp9_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp10_ = NULL; + GeeHashMap* _tmp11_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp12_ = NULL; + gint64 _tmp13_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp14_ = NULL; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = tag_row; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = _tmp5_->category_id; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = data_imports_fspot_fspot_tags_cache_get_tag_from_id (self, _tmp6_, &_inner_error_); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent_tag = _tmp7_; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_propagate_error (error, _inner_error_); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 2931 "FSpotImporter.c" + } else { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 2941 "FSpotImporter.c" + } + } +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = tag_row; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = parent_tag; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = data_imports_fspot_fspot_importable_tag_new (_tmp8_, _tmp9_); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + new_tag = _tmp10_; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = self->priv->tags_map; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = tag_row; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = _tmp12_->tag_id; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = new_tag; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp13_, _tmp14_); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = new_tag; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent_tag); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2970 "FSpotImporter.c" + } +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 2974 "FSpotImporter.c" +} + + +static DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag_from_id (DataImportsFSpotFSpotTagsCache* self, gint64 tag_id, GError** error) { + DataImportsFSpotFSpotImportableTag* result = NULL; + gint64 _tmp0_ = 0LL; + DataImportsFSpotFSpotImportableTag* tag = NULL; + GeeHashMap* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gpointer _tmp3_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + DataImportsFSpotDbFSpotTagRow* tag_row = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + DataImportsFSpotDbFSpotTagRow* _tmp7_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE (self), NULL); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tag_id; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_ < ((gint64) 1)) { +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = NULL; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3002 "FSpotImporter.c" + } +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = self->priv->tags_map; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = tag_id; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp2_); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = (DataImportsFSpotFSpotImportableTag*) _tmp3_; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp4_ != NULL) { +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = tag; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3020 "FSpotImporter.c" + } +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = self->priv->tags_table; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = tag_id; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = data_imports_fspot_db_fspot_tags_table_get_by_id (_tmp5_, _tmp6_, &_inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_row = _tmp7_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_propagate_error (error, _inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3040 "FSpotImporter.c" + } else { +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3050 "FSpotImporter.c" + } + } +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = tag_row; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp8_ != NULL) { +#line 3057 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp11_ = NULL; + DataImportsFSpotFSpotImportableTag* new_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp12_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp13_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp14_ = NULL; + GeeHashMap* _tmp15_ = NULL; + gint64 _tmp16_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp17_ = NULL; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = tag_row; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = _tmp9_->category_id; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = data_imports_fspot_fspot_tags_cache_get_tag_from_id (self, _tmp10_, &_inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent_tag = _tmp11_; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_propagate_error (error, _inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3089 "FSpotImporter.c" + } else { +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3101 "FSpotImporter.c" + } + } +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = tag_row; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = parent_tag; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = data_imports_fspot_fspot_importable_tag_new (_tmp12_, _tmp13_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + new_tag = _tmp14_; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = self->priv->tags_map; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = tag_id; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = new_tag; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp16_, _tmp17_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = new_tag; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent_tag); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3130 "FSpotImporter.c" + } +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = NULL; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3140 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_tags_cache_class_init (DataImportsFSpotFSpotTagsCacheClass * klass) { +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_tags_cache_parent_class = g_type_class_peek_parent (klass); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotTagsCachePrivate)); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_tags_cache_finalize; +#line 3151 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_tags_cache_instance_init (DataImportsFSpotFSpotTagsCache * self) { +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_PRIVATE (self); +#line 3158 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_tags_cache_finalize (GObject* obj) { + DataImportsFSpotFSpotTagsCache * self; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCache); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_database_table_unref0 (self->priv->tags_table); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->tags_map); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_tags_cache_parent_class)->finalize (obj); +#line 3172 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_tags_cache_get_type (void) { + static volatile gsize data_imports_fspot_fspot_tags_cache_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_tags_cache_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotTagsCacheClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_tags_cache_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotTagsCache), 0, (GInstanceInitFunc) data_imports_fspot_fspot_tags_cache_instance_init, NULL }; + GType data_imports_fspot_fspot_tags_cache_type_id; + data_imports_fspot_fspot_tags_cache_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotTagsCache", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_fspot_tags_cache_type_id__volatile, data_imports_fspot_fspot_tags_cache_type_id); + } + return data_imports_fspot_fspot_tags_cache_type_id__volatile; +} + + +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsPluginHost* host) { + DataImportsFSpotFSpotDataImporter * self = NULL; + SpitDataImportsService* _tmp0_ = NULL; + SpitDataImportsPluginHost* _tmp1_ = NULL; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (service), NULL); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotDataImporter*) g_object_new (object_type, NULL); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:330: FSpotDataImporter instantiated."); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = service; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->service = _tmp0_; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = host; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->host = _tmp1_; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 3210 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_new (SpitDataImportsService* service, SpitDataImportsPluginHost* host) { +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_data_importer_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, service, host); +#line 3217 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_real_is_running (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->running; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3233 "FSpotImporter.c" +} + + +static SpitDataImportsService* data_imports_fspot_fspot_data_importer_real_get_service (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; + SpitDataImportsService* result = NULL; + SpitDataImportsService* _tmp0_ = NULL; + SpitDataImportsService* _tmp1_ = NULL; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->service; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3252 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_start (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; + gboolean _tmp0_ = FALSE; +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = spit_data_imports_data_importer_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter)); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_) { +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3267 "FSpotImporter.c" + } +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:347: FSpotDataImporter: starting interaction."); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->running = TRUE; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (self); +#line 3275 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_stop (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:355: FSpotDataImporter: stopping interaction."); +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->running = FALSE; +#line 3287 "FSpotImporter.c" +} + + +/** + * Action that discovers importable libraries based on standard locations. + */ +static void _vala_array_add2 (SpitDataImportsImportableLibrary*** array, int* length, int* size, SpitDataImportsImportableLibrary* value) { +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableLibrary*, *array, (*size) + 1); +#line 3301 "FSpotImporter.c" + } +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3307 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (DataImportsFSpotFSpotDataImporter* self) { + SpitDataImportsImportableLibrary** discovered_libraries = NULL; + SpitDataImportsImportableLibrary** _tmp0_ = NULL; + gint discovered_libraries_length1 = 0; + gint _discovered_libraries_size_ = 0; + GFile** db_files = NULL; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile** _tmp21_ = NULL; + GFile** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint db_files_length1 = 0; + gint _db_files_size_ = 0; + GFile** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + const gchar* _tmp33_ = NULL; + SpitDataImportsImportableLibrary** _tmp34_ = NULL; + gint _tmp34__length1 = 0; + SpitDataImportsPluginHost* _tmp35_ = NULL; + SpitDataImportsImportableLibrary** _tmp36_ = NULL; + gint _tmp36__length1 = 0; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self)); +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_new0 (SpitDataImportsImportableLibrary*, 0 + 1); +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + discovered_libraries = _tmp0_; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + discovered_libraries_length1 = 0; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _discovered_libraries_size_ = discovered_libraries_length1; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_get_user_config_dir (); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = g_file_get_child (_tmp3_, "f-spot"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = g_file_get_child (_tmp5_, "photos.db"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = g_get_home_dir (); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = g_file_new_for_path (_tmp7_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = _tmp8_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = g_file_get_child (_tmp9_, ".gnome2"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = _tmp10_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = g_file_get_child (_tmp11_, "f-spot"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = _tmp12_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = g_file_get_child (_tmp13_, "photos.db"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = g_get_user_data_dir (); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = g_file_new_for_path (_tmp15_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = _tmp16_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = g_file_get_child (_tmp17_, "f-spot"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = _tmp18_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = g_file_get_child (_tmp19_, "photos.db"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = g_new0 (GFile*, 3 + 1); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_[0] = _tmp6_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_[1] = _tmp14_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_[2] = _tmp20_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = _tmp21_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22__length1 = 3; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp19_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp17_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp13_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp11_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp9_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp5_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp3_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_files = _tmp22_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_files_length1 = _tmp22__length1; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _db_files_size_ = db_files_length1; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = db_files; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23__length1 = db_files_length1; +#line 3436 "FSpotImporter.c" + { + GFile** db_file_collection = NULL; + gint db_file_collection_length1 = 0; + gint _db_file_collection_size_ = 0; + gint db_file_it = 0; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_file_collection = _tmp23_; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_file_collection_length1 = _tmp23__length1; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (db_file_it = 0; db_file_it < _tmp23__length1; db_file_it = db_file_it + 1) { +#line 3448 "FSpotImporter.c" + GFile* _tmp24_ = NULL; + GFile* db_file = NULL; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = _g_object_ref0 (db_file_collection[db_file_it]); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_file = _tmp24_; +#line 3455 "FSpotImporter.c" + { + GFile* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = db_file; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = g_file_query_exists (_tmp25_, NULL); +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp26_) { +#line 3465 "FSpotImporter.c" + SpitDataImportsImportableLibrary** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GFile* _tmp28_ = NULL; + DataImportsFSpotFSpotImportableLibrary* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = discovered_libraries; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27__length1 = discovered_libraries_length1; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = db_file; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = data_imports_fspot_fspot_importable_library_new (_tmp28_); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add2 (&discovered_libraries, &discovered_libraries_length1, &_discovered_libraries_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, SpitDataImportsImportableLibrary)); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = db_file; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = g_file_get_path (_tmp30_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp31_; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:384: Discovered importable library: %s", _tmp32_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp32_); +#line 3493 "FSpotImporter.c" + } +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (db_file); +#line 3497 "FSpotImporter.c" + } + } + } +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = discovered_libraries; +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34__length1 = discovered_libraries_length1; +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp34__length1 > 0) { +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE; +#line 3509 "FSpotImporter.c" + } else { +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE_FILE_ONLY; +#line 3513 "FSpotImporter.c" + } +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = self->priv->host; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = discovered_libraries; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36__length1 = discovered_libraries_length1; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_install_library_selection_pane (_tmp35_, _tmp33_, _tmp36_, _tmp36__length1, DATA_IMPORTS_FSPOT_FILE_IMPORT_LABEL); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_files = (_vala_array_free (db_files, db_files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + discovered_libraries = (_vala_array_free (discovered_libraries, discovered_libraries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 3527 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_on_library_selected (SpitDataImportsDataImporter* base, SpitDataImportsImportableLibrary* library) { + DataImportsFSpotFSpotDataImporter * self; + SpitDataImportsImportableLibrary* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY (library)); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = library; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_library_get_db_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary)); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_data_importer_on_file_selected (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter), _tmp2_); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp2_); +#line 3550 "FSpotImporter.c" +} + + +static void _vala_array_add3 (DataImportsFSpotFSpotImportableTag*** array, int* length, int* size, DataImportsFSpotFSpotImportableTag* value) { +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (DataImportsFSpotFSpotImportableTag*, *array, (*size) + 1); +#line 3561 "FSpotImporter.c" + } +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3567 "FSpotImporter.c" +} + + +static void _vala_array_add4 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) { +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1); +#line 3578 "FSpotImporter.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3584 "FSpotImporter.c" +} + + +static void _vala_array_add5 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) { +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1); +#line 3595 "FSpotImporter.c" + } +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3601 "FSpotImporter.c" +} + + +static void _vala_array_add6 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) { +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1); +#line 3612 "FSpotImporter.c" + } +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3618 "FSpotImporter.c" +} + + +static void _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback (gint imported_items_count, gpointer self) { +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_on_imported_items_count ((DataImportsFSpotFSpotDataImporter*) self, imported_items_count); +#line 3625 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_on_file_selected (SpitDataImportsDataImporter* base, GFile* file) { + DataImportsFSpotFSpotDataImporter * self; + DataImportsFSpotDbFSpotDatabase* database = NULL; + DataImportsFSpotFSpotTagsCache* tags_cache = NULL; + GeeArrayList* all_photos = NULL; + gdouble progress_delta_per_photo = 0.0; + gdouble progress_plugin_to_host_ratio = 0.0; + gdouble current_progress = 0.0; + SpitDataImportsPluginHost* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GeeArrayList* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + SpitDataImportsPluginHost* _tmp173_ = NULL; + GError * _inner_error_ = NULL; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + progress_delta_per_photo = 1.0; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + progress_plugin_to_host_ratio = 0.5; +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + current_progress = 0.0; +#line 3654 "FSpotImporter.c" + { + DataImportsFSpotDbFSpotDatabase* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp2_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp3_ = NULL; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = file; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_new (_tmp1_, &_inner_error_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _tmp2_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3670 "FSpotImporter.c" + goto __catch0_database_error; + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR) { +#line 3675 "FSpotImporter.c" + goto __catch0_spit_data_imports_data_import_error; + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3690 "FSpotImporter.c" + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp0_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = NULL; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + database = _tmp3_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp0_); +#line 3702 "FSpotImporter.c" + } + goto __finally0; + __catch0_database_error: + { + GError* e = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + SpitDataImportsPluginHost* _tmp8_ = NULL; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = e; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_->message; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = g_strdup_printf ("FSpotDataImporter: Can't open database file: %s", _tmp5_); +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = _tmp6_; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:409: %s", _tmp7_); +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp7_); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = self->priv->host; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp8_, DATA_IMPORTS_FSPOT_ERROR_CANT_OPEN_DB_FILE); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3743 "FSpotImporter.c" + } + goto __finally0; + __catch0_spit_data_imports_data_import_error: + { + GError* e = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + SpitDataImportsPluginHost* _tmp13_ = NULL; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = e; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = _tmp9_->message; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = g_strdup_printf ("FSpotDataImporter: Unsupported F-Spot database version: %s", _tmp10_); +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = _tmp11_; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:413: %s", _tmp12_); +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp12_); +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = self->priv->host; +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp13_, DATA_IMPORTS_FSPOT_ERROR_UNSUPPORTED_DB_VERSION); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3784 "FSpotImporter.c" + } + __finally0: +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3801 "FSpotImporter.c" + } + { + DataImportsFSpotFSpotTagsCache* _tmp14_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp15_ = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp16_ = NULL; + DataImportsFSpotFSpotTagsCache* _tmp17_ = NULL; + DataImportsFSpotFSpotTagsCache* _tmp18_ = NULL; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = database; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = _tmp15_->tags_table; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = data_imports_fspot_fspot_tags_cache_new (_tmp16_, &_inner_error_); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = _tmp17_; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3821 "FSpotImporter.c" + goto __catch1_database_error; + } +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3836 "FSpotImporter.c" + } +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = _tmp14_; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = NULL; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags_cache = _tmp18_; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp14_); +#line 3848 "FSpotImporter.c" + } + goto __finally1; + __catch1_database_error: + { + GError* e = NULL; + GError* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + SpitDataImportsPluginHost* _tmp23_ = NULL; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = e; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = _tmp19_->message; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = g_strdup_printf ("FSpotDataImporter: Can't read tags table: %s", _tmp20_); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = _tmp21_; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:420: %s", _tmp22_); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp22_); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = self->priv->host; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp23_, DATA_IMPORTS_FSPOT_ERROR_CANT_READ_TAGS_TABLE); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3889 "FSpotImporter.c" + } + __finally1: +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3906 "FSpotImporter.c" + } +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = self->priv->host; +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = _ ("Preparing to import"); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_install_import_progress_pane (_tmp24_, _tmp25_); +#line 3914 "FSpotImporter.c" + { + GeeArrayList* _tmp26_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp27_ = NULL; + DataImportsFSpotDbFSpotPhotosTable* _tmp28_ = NULL; + GeeArrayList* _tmp29_ = NULL; + GeeArrayList* _tmp30_ = NULL; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = database; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = _tmp27_->photos_table; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = data_imports_fspot_db_fspot_photos_table_get_all (_tmp28_, &_inner_error_); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = _tmp29_; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3933 "FSpotImporter.c" + goto __catch2_database_error; + } +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3948 "FSpotImporter.c" + } +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = _tmp26_; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = NULL; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + all_photos = _tmp30_; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp26_); +#line 3960 "FSpotImporter.c" + } + goto __finally2; + __catch2_database_error: + { + GError* e = NULL; + GError* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + SpitDataImportsPluginHost* _tmp35_ = NULL; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = e; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp31_->message; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = g_strdup_printf ("FSpotDataImporter: Can't read photos table: %s", _tmp32_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = _tmp33_; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:428: %s", _tmp34_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp34_); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = self->priv->host; +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp35_, DATA_IMPORTS_FSPOT_ERROR_CANT_READ_PHOTOS_TABLE); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4001 "FSpotImporter.c" + } + __finally2: +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4018 "FSpotImporter.c" + } +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = all_photos; +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp37_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp38_ = _tmp37_; +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp38_ > 0) { +#line 4028 "FSpotImporter.c" + GeeArrayList* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = all_photos; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp40_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp41_ = _tmp40_; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + progress_delta_per_photo = 1.0 / _tmp41_; +#line 4040 "FSpotImporter.c" + } + { + GeeArrayList* _photo_row_list = NULL; + GeeArrayList* _tmp42_ = NULL; + GeeArrayList* _tmp43_ = NULL; + gint _photo_row_size = 0; + GeeArrayList* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gint _photo_row_index = 0; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp42_ = all_photos; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp43_ = _g_object_ref0 (_tmp42_); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_list = _tmp43_; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp44_ = _photo_row_list; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp45_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp46_ = _tmp45_; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_size = _tmp46_; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_index = -1; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 4069 "FSpotImporter.c" + gint _tmp47_ = 0; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + DataImportsFSpotDbFSpotPhotoRow* photo_row = NULL; + GeeArrayList* _tmp50_ = NULL; + gint _tmp51_ = 0; + gpointer _tmp52_ = NULL; + gboolean hidden = FALSE; + gboolean favorite = FALSE; + DataImportsFSpotFSpotImportableTag** tags = NULL; + DataImportsFSpotFSpotImportableTag** _tmp53_ = NULL; + gint tags_length1 = 0; + gint _tags_size_ = 0; + DataImportsFSpotFSpotImportableEvent* event = NULL; + DataImportsFSpotDbFSpotRollRow* roll_row = NULL; + SpitDataImportsImportableMediaItem** importable_items = NULL; + SpitDataImportsImportableMediaItem** _tmp97_ = NULL; + gint importable_items_length1 = 0; + gint _importable_items_size_ = 0; + gboolean _tmp161_ = FALSE; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp47_ = _photo_row_index; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_index = _tmp47_ + 1; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp48_ = _photo_row_index; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp49_ = _photo_row_size; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp48_ < _tmp49_)) { +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4102 "FSpotImporter.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp50_ = _photo_row_list; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp51_ = _photo_row_index; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp52_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp51_); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_row = (DataImportsFSpotDbFSpotPhotoRow*) _tmp52_; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + hidden = FALSE; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + favorite = FALSE; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp53_ = g_new0 (DataImportsFSpotFSpotImportableTag*, 0 + 1); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = _tmp53_; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags_length1 = 0; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tags_size_ = tags_length1; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + event = NULL; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + roll_row = NULL; +#line 4128 "FSpotImporter.c" + { + GeeArrayList* _tmp54_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp55_ = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp56_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp57_ = NULL; + gint64 _tmp58_ = 0LL; + GeeArrayList* _tmp59_ = NULL; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp55_ = database; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp56_ = _tmp55_->tags_table; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp57_ = photo_row; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp58_ = _tmp57_->photo_id; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp59_ = data_imports_fspot_db_fspot_tags_table_get_by_photo_id (_tmp56_, _tmp58_, &_inner_error_); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp54_ = _tmp59_; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4152 "FSpotImporter.c" + goto __catch3_database_error; + } +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4177 "FSpotImporter.c" + } + { + GeeArrayList* _tag_row_list = NULL; + GeeArrayList* _tmp60_ = NULL; + gint _tag_row_size = 0; + GeeArrayList* _tmp61_ = NULL; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + gint _tag_row_index = 0; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp60_ = _tmp54_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp54_ = NULL; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_list = _tmp60_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp61_ = _tag_row_list; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp62_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp63_ = _tmp62_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_size = _tmp63_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_index = -1; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 4205 "FSpotImporter.c" + gint _tmp64_ = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + DataImportsFSpotDbFSpotTagRow* tag_row = NULL; + GeeArrayList* _tmp67_ = NULL; + gint _tmp68_ = 0; + gpointer _tmp69_ = NULL; + DataImportsFSpotFSpotImportableTag* tag = NULL; + DataImportsFSpotFSpotTagsCache* _tmp70_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp71_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp72_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp73_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp74_ = NULL; + gint64 _tmp75_ = 0LL; + gboolean _tmp76_ = FALSE; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp64_ = _tag_row_index; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_index = _tmp64_ + 1; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp65_ = _tag_row_index; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp66_ = _tag_row_size; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp65_ < _tmp66_)) { +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4233 "FSpotImporter.c" + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp67_ = _tag_row_list; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp68_ = _tag_row_index; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp69_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp68_); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_row = (DataImportsFSpotDbFSpotTagRow*) _tmp69_; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp70_ = tags_cache; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp71_ = tag_row; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp72_ = data_imports_fspot_fspot_tags_cache_get_tag (_tmp70_, _tmp71_, &_inner_error_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = _tmp72_; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tag_row_list); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp54_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4261 "FSpotImporter.c" + goto __catch3_database_error; + } +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tag_row_list); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp54_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4292 "FSpotImporter.c" + } +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp73_ = tag; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp74_ = database; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp75_ = _tmp74_->hidden_tag_id; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp76_ = data_imports_fspot_fspot_data_importer_is_tag_hidden (self, _tmp73_, _tmp75_); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp76_) { +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + hidden = TRUE; +#line 4306 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp77_ = NULL; + gboolean _tmp78_ = FALSE; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp77_ = tag; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp78_ = data_imports_fspot_fspot_data_importer_is_tag_favorite (self, _tmp77_); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp78_) { +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + favorite = TRUE; +#line 4318 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag** _tmp79_ = NULL; + gint _tmp79__length1 = 0; + DataImportsFSpotFSpotImportableTag* _tmp80_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp81_ = NULL; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp79_ = tags; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp79__length1 = tags_length1; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp80_ = tag; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp81_ = _g_object_ref0 (_tmp80_); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add3 (&tags, &tags_length1, &_tags_size_, _tmp81_); +#line 4334 "FSpotImporter.c" + } + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 4341 "FSpotImporter.c" + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tag_row_list); +#line 4345 "FSpotImporter.c" + } +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp54_); +#line 4349 "FSpotImporter.c" + } + goto __finally3; + __catch3_database_error: + { + GError* e = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp82_ = NULL; + gint64 _tmp83_ = 0LL; + GError* _tmp84_ = NULL; + const gchar* _tmp85_ = NULL; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp82_ = photo_row; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp83_ = _tmp82_->photo_id; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp84_ = e; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp85_ = _tmp84_->message; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:461: Failed to retrieve tags for photo ID %ld: %s", (glong) _tmp83_, _tmp85_); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 4375 "FSpotImporter.c" + } + __finally3: +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4402 "FSpotImporter.c" + } + { + DataImportsFSpotDbFSpotRollRow* _tmp86_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp87_ = NULL; + DataImportsFSpotDbFSpotRollsTable* _tmp88_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp89_ = NULL; + gint64 _tmp90_ = 0LL; + DataImportsFSpotDbFSpotRollRow* _tmp91_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp92_ = NULL; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp87_ = database; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp88_ = _tmp87_->rolls_table; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp89_ = photo_row; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp90_ = _tmp89_->roll_id; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp91_ = data_imports_fspot_db_fspot_rolls_table_get_by_id (_tmp88_, _tmp90_, &_inner_error_); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp86_ = _tmp91_; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4428 "FSpotImporter.c" + goto __catch4_database_error; + } +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4453 "FSpotImporter.c" + } +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp92_ = _tmp86_; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp86_ = NULL; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + roll_row = _tmp92_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp86_); +#line 4465 "FSpotImporter.c" + } + goto __finally4; + __catch4_database_error: + { + GError* e = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp93_ = NULL; + gint64 _tmp94_ = 0LL; + GError* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp93_ = photo_row; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp94_ = _tmp93_->photo_id; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp95_ = e; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp96_ = _tmp95_->message; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:469: Failed to retrieve roll for photo ID %ld: %s", (glong) _tmp94_, _tmp96_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 4491 "FSpotImporter.c" + } + __finally4: +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4518 "FSpotImporter.c" + } +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp97_ = g_new0 (SpitDataImportsImportableMediaItem*, 0 + 1); +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = _tmp97_; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items_length1 = 0; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_items_size_ = importable_items_length1; +#line 4528 "FSpotImporter.c" + { + GeeArrayList* photo_versions = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp98_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsTable* _tmp99_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp100_ = NULL; + gint64 _tmp101_ = 0LL; + GeeArrayList* _tmp102_ = NULL; + gboolean photo_versions_added = FALSE; + gboolean photo_versions_skipped = FALSE; + gboolean _tmp128_ = FALSE; + gboolean _tmp129_ = FALSE; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp98_ = database; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp99_ = _tmp98_->photo_versions_table; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp100_ = photo_row; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp101_ = _tmp100_->photo_id; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp102_ = data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (_tmp99_, _tmp101_, &_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions = _tmp102_; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4556 "FSpotImporter.c" + goto __catch5_database_error; + } +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4583 "FSpotImporter.c" + } +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_added = FALSE; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_skipped = FALSE; +#line 4589 "FSpotImporter.c" + { + GeeArrayList* _photo_version_row_list = NULL; + GeeArrayList* _tmp103_ = NULL; + GeeArrayList* _tmp104_ = NULL; + gint _photo_version_row_size = 0; + GeeArrayList* _tmp105_ = NULL; + gint _tmp106_ = 0; + gint _tmp107_ = 0; + gint _photo_version_row_index = 0; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp103_ = photo_versions; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp104_ = _g_object_ref0 (_tmp103_); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_list = _tmp104_; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp105_ = _photo_version_row_list; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp106_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp107_ = _tmp106_; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_size = _tmp107_; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_index = -1; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 4617 "FSpotImporter.c" + gint _tmp108_ = 0; + gint _tmp109_ = 0; + gint _tmp110_ = 0; + DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row = NULL; + GeeArrayList* _tmp111_ = NULL; + gint _tmp112_ = 0; + gpointer _tmp113_ = NULL; + gboolean _tmp114_ = FALSE; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp115_ = NULL; + GFile* _tmp116_ = NULL; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp108_ = _photo_version_row_index; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_index = _tmp108_ + 1; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp109_ = _photo_version_row_index; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp110_ = _photo_version_row_size; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp109_ < _tmp110_)) { +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4640 "FSpotImporter.c" + } +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp111_ = _photo_version_row_list; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp112_ = _photo_version_row_index; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp113_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp111_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp112_); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_version_row = (DataImportsFSpotDbFSpotPhotoVersionRow*) _tmp113_; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp115_ = photo_version_row; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp116_ = _tmp115_->base_path; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp116_ != NULL) { +#line 4656 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp117_ = NULL; + const gchar* _tmp118_ = NULL; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp117_ = photo_version_row; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp118_ = _tmp117_->filename; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp114_ = _tmp118_ != NULL; +#line 4665 "FSpotImporter.c" + } else { +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp114_ = FALSE; +#line 4669 "FSpotImporter.c" + } +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp114_) { +#line 4673 "FSpotImporter.c" + SpitDataImportsImportableMediaItem** _tmp119_ = NULL; + gint _tmp119__length1 = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp120_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp121_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp122_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp123_ = NULL; + gint _tmp123__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp124_ = NULL; + gboolean _tmp125_ = FALSE; + gboolean _tmp126_ = FALSE; + DataImportsFSpotFSpotImportableItem* _tmp127_ = NULL; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp119_ = importable_items; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp119__length1 = importable_items_length1; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp120_ = photo_row; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp121_ = photo_version_row; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp122_ = roll_row; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp123_ = tags; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp123__length1 = tags_length1; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp124_ = event; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp125_ = hidden; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp126_ = favorite; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp127_ = data_imports_fspot_fspot_importable_item_new (_tmp120_, _tmp121_, _tmp122_, _tmp123_, _tmp123__length1, _tmp124_, _tmp125_, _tmp126_); +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add4 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp127_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem)); +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_added = TRUE; +#line 4711 "FSpotImporter.c" + } else { +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_skipped = TRUE; +#line 4715 "FSpotImporter.c" + } +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_version_row); +#line 4719 "FSpotImporter.c" + } +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_version_row_list); +#line 4723 "FSpotImporter.c" + } +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp129_ = photo_versions_skipped; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp129_) { +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp128_ = TRUE; +#line 4731 "FSpotImporter.c" + } else { + gboolean _tmp130_ = FALSE; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp130_ = photo_versions_added; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp128_ = !_tmp130_; +#line 4738 "FSpotImporter.c" + } +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp128_) { +#line 4742 "FSpotImporter.c" + gboolean _tmp131_ = FALSE; + DataImportsFSpotDbFSpotPhotoRow* _tmp132_ = NULL; + GFile* _tmp133_ = NULL; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp132_ = photo_row; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp133_ = _tmp132_->base_path; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp133_ != NULL) { +#line 4752 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp134_ = NULL; + const gchar* _tmp135_ = NULL; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp134_ = photo_row; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp135_ = _tmp134_->filename; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp131_ = _tmp135_ != NULL; +#line 4761 "FSpotImporter.c" + } else { +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp131_ = FALSE; +#line 4765 "FSpotImporter.c" + } +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp131_) { +#line 4769 "FSpotImporter.c" + SpitDataImportsImportableMediaItem** _tmp136_ = NULL; + gint _tmp136__length1 = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp137_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp138_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp139_ = NULL; + gint _tmp139__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp140_ = NULL; + gboolean _tmp141_ = FALSE; + gboolean _tmp142_ = FALSE; + DataImportsFSpotFSpotImportableItem* _tmp143_ = NULL; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp136_ = importable_items; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp136__length1 = importable_items_length1; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp137_ = photo_row; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp138_ = roll_row; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp139_ = tags; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp139__length1 = tags_length1; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp140_ = event; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp141_ = hidden; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp142_ = favorite; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp143_ = data_imports_fspot_fspot_importable_item_new (_tmp137_, NULL, _tmp138_, _tmp139_, _tmp139__length1, _tmp140_, _tmp141_, _tmp142_); +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add5 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp143_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem)); +#line 4802 "FSpotImporter.c" + } + } +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_versions); +#line 4807 "FSpotImporter.c" + } + goto __finally5; + __catch5_database_error: + { + GError* e = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp144_ = NULL; + gint64 _tmp145_ = 0LL; + GError* _tmp146_ = NULL; + const gchar* _tmp147_ = NULL; + gboolean _tmp148_ = FALSE; + DataImportsFSpotDbFSpotPhotoRow* _tmp149_ = NULL; + GFile* _tmp150_ = NULL; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp144_ = photo_row; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp145_ = _tmp144_->photo_id; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp146_ = e; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp147_ = _tmp146_->message; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:504: Failed to retrieve versions for photo ID %ld: " \ +"%s", (glong) _tmp145_, _tmp147_); +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp149_ = photo_row; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp150_ = _tmp149_->base_path; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp150_ != NULL) { +#line 4840 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp151_ = NULL; + const gchar* _tmp152_ = NULL; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp151_ = photo_row; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp152_ = _tmp151_->filename; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp148_ = _tmp152_ != NULL; +#line 4849 "FSpotImporter.c" + } else { +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp148_ = FALSE; +#line 4853 "FSpotImporter.c" + } +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp148_) { +#line 4857 "FSpotImporter.c" + SpitDataImportsImportableMediaItem** _tmp153_ = NULL; + gint _tmp153__length1 = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp154_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp155_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp156_ = NULL; + gint _tmp156__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp157_ = NULL; + gboolean _tmp158_ = FALSE; + gboolean _tmp159_ = FALSE; + DataImportsFSpotFSpotImportableItem* _tmp160_ = NULL; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp153_ = importable_items; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp153__length1 = importable_items_length1; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp154_ = photo_row; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp155_ = roll_row; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp156_ = tags; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp156__length1 = tags_length1; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp157_ = event; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp158_ = hidden; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp159_ = favorite; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp160_ = data_imports_fspot_fspot_importable_item_new (_tmp154_, NULL, _tmp155_, _tmp156_, _tmp156__length1, _tmp157_, _tmp158_, _tmp159_); +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add6 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp160_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem)); +#line 4890 "FSpotImporter.c" + } +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 4894 "FSpotImporter.c" + } + __finally5: +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4923 "FSpotImporter.c" + } +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp161_ = self->priv->running; +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp161_) { +#line 4929 "FSpotImporter.c" + SpitDataImportsPluginHost* _tmp162_ = NULL; + SpitDataImportsImportableMediaItem** _tmp163_ = NULL; + gint _tmp163__length1 = 0; + gdouble _tmp164_ = 0.0; + gdouble _tmp165_ = 0.0; + gdouble _tmp166_ = 0.0; + gdouble _tmp167_ = 0.0; + gdouble _tmp168_ = 0.0; + gdouble _tmp169_ = 0.0; + gdouble _tmp170_ = 0.0; + SpitDataImportsPluginHost* _tmp171_ = NULL; + gdouble _tmp172_ = 0.0; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp162_ = self->priv->host; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp163_ = importable_items; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp163__length1 = importable_items_length1; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp164_ = current_progress; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp165_ = progress_delta_per_photo; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp166_ = progress_plugin_to_host_ratio; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp167_ = progress_delta_per_photo; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp168_ = progress_plugin_to_host_ratio; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_prepare_media_items_for_import (_tmp162_, _tmp163_, _tmp163__length1, _tmp164_ + (_tmp165_ * _tmp166_), _tmp167_ * (1 - _tmp168_), NULL); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp169_ = current_progress; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp170_ = progress_delta_per_photo; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + current_progress = _tmp169_ + _tmp170_; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp171_ = self->priv->host; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp172_ = current_progress; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_update_import_progress_pane (_tmp171_, _tmp172_, NULL); +#line 4972 "FSpotImporter.c" + } else { +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4986 "FSpotImporter.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 4998 "FSpotImporter.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 5002 "FSpotImporter.c" + } +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp173_ = self->priv->host; +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_finalize_import (_tmp173_, _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback, self, NULL); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 5014 "FSpotImporter.c" +} + + +void data_imports_fspot_fspot_data_importer_on_imported_items_count (DataImportsFSpotFSpotDataImporter* self, gint imported_items_count) { + SpitDataImportsPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 530 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self)); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->host; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = imported_items_count; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup_printf (DATA_IMPORTS_FSPOT_MESSAGE_FINAL_SCREEN, _tmp1_); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_install_static_message_pane (_tmp0_, _tmp3_, SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp3_); +#line 5037 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_is_tag_event (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag) { + gboolean result = FALSE; + gboolean _result_ = FALSE; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tag; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_tag_get_stock_icon (_tmp0_); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = g_strcmp0 (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_EVENTS, _tmp2_) == 0; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp2_); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp3_; +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = _result_; +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp4_) { +#line 5069 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent = NULL; + DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = tag; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp5_); +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent = _tmp6_; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = parent; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp7_ == NULL) { +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = FALSE; +#line 5086 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = parent; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_event (self, _tmp8_); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp9_; +#line 5096 "FSpotImporter.c" + } +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent); +#line 5100 "FSpotImporter.c" + } +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _result_; +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 5106 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_is_tag_hidden (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag, gint64 hidden_tag_id) { + gboolean result = FALSE; + gboolean _result_ = FALSE; + gint64 _tmp0_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gboolean _tmp3_ = FALSE; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE); +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = hidden_tag_id; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = tag; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = data_imports_fspot_fspot_importable_tag_get_id (_tmp1_); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp0_ == _tmp2_; +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _result_; +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp3_) { +#line 5133 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent = NULL; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL; +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp4_); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent = _tmp5_; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = parent; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp6_ == NULL) { +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = FALSE; +#line 5150 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; + gboolean _tmp9_ = FALSE; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = parent; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = hidden_tag_id; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_hidden (self, _tmp7_, _tmp8_); +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp9_; +#line 5163 "FSpotImporter.c" + } +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent); +#line 5167 "FSpotImporter.c" + } +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _result_; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 5173 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_is_tag_favorite (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag) { + gboolean result = FALSE; + gboolean _result_ = FALSE; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE); +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tag; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_tag_get_stock_icon (_tmp0_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = g_strcmp0 (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_FAV, _tmp2_) == 0; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp2_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp3_; +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = _result_; +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp4_) { +#line 5205 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent = NULL; + DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = tag; +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp5_); +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent = _tmp6_; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = parent; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp7_ == NULL) { +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = FALSE; +#line 5222 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = parent; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_favorite (self, _tmp8_); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp9_; +#line 5232 "FSpotImporter.c" + } +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent); +#line 5236 "FSpotImporter.c" + } +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _result_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 5242 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_class_init (DataImportsFSpotFSpotDataImporterClass * klass) { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_parent_class = g_type_class_peek_parent (klass); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotDataImporterPrivate)); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_data_importer_finalize; +#line 5253 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_interface_init (SpitDataImportsDataImporterIface * iface) { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_parent_iface = g_type_interface_peek_parent (iface); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->is_running = (gboolean (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_is_running; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_service = (SpitDataImportsService* (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_get_service; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->start = (void (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_start; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->stop = (void (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_stop; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->on_library_selected = (void (*)(SpitDataImportsDataImporter*, SpitDataImportsImportableLibrary*)) data_imports_fspot_fspot_data_importer_real_on_library_selected; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->on_file_selected = (void (*)(SpitDataImportsDataImporter*, GFile*)) data_imports_fspot_fspot_data_importer_real_on_file_selected; +#line 5272 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_instance_init (DataImportsFSpotFSpotDataImporter * self) { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_PRIVATE (self); +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->host = NULL; +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->service = NULL; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->running = FALSE; +#line 5285 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_finalize (GObject* obj) { + DataImportsFSpotFSpotDataImporter * self; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_data_importer_parent_class)->finalize (obj); +#line 5295 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_data_importer_get_type (void) { + static volatile gsize data_imports_fspot_fspot_data_importer_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_data_importer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotDataImporterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_data_importer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotDataImporter), 0, (GInstanceInitFunc) data_imports_fspot_fspot_data_importer_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_data_importer_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_data_importer_type_id; + data_imports_fspot_fspot_data_importer_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotDataImporter", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_data_importer_type_id, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, &spit_data_imports_data_importer_info); + g_once_init_leave (&data_imports_fspot_fspot_data_importer_type_id__volatile, data_imports_fspot_fspot_data_importer_type_id); + } + return data_imports_fspot_fspot_data_importer_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/plugins/shotwell-data-imports/FSpotImporter.vala b/plugins/shotwell-data-imports/FSpotImporter.vala index bd408cc..be04cf9 100644 --- a/plugins/shotwell-data-imports/FSpotImporter.vala +++ b/plugins/shotwell-data-imports/FSpotImporter.vala @@ -13,7 +13,9 @@ public class FSpotService : Object, Spit.Pluggable, Spit.DataImports.Service { // initialize the database layer DataImports.FSpot.Db.init(); if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = + Resources.load_from_resource("/org/gnome/Shotwell/Imports/" + + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { @@ -252,8 +254,8 @@ public class FSpotImportableEvent : Spit.DataImports.ImportableEvent, GLib.Objec } public class FSpotImportableRating : Spit.DataImports.ImportableRating, GLib.Object { - public static const int REJECTED = -1; - public static const int UNRATED = 0; + public const int REJECTED = -1; + public const int UNRATED = 0; private int rating_value; diff --git a/plugins/shotwell-data-imports/FSpotMetaTable.c b/plugins/shotwell-data-imports/FSpotMetaTable.c new file mode 100644 index 0000000..5b8a0c1 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotMetaTable.c @@ -0,0 +1,1461 @@ +/* FSpotMetaTable.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotMetaTable.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW (data_imports_fspot_db_fspot_meta_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW, DataImportsFSpotDbFSpotMetaRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW, DataImportsFSpotDbFSpotMetaRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW, DataImportsFSpotDbFSpotMetaRowClass)) + +typedef struct _DataImportsFSpotDbFSpotMetaRow DataImportsFSpotDbFSpotMetaRow; +typedef struct _DataImportsFSpotDbFSpotMetaRowClass DataImportsFSpotDbFSpotMetaRowClass; +typedef struct _DataImportsFSpotDbFSpotMetaRowPrivate DataImportsFSpotDbFSpotMetaRowPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseTablePrivate DataImportsFSpotDbFSpotDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE (data_imports_fspot_db_fspot_meta_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE, DataImportsFSpotDbFSpotMetaTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE, DataImportsFSpotDbFSpotMetaTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE, DataImportsFSpotDbFSpotMetaTableClass)) + +typedef struct _DataImportsFSpotDbFSpotMetaTable DataImportsFSpotDbFSpotMetaTable; +typedef struct _DataImportsFSpotDbFSpotMetaTableClass DataImportsFSpotDbFSpotMetaTableClass; +typedef struct _DataImportsFSpotDbFSpotMetaTablePrivate DataImportsFSpotDbFSpotMetaTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR (data_imports_fspot_db_fspot_meta_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR, DataImportsFSpotDbFSpotMetaBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR, DataImportsFSpotDbFSpotMetaBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR, DataImportsFSpotDbFSpotMetaBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotMetaBehavior DataImportsFSpotDbFSpotMetaBehavior; +typedef struct _DataImportsFSpotDbFSpotMetaBehaviorClass DataImportsFSpotDbFSpotMetaBehaviorClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +typedef struct _DataImportsFSpotDbFSpotMetaBehaviorPrivate DataImportsFSpotDbFSpotMetaBehaviorPrivate; + +struct _DataImportsFSpotDbFSpotMetaRow { + GObject parent_instance; + DataImportsFSpotDbFSpotMetaRowPrivate * priv; + gchar* name; + gchar* data; +}; + +struct _DataImportsFSpotDbFSpotMetaRowClass { + GObjectClass parent_class; +}; + +struct _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotDatabaseTable { + ImportableDatabaseTable parent_instance; + DataImportsFSpotDbFSpotDatabaseTablePrivate * priv; + sqlite3* fspot_db; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTableClass { + ImportableDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotMetaTable { + DataImportsFSpotDbFSpotDatabaseTable parent_instance; + DataImportsFSpotDbFSpotMetaTablePrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotMetaTableClass { + DataImportsFSpotDbFSpotDatabaseTableClass 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 _DataImportsFSpotDbFSpotMetaBehavior { + GObject parent_instance; + DataImportsFSpotDbFSpotMetaBehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotMetaBehaviorClass { + GObjectClass parent_class; +}; + + +static gpointer data_imports_fspot_db_fspot_meta_row_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_meta_table_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_meta_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_instance; +static DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_meta_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; + +GType data_imports_fspot_db_fspot_meta_row_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_META_ROW_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotMetaRow* data_imports_fspot_db_fspot_meta_row_new (void); +DataImportsFSpotDbFSpotMetaRow* data_imports_fspot_db_fspot_meta_row_construct (GType object_type); +static void data_imports_fspot_db_fspot_meta_row_finalize (GObject* obj); +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_meta_table_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_META_TABLE_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotMetaTable* data_imports_fspot_db_fspot_meta_table_new (sqlite3* db); +DataImportsFSpotDbFSpotMetaTable* data_imports_fspot_db_fspot_meta_table_construct (GType object_type, sqlite3* db); +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db); +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior); +GType data_imports_fspot_db_fspot_meta_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_get_instance (void); +GQuark database_error_quark (void); +gchar* data_imports_fspot_db_fspot_meta_table_get_data (DataImportsFSpotDbFSpotMetaTable* self, const gchar* name, GError** error); +gchar** data_imports_fspot_db_fspot_table_behavior_list_columns (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); +void importable_database_table_throw_error (const gchar* method, gint res, GError** error); +void data_imports_fspot_db_fspot_table_behavior_build_row (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +gchar* data_imports_fspot_db_fspot_meta_table_get_app_version (DataImportsFSpotDbFSpotMetaTable* self, GError** error); +gchar* data_imports_fspot_db_fspot_meta_table_get_db_version (DataImportsFSpotDbFSpotMetaTable* self, GError** error); +gint64 data_imports_fspot_db_fspot_meta_table_get_hidden_tag_id (DataImportsFSpotDbFSpotMetaTable* self, GError** error); +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_META_BEHAVIOR_DUMMY_PROPERTY +}; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_META_BEHAVIOR_TABLE_NAME "Meta" +static DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_new (void); +static DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_construct (GType object_type); +static gchar* data_imports_fspot_db_fspot_meta_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_meta_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_meta_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotMetaRow** row, gint offset); +static void data_imports_fspot_db_fspot_meta_behavior_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); + + +DataImportsFSpotDbFSpotMetaRow* data_imports_fspot_db_fspot_meta_row_construct (GType object_type) { + DataImportsFSpotDbFSpotMetaRow * self = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = (DataImportsFSpotDbFSpotMetaRow*) g_object_new (object_type, NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return self; +#line 214 "FSpotMetaTable.c" +} + + +DataImportsFSpotDbFSpotMetaRow* data_imports_fspot_db_fspot_meta_row_new (void) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return data_imports_fspot_db_fspot_meta_row_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW); +#line 221 "FSpotMetaTable.c" +} + + +static void data_imports_fspot_db_fspot_meta_row_class_init (DataImportsFSpotDbFSpotMetaRowClass * klass) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + data_imports_fspot_db_fspot_meta_row_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_meta_row_finalize; +#line 230 "FSpotMetaTable.c" +} + + +static void data_imports_fspot_db_fspot_meta_row_instance_init (DataImportsFSpotDbFSpotMetaRow * self) { +} + + +static void data_imports_fspot_db_fspot_meta_row_finalize (GObject* obj) { + DataImportsFSpotDbFSpotMetaRow * self; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW, DataImportsFSpotDbFSpotMetaRow); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (self->name); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (self->data); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_meta_row_parent_class)->finalize (obj); +#line 248 "FSpotMetaTable.c" +} + + +/** + * The value object for the "meta" table, representing a single database row. + */ +GType data_imports_fspot_db_fspot_meta_row_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_meta_row_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_meta_row_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotMetaRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_meta_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotMetaRow), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_meta_row_instance_init, NULL }; + GType data_imports_fspot_db_fspot_meta_row_type_id; + data_imports_fspot_db_fspot_meta_row_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotMetaRow", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_meta_row_type_id__volatile, data_imports_fspot_db_fspot_meta_row_type_id); + } + return data_imports_fspot_db_fspot_meta_row_type_id__volatile; +} + + +DataImportsFSpotDbFSpotMetaTable* data_imports_fspot_db_fspot_meta_table_construct (GType object_type, sqlite3* db) { + DataImportsFSpotDbFSpotMetaTable* self = NULL; + sqlite3* _tmp0_ = NULL; + DataImportsFSpotDbFSpotMetaBehavior* _tmp1_ = NULL; + DataImportsFSpotDbFSpotMetaBehavior* _tmp2_ = NULL; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_return_val_if_fail (db != NULL, NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = db; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = (DataImportsFSpotDbFSpotMetaTable*) data_imports_fspot_db_fspot_database_table_construct (object_type, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_meta_behavior_get_instance (); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_ = _tmp1_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + data_imports_fspot_db_fspot_database_table_set_behavior (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_object_unref0 (_tmp2_); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return self; +#line 288 "FSpotMetaTable.c" +} + + +DataImportsFSpotDbFSpotMetaTable* data_imports_fspot_db_fspot_meta_table_new (sqlite3* db) { +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return data_imports_fspot_db_fspot_meta_table_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_TABLE, db); +#line 295 "FSpotMetaTable.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 312 "FSpotMetaTable.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 322 "FSpotMetaTable.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 332 "FSpotMetaTable.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 338 "FSpotMetaTable.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 349 "FSpotMetaTable.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 361 "FSpotMetaTable.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 365 "FSpotMetaTable.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 369 "FSpotMetaTable.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 373 "FSpotMetaTable.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 396 "FSpotMetaTable.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 405 "FSpotMetaTable.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 418 "FSpotMetaTable.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 424 "FSpotMetaTable.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 434 "FSpotMetaTable.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 446 "FSpotMetaTable.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 450 "FSpotMetaTable.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 456 "FSpotMetaTable.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 467 "FSpotMetaTable.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 482 "FSpotMetaTable.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 486 "FSpotMetaTable.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 490 "FSpotMetaTable.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 496 "FSpotMetaTable.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 508 "FSpotMetaTable.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 529 "FSpotMetaTable.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 533 "FSpotMetaTable.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 539 "FSpotMetaTable.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 546 "FSpotMetaTable.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 554 "FSpotMetaTable.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 592 "FSpotMetaTable.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 601 "FSpotMetaTable.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 617 "FSpotMetaTable.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 623 "FSpotMetaTable.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 637 "FSpotMetaTable.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 657 "FSpotMetaTable.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 672 "FSpotMetaTable.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 676 "FSpotMetaTable.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 684 "FSpotMetaTable.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 695 "FSpotMetaTable.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 704 "FSpotMetaTable.c" + } +} + + +gchar* data_imports_fspot_db_fspot_meta_table_get_data (DataImportsFSpotDbFSpotMetaTable* self, const gchar* name, GError** error) { + gchar* result = NULL; + gchar** columns = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gint columns_length1 = 0; + gint _columns_size_ = 0; + gchar* column_list = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; + gchar* sql = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + sqlite3_stmt* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GDestroyNotify _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + sqlite3_stmt* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + DataImportsFSpotDbFSpotMetaRow* row = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp32_ = NULL; + sqlite3_stmt* _tmp33_ = NULL; + gpointer _tmp34_ = NULL; + DataImportsFSpotDbFSpotMetaRow* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + GError * _inner_error_ = NULL; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE (self), NULL); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->behavior; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_table_behavior_list_columns (_tmp0_, &_tmp1_); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = _tmp2_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns_length1 = _tmp1_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _columns_size_ = columns_length1; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp3_ = columns; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp3__length1 = columns_length1; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp4_ = _vala_g_strjoinv (", ", _tmp3_, _tmp3__length1); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + column_list = _tmp4_; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp5_ = column_list; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp7_ = g_strdup_printf ("SELECT %s FROM %s WHERE name=?", _tmp5_, _tmp6_); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + sql = _tmp7_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->fspot_db; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp9_ = sql; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp11_ = sqlite3_prepare_v2 (_tmp8_, _tmp9_, -1, &_tmp10_, NULL); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + stmt = _tmp10_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + res = _tmp11_; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp12_ = res; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_tmp12_ != SQLITE_OK) { +#line 795 "FSpotMetaTable.c" + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp13_ = sql; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp14_ = g_strdup_printf ("Statement failed: %s", _tmp13_); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp15_ = _tmp14_; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp16_ = res; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + importable_database_table_throw_error (_tmp15_, _tmp16_, &_inner_error_); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (_tmp15_); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_propagate_error (error, _inner_error_); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 828 "FSpotMetaTable.c" + } else { +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_clear_error (&_inner_error_); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 844 "FSpotMetaTable.c" + } + } + } +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp17_ = stmt; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp18_ = name; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp19_ = g_strdup (_tmp18_); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp20_ = g_free; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp21_ = sqlite3_bind_text (_tmp17_, 1, _tmp19_, -1, _tmp20_); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + res = _tmp21_; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp22_ = res; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_tmp22_ != SQLITE_OK) { +#line 864 "FSpotMetaTable.c" + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gint _tmp26_ = 0; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp23_ = name; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp24_ = g_strdup_printf ("Bind failed for name %s", _tmp23_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp25_ = _tmp24_; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp26_ = res; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + importable_database_table_throw_error (_tmp25_, _tmp26_, &_inner_error_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (_tmp25_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_propagate_error (error, _inner_error_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 897 "FSpotMetaTable.c" + } else { +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_clear_error (&_inner_error_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 913 "FSpotMetaTable.c" + } + } + } +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp27_ = stmt; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp28_ = sqlite3_step (_tmp27_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + res = _tmp28_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp29_ = res; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_tmp29_ != SQLITE_ROW) { +#line 927 "FSpotMetaTable.c" + gint _tmp30_ = 0; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp30_ = res; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_tmp30_ != SQLITE_DONE) { +#line 933 "FSpotMetaTable.c" + gint _tmp31_ = 0; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp31_ = res; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + importable_database_table_throw_error ("FSpotMetaTable.get_data", _tmp31_, &_inner_error_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_propagate_error (error, _inner_error_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 955 "FSpotMetaTable.c" + } else { +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_clear_error (&_inner_error_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 971 "FSpotMetaTable.c" + } + } + } +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = NULL; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 987 "FSpotMetaTable.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp32_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->behavior; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp33_ = stmt; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + data_imports_fspot_db_fspot_table_behavior_build_row (_tmp32_, _tmp33_, &_tmp34_, 0); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_object_unref0 (row); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + row = _tmp34_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp35_ = row; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp36_ = _tmp35_->data; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp37_ = g_strdup (_tmp36_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = _tmp37_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_object_unref0 (row); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _sqlite3_finalize0 (stmt); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (sql); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (column_list); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) g_free), NULL); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1019 "FSpotMetaTable.c" +} + + +gchar* data_imports_fspot_db_fspot_meta_table_get_app_version (DataImportsFSpotDbFSpotMetaTable* self, GError** error) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE (self), NULL); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_meta_table_get_data (self, "F-Spot Version", &_inner_error_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = _tmp1_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_propagate_error (error, _inner_error_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 1043 "FSpotMetaTable.c" + } else { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_clear_error (&_inner_error_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 1051 "FSpotMetaTable.c" + } + } +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_ = _tmp0_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = NULL; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = _tmp2_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (_tmp0_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1064 "FSpotMetaTable.c" +} + + +gchar* data_imports_fspot_db_fspot_meta_table_get_db_version (DataImportsFSpotDbFSpotMetaTable* self, GError** error) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE (self), NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_meta_table_get_data (self, "F-Spot Database Version", &_inner_error_); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = _tmp1_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_propagate_error (error, _inner_error_); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 1088 "FSpotMetaTable.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_clear_error (&_inner_error_); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return NULL; +#line 1096 "FSpotMetaTable.c" + } + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_ = _tmp0_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = NULL; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = _tmp2_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (_tmp0_); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1109 "FSpotMetaTable.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 1127 "FSpotMetaTable.c" +} + + +gint64 data_imports_fspot_db_fspot_meta_table_get_hidden_tag_id (DataImportsFSpotDbFSpotMetaTable* self, GError** error) { + gint64 result = 0LL; + gchar* id_str = NULL; + gchar* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_META_TABLE (self), 0LL); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_meta_table_get_data (self, "Hidden Tag Id", &_inner_error_); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + id_str = _tmp0_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_propagate_error (error, _inner_error_); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return 0LL; +#line 1150 "FSpotMetaTable.c" + } else { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_clear_error (&_inner_error_); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return 0LL; +#line 1158 "FSpotMetaTable.c" + } + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (id_str != NULL) { +#line 1163 "FSpotMetaTable.c" + gint64 _tmp1_ = 0LL; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp1_ = int64_parse (id_str); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = _tmp1_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (id_str); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1173 "FSpotMetaTable.c" + } else { +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = (gint64) -1; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (id_str); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1181 "FSpotMetaTable.c" + } +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (id_str); +#line 1185 "FSpotMetaTable.c" +} + + +static void data_imports_fspot_db_fspot_meta_table_class_init (DataImportsFSpotDbFSpotMetaTableClass * klass) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + data_imports_fspot_db_fspot_meta_table_parent_class = g_type_class_peek_parent (klass); +#line 1192 "FSpotMetaTable.c" +} + + +static void data_imports_fspot_db_fspot_meta_table_instance_init (DataImportsFSpotDbFSpotMetaTable * self) { +} + + +/** + * This class represents the F-Spot meta table, which stores some essential + * meta-data for the whole database. It is implemented as a simple dictionary + * where each row in the table is a key/value pair. + * + * The meta table implementation is the only one that throws a database error + * if something goes wrong because: + * * it is essential to read the content of that table in order to identify + * the version of the database and select the correct behavior, + * * this table is read at the very beginning of the process so any failure + * will occur immediately, + * * failing to read this table means that there is no point in reading the + * attempting to read the rest of the database so we might as well abort. + */ +GType data_imports_fspot_db_fspot_meta_table_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_meta_table_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_meta_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotMetaTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_meta_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotMetaTable), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_meta_table_instance_init, NULL }; + GType data_imports_fspot_db_fspot_meta_table_type_id; + data_imports_fspot_db_fspot_meta_table_type_id = g_type_register_static (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, "DataImportsFSpotDbFSpotMetaTable", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_meta_table_type_id__volatile, data_imports_fspot_db_fspot_meta_table_type_id); + } + return data_imports_fspot_db_fspot_meta_table_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotMetaBehavior * self = NULL; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = (DataImportsFSpotDbFSpotMetaBehavior*) g_object_new (object_type, NULL); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return self; +#line 1232 "FSpotMetaTable.c" +} + + +static DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_new (void) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return data_imports_fspot_db_fspot_meta_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR); +#line 1239 "FSpotMetaTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return self ? g_object_ref (self) : NULL; +#line 1246 "FSpotMetaTable.c" +} + + +DataImportsFSpotDbFSpotMetaBehavior* data_imports_fspot_db_fspot_meta_behavior_get_instance (void) { + DataImportsFSpotDbFSpotMetaBehavior* result = NULL; + DataImportsFSpotDbFSpotMetaBehavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotMetaBehavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotMetaBehavior* _tmp3_ = NULL; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_meta_behavior_instance; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (_tmp0_ == NULL) { +#line 1259 "FSpotMetaTable.c" + DataImportsFSpotDbFSpotMetaBehavior* _tmp1_ = NULL; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_meta_behavior_new (); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_meta_behavior_instance); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + data_imports_fspot_db_fspot_meta_behavior_instance = _tmp1_; +#line 1267 "FSpotMetaTable.c" + } +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_meta_behavior_instance; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = _tmp3_; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1277 "FSpotMetaTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_meta_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotMetaBehavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR, DataImportsFSpotDbFSpotMetaBehavior); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_META_BEHAVIOR_TABLE_NAME); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = _tmp0_; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1293 "FSpotMetaTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_meta_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotMetaBehavior * self; + gchar** result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR, DataImportsFSpotDbFSpotMetaBehavior); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = g_strdup ("name"); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp1_ = g_strdup ("data"); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_ = g_new0 (gchar*, 2 + 1); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_[0] = _tmp0_; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_[1] = _tmp1_; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp3_ = _tmp2_; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp3__length1 = 2; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (result_length1) { +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + *result_length1 = _tmp3__length1; +#line 1325 "FSpotMetaTable.c" + } +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + result = _tmp3_; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + return result; +#line 1331 "FSpotMetaTable.c" +} + + +static void data_imports_fspot_db_fspot_meta_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotMetaRow** row, gint offset) { + DataImportsFSpotDbFSpotMetaBehavior * self; + DataImportsFSpotDbFSpotMetaRow* _vala_row = NULL; + DataImportsFSpotDbFSpotMetaRow* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + sqlite3_stmt* _tmp5_ = NULL; + gint _tmp6_ = 0; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR, DataImportsFSpotDbFSpotMetaBehavior); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + g_return_if_fail (stmt != NULL); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_meta_row_new (); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_object_unref0 (_vala_row); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _vala_row = _tmp0_; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp1_ = stmt; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp2_ = offset; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp3_ = sqlite3_column_text (_tmp1_, _tmp2_ + 0); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (_vala_row->name); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _vala_row->name = _tmp4_; +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp5_ = stmt; +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp6_ = offset; +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp7_ = sqlite3_column_text (_tmp5_, _tmp6_ + 1); +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_free0 (_vala_row->data); +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _vala_row->data = _tmp8_; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + if (row) { +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + *row = _vala_row; +#line 1385 "FSpotMetaTable.c" + } else { +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + _g_object_unref0 (_vala_row); +#line 1389 "FSpotMetaTable.c" + } +} + + +static void data_imports_fspot_db_fspot_meta_behavior_class_init (DataImportsFSpotDbFSpotMetaBehaviorClass * klass) { +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + data_imports_fspot_db_fspot_meta_behavior_parent_class = g_type_class_peek_parent (klass); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_meta_behavior_finalize; +#line 1399 "FSpotMetaTable.c" +} + + +static void data_imports_fspot_db_fspot_meta_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + data_imports_fspot_db_fspot_meta_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_meta_behavior_real_get_table_name; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_meta_behavior_real_list_columns; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_meta_behavior_real_build_row; +#line 1412 "FSpotMetaTable.c" +} + + +static void data_imports_fspot_db_fspot_meta_behavior_instance_init (DataImportsFSpotDbFSpotMetaBehavior * self) { +} + + +static void data_imports_fspot_db_fspot_meta_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotMetaBehavior * self; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_META_BEHAVIOR, DataImportsFSpotDbFSpotMetaBehavior); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotMetaTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_meta_behavior_parent_class)->finalize (obj); +#line 1426 "FSpotMetaTable.c" +} + + +GType data_imports_fspot_db_fspot_meta_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_meta_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_meta_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotMetaBehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_meta_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotMetaBehavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_meta_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_meta_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_meta_behavior_type_id; + data_imports_fspot_db_fspot_meta_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotMetaBehavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_meta_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_meta_behavior_type_id__volatile, data_imports_fspot_db_fspot_meta_behavior_type_id); + } + return data_imports_fspot_db_fspot_meta_behavior_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/plugins/shotwell-data-imports/FSpotMetaTable.vala b/plugins/shotwell-data-imports/FSpotMetaTable.vala index 264fe85..e28d2e6 100644 --- a/plugins/shotwell-data-imports/FSpotMetaTable.vala +++ b/plugins/shotwell-data-imports/FSpotMetaTable.vala @@ -81,7 +81,7 @@ public class FSpotMetaTable : FSpotDatabaseTable { } public class FSpotMetaBehavior : FSpotTableBehavior, Object { - public static const string TABLE_NAME = "Meta"; + public const string TABLE_NAME = "Meta"; private static FSpotMetaBehavior instance; diff --git a/plugins/shotwell-data-imports/FSpotPhotoTagsTable.c b/plugins/shotwell-data-imports/FSpotPhotoTagsTable.c new file mode 100644 index 0000000..27aca60 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotPhotoTagsTable.c @@ -0,0 +1,524 @@ +/* FSpotPhotoTagsTable.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotPhotoTagsTable.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW (data_imports_fspot_db_fspot_photo_tag_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoTagRow DataImportsFSpotDbFSpotPhotoTagRow; +typedef struct _DataImportsFSpotDbFSpotPhotoTagRowClass DataImportsFSpotDbFSpotPhotoTagRowClass; +typedef struct _DataImportsFSpotDbFSpotPhotoTagRowPrivate DataImportsFSpotDbFSpotPhotoTagRowPrivate; + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseTablePrivate DataImportsFSpotDbFSpotDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_TABLE (data_imports_fspot_db_fspot_photo_tags_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_TABLE, DataImportsFSpotDbFSpotPhotoTagsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_TABLE, DataImportsFSpotDbFSpotPhotoTagsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_TABLE, DataImportsFSpotDbFSpotPhotoTagsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoTagsTable DataImportsFSpotDbFSpotPhotoTagsTable; +typedef struct _DataImportsFSpotDbFSpotPhotoTagsTableClass DataImportsFSpotDbFSpotPhotoTagsTableClass; +typedef struct _DataImportsFSpotDbFSpotPhotoTagsTablePrivate DataImportsFSpotDbFSpotPhotoTagsTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR (data_imports_fspot_db_fspot_database_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseBehavior DataImportsFSpotDbFSpotDatabaseBehavior; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass DataImportsFSpotDbFSpotDatabaseBehaviorClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR (data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoTagsV0Behavior DataImportsFSpotDbFSpotPhotoTagsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotoTagsV0BehaviorPrivate DataImportsFSpotDbFSpotPhotoTagsV0BehaviorPrivate; + +struct _DataImportsFSpotDbFSpotPhotoTagRow { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoTagRowPrivate * priv; + gint64 photo_id; + gint64 tag_id; +}; + +struct _DataImportsFSpotDbFSpotPhotoTagRowClass { + GObjectClass parent_class; +}; + +struct _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotDatabaseTable { + ImportableDatabaseTable parent_instance; + DataImportsFSpotDbFSpotDatabaseTablePrivate * priv; + sqlite3* fspot_db; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTableClass { + ImportableDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoTagsTable { + DataImportsFSpotDbFSpotDatabaseTable parent_instance; + DataImportsFSpotDbFSpotPhotoTagsTablePrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoTagsTableClass { + DataImportsFSpotDbFSpotDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoTagsV0Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoTagsV0BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass { + GObjectClass parent_class; +}; + + +static gpointer data_imports_fspot_db_fspot_photo_tag_row_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_photo_tags_table_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_photo_tags_v0_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance; +static DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photo_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; + +GType data_imports_fspot_db_fspot_photo_tag_row_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotPhotoTagRow* data_imports_fspot_db_fspot_photo_tag_row_new (void); +DataImportsFSpotDbFSpotPhotoTagRow* data_imports_fspot_db_fspot_photo_tag_row_construct (GType object_type); +static void data_imports_fspot_db_fspot_photo_tag_row_finalize (GObject* obj); +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_tags_table_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_DUMMY_PROPERTY +}; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_TABLE_NAME "Photo_Tags" +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoTagsTable* data_imports_fspot_db_fspot_photo_tags_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotPhotoTagsTable* data_imports_fspot_db_fspot_photo_tags_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db); +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photo_tags_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +GType data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_V0_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_new (void); +static DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoTagRow** row, gint offset); +static void data_imports_fspot_db_fspot_photo_tags_v0_behavior_finalize (GObject* obj); + + +DataImportsFSpotDbFSpotPhotoTagRow* data_imports_fspot_db_fspot_photo_tag_row_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoTagRow * self = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoTagRow*) g_object_new (object_type, NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return self; +#line 205 "FSpotPhotoTagsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoTagRow* data_imports_fspot_db_fspot_photo_tag_row_new (void) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return data_imports_fspot_db_fspot_photo_tag_row_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW); +#line 212 "FSpotPhotoTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_tag_row_class_init (DataImportsFSpotDbFSpotPhotoTagRowClass * klass) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + data_imports_fspot_db_fspot_photo_tag_row_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_tag_row_finalize; +#line 221 "FSpotPhotoTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_tag_row_instance_init (DataImportsFSpotDbFSpotPhotoTagRow * self) { +} + + +static void data_imports_fspot_db_fspot_photo_tag_row_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoTagRow * self; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRow); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_tag_row_parent_class)->finalize (obj); +#line 235 "FSpotPhotoTagsTable.c" +} + + +/** + * The value object for the "photo_tags" table, representing a single database row. + */ +GType data_imports_fspot_db_fspot_photo_tag_row_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_tag_row_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_tag_row_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoTagRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_tag_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoTagRow), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_tag_row_instance_init, NULL }; + GType data_imports_fspot_db_fspot_photo_tag_row_type_id; + data_imports_fspot_db_fspot_photo_tag_row_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoTagRow", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_tag_row_type_id__volatile, data_imports_fspot_db_fspot_photo_tag_row_type_id); + } + return data_imports_fspot_db_fspot_photo_tag_row_type_id__volatile; +} + + +DataImportsFSpotDbFSpotPhotoTagsTable* data_imports_fspot_db_fspot_photo_tags_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { + DataImportsFSpotDbFSpotPhotoTagsTable* self = NULL; + sqlite3* _tmp0_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp1_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp3_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + g_return_val_if_fail (db != NULL, NULL); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (db_behavior), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp0_ = db; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoTagsTable*) data_imports_fspot_db_fspot_database_table_construct (object_type, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp1_ = db_behavior; +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_behavior_get_photo_tags_behavior (_tmp1_); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp3_ = _tmp2_; +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + data_imports_fspot_db_fspot_database_table_set_behavior (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), _tmp3_); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _g_object_unref0 (_tmp3_); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return self; +#line 280 "FSpotPhotoTagsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoTagsTable* data_imports_fspot_db_fspot_photo_tags_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return data_imports_fspot_db_fspot_photo_tags_table_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_TABLE, db, db_behavior); +#line 287 "FSpotPhotoTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_tags_table_class_init (DataImportsFSpotDbFSpotPhotoTagsTableClass * klass) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + data_imports_fspot_db_fspot_photo_tags_table_parent_class = g_type_class_peek_parent (klass); +#line 294 "FSpotPhotoTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_tags_table_instance_init (DataImportsFSpotDbFSpotPhotoTagsTable * self) { +} + + +/** + * This class represents the F-Spot photo_tags table. + */ +GType data_imports_fspot_db_fspot_photo_tags_table_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_tags_table_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_tags_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoTagsTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_tags_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoTagsTable), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_tags_table_instance_init, NULL }; + GType data_imports_fspot_db_fspot_photo_tags_table_type_id; + data_imports_fspot_db_fspot_photo_tags_table_type_id = g_type_register_static (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, "DataImportsFSpotDbFSpotPhotoTagsTable", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_tags_table_type_id__volatile, data_imports_fspot_db_fspot_photo_tags_table_type_id); + } + return data_imports_fspot_db_fspot_photo_tags_table_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoTagsV0Behavior * self = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoTagsV0Behavior*) g_object_new (object_type, NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return self; +#line 323 "FSpotPhotoTagsTable.c" +} + + +static DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_new (void) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return data_imports_fspot_db_fspot_photo_tags_v0_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR); +#line 330 "FSpotPhotoTagsTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return self ? g_object_ref (self) : NULL; +#line 337 "FSpotPhotoTagsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoTagsV0Behavior* data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotoTagsV0Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotoTagsV0Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoTagsV0Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoTagsV0Behavior* _tmp3_ = NULL; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + if (_tmp0_ == NULL) { +#line 350 "FSpotPhotoTagsTable.c" + DataImportsFSpotDbFSpotPhotoTagsV0Behavior* _tmp1_ = NULL; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photo_tags_v0_behavior_new (); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance = _tmp1_; +#line 358 "FSpotPhotoTagsTable.c" + } +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + result = _tmp3_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return result; +#line 368 "FSpotPhotoTagsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotoTagsV0Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0Behavior); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAGS_TABLE_TABLE_NAME); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + result = _tmp0_; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return result; +#line 384 "FSpotPhotoTagsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotoTagsV0Behavior * self; + gchar** result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0Behavior); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp0_ = g_strdup ("photo_id"); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp1_ = g_strdup ("tag_id"); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp2_ = g_new0 (gchar*, 2 + 1); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp2_[0] = _tmp0_; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp2_[1] = _tmp1_; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp3_ = _tmp2_; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp3__length1 = 2; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + if (result_length1) { +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + *result_length1 = _tmp3__length1; +#line 416 "FSpotPhotoTagsTable.c" + } +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + result = _tmp3_; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + return result; +#line 422 "FSpotPhotoTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoTagRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotoTagsV0Behavior * self; + DataImportsFSpotDbFSpotPhotoTagRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoTagRow* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint64 _tmp3_ = 0LL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint64 _tmp6_ = 0LL; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0Behavior); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + g_return_if_fail (stmt != NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_tag_row_new (); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _g_object_unref0 (_vala_row); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _vala_row = _tmp0_; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp1_ = stmt; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp2_ = offset; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp3_ = sqlite3_column_int64 (_tmp1_, _tmp2_ + 0); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _vala_row->photo_id = _tmp3_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp4_ = stmt; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp5_ = offset; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _tmp6_ = sqlite3_column_int64 (_tmp4_, _tmp5_ + 1); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _vala_row->tag_id = _tmp6_; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + if (row) { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + *row = _vala_row; +#line 466 "FSpotPhotoTagsTable.c" + } else { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + _g_object_unref0 (_vala_row); +#line 470 "FSpotPhotoTagsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photo_tags_v0_behavior_class_init (DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass * klass) { +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + data_imports_fspot_db_fspot_photo_tags_v0_behavior_parent_class = g_type_class_peek_parent (klass); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_tags_v0_behavior_finalize; +#line 480 "FSpotPhotoTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + data_imports_fspot_db_fspot_photo_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_get_table_name; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_list_columns; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photo_tags_v0_behavior_real_build_row; +#line 493 "FSpotPhotoTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance_init (DataImportsFSpotDbFSpotPhotoTagsV0Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photo_tags_v0_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoTagsV0Behavior * self; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoTagsV0Behavior); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_tags_v0_behavior_parent_class)->finalize (obj); +#line 507 "FSpotPhotoTagsTable.c" +} + + +GType data_imports_fspot_db_fspot_photo_tags_v0_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoTagsV0BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_tags_v0_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoTagsV0Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_tags_v0_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photo_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id; + data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoTagsV0Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id__volatile, data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id); + } + return data_imports_fspot_db_fspot_photo_tags_v0_behavior_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala b/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala index d4e8202..afc67ec 100644 --- a/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala +++ b/plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala @@ -18,7 +18,7 @@ public class FSpotPhotoTagRow : Object { * This class represents the F-Spot photo_tags table. */ public class FSpotPhotoTagsTable : FSpotDatabaseTable { - public static const string TABLE_NAME = "Photo_Tags"; + public const string TABLE_NAME = "Photo_Tags"; public FSpotPhotoTagsTable(Sqlite.Database db, FSpotDatabaseBehavior db_behavior) { base(db); diff --git a/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c b/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c new file mode 100644 index 0000000..92b63eb --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.c @@ -0,0 +1,2440 @@ +/* FSpotPhotoVersionsTable.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotPhotoVersionsTable.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW (data_imports_fspot_db_fspot_photo_version_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRow DataImportsFSpotDbFSpotPhotoVersionRow; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowClass DataImportsFSpotDbFSpotPhotoVersionRowClass; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowPrivate DataImportsFSpotDbFSpotPhotoVersionRowPrivate; +#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_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseTablePrivate DataImportsFSpotDbFSpotDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE (data_imports_fspot_db_fspot_photo_versions_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTable DataImportsFSpotDbFSpotPhotoVersionsTable; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTableClass DataImportsFSpotDbFSpotPhotoVersionsTableClass; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTablePrivate DataImportsFSpotDbFSpotPhotoVersionsTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR (data_imports_fspot_db_fspot_database_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseBehavior DataImportsFSpotDbFSpotDatabaseBehavior; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass DataImportsFSpotDbFSpotDatabaseBehaviorClass; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV0Behavior DataImportsFSpotDbFSpotPhotoVersionsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorPrivate DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV9Behavior DataImportsFSpotDbFSpotPhotoVersionsV9Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorPrivate DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV16Behavior DataImportsFSpotDbFSpotPhotoVersionsV16Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorPrivate DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV17Behavior DataImportsFSpotDbFSpotPhotoVersionsV17Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorPrivate DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR (data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV18Behavior DataImportsFSpotDbFSpotPhotoVersionsV18Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorPrivate DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorPrivate; + +struct _DataImportsFSpotDbFSpotPhotoVersionRow { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionRowPrivate * priv; + gint64 photo_id; + gint64 version_id; + gchar* name; + GFile* base_path; + gchar* filename; + gchar* md5_sum; + gboolean is_protected; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionRowClass { + GObjectClass parent_class; +}; + +struct _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotDatabaseTable { + ImportableDatabaseTable parent_instance; + DataImportsFSpotDbFSpotDatabaseTablePrivate * priv; + sqlite3* fspot_db; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTableClass { + ImportableDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsTable { + DataImportsFSpotDbFSpotDatabaseTable parent_instance; + DataImportsFSpotDbFSpotPhotoVersionsTablePrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsTableClass { + DataImportsFSpotDbFSpotDatabaseTableClass 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 _DataImportsFSpotDbFSpotPhotoVersionsV0Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV9Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV16Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV17Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV18Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass { + GObjectClass parent_class; +}; + + +static gpointer data_imports_fspot_db_fspot_photo_version_row_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_photo_versions_table_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_photo_versions_v0_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance; +static DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photo_versions_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photo_versions_v9_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance; +static DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photo_versions_v9_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photo_versions_v16_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance; +static DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photo_versions_v16_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photo_versions_v17_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance; +static DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photo_versions_v17_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photo_versions_v18_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance; +static DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photo_versions_v18_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; + +GType data_imports_fspot_db_fspot_photo_version_row_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotPhotoVersionRow* data_imports_fspot_db_fspot_photo_version_row_new (void); +DataImportsFSpotDbFSpotPhotoVersionRow* data_imports_fspot_db_fspot_photo_version_row_construct (GType object_type); +static void data_imports_fspot_db_fspot_photo_version_row_finalize (GObject* obj); +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_versions_table_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_DUMMY_PROPERTY +}; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME "Photo_versions" +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotoVersionsTable* data_imports_fspot_db_fspot_photo_versions_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotPhotoVersionsTable* data_imports_fspot_db_fspot_photo_versions_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db); +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photo_versions_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +GQuark database_error_quark (void); +GeeArrayList* data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (DataImportsFSpotDbFSpotPhotoVersionsTable* self, gint64 photo_id, GError** error); +gchar* data_imports_fspot_db_fspot_database_table_get_joined_column_list (DataImportsFSpotDbFSpotDatabaseTable* self, gboolean with_table); +void importable_database_table_throw_error (const gchar* method, gint res, GError** error); +void data_imports_fspot_db_fspot_table_behavior_build_row (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +GType data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_new (void); +static DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset); +static void data_imports_fspot_db_fspot_photo_versions_v0_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_new (void); +static DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset); +static void data_imports_fspot_db_fspot_photo_versions_v9_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_new (void); +static DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset); +static void data_imports_fspot_db_fspot_photo_versions_v16_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_new (void); +static DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset); +static void data_imports_fspot_db_fspot_photo_versions_v17_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_new (void); +static DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset); +static void data_imports_fspot_db_fspot_photo_versions_v18_behavior_finalize (GObject* obj); + + +DataImportsFSpotDbFSpotPhotoVersionRow* data_imports_fspot_db_fspot_photo_version_row_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoVersionRow * self = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoVersionRow*) g_object_new (object_type, NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self; +#line 368 "FSpotPhotoVersionsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoVersionRow* data_imports_fspot_db_fspot_photo_version_row_new (void) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return data_imports_fspot_db_fspot_photo_version_row_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW); +#line 375 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_version_row_class_init (DataImportsFSpotDbFSpotPhotoVersionRowClass * klass) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_version_row_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_version_row_finalize; +#line 384 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_version_row_instance_init (DataImportsFSpotDbFSpotPhotoVersionRow * self) { +} + + +static void data_imports_fspot_db_fspot_photo_version_row_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoVersionRow * self; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRow); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (self->name); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (self->base_path); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (self->filename); +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (self->md5_sum); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_version_row_parent_class)->finalize (obj); +#line 406 "FSpotPhotoVersionsTable.c" +} + + +/** + * The value object for the "photo_versions" table, representing a single database row. + */ +GType data_imports_fspot_db_fspot_photo_version_row_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_version_row_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_version_row_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoVersionRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_version_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoVersionRow), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_version_row_instance_init, NULL }; + GType data_imports_fspot_db_fspot_photo_version_row_type_id; + data_imports_fspot_db_fspot_photo_version_row_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoVersionRow", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_version_row_type_id__volatile, data_imports_fspot_db_fspot_photo_version_row_type_id); + } + return data_imports_fspot_db_fspot_photo_version_row_type_id__volatile; +} + + +DataImportsFSpotDbFSpotPhotoVersionsTable* data_imports_fspot_db_fspot_photo_versions_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { + DataImportsFSpotDbFSpotPhotoVersionsTable* self = NULL; + sqlite3* _tmp0_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp1_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp3_ = NULL; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_val_if_fail (db != NULL, NULL); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (db_behavior), NULL); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = db; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoVersionsTable*) data_imports_fspot_db_fspot_database_table_construct (object_type, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = db_behavior; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_behavior_get_photo_versions_behavior (_tmp1_); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = _tmp2_; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_database_table_set_behavior (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), _tmp3_); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_tmp3_); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self; +#line 451 "FSpotPhotoVersionsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoVersionsTable* data_imports_fspot_db_fspot_photo_versions_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return data_imports_fspot_db_fspot_photo_versions_table_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, db, db_behavior); +#line 458 "FSpotPhotoVersionsTable.c" +} + + +GeeArrayList* data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (DataImportsFSpotDbFSpotPhotoVersionsTable* self, gint64 photo_id, GError** error) { + GeeArrayList* result = NULL; + GeeArrayList* rows = NULL; + GeeArrayList* _tmp0_ = NULL; + sqlite3_stmt* stmt = NULL; + gchar* column_list = NULL; + gchar* _tmp1_ = NULL; + gchar* sql = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gint res = 0; + sqlite3* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + sqlite3_stmt* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3_stmt* _tmp14_ = NULL; + gint64 _tmp15_ = 0LL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + sqlite3_stmt* _tmp19_ = NULL; + gint _tmp20_ = 0; + GError * _inner_error_ = NULL; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE (self), NULL); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + rows = _tmp0_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_database_table_get_joined_column_list (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), FALSE); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + column_list = _tmp1_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = column_list; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = g_strdup_printf ("SELECT %s FROM %s WHERE photo_id=?", _tmp2_, _tmp3_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + sql = _tmp4_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->fspot_db; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = sql; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = sqlite3_prepare_v2 (_tmp5_, _tmp6_, -1, &_tmp7_, NULL); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _sqlite3_finalize0 (stmt); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + stmt = _tmp7_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + res = _tmp8_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_ = res; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp9_ != SQLITE_OK) { +#line 520 "FSpotPhotoVersionsTable.c" + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp10_ = sql; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp11_ = g_strdup_printf ("Statement failed: %s", _tmp10_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp12_ = _tmp11_; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp13_ = res; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + importable_database_table_throw_error (_tmp12_, _tmp13_, &_inner_error_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp12_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_propagate_error (error, _inner_error_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (sql); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (column_list); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _sqlite3_finalize0 (stmt); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (rows); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return NULL; +#line 553 "FSpotPhotoVersionsTable.c" + } else { +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (sql); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (column_list); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _sqlite3_finalize0 (stmt); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (rows); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_clear_error (&_inner_error_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return NULL; +#line 569 "FSpotPhotoVersionsTable.c" + } + } + } +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp14_ = stmt; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp15_ = photo_id; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp16_ = sqlite3_bind_int64 (_tmp14_, 1, _tmp15_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + res = _tmp16_; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp17_ = res; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp17_ != SQLITE_OK) { +#line 585 "FSpotPhotoVersionsTable.c" + gint _tmp18_ = 0; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp18_ = res; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + importable_database_table_throw_error ("Bind failed for photo_id", _tmp18_, &_inner_error_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_propagate_error (error, _inner_error_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (sql); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (column_list); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _sqlite3_finalize0 (stmt); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (rows); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return NULL; +#line 607 "FSpotPhotoVersionsTable.c" + } else { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (sql); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (column_list); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _sqlite3_finalize0 (stmt); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (rows); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_clear_error (&_inner_error_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return NULL; +#line 623 "FSpotPhotoVersionsTable.c" + } + } + } +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp19_ = stmt; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp20_ = sqlite3_step (_tmp19_); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + res = _tmp20_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + while (TRUE) { +#line 635 "FSpotPhotoVersionsTable.c" + gint _tmp21_ = 0; + DataImportsFSpotDbFSpotPhotoVersionRow* row = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp22_ = NULL; + sqlite3_stmt* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + GeeArrayList* _tmp25_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gint _tmp28_ = 0; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_ = res; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (!(_tmp21_ == SQLITE_ROW)) { +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + break; +#line 651 "FSpotPhotoVersionsTable.c" + } +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->behavior; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp23_ = stmt; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_table_behavior_build_row (_tmp22_, _tmp23_, &_tmp24_, 0); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (row); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + row = _tmp24_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_ = rows; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp26_ = row; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp26_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_ = stmt; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_ = sqlite3_step (_tmp27_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + res = _tmp28_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (row); +#line 677 "FSpotPhotoVersionsTable.c" + } +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = rows; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (sql); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (column_list); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _sqlite3_finalize0 (stmt); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 689 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_table_class_init (DataImportsFSpotDbFSpotPhotoVersionsTableClass * klass) { +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_table_parent_class = g_type_class_peek_parent (klass); +#line 696 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_table_instance_init (DataImportsFSpotDbFSpotPhotoVersionsTable * self) { +} + + +/** + * This class represents the F-Spot photo_versions table. + */ +GType data_imports_fspot_db_fspot_photo_versions_table_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_versions_table_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_versions_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoVersionsTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_versions_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoVersionsTable), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_versions_table_instance_init, NULL }; + GType data_imports_fspot_db_fspot_photo_versions_table_type_id; + data_imports_fspot_db_fspot_photo_versions_table_type_id = g_type_register_static (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, "DataImportsFSpotDbFSpotPhotoVersionsTable", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_versions_table_type_id__volatile, data_imports_fspot_db_fspot_photo_versions_table_type_id); + } + return data_imports_fspot_db_fspot_photo_versions_table_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior * self = NULL; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoVersionsV0Behavior*) g_object_new (object_type, NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self; +#line 725 "FSpotPhotoVersionsTable.c" +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_new (void) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return data_imports_fspot_db_fspot_photo_versions_v0_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR); +#line 732 "FSpotPhotoVersionsTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self ? g_object_ref (self) : NULL; +#line 739 "FSpotPhotoVersionsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* _tmp3_ = NULL; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp0_ == NULL) { +#line 752 "FSpotPhotoVersionsTable.c" + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior* _tmp1_ = NULL; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photo_versions_v0_behavior_new (); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance = _tmp1_; +#line 760 "FSpotPhotoVersionsTable.c" + } +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp3_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 770 "FSpotPhotoVersionsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0Behavior); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp0_; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 786 "FSpotPhotoVersionsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior * self; + gchar** result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0Behavior); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup ("photo_id"); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = g_strdup ("version_id"); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = g_strdup ("name"); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = g_strdup ("uri"); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = g_new0 (gchar*, 4 + 1); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_[0] = _tmp0_; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_[1] = _tmp1_; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_[2] = _tmp2_; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_[3] = _tmp3_; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = _tmp4_; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5__length1 = 4; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (result_length1) { +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *result_length1 = _tmp5__length1; +#line 828 "FSpotPhotoVersionsTable.c" + } +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp5_; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 834 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior * self; + DataImportsFSpotDbFSpotPhotoVersionRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* full_path = NULL; + sqlite3_stmt* _tmp14_ = NULL; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp29_ = NULL; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0Behavior); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_if_fail (stmt != NULL); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_version_row_new (); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _vala_row = _tmp0_; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = _vala_row; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = stmt; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = offset; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = _vala_row; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = stmt; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = offset; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_->version_id = _tmp8_; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_ = _vala_row; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp10_ = stmt; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp11_ = offset; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp12_ = sqlite3_column_text (_tmp10_, _tmp11_ + 2); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp9_->name); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_->name = _tmp13_; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp14_ = stmt; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp15_ = offset; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp16_ = sqlite3_column_text (_tmp14_, _tmp15_ + 3); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + full_path = _tmp17_; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp18_ = full_path; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp18_ != NULL) { +#line 922 "FSpotPhotoVersionsTable.c" + GFile* uri = NULL; + const gchar* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp19_ = full_path; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp20_ = g_file_new_for_uri (_tmp19_); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + uri = _tmp20_; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_ = _vala_row; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = uri; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp23_ = g_file_get_parent (_tmp22_); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_tmp21_->base_path); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_->base_path = _tmp23_; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_ = _vala_row; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_ = uri; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp26_ = g_file_get_basename (_tmp25_); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp24_->filename); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_->filename = _tmp26_; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (uri); +#line 960 "FSpotPhotoVersionsTable.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_ = _vala_row; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_ = g_strdup (""); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp27_->md5_sum); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_->md5_sum = _tmp28_; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp29_ = _vala_row; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp29_->is_protected = FALSE; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (full_path); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (row) { +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *row = _vala_row; +#line 980 "FSpotPhotoVersionsTable.c" + } else { +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 984 "FSpotPhotoVersionsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photo_versions_v0_behavior_class_init (DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass * klass) { +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v0_behavior_parent_class = g_type_class_peek_parent (klass); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_versions_v0_behavior_finalize; +#line 994 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_get_table_name; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_list_columns; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photo_versions_v0_behavior_real_build_row; +#line 1007 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance_init (DataImportsFSpotDbFSpotPhotoVersionsV0Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photo_versions_v0_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoVersionsV0Behavior * self; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV0Behavior); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_versions_v0_behavior_parent_class)->finalize (obj); +#line 1021 "FSpotPhotoVersionsTable.c" +} + + +GType data_imports_fspot_db_fspot_photo_versions_v0_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoVersionsV0BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_versions_v0_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoVersionsV0Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_versions_v0_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photo_versions_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id; + data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoVersionsV0Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id__volatile, data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id); + } + return data_imports_fspot_db_fspot_photo_versions_v0_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior * self = NULL; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoVersionsV9Behavior*) g_object_new (object_type, NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self; +#line 1045 "FSpotPhotoVersionsTable.c" +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_new (void) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return data_imports_fspot_db_fspot_photo_versions_v9_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR); +#line 1052 "FSpotPhotoVersionsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* _tmp3_ = NULL; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp0_ == NULL) { +#line 1065 "FSpotPhotoVersionsTable.c" + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior* _tmp1_ = NULL; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photo_versions_v9_behavior_new (); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance = _tmp1_; +#line 1073 "FSpotPhotoVersionsTable.c" + } +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp3_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1083 "FSpotPhotoVersionsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9Behavior); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp0_; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1099 "FSpotPhotoVersionsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior * 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; + gint _tmp6__length1 = 0; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9Behavior); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup ("photo_id"); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = g_strdup ("version_id"); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = g_strdup ("name"); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = g_strdup ("uri"); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = g_strdup ("protected"); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = g_new0 (gchar*, 5 + 1); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_[0] = _tmp0_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_[1] = _tmp1_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_[2] = _tmp2_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_[3] = _tmp3_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_[4] = _tmp4_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = _tmp5_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6__length1 = 5; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (result_length1) { +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *result_length1 = _tmp6__length1; +#line 1146 "FSpotPhotoVersionsTable.c" + } +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp6_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1152 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior * self; + DataImportsFSpotDbFSpotPhotoVersionRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* full_path = NULL; + sqlite3_stmt* _tmp14_ = NULL; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp29_ = NULL; + sqlite3_stmt* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9Behavior); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_if_fail (stmt != NULL); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_version_row_new (); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _vala_row = _tmp0_; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = _vala_row; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = stmt; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = offset; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = _vala_row; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = stmt; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = offset; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_->version_id = _tmp8_; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_ = _vala_row; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp10_ = stmt; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp11_ = offset; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp12_ = sqlite3_column_text (_tmp10_, _tmp11_ + 2); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp9_->name); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_->name = _tmp13_; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp14_ = stmt; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp15_ = offset; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp16_ = sqlite3_column_text (_tmp14_, _tmp15_ + 3); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + full_path = _tmp17_; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp18_ = full_path; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp18_ != NULL) { +#line 1243 "FSpotPhotoVersionsTable.c" + GFile* uri = NULL; + const gchar* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp19_ = full_path; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp20_ = g_file_new_for_uri (_tmp19_); +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + uri = _tmp20_; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_ = _vala_row; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = uri; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp23_ = g_file_get_parent (_tmp22_); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_tmp21_->base_path); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_->base_path = _tmp23_; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_ = _vala_row; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_ = uri; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp26_ = g_file_get_basename (_tmp25_); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp24_->filename); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_->filename = _tmp26_; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (uri); +#line 1281 "FSpotPhotoVersionsTable.c" + } +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_ = _vala_row; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_ = g_strdup (""); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp27_->md5_sum); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_->md5_sum = _tmp28_; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp29_ = _vala_row; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp30_ = stmt; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp31_ = offset; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp32_ = sqlite3_column_int (_tmp30_, _tmp31_ + 4); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp29_->is_protected = _tmp32_ > 0; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (full_path); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (row) { +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *row = _vala_row; +#line 1307 "FSpotPhotoVersionsTable.c" + } else { +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 1311 "FSpotPhotoVersionsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photo_versions_v9_behavior_class_init (DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass * klass) { +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v9_behavior_parent_class = g_type_class_peek_parent (klass); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_versions_v9_behavior_finalize; +#line 1321 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v9_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v9_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_get_table_name; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_list_columns; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photo_versions_v9_behavior_real_build_row; +#line 1334 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance_init (DataImportsFSpotDbFSpotPhotoVersionsV9Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photo_versions_v9_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoVersionsV9Behavior * self; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V9_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV9Behavior); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_versions_v9_behavior_parent_class)->finalize (obj); +#line 1348 "FSpotPhotoVersionsTable.c" +} + + +GType data_imports_fspot_db_fspot_photo_versions_v9_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoVersionsV9BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_versions_v9_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoVersionsV9Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_versions_v9_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photo_versions_v9_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id; + data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoVersionsV9Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id__volatile, data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id); + } + return data_imports_fspot_db_fspot_photo_versions_v9_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior * self = NULL; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoVersionsV16Behavior*) g_object_new (object_type, NULL); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self; +#line 1372 "FSpotPhotoVersionsTable.c" +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_new (void) { +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return data_imports_fspot_db_fspot_photo_versions_v16_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR); +#line 1379 "FSpotPhotoVersionsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* _tmp3_ = NULL; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp0_ == NULL) { +#line 1392 "FSpotPhotoVersionsTable.c" + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior* _tmp1_ = NULL; +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photo_versions_v16_behavior_new (); +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance); +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance = _tmp1_; +#line 1400 "FSpotPhotoVersionsTable.c" + } +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance; +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp3_; +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1410 "FSpotPhotoVersionsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16Behavior); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp0_; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1426 "FSpotPhotoVersionsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior * 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; + gint _tmp7__length1 = 0; +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16Behavior); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup ("photo_id"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = g_strdup ("version_id"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = g_strdup ("name"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = g_strdup ("uri"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = g_strdup ("md5_sum"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = g_strdup ("protected"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = g_new0 (gchar*, 6 + 1); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_[0] = _tmp0_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_[1] = _tmp1_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_[2] = _tmp2_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_[3] = _tmp3_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_[4] = _tmp4_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_[5] = _tmp5_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = _tmp6_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7__length1 = 6; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (result_length1) { +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *result_length1 = _tmp7__length1; +#line 1478 "FSpotPhotoVersionsTable.c" + } +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp7_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1484 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior * self; + DataImportsFSpotDbFSpotPhotoVersionRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* full_path = NULL; + sqlite3_stmt* _tmp14_ = NULL; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp27_ = NULL; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp32_ = NULL; + sqlite3_stmt* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16Behavior); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_if_fail (stmt != NULL); +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_version_row_new (); +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _vala_row = _tmp0_; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = _vala_row; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = stmt; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = offset; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = _vala_row; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = stmt; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = offset; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_->version_id = _tmp8_; +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_ = _vala_row; +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp10_ = stmt; +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp11_ = offset; +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp12_ = sqlite3_column_text (_tmp10_, _tmp11_ + 2); +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp9_->name); +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_->name = _tmp13_; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp14_ = stmt; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp15_ = offset; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp16_ = sqlite3_column_text (_tmp14_, _tmp15_ + 3); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + full_path = _tmp17_; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp18_ = full_path; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp18_ != NULL) { +#line 1578 "FSpotPhotoVersionsTable.c" + GFile* uri = NULL; + const gchar* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp19_ = full_path; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp20_ = g_file_new_for_uri (_tmp19_); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + uri = _tmp20_; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_ = _vala_row; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = uri; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp23_ = g_file_get_parent (_tmp22_); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_tmp21_->base_path); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_->base_path = _tmp23_; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_ = _vala_row; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_ = uri; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp26_ = g_file_get_basename (_tmp25_); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp24_->filename); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_->filename = _tmp26_; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (uri); +#line 1616 "FSpotPhotoVersionsTable.c" + } +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_ = _vala_row; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_ = stmt; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp29_ = offset; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp30_ = sqlite3_column_text (_tmp28_, _tmp29_ + 4); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp31_ = g_strdup (_tmp30_); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp27_->md5_sum); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_->md5_sum = _tmp31_; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp32_ = _vala_row; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp33_ = stmt; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp34_ = offset; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp35_ = sqlite3_column_int (_tmp33_, _tmp34_ + 5); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp32_->is_protected = _tmp35_ > 0; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (full_path); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (row) { +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *row = _vala_row; +#line 1648 "FSpotPhotoVersionsTable.c" + } else { +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 1652 "FSpotPhotoVersionsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photo_versions_v16_behavior_class_init (DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass * klass) { +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v16_behavior_parent_class = g_type_class_peek_parent (klass); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_versions_v16_behavior_finalize; +#line 1662 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v16_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v16_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_get_table_name; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_list_columns; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photo_versions_v16_behavior_real_build_row; +#line 1675 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance_init (DataImportsFSpotDbFSpotPhotoVersionsV16Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photo_versions_v16_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoVersionsV16Behavior * self; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV16Behavior); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_versions_v16_behavior_parent_class)->finalize (obj); +#line 1689 "FSpotPhotoVersionsTable.c" +} + + +GType data_imports_fspot_db_fspot_photo_versions_v16_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoVersionsV16BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_versions_v16_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoVersionsV16Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_versions_v16_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photo_versions_v16_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id; + data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoVersionsV16Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id__volatile, data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id); + } + return data_imports_fspot_db_fspot_photo_versions_v16_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior * self = NULL; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoVersionsV17Behavior*) g_object_new (object_type, NULL); +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self; +#line 1713 "FSpotPhotoVersionsTable.c" +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_new (void) { +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return data_imports_fspot_db_fspot_photo_versions_v17_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR); +#line 1720 "FSpotPhotoVersionsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* _tmp3_ = NULL; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp0_ == NULL) { +#line 1733 "FSpotPhotoVersionsTable.c" + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior* _tmp1_ = NULL; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photo_versions_v17_behavior_new (); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance = _tmp1_; +#line 1741 "FSpotPhotoVersionsTable.c" + } +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp3_; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1751 "FSpotPhotoVersionsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17Behavior); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp0_; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1767 "FSpotPhotoVersionsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior * 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; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17Behavior); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup ("photo_id"); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = g_strdup ("version_id"); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = g_strdup ("name"); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = g_strdup ("base_uri"); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = g_strdup ("filename"); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = g_strdup ("md5_sum"); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = g_strdup ("protected"); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = g_new0 (gchar*, 7 + 1); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[0] = _tmp0_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[1] = _tmp1_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[2] = _tmp2_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[3] = _tmp3_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[4] = _tmp4_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[5] = _tmp5_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[6] = _tmp6_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = _tmp7_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8__length1 = 7; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (result_length1) { +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *result_length1 = _tmp8__length1; +#line 1824 "FSpotPhotoVersionsTable.c" + } +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp8_; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 1830 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior * self; + DataImportsFSpotDbFSpotPhotoVersionRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* base_path = NULL; + sqlite3_stmt* _tmp14_ = NULL; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* filename = NULL; + sqlite3_stmt* _tmp18_ = NULL; + gint _tmp19_ = 0; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + const gchar* _tmp23_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp36_ = NULL; + sqlite3_stmt* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17Behavior); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_if_fail (stmt != NULL); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_version_row_new (); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _vala_row = _tmp0_; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = _vala_row; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = stmt; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = offset; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = _vala_row; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = stmt; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = offset; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_->version_id = _tmp8_; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_ = _vala_row; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp10_ = stmt; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp11_ = offset; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp12_ = sqlite3_column_text (_tmp10_, _tmp11_ + 2); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp9_->name); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_->name = _tmp13_; +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp14_ = stmt; +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp15_ = offset; +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp16_ = sqlite3_column_text (_tmp14_, _tmp15_ + 3); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + base_path = _tmp17_; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp18_ = stmt; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp19_ = offset; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp20_ = sqlite3_column_text (_tmp18_, _tmp19_ + 4); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + filename = _tmp21_; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp23_ = base_path; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp23_ != NULL) { +#line 1940 "FSpotPhotoVersionsTable.c" + const gchar* _tmp24_ = NULL; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_ = filename; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = _tmp24_ != NULL; +#line 1946 "FSpotPhotoVersionsTable.c" + } else { +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = FALSE; +#line 1950 "FSpotPhotoVersionsTable.c" + } +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp22_) { +#line 1954 "FSpotPhotoVersionsTable.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_ = _vala_row; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp26_ = base_path; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_ = g_file_new_for_uri (_tmp26_); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_tmp25_->base_path); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_->base_path = _tmp27_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_ = _vala_row; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp29_ = filename; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp28_->filename); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_->filename = _tmp30_; +#line 1981 "FSpotPhotoVersionsTable.c" + } +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp31_ = _vala_row; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp32_ = stmt; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp33_ = offset; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp34_ = sqlite3_column_text (_tmp32_, _tmp33_ + 5); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp35_ = g_strdup (_tmp34_); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp31_->md5_sum); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp31_->md5_sum = _tmp35_; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp36_ = _vala_row; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp37_ = stmt; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp38_ = offset; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp39_ = sqlite3_column_int (_tmp37_, _tmp38_ + 6); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp36_->is_protected = _tmp39_ > 0; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (filename); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (base_path); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (row) { +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *row = _vala_row; +#line 2015 "FSpotPhotoVersionsTable.c" + } else { +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 2019 "FSpotPhotoVersionsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photo_versions_v17_behavior_class_init (DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass * klass) { +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v17_behavior_parent_class = g_type_class_peek_parent (klass); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_versions_v17_behavior_finalize; +#line 2029 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v17_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v17_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_get_table_name; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_list_columns; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photo_versions_v17_behavior_real_build_row; +#line 2042 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance_init (DataImportsFSpotDbFSpotPhotoVersionsV17Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photo_versions_v17_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoVersionsV17Behavior * self; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV17Behavior); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_versions_v17_behavior_parent_class)->finalize (obj); +#line 2056 "FSpotPhotoVersionsTable.c" +} + + +GType data_imports_fspot_db_fspot_photo_versions_v17_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoVersionsV17BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_versions_v17_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoVersionsV17Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_versions_v17_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photo_versions_v17_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id; + data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoVersionsV17Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id__volatile, data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id); + } + return data_imports_fspot_db_fspot_photo_versions_v17_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior * self = NULL; +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = (DataImportsFSpotDbFSpotPhotoVersionsV18Behavior*) g_object_new (object_type, NULL); +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return self; +#line 2080 "FSpotPhotoVersionsTable.c" +} + + +static DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_new (void) { +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return data_imports_fspot_db_fspot_photo_versions_v18_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR); +#line 2087 "FSpotPhotoVersionsTable.c" +} + + +DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* _tmp3_ = NULL; +#line 238 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance; +#line 238 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp0_ == NULL) { +#line 2100 "FSpotPhotoVersionsTable.c" + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior* _tmp1_ = NULL; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photo_versions_v18_behavior_new (); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance = _tmp1_; +#line 2108 "FSpotPhotoVersionsTable.c" + } +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp3_; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 2118 "FSpotPhotoVersionsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18Behavior); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_TABLE_NAME); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp0_; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 2134 "FSpotPhotoVersionsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior * 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; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18Behavior); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = g_strdup ("photo_id"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = g_strdup ("version_id"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = g_strdup ("name"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = g_strdup ("base_uri"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = g_strdup ("filename"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = g_strdup ("import_md5"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = g_strdup ("protected"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = g_new0 (gchar*, 7 + 1); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[0] = _tmp0_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[1] = _tmp1_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[2] = _tmp2_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[3] = _tmp3_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[4] = _tmp4_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[5] = _tmp5_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_[6] = _tmp6_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = _tmp7_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8__length1 = 7; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (result_length1) { +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *result_length1 = _tmp8__length1; +#line 2191 "FSpotPhotoVersionsTable.c" + } +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + result = _tmp8_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + return result; +#line 2197 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoVersionRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior * self; + DataImportsFSpotDbFSpotPhotoVersionRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* base_path = NULL; + sqlite3_stmt* _tmp14_ = NULL; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* filename = NULL; + sqlite3_stmt* _tmp18_ = NULL; + gint _tmp19_ = 0; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + const gchar* _tmp23_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp36_ = NULL; + sqlite3_stmt* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18Behavior); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + g_return_if_fail (stmt != NULL); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_version_row_new (); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _vala_row = _tmp0_; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_ = _vala_row; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp2_ = stmt; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp3_ = offset; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_ = _vala_row; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp6_ = stmt; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp7_ = offset; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp5_->version_id = _tmp8_; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_ = _vala_row; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp10_ = stmt; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp11_ = offset; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp12_ = sqlite3_column_text (_tmp10_, _tmp11_ + 2); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp9_->name); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp9_->name = _tmp13_; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp14_ = stmt; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp15_ = offset; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp16_ = sqlite3_column_text (_tmp14_, _tmp15_ + 3); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + base_path = _tmp17_; +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp18_ = stmt; +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp19_ = offset; +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp20_ = sqlite3_column_text (_tmp18_, _tmp19_ + 4); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + filename = _tmp21_; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp23_ = base_path; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp23_ != NULL) { +#line 2307 "FSpotPhotoVersionsTable.c" + const gchar* _tmp24_ = NULL; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp24_ = filename; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = _tmp24_ != NULL; +#line 2313 "FSpotPhotoVersionsTable.c" + } else { +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp22_ = FALSE; +#line 2317 "FSpotPhotoVersionsTable.c" + } +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (_tmp22_) { +#line 2321 "FSpotPhotoVersionsTable.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_ = _vala_row; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp26_ = base_path; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp27_ = g_file_new_for_uri (_tmp26_); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_tmp25_->base_path); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp25_->base_path = _tmp27_; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_ = _vala_row; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp29_ = filename; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp28_->filename); +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp28_->filename = _tmp30_; +#line 2348 "FSpotPhotoVersionsTable.c" + } +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp31_ = _vala_row; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp32_ = stmt; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp33_ = offset; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp34_ = sqlite3_column_text (_tmp32_, _tmp33_ + 5); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp35_ = g_strdup (_tmp34_); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (_tmp31_->md5_sum); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp31_->md5_sum = _tmp35_; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp36_ = _vala_row; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp37_ = stmt; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp38_ = offset; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp39_ = sqlite3_column_int (_tmp37_, _tmp38_ + 6); +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _tmp36_->is_protected = _tmp39_ > 0; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (filename); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_free0 (base_path); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + if (row) { +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + *row = _vala_row; +#line 2382 "FSpotPhotoVersionsTable.c" + } else { +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + _g_object_unref0 (_vala_row); +#line 2386 "FSpotPhotoVersionsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photo_versions_v18_behavior_class_init (DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass * klass) { +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v18_behavior_parent_class = g_type_class_peek_parent (klass); +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_versions_v18_behavior_finalize; +#line 2396 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v18_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + data_imports_fspot_db_fspot_photo_versions_v18_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_get_table_name; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_list_columns; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photo_versions_v18_behavior_real_build_row; +#line 2409 "FSpotPhotoVersionsTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance_init (DataImportsFSpotDbFSpotPhotoVersionsV18Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photo_versions_v18_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoVersionsV18Behavior * self; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotoVersionsV18Behavior); +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_versions_v18_behavior_parent_class)->finalize (obj); +#line 2423 "FSpotPhotoVersionsTable.c" +} + + +GType data_imports_fspot_db_fspot_photo_versions_v18_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoVersionsV18BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_versions_v18_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoVersionsV18Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_versions_v18_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photo_versions_v18_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id; + data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoVersionsV18Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id__volatile, data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id); + } + return data_imports_fspot_db_fspot_photo_versions_v18_behavior_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala b/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala index 35b913b..4c500fe 100644 --- a/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala +++ b/plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala @@ -23,7 +23,7 @@ public class FSpotPhotoVersionRow : Object { * This class represents the F-Spot photo_versions table. */ public class FSpotPhotoVersionsTable : FSpotDatabaseTable { - public static const string TABLE_NAME = "Photo_versions"; + public const string TABLE_NAME = "Photo_versions"; public FSpotPhotoVersionsTable(Sqlite.Database db, FSpotDatabaseBehavior db_behavior) { base(db); diff --git a/plugins/shotwell-data-imports/FSpotPhotosTable.c b/plugins/shotwell-data-imports/FSpotPhotosTable.c new file mode 100644 index 0000000..b610d4f --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotPhotosTable.c @@ -0,0 +1,3295 @@ +/* FSpotPhotosTable.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotPhotosTable.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW (data_imports_fspot_db_fspot_photo_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoRow DataImportsFSpotDbFSpotPhotoRow; +typedef struct _DataImportsFSpotDbFSpotPhotoRowClass DataImportsFSpotDbFSpotPhotoRowClass; +typedef struct _DataImportsFSpotDbFSpotPhotoRowPrivate DataImportsFSpotDbFSpotPhotoRowPrivate; +#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_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseTablePrivate DataImportsFSpotDbFSpotDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE (data_imports_fspot_db_fspot_photos_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosTable DataImportsFSpotDbFSpotPhotosTable; +typedef struct _DataImportsFSpotDbFSpotPhotosTableClass DataImportsFSpotDbFSpotPhotosTableClass; +typedef struct _DataImportsFSpotDbFSpotPhotosTablePrivate DataImportsFSpotDbFSpotPhotosTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR (data_imports_fspot_db_fspot_database_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseBehavior DataImportsFSpotDbFSpotDatabaseBehavior; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass DataImportsFSpotDbFSpotDatabaseBehaviorClass; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR (data_imports_fspot_db_fspot_photos_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV0Behavior DataImportsFSpotDbFSpotPhotosV0Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV0BehaviorClass DataImportsFSpotDbFSpotPhotosV0BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotosV0BehaviorPrivate DataImportsFSpotDbFSpotPhotosV0BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR (data_imports_fspot_db_fspot_photos_v5_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V5_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV5Behavior DataImportsFSpotDbFSpotPhotosV5Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV5BehaviorClass DataImportsFSpotDbFSpotPhotosV5BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotosV5BehaviorPrivate DataImportsFSpotDbFSpotPhotosV5BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR (data_imports_fspot_db_fspot_photos_v7_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V7_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V7_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V7_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V7_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V7_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV7Behavior DataImportsFSpotDbFSpotPhotosV7Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV7BehaviorClass DataImportsFSpotDbFSpotPhotosV7BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotosV7BehaviorPrivate DataImportsFSpotDbFSpotPhotosV7BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR (data_imports_fspot_db_fspot_photos_v11_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V11_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V11_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V11_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V11_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V11_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV11Behavior DataImportsFSpotDbFSpotPhotosV11Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV11BehaviorClass DataImportsFSpotDbFSpotPhotosV11BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotosV11BehaviorPrivate DataImportsFSpotDbFSpotPhotosV11BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR (data_imports_fspot_db_fspot_photos_v16_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V16_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V16_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V16_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV16Behavior DataImportsFSpotDbFSpotPhotosV16Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV16BehaviorClass DataImportsFSpotDbFSpotPhotosV16BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotosV16BehaviorPrivate DataImportsFSpotDbFSpotPhotosV16BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR (data_imports_fspot_db_fspot_photos_v17_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V17_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V17_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V17_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV17Behavior DataImportsFSpotDbFSpotPhotosV17Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV17BehaviorClass DataImportsFSpotDbFSpotPhotosV17BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotosV17BehaviorPrivate DataImportsFSpotDbFSpotPhotosV17BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR (data_imports_fspot_db_fspot_photos_v18_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V18_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_V18_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V18_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosV18Behavior DataImportsFSpotDbFSpotPhotosV18Behavior; +typedef struct _DataImportsFSpotDbFSpotPhotosV18BehaviorClass DataImportsFSpotDbFSpotPhotosV18BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotPhotosV18BehaviorPrivate DataImportsFSpotDbFSpotPhotosV18BehaviorPrivate; + +struct _DataImportsFSpotDbFSpotPhotoRow { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoRowPrivate * priv; + gint64 photo_id; + time_t time; + GFile* base_path; + gchar* filename; + gchar* description; + gint64 roll_id; + gint64 default_version_id; + gint rating; + gchar* md5_sum; +}; + +struct _DataImportsFSpotDbFSpotPhotoRowClass { + GObjectClass parent_class; +}; + +struct _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotDatabaseTable { + ImportableDatabaseTable parent_instance; + DataImportsFSpotDbFSpotDatabaseTablePrivate * priv; + sqlite3* fspot_db; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTableClass { + ImportableDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotosTable { + DataImportsFSpotDbFSpotDatabaseTable parent_instance; + DataImportsFSpotDbFSpotPhotosTablePrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosTableClass { + DataImportsFSpotDbFSpotDatabaseTableClass 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 _DataImportsFSpotDbFSpotPhotosV0Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotosV0BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosV0BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotosV5Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotosV5BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosV5BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotosV7Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotosV7BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosV7BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotosV11Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotosV11BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosV11BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotosV16Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotosV16BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosV16BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotosV17Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotosV17BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosV17BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotosV18Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotosV18BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotPhotosV18BehaviorClass { + GObjectClass parent_class; +}; + + +static gpointer data_imports_fspot_db_fspot_photo_row_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_photos_table_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_photos_v0_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_instance; +static DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photos_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photos_v5_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_instance; +static DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photos_v5_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photos_v7_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_instance; +static DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photos_v7_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photos_v11_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_instance; +static DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photos_v11_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photos_v16_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_instance; +static DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photos_v16_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photos_v17_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_instance; +static DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photos_v17_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_photos_v18_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_instance; +static DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_photos_v18_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; + +GType data_imports_fspot_db_fspot_photo_row_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotPhotoRow* data_imports_fspot_db_fspot_photo_row_new (void); +DataImportsFSpotDbFSpotPhotoRow* data_imports_fspot_db_fspot_photo_row_construct (GType object_type); +static void data_imports_fspot_db_fspot_photo_row_finalize (GObject* obj); +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photos_table_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_DUMMY_PROPERTY +}; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME "Photos" +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotPhotosTable* data_imports_fspot_db_fspot_photos_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotPhotosTable* data_imports_fspot_db_fspot_photos_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db); +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photos_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +GQuark database_error_quark (void); +GeeArrayList* data_imports_fspot_db_fspot_photos_table_get_all (DataImportsFSpotDbFSpotPhotosTable* self, GError** error); +gint data_imports_fspot_db_fspot_database_table_select_all (DataImportsFSpotDbFSpotDatabaseTable* self, sqlite3_stmt** stmt, GError** error); +void data_imports_fspot_db_fspot_table_behavior_build_row (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +GType data_imports_fspot_db_fspot_photos_v0_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V0_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_new (void); +static DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photos_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photos_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photos_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset); +#define DATA_IMPORTS_FSPOT_DB_INVALID_ID ((gint64) -1) +static void data_imports_fspot_db_fspot_photos_v0_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photos_v5_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V5_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_new (void); +static DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photos_v5_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photos_v5_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photos_v5_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset); +static void data_imports_fspot_db_fspot_photos_v5_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photos_v7_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V7_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_new (void); +static DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photos_v7_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photos_v7_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photos_v7_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset); +static void data_imports_fspot_db_fspot_photos_v7_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photos_v11_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V11_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_new (void); +static DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photos_v11_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photos_v11_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photos_v11_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset); +static void data_imports_fspot_db_fspot_photos_v11_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photos_v16_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V16_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_new (void); +static DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photos_v16_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photos_v16_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photos_v16_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset); +static void data_imports_fspot_db_fspot_photos_v16_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photos_v17_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V17_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_new (void); +static DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photos_v17_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photos_v17_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photos_v17_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset); +static void data_imports_fspot_db_fspot_photos_v17_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_photos_v18_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_V18_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_new (void); +static DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_photos_v18_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_photos_v18_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_photos_v18_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset); +static void data_imports_fspot_db_fspot_photos_v18_behavior_finalize (GObject* obj); + + +DataImportsFSpotDbFSpotPhotoRow* data_imports_fspot_db_fspot_photo_row_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotoRow * self = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotoRow*) g_object_new (object_type, NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 441 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotoRow* data_imports_fspot_db_fspot_photo_row_new (void) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photo_row_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW); +#line 448 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_row_class_init (DataImportsFSpotDbFSpotPhotoRowClass * klass) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photo_row_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photo_row_finalize; +#line 457 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photo_row_instance_init (DataImportsFSpotDbFSpotPhotoRow * self) { +} + + +static void data_imports_fspot_db_fspot_photo_row_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotoRow * self; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRow); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (self->base_path); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (self->filename); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (self->description); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (self->md5_sum); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photo_row_parent_class)->finalize (obj); +#line 479 "FSpotPhotosTable.c" +} + + +/** + * The value object for the "photos" table, representing a single database row. + */ +GType data_imports_fspot_db_fspot_photo_row_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photo_row_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photo_row_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotoRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photo_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotoRow), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photo_row_instance_init, NULL }; + GType data_imports_fspot_db_fspot_photo_row_type_id; + data_imports_fspot_db_fspot_photo_row_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotoRow", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_photo_row_type_id__volatile, data_imports_fspot_db_fspot_photo_row_type_id); + } + return data_imports_fspot_db_fspot_photo_row_type_id__volatile; +} + + +DataImportsFSpotDbFSpotPhotosTable* data_imports_fspot_db_fspot_photos_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { + DataImportsFSpotDbFSpotPhotosTable* self = NULL; + sqlite3* _tmp0_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp1_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp3_ = NULL; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_val_if_fail (db != NULL, NULL); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (db_behavior), NULL); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = db; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosTable*) data_imports_fspot_db_fspot_database_table_construct (object_type, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = db_behavior; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_behavior_get_photos_behavior (_tmp1_); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _tmp2_; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_database_table_set_behavior (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), _tmp3_); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp3_); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 524 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosTable* data_imports_fspot_db_fspot_photos_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_table_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, db, db_behavior); +#line 531 "FSpotPhotosTable.c" +} + + +GeeArrayList* data_imports_fspot_db_fspot_photos_table_get_all (DataImportsFSpotDbFSpotPhotosTable* self, GError** error) { + GeeArrayList* result = NULL; + GeeArrayList* all = NULL; + GeeArrayList* _tmp0_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE (self), NULL); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + all = _tmp0_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_table_select_all (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), &_tmp1_, &_inner_error_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _sqlite3_finalize0 (stmt); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + stmt = _tmp1_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + res = _tmp2_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_propagate_error (error, _inner_error_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _sqlite3_finalize0 (stmt); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (all); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return NULL; +#line 570 "FSpotPhotosTable.c" + } else { +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _sqlite3_finalize0 (stmt); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (all); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_clear_error (&_inner_error_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return NULL; +#line 582 "FSpotPhotosTable.c" + } + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + while (TRUE) { +#line 587 "FSpotPhotosTable.c" + gint _tmp3_ = 0; + DataImportsFSpotDbFSpotPhotoRow* row = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = res; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (!(_tmp3_ == SQLITE_ROW)) { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + break; +#line 600 "FSpotPhotosTable.c" + } +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->behavior; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_table_behavior_build_row (_tmp4_, stmt, &_tmp5_, 0); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (row); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + row = _tmp5_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = row; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (all, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp6_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = sqlite3_step (stmt); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + res = _tmp7_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (row); +#line 620 "FSpotPhotosTable.c" + } +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = all; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _sqlite3_finalize0 (stmt); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 628 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_table_class_init (DataImportsFSpotDbFSpotPhotosTableClass * klass) { +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_table_parent_class = g_type_class_peek_parent (klass); +#line 635 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_table_instance_init (DataImportsFSpotDbFSpotPhotosTable * self) { +} + + +/** + * This class represents the F-Spot photos table. + */ +GType data_imports_fspot_db_fspot_photos_table_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_table_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosTable), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_table_instance_init, NULL }; + GType data_imports_fspot_db_fspot_photos_table_type_id; + data_imports_fspot_db_fspot_photos_table_type_id = g_type_register_static (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, "DataImportsFSpotDbFSpotPhotosTable", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_table_type_id__volatile, data_imports_fspot_db_fspot_photos_table_type_id); + } + return data_imports_fspot_db_fspot_photos_table_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotosV0Behavior * self = NULL; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosV0Behavior*) g_object_new (object_type, NULL); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 664 "FSpotPhotosTable.c" +} + + +static DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_new (void) { +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_v0_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR); +#line 671 "FSpotPhotosTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self ? g_object_ref (self) : NULL; +#line 678 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosV0Behavior* data_imports_fspot_db_fspot_photos_v0_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotosV0Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotosV0Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotosV0Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotosV0Behavior* _tmp3_ = NULL; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photos_v0_behavior_instance; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp0_ == NULL) { +#line 691 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotosV0Behavior* _tmp1_ = NULL; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photos_v0_behavior_new (); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photos_v0_behavior_instance); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v0_behavior_instance = _tmp1_; +#line 699 "FSpotPhotosTable.c" + } +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photos_v0_behavior_instance; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp3_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 709 "FSpotPhotosTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photos_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotosV0Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0Behavior); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp0_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 725 "FSpotPhotosTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photos_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotosV0Behavior * 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; + gint _tmp7__length1 = 0; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0Behavior); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup ("id"); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = g_strdup ("time"); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = g_strdup ("directory_path"); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = g_strdup ("name"); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = g_strdup ("description"); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = g_strdup ("default_version_id"); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = g_new0 (gchar*, 6 + 1); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[0] = _tmp0_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[1] = _tmp1_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[2] = _tmp2_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[3] = _tmp3_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[4] = _tmp4_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[5] = _tmp5_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = _tmp6_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7__length1 = 6; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (result_length1) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *result_length1 = _tmp7__length1; +#line 777 "FSpotPhotosTable.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp7_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 783 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotosV0Behavior * self; + DataImportsFSpotDbFSpotPhotoRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gchar* base_path = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* filename = NULL; + sqlite3_stmt* _tmp13_ = NULL; + gint _tmp14_ = 0; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + const gchar* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp31_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp32_ = NULL; + sqlite3_stmt* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint64 _tmp35_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp36_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0Behavior); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_if_fail (stmt != NULL); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_row_new (); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _vala_row = _tmp0_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = _vala_row; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = stmt; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = offset; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = _vala_row; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = stmt; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = offset; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_->time = (time_t) _tmp8_; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = stmt; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = offset; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp11_ = sqlite3_column_text (_tmp9_, _tmp10_ + 2); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + base_path = _tmp12_; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp13_ = stmt; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp14_ = offset; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp15_ = sqlite3_column_text (_tmp13_, _tmp14_ + 3); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + filename = _tmp16_; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp18_ = base_path; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp18_ != NULL) { +#line 878 "FSpotPhotosTable.c" + const gchar* _tmp19_ = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_ = filename; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = _tmp19_ != NULL; +#line 884 "FSpotPhotosTable.c" + } else { +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = FALSE; +#line 888 "FSpotPhotosTable.c" + } +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp17_) { +#line 892 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_ = _vala_row; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp21_ = base_path; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_ = g_file_new_for_uri (_tmp21_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp20_->base_path); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_->base_path = _tmp22_; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_ = _vala_row; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp24_ = filename; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp23_->filename); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_->filename = _tmp25_; +#line 919 "FSpotPhotosTable.c" + } +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_ = _vala_row; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_ = stmt; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp28_ = offset; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp29_ = sqlite3_column_text (_tmp27_, _tmp28_ + 4); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp26_->description); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_->description = _tmp30_; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_ = _vala_row; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_->roll_id = DATA_IMPORTS_FSPOT_DB_INVALID_ID; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_ = _vala_row; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp33_ = stmt; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp34_ = offset; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_ = sqlite3_column_int64 (_tmp33_, _tmp34_ + 5); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_->default_version_id = _tmp35_; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_ = _vala_row; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_->rating = 0; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_ = _vala_row; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp38_ = g_strdup (""); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp37_->md5_sum); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_->md5_sum = _tmp38_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (filename); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (base_path); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (row) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *row = _vala_row; +#line 969 "FSpotPhotosTable.c" + } else { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 973 "FSpotPhotosTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photos_v0_behavior_class_init (DataImportsFSpotDbFSpotPhotosV0BehaviorClass * klass) { +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v0_behavior_parent_class = g_type_class_peek_parent (klass); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photos_v0_behavior_finalize; +#line 983 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photos_v0_behavior_real_get_table_name; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photos_v0_behavior_real_list_columns; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photos_v0_behavior_real_build_row; +#line 996 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v0_behavior_instance_init (DataImportsFSpotDbFSpotPhotosV0Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photos_v0_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotosV0Behavior * self; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V0_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV0Behavior); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photos_v0_behavior_parent_class)->finalize (obj); +#line 1010 "FSpotPhotosTable.c" +} + + +GType data_imports_fspot_db_fspot_photos_v0_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_v0_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_v0_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosV0BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_v0_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosV0Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_v0_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photos_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photos_v0_behavior_type_id; + data_imports_fspot_db_fspot_photos_v0_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotosV0Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photos_v0_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_v0_behavior_type_id__volatile, data_imports_fspot_db_fspot_photos_v0_behavior_type_id); + } + return data_imports_fspot_db_fspot_photos_v0_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotosV5Behavior * self = NULL; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosV5Behavior*) g_object_new (object_type, NULL); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 1034 "FSpotPhotosTable.c" +} + + +static DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_new (void) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_v5_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR); +#line 1041 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosV5Behavior* data_imports_fspot_db_fspot_photos_v5_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotosV5Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotosV5Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotosV5Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotosV5Behavior* _tmp3_ = NULL; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photos_v5_behavior_instance; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp0_ == NULL) { +#line 1054 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotosV5Behavior* _tmp1_ = NULL; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photos_v5_behavior_new (); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photos_v5_behavior_instance); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v5_behavior_instance = _tmp1_; +#line 1062 "FSpotPhotosTable.c" + } +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photos_v5_behavior_instance; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp3_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1072 "FSpotPhotosTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photos_v5_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotosV5Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5Behavior); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp0_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1088 "FSpotPhotosTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photos_v5_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotosV5Behavior * 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; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5Behavior); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup ("id"); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = g_strdup ("time"); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = g_strdup ("directory_path"); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = g_strdup ("name"); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = g_strdup ("description"); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = g_strdup ("roll_id"); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = g_strdup ("default_version_id"); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = g_new0 (gchar*, 7 + 1); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[0] = _tmp0_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[1] = _tmp1_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[2] = _tmp2_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[3] = _tmp3_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[4] = _tmp4_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[5] = _tmp5_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[6] = _tmp6_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = _tmp7_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8__length1 = 7; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (result_length1) { +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *result_length1 = _tmp8__length1; +#line 1145 "FSpotPhotosTable.c" + } +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp8_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1151 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v5_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotosV5Behavior * self; + DataImportsFSpotDbFSpotPhotoRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gchar* base_path = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* filename = NULL; + sqlite3_stmt* _tmp13_ = NULL; + gint _tmp14_ = 0; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + const gchar* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint64 _tmp34_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp35_ = NULL; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint64 _tmp38_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp39_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5Behavior); +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_if_fail (stmt != NULL); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_row_new (); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _vala_row = _tmp0_; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = _vala_row; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = stmt; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = offset; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = _vala_row; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = stmt; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = offset; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_->time = (time_t) _tmp8_; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = stmt; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = offset; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp11_ = sqlite3_column_text (_tmp9_, _tmp10_ + 2); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + base_path = _tmp12_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp13_ = stmt; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp14_ = offset; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp15_ = sqlite3_column_text (_tmp13_, _tmp14_ + 3); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + filename = _tmp16_; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp18_ = base_path; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp18_ != NULL) { +#line 1249 "FSpotPhotosTable.c" + const gchar* _tmp19_ = NULL; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_ = filename; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = _tmp19_ != NULL; +#line 1255 "FSpotPhotosTable.c" + } else { +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = FALSE; +#line 1259 "FSpotPhotosTable.c" + } +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp17_) { +#line 1263 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_ = _vala_row; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp21_ = base_path; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_ = g_file_new_for_uri (_tmp21_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp20_->base_path); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_->base_path = _tmp22_; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_ = _vala_row; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp24_ = filename; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp23_->filename); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_->filename = _tmp25_; +#line 1290 "FSpotPhotosTable.c" + } +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_ = _vala_row; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_ = stmt; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp28_ = offset; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp29_ = sqlite3_column_text (_tmp27_, _tmp28_ + 4); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp26_->description); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_->description = _tmp30_; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_ = _vala_row; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_ = stmt; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp33_ = offset; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp34_ = sqlite3_column_int64 (_tmp32_, _tmp33_ + 5); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_->roll_id = _tmp34_; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_ = _vala_row; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_ = stmt; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_ = offset; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp38_ = sqlite3_column_int64 (_tmp36_, _tmp37_ + 6); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_->default_version_id = _tmp38_; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_ = _vala_row; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_->rating = 0; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp40_ = _vala_row; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp41_ = g_strdup (""); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp40_->md5_sum); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp40_->md5_sum = _tmp41_; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (filename); +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (base_path); +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (row) { +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *row = _vala_row; +#line 1346 "FSpotPhotosTable.c" + } else { +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 1350 "FSpotPhotosTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photos_v5_behavior_class_init (DataImportsFSpotDbFSpotPhotosV5BehaviorClass * klass) { +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v5_behavior_parent_class = g_type_class_peek_parent (klass); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photos_v5_behavior_finalize; +#line 1360 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v5_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v5_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photos_v5_behavior_real_get_table_name; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photos_v5_behavior_real_list_columns; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photos_v5_behavior_real_build_row; +#line 1373 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v5_behavior_instance_init (DataImportsFSpotDbFSpotPhotosV5Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photos_v5_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotosV5Behavior * self; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V5_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV5Behavior); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photos_v5_behavior_parent_class)->finalize (obj); +#line 1387 "FSpotPhotosTable.c" +} + + +GType data_imports_fspot_db_fspot_photos_v5_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_v5_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_v5_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosV5BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_v5_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosV5Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_v5_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photos_v5_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photos_v5_behavior_type_id; + data_imports_fspot_db_fspot_photos_v5_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotosV5Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photos_v5_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_v5_behavior_type_id__volatile, data_imports_fspot_db_fspot_photos_v5_behavior_type_id); + } + return data_imports_fspot_db_fspot_photos_v5_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotosV7Behavior * self = NULL; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosV7Behavior*) g_object_new (object_type, NULL); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 1411 "FSpotPhotosTable.c" +} + + +static DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_new (void) { +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_v7_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR); +#line 1418 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosV7Behavior* data_imports_fspot_db_fspot_photos_v7_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotosV7Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotosV7Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotosV7Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotosV7Behavior* _tmp3_ = NULL; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photos_v7_behavior_instance; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp0_ == NULL) { +#line 1431 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotosV7Behavior* _tmp1_ = NULL; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photos_v7_behavior_new (); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photos_v7_behavior_instance); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v7_behavior_instance = _tmp1_; +#line 1439 "FSpotPhotosTable.c" + } +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photos_v7_behavior_instance; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp3_; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1449 "FSpotPhotosTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photos_v7_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotosV7Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7Behavior); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp0_; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1465 "FSpotPhotosTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photos_v7_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotosV7Behavior * 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; + gint _tmp7__length1 = 0; +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7Behavior); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup ("id"); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = g_strdup ("time"); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = g_strdup ("uri"); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = g_strdup ("description"); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = g_strdup ("roll_id"); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = g_strdup ("default_version_id"); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = g_new0 (gchar*, 6 + 1); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[0] = _tmp0_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[1] = _tmp1_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[2] = _tmp2_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[3] = _tmp3_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[4] = _tmp4_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_[5] = _tmp5_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = _tmp6_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7__length1 = 6; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (result_length1) { +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *result_length1 = _tmp7__length1; +#line 1517 "FSpotPhotosTable.c" + } +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp7_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1523 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v7_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotosV7Behavior * self; + DataImportsFSpotDbFSpotPhotoRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gchar* full_path = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp22_ = NULL; + sqlite3_stmt* _tmp23_ = NULL; + gint _tmp24_ = 0; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp27_ = NULL; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint64 _tmp30_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint64 _tmp34_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp35_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7Behavior); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_if_fail (stmt != NULL); +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_row_new (); +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _vala_row = _tmp0_; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = _vala_row; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = stmt; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = offset; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = _vala_row; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = stmt; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = offset; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_->time = (time_t) _tmp8_; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = stmt; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = offset; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp11_ = sqlite3_column_text (_tmp9_, _tmp10_ + 2); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + full_path = _tmp12_; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp13_ = full_path; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp13_ != NULL) { +#line 1605 "FSpotPhotosTable.c" + GFile* uri = NULL; + const gchar* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp14_ = full_path; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp15_ = g_file_new_for_uri (_tmp14_); +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + uri = _tmp15_; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_ = _vala_row; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = uri; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp18_ = g_file_get_parent (_tmp17_); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp16_->base_path); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_->base_path = _tmp18_; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_ = _vala_row; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_ = uri; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp21_ = g_file_get_basename (_tmp20_); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp19_->filename); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_->filename = _tmp21_; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (uri); +#line 1643 "FSpotPhotosTable.c" + } +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_ = _vala_row; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_ = stmt; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp24_ = offset; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp25_ = sqlite3_column_text (_tmp23_, _tmp24_ + 3); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_ = g_strdup (_tmp25_); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp22_->description); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_->description = _tmp26_; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_ = _vala_row; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp28_ = stmt; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp29_ = offset; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp30_ = sqlite3_column_int64 (_tmp28_, _tmp29_ + 4); +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_->roll_id = _tmp30_; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_ = _vala_row; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_ = stmt; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp33_ = offset; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp34_ = sqlite3_column_int64 (_tmp32_, _tmp33_ + 5); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_->default_version_id = _tmp34_; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_ = _vala_row; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_->rating = 0; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_ = _vala_row; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_ = g_strdup (""); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp36_->md5_sum); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_->md5_sum = _tmp37_; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (full_path); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (row) { +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *row = _vala_row; +#line 1697 "FSpotPhotosTable.c" + } else { +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 1701 "FSpotPhotosTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photos_v7_behavior_class_init (DataImportsFSpotDbFSpotPhotosV7BehaviorClass * klass) { +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v7_behavior_parent_class = g_type_class_peek_parent (klass); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photos_v7_behavior_finalize; +#line 1711 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v7_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v7_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photos_v7_behavior_real_get_table_name; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photos_v7_behavior_real_list_columns; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photos_v7_behavior_real_build_row; +#line 1724 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v7_behavior_instance_init (DataImportsFSpotDbFSpotPhotosV7Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photos_v7_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotosV7Behavior * self; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V7_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV7Behavior); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photos_v7_behavior_parent_class)->finalize (obj); +#line 1738 "FSpotPhotosTable.c" +} + + +GType data_imports_fspot_db_fspot_photos_v7_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_v7_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_v7_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosV7BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_v7_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosV7Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_v7_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photos_v7_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photos_v7_behavior_type_id; + data_imports_fspot_db_fspot_photos_v7_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotosV7Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photos_v7_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_v7_behavior_type_id__volatile, data_imports_fspot_db_fspot_photos_v7_behavior_type_id); + } + return data_imports_fspot_db_fspot_photos_v7_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotosV11Behavior * self = NULL; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosV11Behavior*) g_object_new (object_type, NULL); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 1762 "FSpotPhotosTable.c" +} + + +static DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_new (void) { +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_v11_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR); +#line 1769 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosV11Behavior* data_imports_fspot_db_fspot_photos_v11_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotosV11Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotosV11Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotosV11Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotosV11Behavior* _tmp3_ = NULL; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photos_v11_behavior_instance; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp0_ == NULL) { +#line 1782 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotosV11Behavior* _tmp1_ = NULL; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photos_v11_behavior_new (); +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photos_v11_behavior_instance); +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v11_behavior_instance = _tmp1_; +#line 1790 "FSpotPhotosTable.c" + } +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photos_v11_behavior_instance; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp3_; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1800 "FSpotPhotosTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photos_v11_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotosV11Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11Behavior); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp0_; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1816 "FSpotPhotosTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photos_v11_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotosV11Behavior * 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; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 201 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11Behavior); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup ("id"); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = g_strdup ("time"); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = g_strdup ("uri"); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = g_strdup ("description"); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = g_strdup ("roll_id"); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = g_strdup ("default_version_id"); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = g_strdup ("rating"); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = g_new0 (gchar*, 7 + 1); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[0] = _tmp0_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[1] = _tmp1_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[2] = _tmp2_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[3] = _tmp3_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[4] = _tmp4_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[5] = _tmp5_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_[6] = _tmp6_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = _tmp7_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8__length1 = 7; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (result_length1) { +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *result_length1 = _tmp8__length1; +#line 1873 "FSpotPhotosTable.c" + } +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp8_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 1879 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v11_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotosV11Behavior * self; + DataImportsFSpotDbFSpotPhotoRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gchar* full_path = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp22_ = NULL; + sqlite3_stmt* _tmp23_ = NULL; + gint _tmp24_ = 0; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp27_ = NULL; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint64 _tmp30_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint64 _tmp34_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp35_ = NULL; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11Behavior); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_if_fail (stmt != NULL); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_row_new (); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _vala_row = _tmp0_; +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = _vala_row; +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = stmt; +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = offset; +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = _vala_row; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = stmt; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = offset; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_->time = (time_t) _tmp8_; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = stmt; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = offset; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp11_ = sqlite3_column_text (_tmp9_, _tmp10_ + 2); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + full_path = _tmp12_; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp13_ = full_path; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp13_ != NULL) { +#line 1964 "FSpotPhotosTable.c" + GFile* uri = NULL; + const gchar* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp14_ = full_path; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp15_ = g_file_new_for_uri (_tmp14_); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + uri = _tmp15_; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_ = _vala_row; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = uri; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp18_ = g_file_get_parent (_tmp17_); +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp16_->base_path); +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_->base_path = _tmp18_; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_ = _vala_row; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_ = uri; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp21_ = g_file_get_basename (_tmp20_); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp19_->filename); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_->filename = _tmp21_; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (uri); +#line 2002 "FSpotPhotosTable.c" + } +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_ = _vala_row; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_ = stmt; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp24_ = offset; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp25_ = sqlite3_column_text (_tmp23_, _tmp24_ + 3); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_ = g_strdup (_tmp25_); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp22_->description); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_->description = _tmp26_; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_ = _vala_row; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp28_ = stmt; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp29_ = offset; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp30_ = sqlite3_column_int64 (_tmp28_, _tmp29_ + 4); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_->roll_id = _tmp30_; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_ = _vala_row; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_ = stmt; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp33_ = offset; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp34_ = sqlite3_column_int64 (_tmp32_, _tmp33_ + 5); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_->default_version_id = _tmp34_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_ = _vala_row; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_ = stmt; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_ = offset; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp38_ = sqlite3_column_int (_tmp36_, _tmp37_ + 6); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_->rating = _tmp38_; +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_ = _vala_row; +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp40_ = g_strdup (""); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp39_->md5_sum); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_->md5_sum = _tmp40_; +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (full_path); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (row) { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *row = _vala_row; +#line 2062 "FSpotPhotosTable.c" + } else { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 2066 "FSpotPhotosTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photos_v11_behavior_class_init (DataImportsFSpotDbFSpotPhotosV11BehaviorClass * klass) { +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v11_behavior_parent_class = g_type_class_peek_parent (klass); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photos_v11_behavior_finalize; +#line 2076 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v11_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v11_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photos_v11_behavior_real_get_table_name; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photos_v11_behavior_real_list_columns; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photos_v11_behavior_real_build_row; +#line 2089 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v11_behavior_instance_init (DataImportsFSpotDbFSpotPhotosV11Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photos_v11_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotosV11Behavior * self; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V11_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV11Behavior); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photos_v11_behavior_parent_class)->finalize (obj); +#line 2103 "FSpotPhotosTable.c" +} + + +GType data_imports_fspot_db_fspot_photos_v11_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_v11_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_v11_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosV11BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_v11_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosV11Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_v11_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photos_v11_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photos_v11_behavior_type_id; + data_imports_fspot_db_fspot_photos_v11_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotosV11Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photos_v11_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_v11_behavior_type_id__volatile, data_imports_fspot_db_fspot_photos_v11_behavior_type_id); + } + return data_imports_fspot_db_fspot_photos_v11_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotosV16Behavior * self = NULL; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosV16Behavior*) g_object_new (object_type, NULL); +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 2127 "FSpotPhotosTable.c" +} + + +static DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_new (void) { +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_v16_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR); +#line 2134 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosV16Behavior* data_imports_fspot_db_fspot_photos_v16_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotosV16Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotosV16Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotosV16Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotosV16Behavior* _tmp3_ = NULL; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photos_v16_behavior_instance; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp0_ == NULL) { +#line 2147 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotosV16Behavior* _tmp1_ = NULL; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photos_v16_behavior_new (); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photos_v16_behavior_instance); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v16_behavior_instance = _tmp1_; +#line 2155 "FSpotPhotosTable.c" + } +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photos_v16_behavior_instance; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp3_; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2165 "FSpotPhotosTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photos_v16_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotosV16Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16Behavior); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp0_; +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2181 "FSpotPhotosTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photos_v16_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotosV16Behavior * 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; + gchar** _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16Behavior); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup ("id"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = g_strdup ("time"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = g_strdup ("uri"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = g_strdup ("description"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = g_strdup ("roll_id"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = g_strdup ("default_version_id"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = g_strdup ("rating"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = g_strdup ("md5_sum"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = g_new0 (gchar*, 8 + 1); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[0] = _tmp0_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[1] = _tmp1_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[2] = _tmp2_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[3] = _tmp3_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[4] = _tmp4_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[5] = _tmp5_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[6] = _tmp6_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[7] = _tmp7_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = _tmp8_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9__length1 = 8; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (result_length1) { +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *result_length1 = _tmp9__length1; +#line 2243 "FSpotPhotosTable.c" + } +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp9_; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2249 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v16_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotosV16Behavior * self; + DataImportsFSpotDbFSpotPhotoRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gchar* full_path = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp22_ = NULL; + sqlite3_stmt* _tmp23_ = NULL; + gint _tmp24_ = 0; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp27_ = NULL; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint64 _tmp30_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint64 _tmp34_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp35_ = NULL; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp39_ = NULL; + sqlite3_stmt* _tmp40_ = NULL; + gint _tmp41_ = 0; + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16Behavior); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_if_fail (stmt != NULL); +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_row_new (); +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _vala_row = _tmp0_; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = _vala_row; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = stmt; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = offset; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = _vala_row; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = stmt; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = offset; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_->time = (time_t) _tmp8_; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = stmt; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = offset; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp11_ = sqlite3_column_text (_tmp9_, _tmp10_ + 2); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + full_path = _tmp12_; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp13_ = full_path; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp13_ != NULL) { +#line 2337 "FSpotPhotosTable.c" + GFile* uri = NULL; + const gchar* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp14_ = full_path; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp15_ = g_file_new_for_uri (_tmp14_); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + uri = _tmp15_; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_ = _vala_row; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = uri; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp18_ = g_file_get_parent (_tmp17_); +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp16_->base_path); +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_->base_path = _tmp18_; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_ = _vala_row; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_ = uri; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp21_ = g_file_get_basename (_tmp20_); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp19_->filename); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_->filename = _tmp21_; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (uri); +#line 2375 "FSpotPhotosTable.c" + } +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_ = _vala_row; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_ = stmt; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp24_ = offset; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp25_ = sqlite3_column_text (_tmp23_, _tmp24_ + 3); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_ = g_strdup (_tmp25_); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp22_->description); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_->description = _tmp26_; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_ = _vala_row; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp28_ = stmt; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp29_ = offset; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp30_ = sqlite3_column_int64 (_tmp28_, _tmp29_ + 4); +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_->roll_id = _tmp30_; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_ = _vala_row; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_ = stmt; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp33_ = offset; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp34_ = sqlite3_column_int64 (_tmp32_, _tmp33_ + 5); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_->default_version_id = _tmp34_; +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_ = _vala_row; +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_ = stmt; +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_ = offset; +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp38_ = sqlite3_column_int (_tmp36_, _tmp37_ + 6); +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_->rating = _tmp38_; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_ = _vala_row; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp40_ = stmt; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp41_ = offset; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp42_ = sqlite3_column_text (_tmp40_, _tmp41_ + 7); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp43_ = g_strdup (_tmp42_); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp39_->md5_sum); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_->md5_sum = _tmp43_; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (full_path); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (row) { +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *row = _vala_row; +#line 2441 "FSpotPhotosTable.c" + } else { +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 2445 "FSpotPhotosTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photos_v16_behavior_class_init (DataImportsFSpotDbFSpotPhotosV16BehaviorClass * klass) { +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v16_behavior_parent_class = g_type_class_peek_parent (klass); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photos_v16_behavior_finalize; +#line 2455 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v16_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v16_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photos_v16_behavior_real_get_table_name; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photos_v16_behavior_real_list_columns; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photos_v16_behavior_real_build_row; +#line 2468 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v16_behavior_instance_init (DataImportsFSpotDbFSpotPhotosV16Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photos_v16_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotosV16Behavior * self; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V16_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV16Behavior); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photos_v16_behavior_parent_class)->finalize (obj); +#line 2482 "FSpotPhotosTable.c" +} + + +GType data_imports_fspot_db_fspot_photos_v16_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_v16_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_v16_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosV16BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_v16_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosV16Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_v16_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photos_v16_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photos_v16_behavior_type_id; + data_imports_fspot_db_fspot_photos_v16_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotosV16Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photos_v16_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_v16_behavior_type_id__volatile, data_imports_fspot_db_fspot_photos_v16_behavior_type_id); + } + return data_imports_fspot_db_fspot_photos_v16_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotosV17Behavior * self = NULL; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosV17Behavior*) g_object_new (object_type, NULL); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 2506 "FSpotPhotosTable.c" +} + + +static DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_new (void) { +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_v17_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR); +#line 2513 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosV17Behavior* data_imports_fspot_db_fspot_photos_v17_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotosV17Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotosV17Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotosV17Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotosV17Behavior* _tmp3_ = NULL; +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photos_v17_behavior_instance; +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp0_ == NULL) { +#line 2526 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotosV17Behavior* _tmp1_ = NULL; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photos_v17_behavior_new (); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photos_v17_behavior_instance); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v17_behavior_instance = _tmp1_; +#line 2534 "FSpotPhotosTable.c" + } +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photos_v17_behavior_instance; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp3_; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2544 "FSpotPhotosTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photos_v17_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotosV17Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17Behavior); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp0_; +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2560 "FSpotPhotosTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photos_v17_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotosV17Behavior * 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; + gchar* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17Behavior); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup ("id"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = g_strdup ("time"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = g_strdup ("base_uri"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = g_strdup ("filename"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = g_strdup ("description"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = g_strdup ("roll_id"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = g_strdup ("default_version_id"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = g_strdup ("rating"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = g_strdup ("md5_sum"); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = g_new0 (gchar*, 9 + 1); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[0] = _tmp0_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[1] = _tmp1_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[2] = _tmp2_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[3] = _tmp3_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[4] = _tmp4_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[5] = _tmp5_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[6] = _tmp6_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[7] = _tmp7_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_[8] = _tmp8_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = _tmp9_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10__length1 = 9; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (result_length1) { +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *result_length1 = _tmp10__length1; +#line 2627 "FSpotPhotosTable.c" + } +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp10_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2633 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v17_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotosV17Behavior * self; + DataImportsFSpotDbFSpotPhotoRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gchar* base_path = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* filename = NULL; + sqlite3_stmt* _tmp13_ = NULL; + gint _tmp14_ = 0; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + const gchar* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint64 _tmp34_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp35_ = NULL; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint64 _tmp38_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp39_ = NULL; + sqlite3_stmt* _tmp40_ = NULL; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp43_ = NULL; + sqlite3_stmt* _tmp44_ = NULL; + gint _tmp45_ = 0; + const gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17Behavior); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_if_fail (stmt != NULL); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_row_new (); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _vala_row = _tmp0_; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = _vala_row; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = stmt; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = offset; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = _vala_row; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = stmt; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = offset; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_->time = (time_t) _tmp8_; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = stmt; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = offset; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp11_ = sqlite3_column_text (_tmp9_, _tmp10_ + 2); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + base_path = _tmp12_; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp13_ = stmt; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp14_ = offset; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp15_ = sqlite3_column_text (_tmp13_, _tmp14_ + 3); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + filename = _tmp16_; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp18_ = base_path; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp18_ != NULL) { +#line 2737 "FSpotPhotosTable.c" + const gchar* _tmp19_ = NULL; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_ = filename; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = _tmp19_ != NULL; +#line 2743 "FSpotPhotosTable.c" + } else { +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = FALSE; +#line 2747 "FSpotPhotosTable.c" + } +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp17_) { +#line 2751 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_ = _vala_row; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp21_ = base_path; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_ = g_file_new_for_uri (_tmp21_); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp20_->base_path); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_->base_path = _tmp22_; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_ = _vala_row; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp24_ = filename; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp23_->filename); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_->filename = _tmp25_; +#line 2778 "FSpotPhotosTable.c" + } +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_ = _vala_row; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_ = stmt; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp28_ = offset; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp29_ = sqlite3_column_text (_tmp27_, _tmp28_ + 4); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp26_->description); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_->description = _tmp30_; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_ = _vala_row; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_ = stmt; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp33_ = offset; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp34_ = sqlite3_column_int64 (_tmp32_, _tmp33_ + 5); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_->roll_id = _tmp34_; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_ = _vala_row; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_ = stmt; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_ = offset; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp38_ = sqlite3_column_int64 (_tmp36_, _tmp37_ + 6); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_->default_version_id = _tmp38_; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_ = _vala_row; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp40_ = stmt; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp41_ = offset; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp42_ = sqlite3_column_int (_tmp40_, _tmp41_ + 7); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_->rating = _tmp42_; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp43_ = _vala_row; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp44_ = stmt; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp45_ = offset; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp46_ = sqlite3_column_text (_tmp44_, _tmp45_ + 8); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp47_ = g_strdup (_tmp46_); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp43_->md5_sum); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp43_->md5_sum = _tmp47_; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (filename); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (base_path); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (row) { +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *row = _vala_row; +#line 2846 "FSpotPhotosTable.c" + } else { +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 2850 "FSpotPhotosTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photos_v17_behavior_class_init (DataImportsFSpotDbFSpotPhotosV17BehaviorClass * klass) { +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v17_behavior_parent_class = g_type_class_peek_parent (klass); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photos_v17_behavior_finalize; +#line 2860 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v17_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v17_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photos_v17_behavior_real_get_table_name; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photos_v17_behavior_real_list_columns; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photos_v17_behavior_real_build_row; +#line 2873 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v17_behavior_instance_init (DataImportsFSpotDbFSpotPhotosV17Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photos_v17_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotosV17Behavior * self; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V17_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV17Behavior); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photos_v17_behavior_parent_class)->finalize (obj); +#line 2887 "FSpotPhotosTable.c" +} + + +GType data_imports_fspot_db_fspot_photos_v17_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_v17_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_v17_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosV17BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_v17_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosV17Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_v17_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photos_v17_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photos_v17_behavior_type_id; + data_imports_fspot_db_fspot_photos_v17_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotosV17Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photos_v17_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_v17_behavior_type_id__volatile, data_imports_fspot_db_fspot_photos_v17_behavior_type_id); + } + return data_imports_fspot_db_fspot_photos_v17_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotPhotosV18Behavior * self = NULL; +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = (DataImportsFSpotDbFSpotPhotosV18Behavior*) g_object_new (object_type, NULL); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return self; +#line 2911 "FSpotPhotosTable.c" +} + + +static DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_new (void) { +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return data_imports_fspot_db_fspot_photos_v18_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR); +#line 2918 "FSpotPhotosTable.c" +} + + +DataImportsFSpotDbFSpotPhotosV18Behavior* data_imports_fspot_db_fspot_photos_v18_behavior_get_instance (void) { + DataImportsFSpotDbFSpotPhotosV18Behavior* result = NULL; + DataImportsFSpotDbFSpotPhotosV18Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotosV18Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotosV18Behavior* _tmp3_ = NULL; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photos_v18_behavior_instance; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp0_ == NULL) { +#line 2931 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotosV18Behavior* _tmp1_ = NULL; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_photos_v18_behavior_new (); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_photos_v18_behavior_instance); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v18_behavior_instance = _tmp1_; +#line 2939 "FSpotPhotosTable.c" + } +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_photos_v18_behavior_instance; +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp3_; +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2949 "FSpotPhotosTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_photos_v18_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotPhotosV18Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18Behavior); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_TABLE_NAME); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp0_; +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 2965 "FSpotPhotosTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_photos_v18_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotPhotosV18Behavior * 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; + gchar** _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18Behavior); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = g_strdup ("id"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = g_strdup ("time"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = g_strdup ("base_uri"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = g_strdup ("filename"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = g_strdup ("description"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = g_strdup ("roll_id"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = g_strdup ("default_version_id"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = g_strdup ("rating"); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = g_new0 (gchar*, 8 + 1); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[0] = _tmp0_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[1] = _tmp1_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[2] = _tmp2_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[3] = _tmp3_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[4] = _tmp4_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[5] = _tmp5_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[6] = _tmp6_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_[7] = _tmp7_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = _tmp8_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9__length1 = 8; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (result_length1) { +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *result_length1 = _tmp9__length1; +#line 3027 "FSpotPhotosTable.c" + } +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + result = _tmp9_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + return result; +#line 3033 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v18_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotPhotoRow** row, gint offset) { + DataImportsFSpotDbFSpotPhotosV18Behavior * self; + DataImportsFSpotDbFSpotPhotoRow* _vala_row = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gchar* base_path = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* filename = NULL; + sqlite3_stmt* _tmp13_ = NULL; + gint _tmp14_ = 0; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + const gchar* _tmp18_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint64 _tmp34_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp35_ = NULL; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint64 _tmp38_ = 0LL; + DataImportsFSpotDbFSpotPhotoRow* _tmp39_ = NULL; + sqlite3_stmt* _tmp40_ = NULL; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18Behavior); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + g_return_if_fail (stmt != NULL); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_photo_row_new (); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _vala_row = _tmp0_; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_ = _vala_row; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp2_ = stmt; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp3_ = offset; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp1_->photo_id = _tmp4_; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_ = _vala_row; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp6_ = stmt; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp7_ = offset; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp8_ = sqlite3_column_int64 (_tmp6_, _tmp7_ + 1); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp5_->time = (time_t) _tmp8_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp9_ = stmt; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp10_ = offset; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp11_ = sqlite3_column_text (_tmp9_, _tmp10_ + 2); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + base_path = _tmp12_; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp13_ = stmt; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp14_ = offset; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp15_ = sqlite3_column_text (_tmp13_, _tmp14_ + 3); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + filename = _tmp16_; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp18_ = base_path; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp18_ != NULL) { +#line 3134 "FSpotPhotosTable.c" + const gchar* _tmp19_ = NULL; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp19_ = filename; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = _tmp19_ != NULL; +#line 3140 "FSpotPhotosTable.c" + } else { +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp17_ = FALSE; +#line 3144 "FSpotPhotosTable.c" + } +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (_tmp17_) { +#line 3148 "FSpotPhotosTable.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_ = _vala_row; +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp21_ = base_path; +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp22_ = g_file_new_for_uri (_tmp21_); +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_tmp20_->base_path); +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp20_->base_path = _tmp22_; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_ = _vala_row; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp24_ = filename; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp23_->filename); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp23_->filename = _tmp25_; +#line 3175 "FSpotPhotosTable.c" + } +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_ = _vala_row; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp27_ = stmt; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp28_ = offset; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp29_ = sqlite3_column_text (_tmp27_, _tmp28_ + 4); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp26_->description); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp26_->description = _tmp30_; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_ = _vala_row; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp32_ = stmt; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp33_ = offset; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp34_ = sqlite3_column_int64 (_tmp32_, _tmp33_ + 5); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp31_->roll_id = _tmp34_; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_ = _vala_row; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp36_ = stmt; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp37_ = offset; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp38_ = sqlite3_column_int64 (_tmp36_, _tmp37_ + 6); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp35_->default_version_id = _tmp38_; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_ = _vala_row; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp40_ = stmt; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp41_ = offset; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp42_ = sqlite3_column_int (_tmp40_, _tmp41_ + 7); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp39_->rating = _tmp42_; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp43_ = _vala_row; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp44_ = g_strdup (""); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (_tmp43_->md5_sum); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _tmp43_->md5_sum = _tmp44_; +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (filename); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_free0 (base_path); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + if (row) { +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + *row = _vala_row; +#line 3237 "FSpotPhotosTable.c" + } else { +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + _g_object_unref0 (_vala_row); +#line 3241 "FSpotPhotosTable.c" + } +} + + +static void data_imports_fspot_db_fspot_photos_v18_behavior_class_init (DataImportsFSpotDbFSpotPhotosV18BehaviorClass * klass) { +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v18_behavior_parent_class = g_type_class_peek_parent (klass); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_photos_v18_behavior_finalize; +#line 3251 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v18_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + data_imports_fspot_db_fspot_photos_v18_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_photos_v18_behavior_real_get_table_name; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_photos_v18_behavior_real_list_columns; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_photos_v18_behavior_real_build_row; +#line 3264 "FSpotPhotosTable.c" +} + + +static void data_imports_fspot_db_fspot_photos_v18_behavior_instance_init (DataImportsFSpotDbFSpotPhotosV18Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_photos_v18_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotPhotosV18Behavior * self; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_V18_BEHAVIOR, DataImportsFSpotDbFSpotPhotosV18Behavior); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotPhotosTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_photos_v18_behavior_parent_class)->finalize (obj); +#line 3278 "FSpotPhotosTable.c" +} + + +GType data_imports_fspot_db_fspot_photos_v18_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_photos_v18_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_photos_v18_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotPhotosV18BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_photos_v18_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotPhotosV18Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_photos_v18_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_photos_v18_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_photos_v18_behavior_type_id; + data_imports_fspot_db_fspot_photos_v18_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotPhotosV18Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_photos_v18_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_photos_v18_behavior_type_id__volatile, data_imports_fspot_db_fspot_photos_v18_behavior_type_id); + } + return data_imports_fspot_db_fspot_photos_v18_behavior_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotPhotosTable.vala b/plugins/shotwell-data-imports/FSpotPhotosTable.vala index fdf4c00..39329d4 100644 --- a/plugins/shotwell-data-imports/FSpotPhotosTable.vala +++ b/plugins/shotwell-data-imports/FSpotPhotosTable.vala @@ -25,7 +25,7 @@ public class FSpotPhotoRow : Object { * This class represents the F-Spot photos table. */ public class FSpotPhotosTable : FSpotDatabaseTable { - public static const string TABLE_NAME = "Photos"; + public const string TABLE_NAME = "Photos"; public FSpotPhotosTable(Sqlite.Database db, FSpotDatabaseBehavior db_behavior) { base(db); diff --git a/plugins/shotwell-data-imports/FSpotRollsTable.c b/plugins/shotwell-data-imports/FSpotRollsTable.c new file mode 100644 index 0000000..2814b00 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotRollsTable.c @@ -0,0 +1,995 @@ +/* FSpotRollsTable.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotRollsTable.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW (data_imports_fspot_db_fspot_roll_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) + +typedef struct _DataImportsFSpotDbFSpotRollRow DataImportsFSpotDbFSpotRollRow; +typedef struct _DataImportsFSpotDbFSpotRollRowClass DataImportsFSpotDbFSpotRollRowClass; +typedef struct _DataImportsFSpotDbFSpotRollRowPrivate DataImportsFSpotDbFSpotRollRowPrivate; + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseTablePrivate DataImportsFSpotDbFSpotDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE (data_imports_fspot_db_fspot_rolls_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsTable DataImportsFSpotDbFSpotRollsTable; +typedef struct _DataImportsFSpotDbFSpotRollsTableClass DataImportsFSpotDbFSpotRollsTableClass; +typedef struct _DataImportsFSpotDbFSpotRollsTablePrivate DataImportsFSpotDbFSpotRollsTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR (data_imports_fspot_db_fspot_database_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseBehavior DataImportsFSpotDbFSpotDatabaseBehavior; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass DataImportsFSpotDbFSpotDatabaseBehaviorClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR (data_imports_fspot_db_fspot_rolls_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsV0Behavior DataImportsFSpotDbFSpotRollsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotRollsV0BehaviorClass DataImportsFSpotDbFSpotRollsV0BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotRollsV0BehaviorPrivate DataImportsFSpotDbFSpotRollsV0BehaviorPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR (data_imports_fspot_db_fspot_rolls_v5_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V5_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_V5_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V5_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsV5Behavior DataImportsFSpotDbFSpotRollsV5Behavior; +typedef struct _DataImportsFSpotDbFSpotRollsV5BehaviorClass DataImportsFSpotDbFSpotRollsV5BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotRollsV5BehaviorPrivate DataImportsFSpotDbFSpotRollsV5BehaviorPrivate; + +struct _DataImportsFSpotDbFSpotRollRow { + GObject parent_instance; + DataImportsFSpotDbFSpotRollRowPrivate * priv; + gint64 id; + time_t time; +}; + +struct _DataImportsFSpotDbFSpotRollRowClass { + GObjectClass parent_class; +}; + +struct _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotDatabaseTable { + ImportableDatabaseTable parent_instance; + DataImportsFSpotDbFSpotDatabaseTablePrivate * priv; + sqlite3* fspot_db; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTableClass { + ImportableDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotRollsTable { + DataImportsFSpotDbFSpotDatabaseTable parent_instance; + DataImportsFSpotDbFSpotRollsTablePrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotRollsTableClass { + DataImportsFSpotDbFSpotDatabaseTableClass 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 _DataImportsFSpotDbFSpotRollsV0Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotRollsV0BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotRollsV0BehaviorClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotRollsV5Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotRollsV5BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotRollsV5BehaviorClass { + GObjectClass parent_class; +}; + + +static gpointer data_imports_fspot_db_fspot_roll_row_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_rolls_table_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_rolls_v0_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_instance; +static DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_rolls_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; +static gpointer data_imports_fspot_db_fspot_rolls_v5_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_instance; +static DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_rolls_v5_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; + +GType data_imports_fspot_db_fspot_roll_row_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_roll_row_new (void); +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_roll_row_construct (GType object_type); +static void data_imports_fspot_db_fspot_roll_row_finalize (GObject* obj); +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_rolls_table_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_DUMMY_PROPERTY +}; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_TABLE_NAME "Rolls" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_TABLE_NAME_PRE_V5 "Imports" +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotRollsTable* data_imports_fspot_db_fspot_rolls_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotRollsTable* data_imports_fspot_db_fspot_rolls_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db); +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_rolls_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +GQuark database_error_quark (void); +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_rolls_table_get_by_id (DataImportsFSpotDbFSpotRollsTable* self, gint64 roll_id, GError** error); +gchar* data_imports_fspot_db_fspot_database_table_get_joined_column_list (DataImportsFSpotDbFSpotDatabaseTable* self, gboolean with_table); +void importable_database_table_throw_error (const gchar* method, gint res, GError** error); +void data_imports_fspot_db_fspot_table_behavior_build_row (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +GType data_imports_fspot_db_fspot_rolls_v0_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V0_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_new (void); +static DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_rolls_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_rolls_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_rolls_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotRollRow** row, gint offset); +static void data_imports_fspot_db_fspot_rolls_v0_behavior_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_rolls_v5_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_V5_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_new (void); +static DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_rolls_v5_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_rolls_v5_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_rolls_v5_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotRollRow** row, gint offset); +static void data_imports_fspot_db_fspot_rolls_v5_behavior_finalize (GObject* obj); + + +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_roll_row_construct (GType object_type) { + DataImportsFSpotDbFSpotRollRow * self = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = (DataImportsFSpotDbFSpotRollRow*) g_object_new (object_type, NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return self; +#line 258 "FSpotRollsTable.c" +} + + +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_roll_row_new (void) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return data_imports_fspot_db_fspot_roll_row_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW); +#line 265 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_roll_row_class_init (DataImportsFSpotDbFSpotRollRowClass * klass) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_roll_row_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_roll_row_finalize; +#line 274 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_roll_row_instance_init (DataImportsFSpotDbFSpotRollRow * self) { +} + + +static void data_imports_fspot_db_fspot_roll_row_finalize (GObject* obj) { + DataImportsFSpotDbFSpotRollRow * self; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRow); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_roll_row_parent_class)->finalize (obj); +#line 288 "FSpotRollsTable.c" +} + + +/** + * The value object for the "rolls" table, representing a single database row. + */ +GType data_imports_fspot_db_fspot_roll_row_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_roll_row_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_roll_row_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotRollRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_roll_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotRollRow), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_roll_row_instance_init, NULL }; + GType data_imports_fspot_db_fspot_roll_row_type_id; + data_imports_fspot_db_fspot_roll_row_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotRollRow", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_roll_row_type_id__volatile, data_imports_fspot_db_fspot_roll_row_type_id); + } + return data_imports_fspot_db_fspot_roll_row_type_id__volatile; +} + + +DataImportsFSpotDbFSpotRollsTable* data_imports_fspot_db_fspot_rolls_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { + DataImportsFSpotDbFSpotRollsTable* self = NULL; + sqlite3* _tmp0_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp1_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp3_ = NULL; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_return_val_if_fail (db != NULL, NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (db_behavior), NULL); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = db; +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = (DataImportsFSpotDbFSpotRollsTable*) data_imports_fspot_db_fspot_database_table_construct (object_type, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = db_behavior; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_behavior_get_rolls_behavior (_tmp1_); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = _tmp2_; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_database_table_set_behavior (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), _tmp3_); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (_tmp3_); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return self; +#line 333 "FSpotRollsTable.c" +} + + +DataImportsFSpotDbFSpotRollsTable* data_imports_fspot_db_fspot_rolls_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return data_imports_fspot_db_fspot_rolls_table_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, db, db_behavior); +#line 340 "FSpotRollsTable.c" +} + + +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_rolls_table_get_by_id (DataImportsFSpotDbFSpotRollsTable* self, gint64 roll_id, GError** error) { + DataImportsFSpotDbFSpotRollRow* result = NULL; + sqlite3_stmt* stmt = NULL; + DataImportsFSpotDbFSpotRollRow* row = NULL; + gchar* column_list = NULL; + gchar* _tmp0_ = NULL; + gchar* sql = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint res = 0; + sqlite3* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + sqlite3_stmt* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + GError * _inner_error_ = NULL; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE (self), NULL); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + row = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_database_table_get_joined_column_list (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), FALSE); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + column_list = _tmp0_; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = column_list; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = g_strdup_printf ("SELECT %s FROM %s WHERE id=?", _tmp1_, _tmp2_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + sql = _tmp3_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->fspot_db; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp5_ = sql; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp7_ = sqlite3_prepare_v2 (_tmp4_, _tmp5_, -1, &_tmp6_, NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _sqlite3_finalize0 (stmt); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + stmt = _tmp6_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + res = _tmp7_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp8_ = res; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_tmp8_ != SQLITE_OK) { +#line 400 "FSpotRollsTable.c" + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp9_ = sql; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp10_ = g_strdup_printf ("Statement failed: %s", _tmp9_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp11_ = _tmp10_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp12_ = res; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + importable_database_table_throw_error (_tmp11_, _tmp12_, &_inner_error_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (_tmp11_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_propagate_error (error, _inner_error_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (sql); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (column_list); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (row); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _sqlite3_finalize0 (stmt); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return NULL; +#line 433 "FSpotRollsTable.c" + } else { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (sql); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (column_list); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (row); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _sqlite3_finalize0 (stmt); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_clear_error (&_inner_error_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return NULL; +#line 449 "FSpotRollsTable.c" + } + } + } +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp13_ = stmt; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp14_ = roll_id; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp15_ = sqlite3_bind_int64 (_tmp13_, 1, _tmp14_); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + res = _tmp15_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp16_ = res; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_tmp16_ != SQLITE_OK) { +#line 465 "FSpotRollsTable.c" + gint _tmp17_ = 0; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp17_ = res; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + importable_database_table_throw_error ("Bind failed for roll_id", _tmp17_, &_inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_propagate_error (error, _inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (sql); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (column_list); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (row); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _sqlite3_finalize0 (stmt); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return NULL; +#line 487 "FSpotRollsTable.c" + } else { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (sql); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (column_list); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (row); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _sqlite3_finalize0 (stmt); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_clear_error (&_inner_error_); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return NULL; +#line 503 "FSpotRollsTable.c" + } + } + } +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp18_ = stmt; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp19_ = sqlite3_step (_tmp18_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + res = _tmp19_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp20_ = res; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_tmp20_ == SQLITE_ROW) { +#line 517 "FSpotRollsTable.c" + DataImportsFSpotDbFSpotTableBehavior* _tmp21_ = NULL; + sqlite3_stmt* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp21_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->behavior; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp22_ = stmt; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_table_behavior_build_row (_tmp21_, _tmp22_, &_tmp23_, 0); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (row); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + row = _tmp23_; +#line 531 "FSpotRollsTable.c" + } else { + gint _tmp24_ = 0; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp24_ = res; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_tmp24_ == SQLITE_DONE) { +#line 538 "FSpotRollsTable.c" + gint64 _tmp25_ = 0LL; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp25_ = roll_id; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_message ("FSpotRollsTable.vala:47: Could not find roll row with ID %d", (gint) _tmp25_); +#line 544 "FSpotRollsTable.c" + } + } +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + result = row; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (sql); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_free0 (column_list); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _sqlite3_finalize0 (stmt); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return result; +#line 557 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_table_class_init (DataImportsFSpotDbFSpotRollsTableClass * klass) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_rolls_table_parent_class = g_type_class_peek_parent (klass); +#line 564 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_table_instance_init (DataImportsFSpotDbFSpotRollsTable * self) { +} + + +/** + * This class represents the F-Spot rolls table. + */ +GType data_imports_fspot_db_fspot_rolls_table_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_rolls_table_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_rolls_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotRollsTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_rolls_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotRollsTable), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_rolls_table_instance_init, NULL }; + GType data_imports_fspot_db_fspot_rolls_table_type_id; + data_imports_fspot_db_fspot_rolls_table_type_id = g_type_register_static (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, "DataImportsFSpotDbFSpotRollsTable", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_rolls_table_type_id__volatile, data_imports_fspot_db_fspot_rolls_table_type_id); + } + return data_imports_fspot_db_fspot_rolls_table_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotRollsV0Behavior * self = NULL; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = (DataImportsFSpotDbFSpotRollsV0Behavior*) g_object_new (object_type, NULL); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return self; +#line 593 "FSpotRollsTable.c" +} + + +static DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_new (void) { +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return data_imports_fspot_db_fspot_rolls_v0_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR); +#line 600 "FSpotRollsTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return self ? g_object_ref (self) : NULL; +#line 607 "FSpotRollsTable.c" +} + + +DataImportsFSpotDbFSpotRollsV0Behavior* data_imports_fspot_db_fspot_rolls_v0_behavior_get_instance (void) { + DataImportsFSpotDbFSpotRollsV0Behavior* result = NULL; + DataImportsFSpotDbFSpotRollsV0Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotRollsV0Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotRollsV0Behavior* _tmp3_ = NULL; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_rolls_v0_behavior_instance; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_tmp0_ == NULL) { +#line 620 "FSpotRollsTable.c" + DataImportsFSpotDbFSpotRollsV0Behavior* _tmp1_ = NULL; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_rolls_v0_behavior_new (); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_rolls_v0_behavior_instance); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_rolls_v0_behavior_instance = _tmp1_; +#line 628 "FSpotRollsTable.c" + } +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_rolls_v0_behavior_instance; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + result = _tmp3_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return result; +#line 638 "FSpotRollsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_rolls_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotRollsV0Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0Behavior); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_TABLE_NAME_PRE_V5); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + result = _tmp0_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return result; +#line 654 "FSpotRollsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_rolls_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotRollsV0Behavior * self; + gchar** result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0Behavior); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = g_strdup ("id"); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = g_strdup ("time"); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = g_new0 (gchar*, 2 + 1); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_[0] = _tmp0_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_[1] = _tmp1_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = _tmp2_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3__length1 = 2; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (result_length1) { +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + *result_length1 = _tmp3__length1; +#line 686 "FSpotRollsTable.c" + } +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + result = _tmp3_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return result; +#line 692 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotRollRow** row, gint offset) { + DataImportsFSpotDbFSpotRollsV0Behavior * self; + DataImportsFSpotDbFSpotRollRow* _vala_row = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint64 _tmp3_ = 0LL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint64 _tmp6_ = 0LL; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0Behavior); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_return_if_fail (stmt != NULL); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_roll_row_new (); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (_vala_row); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _vala_row = _tmp0_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = stmt; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = offset; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = sqlite3_column_int64 (_tmp1_, _tmp2_ + 0); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _vala_row->id = _tmp3_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp4_ = stmt; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp5_ = offset; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp6_ = sqlite3_column_int64 (_tmp4_, _tmp5_ + 1); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _vala_row->time = (time_t) _tmp6_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (row) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + *row = _vala_row; +#line 736 "FSpotRollsTable.c" + } else { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (_vala_row); +#line 740 "FSpotRollsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_rolls_v0_behavior_class_init (DataImportsFSpotDbFSpotRollsV0BehaviorClass * klass) { +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_rolls_v0_behavior_parent_class = g_type_class_peek_parent (klass); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_rolls_v0_behavior_finalize; +#line 750 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_rolls_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_rolls_v0_behavior_real_get_table_name; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_rolls_v0_behavior_real_list_columns; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_rolls_v0_behavior_real_build_row; +#line 763 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_v0_behavior_instance_init (DataImportsFSpotDbFSpotRollsV0Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_rolls_v0_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotRollsV0Behavior * self; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V0_BEHAVIOR, DataImportsFSpotDbFSpotRollsV0Behavior); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_rolls_v0_behavior_parent_class)->finalize (obj); +#line 777 "FSpotRollsTable.c" +} + + +GType data_imports_fspot_db_fspot_rolls_v0_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_rolls_v0_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_rolls_v0_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotRollsV0BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_rolls_v0_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotRollsV0Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_rolls_v0_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_rolls_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_rolls_v0_behavior_type_id; + data_imports_fspot_db_fspot_rolls_v0_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotRollsV0Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_rolls_v0_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_rolls_v0_behavior_type_id__volatile, data_imports_fspot_db_fspot_rolls_v0_behavior_type_id); + } + return data_imports_fspot_db_fspot_rolls_v0_behavior_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotRollsV5Behavior * self = NULL; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = (DataImportsFSpotDbFSpotRollsV5Behavior*) g_object_new (object_type, NULL); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return self; +#line 801 "FSpotRollsTable.c" +} + + +static DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_new (void) { +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return data_imports_fspot_db_fspot_rolls_v5_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR); +#line 808 "FSpotRollsTable.c" +} + + +DataImportsFSpotDbFSpotRollsV5Behavior* data_imports_fspot_db_fspot_rolls_v5_behavior_get_instance (void) { + DataImportsFSpotDbFSpotRollsV5Behavior* result = NULL; + DataImportsFSpotDbFSpotRollsV5Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotRollsV5Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotRollsV5Behavior* _tmp3_ = NULL; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_rolls_v5_behavior_instance; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (_tmp0_ == NULL) { +#line 821 "FSpotRollsTable.c" + DataImportsFSpotDbFSpotRollsV5Behavior* _tmp1_ = NULL; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_rolls_v5_behavior_new (); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_rolls_v5_behavior_instance); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_rolls_v5_behavior_instance = _tmp1_; +#line 829 "FSpotRollsTable.c" + } +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_rolls_v5_behavior_instance; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + result = _tmp3_; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return result; +#line 839 "FSpotRollsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_rolls_v5_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotRollsV5Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5Behavior); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_TABLE_NAME); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + result = _tmp0_; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return result; +#line 855 "FSpotRollsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_rolls_v5_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotRollsV5Behavior * self; + gchar** result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5Behavior); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = g_strdup ("id"); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = g_strdup ("time"); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = g_new0 (gchar*, 2 + 1); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_[0] = _tmp0_; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_[1] = _tmp1_; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = _tmp2_; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3__length1 = 2; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (result_length1) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + *result_length1 = _tmp3__length1; +#line 887 "FSpotRollsTable.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + result = _tmp3_; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + return result; +#line 893 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_v5_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotRollRow** row, gint offset) { + DataImportsFSpotDbFSpotRollsV5Behavior * self; + DataImportsFSpotDbFSpotRollRow* _vala_row = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint64 _tmp3_ = 0LL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint64 _tmp6_ = 0LL; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5Behavior); +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + g_return_if_fail (stmt != NULL); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_roll_row_new (); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (_vala_row); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _vala_row = _tmp0_; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp1_ = stmt; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp2_ = offset; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp3_ = sqlite3_column_int64 (_tmp1_, _tmp2_ + 0); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _vala_row->id = _tmp3_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp4_ = stmt; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp5_ = offset; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _tmp6_ = sqlite3_column_int64 (_tmp4_, _tmp5_ + 1); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _vala_row->time = (time_t) _tmp6_; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + if (row) { +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + *row = _vala_row; +#line 937 "FSpotRollsTable.c" + } else { +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + _g_object_unref0 (_vala_row); +#line 941 "FSpotRollsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_rolls_v5_behavior_class_init (DataImportsFSpotDbFSpotRollsV5BehaviorClass * klass) { +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_rolls_v5_behavior_parent_class = g_type_class_peek_parent (klass); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_rolls_v5_behavior_finalize; +#line 951 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_v5_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + data_imports_fspot_db_fspot_rolls_v5_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_rolls_v5_behavior_real_get_table_name; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_rolls_v5_behavior_real_list_columns; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_rolls_v5_behavior_real_build_row; +#line 964 "FSpotRollsTable.c" +} + + +static void data_imports_fspot_db_fspot_rolls_v5_behavior_instance_init (DataImportsFSpotDbFSpotRollsV5Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_rolls_v5_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotRollsV5Behavior * self; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_V5_BEHAVIOR, DataImportsFSpotDbFSpotRollsV5Behavior); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotRollsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_rolls_v5_behavior_parent_class)->finalize (obj); +#line 978 "FSpotRollsTable.c" +} + + +GType data_imports_fspot_db_fspot_rolls_v5_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_rolls_v5_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_rolls_v5_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotRollsV5BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_rolls_v5_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotRollsV5Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_rolls_v5_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_rolls_v5_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_rolls_v5_behavior_type_id; + data_imports_fspot_db_fspot_rolls_v5_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotRollsV5Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_rolls_v5_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_rolls_v5_behavior_type_id__volatile, data_imports_fspot_db_fspot_rolls_v5_behavior_type_id); + } + return data_imports_fspot_db_fspot_rolls_v5_behavior_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotRollsTable.vala b/plugins/shotwell-data-imports/FSpotRollsTable.vala index 850b47f..8a5ee8c 100644 --- a/plugins/shotwell-data-imports/FSpotRollsTable.vala +++ b/plugins/shotwell-data-imports/FSpotRollsTable.vala @@ -18,8 +18,8 @@ public class FSpotRollRow : Object { * This class represents the F-Spot rolls table. */ public class FSpotRollsTable : FSpotDatabaseTable { - public static const string TABLE_NAME = "Rolls"; - public static const string TABLE_NAME_PRE_V5 = "Imports"; + public const string TABLE_NAME = "Rolls"; + public const string TABLE_NAME_PRE_V5 = "Imports"; public FSpotRollsTable(Sqlite.Database db, FSpotDatabaseBehavior db_behavior) { base(db); diff --git a/plugins/shotwell-data-imports/FSpotTableBehavior.c b/plugins/shotwell-data-imports/FSpotTableBehavior.c new file mode 100644 index 0000000..77543b8 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotTableBehavior.c @@ -0,0 +1,102 @@ +/* FSpotTableBehavior.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotTableBehavior.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + + + +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +gchar* data_imports_fspot_db_fspot_table_behavior_get_table_name (DataImportsFSpotDbFSpotTableBehavior* self); +gchar** data_imports_fspot_db_fspot_table_behavior_list_columns (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); +void data_imports_fspot_db_fspot_table_behavior_build_row (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); + + +gchar* data_imports_fspot_db_fspot_table_behavior_get_table_name (DataImportsFSpotDbFSpotTableBehavior* self) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR (self), NULL); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + return DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE (self)->get_table_name (self); +#line 46 "FSpotTableBehavior.c" +} + + +gchar** data_imports_fspot_db_fspot_table_behavior_list_columns (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1) { +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR (self), NULL); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + return DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE (self)->list_columns (self, result_length1); +#line 55 "FSpotTableBehavior.c" +} + + +void data_imports_fspot_db_fspot_table_behavior_build_row (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset) { +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + g_return_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR (self)); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE (self)->build_row (self, stmt, row, offset); +#line 64 "FSpotTableBehavior.c" +} + + +static void data_imports_fspot_db_fspot_table_behavior_base_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + static gboolean initialized = FALSE; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + if (!initialized) { +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTableBehavior.vala" + initialized = TRUE; +#line 75 "FSpotTableBehavior.c" + } +} + + +/** + * This class defines a generic table behavior. In practice, it implements + * the concept of a DAO (Data Access Object) in ORM terms and is responsible + * for transforming the data extracted from a relational statement into a + * lightweight value object. + * + * The type T defined in the generic is the value object type a behavior + * implementation is designed to handle. Value object types are designed to + * contain the data for a single database row. + */ +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_table_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_table_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotTableBehaviorIface), (GBaseInitFunc) data_imports_fspot_db_fspot_table_behavior_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType data_imports_fspot_db_fspot_table_behavior_type_id; + data_imports_fspot_db_fspot_table_behavior_type_id = g_type_register_static (G_TYPE_INTERFACE, "DataImportsFSpotDbFSpotTableBehavior", &g_define_type_info, 0); + g_type_interface_add_prerequisite (data_imports_fspot_db_fspot_table_behavior_type_id, G_TYPE_OBJECT); + g_once_init_leave (&data_imports_fspot_db_fspot_table_behavior_type_id__volatile, data_imports_fspot_db_fspot_table_behavior_type_id); + } + return data_imports_fspot_db_fspot_table_behavior_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotTagsTable.c b/plugins/shotwell-data-imports/FSpotTagsTable.c new file mode 100644 index 0000000..93805e4 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotTagsTable.c @@ -0,0 +1,1169 @@ +/* FSpotTagsTable.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotTagsTable.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 DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW (data_imports_fspot_db_fspot_tag_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) + +typedef struct _DataImportsFSpotDbFSpotTagRow DataImportsFSpotDbFSpotTagRow; +typedef struct _DataImportsFSpotDbFSpotTagRowClass DataImportsFSpotDbFSpotTagRowClass; +typedef struct _DataImportsFSpotDbFSpotTagRowPrivate DataImportsFSpotDbFSpotTagRowPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; +typedef struct _DataImportsFSpotDbFSpotDatabaseTablePrivate DataImportsFSpotDbFSpotDatabaseTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR (data_imports_fspot_db_fspot_table_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehavior)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TABLE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TABLE_BEHAVIOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, DataImportsFSpotDbFSpotTableBehaviorIface)) + +typedef struct _DataImportsFSpotDbFSpotTableBehavior DataImportsFSpotDbFSpotTableBehavior; +typedef struct _DataImportsFSpotDbFSpotTableBehaviorIface DataImportsFSpotDbFSpotTableBehaviorIface; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE (data_imports_fspot_db_fspot_tags_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotTagsTable DataImportsFSpotDbFSpotTagsTable; +typedef struct _DataImportsFSpotDbFSpotTagsTableClass DataImportsFSpotDbFSpotTagsTableClass; +typedef struct _DataImportsFSpotDbFSpotTagsTablePrivate DataImportsFSpotDbFSpotTagsTablePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW (data_imports_fspot_db_fspot_photo_tag_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_TAG_ROW, DataImportsFSpotDbFSpotPhotoTagRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoTagRow DataImportsFSpotDbFSpotPhotoTagRow; +typedef struct _DataImportsFSpotDbFSpotPhotoTagRowClass DataImportsFSpotDbFSpotPhotoTagRowClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR (data_imports_fspot_db_fspot_database_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_BEHAVIOR, DataImportsFSpotDbFSpotDatabaseBehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseBehavior DataImportsFSpotDbFSpotDatabaseBehavior; +typedef struct _DataImportsFSpotDbFSpotDatabaseBehaviorClass DataImportsFSpotDbFSpotDatabaseBehaviorClass; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR (data_imports_fspot_db_fspot_tags_v0_behavior_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0Behavior)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0BehaviorClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_V0_BEHAVIOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_V0_BEHAVIOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_V0_BEHAVIOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0BehaviorClass)) + +typedef struct _DataImportsFSpotDbFSpotTagsV0Behavior DataImportsFSpotDbFSpotTagsV0Behavior; +typedef struct _DataImportsFSpotDbFSpotTagsV0BehaviorClass DataImportsFSpotDbFSpotTagsV0BehaviorClass; +typedef struct _DataImportsFSpotDbFSpotTagsV0BehaviorPrivate DataImportsFSpotDbFSpotTagsV0BehaviorPrivate; +#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 _DataImportsFSpotDbFSpotTagRow { + GObject parent_instance; + DataImportsFSpotDbFSpotTagRowPrivate * priv; + gint64 tag_id; + gchar* name; + gint64 category_id; + gboolean is_category; + gint sort_priority; + gchar* stock_icon; +}; + +struct _DataImportsFSpotDbFSpotTagRowClass { + GObjectClass parent_class; +}; + +struct _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _DataImportsFSpotDbFSpotTableBehaviorIface { + GTypeInterface parent_iface; + gchar* (*get_table_name) (DataImportsFSpotDbFSpotTableBehavior* self); + gchar** (*list_columns) (DataImportsFSpotDbFSpotTableBehavior* self, int* result_length1); + void (*build_row) (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +}; + +struct _DataImportsFSpotDbFSpotDatabaseTable { + ImportableDatabaseTable parent_instance; + DataImportsFSpotDbFSpotDatabaseTablePrivate * priv; + sqlite3* fspot_db; + DataImportsFSpotDbFSpotTableBehavior* behavior; +}; + +struct _DataImportsFSpotDbFSpotDatabaseTableClass { + ImportableDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotTagsTable { + DataImportsFSpotDbFSpotDatabaseTable parent_instance; + DataImportsFSpotDbFSpotTagsTablePrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotTagsTableClass { + DataImportsFSpotDbFSpotDatabaseTableClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotTagsTablePrivate { + DataImportsFSpotDbFSpotTableBehavior* photo_tags_behavior; +}; + +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 _DataImportsFSpotDbFSpotTagsV0Behavior { + GObject parent_instance; + DataImportsFSpotDbFSpotTagsV0BehaviorPrivate * priv; +}; + +struct _DataImportsFSpotDbFSpotTagsV0BehaviorClass { + GObjectClass parent_class; +}; + + +static gpointer data_imports_fspot_db_fspot_tag_row_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_tags_table_parent_class = NULL; +static gpointer data_imports_fspot_db_fspot_tags_v0_behavior_parent_class = NULL; +static DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_instance; +static DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_instance = NULL; +static DataImportsFSpotDbFSpotTableBehaviorIface* data_imports_fspot_db_fspot_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = NULL; + +GType data_imports_fspot_db_fspot_tag_row_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_DUMMY_PROPERTY +}; +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tag_row_new (void); +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tag_row_construct (GType object_type); +static void data_imports_fspot_db_fspot_tag_row_finalize (GObject* obj); +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_table_behavior_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_tags_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_tag_row_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTablePrivate)) +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_DUMMY_PROPERTY +}; +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_TABLE_NAME "Tags" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON "stock_icon:" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_FAV "stock_icon:emblem-favorite" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_PEOPLE "stock_icon:emblem-people" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_PLACES "stock_icon:emblem-places" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_EVENTS "stock_icon:emblem-event" +GType data_imports_fspot_db_fspot_database_behavior_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotTagsTable* data_imports_fspot_db_fspot_tags_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotTagsTable* data_imports_fspot_db_fspot_tags_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior); +DataImportsFSpotDbFSpotDatabaseTable* data_imports_fspot_db_fspot_database_table_construct (GType object_type, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, sqlite3* db); +void data_imports_fspot_db_fspot_database_table_set_behavior (DataImportsFSpotDbFSpotDatabaseTable* self, DataImportsFSpotDbFSpotTableBehavior* behavior); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_tags_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +DataImportsFSpotDbFSpotTableBehavior* data_imports_fspot_db_fspot_database_behavior_get_photo_tags_behavior (DataImportsFSpotDbFSpotDatabaseBehavior* self); +GQuark database_error_quark (void); +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tags_table_get_by_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 tag_id, GError** error); +gchar* data_imports_fspot_db_fspot_database_table_get_joined_column_list (DataImportsFSpotDbFSpotDatabaseTable* self, gboolean with_table); +void importable_database_table_throw_error (const gchar* method, gint res, GError** error); +void data_imports_fspot_db_fspot_table_behavior_build_row (DataImportsFSpotDbFSpotTableBehavior* self, sqlite3_stmt* stmt, gpointer* row, gint offset); +GeeArrayList* data_imports_fspot_db_fspot_tags_table_get_by_photo_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 photo_id, GError** error); +gchar* data_imports_fspot_db_fspot_table_behavior_get_table_name (DataImportsFSpotDbFSpotTableBehavior* self); +static void data_imports_fspot_db_fspot_tags_table_finalize (ImportableDatabaseTable* obj); +GType data_imports_fspot_db_fspot_tags_v0_behavior_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_V0_BEHAVIOR_DUMMY_PROPERTY +}; +static DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_new (void); +static DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_construct (GType object_type); +DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_get_instance (void); +static gchar* data_imports_fspot_db_fspot_tags_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base); +static gchar** data_imports_fspot_db_fspot_tags_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1); +static void data_imports_fspot_db_fspot_tags_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotTagRow** row, gint offset); +static void data_imports_fspot_db_fspot_tags_v0_behavior_finalize (GObject* obj); + + +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tag_row_construct (GType object_type) { + DataImportsFSpotDbFSpotTagRow * self = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = (DataImportsFSpotDbFSpotTagRow*) g_object_new (object_type, NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return self; +#line 255 "FSpotTagsTable.c" +} + + +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tag_row_new (void) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return data_imports_fspot_db_fspot_tag_row_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW); +#line 262 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tag_row_class_init (DataImportsFSpotDbFSpotTagRowClass * klass) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_tag_row_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_tag_row_finalize; +#line 271 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tag_row_instance_init (DataImportsFSpotDbFSpotTagRow * self) { +} + + +static void data_imports_fspot_db_fspot_tag_row_finalize (GObject* obj) { + DataImportsFSpotDbFSpotTagRow * self; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRow); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (self->name); +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (self->stock_icon); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_tag_row_parent_class)->finalize (obj); +#line 289 "FSpotTagsTable.c" +} + + +/** + * The value object for the "tags" table, representing a single database row. + */ +GType data_imports_fspot_db_fspot_tag_row_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_tag_row_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_tag_row_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotTagRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_tag_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotTagRow), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_tag_row_instance_init, NULL }; + GType data_imports_fspot_db_fspot_tag_row_type_id; + data_imports_fspot_db_fspot_tag_row_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotTagRow", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_tag_row_type_id__volatile, data_imports_fspot_db_fspot_tag_row_type_id); + } + return data_imports_fspot_db_fspot_tag_row_type_id__volatile; +} + + +DataImportsFSpotDbFSpotTagsTable* data_imports_fspot_db_fspot_tags_table_construct (GType object_type, sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { + DataImportsFSpotDbFSpotTagsTable* self = NULL; + sqlite3* _tmp0_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp1_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp3_ = NULL; + DataImportsFSpotDbFSpotDatabaseBehavior* _tmp4_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp5_ = NULL; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_return_val_if_fail (db != NULL, NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_BEHAVIOR (db_behavior), NULL); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp0_ = db; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = (DataImportsFSpotDbFSpotTagsTable*) data_imports_fspot_db_fspot_database_table_construct (object_type, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp1_ = db_behavior; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_behavior_get_tags_behavior (_tmp1_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp3_ = _tmp2_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_database_table_set_behavior (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), _tmp3_); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (_tmp3_); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp4_ = db_behavior; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp5_ = data_imports_fspot_db_fspot_database_behavior_get_photo_tags_behavior (_tmp4_); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (self->priv->photo_tags_behavior); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self->priv->photo_tags_behavior = _tmp5_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return self; +#line 344 "FSpotTagsTable.c" +} + + +DataImportsFSpotDbFSpotTagsTable* data_imports_fspot_db_fspot_tags_table_new (sqlite3* db, DataImportsFSpotDbFSpotDatabaseBehavior* db_behavior) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return data_imports_fspot_db_fspot_tags_table_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, db, db_behavior); +#line 351 "FSpotTagsTable.c" +} + + +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tags_table_get_by_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 tag_id, GError** error) { + DataImportsFSpotDbFSpotTagRow* result = NULL; + sqlite3_stmt* stmt = NULL; + DataImportsFSpotDbFSpotTagRow* row = NULL; + gchar* column_list = NULL; + gchar* _tmp0_ = NULL; + gchar* sql = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint res = 0; + sqlite3* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + sqlite3_stmt* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GError * _inner_error_ = NULL; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE (self), NULL); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + row = NULL; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_database_table_get_joined_column_list (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), FALSE); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + column_list = _tmp0_; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp1_ = column_list; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp3_ = g_strdup_printf ("SELECT %s FROM %s WHERE id=?", _tmp1_, _tmp2_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + sql = _tmp3_; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->fspot_db; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp5_ = sql; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp7_ = sqlite3_prepare_v2 (_tmp4_, _tmp5_, -1, &_tmp6_, NULL); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + stmt = _tmp6_; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + res = _tmp7_; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp8_ = res; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp8_ != SQLITE_OK) { +#line 411 "FSpotTagsTable.c" + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp9_ = sql; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp10_ = g_strdup_printf ("Statement failed: %s", _tmp9_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp11_ = _tmp10_; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp12_ = res; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + importable_database_table_throw_error (_tmp11_, _tmp12_, &_inner_error_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (_tmp11_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_propagate_error (error, _inner_error_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (row); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return NULL; +#line 444 "FSpotTagsTable.c" + } else { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (row); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_clear_error (&_inner_error_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return NULL; +#line 460 "FSpotTagsTable.c" + } + } + } +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp13_ = stmt; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp14_ = tag_id; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp15_ = sqlite3_bind_int64 (_tmp13_, 1, _tmp14_); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + res = _tmp15_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp16_ = res; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _vala_assert (_tmp16_ == SQLITE_OK, "res == Sqlite.OK"); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp17_ = stmt; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp18_ = sqlite3_step (_tmp17_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + res = _tmp18_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp19_ = res; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp19_ == SQLITE_ROW) { +#line 486 "FSpotTagsTable.c" + DataImportsFSpotDbFSpotTableBehavior* _tmp20_ = NULL; + sqlite3_stmt* _tmp21_ = NULL; + gpointer _tmp22_ = NULL; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->behavior; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp21_ = stmt; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_table_behavior_build_row (_tmp20_, _tmp21_, &_tmp22_, 0); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (row); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + row = _tmp22_; +#line 500 "FSpotTagsTable.c" + } else { + gint _tmp23_ = 0; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp23_ = res; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp23_ == SQLITE_DONE) { +#line 507 "FSpotTagsTable.c" + gint64 _tmp24_ = 0LL; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp24_ = tag_id; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_message ("FSpotTagsTable.vala:58: Could not find tag row with ID %d", (gint) _tmp24_); +#line 513 "FSpotTagsTable.c" + } + } +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + result = row; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return result; +#line 526 "FSpotTagsTable.c" +} + + +GeeArrayList* data_imports_fspot_db_fspot_tags_table_get_by_photo_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 photo_id, GError** error) { + GeeArrayList* result = NULL; + GeeArrayList* rows = NULL; + GeeArrayList* _tmp0_ = NULL; + sqlite3_stmt* stmt = NULL; + gchar* column_list = NULL; + gchar* _tmp1_ = NULL; + gchar* sql = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gint res = 0; + sqlite3* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + sqlite3_stmt* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + sqlite3_stmt* _tmp18_ = NULL; + gint64 _tmp19_ = 0LL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + sqlite3_stmt* _tmp23_ = NULL; + gint _tmp24_ = 0; + GError * _inner_error_ = NULL; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE (self), NULL); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp0_ = gee_array_list_new (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + rows = _tmp0_; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_database_table_get_joined_column_list (G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable), TRUE); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + column_list = _tmp1_; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp2_ = column_list; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)->table_name; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp4_ = self->priv->photo_tags_behavior; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp5_ = data_imports_fspot_db_fspot_table_behavior_get_table_name (_tmp4_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_ = _tmp5_; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp7_ = g_strdup_printf ("SELECT %1$s FROM %2$s, %3$s WHERE %3$s.photo_id=? AND %3$s.tag_id = %2" \ +"$s.id", _tmp2_, _tmp3_, _tmp6_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp8_ = _tmp7_; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (_tmp6_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + sql = _tmp8_; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->fspot_db; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp10_ = sql; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp12_ = sqlite3_prepare_v2 (_tmp9_, _tmp10_, -1, &_tmp11_, NULL); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + stmt = _tmp11_; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + res = _tmp12_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp13_ = res; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp13_ != SQLITE_OK) { +#line 602 "FSpotTagsTable.c" + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp14_ = sql; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp15_ = g_strdup_printf ("Statement failed: %s", _tmp14_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp16_ = _tmp15_; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp17_ = res; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + importable_database_table_throw_error (_tmp16_, _tmp17_, &_inner_error_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (_tmp16_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_propagate_error (error, _inner_error_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (rows); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return NULL; +#line 635 "FSpotTagsTable.c" + } else { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (rows); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_clear_error (&_inner_error_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return NULL; +#line 651 "FSpotTagsTable.c" + } + } + } +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp18_ = stmt; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp19_ = photo_id; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp20_ = sqlite3_bind_int64 (_tmp18_, 1, _tmp19_); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + res = _tmp20_; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp21_ = res; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp21_ != SQLITE_OK) { +#line 667 "FSpotTagsTable.c" + gint _tmp22_ = 0; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp22_ = res; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + importable_database_table_throw_error ("Bind failed for photo_id", _tmp22_, &_inner_error_); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_propagate_error (error, _inner_error_); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (rows); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return NULL; +#line 689 "FSpotTagsTable.c" + } else { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (rows); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_critical ("file %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/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_clear_error (&_inner_error_); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return NULL; +#line 705 "FSpotTagsTable.c" + } + } + } +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp23_ = stmt; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp24_ = sqlite3_step (_tmp23_); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + res = _tmp24_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + while (TRUE) { +#line 717 "FSpotTagsTable.c" + gint _tmp25_ = 0; + DataImportsFSpotDbFSpotTagRow* row = NULL; + DataImportsFSpotDbFSpotTableBehavior* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gpointer _tmp28_ = NULL; + GeeArrayList* _tmp29_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp30_ = NULL; + sqlite3_stmt* _tmp31_ = NULL; + gint _tmp32_ = 0; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp25_ = res; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (!(_tmp25_ == SQLITE_ROW)) { +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + break; +#line 733 "FSpotTagsTable.c" + } +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp26_ = G_TYPE_CHECK_INSTANCE_CAST (self, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)->behavior; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp27_ = stmt; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_table_behavior_build_row (_tmp26_, _tmp27_, &_tmp28_, 0); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (row); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + row = _tmp28_; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp29_ = rows; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp30_ = row; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp30_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp31_ = stmt; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp32_ = sqlite3_step (_tmp31_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + res = _tmp32_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (row); +#line 759 "FSpotTagsTable.c" + } +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + result = rows; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (sql); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (column_list); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _sqlite3_finalize0 (stmt); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return result; +#line 771 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tags_table_class_init (DataImportsFSpotDbFSpotTagsTableClass * klass) { +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_tags_table_parent_class = g_type_class_peek_parent (klass); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + ((ImportableDatabaseTableClass *) klass)->finalize = data_imports_fspot_db_fspot_tags_table_finalize; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotDbFSpotTagsTablePrivate)); +#line 782 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tags_table_instance_init (DataImportsFSpotDbFSpotTagsTable * self) { +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self->priv = DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_GET_PRIVATE (self); +#line 789 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tags_table_finalize (ImportableDatabaseTable* obj) { + DataImportsFSpotDbFSpotTagsTable * self; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTable); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (self->priv->photo_tags_behavior); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + IMPORTABLE_DATABASE_TABLE_CLASS (data_imports_fspot_db_fspot_tags_table_parent_class)->finalize (obj); +#line 801 "FSpotTagsTable.c" +} + + +/** + * This class represents the F-Spot tags table. + */ +GType data_imports_fspot_db_fspot_tags_table_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_tags_table_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_tags_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotTagsTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_tags_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotTagsTable), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_tags_table_instance_init, NULL }; + GType data_imports_fspot_db_fspot_tags_table_type_id; + data_imports_fspot_db_fspot_tags_table_type_id = g_type_register_static (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, "DataImportsFSpotDbFSpotTagsTable", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_db_fspot_tags_table_type_id__volatile, data_imports_fspot_db_fspot_tags_table_type_id); + } + return data_imports_fspot_db_fspot_tags_table_type_id__volatile; +} + + +static DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_construct (GType object_type) { + DataImportsFSpotDbFSpotTagsV0Behavior * self = NULL; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = (DataImportsFSpotDbFSpotTagsV0Behavior*) g_object_new (object_type, NULL); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return self; +#line 826 "FSpotTagsTable.c" +} + + +static DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_new (void) { +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return data_imports_fspot_db_fspot_tags_v0_behavior_construct (DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR); +#line 833 "FSpotTagsTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return self ? g_object_ref (self) : NULL; +#line 840 "FSpotTagsTable.c" +} + + +DataImportsFSpotDbFSpotTagsV0Behavior* data_imports_fspot_db_fspot_tags_v0_behavior_get_instance (void) { + DataImportsFSpotDbFSpotTagsV0Behavior* result = NULL; + DataImportsFSpotDbFSpotTagsV0Behavior* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagsV0Behavior* _tmp2_ = NULL; + DataImportsFSpotDbFSpotTagsV0Behavior* _tmp3_ = NULL; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_tags_v0_behavior_instance; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp0_ == NULL) { +#line 853 "FSpotTagsTable.c" + DataImportsFSpotDbFSpotTagsV0Behavior* _tmp1_ = NULL; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp1_ = data_imports_fspot_db_fspot_tags_v0_behavior_new (); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (data_imports_fspot_db_fspot_tags_v0_behavior_instance); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_tags_v0_behavior_instance = _tmp1_; +#line 861 "FSpotTagsTable.c" + } +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp2_ = data_imports_fspot_db_fspot_tags_v0_behavior_instance; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + result = _tmp3_; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return result; +#line 871 "FSpotTagsTable.c" +} + + +static gchar* data_imports_fspot_db_fspot_tags_v0_behavior_real_get_table_name (DataImportsFSpotDbFSpotTableBehavior* base) { + DataImportsFSpotDbFSpotTagsV0Behavior * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0Behavior); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp0_ = g_strdup (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_TABLE_NAME); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + result = _tmp0_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return result; +#line 887 "FSpotTagsTable.c" +} + + +static gchar** data_imports_fspot_db_fspot_tags_v0_behavior_real_list_columns (DataImportsFSpotDbFSpotTableBehavior* base, int* result_length1) { + DataImportsFSpotDbFSpotTagsV0Behavior * 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; + gint _tmp7__length1 = 0; +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0Behavior); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp0_ = g_strdup ("id"); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp1_ = g_strdup ("name"); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp2_ = g_strdup ("category_id"); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp3_ = g_strdup ("is_category"); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp4_ = g_strdup ("sort_priority"); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp5_ = g_strdup ("icon"); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_ = g_new0 (gchar*, 6 + 1); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_[0] = _tmp0_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_[1] = _tmp1_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_[2] = _tmp2_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_[3] = _tmp3_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_[4] = _tmp4_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_[5] = _tmp5_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp7_ = _tmp6_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp7__length1 = 6; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (result_length1) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + *result_length1 = _tmp7__length1; +#line 939 "FSpotTagsTable.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + result = _tmp7_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + return result; +#line 945 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tags_v0_behavior_real_build_row (DataImportsFSpotDbFSpotTableBehavior* base, sqlite3_stmt* stmt, DataImportsFSpotDbFSpotTagRow** row, gint offset) { + DataImportsFSpotDbFSpotTagsV0Behavior * self; + DataImportsFSpotDbFSpotTagRow* _vala_row = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint64 _tmp4_ = 0LL; + DataImportsFSpotDbFSpotTagRow* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp10_ = NULL; + sqlite3_stmt* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint64 _tmp13_ = 0LL; + DataImportsFSpotDbFSpotTagRow* _tmp14_ = NULL; + sqlite3_stmt* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + DataImportsFSpotDbFSpotTagRow* _tmp18_ = NULL; + sqlite3_stmt* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gchar* icon_str = NULL; + sqlite3_stmt* _tmp22_ = NULL; + gint _tmp23_ = 0; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + const gchar* _tmp27_ = NULL; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0Behavior); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + g_return_if_fail (stmt != NULL); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp0_ = data_imports_fspot_db_fspot_tag_row_new (); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (_vala_row); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _vala_row = _tmp0_; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp1_ = _vala_row; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp2_ = stmt; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp3_ = offset; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp4_ = sqlite3_column_int64 (_tmp2_, _tmp3_ + 0); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp1_->tag_id = _tmp4_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp5_ = _vala_row; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp6_ = stmt; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp7_ = offset; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp8_ = sqlite3_column_text (_tmp6_, _tmp7_ + 1); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (_tmp5_->name); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp5_->name = _tmp9_; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp10_ = _vala_row; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp11_ = stmt; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp12_ = offset; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp13_ = sqlite3_column_int64 (_tmp11_, _tmp12_ + 2); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp10_->category_id = _tmp13_; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp14_ = _vala_row; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp15_ = stmt; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp16_ = offset; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp17_ = sqlite3_column_int (_tmp15_, _tmp16_ + 3); +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp14_->is_category = _tmp17_ > 0; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp18_ = _vala_row; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp19_ = stmt; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp20_ = offset; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp21_ = sqlite3_column_int (_tmp19_, _tmp20_ + 4); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp18_->sort_priority = _tmp21_; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp22_ = stmt; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp23_ = offset; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp24_ = sqlite3_column_text (_tmp22_, _tmp23_ + 5); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + icon_str = _tmp25_; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp27_ = icon_str; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp27_ != NULL) { +#line 1059 "FSpotTagsTable.c" + const gchar* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp28_ = icon_str; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp29_ = g_str_has_prefix (_tmp28_, DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp26_ = _tmp29_; +#line 1068 "FSpotTagsTable.c" + } else { +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp26_ = FALSE; +#line 1072 "FSpotTagsTable.c" + } +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (_tmp26_) { +#line 1076 "FSpotTagsTable.c" + DataImportsFSpotDbFSpotTagRow* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp30_ = _vala_row; +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp31_ = icon_str; +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp32_ = g_strdup (_tmp31_); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (_tmp30_->stock_icon); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp30_->stock_icon = _tmp32_; +#line 1090 "FSpotTagsTable.c" + } else { + DataImportsFSpotDbFSpotTagRow* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp33_ = _vala_row; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp34_ = g_strdup (""); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (_tmp33_->stock_icon); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _tmp33_->stock_icon = _tmp34_; +#line 1102 "FSpotTagsTable.c" + } +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_free0 (icon_str); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + if (row) { +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + *row = _vala_row; +#line 1110 "FSpotTagsTable.c" + } else { +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + _g_object_unref0 (_vala_row); +#line 1114 "FSpotTagsTable.c" + } +} + + +static void data_imports_fspot_db_fspot_tags_v0_behavior_class_init (DataImportsFSpotDbFSpotTagsV0BehaviorClass * klass) { +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_tags_v0_behavior_parent_class = g_type_class_peek_parent (klass); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_db_fspot_tags_v0_behavior_finalize; +#line 1124 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init (DataImportsFSpotDbFSpotTableBehaviorIface * iface) { +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + data_imports_fspot_db_fspot_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_parent_iface = g_type_interface_peek_parent (iface); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + iface->get_table_name = (gchar* (*)(DataImportsFSpotDbFSpotTableBehavior*)) data_imports_fspot_db_fspot_tags_v0_behavior_real_get_table_name; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + iface->list_columns = (gchar** (*)(DataImportsFSpotDbFSpotTableBehavior*, int*)) data_imports_fspot_db_fspot_tags_v0_behavior_real_list_columns; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + iface->build_row = (void (*)(DataImportsFSpotDbFSpotTableBehavior*, sqlite3_stmt*, gpointer*, gint)) data_imports_fspot_db_fspot_tags_v0_behavior_real_build_row; +#line 1137 "FSpotTagsTable.c" +} + + +static void data_imports_fspot_db_fspot_tags_v0_behavior_instance_init (DataImportsFSpotDbFSpotTagsV0Behavior * self) { +} + + +static void data_imports_fspot_db_fspot_tags_v0_behavior_finalize (GObject* obj) { + DataImportsFSpotDbFSpotTagsV0Behavior * self; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_V0_BEHAVIOR, DataImportsFSpotDbFSpotTagsV0Behavior); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotTagsTable.vala" + G_OBJECT_CLASS (data_imports_fspot_db_fspot_tags_v0_behavior_parent_class)->finalize (obj); +#line 1151 "FSpotTagsTable.c" +} + + +GType data_imports_fspot_db_fspot_tags_v0_behavior_get_type (void) { + static volatile gsize data_imports_fspot_db_fspot_tags_v0_behavior_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_db_fspot_tags_v0_behavior_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotDbFSpotTagsV0BehaviorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_db_fspot_tags_v0_behavior_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotDbFSpotTagsV0Behavior), 0, (GInstanceInitFunc) data_imports_fspot_db_fspot_tags_v0_behavior_instance_init, NULL }; + static const GInterfaceInfo data_imports_fspot_db_fspot_table_behavior_info = { (GInterfaceInitFunc) data_imports_fspot_db_fspot_tags_v0_behavior_data_imports_fspot_db_fspot_table_behavior_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_db_fspot_tags_v0_behavior_type_id; + data_imports_fspot_db_fspot_tags_v0_behavior_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotDbFSpotTagsV0Behavior", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_db_fspot_tags_v0_behavior_type_id, DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TABLE_BEHAVIOR, &data_imports_fspot_db_fspot_table_behavior_info); + g_once_init_leave (&data_imports_fspot_db_fspot_tags_v0_behavior_type_id__volatile, data_imports_fspot_db_fspot_tags_v0_behavior_type_id); + } + return data_imports_fspot_db_fspot_tags_v0_behavior_type_id__volatile; +} + + + diff --git a/plugins/shotwell-data-imports/FSpotTagsTable.vala b/plugins/shotwell-data-imports/FSpotTagsTable.vala index 8ac9807..7660154 100644 --- a/plugins/shotwell-data-imports/FSpotTagsTable.vala +++ b/plugins/shotwell-data-imports/FSpotTagsTable.vala @@ -22,13 +22,13 @@ public class FSpotTagRow : Object { * This class represents the F-Spot tags table. */ public class FSpotTagsTable : FSpotDatabaseTable { - public static const string TABLE_NAME = "Tags"; + public const string TABLE_NAME = "Tags"; - public static const string PREFIX_STOCK_ICON = "stock_icon:"; - public static const string STOCK_ICON_FAV = "stock_icon:emblem-favorite"; - public static const string STOCK_ICON_PEOPLE = "stock_icon:emblem-people"; - public static const string STOCK_ICON_PLACES = "stock_icon:emblem-places"; - public static const string STOCK_ICON_EVENTS = "stock_icon:emblem-event"; + public const string PREFIX_STOCK_ICON = "stock_icon:"; + public const string STOCK_ICON_FAV = "stock_icon:emblem-favorite"; + public const string STOCK_ICON_PEOPLE = "stock_icon:emblem-people"; + public const string STOCK_ICON_PLACES = "stock_icon:emblem-places"; + public const string STOCK_ICON_EVENTS = "stock_icon:emblem-event"; private FSpotTableBehavior photo_tags_behavior; diff --git a/plugins/shotwell-data-imports/Makefile b/plugins/shotwell-data-imports/Makefile deleted file mode 100644 index 203aeed..0000000 --- a/plugins/shotwell-data-imports/Makefile +++ /dev/null @@ -1,32 +0,0 @@ - -PLUGIN := shotwell-data-imports - -PLUGIN_PKGS := \ - gtk+-3.0 \ - gexiv2 \ - gee-0.8 \ - sqlite3 \ - libxml-2.0 \ - libsoup-2.4 - -SRC_FILES := \ - shotwell-data-imports.vala \ - VersionNumber.vala \ - SqliteSupport.vala \ - FSpotImporter.vala \ - FSpotDatabaseBehavior.vala \ - FSpotDatabase.vala \ - FSpotDatabaseTable.vala \ - FSpotTableBehavior.vala \ - FSpotMetaTable.vala \ - FSpotPhotosTable.vala \ - FSpotPhotoTagsTable.vala \ - FSpotPhotoVersionsTable.vala \ - FSpotRollsTable.vala \ - FSpotTagsTable.vala - -RC_FILES := \ - f-spot-24.png - -include ../Makefile.plugin.mk - diff --git a/plugins/shotwell-data-imports/SqliteSupport.c b/plugins/shotwell-data-imports/SqliteSupport.c new file mode 100644 index 0000000..4abfac9 --- /dev/null +++ b/plugins/shotwell-data-imports/SqliteSupport.c @@ -0,0 +1,644 @@ +/* SqliteSupport.c generated by valac 0.32.1, the Vala compiler + * generated from SqliteSupport.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_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; +typedef struct _ImportableDatabaseTablePrivate ImportableDatabaseTablePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecImportableDatabaseTable ParamSpecImportableDatabaseTable; + +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 _ImportableDatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + ImportableDatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _ImportableDatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (ImportableDatabaseTable *self); +}; + +struct _ParamSpecImportableDatabaseTable { + GParamSpec parent_instance; +}; + + +static gpointer importable_database_table_parent_class = NULL; +extern sqlite3* importable_database_table_db; +sqlite3* importable_database_table_db = NULL; + +GQuark database_error_quark (void); +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +enum { + IMPORTABLE_DATABASE_TABLE_DUMMY_PROPERTY +}; +void importable_database_table_set_table_name (ImportableDatabaseTable* self, const gchar* table_name); +void importable_database_table_throw_error (const gchar* method, gint res, GError** error); +ImportableDatabaseTable* importable_database_table_construct (GType object_type); +static void importable_database_table_finalize (ImportableDatabaseTable* obj); + + +GQuark database_error_quark (void) { + return g_quark_from_static_string ("database_error-quark"); +} + + +void importable_database_table_set_table_name (ImportableDatabaseTable* self, const gchar* table_name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_if_fail (IS_IMPORTABLE_DATABASE_TABLE (self)); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_if_fail (table_name != NULL); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp0_ = table_name; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (self->table_name); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + self->table_name = _tmp1_; +#line 99 "SqliteSupport.c" +} + + +void importable_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 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_if_fail (method != NULL); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp0_ = method; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp1_ = res; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp2_ = importable_database_table_db; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp3_ = sqlite3_errmsg (_tmp2_); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp4_ = g_strdup_printf ("(%s) [%d] - %s", _tmp0_, _tmp1_, _tmp3_); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + msg = _tmp4_; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp5_ = res; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + switch (_tmp5_) { +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_OK: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_DONE: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_ROW: +#line 136 "SqliteSupport.c" + { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 142 "SqliteSupport.c" + } +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_PERM: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_BUSY: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_READONLY: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_IOERR: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_CORRUPT: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_CANTOPEN: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_NOLFS: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_AUTH: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_FORMAT: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_NOTADB: +#line 164 "SqliteSupport.c" + { + const gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp6_ = msg; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp7_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_BACKING, _tmp6_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _inner_error_ = _tmp7_; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_propagate_error (error, _inner_error_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 182 "SqliteSupport.c" + } else { +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_clear_error (&_inner_error_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 192 "SqliteSupport.c" + } + } +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_NOMEM: +#line 197 "SqliteSupport.c" + { + const gchar* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp8_ = msg; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp9_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_MEMORY, _tmp8_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _inner_error_ = _tmp9_; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_propagate_error (error, _inner_error_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 215 "SqliteSupport.c" + } else { +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_clear_error (&_inner_error_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 225 "SqliteSupport.c" + } + } +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_ABORT: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_LOCKED: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_INTERRUPT: +#line 234 "SqliteSupport.c" + { + const gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp10_ = msg; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp11_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_ABORT, _tmp10_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _inner_error_ = _tmp11_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_propagate_error (error, _inner_error_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 252 "SqliteSupport.c" + } else { +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_clear_error (&_inner_error_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 262 "SqliteSupport.c" + } + } +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_FULL: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_EMPTY: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_TOOBIG: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_CONSTRAINT: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_RANGE: +#line 275 "SqliteSupport.c" + { + const gchar* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp12_ = msg; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp13_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_LIMITS, _tmp12_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _inner_error_ = _tmp13_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_propagate_error (error, _inner_error_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 293 "SqliteSupport.c" + } else { +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_critical ("file %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/plugins/shotwell-data-imports/SqliteSupport.vala" + g_clear_error (&_inner_error_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 303 "SqliteSupport.c" + } + } +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_SCHEMA: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_MISMATCH: +#line 310 "SqliteSupport.c" + { + const gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp14_ = msg; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp15_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_TYPESPEC, _tmp14_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _inner_error_ = _tmp15_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_propagate_error (error, _inner_error_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 328 "SqliteSupport.c" + } else { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_clear_error (&_inner_error_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 338 "SqliteSupport.c" + } + } + default: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_ERROR: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_INTERNAL: +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + case SQLITE_MISUSE: +#line 348 "SqliteSupport.c" + { + const gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp16_ = msg; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _tmp17_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_ERROR, _tmp16_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _inner_error_ = _tmp17_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_propagate_error (error, _inner_error_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 366 "SqliteSupport.c" + } else { +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_critical ("file %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/plugins/shotwell-data-imports/SqliteSupport.vala" + g_clear_error (&_inner_error_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return; +#line 376 "SqliteSupport.c" + } + } + } +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (msg); +#line 382 "SqliteSupport.c" +} + + +ImportableDatabaseTable* importable_database_table_construct (GType object_type) { + ImportableDatabaseTable* self = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + self = (ImportableDatabaseTable*) g_type_create_instance (object_type); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return self; +#line 392 "SqliteSupport.c" +} + + +static void value_importable_database_table_init (GValue* value) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + value->data[0].v_pointer = NULL; +#line 399 "SqliteSupport.c" +} + + +static void value_importable_database_table_free_value (GValue* value) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (value->data[0].v_pointer) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + importable_database_table_unref (value->data[0].v_pointer); +#line 408 "SqliteSupport.c" + } +} + + +static void value_importable_database_table_copy_value (const GValue* src_value, GValue* dest_value) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (src_value->data[0].v_pointer) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + dest_value->data[0].v_pointer = importable_database_table_ref (src_value->data[0].v_pointer); +#line 418 "SqliteSupport.c" + } else { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 422 "SqliteSupport.c" + } +} + + +static gpointer value_importable_database_table_peek_pointer (const GValue* value) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return value->data[0].v_pointer; +#line 430 "SqliteSupport.c" +} + + +static gchar* value_importable_database_table_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (collect_values[0].v_pointer) { +#line 437 "SqliteSupport.c" + ImportableDatabaseTable* object; + object = collect_values[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 444 "SqliteSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.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 448 "SqliteSupport.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + value->data[0].v_pointer = importable_database_table_ref (object); +#line 452 "SqliteSupport.c" + } else { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + value->data[0].v_pointer = NULL; +#line 456 "SqliteSupport.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return NULL; +#line 460 "SqliteSupport.c" +} + + +static gchar* value_importable_database_table_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ImportableDatabaseTable** object_p; + object_p = collect_values[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (!object_p) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 471 "SqliteSupport.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (!value->data[0].v_pointer) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + *object_p = NULL; +#line 477 "SqliteSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + *object_p = value->data[0].v_pointer; +#line 481 "SqliteSupport.c" + } else { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + *object_p = importable_database_table_ref (value->data[0].v_pointer); +#line 485 "SqliteSupport.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return NULL; +#line 489 "SqliteSupport.c" +} + + +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecImportableDatabaseTable* spec; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_IMPORTABLE_DATABASE_TABLE), NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return G_PARAM_SPEC (spec); +#line 503 "SqliteSupport.c" +} + + +gpointer value_get_importable_database_table (const GValue* value) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORTABLE_DATABASE_TABLE), NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return value->data[0].v_pointer; +#line 512 "SqliteSupport.c" +} + + +void value_set_importable_database_table (GValue* value, gpointer v_object) { + ImportableDatabaseTable* old; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORTABLE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + old = value->data[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (v_object) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORTABLE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.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/plugins/shotwell-data-imports/SqliteSupport.vala" + value->data[0].v_pointer = v_object; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + importable_database_table_ref (value->data[0].v_pointer); +#line 532 "SqliteSupport.c" + } else { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + value->data[0].v_pointer = NULL; +#line 536 "SqliteSupport.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (old) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + importable_database_table_unref (old); +#line 542 "SqliteSupport.c" + } +} + + +void value_take_importable_database_table (GValue* value, gpointer v_object) { + ImportableDatabaseTable* old; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORTABLE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + old = value->data[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (v_object) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORTABLE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.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/plugins/shotwell-data-imports/SqliteSupport.vala" + value->data[0].v_pointer = v_object; +#line 561 "SqliteSupport.c" + } else { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + value->data[0].v_pointer = NULL; +#line 565 "SqliteSupport.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (old) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + importable_database_table_unref (old); +#line 571 "SqliteSupport.c" + } +} + + +static void importable_database_table_class_init (ImportableDatabaseTableClass * klass) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + importable_database_table_parent_class = g_type_class_peek_parent (klass); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + ((ImportableDatabaseTableClass *) klass)->finalize = importable_database_table_finalize; +#line 581 "SqliteSupport.c" +} + + +static void importable_database_table_instance_init (ImportableDatabaseTable * self) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + self->table_name = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + self->ref_count = 1; +#line 590 "SqliteSupport.c" +} + + +static void importable_database_table_finalize (ImportableDatabaseTable* obj) { + ImportableDatabaseTable * self; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_signal_handlers_destroy (self); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + _g_free0 (self->table_name); +#line 602 "SqliteSupport.c" +} + + +GType importable_database_table_get_type (void) { + static volatile gsize importable_database_table_type_id__volatile = 0; + if (g_once_init_enter (&importable_database_table_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_importable_database_table_init, value_importable_database_table_free_value, value_importable_database_table_copy_value, value_importable_database_table_peek_pointer, "p", value_importable_database_table_collect_value, "p", value_importable_database_table_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ImportableDatabaseTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) importable_database_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportableDatabaseTable), 0, (GInstanceInitFunc) importable_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 importable_database_table_type_id; + importable_database_table_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ImportableDatabaseTable", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&importable_database_table_type_id__volatile, importable_database_table_type_id); + } + return importable_database_table_type_id__volatile; +} + + +gpointer importable_database_table_ref (gpointer instance) { + ImportableDatabaseTable* self; + self = instance; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + return instance; +#line 627 "SqliteSupport.c" +} + + +void importable_database_table_unref (gpointer instance) { + ImportableDatabaseTable* self; + self = instance; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + IMPORTABLE_DATABASE_TABLE_GET_CLASS (self)->finalize (self); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/SqliteSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 640 "SqliteSupport.c" + } +} + + + diff --git a/plugins/shotwell-data-imports/VersionNumber.c b/plugins/shotwell-data-imports/VersionNumber.c new file mode 100644 index 0000000..dec3778 --- /dev/null +++ b/plugins/shotwell-data-imports/VersionNumber.c @@ -0,0 +1,1053 @@ +/* VersionNumber.c generated by valac 0.32.1, the Vala compiler + * generated from VersionNumber.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 UTILS_TYPE_VERSION_NUMBER (utils_version_number_get_type ()) +#define UTILS_VERSION_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumber)) +#define UTILS_VERSION_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumberClass)) +#define UTILS_IS_VERSION_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UTILS_TYPE_VERSION_NUMBER)) +#define UTILS_IS_VERSION_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UTILS_TYPE_VERSION_NUMBER)) +#define UTILS_VERSION_NUMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumberClass)) + +typedef struct _UtilsVersionNumber UtilsVersionNumber; +typedef struct _UtilsVersionNumberClass UtilsVersionNumberClass; +typedef struct _UtilsVersionNumberPrivate UtilsVersionNumberPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +struct _UtilsVersionNumber { + GObject parent_instance; + UtilsVersionNumberPrivate * priv; +}; + +struct _UtilsVersionNumberClass { + GObjectClass parent_class; +}; + +struct _UtilsVersionNumberPrivate { + gint* version; + gint version_length1; + gint _version_size_; +}; + + +static gpointer utils_version_number_parent_class = NULL; +static GeeComparableIface* utils_version_number_gee_comparable_parent_iface = NULL; + +GType utils_version_number_get_type (void) G_GNUC_CONST; +#define UTILS_VERSION_NUMBER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumberPrivate)) +enum { + UTILS_VERSION_NUMBER_DUMMY_PROPERTY +}; +UtilsVersionNumber* utils_version_number_new (gint* version, int version_length1); +UtilsVersionNumber* utils_version_number_construct (GType object_type, gint* version, int version_length1); +static gint* _vala_array_dup3 (gint* self, int length); +UtilsVersionNumber* utils_version_number_new_from_string (const gchar* str_version, const gchar* separator); +UtilsVersionNumber* utils_version_number_construct_from_string (GType object_type, const gchar* str_version, const gchar* separator); +gchar* utils_version_number_to_string (UtilsVersionNumber* self); +static gint utils_version_number_real_compare_to (GeeComparable* base, UtilsVersionNumber* other); +static void utils_version_number_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 gint* _vala_array_dup3 (gint* self, int length) { +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + return g_memdup (self, length * sizeof (gint)); +#line 70 "VersionNumber.c" +} + + +UtilsVersionNumber* utils_version_number_construct (GType object_type, gint* version, int version_length1) { + UtilsVersionNumber * self = NULL; + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self = (UtilsVersionNumber*) g_object_new (object_type, NULL); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp0_ = version; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp0__length1 = version_length1; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup3 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp1__length1 = _tmp0__length1; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->version = (g_free (self->priv->version), NULL); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->version = _tmp1_; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->version_length1 = _tmp1__length1; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->_version_size_ = self->priv->version_length1; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + return self; +#line 100 "VersionNumber.c" +} + + +UtilsVersionNumber* utils_version_number_new (gint* version, int version_length1) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + return utils_version_number_construct (UTILS_TYPE_VERSION_NUMBER, version, version_length1); +#line 107 "VersionNumber.c" +} + + +UtilsVersionNumber* utils_version_number_construct_from_string (GType object_type, const gchar* str_version, const gchar* separator) { + UtilsVersionNumber * self = NULL; + gchar** version_items = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint version_items_length1 = 0; + gint _version_items_size_ = 0; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint* _tmp5_ = NULL; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + g_return_val_if_fail (str_version != NULL, NULL); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + g_return_val_if_fail (separator != NULL, NULL); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self = (UtilsVersionNumber*) g_object_new (object_type, NULL); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp0_ = str_version; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp1_ = separator; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp3_ = _tmp2_ = g_strsplit (_tmp0_, _tmp1_, 0); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + version_items = _tmp3_; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + version_items_length1 = _vala_array_length (_tmp2_); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _version_items_size_ = version_items_length1; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp4_ = version_items; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp4__length1 = version_items_length1; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp5_ = g_new0 (gint, _tmp4__length1); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->version = (g_free (self->priv->version), NULL); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->version = _tmp5_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->version_length1 = _tmp4__length1; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->_version_size_ = self->priv->version_length1; +#line 155 "VersionNumber.c" + { + gint i = 0; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + i = 0; +#line 160 "VersionNumber.c" + { + gboolean _tmp6_ = FALSE; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp6_ = TRUE; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + while (TRUE) { +#line 167 "VersionNumber.c" + gint _tmp8_ = 0; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (!_tmp6_) { +#line 182 "VersionNumber.c" + gint _tmp7_ = 0; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp7_ = i; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + i = _tmp7_ + 1; +#line 188 "VersionNumber.c" + } +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp6_ = FALSE; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp8_ = i; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp9_ = version_items; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp9__length1 = version_items_length1; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (!(_tmp8_ < _tmp9__length1)) { +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + break; +#line 202 "VersionNumber.c" + } +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp10_ = self->priv->version; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp10__length1 = self->priv->version_length1; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp11_ = i; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp12_ = version_items; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp12__length1 = version_items_length1; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp13_ = i; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp14_ = _tmp12_[_tmp13_]; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp15_ = atoi (_tmp14_); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp10_[_tmp11_] = _tmp15_; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp16_ = _tmp10_[_tmp11_]; +#line 224 "VersionNumber.c" + } + } + } +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + version_items = (_vala_array_free (version_items, version_items_length1, (GDestroyNotify) g_free), NULL); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + return self; +#line 232 "VersionNumber.c" +} + + +UtilsVersionNumber* utils_version_number_new_from_string (const gchar* str_version, const gchar* separator) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + return utils_version_number_construct_from_string (UTILS_TYPE_VERSION_NUMBER, str_version, separator); +#line 239 "VersionNumber.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 256 "VersionNumber.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 266 "VersionNumber.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 276 "VersionNumber.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 282 "VersionNumber.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 293 "VersionNumber.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 305 "VersionNumber.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 309 "VersionNumber.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 313 "VersionNumber.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 317 "VersionNumber.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 340 "VersionNumber.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 349 "VersionNumber.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 362 "VersionNumber.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 368 "VersionNumber.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 378 "VersionNumber.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 390 "VersionNumber.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 394 "VersionNumber.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 400 "VersionNumber.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 411 "VersionNumber.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 426 "VersionNumber.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 430 "VersionNumber.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 434 "VersionNumber.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 440 "VersionNumber.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 452 "VersionNumber.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 473 "VersionNumber.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 477 "VersionNumber.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 483 "VersionNumber.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 490 "VersionNumber.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 498 "VersionNumber.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 536 "VersionNumber.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 545 "VersionNumber.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 561 "VersionNumber.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 567 "VersionNumber.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 581 "VersionNumber.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 601 "VersionNumber.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 616 "VersionNumber.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 620 "VersionNumber.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 628 "VersionNumber.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 639 "VersionNumber.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 648 "VersionNumber.c" + } +} + + +gchar* utils_version_number_to_string (UtilsVersionNumber* self) { + gchar* result = NULL; + gchar** version_items = NULL; + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint version_items_length1 = 0; + gint _version_items_size_ = 0; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gchar* _tmp14_ = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + g_return_val_if_fail (UTILS_IS_VERSION_NUMBER (self), NULL); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp0_ = self->priv->version; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp0__length1 = self->priv->version_length1; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp1_ = g_new0 (gchar*, _tmp0__length1 + 1); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + version_items = _tmp1_; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + version_items_length1 = _tmp0__length1; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _version_items_size_ = version_items_length1; +#line 678 "VersionNumber.c" + { + gint i = 0; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + i = 0; +#line 683 "VersionNumber.c" + { + gboolean _tmp2_ = FALSE; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp2_ = TRUE; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + while (TRUE) { +#line 690 "VersionNumber.c" + gint _tmp4_ = 0; + gint* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + gint* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (!_tmp2_) { +#line 705 "VersionNumber.c" + gint _tmp3_ = 0; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp3_ = i; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + i = _tmp3_ + 1; +#line 711 "VersionNumber.c" + } +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp2_ = FALSE; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp4_ = i; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp5_ = self->priv->version; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp5__length1 = self->priv->version_length1; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (!(_tmp4_ < _tmp5__length1)) { +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + break; +#line 725 "VersionNumber.c" + } +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp6_ = version_items; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp6__length1 = version_items_length1; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp7_ = i; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp8_ = self->priv->version; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp8__length1 = self->priv->version_length1; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp9_ = i; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp11_ = g_strdup_printf ("%i", _tmp10_); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _g_free0 (_tmp6_[_tmp7_]); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp6_[_tmp7_] = _tmp11_; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp12_ = _tmp6_[_tmp7_]; +#line 749 "VersionNumber.c" + } + } + } +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp13_ = version_items; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp13__length1 = version_items_length1; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp14_ = _vala_g_strjoinv (".", _tmp13_, _tmp13__length1); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + result = _tmp14_; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + version_items = (_vala_array_free (version_items, version_items_length1, (GDestroyNotify) g_free), NULL); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + return result; +#line 765 "VersionNumber.c" +} + + +static gint utils_version_number_real_compare_to (GeeComparable* base, UtilsVersionNumber* other) { + UtilsVersionNumber * self; + gint result = 0; + gint _tmp0_ = 0; + gint* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + UtilsVersionNumber* _tmp2_ = NULL; + gint* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gint max_len = 0; + gint res = 0; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumber); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + g_return_val_if_fail (UTILS_IS_VERSION_NUMBER (other), 0); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp1_ = self->priv->version; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp1__length1 = self->priv->version_length1; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp2_ = other; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp3_ = _tmp2_->priv->version; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp3__length1 = _tmp2_->priv->version_length1; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (_tmp1__length1 > _tmp3__length1) { +#line 796 "VersionNumber.c" + gint* _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp4_ = self->priv->version; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp4__length1 = self->priv->version_length1; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp0_ = _tmp4__length1; +#line 805 "VersionNumber.c" + } else { + UtilsVersionNumber* _tmp5_ = NULL; + gint* _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp5_ = other; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp6_ = _tmp5_->priv->version; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp6__length1 = _tmp5_->priv->version_length1; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp0_ = _tmp6__length1; +#line 818 "VersionNumber.c" + } +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + max_len = _tmp0_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + res = 0; +#line 824 "VersionNumber.c" + { + gint i = 0; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + i = 0; +#line 829 "VersionNumber.c" + { + gboolean _tmp7_ = FALSE; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp7_ = TRUE; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + while (TRUE) { +#line 836 "VersionNumber.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint* _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint this_v = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + UtilsVersionNumber* _tmp19_ = NULL; + gint* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint other_v = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (!_tmp7_) { +#line 855 "VersionNumber.c" + gint _tmp8_ = 0; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp8_ = i; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + i = _tmp8_ + 1; +#line 861 "VersionNumber.c" + } +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp7_ = FALSE; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp9_ = i; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp10_ = max_len; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (!(_tmp9_ < _tmp10_)) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + break; +#line 873 "VersionNumber.c" + } +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp12_ = i; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp13_ = self->priv->version; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp13__length1 = self->priv->version_length1; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (_tmp12_ < _tmp13__length1) { +#line 883 "VersionNumber.c" + gint* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp14_ = self->priv->version; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp14__length1 = self->priv->version_length1; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp15_ = i; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp16_ = _tmp14_[_tmp15_]; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp11_ = _tmp16_; +#line 898 "VersionNumber.c" + } else { +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp11_ = 0; +#line 902 "VersionNumber.c" + } +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + this_v = _tmp11_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp18_ = i; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp19_ = other; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp20_ = _tmp19_->priv->version; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp20__length1 = _tmp19_->priv->version_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (_tmp18_ < _tmp20__length1) { +#line 916 "VersionNumber.c" + UtilsVersionNumber* _tmp21_ = NULL; + gint* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp21_ = other; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp22_ = _tmp21_->priv->version; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp22__length1 = _tmp21_->priv->version_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp23_ = i; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp24_ = _tmp22_[_tmp23_]; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp17_ = _tmp24_; +#line 934 "VersionNumber.c" + } else { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp17_ = 0; +#line 938 "VersionNumber.c" + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + other_v = _tmp17_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp25_ = this_v; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp26_ = other_v; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + res = _tmp25_ - _tmp26_; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + _tmp27_ = res; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + if (_tmp27_ != 0) { +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + break; +#line 954 "VersionNumber.c" + } + } + } + } +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + result = res; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + return result; +#line 963 "VersionNumber.c" +} + + +static void utils_version_number_class_init (UtilsVersionNumberClass * klass) { +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + utils_version_number_parent_class = g_type_class_peek_parent (klass); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + g_type_class_add_private (klass, sizeof (UtilsVersionNumberPrivate)); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + G_OBJECT_CLASS (klass)->finalize = utils_version_number_finalize; +#line 974 "VersionNumber.c" +} + + +static void utils_version_number_gee_comparable_interface_init (GeeComparableIface * iface) { +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + utils_version_number_gee_comparable_parent_iface = g_type_interface_peek_parent (iface); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + iface->compare_to = (gint (*)(GeeComparable*, gconstpointer)) utils_version_number_real_compare_to; +#line 983 "VersionNumber.c" +} + + +static void utils_version_number_instance_init (UtilsVersionNumber * self) { +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv = UTILS_VERSION_NUMBER_GET_PRIVATE (self); +#line 990 "VersionNumber.c" +} + + +static void utils_version_number_finalize (GObject* obj) { + UtilsVersionNumber * self; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, UTILS_TYPE_VERSION_NUMBER, UtilsVersionNumber); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + self->priv->version = (g_free (self->priv->version), NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/VersionNumber.vala" + G_OBJECT_CLASS (utils_version_number_parent_class)->finalize (obj); +#line 1002 "VersionNumber.c" +} + + +/** + * A class that represents a version number in the form x.y.z and is able to compare + * different versions. + */ +GType utils_version_number_get_type (void) { + static volatile gsize utils_version_number_type_id__volatile = 0; + if (g_once_init_enter (&utils_version_number_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (UtilsVersionNumberClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) utils_version_number_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (UtilsVersionNumber), 0, (GInstanceInitFunc) utils_version_number_instance_init, NULL }; + static const GInterfaceInfo gee_comparable_info = { (GInterfaceInitFunc) utils_version_number_gee_comparable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType utils_version_number_type_id; + utils_version_number_type_id = g_type_register_static (G_TYPE_OBJECT, "UtilsVersionNumber", &g_define_type_info, 0); + g_type_add_interface_static (utils_version_number_type_id, GEE_TYPE_COMPARABLE, &gee_comparable_info); + g_once_init_leave (&utils_version_number_type_id__volatile, utils_version_number_type_id); + } + return utils_version_number_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/plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml b/plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml new file mode 100644 index 0000000..0c77317 --- /dev/null +++ b/plugins/shotwell-data-imports/org.gnome.Shotwell.Imports.gresource.xml @@ -0,0 +1,6 @@ + + + + f-spot-24.png + + diff --git a/plugins/shotwell-data-imports/shotwell-data-imports.c b/plugins/shotwell-data-imports/shotwell-data-imports.c new file mode 100644 index 0000000..0c8ea43 --- /dev/null +++ b/plugins/shotwell-data-imports/shotwell-data-imports.c @@ -0,0 +1,356 @@ +/* shotwell-data-imports.c generated by valac 0.32.1, the Vala compiler + * generated from shotwell-data-imports.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_SHOTWELL_DATA_IMPORTS_CORE_SERVICES (shotwell_data_imports_core_services_get_type ()) +#define SHOTWELL_DATA_IMPORTS_CORE_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServices)) +#define SHOTWELL_DATA_IMPORTS_CORE_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServicesClass)) +#define IS_SHOTWELL_DATA_IMPORTS_CORE_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES)) +#define IS_SHOTWELL_DATA_IMPORTS_CORE_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES)) +#define SHOTWELL_DATA_IMPORTS_CORE_SERVICES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServicesClass)) + +typedef struct _ShotwellDataImportsCoreServices ShotwellDataImportsCoreServices; +typedef struct _ShotwellDataImportsCoreServicesClass ShotwellDataImportsCoreServicesClass; +typedef struct _ShotwellDataImportsCoreServicesPrivate ShotwellDataImportsCoreServicesPrivate; + +#define TYPE_FSPOT_SERVICE (fspot_service_get_type ()) +#define FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FSPOT_SERVICE, FSpotService)) +#define FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FSPOT_SERVICE, FSpotServiceClass)) +#define IS_FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FSPOT_SERVICE)) +#define IS_FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FSPOT_SERVICE)) +#define FSPOT_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FSPOT_SERVICE, FSpotServiceClass)) + +typedef struct _FSpotService FSpotService; +typedef struct _FSpotServiceClass FSpotServiceClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +struct _ShotwellDataImportsCoreServices { + GObject parent_instance; + ShotwellDataImportsCoreServicesPrivate * priv; +}; + +struct _ShotwellDataImportsCoreServicesClass { + GObjectClass parent_class; +}; + +struct _ShotwellDataImportsCoreServicesPrivate { + SpitPluggable** pluggables; + gint pluggables_length1; + gint _pluggables_size_; +}; + + +static gpointer shotwell_data_imports_core_services_parent_class = NULL; +static SpitModuleIface* shotwell_data_imports_core_services_spit_module_parent_iface = NULL; + +GType shotwell_data_imports_core_services_get_type (void) G_GNUC_CONST; +#define SHOTWELL_DATA_IMPORTS_CORE_SERVICES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServicesPrivate)) +enum { + SHOTWELL_DATA_IMPORTS_CORE_SERVICES_DUMMY_PROPERTY +}; +ShotwellDataImportsCoreServices* shotwell_data_imports_core_services_new (GFile* module_file); +ShotwellDataImportsCoreServices* shotwell_data_imports_core_services_construct (GType object_type, GFile* module_file); +FSpotService* fspot_service_new (GFile* resource_directory); +FSpotService* fspot_service_construct (GType object_type, GFile* resource_directory); +GType fspot_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add7 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +static const gchar* shotwell_data_imports_core_services_real_get_module_name (SpitModule* base); +static const gchar* shotwell_data_imports_core_services_real_get_version (SpitModule* base); +static const gchar* shotwell_data_imports_core_services_real_get_id (SpitModule* base); +static SpitPluggable** shotwell_data_imports_core_services_real_get_pluggables (SpitModule* base, int* result_length1); +static void shotwell_data_imports_core_services_finalize (GObject* obj); +SpitModule* spit_entry_point (SpitEntryPointParams* params); +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_add7 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + if ((*length) == (*size)) { +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 89 "shotwell-data-imports.c" + } +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + (*array)[(*length)++] = value; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + (*array)[*length] = NULL; +#line 95 "shotwell-data-imports.c" +} + + +ShotwellDataImportsCoreServices* shotwell_data_imports_core_services_construct (GType object_type, GFile* module_file) { + ShotwellDataImportsCoreServices * self = NULL; + GFile* resource_directory = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + SpitPluggable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + FSpotService* _tmp3_ = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + g_return_val_if_fail (G_IS_FILE (module_file), NULL); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self = (ShotwellDataImportsCoreServices*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp0_ = module_file; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp1_ = g_file_get_parent (_tmp0_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + resource_directory = _tmp1_; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp2_ = self->priv->pluggables; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp2__length1 = self->priv->pluggables_length1; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp3_ = fspot_service_new (resource_directory); +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _vala_array_add7 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _g_object_unref0 (resource_directory); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + return self; +#line 129 "shotwell-data-imports.c" +} + + +ShotwellDataImportsCoreServices* shotwell_data_imports_core_services_new (GFile* module_file) { +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + return shotwell_data_imports_core_services_construct (TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, module_file); +#line 136 "shotwell-data-imports.c" +} + + +static const gchar* shotwell_data_imports_core_services_real_get_module_name (SpitModule* base) { + ShotwellDataImportsCoreServices * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServices); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp0_ = _ ("Core Data Import Services"); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + result = _tmp0_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + return result; +#line 152 "shotwell-data-imports.c" +} + + +static const gchar* shotwell_data_imports_core_services_real_get_version (SpitModule* base) { + ShotwellDataImportsCoreServices * self; + const gchar* result = NULL; +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServices); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + result = _VERSION; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + return result; +#line 165 "shotwell-data-imports.c" +} + + +static const gchar* shotwell_data_imports_core_services_real_get_id (SpitModule* base) { + ShotwellDataImportsCoreServices * self; + const gchar* result = NULL; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServices); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + result = "org.yorba.shotwell.data_imports.core_services"; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + return result; +#line 178 "shotwell-data-imports.c" +} + + +static SpitPluggable** shotwell_data_imports_core_services_real_get_pluggables (SpitModule* base, int* result_length1) { + ShotwellDataImportsCoreServices * self; + SpitPluggable** result = NULL; + SpitPluggable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPluggable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServices); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp0_ = self->priv->pluggables; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp0__length1 = self->priv->pluggables_length1; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp1_ = _tmp0_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp1__length1 = _tmp0__length1; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + if (result_length1) { +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + *result_length1 = _tmp1__length1; +#line 203 "shotwell-data-imports.c" + } +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + result = _tmp1_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + return result; +#line 209 "shotwell-data-imports.c" +} + + +static void shotwell_data_imports_core_services_class_init (ShotwellDataImportsCoreServicesClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + shotwell_data_imports_core_services_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + g_type_class_add_private (klass, sizeof (ShotwellDataImportsCoreServicesPrivate)); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + G_OBJECT_CLASS (klass)->finalize = shotwell_data_imports_core_services_finalize; +#line 220 "shotwell-data-imports.c" +} + + +static void shotwell_data_imports_core_services_spit_module_interface_init (SpitModuleIface * iface) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + shotwell_data_imports_core_services_spit_module_parent_iface = g_type_interface_peek_parent (iface); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + iface->get_module_name = (const gchar* (*)(SpitModule*)) shotwell_data_imports_core_services_real_get_module_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + iface->get_version = (const gchar* (*)(SpitModule*)) shotwell_data_imports_core_services_real_get_version; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + iface->get_id = (const gchar* (*)(SpitModule*)) shotwell_data_imports_core_services_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + iface->get_pluggables = (SpitPluggable** (*)(SpitModule*, int*)) shotwell_data_imports_core_services_real_get_pluggables; +#line 235 "shotwell-data-imports.c" +} + + +static void shotwell_data_imports_core_services_instance_init (ShotwellDataImportsCoreServices * self) { + SpitPluggable** _tmp0_ = NULL; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self->priv = SHOTWELL_DATA_IMPORTS_CORE_SERVICES_GET_PRIVATE (self); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp0_ = g_new0 (SpitPluggable*, 0 + 1); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self->priv->pluggables = _tmp0_; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self->priv->pluggables_length1 = 0; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self->priv->_pluggables_size_ = self->priv->pluggables_length1; +#line 251 "shotwell-data-imports.c" +} + + +static void shotwell_data_imports_core_services_finalize (GObject* obj) { + ShotwellDataImportsCoreServices * self; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_DATA_IMPORTS_CORE_SERVICES, ShotwellDataImportsCoreServices); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + self->priv->pluggables = (_vala_array_free (self->priv->pluggables, self->priv->pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + G_OBJECT_CLASS (shotwell_data_imports_core_services_parent_class)->finalize (obj); +#line 263 "shotwell-data-imports.c" +} + + +GType shotwell_data_imports_core_services_get_type (void) { + static volatile gsize shotwell_data_imports_core_services_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_data_imports_core_services_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShotwellDataImportsCoreServicesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_data_imports_core_services_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellDataImportsCoreServices), 0, (GInstanceInitFunc) shotwell_data_imports_core_services_instance_init, NULL }; + static const GInterfaceInfo spit_module_info = { (GInterfaceInitFunc) shotwell_data_imports_core_services_spit_module_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType shotwell_data_imports_core_services_type_id; + shotwell_data_imports_core_services_type_id = g_type_register_static (G_TYPE_OBJECT, "ShotwellDataImportsCoreServices", &g_define_type_info, 0); + g_type_add_interface_static (shotwell_data_imports_core_services_type_id, SPIT_TYPE_MODULE, &spit_module_info); + g_once_init_leave (&shotwell_data_imports_core_services_type_id__volatile, shotwell_data_imports_core_services_type_id); + } + return shotwell_data_imports_core_services_type_id__volatile; +} + + +SpitModule* spit_entry_point (SpitEntryPointParams* params) { + SpitModule* result = NULL; + SpitEntryPointParams* _tmp0_ = NULL; + gint _tmp1_ = 0; + SpitEntryPointParams* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + ShotwellDataImportsCoreServices* _tmp5_ = NULL; + SpitEntryPointParams* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp0_ = params; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp1_ = (*_tmp0_).host_min_spit_interface; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp2_ = params; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp3_ = (*_tmp2_).host_max_spit_interface; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp4_ = spit_negotiate_interfaces (_tmp1_, _tmp3_, SPIT_CURRENT_INTERFACE); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + (*params).module_spit_interface = _tmp4_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp6_ = params; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp7_ = (*_tmp6_).module_spit_interface; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + if (_tmp7_ != SPIT_UNSUPPORTED_INTERFACE) { +#line 309 "shotwell-data-imports.c" + SpitEntryPointParams* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + ShotwellDataImportsCoreServices* _tmp10_ = NULL; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp8_ = params; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp9_ = (*_tmp8_).module_file; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp10_ = shotwell_data_imports_core_services_new (_tmp9_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _g_object_unref0 (_tmp5_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp5_ = _tmp10_; +#line 323 "shotwell-data-imports.c" + } else { +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _g_object_unref0 (_tmp5_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + _tmp5_ = NULL; +#line 329 "shotwell-data-imports.c" + } +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_MODULE, SpitModule); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/shotwell-data-imports.vala" + return result; +#line 335 "shotwell-data-imports.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/plugins/shotwell-plugin-common.h b/plugins/shotwell-plugin-common.h new file mode 100644 index 0000000..a50ee95 --- /dev/null +++ b/plugins/shotwell-plugin-common.h @@ -0,0 +1,382 @@ +/* shotwell-plugin-common.h generated by valac 0.32.1, the Vala compiler, do not modify */ + + +#ifndef __PLUGINS_SHOTWELL_PLUGIN_COMMON_H__ +#define __PLUGINS_SHOTWELL_PLUGIN_COMMON_H__ + +#include +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define PUBLISHING_REST_SUPPORT_TYPE_SESSION (publishing_rest_support_session_get_type ()) +#define PUBLISHING_REST_SUPPORT_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)) +#define PUBLISHING_REST_SUPPORT_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSessionClass)) +#define PUBLISHING_REST_SUPPORT_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION)) +#define PUBLISHING_REST_SUPPORT_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_SESSION)) +#define PUBLISHING_REST_SUPPORT_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSessionClass)) + +typedef struct _PublishingRESTSupportSession PublishingRESTSupportSession; +typedef struct _PublishingRESTSupportSessionClass PublishingRESTSupportSessionClass; +typedef struct _PublishingRESTSupportSessionPrivate PublishingRESTSupportSessionPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_HTTP_METHOD (publishing_rest_support_http_method_get_type ()) + +#define PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT (publishing_rest_support_argument_get_type ()) +#define PUBLISHING_REST_SUPPORT_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgument)) +#define PUBLISHING_REST_SUPPORT_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgumentClass)) +#define PUBLISHING_REST_SUPPORT_IS_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)) +#define PUBLISHING_REST_SUPPORT_IS_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT)) +#define PUBLISHING_REST_SUPPORT_ARGUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_ARGUMENT, PublishingRESTSupportArgumentClass)) + +typedef struct _PublishingRESTSupportArgument PublishingRESTSupportArgument; +typedef struct _PublishingRESTSupportArgumentClass PublishingRESTSupportArgumentClass; +typedef struct _PublishingRESTSupportArgumentPrivate PublishingRESTSupportArgumentPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION (publishing_rest_support_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)) +#define PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransactionClass)) +#define PUBLISHING_REST_SUPPORT_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransactionClass)) + +typedef struct _PublishingRESTSupportTransaction PublishingRESTSupportTransaction; +typedef struct _PublishingRESTSupportTransactionClass PublishingRESTSupportTransactionClass; +typedef struct _PublishingRESTSupportTransactionPrivate PublishingRESTSupportTransactionPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION (publishing_rest_support_upload_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction)) +#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransactionClass)) +#define PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransactionClass)) + +typedef struct _PublishingRESTSupportUploadTransaction PublishingRESTSupportUploadTransaction; +typedef struct _PublishingRESTSupportUploadTransactionClass PublishingRESTSupportUploadTransactionClass; +typedef struct _PublishingRESTSupportUploadTransactionPrivate PublishingRESTSupportUploadTransactionPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT (publishing_rest_support_xml_document_get_type ()) +#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocument)) +#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocumentClass)) +#define PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)) +#define PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT)) +#define PUBLISHING_REST_SUPPORT_XML_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_XML_DOCUMENT, PublishingRESTSupportXmlDocumentClass)) + +typedef struct _PublishingRESTSupportXmlDocument PublishingRESTSupportXmlDocument; +typedef struct _PublishingRESTSupportXmlDocumentClass PublishingRESTSupportXmlDocumentClass; +typedef struct _PublishingRESTSupportXmlDocumentPrivate PublishingRESTSupportXmlDocumentPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER (publishing_rest_support_batch_uploader_get_type ()) +#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)) +#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploaderClass)) +#define PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)) +#define PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER)) +#define PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploaderClass)) + +typedef struct _PublishingRESTSupportBatchUploader PublishingRESTSupportBatchUploader; +typedef struct _PublishingRESTSupportBatchUploaderClass PublishingRESTSupportBatchUploaderClass; +typedef struct _PublishingRESTSupportBatchUploaderPrivate PublishingRESTSupportBatchUploaderPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION (publishing_rest_support_google_session_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSessionClass)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSessionClass)) + +typedef struct _PublishingRESTSupportGoogleSession PublishingRESTSupportGoogleSession; +typedef struct _PublishingRESTSupportGoogleSessionClass PublishingRESTSupportGoogleSessionClass; +typedef struct _PublishingRESTSupportGoogleSessionPrivate PublishingRESTSupportGoogleSessionPrivate; + +#define PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER (publishing_rest_support_google_publisher_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisherClass)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER)) +#define PUBLISHING_REST_SUPPORT_IS_GOOGLE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisherClass)) + +typedef struct _PublishingRESTSupportGooglePublisher PublishingRESTSupportGooglePublisher; +typedef struct _PublishingRESTSupportGooglePublisherClass PublishingRESTSupportGooglePublisherClass; +typedef struct _PublishingRESTSupportGooglePublisherPrivate PublishingRESTSupportGooglePublisherPrivate; + +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION (publishing_rest_support_google_publisher_authenticated_transaction_get_type ()) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransaction)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_AUTHENTICATED_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_IS_AUTHENTICATED_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION)) +#define PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_AUTHENTICATED_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass)) + +typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransaction PublishingRESTSupportGooglePublisherAuthenticatedTransaction; +typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass; +typedef struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate; + +struct _PublishingRESTSupportSession { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportSessionPrivate * priv; +}; + +struct _PublishingRESTSupportSessionClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportSession *self); + gboolean (*is_authenticated) (PublishingRESTSupportSession* self); +}; + +typedef enum { + PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, + PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST, + PUBLISHING_REST_SUPPORT_HTTP_METHOD_PUT +} PublishingRESTSupportHttpMethod; + +struct _PublishingRESTSupportArgument { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportArgumentPrivate * priv; + gchar* key; + gchar* value; +}; + +struct _PublishingRESTSupportArgumentClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportArgument *self); +}; + +struct _PublishingRESTSupportTransaction { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportTransactionPrivate * priv; +}; + +struct _PublishingRESTSupportTransactionClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportTransaction *self); + void (*add_header) (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value); + void (*execute) (PublishingRESTSupportTransaction* self, GError** error); +}; + +struct _PublishingRESTSupportUploadTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingRESTSupportUploadTransactionPrivate * priv; + GHashTable* binary_disposition_table; + SpitPublishingPublishable* publishable; + gchar* mime_type; + GeeHashMap* message_headers; +}; + +struct _PublishingRESTSupportUploadTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingRESTSupportXmlDocument { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportXmlDocumentPrivate * priv; +}; + +struct _PublishingRESTSupportXmlDocumentClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportXmlDocument *self); +}; + +typedef gchar* (*PublishingRESTSupportXmlDocumentCheckForErrorResponse) (PublishingRESTSupportXmlDocument* doc, void* user_data); +struct _PublishingRESTSupportBatchUploader { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRESTSupportBatchUploaderPrivate * priv; +}; + +struct _PublishingRESTSupportBatchUploaderClass { + GTypeClass parent_class; + void (*finalize) (PublishingRESTSupportBatchUploader *self); + PublishingRESTSupportTransaction* (*create_transaction) (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable); +}; + +struct _PublishingRESTSupportGoogleSession { + PublishingRESTSupportSession parent_instance; + PublishingRESTSupportGoogleSessionPrivate * priv; +}; + +struct _PublishingRESTSupportGoogleSessionClass { + PublishingRESTSupportSessionClass parent_class; + gchar* (*get_user_name) (PublishingRESTSupportGoogleSession* self); + gchar* (*get_access_token) (PublishingRESTSupportGoogleSession* self); + gchar* (*get_refresh_token) (PublishingRESTSupportGoogleSession* self); + void (*deauthenticate) (PublishingRESTSupportGoogleSession* self); +}; + +struct _PublishingRESTSupportGooglePublisher { + GObject parent_instance; + PublishingRESTSupportGooglePublisherPrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherClass { + GObjectClass parent_class; + void (*on_login_flow_complete) (PublishingRESTSupportGooglePublisher* self); + void (*do_logout) (PublishingRESTSupportGooglePublisher* self); + gboolean (*is_running) (PublishingRESTSupportGooglePublisher* self); + void (*start) (PublishingRESTSupportGooglePublisher* self); + void (*stop) (PublishingRESTSupportGooglePublisher* self); +}; + +struct _PublishingRESTSupportGooglePublisherAuthenticatedTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingRESTSupportGooglePublisherAuthenticatedTransactionPrivate * priv; +}; + +struct _PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + + +gchar* publishing_rest_support_hmac_sha1 (const gchar* key, const gchar* message); +gpointer publishing_rest_support_session_ref (gpointer instance); +void publishing_rest_support_session_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_session (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_session (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_session (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_session (const GValue* value); +GType publishing_rest_support_session_get_type (void) G_GNUC_CONST; +PublishingRESTSupportSession* publishing_rest_support_session_construct (GType object_type, const gchar* endpoint_url); +void publishing_rest_support_session_notify_wire_message_unqueued (PublishingRESTSupportSession* self, SoupMessage* message); +void publishing_rest_support_session_notify_authenticated (PublishingRESTSupportSession* self); +void publishing_rest_support_session_notify_authentication_failed (PublishingRESTSupportSession* self, GError* err); +gboolean publishing_rest_support_session_is_authenticated (PublishingRESTSupportSession* self); +gchar* publishing_rest_support_session_get_endpoint_url (PublishingRESTSupportSession* self); +void publishing_rest_support_session_stop_transactions (PublishingRESTSupportSession* self); +gboolean publishing_rest_support_session_are_transactions_stopped (PublishingRESTSupportSession* self); +void publishing_rest_support_session_send_wire_message (PublishingRESTSupportSession* self, SoupMessage* message); +GType publishing_rest_support_http_method_get_type (void) G_GNUC_CONST; +gchar* publishing_rest_support_http_method_to_string (PublishingRESTSupportHttpMethod self); +PublishingRESTSupportHttpMethod publishing_rest_support_http_method_from_string (const gchar* str); +gpointer publishing_rest_support_argument_ref (gpointer instance); +void publishing_rest_support_argument_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_argument (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_argument (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_argument (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_argument (const GValue* value); +GType publishing_rest_support_argument_get_type (void) G_GNUC_CONST; +PublishingRESTSupportArgument* publishing_rest_support_argument_new (const gchar* key, const gchar* value); +PublishingRESTSupportArgument* publishing_rest_support_argument_construct (GType object_type, const gchar* key, const gchar* value); +gint publishing_rest_support_argument_compare (PublishingRESTSupportArgument* arg1, PublishingRESTSupportArgument* arg2); +PublishingRESTSupportArgument** publishing_rest_support_argument_sort (PublishingRESTSupportArgument** inputArray, int inputArray_length1, int* result_length1); +gchar* publishing_rest_support_argument_to_string (PublishingRESTSupportArgument* self); +gpointer publishing_rest_support_transaction_ref (gpointer instance); +void publishing_rest_support_transaction_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_transaction (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_transaction (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_transaction (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_transaction (const GValue* value); +GType publishing_rest_support_transaction_get_type (void) G_GNUC_CONST; +PublishingRESTSupportTransaction* publishing_rest_support_transaction_new (PublishingRESTSupportSession* parent_session, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct (GType object_type, PublishingRESTSupportSession* parent_session, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportTransaction* publishing_rest_support_transaction_new_with_endpoint_url (PublishingRESTSupportSession* parent_session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportTransaction* publishing_rest_support_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportSession* parent_session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +void publishing_rest_support_transaction_check_response (PublishingRESTSupportTransaction* self, SoupMessage* message, GError** error); +PublishingRESTSupportArgument** publishing_rest_support_transaction_get_arguments (PublishingRESTSupportTransaction* self, int* result_length1); +PublishingRESTSupportArgument** publishing_rest_support_transaction_get_sorted_arguments (PublishingRESTSupportTransaction* self, int* result_length1); +void publishing_rest_support_transaction_set_is_executed (PublishingRESTSupportTransaction* self, gboolean is_executed); +void publishing_rest_support_transaction_send (PublishingRESTSupportTransaction* self, GError** error); +PublishingRESTSupportHttpMethod publishing_rest_support_transaction_get_method (PublishingRESTSupportTransaction* self); +void publishing_rest_support_transaction_add_header (PublishingRESTSupportTransaction* self, const gchar* key, const gchar* value); +void publishing_rest_support_transaction_set_custom_payload (PublishingRESTSupportTransaction* self, const gchar* custom_payload, const gchar* payload_content_type, gulong payload_length); +void publishing_rest_support_transaction_set_message (PublishingRESTSupportTransaction* self, SoupMessage* message); +gboolean publishing_rest_support_transaction_get_is_executed (PublishingRESTSupportTransaction* self); +guint publishing_rest_support_transaction_get_status_code (PublishingRESTSupportTransaction* self); +void publishing_rest_support_transaction_execute (PublishingRESTSupportTransaction* self, GError** error); +gchar* publishing_rest_support_transaction_get_response (PublishingRESTSupportTransaction* self); +SoupMessageHeaders* publishing_rest_support_transaction_get_response_headers (PublishingRESTSupportTransaction* self); +SoupMessage* publishing_rest_support_transaction_get_message (PublishingRESTSupportTransaction* self); +void publishing_rest_support_transaction_add_argument (PublishingRESTSupportTransaction* self, const gchar* name, const gchar* value); +gchar* publishing_rest_support_transaction_get_endpoint_url (PublishingRESTSupportTransaction* self); +PublishingRESTSupportSession* publishing_rest_support_transaction_get_parent_session (PublishingRESTSupportTransaction* self); +GType publishing_rest_support_upload_transaction_get_type (void) G_GNUC_CONST; +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new (PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable); +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable); +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_new_with_endpoint_url (PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable, const gchar* endpoint_url); +PublishingRESTSupportUploadTransaction* publishing_rest_support_upload_transaction_construct_with_endpoint_url (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable* publishable, const gchar* endpoint_url); +void publishing_rest_support_upload_transaction_set_binary_disposition_table (PublishingRESTSupportUploadTransaction* self, GHashTable* new_disp_table); +gpointer publishing_rest_support_xml_document_ref (gpointer instance); +void publishing_rest_support_xml_document_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_xml_document (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_xml_document (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_xml_document (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_xml_document (const GValue* value); +GType publishing_rest_support_xml_document_get_type (void) G_GNUC_CONST; +xmlNode* publishing_rest_support_xml_document_get_root_node (PublishingRESTSupportXmlDocument* self); +xmlNode* publishing_rest_support_xml_document_get_named_child (PublishingRESTSupportXmlDocument* self, xmlNode* parent, const gchar* child_name, GError** error); +gchar* publishing_rest_support_xml_document_get_property_value (PublishingRESTSupportXmlDocument* self, xmlNode* node, const gchar* property_key, GError** error); +PublishingRESTSupportXmlDocument* publishing_rest_support_xml_document_parse_string (const gchar* input_string, PublishingRESTSupportXmlDocumentCheckForErrorResponse check_for_error_response, void* check_for_error_response_target, GError** error); +gchar* publishing_rest_support_decimal_entity_encode (const gchar* source); +gpointer publishing_rest_support_batch_uploader_ref (gpointer instance); +void publishing_rest_support_batch_uploader_unref (gpointer instance); +GParamSpec* publishing_rest_support_param_spec_batch_uploader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rest_support_value_set_batch_uploader (GValue* value, gpointer v_object); +void publishing_rest_support_value_take_batch_uploader (GValue* value, gpointer v_object); +gpointer publishing_rest_support_value_get_batch_uploader (const GValue* value); +GType publishing_rest_support_batch_uploader_get_type (void) G_GNUC_CONST; +PublishingRESTSupportBatchUploader* publishing_rest_support_batch_uploader_construct (GType object_type, PublishingRESTSupportSession* session, SpitPublishingPublishable** publishables, int publishables_length1); +PublishingRESTSupportSession* publishing_rest_support_batch_uploader_get_session (PublishingRESTSupportBatchUploader* self); +SpitPublishingPublishable* publishing_rest_support_batch_uploader_get_current_publishable (PublishingRESTSupportBatchUploader* self); +PublishingRESTSupportTransaction* publishing_rest_support_batch_uploader_create_transaction (PublishingRESTSupportBatchUploader* self, SpitPublishingPublishable* publishable); +void publishing_rest_support_batch_uploader_upload (PublishingRESTSupportBatchUploader* self, SpitPublishingProgressCallback status_updated, void* status_updated_target); +gchar* publishing_rest_support_asciify_string (const gchar* s); +GType publishing_rest_support_google_session_get_type (void) G_GNUC_CONST; +gchar* publishing_rest_support_google_session_get_user_name (PublishingRESTSupportGoogleSession* self); +gchar* publishing_rest_support_google_session_get_access_token (PublishingRESTSupportGoogleSession* self); +gchar* publishing_rest_support_google_session_get_refresh_token (PublishingRESTSupportGoogleSession* self); +void publishing_rest_support_google_session_deauthenticate (PublishingRESTSupportGoogleSession* self); +PublishingRESTSupportGoogleSession* publishing_rest_support_google_session_construct (GType object_type); +GType publishing_rest_support_google_publisher_get_type (void) G_GNUC_CONST; +PublishingRESTSupportGooglePublisher* publishing_rest_support_google_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host, const gchar* scope); +SpitPublishingPluginHost* publishing_rest_support_google_publisher_get_host (PublishingRESTSupportGooglePublisher* self); +PublishingRESTSupportGoogleSession* publishing_rest_support_google_publisher_get_session (PublishingRESTSupportGooglePublisher* self); +void publishing_rest_support_google_publisher_start_oauth_flow (PublishingRESTSupportGooglePublisher* self, const gchar* refresh_token); +void publishing_rest_support_google_publisher_on_login_flow_complete (PublishingRESTSupportGooglePublisher* self); +void publishing_rest_support_google_publisher_do_logout (PublishingRESTSupportGooglePublisher* self); +gboolean publishing_rest_support_google_publisher_is_running (PublishingRESTSupportGooglePublisher* self); +void publishing_rest_support_google_publisher_start (PublishingRESTSupportGooglePublisher* self); +void publishing_rest_support_google_publisher_stop (PublishingRESTSupportGooglePublisher* self); +GType publishing_rest_support_google_publisher_authenticated_transaction_get_type (void) G_GNUC_CONST; +PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_new (PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +PublishingRESTSupportGooglePublisherAuthenticatedTransaction* publishing_rest_support_google_publisher_authenticated_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, const gchar* endpoint_url, PublishingRESTSupportHttpMethod method); +#define RESOURCES_WEBSITE_NAME _ ("Visit the Shotwell home page") +#define RESOURCES_WEBSITE_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" +#define RESOURCES_TRANSLATORS _ ("translator-credits") +GdkPixbuf** resources_load_icon_set (GFile* icon_file, int* result_length1); +GdkPixbuf** resources_load_from_resource (const gchar* resource_path, int* result_length1); + + +G_END_DECLS + +#endif diff --git a/plugins/shotwell-plugin-common.vapi b/plugins/shotwell-plugin-common.vapi new file mode 100644 index 0000000..39d0cdd --- /dev/null +++ b/plugins/shotwell-plugin-common.vapi @@ -0,0 +1,139 @@ +/* shotwell-plugin-common.vapi generated by valac 0.32.1, do not modify. */ + +namespace Publishing { + namespace RESTSupport { + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public class Argument { + public string key; + public string value; + public Argument (string key, string value); + public static int compare (Publishing.RESTSupport.Argument arg1, Publishing.RESTSupport.Argument arg2); + public static Publishing.RESTSupport.Argument[] sort (Publishing.RESTSupport.Argument[] inputArray); + public string to_string (); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public abstract class BatchUploader { + public BatchUploader (Publishing.RESTSupport.Session session, Spit.Publishing.Publishable[] publishables); + protected abstract Publishing.RESTSupport.Transaction create_transaction (Spit.Publishing.Publishable publishable); + protected Spit.Publishing.Publishable get_current_publishable (); + protected Publishing.RESTSupport.Session get_session (); + public void upload (Spit.Publishing.ProgressCallback? status_updated = null); + public signal void upload_complete (int num_photos_published); + public signal void upload_error (Spit.Publishing.PublishingError err); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public abstract class GooglePublisher : GLib.Object, Spit.Publishing.Publisher { + public class AuthenticatedTransaction : Publishing.RESTSupport.Transaction { + public AuthenticatedTransaction (Publishing.RESTSupport.GoogleSession session, string endpoint_url, Publishing.RESTSupport.HttpMethod method); + } + protected GooglePublisher (Spit.Publishing.Service service, Spit.Publishing.PluginHost host, string scope); + protected abstract void do_logout (); + protected unowned Spit.Publishing.PluginHost get_host (); + protected Publishing.RESTSupport.GoogleSession get_session (); + public abstract bool is_running (); + protected abstract void on_login_flow_complete (); + public abstract void start (); + protected void start_oauth_flow (string? refresh_token = null); + public abstract void stop (); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public abstract class GoogleSession : Publishing.RESTSupport.Session { + public GoogleSession (); + public abstract void deauthenticate (); + public abstract string get_access_token (); + public abstract string get_refresh_token (); + public abstract string get_user_name (); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public abstract class Session { + public Session (string? endpoint_url = null); + public bool are_transactions_stopped (); + public string? get_endpoint_url (); + public abstract bool is_authenticated (); + protected void notify_authenticated (); + protected void notify_authentication_failed (Spit.Publishing.PublishingError err); + protected void notify_wire_message_unqueued (Soup.Message message); + public void send_wire_message (Soup.Message message); + public void stop_transactions (); + public signal void authenticated (); + public signal void authentication_failed (Spit.Publishing.PublishingError err); + public signal void wire_message_unqueued (Soup.Message message); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public class Transaction { + public Transaction (Publishing.RESTSupport.Session parent_session, Publishing.RESTSupport.HttpMethod method = HttpMethod.POST); + public void add_argument (string name, string value); + protected virtual void add_header (string key, string value); + protected void check_response (Soup.Message message) throws Spit.Publishing.PublishingError; + public virtual void execute () throws Spit.Publishing.PublishingError; + public Publishing.RESTSupport.Argument[] get_arguments (); + public string? get_endpoint_url (); + public bool get_is_executed (); + public Soup.Message get_message (); + public Publishing.RESTSupport.HttpMethod get_method (); + public Publishing.RESTSupport.Session get_parent_session (); + public string get_response (); + public unowned Soup.MessageHeaders get_response_headers (); + public Publishing.RESTSupport.Argument[] get_sorted_arguments (); + public uint get_status_code (); + protected void send () throws Spit.Publishing.PublishingError; + protected void set_custom_payload (string? custom_payload, string payload_content_type, ulong payload_length = 0); + protected void set_is_executed (bool is_executed); + protected void set_message (Soup.Message message); + public Transaction.with_endpoint_url (Publishing.RESTSupport.Session parent_session, string endpoint_url, Publishing.RESTSupport.HttpMethod method = HttpMethod.POST); + public signal void chunk_transmitted (int bytes_written_so_far, int total_bytes); + public signal void completed (); + public signal void network_error (Spit.Publishing.PublishingError err); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public class UploadTransaction : Publishing.RESTSupport.Transaction { + protected GLib.HashTable binary_disposition_table; + protected Gee.HashMap message_headers; + protected string mime_type; + protected Spit.Publishing.Publishable publishable; + public UploadTransaction (Publishing.RESTSupport.Session session, Spit.Publishing.Publishable publishable); + protected override void add_header (string key, string value); + public override void execute () throws Spit.Publishing.PublishingError; + protected void set_binary_disposition_table (GLib.HashTable new_disp_table); + public UploadTransaction.with_endpoint_url (Publishing.RESTSupport.Session session, Spit.Publishing.Publishable publishable, string endpoint_url); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public class XmlDocument { + public delegate string? CheckForErrorResponse (Publishing.RESTSupport.XmlDocument doc); + public Xml.Node* get_named_child (Xml.Node* parent, string child_name) throws Spit.Publishing.PublishingError; + public string get_property_value (Xml.Node* node, string property_key) throws Spit.Publishing.PublishingError; + public Xml.Node* get_root_node (); + public static Publishing.RESTSupport.XmlDocument parse_string (string? input_string, Publishing.RESTSupport.XmlDocument.CheckForErrorResponse check_for_error_response) throws Spit.Publishing.PublishingError; + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public enum HttpMethod { + GET, + POST, + PUT; + public string to_string (); + public static Publishing.RESTSupport.HttpMethod from_string (string str); + } + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public static string asciify_string (string s); + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public static string decimal_entity_encode (string source); + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public static string hmac_sha1 (string key, string message); + } +} +namespace Resources { + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public const string LICENSE; + [CCode (cheader_filename = "shotwell-plugin-common.h", cname = "PLUGIN_RESOURCE_PATH")] + public const string RESOURCE_PATH; + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public const string TRANSLATORS; + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public const string WEBSITE_NAME; + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public const string WEBSITE_URL; + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public static Gdk.Pixbuf[]? load_from_resource (string resource_path); + [CCode (cheader_filename = "shotwell-plugin-common.h")] + public static Gdk.Pixbuf[]? load_icon_set (GLib.File? icon_file); +} diff --git a/plugins/shotwell-plugin-dev-1.0.h b/plugins/shotwell-plugin-dev-1.0.h new file mode 100644 index 0000000..fb72125 --- /dev/null +++ b/plugins/shotwell-plugin-dev-1.0.h @@ -0,0 +1,900 @@ +/* shotwell-plugin-dev-1.0.h generated by valac 0.32.1, the Vala compiler, do not modify */ + + +#ifndef __PLUGINS_SHOTWELL_PLUGIN_DEV_1_0_H__ +#define __PLUGINS_SHOTWELL_PLUGIN_DEV_1_0_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define SPIT_TYPE_ENTRY_POINT_PARAMS (spit_entry_point_params_get_type ()) +typedef struct _SpitEntryPointParams SpitEntryPointParams; + +#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 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_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 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_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_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; + +#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_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_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 ()) + +#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_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_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; + +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); +}; + +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 _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 _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); +}; + +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 () +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); +}; + +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 () +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_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); +void spit_module_reserved1 (SpitModule* self); +void spit_module_reserved2 (SpitModule* self); +void spit_module_reserved3 (SpitModule* self); +void spit_module_reserved4 (SpitModule* self); +void spit_module_reserved5 (SpitModule* self); +void spit_module_reserved6 (SpitModule* self); +void spit_module_reserved7 (SpitModule* self); +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); +void spit_pluggable_reserved1 (SpitPluggable* self); +void spit_pluggable_reserved2 (SpitPluggable* self); +void spit_pluggable_reserved3 (SpitPluggable* self); +void spit_pluggable_reserved4 (SpitPluggable* self); +void spit_pluggable_reserved5 (SpitPluggable* self); +void spit_pluggable_reserved6 (SpitPluggable* self); +void spit_pluggable_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); +void spit_host_interface_reserved1 (SpitHostInterface* self); +void spit_host_interface_reserved2 (SpitHostInterface* self); +void spit_host_interface_reserved3 (SpitHostInterface* self); +void spit_host_interface_reserved4 (SpitHostInterface* self); +void spit_host_interface_reserved5 (SpitHostInterface* self); +void spit_host_interface_reserved6 (SpitHostInterface* self); +void spit_host_interface_reserved7 (SpitHostInterface* self); +#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; +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); +void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_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); +GType spit_transitions_motion_get_type (void) G_GNUC_CONST; +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); +gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number); +void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self); +void spit_transitions_motion_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_total_frames (SpitTransitionsMotion* self); +gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self); +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); +void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_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); +void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self); +#define SPIT_PUBLISHING_CURRENT_INTERFACE 0 +GQuark spit_publishing_publishing_error_quark (void); +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); +void spit_publishing_publisher_reserved1 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved2 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved3 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved4 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved5 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved6 (SpitPublishingPublisher* self); +void spit_publishing_publisher_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); +void spit_publishing_dialog_pane_reserved1 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved2 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved3 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved4 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved5 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved6 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_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); +void spit_publishing_plugin_host_reserved1 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved2 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved3 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved4 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved5 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved6 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_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); +void spit_publishing_publishable_reserved1 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved2 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved3 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved4 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved5 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved6 (SpitPublishingPublishable* self); +void spit_publishing_publishable_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); +void spit_publishing_service_reserved1 (SpitPublishingService* self); +void spit_publishing_service_reserved2 (SpitPublishingService* self); +void spit_publishing_service_reserved3 (SpitPublishingService* self); +void spit_publishing_service_reserved4 (SpitPublishingService* self); +void spit_publishing_service_reserved5 (SpitPublishingService* self); +void spit_publishing_service_reserved6 (SpitPublishingService* self); +void spit_publishing_service_reserved7 (SpitPublishingService* self); +#define SPIT_DATA_IMPORTS_CURRENT_INTERFACE 0 +GQuark spit_data_imports_data_import_error_quark (void); +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); +void spit_data_imports_data_importer_reserved1 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved2 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved3 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved4 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved5 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved6 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_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); +void spit_data_imports_dialog_pane_reserved1 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved2 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved3 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved4 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved5 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved6 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_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); +void spit_data_imports_plugin_host_reserved1 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved2 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved3 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved4 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved5 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved6 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved7 (SpitDataImportsPluginHost* self); +SpitDataImportsDataImporter* spit_data_imports_service_create_data_importer (SpitDataImportsService* self, SpitDataImportsPluginHost* host); +void spit_data_imports_service_reserved0 (SpitDataImportsService* self); +void spit_data_imports_service_reserved1 (SpitDataImportsService* self); +void spit_data_imports_service_reserved2 (SpitDataImportsService* self); +void spit_data_imports_service_reserved3 (SpitDataImportsService* self); +void spit_data_imports_service_reserved4 (SpitDataImportsService* self); +void spit_data_imports_service_reserved5 (SpitDataImportsService* self); +void spit_data_imports_service_reserved6 (SpitDataImportsService* self); +void spit_data_imports_service_reserved7 (SpitDataImportsService* self); + + +G_END_DECLS + +#endif diff --git a/plugins/shotwell-plugin-dev-1.0.vapi b/plugins/shotwell-plugin-dev-1.0.vapi new file mode 100644 index 0000000..e065dab --- /dev/null +++ b/plugins/shotwell-plugin-dev-1.0.vapi @@ -0,0 +1,401 @@ +/* shotwell-plugin-dev-1.0.vapi generated by valac 0.32.1, do not modify. */ + +namespace Spit { + namespace DataImports { + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface DataImporter : GLib.Object { + public abstract Spit.DataImports.Service get_service (); + public abstract bool is_running (); + public abstract void on_file_selected (GLib.File file); + public abstract void on_library_selected (Spit.DataImports.ImportableLibrary library); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public abstract void start (); + public abstract void stop (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface DialogPane : GLib.Object { + public enum GeometryOptions { + NONE, + EXTENDED_SIZE, + RESIZABLE, + COLOSSAL_SIZE + } + public abstract Spit.DataImports.DialogPane.GeometryOptions get_preferred_geometry (); + public abstract Gtk.Widget get_widget (); + public abstract void on_pane_installed (); + public abstract void on_pane_uninstalled (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface ImportableEvent : GLib.Object { + public abstract string get_name (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface ImportableLibrary : GLib.Object { + public abstract string get_display_name (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface ImportableMediaItem : GLib.Object { + public abstract Spit.DataImports.ImportableEvent? get_event (); + public abstract time_t? get_exposure_time (); + public abstract string get_filename (); + public abstract string get_folder_path (); + public abstract Spit.DataImports.ImportableRating get_rating (); + public abstract Spit.DataImports.ImportableTag[] get_tags (); + public abstract string? get_title (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface ImportableRating : GLib.Object { + public abstract int get_value (); + public abstract bool is_rejected (); + public abstract bool is_unrated (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface ImportableTag : GLib.Object { + public abstract string get_name (); + public abstract Spit.DataImports.ImportableTag? get_parent (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface PluginHost : GLib.Object, Spit.HostInterface { + public enum ButtonMode { + CLOSE, + CANCEL + } + public abstract void finalize_import (Spit.DataImports.ImportedItemsCountCallback report_imported_items_count, string? finalize_message = null); + public abstract Spit.DataImports.DataImporter get_data_importer (); + public abstract void install_dialog_pane (Spit.DataImports.DialogPane pane, Spit.DataImports.PluginHost.ButtonMode mode = ButtonMode.CANCEL); + public abstract void install_import_progress_pane (string message); + public abstract void install_library_selection_pane (string welcome_message, Spit.DataImports.ImportableLibrary[] discovered_libraries, string? file_select_label); + public abstract void install_static_message_pane (string message, Spit.DataImports.PluginHost.ButtonMode mode = ButtonMode.CANCEL); + public abstract void post_error (GLib.Error err); + public abstract void post_error_message (string msg); + public abstract void prepare_media_items_for_import (Spit.DataImports.ImportableMediaItem[] items, double progress, double host_progress_delta = 0.0, string? progress_message = null); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public abstract void start_importing (); + public abstract void stop_importing (); + public abstract void update_import_progress_pane (double progress, string? progress_message = null); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Service : GLib.Object, Spit.Pluggable { + public abstract Spit.DataImports.DataImporter create_data_importer (Spit.DataImports.PluginHost host); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public errordomain DataImportError { + UNSUPPORTED_VERSION + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public delegate void ImportedItemsCountCallback (int imported_items_count); + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public const int CURRENT_INTERFACE; + } + namespace Publishing { + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface DialogPane : GLib.Object { + public enum GeometryOptions { + NONE, + EXTENDED_SIZE, + RESIZABLE, + COLOSSAL_SIZE + } + public abstract Spit.Publishing.DialogPane.GeometryOptions get_preferred_geometry (); + public abstract Gtk.Widget get_widget (); + public abstract void on_pane_installed (); + public abstract void on_pane_uninstalled (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface PluginHost : GLib.Object, Spit.HostInterface { + public enum ButtonMode { + CLOSE, + CANCEL + } + public abstract Spit.Publishing.Publisher.MediaType get_publishable_media_type (); + public abstract Spit.Publishing.Publishable[] get_publishables (); + public abstract Spit.Publishing.Publisher get_publisher (); + public abstract void install_account_fetch_wait_pane (); + public abstract void install_dialog_pane (Spit.Publishing.DialogPane pane, Spit.Publishing.PluginHost.ButtonMode mode = ButtonMode.CANCEL); + public abstract void install_login_wait_pane (); + public abstract void install_pango_message_pane (string markup, Spit.Publishing.PluginHost.ButtonMode mode = ButtonMode.CANCEL); + public abstract void install_static_message_pane (string message, Spit.Publishing.PluginHost.ButtonMode mode = ButtonMode.CANCEL); + public abstract void install_success_pane (); + public abstract void install_welcome_pane (string welcome_message, Spit.Publishing.LoginCallback on_login_clicked); + public abstract void post_error (GLib.Error err); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public abstract Spit.Publishing.ProgressCallback? serialize_publishables (int content_major_axis, bool strip_metadata = false); + public abstract void set_dialog_default_widget (Gtk.Widget widget); + public abstract void set_service_locked (bool is_locked); + public abstract void stop_publishing (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Publishable : GLib.Object { + public const string PARAM_STRING_BASENAME; + public const string PARAM_STRING_COMMENT; + public const string PARAM_STRING_EVENTCOMMENT; + public const string PARAM_STRING_TITLE; + public abstract GLib.DateTime get_exposure_date_time (); + public abstract Spit.Publishing.Publisher.MediaType get_media_type (); + public abstract string? get_param_string (string name); + public abstract string[] get_publishing_keywords (); + public abstract string get_publishing_name (); + public abstract GLib.File? get_serialized_file (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Publisher : GLib.Object { + public enum MediaType { + NONE, + PHOTO, + VIDEO + } + public abstract Spit.Publishing.Service get_service (); + public abstract bool is_running (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public abstract void start (); + public abstract void stop (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Service : GLib.Object, Spit.Pluggable { + public abstract Spit.Publishing.Publisher create_publisher (Spit.Publishing.PluginHost host); + public abstract Spit.Publishing.Publisher.MediaType get_supported_media (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public errordomain PublishingError { + NO_ANSWER, + COMMUNICATION_FAILED, + PROTOCOL_ERROR, + SERVICE_ERROR, + MALFORMED_RESPONSE, + LOCAL_FILE_ERROR, + EXPIRED_SESSION, + SSL_FAILED + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public delegate void LoginCallback (); + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public delegate void ProgressCallback (int file_number, double fraction_complete); + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public const int CURRENT_INTERFACE; + } + namespace Transitions { + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public class Motion : GLib.Object { + public Motion (Spit.Transitions.Direction direction, int fps, int duration_msec); + public double get_alpha (int frame_number); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public Spit.Transitions.Direction direction { get; private set; } + public int duration_msec { get; private set; } + public int fps { get; private set; } + public int tick_msec { get; } + public int total_frames { get; } + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public class Visuals : GLib.Object { + public Visuals (Gdk.Pixbuf? from_pixbuf, Gdk.Rectangle from_pos, Gdk.Pixbuf? to_pixbuf, Gdk.Rectangle to_pos, Gdk.RGBA bg_color); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public Gdk.RGBA bg_color { get; private set; } + public Gdk.Pixbuf? from_pixbuf { get; private set; } + public Gdk.Rectangle from_pos { get; private set; } + public Gdk.Pixbuf? to_pixbuf { get; private set; } + public Gdk.Rectangle to_pos { get; private set; } + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Descriptor : GLib.Object, Spit.Pluggable { + public abstract Spit.Transitions.Effect create (Spit.HostInterface host); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Effect : GLib.Object { + public abstract void advance (Spit.Transitions.Visuals visuals, Spit.Transitions.Motion motion, int frame_number); + public abstract void cancel (); + public abstract void get_fps (out int desired_fps, out int min_fps); + public abstract bool needs_clear_background (); + public abstract void paint (Spit.Transitions.Visuals visuals, Spit.Transitions.Motion motion, Cairo.Context ctx, int width, int height, int frame_number); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public abstract void start (Spit.Transitions.Visuals visuals, Spit.Transitions.Motion motion); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public enum Direction { + LEFT, + RIGHT, + FORWARD, + BACKWARD + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public const int CURRENT_INTERFACE; + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface HostInterface : GLib.Object { + public abstract bool get_config_bool (string key, bool def); + public abstract double get_config_double (string key, double def); + public abstract int get_config_int (string key, int def); + public abstract string? get_config_string (string key, string? def); + public abstract GLib.File get_module_file (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + public abstract void set_config_bool (string key, bool val); + public abstract void set_config_double (string key, double val); + public abstract void set_config_int (string key, int val); + public abstract void set_config_string (string key, string? val); + public abstract void unset_config_key (string key); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Module : GLib.Object { + public abstract unowned string get_id (); + public abstract unowned string get_module_name (); + public abstract unowned Spit.Pluggable[]? get_pluggables (); + public abstract unowned string get_version (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public interface Pluggable : GLib.Object { + public abstract void activation (bool enabled); + public abstract unowned string get_id (); + public abstract void get_info (ref Spit.PluggableInfo info); + public abstract int get_pluggable_interface (int min_host_interface, int max_host_interface); + public abstract unowned string get_pluggable_name (); + protected virtual void reserved0 (); + protected virtual void reserved1 (); + protected virtual void reserved2 (); + protected virtual void reserved3 (); + protected virtual void reserved4 (); + protected virtual void reserved5 (); + protected virtual void reserved6 (); + protected virtual void reserved7 (); + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public struct EntryPointParams { + public int host_min_spit_interface; + public int host_max_spit_interface; + public int module_spit_interface; + public GLib.File module_file; + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public struct PluggableInfo { + public string? version; + public string? brief_description; + public string? authors; + public string? copyright; + public string? license; + public bool is_license_wordwrapped; + public string? website_url; + public string? website_name; + public string? translators; + public Gdk.Pixbuf[]? icons; + } + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h", has_target = false)] + public delegate Spit.Module? EntryPoint (Spit.EntryPointParams* @params); + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public const int CURRENT_INTERFACE; + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public const string ENTRY_POINT_NAME; + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public const int UNSUPPORTED_INTERFACE; + [CCode (cheader_filename = "shotwell-plugin-dev-1.0.h")] + public static int negotiate_interfaces (int min_host_interface, int max_host_interface, int plugin_interface); +} diff --git a/plugins/shotwell-publishing-extras/GalleryConnector.c b/plugins/shotwell-publishing-extras/GalleryConnector.c new file mode 100644 index 0000000..bf0174a --- /dev/null +++ b/plugins/shotwell-publishing-extras/GalleryConnector.c @@ -0,0 +1,13000 @@ +/* GalleryConnector.c generated by valac 0.32.1, the Vala compiler + * generated from GalleryConnector.vala, do not modify */ + +/* Copyright 2012-2013 Joe Sapp nixphoeni@gentoo.org + * + * 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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include + + +#define TYPE_SHOTWELL_PUBLISHING_GALLERY3 (shotwell_publishing_gallery3_get_type ()) +#define SHOTWELL_PUBLISHING_GALLERY3(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3)) +#define SHOTWELL_PUBLISHING_GALLERY3_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3Class)) +#define IS_SHOTWELL_PUBLISHING_GALLERY3(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_PUBLISHING_GALLERY3)) +#define IS_SHOTWELL_PUBLISHING_GALLERY3_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_PUBLISHING_GALLERY3)) +#define SHOTWELL_PUBLISHING_GALLERY3_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3Class)) + +typedef struct _ShotwellPublishingGallery3 ShotwellPublishingGallery3; +typedef struct _ShotwellPublishingGallery3Class ShotwellPublishingGallery3Class; +typedef struct _ShotwellPublishingGallery3Private ShotwellPublishingGallery3Private; + +#define TYPE_GALLERY3_SERVICE (gallery3_service_get_type ()) +#define GALLERY3_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GALLERY3_SERVICE, Gallery3Service)) +#define GALLERY3_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GALLERY3_SERVICE, Gallery3ServiceClass)) +#define IS_GALLERY3_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GALLERY3_SERVICE)) +#define IS_GALLERY3_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GALLERY3_SERVICE)) +#define GALLERY3_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GALLERY3_SERVICE, Gallery3ServiceClass)) + +typedef struct _Gallery3Service Gallery3Service; +typedef struct _Gallery3ServiceClass Gallery3ServiceClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _Gallery3ServicePrivate Gallery3ServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER (publishing_gallery3_gallery_publisher_get_type ()) +#define PUBLISHING_GALLERY3_GALLERY_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisher)) +#define PUBLISHING_GALLERY3_GALLERY_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisherClass)) +#define PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER)) +#define PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER)) +#define PUBLISHING_GALLERY3_GALLERY_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisherClass)) + +typedef struct _PublishingGallery3GalleryPublisher PublishingGallery3GalleryPublisher; +typedef struct _PublishingGallery3GalleryPublisherClass PublishingGallery3GalleryPublisherClass; + +#define PUBLISHING_GALLERY3_TYPE_ALBUM (publishing_gallery3_album_get_type ()) +#define PUBLISHING_GALLERY3_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_ALBUM, PublishingGallery3Album)) +#define PUBLISHING_GALLERY3_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_ALBUM, PublishingGallery3AlbumClass)) +#define PUBLISHING_GALLERY3_IS_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_ALBUM)) +#define PUBLISHING_GALLERY3_IS_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_ALBUM)) +#define PUBLISHING_GALLERY3_ALBUM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_ALBUM, PublishingGallery3AlbumClass)) + +typedef struct _PublishingGallery3Album PublishingGallery3Album; +typedef struct _PublishingGallery3AlbumClass PublishingGallery3AlbumClass; +typedef struct _PublishingGallery3AlbumPrivate PublishingGallery3AlbumPrivate; +typedef struct _PublishingGallery3ParamSpecAlbum PublishingGallery3ParamSpecAlbum; + +#define PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION (publishing_gallery3_base_gallery_transaction_get_type ()) +#define PUBLISHING_GALLERY3_BASE_GALLERY_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransaction)) +#define PUBLISHING_GALLERY3_BASE_GALLERY_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransactionClass)) +#define PUBLISHING_GALLERY3_IS_BASE_GALLERY_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_BASE_GALLERY_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION)) +#define PUBLISHING_GALLERY3_BASE_GALLERY_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransactionClass)) + +typedef struct _PublishingGallery3BaseGalleryTransaction PublishingGallery3BaseGalleryTransaction; +typedef struct _PublishingGallery3BaseGalleryTransactionClass PublishingGallery3BaseGalleryTransactionClass; +typedef struct _PublishingGallery3BaseGalleryTransactionPrivate PublishingGallery3BaseGalleryTransactionPrivate; + +#define PUBLISHING_GALLERY3_TYPE_SESSION (publishing_gallery3_session_get_type ()) +#define PUBLISHING_GALLERY3_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3Session)) +#define PUBLISHING_GALLERY3_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3SessionClass)) +#define PUBLISHING_GALLERY3_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_SESSION)) +#define PUBLISHING_GALLERY3_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_SESSION)) +#define PUBLISHING_GALLERY3_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3SessionClass)) + +typedef struct _PublishingGallery3Session PublishingGallery3Session; +typedef struct _PublishingGallery3SessionClass PublishingGallery3SessionClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION (publishing_gallery3_key_fetch_transaction_get_type ()) +#define PUBLISHING_GALLERY3_KEY_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION, PublishingGallery3KeyFetchTransaction)) +#define PUBLISHING_GALLERY3_KEY_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION, PublishingGallery3KeyFetchTransactionClass)) +#define PUBLISHING_GALLERY3_IS_KEY_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_KEY_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION)) +#define PUBLISHING_GALLERY3_KEY_FETCH_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION, PublishingGallery3KeyFetchTransactionClass)) + +typedef struct _PublishingGallery3KeyFetchTransaction PublishingGallery3KeyFetchTransaction; +typedef struct _PublishingGallery3KeyFetchTransactionClass PublishingGallery3KeyFetchTransactionClass; +typedef struct _PublishingGallery3KeyFetchTransactionPrivate PublishingGallery3KeyFetchTransactionPrivate; + +#define PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION (publishing_gallery3_gallery_request_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GALLERY_REQUEST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION, PublishingGallery3GalleryRequestTransaction)) +#define PUBLISHING_GALLERY3_GALLERY_REQUEST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION, PublishingGallery3GalleryRequestTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GALLERY_REQUEST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GALLERY_REQUEST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION)) +#define PUBLISHING_GALLERY3_GALLERY_REQUEST_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION, PublishingGallery3GalleryRequestTransactionClass)) + +typedef struct _PublishingGallery3GalleryRequestTransaction PublishingGallery3GalleryRequestTransaction; +typedef struct _PublishingGallery3GalleryRequestTransactionClass PublishingGallery3GalleryRequestTransactionClass; +typedef struct _PublishingGallery3GalleryRequestTransactionPrivate PublishingGallery3GalleryRequestTransactionPrivate; + +#define PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION (publishing_gallery3_get_album_ur_ls_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GET_ALBUM_UR_LS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION, PublishingGallery3GetAlbumURLsTransaction)) +#define PUBLISHING_GALLERY3_GET_ALBUM_UR_LS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION, PublishingGallery3GetAlbumURLsTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GET_ALBUM_UR_LS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GET_ALBUM_UR_LS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION)) +#define PUBLISHING_GALLERY3_GET_ALBUM_UR_LS_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION, PublishingGallery3GetAlbumURLsTransactionClass)) + +typedef struct _PublishingGallery3GetAlbumURLsTransaction PublishingGallery3GetAlbumURLsTransaction; +typedef struct _PublishingGallery3GetAlbumURLsTransactionClass PublishingGallery3GetAlbumURLsTransactionClass; +typedef struct _PublishingGallery3GetAlbumURLsTransactionPrivate PublishingGallery3GetAlbumURLsTransactionPrivate; + +#define PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION (publishing_gallery3_get_albums_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GET_ALBUMS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION, PublishingGallery3GetAlbumsTransaction)) +#define PUBLISHING_GALLERY3_GET_ALBUMS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION, PublishingGallery3GetAlbumsTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION)) +#define PUBLISHING_GALLERY3_GET_ALBUMS_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION, PublishingGallery3GetAlbumsTransactionClass)) + +typedef struct _PublishingGallery3GetAlbumsTransaction PublishingGallery3GetAlbumsTransaction; +typedef struct _PublishingGallery3GetAlbumsTransactionClass PublishingGallery3GetAlbumsTransactionClass; +typedef struct _PublishingGallery3GetAlbumsTransactionPrivate PublishingGallery3GetAlbumsTransactionPrivate; +#define _publishing_gallery3_album_unref0(var) ((var == NULL) ? NULL : (var = (publishing_gallery3_album_unref (var), NULL))) + +#define PUBLISHING_GALLERY3_TYPE_GALLERY_GET_TAG_TRANSACTION (publishing_gallery3_gallery_get_tag_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GALLERY_GET_TAG_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_TAG_TRANSACTION, PublishingGallery3GalleryGetTagTransaction)) +#define PUBLISHING_GALLERY3_GALLERY_GET_TAG_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_TAG_TRANSACTION, PublishingGallery3GalleryGetTagTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GALLERY_GET_TAG_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_TAG_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GALLERY_GET_TAG_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_TAG_TRANSACTION)) +#define PUBLISHING_GALLERY3_GALLERY_GET_TAG_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_TAG_TRANSACTION, PublishingGallery3GalleryGetTagTransactionClass)) + +typedef struct _PublishingGallery3GalleryGetTagTransaction PublishingGallery3GalleryGetTagTransaction; +typedef struct _PublishingGallery3GalleryGetTagTransactionClass PublishingGallery3GalleryGetTagTransactionClass; +typedef struct _PublishingGallery3GalleryGetTagTransactionPrivate PublishingGallery3GalleryGetTagTransactionPrivate; +#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL))) +#define __vala_JsonNode_free0(var) ((var == NULL) ? NULL : (var = (_vala_JsonNode_free (var), NULL))) + +#define PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION (publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION, PublishingGallery3GalleryGetItemTagsURLsTransaction)) +#define PUBLISHING_GALLERY3_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION, PublishingGallery3GalleryGetItemTagsURLsTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION)) +#define PUBLISHING_GALLERY3_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION, PublishingGallery3GalleryGetItemTagsURLsTransactionClass)) + +typedef struct _PublishingGallery3GalleryGetItemTagsURLsTransaction PublishingGallery3GalleryGetItemTagsURLsTransaction; +typedef struct _PublishingGallery3GalleryGetItemTagsURLsTransactionClass PublishingGallery3GalleryGetItemTagsURLsTransactionClass; +typedef struct _PublishingGallery3GalleryGetItemTagsURLsTransactionPrivate PublishingGallery3GalleryGetItemTagsURLsTransactionPrivate; + +#define PUBLISHING_GALLERY3_TYPE_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION (publishing_gallery3_gallery_set_tag_relationship_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION, PublishingGallery3GallerySetTagRelationshipTransaction)) +#define PUBLISHING_GALLERY3_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION, PublishingGallery3GallerySetTagRelationshipTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION)) +#define PUBLISHING_GALLERY3_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION, PublishingGallery3GallerySetTagRelationshipTransactionClass)) + +typedef struct _PublishingGallery3GallerySetTagRelationshipTransaction PublishingGallery3GallerySetTagRelationshipTransaction; +typedef struct _PublishingGallery3GallerySetTagRelationshipTransactionClass PublishingGallery3GallerySetTagRelationshipTransactionClass; +typedef struct _PublishingGallery3GallerySetTagRelationshipTransactionPrivate PublishingGallery3GallerySetTagRelationshipTransactionPrivate; + +#define PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION (publishing_gallery3_gallery_album_create_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GALLERY_ALBUM_CREATE_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION, PublishingGallery3GalleryAlbumCreateTransaction)) +#define PUBLISHING_GALLERY3_GALLERY_ALBUM_CREATE_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION, PublishingGallery3GalleryAlbumCreateTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GALLERY_ALBUM_CREATE_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GALLERY_ALBUM_CREATE_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION)) +#define PUBLISHING_GALLERY3_GALLERY_ALBUM_CREATE_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION, PublishingGallery3GalleryAlbumCreateTransactionClass)) + +typedef struct _PublishingGallery3GalleryAlbumCreateTransaction PublishingGallery3GalleryAlbumCreateTransaction; +typedef struct _PublishingGallery3GalleryAlbumCreateTransactionClass PublishingGallery3GalleryAlbumCreateTransactionClass; +typedef struct _PublishingGallery3GalleryAlbumCreateTransactionPrivate PublishingGallery3GalleryAlbumCreateTransactionPrivate; + +#define PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS (publishing_gallery3_publishing_parameters_get_type ()) +#define PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS, PublishingGallery3PublishingParameters)) +#define PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS, PublishingGallery3PublishingParametersClass)) +#define PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS, PublishingGallery3PublishingParametersClass)) + +typedef struct _PublishingGallery3PublishingParameters PublishingGallery3PublishingParameters; +typedef struct _PublishingGallery3PublishingParametersClass PublishingGallery3PublishingParametersClass; +#define _publishing_gallery3_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_gallery3_publishing_parameters_unref (var), NULL))) + +#define PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION (publishing_gallery3_gallery_upload_transaction_get_type ()) +#define PUBLISHING_GALLERY3_GALLERY_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION, PublishingGallery3GalleryUploadTransaction)) +#define PUBLISHING_GALLERY3_GALLERY_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION, PublishingGallery3GalleryUploadTransactionClass)) +#define PUBLISHING_GALLERY3_IS_GALLERY_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION)) +#define PUBLISHING_GALLERY3_IS_GALLERY_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION)) +#define PUBLISHING_GALLERY3_GALLERY_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION, PublishingGallery3GalleryUploadTransactionClass)) + +typedef struct _PublishingGallery3GalleryUploadTransaction PublishingGallery3GalleryUploadTransaction; +typedef struct _PublishingGallery3GalleryUploadTransactionClass PublishingGallery3GalleryUploadTransactionClass; +typedef struct _PublishingGallery3GalleryUploadTransactionPrivate PublishingGallery3GalleryUploadTransactionPrivate; +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +typedef struct _PublishingGallery3GalleryPublisherPrivate PublishingGallery3GalleryPublisherPrivate; + +#define PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE (publishing_gallery3_publishing_options_pane_get_type ()) +#define PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPane)) +#define PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPaneClass)) +#define PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPaneClass)) + +typedef struct _PublishingGallery3PublishingOptionsPane PublishingGallery3PublishingOptionsPane; +typedef struct _PublishingGallery3PublishingOptionsPaneClass PublishingGallery3PublishingOptionsPaneClass; + +#define PUBLISHING_GALLERY3_CREDENTIALS_PANE_TYPE_MODE (publishing_gallery3_credentials_pane_mode_get_type ()) + +#define PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE (publishing_gallery3_credentials_pane_get_type ()) +#define PUBLISHING_GALLERY3_CREDENTIALS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPane)) +#define PUBLISHING_GALLERY3_CREDENTIALS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPaneClass)) +#define PUBLISHING_GALLERY3_IS_CREDENTIALS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE)) +#define PUBLISHING_GALLERY3_IS_CREDENTIALS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE)) +#define PUBLISHING_GALLERY3_CREDENTIALS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPaneClass)) + +typedef struct _PublishingGallery3CredentialsPane PublishingGallery3CredentialsPane; +typedef struct _PublishingGallery3CredentialsPaneClass PublishingGallery3CredentialsPaneClass; + +#define PUBLISHING_GALLERY3_TYPE_UPLOADER (publishing_gallery3_uploader_get_type ()) +#define PUBLISHING_GALLERY3_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_UPLOADER, PublishingGallery3Uploader)) +#define PUBLISHING_GALLERY3_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_UPLOADER, PublishingGallery3UploaderClass)) +#define PUBLISHING_GALLERY3_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_UPLOADER)) +#define PUBLISHING_GALLERY3_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_UPLOADER)) +#define PUBLISHING_GALLERY3_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_UPLOADER, PublishingGallery3UploaderClass)) + +typedef struct _PublishingGallery3Uploader PublishingGallery3Uploader; +typedef struct _PublishingGallery3UploaderClass PublishingGallery3UploaderClass; +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_unref (var), NULL))) +typedef struct _PublishingGallery3PublishingOptionsPanePrivate PublishingGallery3PublishingOptionsPanePrivate; +#define _g_slist_free0(var) ((var == NULL) ? NULL : (var = (g_slist_free (var), NULL))) +typedef struct _PublishingGallery3PublishingParametersPrivate PublishingGallery3PublishingParametersPrivate; +typedef struct _PublishingGallery3ParamSpecPublishingParameters PublishingGallery3ParamSpecPublishingParameters; +typedef struct _PublishingGallery3CredentialsPanePrivate PublishingGallery3CredentialsPanePrivate; + +#define PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID (publishing_gallery3_credentials_grid_get_type ()) +#define PUBLISHING_GALLERY3_CREDENTIALS_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, PublishingGallery3CredentialsGrid)) +#define PUBLISHING_GALLERY3_CREDENTIALS_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, PublishingGallery3CredentialsGridClass)) +#define PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID)) +#define PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID)) +#define PUBLISHING_GALLERY3_CREDENTIALS_GRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, PublishingGallery3CredentialsGridClass)) + +typedef struct _PublishingGallery3CredentialsGrid PublishingGallery3CredentialsGrid; +typedef struct _PublishingGallery3CredentialsGridClass PublishingGallery3CredentialsGridClass; +typedef struct _PublishingGallery3CredentialsGridPrivate PublishingGallery3CredentialsGridPrivate; +typedef struct _PublishingGallery3SessionPrivate PublishingGallery3SessionPrivate; +typedef struct _PublishingGallery3UploaderPrivate PublishingGallery3UploaderPrivate; +#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 _ShotwellPublishingGallery3 { + GObject parent_instance; + ShotwellPublishingGallery3Private * priv; +}; + +struct _ShotwellPublishingGallery3Class { + GObjectClass parent_class; +}; + +struct _ShotwellPublishingGallery3Private { + SpitPluggable** pluggables; + gint pluggables_length1; + gint _pluggables_size_; +}; + +struct _Gallery3Service { + GObject parent_instance; + Gallery3ServicePrivate * priv; +}; + +struct _Gallery3ServiceClass { + GObjectClass parent_class; +}; + +struct _PublishingGallery3Album { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingGallery3AlbumPrivate * priv; +}; + +struct _PublishingGallery3AlbumClass { + GTypeClass parent_class; + void (*finalize) (PublishingGallery3Album *self); +}; + +struct _PublishingGallery3AlbumPrivate { + gchar* _name; + gchar* _title; + gchar* _summary; + gchar* _parentname; + gchar* _url; + gchar* _path; + gboolean _editable; +}; + +struct _PublishingGallery3ParamSpecAlbum { + GParamSpec parent_instance; +}; + +struct _PublishingGallery3BaseGalleryTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingGallery3BaseGalleryTransactionPrivate * priv; + JsonParser* parser; +}; + +struct _PublishingGallery3BaseGalleryTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingGallery3KeyFetchTransaction { + PublishingGallery3BaseGalleryTransaction parent_instance; + PublishingGallery3KeyFetchTransactionPrivate * priv; +}; + +struct _PublishingGallery3KeyFetchTransactionClass { + PublishingGallery3BaseGalleryTransactionClass parent_class; +}; + +struct _PublishingGallery3KeyFetchTransactionPrivate { + gchar* key; +}; + +struct _PublishingGallery3GalleryRequestTransaction { + PublishingGallery3BaseGalleryTransaction parent_instance; + PublishingGallery3GalleryRequestTransactionPrivate * priv; +}; + +struct _PublishingGallery3GalleryRequestTransactionClass { + PublishingGallery3BaseGalleryTransactionClass parent_class; +}; + +struct _PublishingGallery3GetAlbumURLsTransaction { + PublishingGallery3GalleryRequestTransaction parent_instance; + PublishingGallery3GetAlbumURLsTransactionPrivate * priv; +}; + +struct _PublishingGallery3GetAlbumURLsTransactionClass { + PublishingGallery3GalleryRequestTransactionClass parent_class; +}; + +struct _PublishingGallery3GetAlbumsTransaction { + PublishingGallery3GalleryRequestTransaction parent_instance; + PublishingGallery3GetAlbumsTransactionPrivate * priv; +}; + +struct _PublishingGallery3GetAlbumsTransactionClass { + PublishingGallery3GalleryRequestTransactionClass parent_class; +}; + +struct _PublishingGallery3GetAlbumsTransactionPrivate { + gchar** _album_urls; + gint _album_urls_length1; + gint __album_urls_size_; + guint _urls_sent; + gboolean _more_urls; +}; + +struct _PublishingGallery3GalleryGetTagTransaction { + PublishingGallery3BaseGalleryTransaction parent_instance; + PublishingGallery3GalleryGetTagTransactionPrivate * priv; +}; + +struct _PublishingGallery3GalleryGetTagTransactionClass { + PublishingGallery3BaseGalleryTransactionClass parent_class; +}; + +struct _PublishingGallery3GalleryGetItemTagsURLsTransaction { + PublishingGallery3GalleryRequestTransaction parent_instance; + PublishingGallery3GalleryGetItemTagsURLsTransactionPrivate * priv; +}; + +struct _PublishingGallery3GalleryGetItemTagsURLsTransactionClass { + PublishingGallery3GalleryRequestTransactionClass parent_class; +}; + +struct _PublishingGallery3GalleryGetItemTagsURLsTransactionPrivate { + gchar* item_tags_path; +}; + +struct _PublishingGallery3GallerySetTagRelationshipTransaction { + PublishingGallery3BaseGalleryTransaction parent_instance; + PublishingGallery3GallerySetTagRelationshipTransactionPrivate * priv; +}; + +struct _PublishingGallery3GallerySetTagRelationshipTransactionClass { + PublishingGallery3BaseGalleryTransactionClass parent_class; +}; + +struct _PublishingGallery3GalleryAlbumCreateTransaction { + PublishingGallery3BaseGalleryTransaction parent_instance; + PublishingGallery3GalleryAlbumCreateTransactionPrivate * priv; +}; + +struct _PublishingGallery3GalleryAlbumCreateTransactionClass { + PublishingGallery3BaseGalleryTransactionClass parent_class; +}; + +struct _PublishingGallery3GalleryAlbumCreateTransactionPrivate { + PublishingGallery3PublishingParameters* _parameters; + gchar* session_url; +}; + +struct _PublishingGallery3GalleryUploadTransaction { + PublishingRESTSupportUploadTransaction parent_instance; + PublishingGallery3GalleryUploadTransactionPrivate * priv; +}; + +struct _PublishingGallery3GalleryUploadTransactionClass { + PublishingRESTSupportUploadTransactionClass parent_class; +}; + +struct _PublishingGallery3GalleryUploadTransactionPrivate { + PublishingGallery3Session* session; + JsonGenerator* generator; + PublishingGallery3PublishingParameters* parameters; + gchar* item_url; + gchar* item_path; + gchar* item_tags_path; +}; + +struct _PublishingGallery3GalleryPublisher { + GObject parent_instance; + PublishingGallery3GalleryPublisherPrivate * priv; +}; + +struct _PublishingGallery3GalleryPublisherClass { + GObjectClass parent_class; +}; + +struct _PublishingGallery3GalleryPublisherPrivate { + SpitPublishingPluginHost* host; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; + SpitPublishingService* service; + PublishingGallery3Session* session; + gboolean running; + PublishingGallery3Album** albums; + gint albums_length1; + gint _albums_size_; + gchar* key; + PublishingGallery3PublishingOptionsPane* publishing_options_pane; +}; + +typedef enum { + PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_INTRO, + PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY, + PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL +} PublishingGallery3CredentialsPaneMode; + +struct _PublishingGallery3PublishingOptionsPane { + GObject parent_instance; + PublishingGallery3PublishingOptionsPanePrivate * priv; +}; + +struct _PublishingGallery3PublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingGallery3PublishingOptionsPanePrivate { + GtkBuilder* builder; + GtkGrid* pane_widget; + GtkLabel* title_label; + GtkRadioButton* use_existing_radio; + GtkComboBoxText* existing_albums_combo; + GtkRadioButton* create_new_radio; + GtkEntry* new_album_entry; + GtkComboBoxText* scaling_combo; + GtkEntry* pixels; + GtkCheckButton* strip_metadata_check; + GtkButton* publish_button; + GtkButton* logout_button; + PublishingGallery3Album** albums; + gint albums_length1; + gint _albums_size_; + SpitPublishingPluginHost* host; +}; + +struct _PublishingGallery3PublishingParameters { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingGallery3PublishingParametersPrivate * priv; +}; + +struct _PublishingGallery3PublishingParametersClass { + GTypeClass parent_class; + void (*finalize) (PublishingGallery3PublishingParameters *self); +}; + +struct _PublishingGallery3PublishingParametersPrivate { + gchar* _album_title; + gchar* _album_name; + gchar* _album_path; + gchar* _entity_title; + gint _photo_major_axis_size; + gboolean _strip_metadata; +}; + +struct _PublishingGallery3ParamSpecPublishingParameters { + GParamSpec parent_instance; +}; + +struct _PublishingGallery3CredentialsPane { + GObject parent_instance; + PublishingGallery3CredentialsPanePrivate * priv; +}; + +struct _PublishingGallery3CredentialsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingGallery3CredentialsPanePrivate { + PublishingGallery3CredentialsGrid* frame; + GtkWidget* grid_widget; +}; + +struct _PublishingGallery3CredentialsGrid { + GObject parent_instance; + PublishingGallery3CredentialsGridPrivate * priv; +}; + +struct _PublishingGallery3CredentialsGridClass { + GObjectClass parent_class; +}; + +struct _PublishingGallery3CredentialsGridPrivate { + GtkGrid* _pane_widget; + SpitPublishingPluginHost* host; + GtkBuilder* builder; + GtkLabel* intro_message_label; + GtkEntry* url_entry; + GtkEntry* username_entry; + GtkEntry* password_entry; + GtkEntry* key_entry; + GtkButton* login_button; + GtkButton* go_back_button; + gchar* url; + gchar* username; + gchar* key; +}; + +struct _PublishingGallery3Session { + PublishingRESTSupportSession parent_instance; + PublishingGallery3SessionPrivate * priv; +}; + +struct _PublishingGallery3SessionClass { + PublishingRESTSupportSessionClass parent_class; +}; + +struct _PublishingGallery3SessionPrivate { + gchar* _url; + gchar* _username; + gchar* _key; +}; + +struct _PublishingGallery3Uploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingGallery3UploaderPrivate * priv; +}; + +struct _PublishingGallery3UploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingGallery3UploaderPrivate { + PublishingGallery3PublishingParameters* parameters; + gchar* _current_publishable_name; + SpitPublishingPublisherMediaType _current_media_type; + PublishingRESTSupportTransaction* _current_transaction; +}; + + +static gpointer shotwell_publishing_gallery3_parent_class = NULL; +static SpitModuleIface* shotwell_publishing_gallery3_spit_module_parent_iface = NULL; +static gpointer gallery3_service_parent_class = NULL; +static GdkPixbuf** gallery3_service_icon_pixbuf_set; +static gint gallery3_service_icon_pixbuf_set_length1; +static GdkPixbuf** gallery3_service_icon_pixbuf_set = NULL; +static gint gallery3_service_icon_pixbuf_set_length1 = 0; +static gint _gallery3_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* gallery3_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* gallery3_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_gallery3_album_parent_class = NULL; +static gpointer publishing_gallery3_base_gallery_transaction_parent_class = NULL; +static gpointer publishing_gallery3_key_fetch_transaction_parent_class = NULL; +static gpointer publishing_gallery3_gallery_request_transaction_parent_class = NULL; +static gpointer publishing_gallery3_get_album_ur_ls_transaction_parent_class = NULL; +static gpointer publishing_gallery3_get_albums_transaction_parent_class = NULL; +static gpointer publishing_gallery3_gallery_get_tag_transaction_parent_class = NULL; +static gpointer publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_parent_class = NULL; +static gpointer publishing_gallery3_gallery_set_tag_relationship_transaction_parent_class = NULL; +static gpointer publishing_gallery3_gallery_album_create_transaction_parent_class = NULL; +static gpointer publishing_gallery3_gallery_upload_transaction_parent_class = NULL; +static gpointer publishing_gallery3_gallery_publisher_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_gallery3_gallery_publisher_spit_publishing_publisher_parent_iface = NULL; +static gpointer publishing_gallery3_publishing_options_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_gallery3_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_gallery3_publishing_parameters_parent_class = NULL; +static gpointer publishing_gallery3_credentials_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_gallery3_credentials_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_gallery3_credentials_grid_parent_class = NULL; +static gpointer publishing_gallery3_session_parent_class = NULL; +static gpointer publishing_gallery3_uploader_parent_class = NULL; + +#define G3_VERSION "0.1" +#define G3_LICENSE "\n" \ +"The Gallery3Publishing module is free software; you can redistribute i" \ +"t\n" \ +"and/or modify it under the terms of the GNU Lesser General Public\n" \ +"License as published by the Free Software Foundation; either version 2" \ +".1\n" \ +"of the License, or (at your option) any later version.\n" \ +"\n" \ +"The Gallery3Publishing module is distributed in the hope that it will " \ +"be\n" \ +"useful, but WITHOUT ANY WARRANTY; without even the implied warranty of" \ +"\n" \ +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Less" \ +"er\n" \ +"General Public License for more details.\n" \ +"\n" \ +"You should have received a copy of the GNU Lesser General Public Licen" \ +"se\n" \ +"along with The Gallery3Publishing module; if not, write to the Free\n" \ +"Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n" \ +"02110-1301 USA\n" +#define WEBSITE_URL "https://github.com/sappjw/shotwell-gallery3" +GType shotwell_publishing_gallery3_get_type (void) G_GNUC_CONST; +#define SHOTWELL_PUBLISHING_GALLERY3_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3Private)) +enum { + SHOTWELL_PUBLISHING_GALLERY3_DUMMY_PROPERTY +}; +ShotwellPublishingGallery3* shotwell_publishing_gallery3_new (GFile* module_file); +ShotwellPublishingGallery3* shotwell_publishing_gallery3_construct (GType object_type, GFile* module_file); +Gallery3Service* gallery3_service_new (GFile* resource_directory); +Gallery3Service* gallery3_service_construct (GType object_type, GFile* resource_directory); +GType gallery3_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add1 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +static const gchar* shotwell_publishing_gallery3_real_get_module_name (SpitModule* base); +static const gchar* shotwell_publishing_gallery3_real_get_version (SpitModule* base); +static const gchar* shotwell_publishing_gallery3_real_get_id (SpitModule* base); +static SpitPluggable** shotwell_publishing_gallery3_real_get_pluggables (SpitModule* base, int* result_length1); +static void shotwell_publishing_gallery3_finalize (GObject* obj); +enum { + GALLERY3_SERVICE_DUMMY_PROPERTY +}; +#define GALLERY3_SERVICE_ICON_FILENAME "gallery3.png" +static gint gallery3_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* gallery3_service_real_get_id (SpitPluggable* base); +static const gchar* gallery3_service_real_get_pluggable_name (SpitPluggable* base); +static void gallery3_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length); +static void gallery3_service_real_activation (SpitPluggable* base, gboolean enabled); +static SpitPublishingPublisher* gallery3_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingGallery3GalleryPublisher* publishing_gallery3_gallery_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingGallery3GalleryPublisher* publishing_gallery3_gallery_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_gallery3_gallery_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType gallery3_service_real_get_supported_media (SpitPublishingService* base); +static void gallery3_service_finalize (GObject* obj); +#define PUBLISHING_GALLERY3_SERVICE_NAME "Gallery3" +#define PUBLISHING_GALLERY3_SERVICE_WELCOME_MESSAGE _ ("You are not currently logged into your Gallery.\n" \ +"\n" \ +"You must have already signed up for a Gallery3 account to complete the" \ +" login process.") +#define PUBLISHING_GALLERY3_DEFAULT_ALBUM_DIR _ ("Shotwell") +#define PUBLISHING_GALLERY3_DEFAULT_ALBUM_TITLE _ ("Shotwell default directory") +#define PUBLISHING_GALLERY3_REST_PATH "/index.php/rest" +gpointer publishing_gallery3_album_ref (gpointer instance); +void publishing_gallery3_album_unref (gpointer instance); +GParamSpec* publishing_gallery3_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_gallery3_value_set_album (GValue* value, gpointer v_object); +void publishing_gallery3_value_take_album (GValue* value, gpointer v_object); +gpointer publishing_gallery3_value_get_album (const GValue* value); +GType publishing_gallery3_album_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_ALBUM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_ALBUM, PublishingGallery3AlbumPrivate)) +enum { + PUBLISHING_GALLERY3_ALBUM_DUMMY_PROPERTY +}; +PublishingGallery3Album* publishing_gallery3_album_new (JsonObject* collection); +PublishingGallery3Album* publishing_gallery3_album_construct (GType object_type, JsonObject* collection); +static void publishing_gallery3_album_set_title (PublishingGallery3Album* self, const gchar* value); +static void publishing_gallery3_album_set_name (PublishingGallery3Album* self, const gchar* value); +static void publishing_gallery3_album_set_parentname (PublishingGallery3Album* self, const gchar* value); +static void publishing_gallery3_album_set_url (PublishingGallery3Album* self, const gchar* value); +static void publishing_gallery3_album_set_editable (PublishingGallery3Album* self, gboolean value); +gchar* publishing_gallery3_strip_session_url (const gchar* url); +const gchar* publishing_gallery3_album_get_url (PublishingGallery3Album* self); +static void publishing_gallery3_album_set_path (PublishingGallery3Album* self, const gchar* value); +const gchar* publishing_gallery3_album_get_name (PublishingGallery3Album* self); +const gchar* publishing_gallery3_album_get_title (PublishingGallery3Album* self); +const gchar* publishing_gallery3_album_get_summary (PublishingGallery3Album* self); +static void publishing_gallery3_album_set_summary (PublishingGallery3Album* self, const gchar* value); +const gchar* publishing_gallery3_album_get_parentname (PublishingGallery3Album* self); +const gchar* publishing_gallery3_album_get_path (PublishingGallery3Album* self); +gboolean publishing_gallery3_album_get_editable (PublishingGallery3Album* self); +static void publishing_gallery3_album_finalize (PublishingGallery3Album* obj); +GType publishing_gallery3_base_gallery_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_GALLERY3_BASE_GALLERY_TRANSACTION_DUMMY_PROPERTY +}; +GType publishing_gallery3_session_get_type (void) G_GNUC_CONST; +PublishingGallery3BaseGalleryTransaction* publishing_gallery3_base_gallery_transaction_new (PublishingGallery3Session* session, const gchar* endpoint_url, const gchar* item_path, PublishingRESTSupportHttpMethod method); +PublishingGallery3BaseGalleryTransaction* publishing_gallery3_base_gallery_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* endpoint_url, const gchar* item_path, PublishingRESTSupportHttpMethod method); +JsonNode* publishing_gallery3_base_gallery_transaction_get_root_node (PublishingGallery3BaseGalleryTransaction* self, GError** error); +static void publishing_gallery3_base_gallery_transaction_finalize (PublishingRESTSupportTransaction* obj); +GType publishing_gallery3_key_fetch_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_KEY_FETCH_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION, PublishingGallery3KeyFetchTransactionPrivate)) +enum { + PUBLISHING_GALLERY3_KEY_FETCH_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3KeyFetchTransaction* publishing_gallery3_key_fetch_transaction_new (PublishingGallery3Session* session, const gchar* url, const gchar* username, const gchar* password); +PublishingGallery3KeyFetchTransaction* publishing_gallery3_key_fetch_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* url, const gchar* username, const gchar* password); +gchar* publishing_gallery3_key_fetch_transaction_get_key (PublishingGallery3KeyFetchTransaction* self); +static void publishing_gallery3_key_fetch_transaction_finalize (PublishingRESTSupportTransaction* obj); +GType publishing_gallery3_gallery_request_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_GALLERY3_GALLERY_REQUEST_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GalleryRequestTransaction* publishing_gallery3_gallery_request_transaction_new (PublishingGallery3Session* session, const gchar* item, PublishingRESTSupportHttpMethod method); +PublishingGallery3GalleryRequestTransaction* publishing_gallery3_gallery_request_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* item, PublishingRESTSupportHttpMethod method); +const gchar* publishing_gallery3_session_get_url (PublishingGallery3Session* self); +const gchar* publishing_gallery3_session_get_key (PublishingGallery3Session* self); +GType publishing_gallery3_get_album_ur_ls_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_GALLERY3_GET_ALBUM_UR_LS_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GetAlbumURLsTransaction* publishing_gallery3_get_album_ur_ls_transaction_new (PublishingGallery3Session* session); +PublishingGallery3GetAlbumURLsTransaction* publishing_gallery3_get_album_ur_ls_transaction_construct (GType object_type, PublishingGallery3Session* session); +gchar** publishing_gallery3_get_album_ur_ls_transaction_get_album_urls (PublishingGallery3GetAlbumURLsTransaction* self, int* result_length1); +static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value); +GType publishing_gallery3_get_albums_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_GET_ALBUMS_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION, PublishingGallery3GetAlbumsTransactionPrivate)) +enum { + PUBLISHING_GALLERY3_GET_ALBUMS_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GetAlbumsTransaction* publishing_gallery3_get_albums_transaction_new (PublishingGallery3Session* session, gchar** _album_urls, int _album_urls_length1, guint start); +PublishingGallery3GetAlbumsTransaction* publishing_gallery3_get_albums_transaction_construct (GType object_type, PublishingGallery3Session* session, gchar** _album_urls, int _album_urls_length1, guint start); +static void publishing_gallery3_get_albums_transaction_set_album_urls (PublishingGallery3GetAlbumsTransaction* self, gchar** value, int value_length1); +gchar** publishing_gallery3_get_albums_transaction_get_album_urls (PublishingGallery3GetAlbumsTransaction* self, int* result_length1); +static void publishing_gallery3_get_albums_transaction_set_urls_sent (PublishingGallery3GetAlbumsTransaction* self, guint value); +guint publishing_gallery3_get_albums_transaction_get_urls_sent (PublishingGallery3GetAlbumsTransaction* self); +static void _vala_array_add3 (gchar*** array, int* length, int* size, gchar* value); +static void publishing_gallery3_get_albums_transaction_set_more_urls (PublishingGallery3GetAlbumsTransaction* self, gboolean value); +PublishingGallery3Album** publishing_gallery3_get_albums_transaction_get_albums (PublishingGallery3GetAlbumsTransaction* self, int* result_length1, GError** error); +static void _vala_array_add4 (PublishingGallery3Album*** array, int* length, int* size, PublishingGallery3Album* value); +static gchar** _vala_array_dup2 (gchar** self, int length); +gboolean publishing_gallery3_get_albums_transaction_get_more_urls (PublishingGallery3GetAlbumsTransaction* self); +static void publishing_gallery3_get_albums_transaction_finalize (PublishingRESTSupportTransaction* obj); +GType publishing_gallery3_gallery_get_tag_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_GALLERY3_GALLERY_GET_TAG_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GalleryGetTagTransaction* publishing_gallery3_gallery_get_tag_transaction_new (PublishingGallery3Session* session, const gchar* tag_name); +PublishingGallery3GalleryGetTagTransaction* publishing_gallery3_gallery_get_tag_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* tag_name); +static void _vala_JsonNode_free (JsonNode* self); +gchar* publishing_gallery3_gallery_get_tag_transaction_tag_url (PublishingGallery3GalleryGetTagTransaction* self); +GType publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION, PublishingGallery3GalleryGetItemTagsURLsTransactionPrivate)) +enum { + PUBLISHING_GALLERY3_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GalleryGetItemTagsURLsTransaction* publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_new (PublishingGallery3Session* session, const gchar* item_url); +PublishingGallery3GalleryGetItemTagsURLsTransaction* publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* item_url); +gchar* publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_get_item_tags_path (PublishingGallery3GalleryGetItemTagsURLsTransaction* self); +static void publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_finalize (PublishingRESTSupportTransaction* obj); +GType publishing_gallery3_gallery_set_tag_relationship_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_GALLERY3_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GallerySetTagRelationshipTransaction* publishing_gallery3_gallery_set_tag_relationship_transaction_new (PublishingGallery3Session* session, const gchar* item_tags_path, const gchar* tag_url, const gchar* item_url); +PublishingGallery3GallerySetTagRelationshipTransaction* publishing_gallery3_gallery_set_tag_relationship_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* item_tags_path, const gchar* tag_url, const gchar* item_url); +GType publishing_gallery3_gallery_album_create_transaction_get_type (void) G_GNUC_CONST; +gpointer publishing_gallery3_publishing_parameters_ref (gpointer instance); +void publishing_gallery3_publishing_parameters_unref (gpointer instance); +GParamSpec* publishing_gallery3_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_gallery3_value_set_publishing_parameters (GValue* value, gpointer v_object); +void publishing_gallery3_value_take_publishing_parameters (GValue* value, gpointer v_object); +gpointer publishing_gallery3_value_get_publishing_parameters (const GValue* value); +GType publishing_gallery3_publishing_parameters_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_GALLERY_ALBUM_CREATE_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION, PublishingGallery3GalleryAlbumCreateTransactionPrivate)) +enum { + PUBLISHING_GALLERY3_GALLERY_ALBUM_CREATE_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GalleryAlbumCreateTransaction* publishing_gallery3_gallery_album_create_transaction_new (PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters); +PublishingGallery3GalleryAlbumCreateTransaction* publishing_gallery3_gallery_album_create_transaction_construct (GType object_type, PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters); +static void publishing_gallery3_gallery_album_create_transaction_set_parameters (PublishingGallery3GalleryAlbumCreateTransaction* self, PublishingGallery3PublishingParameters* value); +const gchar* publishing_gallery3_publishing_parameters_get_album_name (PublishingGallery3PublishingParameters* self); +const gchar* publishing_gallery3_publishing_parameters_get_album_title (PublishingGallery3PublishingParameters* self); +gchar* publishing_gallery3_gallery_album_create_transaction_get_new_album_path (PublishingGallery3GalleryAlbumCreateTransaction* self); +PublishingGallery3PublishingParameters* publishing_gallery3_gallery_album_create_transaction_get_parameters (PublishingGallery3GalleryAlbumCreateTransaction* self); +static void publishing_gallery3_gallery_album_create_transaction_finalize (PublishingRESTSupportTransaction* obj); +GType publishing_gallery3_gallery_upload_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_GALLERY_UPLOAD_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION, PublishingGallery3GalleryUploadTransactionPrivate)) +enum { + PUBLISHING_GALLERY3_GALLERY_UPLOAD_TRANSACTION_DUMMY_PROPERTY +}; +PublishingGallery3GalleryUploadTransaction* publishing_gallery3_gallery_upload_transaction_new (PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters, SpitPublishingPublishable* publishable); +PublishingGallery3GalleryUploadTransaction* publishing_gallery3_gallery_upload_transaction_construct (GType object_type, PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters, SpitPublishingPublishable* publishable); +const gchar* publishing_gallery3_publishing_parameters_get_album_path (PublishingGallery3PublishingParameters* self); +static void _g_free0_ (gpointer var); +static gchar* publishing_gallery3_gallery_upload_transaction_get_new_item_url (PublishingGallery3GalleryUploadTransaction* self); +static void publishing_gallery3_gallery_upload_transaction_do_set_tag_relationship (PublishingGallery3GalleryUploadTransaction* self, const gchar* tag_url, GError** error); +static gchar* publishing_gallery3_gallery_upload_transaction_get_new_item_tags_path (PublishingGallery3GalleryUploadTransaction* self); +static gchar* publishing_gallery3_gallery_upload_transaction_get_tag_url (PublishingGallery3GalleryUploadTransaction* self, const gchar* tag); +static void publishing_gallery3_gallery_upload_transaction_on_upload_completed (PublishingGallery3GalleryUploadTransaction* self, GError** error); +gboolean publishing_gallery3_publishing_parameters_get_strip_metadata (PublishingGallery3PublishingParameters* self); +static void publishing_gallery3_gallery_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +static void publishing_gallery3_gallery_upload_transaction_finalize (PublishingRESTSupportTransaction* obj); +GType publishing_gallery3_publishing_options_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_GALLERY_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisherPrivate)) +enum { + PUBLISHING_GALLERY3_GALLERY_PUBLISHER_DUMMY_PROPERTY +}; +#define PUBLISHING_GALLERY3_GALLERY_PUBLISHER_BAD_FILE_MSG _ ("\n" \ +"\n" \ +"The file \"%s\" may not be supported by or may be too large for this i" \ +"nstance of Gallery3.") +#define PUBLISHING_GALLERY3_GALLERY_PUBLISHER_BAD_MOVIE_MSG _ ("\n" \ +"Note that Gallery3 only supports the video types that Flowplayer does.") +PublishingGallery3Session* publishing_gallery3_session_new (void); +PublishingGallery3Session* publishing_gallery3_session_construct (GType object_type); +static gboolean publishing_gallery3_gallery_publisher_real_is_running (SpitPublishingPublisher* base); +static SpitPublishingService* publishing_gallery3_gallery_publisher_real_get_service (SpitPublishingPublisher* base); +static void publishing_gallery3_gallery_publisher_real_start (SpitPublishingPublisher* base); +gchar* publishing_gallery3_gallery_publisher_get_api_key (PublishingGallery3GalleryPublisher* self); +static void publishing_gallery3_gallery_publisher_do_show_service_welcome_pane (PublishingGallery3GalleryPublisher* self); +gchar* publishing_gallery3_gallery_publisher_get_gallery_url (PublishingGallery3GalleryPublisher* self); +gchar* publishing_gallery3_gallery_publisher_get_gallery_username (PublishingGallery3GalleryPublisher* self); +void publishing_gallery3_session_authenticate (PublishingGallery3Session* self, const gchar* gallery_url, const gchar* username, const gchar* key); +static void publishing_gallery3_gallery_publisher_do_fetch_album_urls (PublishingGallery3GalleryPublisher* self); +static void publishing_gallery3_gallery_publisher_real_stop (SpitPublishingPublisher* base); +void publishing_gallery3_gallery_publisher_set_api_key (PublishingGallery3GalleryPublisher* self, const gchar* key); +void publishing_gallery3_gallery_publisher_set_gallery_url (PublishingGallery3GalleryPublisher* self, const gchar* url); +void publishing_gallery3_gallery_publisher_set_gallery_username (PublishingGallery3GalleryPublisher* self, const gchar* username); +gboolean* publishing_gallery3_gallery_publisher_get_persistent_strip_metadata (PublishingGallery3GalleryPublisher* self); +static gboolean* _bool_dup (gboolean* self); +void publishing_gallery3_gallery_publisher_set_persistent_strip_metadata (PublishingGallery3GalleryPublisher* self, gboolean strip_metadata); +gint* publishing_gallery3_gallery_publisher_get_scaling_constraint_id (PublishingGallery3GalleryPublisher* self); +static gint* _int_dup (gint* self); +void publishing_gallery3_gallery_publisher_set_scaling_constraint_id (PublishingGallery3GalleryPublisher* self, gint constraint); +gint* publishing_gallery3_gallery_publisher_get_scaling_pixels (PublishingGallery3GalleryPublisher* self); +void publishing_gallery3_gallery_publisher_set_scaling_pixels (PublishingGallery3GalleryPublisher* self, gint pixels); +static void publishing_gallery3_gallery_publisher_on_service_welcome_login (PublishingGallery3GalleryPublisher* self); +static void _publishing_gallery3_gallery_publisher_on_service_welcome_login_spit_publishing_login_callback (gpointer self); +GType publishing_gallery3_credentials_pane_mode_get_type (void) G_GNUC_CONST; +static void publishing_gallery3_gallery_publisher_do_show_credentials_pane (PublishingGallery3GalleryPublisher* self, PublishingGallery3CredentialsPaneMode mode); +gchar* publishing_gallery3_credentials_pane_mode_to_string (PublishingGallery3CredentialsPaneMode self); +void publishing_gallery3_session_deauthenticate (PublishingGallery3Session* self); +GType publishing_gallery3_credentials_pane_get_type (void) G_GNUC_CONST; +PublishingGallery3CredentialsPane* publishing_gallery3_credentials_pane_new (SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key); +PublishingGallery3CredentialsPane* publishing_gallery3_credentials_pane_construct (GType object_type, SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key); +static void publishing_gallery3_gallery_publisher_on_credentials_go_back (PublishingGallery3GalleryPublisher* self); +static void _publishing_gallery3_gallery_publisher_on_credentials_go_back_publishing_gallery3_credentials_pane_go_back (PublishingGallery3CredentialsPane* _sender, gpointer self); +static void publishing_gallery3_gallery_publisher_on_credentials_login (PublishingGallery3GalleryPublisher* self, const gchar* url, const gchar* username, const gchar* password); +static void _publishing_gallery3_gallery_publisher_on_credentials_login_publishing_gallery3_credentials_pane_login (PublishingGallery3CredentialsPane* _sender, const gchar* url, const gchar* uname, const gchar* password, const gchar* key, gpointer self); +static void publishing_gallery3_gallery_publisher_do_network_login (PublishingGallery3GalleryPublisher* self, const gchar* url, const gchar* username, const gchar* password); +static void publishing_gallery3_gallery_publisher_on_key_fetch_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_gallery3_gallery_publisher_on_key_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_gallery3_gallery_publisher_on_key_fetch_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_gallery3_gallery_publisher_on_key_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_gallery3_gallery_publisher_on_album_urls_fetch_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_gallery3_gallery_publisher_on_album_urls_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_gallery3_gallery_publisher_do_fetch_albums (PublishingGallery3GalleryPublisher* self, gchar** album_urls, int album_urls_length1, guint start); +static void publishing_gallery3_gallery_publisher_on_album_fetch_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_gallery3_gallery_publisher_on_album_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_gallery3_gallery_publisher_on_album_fetch_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_gallery3_gallery_publisher_on_album_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_gallery3_gallery_publisher_do_show_publishing_options_pane (PublishingGallery3GalleryPublisher* self, const gchar* url, const gchar* username); +PublishingGallery3PublishingOptionsPane* publishing_gallery3_publishing_options_pane_new (SpitPublishingPluginHost* host, const gchar* url, const gchar* username, PublishingGallery3Album** albums, int albums_length1, GtkBuilder* builder, gboolean strip_metadata, gint scaling_id, gint scaling_pixels); +PublishingGallery3PublishingOptionsPane* publishing_gallery3_publishing_options_pane_construct (GType object_type, SpitPublishingPluginHost* host, const gchar* url, const gchar* username, PublishingGallery3Album** albums, int albums_length1, GtkBuilder* builder, gboolean strip_metadata, gint scaling_id, gint scaling_pixels); +static void publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish (PublishingGallery3GalleryPublisher* self, PublishingGallery3PublishingParameters* parameters); +static void _publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish_publishing_gallery3_publishing_options_pane_publish (PublishingGallery3PublishingOptionsPane* _sender, PublishingGallery3PublishingParameters* parameters, gpointer self); +static void publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout (PublishingGallery3GalleryPublisher* self); +static void _publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout_publishing_gallery3_publishing_options_pane_logout (PublishingGallery3PublishingOptionsPane* _sender, gpointer self); +static void publishing_gallery3_gallery_publisher_do_create_album (PublishingGallery3GalleryPublisher* self, PublishingGallery3PublishingParameters* parameters); +static void publishing_gallery3_gallery_publisher_on_album_create_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_gallery3_gallery_publisher_on_album_create_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_gallery3_gallery_publisher_on_album_create_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_gallery3_gallery_publisher_on_album_create_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_gallery3_gallery_publisher_do_publish (PublishingGallery3GalleryPublisher* self, PublishingGallery3PublishingParameters* parameters); +gint publishing_gallery3_publishing_parameters_get_photo_major_axis_size (PublishingGallery3PublishingParameters* self); +GType publishing_gallery3_uploader_get_type (void) G_GNUC_CONST; +PublishingGallery3Uploader* publishing_gallery3_uploader_new (PublishingGallery3Session* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingGallery3PublishingParameters* parameters); +PublishingGallery3Uploader* publishing_gallery3_uploader_construct (GType object_type, PublishingGallery3Session* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingGallery3PublishingParameters* parameters); +static void publishing_gallery3_gallery_publisher_on_publish_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_gallery3_gallery_publisher_on_publish_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_gallery3_gallery_publisher_on_publish_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportBatchUploader* _uploader, GError* err); +static void _publishing_gallery3_gallery_publisher_on_publish_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_gallery3_gallery_publisher_on_upload_status_updated (PublishingGallery3GalleryPublisher* self, gint file_number, gdouble completed_fraction); +static void _publishing_gallery3_gallery_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_gallery3_gallery_publisher_do_show_success_pane (PublishingGallery3GalleryPublisher* self); +const gchar* publishing_gallery3_session_get_username (PublishingGallery3Session* self); +static void _vala_array_add5 (PublishingGallery3Album*** array, int* length, int* size, PublishingGallery3Album* value); +void publishing_gallery3_publishing_parameters_set_album_path (PublishingGallery3PublishingParameters* self, const gchar* value); +const gchar* publishing_gallery3_uploader_get_current_publishable_name (PublishingGallery3Uploader* self); +guint publishing_gallery3_uploader_get_status_code (PublishingGallery3Uploader* self); +SpitPublishingPublisherMediaType publishing_gallery3_uploader_get_current_publishable_type (PublishingGallery3Uploader* self); +gboolean publishing_gallery3_publishing_parameters_is_to_new_album (PublishingGallery3PublishingParameters* self); +static void publishing_gallery3_gallery_publisher_finalize (GObject* obj); +#define PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPanePrivate)) +enum { + PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +#define PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_DEFAULT_ALBUM_NAME "" +#define PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_LAST_ALBUM_CONFIG_KEY "last-album" +static PublishingGallery3Album** _vala_array_dup3 (PublishingGallery3Album** self, int length); +static void publishing_gallery3_publishing_options_pane_on_use_existing_radio_clicked (PublishingGallery3PublishingOptionsPane* self); +static void _publishing_gallery3_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_gallery3_publishing_options_pane_on_create_new_radio_clicked (PublishingGallery3PublishingOptionsPane* self); +static void _publishing_gallery3_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_gallery3_publishing_options_pane_on_new_album_entry_changed (PublishingGallery3PublishingOptionsPane* self); +static void _publishing_gallery3_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_gallery3_publishing_options_pane_on_scaling_constraint_changed (PublishingGallery3PublishingOptionsPane* self); +static void _publishing_gallery3_publishing_options_pane_on_scaling_constraint_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void publishing_gallery3_publishing_options_pane_on_pixels_changed (PublishingGallery3PublishingOptionsPane* self); +static void _publishing_gallery3_publishing_options_pane_on_pixels_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_gallery3_publishing_options_pane_on_logout_clicked (PublishingGallery3PublishingOptionsPane* self); +static void _publishing_gallery3_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_gallery3_publishing_options_pane_on_publish_clicked (PublishingGallery3PublishingOptionsPane* self); +static void _publishing_gallery3_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_new_to_new_album (const gchar* album_title); +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_construct_to_new_album (GType object_type, const gchar* album_title); +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_new_to_existing_album (const gchar* album_path); +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_construct_to_existing_album (GType object_type, const gchar* album_path); +void publishing_gallery3_publishing_parameters_set_photo_major_axis_size (PublishingGallery3PublishingParameters* self, gint value); +void publishing_gallery3_publishing_parameters_set_strip_metadata (PublishingGallery3PublishingParameters* self, gboolean value); +static void publishing_gallery3_publishing_options_pane_update_publish_button_sensitivity (PublishingGallery3PublishingOptionsPane* self); +static void publishing_gallery3_publishing_options_pane_update_pixel_entry_sensitivity (PublishingGallery3PublishingOptionsPane* self); +void publishing_gallery3_publishing_options_pane_installed (PublishingGallery3PublishingOptionsPane* self); +static GtkWidget* publishing_gallery3_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_gallery3_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_gallery3_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_gallery3_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_gallery3_publishing_options_pane_finalize (GObject* obj); +#define PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS, PublishingGallery3PublishingParametersPrivate)) +enum { + PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS_DUMMY_PROPERTY +}; +static PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_new (void); +static PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_construct (GType object_type); +static void publishing_gallery3_publishing_parameters_set_album_name (PublishingGallery3PublishingParameters* self, const gchar* value); +static void publishing_gallery3_publishing_parameters_set_album_title (PublishingGallery3PublishingParameters* self, const gchar* value); +const gchar* publishing_gallery3_publishing_parameters_get_entity_title (PublishingGallery3PublishingParameters* self); +static void publishing_gallery3_publishing_parameters_set_entity_title (PublishingGallery3PublishingParameters* self, const gchar* value); +static void publishing_gallery3_publishing_parameters_finalize (PublishingGallery3PublishingParameters* obj); +GType publishing_gallery3_credentials_grid_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GALLERY3_CREDENTIALS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPanePrivate)) +enum { + PUBLISHING_GALLERY3_CREDENTIALS_PANE_DUMMY_PROPERTY +}; +PublishingGallery3CredentialsGrid* publishing_gallery3_credentials_grid_new (SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key, GtkBuilder* builder); +PublishingGallery3CredentialsGrid* publishing_gallery3_credentials_grid_construct (GType object_type, SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key, GtkBuilder* builder); +GtkGrid* publishing_gallery3_credentials_grid_get_pane_widget (PublishingGallery3CredentialsGrid* self); +void publishing_gallery3_credentials_pane_notify_go_back (PublishingGallery3CredentialsPane* self); +void publishing_gallery3_credentials_pane_notify_login (PublishingGallery3CredentialsPane* self, const gchar* url, const gchar* uname, const gchar* password, const gchar* key); +static GtkWidget* publishing_gallery3_credentials_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_gallery3_credentials_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_gallery3_credentials_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void _publishing_gallery3_credentials_pane_notify_go_back_publishing_gallery3_credentials_grid_go_back (PublishingGallery3CredentialsGrid* _sender, gpointer self); +static void _publishing_gallery3_credentials_pane_notify_login_publishing_gallery3_credentials_grid_login (PublishingGallery3CredentialsGrid* _sender, const gchar* url, const gchar* username, const gchar* password, const gchar* key, gpointer self); +void publishing_gallery3_credentials_grid_installed (PublishingGallery3CredentialsGrid* self); +static void publishing_gallery3_credentials_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_gallery3_credentials_pane_finalize (GObject* obj); +#define PUBLISHING_GALLERY3_CREDENTIALS_GRID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, PublishingGallery3CredentialsGridPrivate)) +enum { + PUBLISHING_GALLERY3_CREDENTIALS_GRID_DUMMY_PROPERTY, + PUBLISHING_GALLERY3_CREDENTIALS_GRID_PANE_WIDGET +}; +#define PUBLISHING_GALLERY3_CREDENTIALS_GRID_INTRO_MESSAGE _ ("Enter the URL for your Gallery3 site and the username and password (or" \ +" API key) for your Gallery3 account.") +#define PUBLISHING_GALLERY3_CREDENTIALS_GRID_FAILED_RETRY_MESSAGE _ ("The username and password or API key were incorrect. To try again, re-" \ +"enter your username and password below.") +#define PUBLISHING_GALLERY3_CREDENTIALS_GRID_NOT_GALLERY_URL_MESSAGE _ ("The URL entered does not appear to be the main directory of a Gallery3" \ +" instance. Please make sure you typed it correctly and it does not hav" \ +"e any trailing components (e.g., index.php).") +static void publishing_gallery3_credentials_grid_set_pane_widget (PublishingGallery3CredentialsGrid* self, GtkGrid* value); +static void publishing_gallery3_credentials_grid_on_url_or_username_changed (PublishingGallery3CredentialsGrid* self); +static void _publishing_gallery3_credentials_grid_on_url_or_username_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_gallery3_credentials_grid_on_go_back_button_clicked (PublishingGallery3CredentialsGrid* self); +static void _publishing_gallery3_credentials_grid_on_go_back_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_gallery3_credentials_grid_on_login_button_clicked (PublishingGallery3CredentialsGrid* self); +static void _publishing_gallery3_credentials_grid_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_gallery3_credentials_grid_finalize (GObject* obj); +static void _vala_publishing_gallery3_credentials_grid_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_publishing_gallery3_credentials_grid_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +#define PUBLISHING_GALLERY3_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3SessionPrivate)) +enum { + PUBLISHING_GALLERY3_SESSION_DUMMY_PROPERTY +}; +static gboolean publishing_gallery3_session_real_is_authenticated (PublishingRESTSupportSession* base); +static void publishing_gallery3_session_set_url (PublishingGallery3Session* self, const gchar* value); +static void publishing_gallery3_session_set_username (PublishingGallery3Session* self, const gchar* value); +static void publishing_gallery3_session_set_key (PublishingGallery3Session* self, const gchar* value); +static void publishing_gallery3_session_finalize (PublishingRESTSupportSession* obj); +#define PUBLISHING_GALLERY3_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GALLERY3_TYPE_UPLOADER, PublishingGallery3UploaderPrivate)) +enum { + PUBLISHING_GALLERY3_UPLOADER_DUMMY_PROPERTY +}; +static PublishingRESTSupportTransaction* publishing_gallery3_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +static void publishing_gallery3_uploader_finalize (PublishingRESTSupportBatchUploader* 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 _vala_array_add1 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if ((*length) == (*size)) { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 1002 "GalleryConnector.c" + } +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[(*length)++] = value; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[*length] = NULL; +#line 1008 "GalleryConnector.c" +} + + +ShotwellPublishingGallery3* shotwell_publishing_gallery3_construct (GType object_type, GFile* module_file) { + ShotwellPublishingGallery3 * self = NULL; + GFile* resource_directory = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + SpitPluggable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + Gallery3Service* _tmp3_ = NULL; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (G_IS_FILE (module_file), NULL); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (ShotwellPublishingGallery3*) g_object_new (object_type, NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = module_file; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_file_get_parent (_tmp0_); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + resource_directory = _tmp1_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->pluggables; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2__length1 = self->priv->pluggables_length1; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = gallery3_service_new (resource_directory); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_array_add1 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (resource_directory); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 1042 "GalleryConnector.c" +} + + +ShotwellPublishingGallery3* shotwell_publishing_gallery3_new (GFile* module_file) { +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return shotwell_publishing_gallery3_construct (TYPE_SHOTWELL_PUBLISHING_GALLERY3, module_file); +#line 1049 "GalleryConnector.c" +} + + +static const gchar* shotwell_publishing_gallery3_real_get_module_name (SpitModule* base) { + ShotwellPublishingGallery3 * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _ ("Gallery3 publishing module"); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1065 "GalleryConnector.c" +} + + +static const gchar* shotwell_publishing_gallery3_real_get_version (SpitModule* base) { + ShotwellPublishingGallery3 * self; + const gchar* result = NULL; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = G3_VERSION; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1078 "GalleryConnector.c" +} + + +static const gchar* shotwell_publishing_gallery3_real_get_id (SpitModule* base) { + ShotwellPublishingGallery3 * self; + const gchar* result = NULL; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = "org.yorba.shotwell.sharing.gallery3"; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1091 "GalleryConnector.c" +} + + +static SpitPluggable** shotwell_publishing_gallery3_real_get_pluggables (SpitModule* base, int* result_length1) { + ShotwellPublishingGallery3 * self; + SpitPluggable** result = NULL; + SpitPluggable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPluggable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->pluggables; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0__length1 = self->priv->pluggables_length1; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _tmp0_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1__length1 = _tmp0__length1; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (result_length1) { +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *result_length1 = _tmp1__length1; +#line 1116 "GalleryConnector.c" + } +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1122 "GalleryConnector.c" +} + + +static void shotwell_publishing_gallery3_class_init (ShotwellPublishingGallery3Class * klass) { +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + shotwell_publishing_gallery3_parent_class = g_type_class_peek_parent (klass); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (ShotwellPublishingGallery3Private)); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->finalize = shotwell_publishing_gallery3_finalize; +#line 1133 "GalleryConnector.c" +} + + +static void shotwell_publishing_gallery3_spit_module_interface_init (SpitModuleIface * iface) { +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + shotwell_publishing_gallery3_spit_module_parent_iface = g_type_interface_peek_parent (iface); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_module_name = (const gchar* (*)(SpitModule*)) shotwell_publishing_gallery3_real_get_module_name; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_version = (const gchar* (*)(SpitModule*)) shotwell_publishing_gallery3_real_get_version; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_id = (const gchar* (*)(SpitModule*)) shotwell_publishing_gallery3_real_get_id; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_pluggables = (SpitPluggable** (*)(SpitModule*, int*)) shotwell_publishing_gallery3_real_get_pluggables; +#line 1148 "GalleryConnector.c" +} + + +static void shotwell_publishing_gallery3_instance_init (ShotwellPublishingGallery3 * self) { + SpitPluggable** _tmp0_ = NULL; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = SHOTWELL_PUBLISHING_GALLERY3_GET_PRIVATE (self); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_new0 (SpitPluggable*, 0 + 1); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->pluggables = _tmp0_; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->pluggables_length1 = 0; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_pluggables_size_ = self->priv->pluggables_length1; +#line 1164 "GalleryConnector.c" +} + + +static void shotwell_publishing_gallery3_finalize (GObject* obj) { + ShotwellPublishingGallery3 * self; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_PUBLISHING_GALLERY3, ShotwellPublishingGallery3); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->pluggables = (_vala_array_free (self->priv->pluggables, self->priv->pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (shotwell_publishing_gallery3_parent_class)->finalize (obj); +#line 1176 "GalleryConnector.c" +} + + +GType shotwell_publishing_gallery3_get_type (void) { + static volatile gsize shotwell_publishing_gallery3_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_publishing_gallery3_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShotwellPublishingGallery3Class), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_publishing_gallery3_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellPublishingGallery3), 0, (GInstanceInitFunc) shotwell_publishing_gallery3_instance_init, NULL }; + static const GInterfaceInfo spit_module_info = { (GInterfaceInitFunc) shotwell_publishing_gallery3_spit_module_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType shotwell_publishing_gallery3_type_id; + shotwell_publishing_gallery3_type_id = g_type_register_static (G_TYPE_OBJECT, "ShotwellPublishingGallery3", &g_define_type_info, 0); + g_type_add_interface_static (shotwell_publishing_gallery3_type_id, SPIT_TYPE_MODULE, &spit_module_info); + g_once_init_leave (&shotwell_publishing_gallery3_type_id__volatile, shotwell_publishing_gallery3_type_id); + } + return shotwell_publishing_gallery3_type_id__volatile; +} + + +Gallery3Service* gallery3_service_construct (GType object_type, GFile* resource_directory) { + Gallery3Service * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (Gallery3Service*) g_object_new (object_type, NULL); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = gallery3_service_icon_pixbuf_set; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0__length1 = gallery3_service_icon_pixbuf_set_length1; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp0_ == NULL) { +#line 1208 "GalleryConnector.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" GALLERY3_SERVICE_ICON_FILENAME, &_tmp1_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gallery3_service_icon_pixbuf_set = (_vala_array_free (gallery3_service_icon_pixbuf_set, gallery3_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gallery3_service_icon_pixbuf_set = _tmp2_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gallery3_service_icon_pixbuf_set_length1 = _tmp1_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _gallery3_service_icon_pixbuf_set_size_ = gallery3_service_icon_pixbuf_set_length1; +#line 1221 "GalleryConnector.c" + } +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 1225 "GalleryConnector.c" +} + + +Gallery3Service* gallery3_service_new (GFile* resource_directory) { +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return gallery3_service_construct (TYPE_GALLERY3_SERVICE, resource_directory); +#line 1232 "GalleryConnector.c" +} + + +static gint gallery3_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + Gallery3Service * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = min_host_interface; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = max_host_interface; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp2_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1254 "GalleryConnector.c" +} + + +static const gchar* gallery3_service_real_get_id (SpitPluggable* base) { + Gallery3Service * self; + const gchar* result = NULL; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = "publishing-gallery3"; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1267 "GalleryConnector.c" +} + + +static const gchar* gallery3_service_real_get_pluggable_name (SpitPluggable* base) { + Gallery3Service * self; + const gchar* result = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = "Gallery3"; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1280 "GalleryConnector.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? g_object_ref (self) : NULL; +#line 1287 "GalleryConnector.c" +} + + +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + for (i = 0; i < length; i++) { +#line 1298 "GalleryConnector.c" + GdkPixbuf* _tmp0_ = NULL; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result[i] = _tmp0_; +#line 1304 "GalleryConnector.c" + } +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1308 "GalleryConnector.c" +} + + +static void gallery3_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + Gallery3Service * self; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GdkPixbuf** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GdkPixbuf** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (info != NULL); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strdup ("Joe Sapp"); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 ((*info).authors); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).authors = _tmp0_; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup ("2012-2013 Joe Sapp"); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 ((*info).copyright); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).copyright = _tmp1_; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup (RESOURCES_TRANSLATORS); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 ((*info).translators); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).translators = _tmp2_; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = g_strdup (G3_VERSION); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 ((*info).version); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).version = _tmp3_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = g_strdup (WEBSITE_URL); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 ((*info).website_url); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).website_url = _tmp4_; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).is_license_wordwrapped = FALSE; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = g_strdup (G3_LICENSE); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 ((*info).license); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).license = _tmp5_; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = gallery3_service_icon_pixbuf_set; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6__length1 = gallery3_service_icon_pixbuf_set_length1; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = (_tmp6_ != NULL) ? _vala_array_dup1 (_tmp6_, _tmp6__length1) : ((gpointer) _tmp6_); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7__length1 = _tmp6__length1; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).icons = _tmp7_; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*info).icons_length1 = _tmp7__length1; +#line 1380 "GalleryConnector.c" +} + + +static void gallery3_service_real_activation (SpitPluggable* base, gboolean enabled) { + Gallery3Service * self; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 1388 "GalleryConnector.c" +} + + +static SpitPublishingPublisher* gallery3_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + Gallery3Service * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingGallery3GalleryPublisher* _tmp1_ = NULL; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = host; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_gallery_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1409 "GalleryConnector.c" +} + + +static SpitPublishingPublisherMediaType gallery3_service_real_get_supported_media (SpitPublishingService* base) { + Gallery3Service * self; + SpitPublishingPublisherMediaType result = 0; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1422 "GalleryConnector.c" +} + + +static void gallery3_service_class_init (Gallery3ServiceClass * klass) { +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gallery3_service_parent_class = g_type_class_peek_parent (klass); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->finalize = gallery3_service_finalize; +#line 1431 "GalleryConnector.c" +} + + +static void gallery3_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gallery3_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) gallery3_service_real_get_pluggable_interface; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) gallery3_service_real_get_id; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) gallery3_service_real_get_pluggable_name; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) gallery3_service_real_get_info; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) gallery3_service_real_activation; +#line 1448 "GalleryConnector.c" +} + + +static void gallery3_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gallery3_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) gallery3_service_real_create_publisher; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) gallery3_service_real_get_supported_media; +#line 1459 "GalleryConnector.c" +} + + +static void gallery3_service_instance_init (Gallery3Service * self) { +} + + +static void gallery3_service_finalize (GObject* obj) { + Gallery3Service * self; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_GALLERY3_SERVICE, Gallery3Service); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (gallery3_service_parent_class)->finalize (obj); +#line 1473 "GalleryConnector.c" +} + + +GType gallery3_service_get_type (void) { + static volatile gsize gallery3_service_type_id__volatile = 0; + if (g_once_init_enter (&gallery3_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (Gallery3ServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gallery3_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Gallery3Service), 0, (GInstanceInitFunc) gallery3_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) gallery3_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) gallery3_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType gallery3_service_type_id; + gallery3_service_type_id = g_type_register_static (G_TYPE_OBJECT, "Gallery3Service", &g_define_type_info, 0); + g_type_add_interface_static (gallery3_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (gallery3_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&gallery3_service_type_id__volatile, gallery3_service_type_id); + } + return gallery3_service_type_id__volatile; +} + + +PublishingGallery3Album* publishing_gallery3_album_construct (GType object_type, JsonObject* collection) { + PublishingGallery3Album* self = NULL; + JsonObject* entity = NULL; + JsonObject* _tmp0_ = NULL; + JsonObject* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + JsonObject* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (collection != NULL, NULL); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3Album*) g_type_create_instance (object_type); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = collection; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = json_object_get_object_member (_tmp0_, "entity"); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity = _tmp1_; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_object_get_string_member (entity, "title"); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_set_title (self, _tmp2_); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_object_get_string_member (entity, "name"); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_set_name (self, _tmp3_); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = json_object_get_string_member (entity, "parent"); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_set_parentname (self, _tmp4_); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = collection; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = json_object_get_string_member (_tmp5_, "url"); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_set_url (self, _tmp6_); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = json_object_get_boolean_member (entity, "can_edit"); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_set_editable (self, _tmp7_); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = self->priv->_url; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = publishing_gallery3_strip_session_url (_tmp8_); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = _tmp9_; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_set_path (self, _tmp10_); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp10_); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 1551 "GalleryConnector.c" +} + + +PublishingGallery3Album* publishing_gallery3_album_new (JsonObject* collection) { +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_album_construct (PUBLISHING_GALLERY3_TYPE_ALBUM, collection); +#line 1558 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_album_get_name (PublishingGallery3Album* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self), NULL); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_name; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1573 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_set_name (PublishingGallery3Album* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self)); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_name); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_name = _tmp1_; +#line 1590 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_album_get_title (PublishingGallery3Album* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self), NULL); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_title; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1605 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_set_title (PublishingGallery3Album* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self)); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_title); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_title = _tmp1_; +#line 1622 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_album_get_summary (PublishingGallery3Album* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self), NULL); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_summary; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1637 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_set_summary (PublishingGallery3Album* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self)); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_summary); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_summary = _tmp1_; +#line 1654 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_album_get_parentname (PublishingGallery3Album* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self), NULL); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_parentname; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1669 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_set_parentname (PublishingGallery3Album* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self)); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_parentname); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_parentname = _tmp1_; +#line 1686 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_album_get_url (PublishingGallery3Album* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self), NULL); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_url; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1701 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_set_url (PublishingGallery3Album* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self)); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_url); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_url = _tmp1_; +#line 1718 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_album_get_path (PublishingGallery3Album* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self), NULL); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_path; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1733 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_set_path (PublishingGallery3Album* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self)); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_path); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_path = _tmp1_; +#line 1750 "GalleryConnector.c" +} + + +gboolean publishing_gallery3_album_get_editable (PublishingGallery3Album* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self), FALSE); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_editable; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 1765 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_set_editable (PublishingGallery3Album* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_ALBUM (self)); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_editable = _tmp0_; +#line 1777 "GalleryConnector.c" +} + + +static void publishing_gallery3_value_album_init (GValue* value) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 1784 "GalleryConnector.c" +} + + +static void publishing_gallery3_value_album_free_value (GValue* value) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (value->data[0].v_pointer) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_unref (value->data[0].v_pointer); +#line 1793 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_value_album_copy_value (const GValue* src_value, GValue* dest_value) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (src_value->data[0].v_pointer) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + dest_value->data[0].v_pointer = publishing_gallery3_album_ref (src_value->data[0].v_pointer); +#line 1803 "GalleryConnector.c" + } else { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + dest_value->data[0].v_pointer = NULL; +#line 1807 "GalleryConnector.c" + } +} + + +static gpointer publishing_gallery3_value_album_peek_pointer (const GValue* value) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return value->data[0].v_pointer; +#line 1815 "GalleryConnector.c" +} + + +static gchar* publishing_gallery3_value_album_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (collect_values[0].v_pointer) { +#line 1822 "GalleryConnector.c" + PublishingGallery3Album* object; + object = collect_values[0].v_pointer; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (object->parent_instance.g_class == NULL) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1829 "GalleryConnector.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 1833 "GalleryConnector.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = publishing_gallery3_album_ref (object); +#line 1837 "GalleryConnector.c" + } else { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 1841 "GalleryConnector.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 1845 "GalleryConnector.c" +} + + +static gchar* publishing_gallery3_value_album_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingGallery3Album** object_p; + object_p = collect_values[0].v_pointer; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!object_p) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1856 "GalleryConnector.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!value->data[0].v_pointer) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *object_p = NULL; +#line 1862 "GalleryConnector.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *object_p = value->data[0].v_pointer; +#line 1866 "GalleryConnector.c" + } else { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *object_p = publishing_gallery3_album_ref (value->data[0].v_pointer); +#line 1870 "GalleryConnector.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 1874 "GalleryConnector.c" +} + + +GParamSpec* publishing_gallery3_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingGallery3ParamSpecAlbum* spec; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_GALLERY3_TYPE_ALBUM), NULL); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return G_PARAM_SPEC (spec); +#line 1888 "GalleryConnector.c" +} + + +gpointer publishing_gallery3_value_get_album (const GValue* value) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_GALLERY3_TYPE_ALBUM), NULL); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return value->data[0].v_pointer; +#line 1897 "GalleryConnector.c" +} + + +void publishing_gallery3_value_set_album (GValue* value, gpointer v_object) { + PublishingGallery3Album* old; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_GALLERY3_TYPE_ALBUM)); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + old = value->data[0].v_pointer; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (v_object) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_GALLERY3_TYPE_ALBUM)); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = v_object; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_ref (value->data[0].v_pointer); +#line 1917 "GalleryConnector.c" + } else { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 1921 "GalleryConnector.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (old) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_unref (old); +#line 1927 "GalleryConnector.c" + } +} + + +void publishing_gallery3_value_take_album (GValue* value, gpointer v_object) { + PublishingGallery3Album* old; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_GALLERY3_TYPE_ALBUM)); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + old = value->data[0].v_pointer; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (v_object) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_GALLERY3_TYPE_ALBUM)); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = v_object; +#line 1946 "GalleryConnector.c" + } else { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 1950 "GalleryConnector.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (old) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_unref (old); +#line 1956 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_album_class_init (PublishingGallery3AlbumClass * klass) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_album_parent_class = g_type_class_peek_parent (klass); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingGallery3AlbumClass *) klass)->finalize = publishing_gallery3_album_finalize; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3AlbumPrivate)); +#line 1968 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_instance_init (PublishingGallery3Album * self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_ALBUM_GET_PRIVATE (self); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strdup (""); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_name = _tmp0_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (""); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_title = _tmp1_; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup (""); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_summary = _tmp2_; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = g_strdup (""); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_parentname = _tmp3_; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = g_strdup (""); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_url = _tmp4_; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = g_strdup (""); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_path = _tmp5_; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_editable = FALSE; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->ref_count = 1; +#line 2009 "GalleryConnector.c" +} + + +static void publishing_gallery3_album_finalize (PublishingGallery3Album* obj) { + PublishingGallery3Album * self; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_ALBUM, PublishingGallery3Album); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_destroy (self); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_name); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_title); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_summary); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_parentname); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_url); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_path); +#line 2031 "GalleryConnector.c" +} + + +GType publishing_gallery3_album_get_type (void) { + static volatile gsize publishing_gallery3_album_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_album_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_gallery3_value_album_init, publishing_gallery3_value_album_free_value, publishing_gallery3_value_album_copy_value, publishing_gallery3_value_album_peek_pointer, "p", publishing_gallery3_value_album_collect_value, "p", publishing_gallery3_value_album_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3AlbumClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_album_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3Album), 0, (GInstanceInitFunc) publishing_gallery3_album_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 publishing_gallery3_album_type_id; + publishing_gallery3_album_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingGallery3Album", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_gallery3_album_type_id__volatile, publishing_gallery3_album_type_id); + } + return publishing_gallery3_album_type_id__volatile; +} + + +gpointer publishing_gallery3_album_ref (gpointer instance) { + PublishingGallery3Album* self; + self = instance; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_atomic_int_inc (&self->ref_count); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return instance; +#line 2056 "GalleryConnector.c" +} + + +void publishing_gallery3_album_unref (gpointer instance) { + PublishingGallery3Album* self; + self = instance; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_GALLERY3_ALBUM_GET_CLASS (self)->finalize (self); +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2069 "GalleryConnector.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 2088 "GalleryConnector.c" +} + + +PublishingGallery3BaseGalleryTransaction* publishing_gallery3_base_gallery_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* endpoint_url, const gchar* item_path, PublishingRESTSupportHttpMethod method) { + PublishingGallery3BaseGalleryTransaction* self = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + PublishingGallery3Session* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PublishingRESTSupportHttpMethod _tmp12_ = 0; + JsonParser* _tmp13_ = NULL; +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (endpoint_url != NULL, NULL); +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (item_path != NULL, NULL); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = item_path; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_strcmp0 (_tmp1_, "") != 0) { +#line 2115 "GalleryConnector.c" + const gchar* _tmp2_ = NULL; + gchar _tmp3_ = '\0'; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = item_path; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = string_get (_tmp2_, (glong) 0); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _tmp3_ != '/'; +#line 2124 "GalleryConnector.c" + } else { +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = FALSE; +#line 2128 "GalleryConnector.c" + } +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp0_) { +#line 2132 "GalleryConnector.c" + const gchar* _tmp4_ = NULL; +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:164: Bad item path, this is a bug!"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = item_path; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:165: %s", _tmp4_); +#line 2140 "GalleryConnector.c" + } +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = session; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = endpoint_url; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = g_strconcat (_tmp6_, PUBLISHING_GALLERY3_REST_PATH, NULL); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _tmp7_; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = item_path; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = g_strconcat (_tmp8_, _tmp9_, NULL); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = _tmp10_; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = method; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3BaseGalleryTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp11_, _tmp12_); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp11_); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp8_); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = json_parser_new (); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->parser); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->parser = _tmp13_; +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 2172 "GalleryConnector.c" +} + + +PublishingGallery3BaseGalleryTransaction* publishing_gallery3_base_gallery_transaction_new (PublishingGallery3Session* session, const gchar* endpoint_url, const gchar* item_path, PublishingRESTSupportHttpMethod method) { +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_base_gallery_transaction_construct (PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, session, endpoint_url, item_path, method); +#line 2179 "GalleryConnector.c" +} + + +JsonNode* publishing_gallery3_base_gallery_transaction_get_root_node (PublishingGallery3BaseGalleryTransaction* self, GError** error) { + JsonNode* result = NULL; + gchar* json_object = NULL; + JsonNode* root_node = NULL; + gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + JsonParser* _tmp15_ = NULL; + JsonNode* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_BASE_GALLERY_TRANSACTION (self), NULL); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = publishing_rest_support_transaction_get_response (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object = _tmp0_; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_object; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL == _tmp2_) { +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = TRUE; +#line 2208 "GalleryConnector.c" + } else { + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_object; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = strlen (_tmp3_); +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = _tmp4_; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = 0 == _tmp5_; +#line 2221 "GalleryConnector.c" + } +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp1_) { +#line 2225 "GalleryConnector.c" + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = _tmp6_; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "No response data from %s", _tmp7_); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp7_); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = _tmp9_; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2250 "GalleryConnector.c" + } else { +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2260 "GalleryConnector.c" + } + } + { + JsonParser* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = self->parser; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = json_object; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_parser_load_from_data (_tmp10_, _tmp11_, (gssize) -1, &_inner_error_); +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2274 "GalleryConnector.c" + goto __catch0_g_error; + } + } + goto __finally0; + __catch0_g_error: + { + GError* e = NULL; + GError* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GError* _tmp14_ = NULL; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:193: ERROR: didn't load JSON data"); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_set_is_executed (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), FALSE); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = e; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = _tmp12_->message; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_PROTOCOL_ERROR, _tmp13_); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = _tmp14_; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 2303 "GalleryConnector.c" + goto __finally0; + } + __finally0: +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2317 "GalleryConnector.c" + } else { +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2327 "GalleryConnector.c" + } + } +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = self->parser; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = json_parser_get_root (_tmp15_); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp16_; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = json_node_is_null (root_node); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp17_) { +#line 2340 "GalleryConnector.c" + GError* _tmp18_ = NULL; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Root node is null, doesn't appear to be JSON data"); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = _tmp18_; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2354 "GalleryConnector.c" + } else { +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2364 "GalleryConnector.c" + } + } +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = root_node; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 2373 "GalleryConnector.c" +} + + +static void publishing_gallery3_base_gallery_transaction_class_init (PublishingGallery3BaseGalleryTransactionClass * klass) { +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_base_gallery_transaction_parent_class = g_type_class_peek_parent (klass); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_gallery3_base_gallery_transaction_finalize; +#line 2382 "GalleryConnector.c" +} + + +static void publishing_gallery3_base_gallery_transaction_instance_init (PublishingGallery3BaseGalleryTransaction * self) { +} + + +static void publishing_gallery3_base_gallery_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingGallery3BaseGalleryTransaction * self; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransaction); +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->parser); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_gallery3_base_gallery_transaction_parent_class)->finalize (obj); +#line 2398 "GalleryConnector.c" +} + + +GType publishing_gallery3_base_gallery_transaction_get_type (void) { + static volatile gsize publishing_gallery3_base_gallery_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_base_gallery_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3BaseGalleryTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_base_gallery_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3BaseGalleryTransaction), 0, (GInstanceInitFunc) publishing_gallery3_base_gallery_transaction_instance_init, NULL }; + GType publishing_gallery3_base_gallery_transaction_type_id; + publishing_gallery3_base_gallery_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingGallery3BaseGalleryTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_base_gallery_transaction_type_id__volatile, publishing_gallery3_base_gallery_transaction_type_id); + } + return publishing_gallery3_base_gallery_transaction_type_id__volatile; +} + + +PublishingGallery3KeyFetchTransaction* publishing_gallery3_key_fetch_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* url, const gchar* username, const gchar* password) { + PublishingGallery3KeyFetchTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (password != NULL, NULL); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = url; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3KeyFetchTransaction*) publishing_gallery3_base_gallery_transaction_construct (object_type, _tmp0_, _tmp1_, "", PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = username; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "user", _tmp2_); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = password; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "password", _tmp3_); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 2444 "GalleryConnector.c" +} + + +PublishingGallery3KeyFetchTransaction* publishing_gallery3_key_fetch_transaction_new (PublishingGallery3Session* session, const gchar* url, const gchar* username, const gchar* password) { +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_key_fetch_transaction_construct (PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION, session, url, username, password); +#line 2451 "GalleryConnector.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 2484 "GalleryConnector.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 2493 "GalleryConnector.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 2499 "GalleryConnector.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 2508 "GalleryConnector.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 2514 "GalleryConnector.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 2523 "GalleryConnector.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 2527 "GalleryConnector.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 2535 "GalleryConnector.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 2544 "GalleryConnector.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 2548 "GalleryConnector.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 2570 "GalleryConnector.c" +} + + +gchar* publishing_gallery3_key_fetch_transaction_get_key (PublishingGallery3KeyFetchTransaction* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + const gchar* _tmp6_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_KEY_FETCH_TRANSACTION (self), NULL); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->key; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_strcmp0 (_tmp0_, "") != 0) { +#line 2591 "GalleryConnector.c" + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->key; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp2_; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 2602 "GalleryConnector.c" + } +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = publishing_rest_support_transaction_get_response (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = _tmp3_; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = self->priv->key; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL == _tmp6_) { +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = TRUE; +#line 2616 "GalleryConnector.c" + } else { + const gchar* _tmp7_ = NULL; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = self->priv->key; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = g_strcmp0 ("", _tmp7_) == 0; +#line 2623 "GalleryConnector.c" + } +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp5_) { +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = TRUE; +#line 2629 "GalleryConnector.c" + } else { + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = self->priv->key; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = strlen (_tmp8_); +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = _tmp9_; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = 0 == _tmp10_; +#line 2642 "GalleryConnector.c" + } +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp4_) { +#line 2646 "GalleryConnector.c" + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = _tmp11_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:232: No response data from \"%s\"", _tmp12_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp12_); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = g_strdup (""); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp13_; +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 2664 "GalleryConnector.c" + } +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = self->priv->key; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = string_slice (_tmp14_, (glong) 1, (glong) -1); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = _tmp15_; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = self->priv->key; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp17_; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 2682 "GalleryConnector.c" +} + + +static void publishing_gallery3_key_fetch_transaction_class_init (PublishingGallery3KeyFetchTransactionClass * klass) { +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_key_fetch_transaction_parent_class = g_type_class_peek_parent (klass); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_gallery3_key_fetch_transaction_finalize; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3KeyFetchTransactionPrivate)); +#line 2693 "GalleryConnector.c" +} + + +static void publishing_gallery3_key_fetch_transaction_instance_init (PublishingGallery3KeyFetchTransaction * self) { + gchar* _tmp0_ = NULL; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_KEY_FETCH_TRANSACTION_GET_PRIVATE (self); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strdup (""); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = _tmp0_; +#line 2705 "GalleryConnector.c" +} + + +static void publishing_gallery3_key_fetch_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingGallery3KeyFetchTransaction * self; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION, PublishingGallery3KeyFetchTransaction); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_gallery3_key_fetch_transaction_parent_class)->finalize (obj); +#line 2717 "GalleryConnector.c" +} + + +GType publishing_gallery3_key_fetch_transaction_get_type (void) { + static volatile gsize publishing_gallery3_key_fetch_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_key_fetch_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3KeyFetchTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_key_fetch_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3KeyFetchTransaction), 0, (GInstanceInitFunc) publishing_gallery3_key_fetch_transaction_instance_init, NULL }; + GType publishing_gallery3_key_fetch_transaction_type_id; + publishing_gallery3_key_fetch_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, "PublishingGallery3KeyFetchTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_key_fetch_transaction_type_id__volatile, publishing_gallery3_key_fetch_transaction_type_id); + } + return publishing_gallery3_key_fetch_transaction_type_id__volatile; +} + + +PublishingGallery3GalleryRequestTransaction* publishing_gallery3_gallery_request_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* item, PublishingRESTSupportHttpMethod method) { + PublishingGallery3GalleryRequestTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (item != NULL, NULL); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp1_) { +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:254: Not authenticated"); +#line 2749 "GalleryConnector.c" + } else { + PublishingGallery3Session* _tmp2_ = NULL; + PublishingGallery3Session* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + PublishingRESTSupportHttpMethod _tmp7_ = 0; + PublishingGallery3Session* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = session; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = session; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = publishing_gallery3_session_get_url (_tmp3_); +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = _tmp4_; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = item; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = method; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GalleryRequestTransaction*) publishing_gallery3_base_gallery_transaction_construct (object_type, _tmp2_, _tmp5_, _tmp6_, _tmp7_); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = session; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = publishing_gallery3_session_get_key (_tmp8_); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = _tmp9_; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Key", _tmp10_); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Method", "GET"); +#line 2784 "GalleryConnector.c" + } +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 2788 "GalleryConnector.c" +} + + +PublishingGallery3GalleryRequestTransaction* publishing_gallery3_gallery_request_transaction_new (PublishingGallery3Session* session, const gchar* item, PublishingRESTSupportHttpMethod method) { +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_gallery_request_transaction_construct (PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION, session, item, method); +#line 2795 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_request_transaction_class_init (PublishingGallery3GalleryRequestTransactionClass * klass) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_request_transaction_parent_class = g_type_class_peek_parent (klass); +#line 2802 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_request_transaction_instance_init (PublishingGallery3GalleryRequestTransaction * self) { +} + + +GType publishing_gallery3_gallery_request_transaction_get_type (void) { + static volatile gsize publishing_gallery3_gallery_request_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_gallery_request_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GalleryRequestTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_gallery_request_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GalleryRequestTransaction), 0, (GInstanceInitFunc) publishing_gallery3_gallery_request_transaction_instance_init, NULL }; + GType publishing_gallery3_gallery_request_transaction_type_id; + publishing_gallery3_gallery_request_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, "PublishingGallery3GalleryRequestTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_gallery_request_transaction_type_id__volatile, publishing_gallery3_gallery_request_transaction_type_id); + } + return publishing_gallery3_gallery_request_transaction_type_id__volatile; +} + + +PublishingGallery3GetAlbumURLsTransaction* publishing_gallery3_get_album_ur_ls_transaction_construct (GType object_type, PublishingGallery3Session* session) { + PublishingGallery3GetAlbumURLsTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GetAlbumURLsTransaction*) publishing_gallery3_gallery_request_transaction_construct (object_type, _tmp0_, "/item/1", PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "type", "album"); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "scope", "all"); +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 2837 "GalleryConnector.c" +} + + +PublishingGallery3GetAlbumURLsTransaction* publishing_gallery3_get_album_ur_ls_transaction_new (PublishingGallery3Session* session) { +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_get_album_ur_ls_transaction_construct (PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION, session); +#line 2844 "GalleryConnector.c" +} + + +static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value) { +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if ((*length) == (*size)) { +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 2855 "GalleryConnector.c" + } +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[(*length)++] = value; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[*length] = NULL; +#line 2861 "GalleryConnector.c" +} + + +gchar** publishing_gallery3_get_album_ur_ls_transaction_get_album_urls (PublishingGallery3GetAlbumURLsTransaction* self, int* result_length1) { + gchar** result = NULL; + JsonNode* root_node = NULL; + JsonArray* all_members = NULL; + JsonObject* _tmp2_ = NULL; + JsonArray* _tmp3_ = NULL; + gchar** member_urls = NULL; + gint member_urls_length1 = 0; + gint _member_urls_size_ = 0; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + GError * _inner_error_ = NULL; +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUM_UR_LS_TRANSACTION (self), NULL); +#line 2879 "GalleryConnector.c" + { + JsonNode* _tmp0_ = NULL; + JsonNode* _tmp1_ = NULL; +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_base_gallery_transaction_get_root_node (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransaction), &_inner_error_); +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _tmp1_; +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2891 "GalleryConnector.c" + goto __catch1_spit_publishing_publishing_error; + } +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2900 "GalleryConnector.c" + } +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp0_; +#line 2904 "GalleryConnector.c" + } + goto __finally1; + __catch1_spit_publishing_publishing_error: + { + GError* e = NULL; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:285: Could not get root node"); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 2918 "GalleryConnector.c" + } + __finally1: +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 2929 "GalleryConnector.c" + } +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_node_get_object (root_node); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_object_get_array_member (_tmp2_, "members"); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + all_members = _tmp3_; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + member_urls = NULL; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + member_urls_length1 = 0; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _member_urls_size_ = member_urls_length1; +#line 2943 "GalleryConnector.c" + { + guint i = 0U; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = (guint) 0; +#line 2948 "GalleryConnector.c" + { + gboolean _tmp4_ = FALSE; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = TRUE; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + while (TRUE) { +#line 2955 "GalleryConnector.c" + guint _tmp6_ = 0U; + JsonArray* _tmp7_ = NULL; + guint _tmp8_ = 0U; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + JsonArray* _tmp10_ = NULL; + guint _tmp11_ = 0U; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 2967 "GalleryConnector.c" + guint _tmp5_ = 0U; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = i; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = _tmp5_ + 1; +#line 2973 "GalleryConnector.c" + } +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = FALSE; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = i; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = all_members; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = json_array_get_length (_tmp7_); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!(_tmp6_ <= (_tmp8_ - 1))) { +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 2987 "GalleryConnector.c" + } +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = member_urls; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9__length1 = member_urls_length1; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = all_members; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = i; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = json_array_get_string_element (_tmp10_, _tmp11_); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_array_add2 (&member_urls, &member_urls_length1, &_member_urls_size_, _tmp13_); +#line 3003 "GalleryConnector.c" + } + } + } +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = member_urls; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14__length1 = member_urls_length1; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (result_length1) { +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *result_length1 = _tmp14__length1; +#line 3015 "GalleryConnector.c" + } +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp14_; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 3021 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_album_ur_ls_transaction_class_init (PublishingGallery3GetAlbumURLsTransactionClass * klass) { +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_get_album_ur_ls_transaction_parent_class = g_type_class_peek_parent (klass); +#line 3028 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_album_ur_ls_transaction_instance_init (PublishingGallery3GetAlbumURLsTransaction * self) { +} + + +GType publishing_gallery3_get_album_ur_ls_transaction_get_type (void) { + static volatile gsize publishing_gallery3_get_album_ur_ls_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_get_album_ur_ls_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GetAlbumURLsTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_get_album_ur_ls_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GetAlbumURLsTransaction), 0, (GInstanceInitFunc) publishing_gallery3_get_album_ur_ls_transaction_instance_init, NULL }; + GType publishing_gallery3_get_album_ur_ls_transaction_type_id; + publishing_gallery3_get_album_ur_ls_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION, "PublishingGallery3GetAlbumURLsTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_get_album_ur_ls_transaction_type_id__volatile, publishing_gallery3_get_album_ur_ls_transaction_type_id); + } + return publishing_gallery3_get_album_ur_ls_transaction_type_id__volatile; +} + + +static void _vala_array_add3 (gchar*** array, int* length, int* size, gchar* value) { +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if ((*length) == (*size)) { +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 3055 "GalleryConnector.c" + } +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[(*length)++] = value; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[*length] = NULL; +#line 3061 "GalleryConnector.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 3078 "GalleryConnector.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 3088 "GalleryConnector.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 3098 "GalleryConnector.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 3104 "GalleryConnector.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 3115 "GalleryConnector.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 3127 "GalleryConnector.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 3131 "GalleryConnector.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 3135 "GalleryConnector.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 3139 "GalleryConnector.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 3162 "GalleryConnector.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 3171 "GalleryConnector.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 3184 "GalleryConnector.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 3190 "GalleryConnector.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 3200 "GalleryConnector.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 3212 "GalleryConnector.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 3216 "GalleryConnector.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 3222 "GalleryConnector.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 3233 "GalleryConnector.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 3248 "GalleryConnector.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 3252 "GalleryConnector.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 3256 "GalleryConnector.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 3262 "GalleryConnector.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 3274 "GalleryConnector.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 3295 "GalleryConnector.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 3299 "GalleryConnector.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 3305 "GalleryConnector.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 3312 "GalleryConnector.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 3320 "GalleryConnector.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 3358 "GalleryConnector.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 3367 "GalleryConnector.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 3383 "GalleryConnector.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 3389 "GalleryConnector.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 3403 "GalleryConnector.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 3423 "GalleryConnector.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 3438 "GalleryConnector.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 3442 "GalleryConnector.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 3450 "GalleryConnector.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 3461 "GalleryConnector.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 3470 "GalleryConnector.c" + } +} + + +PublishingGallery3GetAlbumsTransaction* publishing_gallery3_get_albums_transaction_construct (GType object_type, PublishingGallery3Session* session, gchar** _album_urls, int _album_urls_length1, guint start) { + PublishingGallery3GetAlbumsTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar* url_list = NULL; + gchar* _tmp2_ = NULL; + gchar** my_album_urls = NULL; + gint my_album_urls_length1 = 0; + gint _my_album_urls_size_ = 0; + gchar* endpoint_url = NULL; + PublishingGallery3Session* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + const gchar* _tmp6_ = NULL; + gint url_length = 0; + gint _tmp10_ = 0; + guint _tmp11_ = 0U; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GetAlbumsTransaction*) publishing_gallery3_gallery_request_transaction_construct (object_type, _tmp0_, "/items", PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "scope", "all"); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _album_urls; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1__length1 = _album_urls_length1; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_get_albums_transaction_set_album_urls (self, _tmp1_, _tmp1__length1); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup ("["); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url_list = _tmp2_; +#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + my_album_urls = NULL; +#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + my_album_urls_length1 = 0; +#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _my_album_urls_size_ = my_album_urls_length1; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = session; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = publishing_rest_support_session_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + endpoint_url = _tmp4_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = endpoint_url; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL != _tmp6_) { +#line 3534 "GalleryConnector.c" + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = endpoint_url; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = strlen (_tmp7_); +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = _tmp9_; +#line 3546 "GalleryConnector.c" + } else { +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = 0; +#line 3550 "GalleryConnector.c" + } +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url_length = _tmp5_; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = url_length; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url_length = _tmp10_ + 18; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = start; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = publishing_gallery3_get_albums_transaction_get_album_urls (self, &_tmp12__length1); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = _tmp12_; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13__length1 = _tmp12__length1; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp11_ <= ((guint) (_tmp13__length1 - 1))) { +#line 3568 "GalleryConnector.c" + guint _tmp14_ = 0U; + const gchar* _tmp43_ = NULL; + gchar** _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + guint _tmp48_ = 0U; + gchar** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + gchar** _tmp50_ = NULL; + gint _tmp50__length1 = 0; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = start; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_get_albums_transaction_set_urls_sent (self, _tmp14_); +#line 3585 "GalleryConnector.c" + { + gboolean _tmp15_ = FALSE; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = TRUE; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + while (TRUE) { +#line 3592 "GalleryConnector.c" + gchar** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gchar** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + guint _tmp30_ = 0U; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gint _tmp35_ = 0; + gchar** _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gchar** _tmp37_ = NULL; + gint _tmp37__length1 = 0; + guint _tmp38_ = 0U; + const gchar* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + guint _tmp42_ = 0U; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp15_) { +#line 3616 "GalleryConnector.c" + gboolean _tmp16_ = FALSE; + guint _tmp17_ = 0U; + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = self->priv->_urls_sent; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = publishing_gallery3_get_albums_transaction_get_album_urls (self, &_tmp18__length1); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = _tmp18_; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19__length1 = _tmp18__length1; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp17_ <= ((guint) (_tmp19__length1 - 1))) { +#line 3633 "GalleryConnector.c" + gint _tmp20_ = 0; + gchar** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + guint _tmp23_ = 0U; + const gchar* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = url_length; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = publishing_gallery3_get_albums_transaction_get_album_urls (self, &_tmp21__length1); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _tmp21_; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22__length1 = _tmp21__length1; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = self->priv->_urls_sent; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = _tmp22_[_tmp23_]; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = strlen (_tmp24_); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = _tmp25_; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = ((_tmp20_ + _tmp26_) + 3) <= 255; +#line 3661 "GalleryConnector.c" + } else { +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = FALSE; +#line 3665 "GalleryConnector.c" + } +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp16_) { +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 3671 "GalleryConnector.c" + } + } +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = FALSE; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = my_album_urls; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27__length1 = my_album_urls_length1; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = publishing_gallery3_get_albums_transaction_get_album_urls (self, &_tmp28__length1); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = _tmp28_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29__length1 = _tmp28__length1; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = self->priv->_urls_sent; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = _tmp29_[_tmp30_]; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = g_strconcat ("\"", _tmp31_, NULL); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = _tmp32_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = g_strconcat (_tmp33_, "\"", NULL); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_array_add3 (&my_album_urls, &my_album_urls_length1, &_my_album_urls_size_, _tmp34_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp33_); +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = url_length; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = publishing_gallery3_get_albums_transaction_get_album_urls (self, &_tmp36__length1); +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = _tmp36_; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37__length1 = _tmp36__length1; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp38_ = self->priv->_urls_sent; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp39_ = _tmp37_[_tmp38_]; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp40_ = strlen (_tmp39_); +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp41_ = _tmp40_; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url_length = _tmp35_ + (_tmp41_ + 3); +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp42_ = self->priv->_urls_sent; +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_get_albums_transaction_set_urls_sent (self, _tmp42_ + 1); +#line 3722 "GalleryConnector.c" + } + } +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp43_ = url_list; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp44_ = my_album_urls; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp44__length1 = my_album_urls_length1; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp45_ = _vala_g_strjoinv (",", _tmp44_, _tmp44__length1); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp46_ = _tmp45_; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp47_ = g_strconcat (_tmp43_, _tmp46_, NULL); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url_list); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url_list = _tmp47_; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp46_); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp48_ = self->priv->_urls_sent; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp49_ = publishing_gallery3_get_albums_transaction_get_album_urls (self, &_tmp49__length1); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp50_ = _tmp49_; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp50__length1 = _tmp49__length1; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_get_albums_transaction_set_more_urls (self, _tmp48_ <= ((guint) (_tmp50__length1 - 1))); +#line 3753 "GalleryConnector.c" + } +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp51_ = url_list; +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp52_ = g_strconcat (_tmp51_, "]", NULL); +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url_list); +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url_list = _tmp52_; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp53_ = url_list; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "urls", _tmp53_); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (endpoint_url); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + my_album_urls = (_vala_array_free (my_album_urls, my_album_urls_length1, (GDestroyNotify) g_free), NULL); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url_list); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 3775 "GalleryConnector.c" +} + + +PublishingGallery3GetAlbumsTransaction* publishing_gallery3_get_albums_transaction_new (PublishingGallery3Session* session, gchar** _album_urls, int _album_urls_length1, guint start) { +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_get_albums_transaction_construct (PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION, session, _album_urls, _album_urls_length1, start); +#line 3782 "GalleryConnector.c" +} + + +static gpointer _publishing_gallery3_album_ref0 (gpointer self) { +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? publishing_gallery3_album_ref (self) : NULL; +#line 3789 "GalleryConnector.c" +} + + +static void _vala_array_add4 (PublishingGallery3Album*** array, int* length, int* size, PublishingGallery3Album* value) { +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if ((*length) == (*size)) { +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *array = g_renew (PublishingGallery3Album*, *array, (*size) + 1); +#line 3800 "GalleryConnector.c" + } +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[(*length)++] = value; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[*length] = NULL; +#line 3806 "GalleryConnector.c" +} + + +static const gchar* string_to_string (const gchar* self) { + const gchar* result = NULL; +#line 1412 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1413 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = self; +#line 1413 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3818 "GalleryConnector.c" +} + + +PublishingGallery3Album** publishing_gallery3_get_albums_transaction_get_albums (PublishingGallery3GetAlbumsTransaction* self, int* result_length1, GError** error) { + PublishingGallery3Album** result = NULL; + PublishingGallery3Album** albums = NULL; + gint albums_length1 = 0; + gint _albums_size_ = 0; + PublishingGallery3Album* tmp_album = NULL; + JsonNode* root_node = NULL; + JsonNode* _tmp0_ = NULL; + JsonArray* members = NULL; + JsonArray* _tmp1_ = NULL; + PublishingGallery3Album** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + GError * _inner_error_ = NULL; +#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION (self), NULL); +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + albums = NULL; +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + albums_length1 = 0; +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _albums_size_ = albums_length1; +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = publishing_gallery3_base_gallery_transaction_get_root_node (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransaction), &_inner_error_); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp0_; +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_album_unref0 (tmp_album); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + albums = (_vala_array_free (albums, albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 3859 "GalleryConnector.c" + } else { +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_album_unref0 (tmp_album); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + albums = (_vala_array_free (albums, albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 3871 "GalleryConnector.c" + } + } +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = json_node_get_array (root_node); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + members = _tmp1_; +#line 3878 "GalleryConnector.c" + { + guint i = 0U; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = (guint) 0; +#line 3883 "GalleryConnector.c" + { + gboolean _tmp2_ = FALSE; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = TRUE; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + while (TRUE) { +#line 3890 "GalleryConnector.c" + guint _tmp4_ = 0U; + JsonArray* _tmp5_ = NULL; + guint _tmp6_ = 0U; + JsonArray* _tmp7_ = NULL; + guint _tmp8_ = 0U; + JsonObject* _tmp9_ = NULL; + PublishingGallery3Album* _tmp10_ = NULL; + PublishingGallery3Album* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp2_) { +#line 3903 "GalleryConnector.c" + guint _tmp3_ = 0U; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = i; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = _tmp3_ + 1; +#line 3909 "GalleryConnector.c" + } +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = FALSE; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = i; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = members; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = json_array_get_length (_tmp5_); +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!(_tmp4_ <= (_tmp6_ - 1))) { +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 3923 "GalleryConnector.c" + } +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = members; +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = i; +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = json_array_get_object_element (_tmp7_, _tmp8_); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_album_new (_tmp9_); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_album_unref0 (tmp_album); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tmp_album = _tmp10_; +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = tmp_album; +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = publishing_gallery3_album_get_editable (_tmp11_); +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = _tmp12_; +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp13_) { +#line 3945 "GalleryConnector.c" + PublishingGallery3Album** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + PublishingGallery3Album* _tmp15_ = NULL; + PublishingGallery3Album* _tmp16_ = NULL; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = albums; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14__length1 = albums_length1; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = tmp_album; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = _publishing_gallery3_album_ref0 (_tmp15_); +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_array_add4 (&albums, &albums_length1, &_albums_size_, _tmp16_); +#line 3960 "GalleryConnector.c" + } else { + PublishingGallery3Album* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = tmp_album; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = publishing_gallery3_album_get_title (_tmp17_); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = _tmp18_; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = string_to_string (_tmp19_); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = g_strconcat ("Album \"", _tmp20_, "\" is not editable", NULL); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _tmp21_; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:373: %s", _tmp22_); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp22_); +#line 3984 "GalleryConnector.c" + } + } + } + } +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = albums; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23__length1 = albums_length1; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (result_length1) { +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *result_length1 = _tmp23__length1; +#line 3997 "GalleryConnector.c" + } +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp23_; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_album_unref0 (tmp_album); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4005 "GalleryConnector.c" +} + + +gchar** publishing_gallery3_get_albums_transaction_get_album_urls (PublishingGallery3GetAlbumsTransaction* self, int* result_length1) { + gchar** result; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION (self), NULL); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_album_urls; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0__length1 = self->priv->_album_urls_length1; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _tmp0_; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1__length1 = _tmp0__length1; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (result_length1) { +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *result_length1 = _tmp1__length1; +#line 4029 "GalleryConnector.c" + } +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4035 "GalleryConnector.c" +} + + +static gchar** _vala_array_dup2 (gchar** self, int length) { + gchar** result; + int i; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = g_new0 (gchar*, length + 1); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + for (i = 0; i < length; i++) { +#line 4046 "GalleryConnector.c" + gchar* _tmp0_ = NULL; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strdup (self[i]); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result[i] = _tmp0_; +#line 4052 "GalleryConnector.c" + } +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4056 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_albums_transaction_set_album_urls (PublishingGallery3GetAlbumsTransaction* self, gchar** value, int value_length1) { + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION (self)); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0__length1 = value_length1; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup2 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1__length1 = _tmp0__length1; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_urls = (_vala_array_free (self->priv->_album_urls, self->priv->_album_urls_length1, (GDestroyNotify) g_free), NULL); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_urls = _tmp1_; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_urls_length1 = _tmp1__length1; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->__album_urls_size_ = self->priv->_album_urls_length1; +#line 4083 "GalleryConnector.c" +} + + +guint publishing_gallery3_get_albums_transaction_get_urls_sent (PublishingGallery3GetAlbumsTransaction* self) { + guint result; + guint _tmp0_ = 0U; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION (self), 0U); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_urls_sent; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4098 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_albums_transaction_set_urls_sent (PublishingGallery3GetAlbumsTransaction* self, guint value) { + guint _tmp0_ = 0U; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION (self)); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_urls_sent = _tmp0_; +#line 4110 "GalleryConnector.c" +} + + +gboolean publishing_gallery3_get_albums_transaction_get_more_urls (PublishingGallery3GetAlbumsTransaction* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION (self), FALSE); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_more_urls; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4125 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_albums_transaction_set_more_urls (PublishingGallery3GetAlbumsTransaction* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GET_ALBUMS_TRANSACTION (self)); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_more_urls = _tmp0_; +#line 4137 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_albums_transaction_class_init (PublishingGallery3GetAlbumsTransactionClass * klass) { +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_get_albums_transaction_parent_class = g_type_class_peek_parent (klass); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_gallery3_get_albums_transaction_finalize; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3GetAlbumsTransactionPrivate)); +#line 4148 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_albums_transaction_instance_init (PublishingGallery3GetAlbumsTransaction * self) { +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_GET_ALBUMS_TRANSACTION_GET_PRIVATE (self); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_urls = NULL; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_urls_length1 = 0; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->__album_urls_size_ = self->priv->_album_urls_length1; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_urls_sent = (guint) 0; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_more_urls = FALSE; +#line 4165 "GalleryConnector.c" +} + + +static void publishing_gallery3_get_albums_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingGallery3GetAlbumsTransaction * self; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION, PublishingGallery3GetAlbumsTransaction); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_urls = (_vala_array_free (self->priv->_album_urls, self->priv->_album_urls_length1, (GDestroyNotify) g_free), NULL); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_gallery3_get_albums_transaction_parent_class)->finalize (obj); +#line 4177 "GalleryConnector.c" +} + + +GType publishing_gallery3_get_albums_transaction_get_type (void) { + static volatile gsize publishing_gallery3_get_albums_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_get_albums_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GetAlbumsTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_get_albums_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GetAlbumsTransaction), 0, (GInstanceInitFunc) publishing_gallery3_get_albums_transaction_instance_init, NULL }; + GType publishing_gallery3_get_albums_transaction_type_id; + publishing_gallery3_get_albums_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION, "PublishingGallery3GetAlbumsTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_get_albums_transaction_type_id__volatile, publishing_gallery3_get_albums_transaction_type_id); + } + return publishing_gallery3_get_albums_transaction_type_id__volatile; +} + + +static void _vala_JsonNode_free (JsonNode* self) { +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_boxed_free (json_node_get_type (), self); +#line 4196 "GalleryConnector.c" +} + + +PublishingGallery3GalleryGetTagTransaction* publishing_gallery3_gallery_get_tag_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* tag_name) { + PublishingGallery3GalleryGetTagTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (tag_name != NULL, NULL); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp1_) { +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:389: Not authenticated"); +#line 4216 "GalleryConnector.c" + } else { + JsonGenerator* entity = NULL; + JsonGenerator* _tmp2_ = NULL; + JsonNode* root_node = NULL; + JsonNode* _tmp3_ = NULL; + JsonObject* obj = NULL; + JsonObject* _tmp4_ = NULL; + PublishingGallery3Session* _tmp5_ = NULL; + PublishingGallery3Session* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + PublishingGallery3Session* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gsize entity_length = 0UL; + gchar* entity_value = NULL; + gsize _tmp13_ = 0UL; + gchar* _tmp14_ = NULL; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_generator_new (); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity = _tmp2_; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_node_new (JSON_NODE_OBJECT); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp3_; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = json_object_new (); +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + obj = _tmp4_; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = session; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = session; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_gallery3_session_get_url (_tmp6_); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _tmp7_; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GalleryGetTagTransaction*) publishing_gallery3_base_gallery_transaction_construct (object_type, _tmp5_, _tmp8_, "/tags", PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = session; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_session_get_key (_tmp9_); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = _tmp10_; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Key", _tmp11_); +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Method", "POST"); +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = tag_name; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "name", _tmp12_); +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_node_set_object (root_node, obj); +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_generator_set_root (entity, root_node); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = json_generator_to_data (entity, &_tmp13_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity_length = _tmp13_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity_value = _tmp14_; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:409: created entity: %s", entity_value); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "entity", entity_value); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (entity_value); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _json_object_unref0 (obj); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + __vala_JsonNode_free0 (root_node); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (entity); +#line 4294 "GalleryConnector.c" + } +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 4298 "GalleryConnector.c" +} + + +PublishingGallery3GalleryGetTagTransaction* publishing_gallery3_gallery_get_tag_transaction_new (PublishingGallery3Session* session, const gchar* tag_name) { +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_gallery_get_tag_transaction_construct (PUBLISHING_GALLERY3_TYPE_GALLERY_GET_TAG_TRANSACTION, session, tag_name); +#line 4305 "GalleryConnector.c" +} + + +gchar* publishing_gallery3_gallery_get_tag_transaction_tag_url (PublishingGallery3GalleryGetTagTransaction* self) { + gchar* result = NULL; + JsonNode* root_node = NULL; + gchar* url = NULL; + JsonObject* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_GET_TAG_TRANSACTION (self), NULL); +#line 4319 "GalleryConnector.c" + { + JsonNode* _tmp0_ = NULL; + JsonNode* _tmp1_ = NULL; +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_base_gallery_transaction_get_root_node (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransaction), &_inner_error_); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _tmp1_; +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4331 "GalleryConnector.c" + goto __catch2_spit_publishing_publishing_error; + } +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 4342 "GalleryConnector.c" + } +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp0_; +#line 4346 "GalleryConnector.c" + } + goto __finally2; + __catch2_spit_publishing_publishing_error: + { + GError* e = NULL; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:425: Could not get root node"); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 4360 "GalleryConnector.c" + } + __finally2: +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 4373 "GalleryConnector.c" + } +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_node_get_object (root_node); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_object_get_string_member (_tmp2_, "url"); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url = _tmp4_; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = url; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4389 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_get_tag_transaction_class_init (PublishingGallery3GalleryGetTagTransactionClass * klass) { +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_get_tag_transaction_parent_class = g_type_class_peek_parent (klass); +#line 4396 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_get_tag_transaction_instance_init (PublishingGallery3GalleryGetTagTransaction * self) { +} + + +GType publishing_gallery3_gallery_get_tag_transaction_get_type (void) { + static volatile gsize publishing_gallery3_gallery_get_tag_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_gallery_get_tag_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GalleryGetTagTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_gallery_get_tag_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GalleryGetTagTransaction), 0, (GInstanceInitFunc) publishing_gallery3_gallery_get_tag_transaction_instance_init, NULL }; + GType publishing_gallery3_gallery_get_tag_transaction_type_id; + publishing_gallery3_gallery_get_tag_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, "PublishingGallery3GalleryGetTagTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_gallery_get_tag_transaction_type_id__volatile, publishing_gallery3_gallery_get_tag_transaction_type_id); + } + return publishing_gallery3_gallery_get_tag_transaction_type_id__volatile; +} + + +PublishingGallery3GalleryGetItemTagsURLsTransaction* publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* item_url) { + PublishingGallery3GalleryGetItemTagsURLsTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (item_url != NULL, NULL); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = item_url; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GalleryGetItemTagsURLsTransaction*) publishing_gallery3_gallery_request_transaction_construct (object_type, _tmp0_, _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 4432 "GalleryConnector.c" +} + + +PublishingGallery3GalleryGetItemTagsURLsTransaction* publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_new (PublishingGallery3Session* session, const gchar* item_url) { +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_construct (PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION, session, item_url); +#line 4439 "GalleryConnector.c" +} + + +gchar* publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_get_item_tags_path (PublishingGallery3GalleryGetItemTagsURLsTransaction* self) { + gchar* result = NULL; + JsonNode* root_node = NULL; + JsonObject* relationships = NULL; + JsonObject* tags = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GError * _inner_error_ = NULL; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION (self), NULL); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->item_tags_path; +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_strcmp0 ("", _tmp0_) == 0) { +#line 4458 "GalleryConnector.c" + JsonNode* _tmp3_ = NULL; + JsonObject* _tmp4_ = NULL; + JsonObject* _tmp5_ = NULL; + JsonObject* _tmp6_ = NULL; + JsonObject* _tmp7_ = NULL; + JsonObject* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + { + JsonNode* _tmp1_ = NULL; + JsonNode* _tmp2_ = NULL; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = publishing_gallery3_base_gallery_transaction_get_root_node (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransaction), &_inner_error_); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _tmp2_; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4480 "GalleryConnector.c" + goto __catch3_spit_publishing_publishing_error; + } +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 4489 "GalleryConnector.c" + } +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp1_; +#line 4493 "GalleryConnector.c" + } + goto __finally3; + __catch3_spit_publishing_publishing_error: + { + GError* e = NULL; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:461: Could not get root node"); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 4507 "GalleryConnector.c" + } + __finally3: +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 4518 "GalleryConnector.c" + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = root_node; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = json_node_get_object (_tmp3_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = json_object_get_object_member (_tmp4_, "relationships"); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + relationships = _tmp5_; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = relationships; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = json_object_get_object_member (_tmp6_, "tags"); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tags = _tmp7_; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = tags; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = json_object_get_string_member (_tmp8_, "url"); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_tags_path); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->item_tags_path = _tmp10_; +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = self->priv->item_tags_path; +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = publishing_gallery3_strip_session_url (_tmp11_); +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_tags_path); +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->item_tags_path = _tmp12_; +#line 4552 "GalleryConnector.c" + } +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = self->priv->item_tags_path; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp14_; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4562 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_class_init (PublishingGallery3GalleryGetItemTagsURLsTransactionClass * klass) { +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_parent_class = g_type_class_peek_parent (klass); +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_finalize; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3GalleryGetItemTagsURLsTransactionPrivate)); +#line 4573 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_instance_init (PublishingGallery3GalleryGetItemTagsURLsTransaction * self) { + gchar* _tmp0_ = NULL; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION_GET_PRIVATE (self); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strdup (""); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->item_tags_path = _tmp0_; +#line 4585 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingGallery3GalleryGetItemTagsURLsTransaction * self; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_GALLERY_GET_ITEM_TAGS_UR_LS_TRANSACTION, PublishingGallery3GalleryGetItemTagsURLsTransaction); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_tags_path); +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_parent_class)->finalize (obj); +#line 4597 "GalleryConnector.c" +} + + +GType publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_get_type (void) { + static volatile gsize publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GalleryGetItemTagsURLsTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GalleryGetItemTagsURLsTransaction), 0, (GInstanceInitFunc) publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_instance_init, NULL }; + GType publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_type_id; + publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_GALLERY_REQUEST_TRANSACTION, "PublishingGallery3GalleryGetItemTagsURLsTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_type_id__volatile, publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_type_id); + } + return publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_type_id__volatile; +} + + +PublishingGallery3GallerySetTagRelationshipTransaction* publishing_gallery3_gallery_set_tag_relationship_transaction_construct (GType object_type, PublishingGallery3Session* session, const gchar* item_tags_path, const gchar* tag_url, const gchar* item_url) { + PublishingGallery3GallerySetTagRelationshipTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (item_tags_path != NULL, NULL); +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (tag_url != NULL, NULL); +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (item_url != NULL, NULL); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp1_) { +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:489: Not authenticated"); +#line 4633 "GalleryConnector.c" + } else { + JsonGenerator* entity = NULL; + JsonGenerator* _tmp2_ = NULL; + JsonNode* root_node = NULL; + JsonNode* _tmp3_ = NULL; + JsonObject* obj = NULL; + JsonObject* _tmp4_ = NULL; + PublishingGallery3Session* _tmp5_ = NULL; + PublishingGallery3Session* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + PublishingGallery3Session* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gsize entity_length = 0UL; + gchar* entity_value = NULL; + gsize _tmp15_ = 0UL; + gchar* _tmp16_ = NULL; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_generator_new (); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity = _tmp2_; +#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_node_new (JSON_NODE_OBJECT); +#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp3_; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = json_object_new (); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + obj = _tmp4_; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = session; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = session; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_gallery3_session_get_url (_tmp6_); +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _tmp7_; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = item_tags_path; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GallerySetTagRelationshipTransaction*) publishing_gallery3_base_gallery_transaction_construct (object_type, _tmp5_, _tmp8_, _tmp9_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = session; +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_gallery3_session_get_key (_tmp10_); +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = _tmp11_; +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Key", _tmp12_); +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Method", "POST"); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = tag_url; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "tag", _tmp13_); +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = item_url; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "item", _tmp14_); +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_node_set_object (root_node, obj); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_generator_set_root (entity, root_node); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = json_generator_to_data (entity, &_tmp15_); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity_length = _tmp15_; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity_value = _tmp16_; +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:510: created entity: %s", entity_value); +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "entity", entity_value); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (entity_value); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _json_object_unref0 (obj); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + __vala_JsonNode_free0 (root_node); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (entity); +#line 4719 "GalleryConnector.c" + } +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 4723 "GalleryConnector.c" +} + + +PublishingGallery3GallerySetTagRelationshipTransaction* publishing_gallery3_gallery_set_tag_relationship_transaction_new (PublishingGallery3Session* session, const gchar* item_tags_path, const gchar* tag_url, const gchar* item_url) { +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_gallery_set_tag_relationship_transaction_construct (PUBLISHING_GALLERY3_TYPE_GALLERY_SET_TAG_RELATIONSHIP_TRANSACTION, session, item_tags_path, tag_url, item_url); +#line 4730 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_set_tag_relationship_transaction_class_init (PublishingGallery3GallerySetTagRelationshipTransactionClass * klass) { +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_set_tag_relationship_transaction_parent_class = g_type_class_peek_parent (klass); +#line 4737 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_set_tag_relationship_transaction_instance_init (PublishingGallery3GallerySetTagRelationshipTransaction * self) { +} + + +GType publishing_gallery3_gallery_set_tag_relationship_transaction_get_type (void) { + static volatile gsize publishing_gallery3_gallery_set_tag_relationship_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_gallery_set_tag_relationship_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GallerySetTagRelationshipTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_gallery_set_tag_relationship_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GallerySetTagRelationshipTransaction), 0, (GInstanceInitFunc) publishing_gallery3_gallery_set_tag_relationship_transaction_instance_init, NULL }; + GType publishing_gallery3_gallery_set_tag_relationship_transaction_type_id; + publishing_gallery3_gallery_set_tag_relationship_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, "PublishingGallery3GallerySetTagRelationshipTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_gallery_set_tag_relationship_transaction_type_id__volatile, publishing_gallery3_gallery_set_tag_relationship_transaction_type_id); + } + return publishing_gallery3_gallery_set_tag_relationship_transaction_type_id__volatile; +} + + +PublishingGallery3GalleryAlbumCreateTransaction* publishing_gallery3_gallery_album_create_transaction_construct (GType object_type, PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters) { + PublishingGallery3GalleryAlbumCreateTransaction* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp1_) { +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:533: Not authenticated"); +#line 4773 "GalleryConnector.c" + } else { + JsonGenerator* entity = NULL; + JsonGenerator* _tmp2_ = NULL; + JsonNode* root_node = NULL; + JsonNode* _tmp3_ = NULL; + JsonObject* obj = NULL; + JsonObject* _tmp4_ = NULL; + PublishingGallery3Session* _tmp5_ = NULL; + PublishingGallery3Session* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + PublishingGallery3Session* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PublishingGallery3Session* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + PublishingGallery3PublishingParameters* _tmp16_ = NULL; + PublishingGallery3PublishingParameters* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + PublishingGallery3PublishingParameters* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* entity_value = NULL; + gchar* _tmp23_ = NULL; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_generator_new (); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity = _tmp2_; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_node_new (JSON_NODE_OBJECT); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp3_; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = json_object_new (); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + obj = _tmp4_; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = session; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = session; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_gallery3_session_get_url (_tmp6_); +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _tmp7_; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GalleryAlbumCreateTransaction*) publishing_gallery3_base_gallery_transaction_construct (object_type, _tmp5_, _tmp8_, "/item/1", PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = session; +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_session_get_key (_tmp9_); +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = _tmp10_; +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Key", _tmp11_); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Method", "POST"); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = session; +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = publishing_gallery3_session_get_url (_tmp12_); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = _tmp13_; +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->session_url); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->session_url = _tmp15_; +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = parameters; +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_album_create_transaction_set_parameters (self, _tmp16_); +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = parameters; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = publishing_gallery3_publishing_parameters_get_album_name (_tmp17_); +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = _tmp18_; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "name", _tmp19_); +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "type", "album"); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = parameters; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = publishing_gallery3_publishing_parameters_get_album_title (_tmp20_); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _tmp21_; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "title", _tmp22_); +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_node_set_object (root_node, obj); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_generator_set_root (entity, root_node); +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = json_generator_to_data (entity, NULL); +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + entity_value = _tmp23_; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:556: created entity: %s", entity_value); +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "entity", entity_value); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (entity_value); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _json_object_unref0 (obj); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + __vala_JsonNode_free0 (root_node); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (entity); +#line 4887 "GalleryConnector.c" + } +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 4891 "GalleryConnector.c" +} + + +PublishingGallery3GalleryAlbumCreateTransaction* publishing_gallery3_gallery_album_create_transaction_new (PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters) { +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_gallery_album_create_transaction_construct (PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION, session, parameters); +#line 4898 "GalleryConnector.c" +} + + +gchar* publishing_gallery3_gallery_album_create_transaction_get_new_album_path (PublishingGallery3GalleryAlbumCreateTransaction* self) { + gchar* result = NULL; + JsonNode* root_node = NULL; + gchar* new_path = NULL; + JsonObject* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_ALBUM_CREATE_TRANSACTION (self), NULL); +#line 4914 "GalleryConnector.c" + { + JsonNode* _tmp0_ = NULL; + JsonNode* _tmp1_ = NULL; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_base_gallery_transaction_get_root_node (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, PublishingGallery3BaseGalleryTransaction), &_inner_error_); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _tmp1_; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4926 "GalleryConnector.c" + goto __catch4_spit_publishing_publishing_error; + } +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_path); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 4937 "GalleryConnector.c" + } +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp0_; +#line 4941 "GalleryConnector.c" + } + goto __finally4; + __catch4_spit_publishing_publishing_error: + { + GError* e = NULL; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:572: Could not get root node"); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 4955 "GalleryConnector.c" + } + __finally4: +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_path); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 4968 "GalleryConnector.c" + } +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = json_node_get_object (root_node); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_object_get_string_member (_tmp2_, "url"); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_path); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_path = _tmp4_; +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = new_path; +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_gallery3_strip_session_url (_tmp5_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_path); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_path = _tmp6_; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = new_path; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 4992 "GalleryConnector.c" +} + + +PublishingGallery3PublishingParameters* publishing_gallery3_gallery_album_create_transaction_get_parameters (PublishingGallery3GalleryAlbumCreateTransaction* self) { + PublishingGallery3PublishingParameters* result; + PublishingGallery3PublishingParameters* _tmp0_ = NULL; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_ALBUM_CREATE_TRANSACTION (self), NULL); +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_parameters; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5007 "GalleryConnector.c" +} + + +static gpointer _publishing_gallery3_publishing_parameters_ref0 (gpointer self) { +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? publishing_gallery3_publishing_parameters_ref (self) : NULL; +#line 5014 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_album_create_transaction_set_parameters (PublishingGallery3GalleryAlbumCreateTransaction* self, PublishingGallery3PublishingParameters* value) { + PublishingGallery3PublishingParameters* _tmp0_ = NULL; + PublishingGallery3PublishingParameters* _tmp1_ = NULL; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_ALBUM_CREATE_TRANSACTION (self)); +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _publishing_gallery3_publishing_parameters_ref0 (_tmp0_); +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (self->priv->_parameters); +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_parameters = _tmp1_; +#line 5031 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_album_create_transaction_class_init (PublishingGallery3GalleryAlbumCreateTransactionClass * klass) { +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_album_create_transaction_parent_class = g_type_class_peek_parent (klass); +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_gallery3_gallery_album_create_transaction_finalize; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3GalleryAlbumCreateTransactionPrivate)); +#line 5042 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_album_create_transaction_instance_init (PublishingGallery3GalleryAlbumCreateTransaction * self) { +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_GALLERY_ALBUM_CREATE_TRANSACTION_GET_PRIVATE (self); +#line 5049 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_album_create_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingGallery3GalleryAlbumCreateTransaction * self; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION, PublishingGallery3GalleryAlbumCreateTransaction); +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (self->priv->_parameters); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->session_url); +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_gallery3_gallery_album_create_transaction_parent_class)->finalize (obj); +#line 5063 "GalleryConnector.c" +} + + +GType publishing_gallery3_gallery_album_create_transaction_get_type (void) { + static volatile gsize publishing_gallery3_gallery_album_create_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_gallery_album_create_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GalleryAlbumCreateTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_gallery_album_create_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GalleryAlbumCreateTransaction), 0, (GInstanceInitFunc) publishing_gallery3_gallery_album_create_transaction_instance_init, NULL }; + GType publishing_gallery3_gallery_album_create_transaction_type_id; + publishing_gallery3_gallery_album_create_transaction_type_id = g_type_register_static (PUBLISHING_GALLERY3_TYPE_BASE_GALLERY_TRANSACTION, "PublishingGallery3GalleryAlbumCreateTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_gallery_album_create_transaction_type_id__volatile, publishing_gallery3_gallery_album_create_transaction_type_id); + } + return publishing_gallery3_gallery_album_create_transaction_type_id__volatile; +} + + +static gpointer _publishing_rest_support_session_ref0 (gpointer self) { +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? publishing_rest_support_session_ref (self) : NULL; +#line 5082 "GalleryConnector.c" +} + + +static void _g_free0_ (gpointer var) { +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + var = (g_free (var), NULL); +#line 5089 "GalleryConnector.c" +} + + +PublishingGallery3GalleryUploadTransaction* publishing_gallery3_gallery_upload_transaction_construct (GType object_type, PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters, SpitPublishingPublishable* publishable) { + PublishingGallery3GalleryUploadTransaction* self = NULL; + PublishingGallery3PublishingParameters* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar _tmp3_ = '\0'; + PublishingGallery3Session* _tmp7_ = NULL; + SpitPublishingPublishable* _tmp8_ = NULL; + PublishingGallery3Session* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + PublishingGallery3PublishingParameters* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + PublishingGallery3PublishingParameters* _tmp19_ = NULL; + PublishingGallery3PublishingParameters* _tmp20_ = NULL; + PublishingGallery3Session* _tmp21_ = NULL; + PublishingGallery3Session* _tmp22_ = NULL; + PublishingGallery3Session* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GHashTable* disposition_table = NULL; + GHashFunc _tmp26_ = NULL; + GEqualFunc _tmp27_ = NULL; + GHashTable* _tmp28_ = NULL; + gchar* title = NULL; + SpitPublishingPublishable* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* filename = NULL; + SpitPublishingPublishable* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + const gchar* _tmp34_ = NULL; + GHashTable* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + GHashTable* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + GHashTable* _tmp46_ = NULL; + JsonGenerator* _tmp47_ = NULL; + gchar* desc = NULL; + SpitPublishingPublishable* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + SpitPublishingPublishable* _tmp51_ = NULL; + SpitPublishingPublisherMediaType _tmp52_ = 0; + gchar* type = NULL; + gchar* _tmp53_ = NULL; + JsonNode* root_node = NULL; + JsonNode* _tmp54_ = NULL; + JsonObject* obj = NULL; + JsonObject* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; + JsonGenerator* _tmp59_ = NULL; + JsonGenerator* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = parameters; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_publishing_parameters_get_album_path (_tmp0_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = _tmp1_; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = string_get (_tmp2_, (glong) 0); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp3_ != '/') { +#line 5175 "GalleryConnector.c" + PublishingGallery3PublishingParameters* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:601: Bad upload item path, this is a bug!"); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = parameters; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = publishing_gallery3_publishing_parameters_get_album_path (_tmp4_); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:602: %s", _tmp6_); +#line 5189 "GalleryConnector.c" + } +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = session; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishable; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = session; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_session_get_url (_tmp9_); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = _tmp10_; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = g_strconcat (_tmp11_, PUBLISHING_GALLERY3_REST_PATH, NULL); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = _tmp12_; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = parameters; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = publishing_gallery3_publishing_parameters_get_album_path (_tmp14_); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = _tmp15_; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = g_strconcat (_tmp13_, _tmp16_, NULL); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = _tmp17_; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GalleryUploadTransaction*) publishing_rest_support_upload_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp8_, _tmp18_); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp18_); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp13_); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = parameters; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = _publishing_gallery3_publishing_parameters_ref0 (_tmp19_); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (self->priv->parameters); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->parameters = _tmp20_; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = session; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _publishing_rest_support_session_ref0 (_tmp21_); +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->session = _tmp22_; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = session; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = publishing_gallery3_session_get_key (_tmp23_); +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = _tmp24_; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Key", _tmp25_); +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "X-Gallery-Request-Method", "POST"); +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = g_str_hash; +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = g_str_equal; +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = g_hash_table_new_full (_tmp26_, _tmp27_, _g_free0_, _g_free0_); +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + disposition_table = _tmp28_; +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = publishable; +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = spit_publishing_publishable_get_publishing_name (_tmp29_); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + title = _tmp30_; +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = publishable; +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = spit_publishing_publishable_get_param_string (_tmp31_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + filename = _tmp32_; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = title; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp34_ == NULL) { +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = TRUE; +#line 5273 "GalleryConnector.c" + } else { + const gchar* _tmp35_ = NULL; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = title; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = g_strcmp0 (_tmp35_, "") == 0; +#line 5280 "GalleryConnector.c" + } +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp33_) { +#line 5284 "GalleryConnector.c" + const gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = filename; +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = g_strdup (_tmp36_); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (title); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + title = _tmp37_; +#line 5295 "GalleryConnector.c" + } +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp38_ = disposition_table; +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp39_ = g_strdup ("filename"); +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp40_ = filename; +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp41_ = string_to_string (_tmp40_); +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp42_ = g_strdup (_tmp41_); +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_hash_table_insert (_tmp38_, _tmp39_, _tmp42_); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp43_ = disposition_table; +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp44_ = g_strdup ("name"); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp45_ = g_strdup ("file"); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_hash_table_insert (_tmp43_, _tmp44_, _tmp45_); +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp46_ = disposition_table; +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_upload_transaction_set_binary_disposition_table (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction), _tmp46_); +#line 630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp47_ = json_generator_new (); +#line 630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->generator); +#line 630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->generator = _tmp47_; +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp48_ = publishable; +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp49_ = spit_publishing_publishable_get_param_string (_tmp48_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_COMMENT); +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + desc = _tmp49_; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp51_ = publishable; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp52_ = spit_publishing_publishable_get_media_type (_tmp51_); +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp52_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp50_ = "movie"; +#line 5341 "GalleryConnector.c" + } else { +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp50_ = "photo"; +#line 5345 "GalleryConnector.c" + } +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp53_ = g_strdup (_tmp50_); +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + type = _tmp53_; +#line 637 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp54_ = json_node_new (JSON_NODE_OBJECT); +#line 637 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp54_; +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp55_ = json_object_new (); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + obj = _tmp55_; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp56_ = filename; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "name", _tmp56_); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "type", type); +#line 641 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp57_ = title; +#line 641 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "title", _tmp57_); +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp58_ = desc; +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object_set_string_member (obj, "description", _tmp58_); +#line 644 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_node_set_object (root_node, obj); +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp59_ = self->priv->generator; +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_generator_set_root (_tmp59_, root_node); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp60_ = self->priv->generator; +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp61_ = json_generator_to_data (_tmp60_, NULL); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp62_ = _tmp61_; +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "entity", _tmp62_); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp62_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _json_object_unref0 (obj); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + __vala_JsonNode_free0 (root_node); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (type); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (desc); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (filename); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (title); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_hash_table_unref0 (disposition_table); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 5405 "GalleryConnector.c" +} + + +PublishingGallery3GalleryUploadTransaction* publishing_gallery3_gallery_upload_transaction_new (PublishingGallery3Session* session, PublishingGallery3PublishingParameters* parameters, SpitPublishingPublishable* publishable) { +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_gallery_upload_transaction_construct (PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION, session, parameters, publishable); +#line 5412 "GalleryConnector.c" +} + + +static gchar* publishing_gallery3_gallery_upload_transaction_get_new_item_url (PublishingGallery3GalleryUploadTransaction* self) { + gchar* result = NULL; + gchar* json_object = NULL; + gchar* new_url = NULL; + JsonNode* root_node = NULL; + JsonParser* parser = NULL; + JsonParser* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + const gchar* _tmp10_ = NULL; + JsonParser* _tmp14_ = NULL; + JsonNode* _tmp15_ = NULL; + JsonNode* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + JsonNode* _tmp19_ = NULL; + JsonObject* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_UPLOAD_TRANSACTION (self), NULL); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = json_parser_new (); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + parser = _tmp0_; +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_rest_support_transaction_get_response (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_object = _tmp1_; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = json_object; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL == _tmp3_) { +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = TRUE; +#line 5454 "GalleryConnector.c" + } else { + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = json_object; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = strlen (_tmp4_); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = 0 == _tmp6_; +#line 5467 "GalleryConnector.c" + } +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp2_) { +#line 5471 "GalleryConnector.c" + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _tmp7_; +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:660: No response data from %s", _tmp8_); +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp8_); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = g_strdup (""); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp9_; +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (parser); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_url); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5495 "GalleryConnector.c" + } +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = json_object; +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:664: json_object: %s", _tmp10_); +#line 5501 "GalleryConnector.c" + { + JsonParser* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = parser; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = json_object; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + json_parser_load_from_data (_tmp11_, _tmp12_, (gssize) -1, &_inner_error_); +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5513 "GalleryConnector.c" + goto __catch5_g_error; + } + } + goto __finally5; + __catch5_g_error: + { + GError* e = NULL; + const gchar* _tmp13_ = NULL; +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:672: ERROR: didn't load JSON data"); +#line 673 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_set_is_executed (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), FALSE); +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = e->message; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:674: %s", _tmp13_); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 5536 "GalleryConnector.c" + } + __finally5: +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (parser); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_url); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 5553 "GalleryConnector.c" + } +#line 677 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = parser; +#line 677 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = json_parser_get_root (_tmp14_); +#line 677 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + root_node = _tmp15_; +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = root_node; +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = json_node_is_null (_tmp16_); +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp17_) { +#line 5567 "GalleryConnector.c" + gchar* _tmp18_ = NULL; +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:679: Root node is null, doesn't appear to be JSO" \ +"N data"); +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = g_strdup (""); +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp18_; +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (parser); +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_url); +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5583 "GalleryConnector.c" + } +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = root_node; +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = json_node_get_object (_tmp19_); +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = json_object_get_string_member (_tmp20_, "url"); +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_url); +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_url = _tmp22_; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = new_url; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (parser); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (json_object); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5605 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_upload_transaction_do_set_tag_relationship (PublishingGallery3GalleryUploadTransaction* self, const gchar* tag_url, GError** error) { + PublishingGallery3GallerySetTagRelationshipTransaction* tag_txn = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingGallery3Session* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PublishingGallery3GallerySetTagRelationshipTransaction* _tmp5_ = NULL; + PublishingGallery3GallerySetTagRelationshipTransaction* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_UPLOAD_TRANSACTION (self)); +#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (tag_url != NULL); +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = publishing_rest_support_transaction_get_parent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3Session); +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->item_tags_path; +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = tag_url; +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = self->priv->item_url; +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = publishing_gallery3_gallery_set_tag_relationship_transaction_new (_tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_; +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tag_txn = _tmp6_; +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (tag_txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_txn); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 5655 "GalleryConnector.c" + } else { +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_txn); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 5665 "GalleryConnector.c" + } + } +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_rest_support_transaction_get_response (G_TYPE_CHECK_INSTANCE_CAST (tag_txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _tmp7_; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:699: Response from setting tag relationship: %s", _tmp8_); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp8_); +#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_txn); +#line 5678 "GalleryConnector.c" +} + + +static gchar* publishing_gallery3_gallery_upload_transaction_get_new_item_tags_path (PublishingGallery3GalleryUploadTransaction* self) { + gchar* result = NULL; + PublishingGallery3GalleryGetItemTagsURLsTransaction* tag_urls_txn = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingGallery3Session* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingGallery3GalleryGetItemTagsURLsTransaction* _tmp3_ = NULL; + PublishingGallery3GalleryGetItemTagsURLsTransaction* _tmp4_ = NULL; + PublishingGallery3GalleryGetItemTagsURLsTransaction* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_UPLOAD_TRANSACTION (self), NULL); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = publishing_rest_support_transaction_get_parent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3Session); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->item_path; +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_new (_tmp1_, _tmp2_); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = _tmp3_; +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tag_urls_txn = _tmp4_; +#line 5709 "GalleryConnector.c" + { + PublishingGallery3GalleryGetItemTagsURLsTransaction* _tmp5_ = NULL; +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = tag_urls_txn; +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5720 "GalleryConnector.c" + goto __catch6_spit_publishing_publishing_error; + } +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_urls_txn); +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 5731 "GalleryConnector.c" + } + } + goto __finally6; + __catch6_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = err; +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = _tmp6_->message; +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:711: Problem getting the item_tags URL: %s", _tmp7_); +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = g_strdup (""); +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp8_; +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_urls_txn); +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5761 "GalleryConnector.c" + } + __finally6: +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_urls_txn); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 5774 "GalleryConnector.c" + } +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = tag_urls_txn; +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_gallery_get_item_tags_ur_ls_transaction_get_item_tags_path (_tmp9_); +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp10_; +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_urls_txn); +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5786 "GalleryConnector.c" +} + + +static gchar* publishing_gallery3_gallery_upload_transaction_get_tag_url (PublishingGallery3GalleryUploadTransaction* self, const gchar* tag) { + gchar* result = NULL; + PublishingGallery3GalleryGetTagTransaction* tag_txn = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingGallery3Session* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingGallery3GalleryGetTagTransaction* _tmp3_ = NULL; + PublishingGallery3GalleryGetTagTransaction* _tmp4_ = NULL; + PublishingGallery3GalleryGetTagTransaction* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_UPLOAD_TRANSACTION (self), NULL); +#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (tag != NULL, NULL); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = publishing_rest_support_transaction_get_parent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3Session); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = tag; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = publishing_gallery3_gallery_get_tag_transaction_new (_tmp1_, _tmp2_); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = _tmp3_; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tag_txn = _tmp4_; +#line 5819 "GalleryConnector.c" + { + PublishingGallery3GalleryGetTagTransaction* _tmp5_ = NULL; +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = tag_txn; +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5830 "GalleryConnector.c" + goto __catch7_spit_publishing_publishing_error; + } +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_txn); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 5841 "GalleryConnector.c" + } + } + goto __finally7; + __catch7_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = err; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = _tmp6_->message; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:728: Problem getting the tags URL: %s", _tmp7_); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = g_strdup (""); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp8_; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_txn); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5871 "GalleryConnector.c" + } + __finally7: +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_txn); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 5884 "GalleryConnector.c" + } +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = tag_txn; +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_gallery_get_tag_transaction_tag_url (_tmp9_); +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp10_; +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (tag_txn); +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 5896 "GalleryConnector.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? g_error_copy (self) : NULL; +#line 5903 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_upload_transaction_on_upload_completed (PublishingGallery3GalleryUploadTransaction* self, GError** error) { + PublishingGallery3PublishingParameters* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GError * _inner_error_ = NULL; +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_UPLOAD_TRANSACTION (self)); +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:740: EVENT: upload completed"); +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->parameters; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_publishing_parameters_get_strip_metadata (_tmp0_); +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = _tmp1_; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp2_) { +#line 5924 "GalleryConnector.c" + gchar** keywords = NULL; + gint keywords_length1 = 0; + gint _keywords_size_ = 0; + SpitPublishingPublishable* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar** _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + const gchar* _tmp14_ = NULL; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:746: EVENT: evaluating tags"); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction)->publishable; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = spit_publishing_publishable_get_publishing_keywords (_tmp3_, &_tmp4_); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = _tmp5_; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords_length1 = _tmp4_; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _keywords_size_ = keywords_length1; +#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = keywords; +#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6__length1 = keywords_length1; +#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL == _tmp6_) { +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:752: No tags"); +#line 753 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 753 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 5969 "GalleryConnector.c" + } +#line 757 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_gallery3_gallery_upload_transaction_get_new_item_url (self); +#line 757 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_url); +#line 757 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->item_url = _tmp7_; +#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = self->priv->item_url; +#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = publishing_gallery3_strip_session_url (_tmp8_); +#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_path); +#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->item_path = _tmp9_; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_gallery_upload_transaction_get_new_item_tags_path (self); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_tags_path); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->item_tags_path = _tmp10_; +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = self->priv->item_path; +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:760: new item path is %s", _tmp11_); +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = self->priv->item_tags_path; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:761: item_tags path is %s", _tmp12_); +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = self->priv->item_path; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_strcmp0 ("", _tmp14_) == 0) { +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = TRUE; +#line 6005 "GalleryConnector.c" + } else { + const gchar* _tmp15_ = NULL; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = self->priv->item_tags_path; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = g_strcmp0 ("", _tmp15_) == 0; +#line 6012 "GalleryConnector.c" + } +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp13_) { +#line 6016 "GalleryConnector.c" + GError* _tmp16_ = NULL; +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_COMMUNICATION_FAILED, "Could not obtain URL of uploaded item or its " "\"item_tags\" relationship URL"); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = _tmp16_; +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6030 "GalleryConnector.c" + } else { +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6040 "GalleryConnector.c" + } + } +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = keywords; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17__length1 = keywords_length1; +#line 6047 "GalleryConnector.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tag_collection = _tmp17_; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tag_collection_length1 = _tmp17__length1; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + for (tag_it = 0; tag_it < _tmp17__length1; tag_it = tag_it + 1) { +#line 6059 "GalleryConnector.c" + gchar* _tmp18_ = NULL; + gchar* tag = NULL; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = g_strdup (tag_collection[tag_it]); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + tag = _tmp18_; +#line 6066 "GalleryConnector.c" + { + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* new_tag_url = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = tag; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = string_to_string (_tmp19_); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = g_strconcat ("Found tag: ", _tmp20_, NULL); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _tmp21_; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:773: %s", _tmp22_); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp22_); +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = tag; +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = publishing_gallery3_gallery_upload_transaction_get_tag_url (self, _tmp23_); +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_tag_url = _tmp24_; +#line 6093 "GalleryConnector.c" + { + const gchar* _tmp25_ = NULL; +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = new_tag_url; +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_upload_transaction_do_set_tag_relationship (self, _tmp25_, &_inner_error_); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 6104 "GalleryConnector.c" + goto __catch8_spit_publishing_publishing_error; + } +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_tag_url); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (tag); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6119 "GalleryConnector.c" + } + } + goto __finally8; + __catch8_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + GError* _tmp28_ = NULL; + GError* _tmp29_ = NULL; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = err; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = _tmp26_->message; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("Problem setting the relationship between tag " "and item: %s", _tmp27_); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = err; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = _g_error_copy0 (_tmp28_); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = _tmp29_; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 6148 "GalleryConnector.c" + goto __finally8; + } + __finally8: +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_tag_url); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (tag); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6166 "GalleryConnector.c" + } else { +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_tag_url); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (tag); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6180 "GalleryConnector.c" + } + } +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (new_tag_url); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (tag); +#line 6187 "GalleryConnector.c" + } + } + } +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 6193 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_gallery_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingGallery3GalleryUploadTransaction * self; + GError * _inner_error_ = NULL; +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION, PublishingGallery3GalleryUploadTransaction); +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_gallery3_gallery_upload_transaction_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6213 "GalleryConnector.c" + } else { +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6221 "GalleryConnector.c" + } + } +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_upload_transaction_on_upload_completed (self, &_inner_error_); +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_propagate_error (error, _inner_error_); +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6234 "GalleryConnector.c" + } else { +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6242 "GalleryConnector.c" + } + } +} + + +static void publishing_gallery3_gallery_upload_transaction_class_init (PublishingGallery3GalleryUploadTransactionClass * klass) { +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_upload_transaction_parent_class = g_type_class_peek_parent (klass); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_gallery3_gallery_upload_transaction_finalize; +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3GalleryUploadTransactionPrivate)); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_gallery3_gallery_upload_transaction_real_execute; +#line 6257 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_upload_transaction_instance_init (PublishingGallery3GalleryUploadTransaction * self) { +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_GALLERY_UPLOAD_TRANSACTION_GET_PRIVATE (self); +#line 6264 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_upload_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingGallery3GalleryUploadTransaction * self; +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_GALLERY_UPLOAD_TRANSACTION, PublishingGallery3GalleryUploadTransaction); +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->generator); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (self->priv->parameters); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_url); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_path); +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->item_tags_path); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_gallery3_gallery_upload_transaction_parent_class)->finalize (obj); +#line 6286 "GalleryConnector.c" +} + + +GType publishing_gallery3_gallery_upload_transaction_get_type (void) { + static volatile gsize publishing_gallery3_gallery_upload_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_gallery_upload_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GalleryUploadTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_gallery_upload_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GalleryUploadTransaction), 0, (GInstanceInitFunc) publishing_gallery3_gallery_upload_transaction_instance_init, NULL }; + GType publishing_gallery3_gallery_upload_transaction_type_id; + publishing_gallery3_gallery_upload_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, "PublishingGallery3GalleryUploadTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_gallery_upload_transaction_type_id__volatile, publishing_gallery3_gallery_upload_transaction_type_id); + } + return publishing_gallery3_gallery_upload_transaction_type_id__volatile; +} + + +PublishingGallery3GalleryPublisher* publishing_gallery3_gallery_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingGallery3GalleryPublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingGallery3Session* _tmp2_ = NULL; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3GalleryPublisher*) g_object_new (object_type, NULL); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = service; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->service = _tmp0_; +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = host; +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->host = _tmp1_; +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = publishing_gallery3_session_new (); +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->session = _tmp2_; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 6329 "GalleryConnector.c" +} + + +PublishingGallery3GalleryPublisher* publishing_gallery3_gallery_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_gallery_publisher_construct (PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, service, host); +#line 6336 "GalleryConnector.c" +} + + +static gboolean publishing_gallery3_gallery_publisher_real_is_running (SpitPublishingPublisher* base) { + PublishingGallery3GalleryPublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisher); +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->running; +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6352 "GalleryConnector.c" +} + + +static SpitPublishingService* publishing_gallery3_gallery_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingGallery3GalleryPublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisher); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->service; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6371 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_real_start (SpitPublishingPublisher* base) { + PublishingGallery3GalleryPublisher * self; + gboolean _tmp0_ = FALSE; + SpitPublishingPluginHost* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; +#line 829 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisher); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp0_) { +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6390 "GalleryConnector.c" + } +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->host; +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp1_ == NULL) { +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:834: %s", "GalleryPublisher: start( ): can't start; this " "publisher is not restartable."); +#line 6398 "GalleryConnector.c" + } +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:837: GalleryPublisher: starting interaction."); +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->running = TRUE; +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = publishing_gallery3_gallery_publisher_get_api_key (self); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = _tmp2_; +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = self->priv->key; +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL == _tmp4_) { +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = TRUE; +#line 6416 "GalleryConnector.c" + } else { + const gchar* _tmp5_ = NULL; +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->key; +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = g_strcmp0 ("", _tmp5_) == 0; +#line 6423 "GalleryConnector.c" + } +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp3_) { +#line 844 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_service_welcome_pane (self); +#line 6429 "GalleryConnector.c" + } else { + gchar* url = NULL; + gchar* _tmp6_ = NULL; + gchar* username = NULL; + gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_ = NULL; +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_gallery3_gallery_publisher_get_gallery_url (self); +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url = _tmp6_; +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_gallery3_gallery_publisher_get_gallery_username (self); +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + username = _tmp7_; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = username; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL == _tmp10_) { +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = TRUE; +#line 6452 "GalleryConnector.c" + } else { + const gchar* _tmp11_ = NULL; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = self->priv->key; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = NULL == _tmp11_; +#line 6459 "GalleryConnector.c" + } +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp9_) { +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = TRUE; +#line 6465 "GalleryConnector.c" + } else { + const gchar* _tmp12_ = NULL; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = url; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = NULL == _tmp12_; +#line 6472 "GalleryConnector.c" + } +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp8_) { +#line 850 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_service_welcome_pane (self); +#line 6478 "GalleryConnector.c" + } else { + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + SpitPublishingPluginHost* _tmp15_ = NULL; + PublishingGallery3Session* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = username; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = url; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("ACTION: attempting network login for user " "'%s' at URL '%s' from saved credentials.", _tmp13_, _tmp14_); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = self->priv->host; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp15_); +#line 858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = self->priv->session; +#line 858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = url; +#line 858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = username; +#line 858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = self->priv->key; +#line 858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_authenticate (_tmp16_, _tmp17_, _tmp18_, _tmp19_); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_fetch_album_urls (self); +#line 6509 "GalleryConnector.c" + } +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (username); +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url); +#line 6515 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_gallery_publisher_real_stop (SpitPublishingPublisher* base) { + PublishingGallery3GalleryPublisher * self; +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisher); +#line 867 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:867: GalleryPublisher: stop( ) invoked."); +#line 869 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->running = FALSE; +#line 6528 "GalleryConnector.c" +} + + +gchar* publishing_gallery3_gallery_publisher_get_api_key (PublishingGallery3GalleryPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self), NULL); +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "api-key", NULL); +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6546 "GalleryConnector.c" +} + + +void publishing_gallery3_gallery_publisher_set_api_key (PublishingGallery3GalleryPublisher* self, const gchar* key) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (key != NULL); +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = key; +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "api-key", _tmp1_); +#line 6563 "GalleryConnector.c" +} + + +gchar* publishing_gallery3_gallery_publisher_get_gallery_url (PublishingGallery3GalleryPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self), NULL); +#line 884 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 884 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "url", NULL); +#line 884 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 884 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6581 "GalleryConnector.c" +} + + +void publishing_gallery3_gallery_publisher_set_gallery_url (PublishingGallery3GalleryPublisher* self, const gchar* url) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (url != NULL); +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = url; +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "url", _tmp1_); +#line 6598 "GalleryConnector.c" +} + + +gchar* publishing_gallery3_gallery_publisher_get_gallery_username (PublishingGallery3GalleryPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self), NULL); +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "username", NULL); +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6616 "GalleryConnector.c" +} + + +void publishing_gallery3_gallery_publisher_set_gallery_username (PublishingGallery3GalleryPublisher* self, const gchar* username) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (username != NULL); +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = username; +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "username", _tmp1_); +#line 6633 "GalleryConnector.c" +} + + +static gboolean* _bool_dup (gboolean* self) { + gboolean* dup; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + dup = g_new0 (gboolean, 1); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + memcpy (dup, self, sizeof (gboolean)); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return dup; +#line 6645 "GalleryConnector.c" +} + + +static gpointer __bool_dup0 (gpointer self) { +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? _bool_dup (self) : NULL; +#line 6652 "GalleryConnector.c" +} + + +gboolean* publishing_gallery3_gallery_publisher_get_persistent_strip_metadata (PublishingGallery3GalleryPublisher* self) { + gboolean* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean* _tmp2_ = NULL; +#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self), NULL); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip-metadata", FALSE); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = __bool_dup0 (&_tmp1_); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp2_; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6673 "GalleryConnector.c" +} + + +void publishing_gallery3_gallery_publisher_set_persistent_strip_metadata (PublishingGallery3GalleryPublisher* self, gboolean strip_metadata) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = strip_metadata; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip-metadata", _tmp1_); +#line 6688 "GalleryConnector.c" +} + + +static gint* _int_dup (gint* self) { + gint* dup; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + dup = g_new0 (gint, 1); +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + memcpy (dup, self, sizeof (gint)); +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return dup; +#line 6700 "GalleryConnector.c" +} + + +static gpointer __int_dup0 (gpointer self) { +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? _int_dup (self) : NULL; +#line 6707 "GalleryConnector.c" +} + + +gint* publishing_gallery3_gallery_publisher_get_scaling_constraint_id (PublishingGallery3GalleryPublisher* self) { + gint* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint* _tmp2_ = NULL; +#line 908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self), NULL); +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "scaling-constraint-id", 0); +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = __int_dup0 (&_tmp1_); +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp2_; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6728 "GalleryConnector.c" +} + + +void publishing_gallery3_gallery_publisher_set_scaling_constraint_id (PublishingGallery3GalleryPublisher* self, gint constraint) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = constraint; +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "scaling-constraint-id", _tmp1_); +#line 6743 "GalleryConnector.c" +} + + +gint* publishing_gallery3_gallery_publisher_get_scaling_pixels (PublishingGallery3GalleryPublisher* self) { + gint* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint* _tmp2_ = NULL; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self), NULL); +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "scaling-pixels", 1024); +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = __int_dup0 (&_tmp1_); +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp2_; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 6764 "GalleryConnector.c" +} + + +void publishing_gallery3_gallery_publisher_set_scaling_pixels (PublishingGallery3GalleryPublisher* self, gint pixels) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = pixels; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "scaling-pixels", _tmp1_); +#line 6779 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_service_welcome_login_spit_publishing_login_callback (gpointer self) { +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_service_welcome_login ((PublishingGallery3GalleryPublisher*) self); +#line 6786 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_show_service_welcome_pane (PublishingGallery3GalleryPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:926: ACTION: showing service welcome pane."); +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_install_welcome_pane (_tmp0_, PUBLISHING_GALLERY3_SERVICE_WELCOME_MESSAGE, _publishing_gallery3_gallery_publisher_on_service_welcome_login_spit_publishing_login_callback, self); +#line 6800 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_credentials_go_back_publishing_gallery3_credentials_pane_go_back (PublishingGallery3CredentialsPane* _sender, gpointer self) { +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_credentials_go_back ((PublishingGallery3GalleryPublisher*) self); +#line 6807 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_credentials_login_publishing_gallery3_credentials_pane_login (PublishingGallery3CredentialsPane* _sender, const gchar* url, const gchar* uname, const gchar* password, const gchar* key, gpointer self) { +#line 942 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_credentials_login ((PublishingGallery3GalleryPublisher*) self, url, uname, password); +#line 6814 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_show_credentials_pane (PublishingGallery3GalleryPublisher* self, PublishingGallery3CredentialsPaneMode mode) { + PublishingGallery3CredentialsPaneMode _tmp0_ = 0; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PublishingGallery3Session* _tmp3_ = NULL; + PublishingGallery3CredentialsPane* creds_pane = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + PublishingGallery3CredentialsPaneMode _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PublishingGallery3CredentialsPane* _tmp12_ = NULL; + PublishingGallery3CredentialsPane* _tmp13_ = NULL; + SpitPublishingPluginHost* _tmp14_ = NULL; +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = mode; +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_credentials_pane_mode_to_string (_tmp0_); +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = _tmp1_; +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:933: ACTION: showing credentials capture pane in" \ +" %s mode.", _tmp2_); +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp2_); +#line 936 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = self->priv->session; +#line 936 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_deauthenticate (_tmp3_); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = self->priv->host; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = mode; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_gallery3_gallery_publisher_get_gallery_url (self); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = _tmp6_; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_gallery3_gallery_publisher_get_gallery_username (self); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_gallery_publisher_get_api_key (self); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = _tmp10_; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = publishing_gallery3_credentials_pane_new (_tmp4_, _tmp5_, _tmp7_, _tmp9_, _tmp11_); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = _tmp12_; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp11_); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp9_); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp7_); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + creds_pane = _tmp13_; +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (creds_pane, "go-back", (GCallback) _publishing_gallery3_gallery_publisher_on_credentials_go_back_publishing_gallery3_credentials_pane_go_back, self, 0); +#line 942 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (creds_pane, "login", (GCallback) _publishing_gallery3_gallery_publisher_on_credentials_login_publishing_gallery3_credentials_pane_login, self, 0); +#line 944 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = self->priv->host; +#line 944 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (creds_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (creds_pane); +#line 6889 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_key_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_key_fetch_error ((PublishingGallery3GalleryPublisher*) self, _sender, err); +#line 6896 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_key_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_key_fetch_complete ((PublishingGallery3GalleryPublisher*) self, _sender); +#line 6903 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_network_login (PublishingGallery3GalleryPublisher* self, const gchar* url, const gchar* username, const gchar* password) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + PublishingGallery3KeyFetchTransaction* fetch_trans = NULL; + PublishingGallery3Session* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + PublishingGallery3KeyFetchTransaction* _tmp7_ = NULL; + GError * _inner_error_ = NULL; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (url != NULL); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (username != NULL); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (password != NULL); +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = username; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = url; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("ACTION: attempting network login for user '%s' at URL " "'%s'.", _tmp0_, _tmp1_); +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->host; +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_install_login_wait_pane (_tmp2_); +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = self->priv->session; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = url; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = username; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = password; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = publishing_gallery3_key_fetch_transaction_new (_tmp3_, _tmp4_, _tmp5_, _tmp6_); +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + fetch_trans = _tmp7_; +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (fetch_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_gallery3_gallery_publisher_on_key_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (fetch_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_gallery3_gallery_publisher_on_key_fetch_complete_publishing_rest_support_transaction_completed, self, 0); +#line 6952 "GalleryConnector.c" + { +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (fetch_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 6960 "GalleryConnector.c" + goto __catch9_spit_publishing_publishing_error; + } +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (fetch_trans); +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 6971 "GalleryConnector.c" + } + } + goto __finally9; + __catch9_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp8_ = NULL; +#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:962: Caught an error attempting to login"); +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = err; +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_key_fetch_error (self, G_TYPE_CHECK_INSTANCE_CAST (fetch_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp8_); +#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 6991 "GalleryConnector.c" + } + __finally9: +#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (fetch_trans); +#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7004 "GalleryConnector.c" + } +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (fetch_trans); +#line 7008 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_album_urls_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_urls_fetch_error ((PublishingGallery3GalleryPublisher*) self, _sender, err); +#line 7015 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete ((PublishingGallery3GalleryPublisher*) self, _sender); +#line 7022 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_fetch_album_urls (PublishingGallery3GalleryPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingGallery3GetAlbumURLsTransaction* album_trans = NULL; + PublishingGallery3Session* _tmp1_ = NULL; + PublishingGallery3GetAlbumURLsTransaction* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp0_); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->session; +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = publishing_gallery3_get_album_ur_ls_transaction_new (_tmp1_); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_trans = _tmp2_; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_gallery3_gallery_publisher_on_album_urls_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete_publishing_rest_support_transaction_completed, self, 0); +#line 7048 "GalleryConnector.c" + { +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 7056 "GalleryConnector.c" + goto __catch10_spit_publishing_publishing_error; + } +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7067 "GalleryConnector.c" + } + } + goto __finally10; + __catch10_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:981: Caught an error attempting to fetch albums"); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = err; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_urls_fetch_error (self, G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp3_); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 7087 "GalleryConnector.c" + } + __finally10: +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7100 "GalleryConnector.c" + } +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 7104 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_album_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_fetch_error ((PublishingGallery3GalleryPublisher*) self, _sender, err); +#line 7111 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_album_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_fetch_complete ((PublishingGallery3GalleryPublisher*) self, _sender); +#line 7118 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_fetch_albums (PublishingGallery3GalleryPublisher* self, gchar** album_urls, int album_urls_length1, guint start) { + PublishingGallery3GetAlbumsTransaction* album_trans = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + guint _tmp2_ = 0U; + PublishingGallery3GetAlbumsTransaction* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->session; +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = album_urls; +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1__length1 = album_urls_length1; +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = start; +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = publishing_gallery3_get_albums_transaction_new (_tmp0_, _tmp1_, _tmp1__length1, _tmp2_); +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_trans = _tmp3_; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_gallery3_gallery_publisher_on_album_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_gallery3_gallery_publisher_on_album_fetch_complete_publishing_rest_support_transaction_completed, self, 0); +#line 7148 "GalleryConnector.c" + { +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 7156 "GalleryConnector.c" + goto __catch11_spit_publishing_publishing_error; + } +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7167 "GalleryConnector.c" + } + } + goto __finally11; + __catch11_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = err; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_fetch_error (self, G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp4_); +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 7185 "GalleryConnector.c" + } + __finally11: +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7198 "GalleryConnector.c" + } +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 7202 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish_publishing_gallery3_publishing_options_pane_publish (PublishingGallery3PublishingOptionsPane* _sender, PublishingGallery3PublishingParameters* parameters, gpointer self) { +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish ((PublishingGallery3GalleryPublisher*) self, parameters); +#line 7209 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout_publishing_gallery3_publishing_options_pane_logout (PublishingGallery3PublishingOptionsPane* _sender, gpointer self) { +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout ((PublishingGallery3GalleryPublisher*) self); +#line 7216 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_show_publishing_options_pane (PublishingGallery3GalleryPublisher* self, const gchar* url, const gchar* username) { + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + PublishingGallery3Album** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + GtkBuilder* _tmp14_ = NULL; + gboolean* _tmp15_ = NULL; + gboolean* _tmp16_ = NULL; + gint* _tmp17_ = NULL; + gint* _tmp18_ = NULL; + gint* _tmp19_ = NULL; + gint* _tmp20_ = NULL; + PublishingGallery3PublishingOptionsPane* _tmp21_ = NULL; + PublishingGallery3PublishingOptionsPane* _tmp22_ = NULL; + PublishingGallery3PublishingOptionsPane* _tmp23_ = NULL; + SpitPublishingPluginHost* _tmp24_ = NULL; + PublishingGallery3PublishingOptionsPane* _tmp25_ = NULL; + GError * _inner_error_ = NULL; +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (url != NULL); +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (username != NULL); +#line 1009 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1009: ACTION: showing publishing options pane"); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = gtk_builder_new (); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + builder = _tmp0_; +#line 7253 "GalleryConnector.c" + { + GtkBuilder* _tmp1_ = NULL; +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = builder; +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_builder_add_from_resource (_tmp1_, PLUGIN_RESOURCE_PATH "/gallery3_publishing_options_pane.ui", &_inner_error_); +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7262 "GalleryConnector.c" + goto __catch12_g_error; + } + } + goto __finally12; + __catch12_g_error: + { + GError* e = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = e; +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = _tmp2_->message; +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:1018: Could not parse UI file! Error: %s.", _tmp3_); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = self->priv->host; +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = _ ("A file required for publishing is unavailable. Publishing to %s can't " \ +"continue."); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = g_strdup_printf (_tmp5_, PUBLISHING_GALLERY3_SERVICE_NAME); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = _tmp6_; +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp7_); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp9_); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (_tmp9_); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp7_); +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (builder); +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7312 "GalleryConnector.c" + } + __finally12: +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (builder); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7325 "GalleryConnector.c" + } +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = self->priv->host; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = url; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = username; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = self->priv->albums; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13__length1 = self->priv->albums_length1; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = builder; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = publishing_gallery3_gallery_publisher_get_persistent_strip_metadata (self); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = _tmp15_; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = publishing_gallery3_gallery_publisher_get_scaling_constraint_id (self); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = _tmp17_; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = publishing_gallery3_gallery_publisher_get_scaling_pixels (self); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = _tmp19_; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = publishing_gallery3_publishing_options_pane_new (_tmp10_, _tmp11_, _tmp12_, _tmp13_, _tmp13__length1, _tmp14_, *_tmp16_, *_tmp18_, *_tmp20_); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->publishing_options_pane); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->publishing_options_pane = _tmp21_; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp20_); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp18_); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp16_); +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = self->priv->publishing_options_pane; +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp22_, "publish", (GCallback) _publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish_publishing_gallery3_publishing_options_pane_publish, self, 0); +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = self->priv->publishing_options_pane; +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp23_, "logout", (GCallback) _publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout_publishing_gallery3_publishing_options_pane_logout, self, 0); +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = self->priv->host; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = self->priv->publishing_options_pane; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (builder); +#line 7379 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_album_create_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_create_error ((PublishingGallery3GalleryPublisher*) self, _sender, err); +#line 7386 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_album_create_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_create_complete ((PublishingGallery3GalleryPublisher*) self, _sender); +#line 7393 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_create_album (PublishingGallery3GalleryPublisher* self, PublishingGallery3PublishingParameters* parameters) { + PublishingGallery3GalleryAlbumCreateTransaction* album_trans = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + PublishingGallery3PublishingParameters* _tmp1_ = NULL; + PublishingGallery3GalleryAlbumCreateTransaction* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (parameters)); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1042: ACTION: creating album"); +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->session; +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = parameters; +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = publishing_gallery3_gallery_album_create_transaction_new (_tmp0_, _tmp1_); +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_trans = _tmp2_; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_gallery3_gallery_publisher_on_album_create_error_publishing_rest_support_transaction_network_error, self, 0); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_gallery3_gallery_publisher_on_album_create_complete_publishing_rest_support_transaction_completed, self, 0); +#line 7421 "GalleryConnector.c" + { +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 7429 "GalleryConnector.c" + goto __catch13_spit_publishing_publishing_error; + } +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7440 "GalleryConnector.c" + } + } + goto __finally13; + __catch13_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = err; +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_create_error (self, G_TYPE_CHECK_INSTANCE_CAST (album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp3_); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 7458 "GalleryConnector.c" + } + __finally13: +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7471 "GalleryConnector.c" + } +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (album_trans); +#line 7475 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_publish_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_publish_complete ((PublishingGallery3GalleryPublisher*) self, _sender, num_photos_published); +#line 7482 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_publish_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_publish_error ((PublishingGallery3GalleryPublisher*) self, _sender, err); +#line 7489 "GalleryConnector.c" +} + + +static void _publishing_gallery3_gallery_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_upload_status_updated ((PublishingGallery3GalleryPublisher*) self, file_number, fraction_complete); +#line 7496 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_publish (PublishingGallery3GalleryPublisher* self, PublishingGallery3PublishingParameters* parameters) { + PublishingGallery3PublishingParameters* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + PublishingGallery3PublishingParameters* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + PublishingGallery3PublishingParameters* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + SpitPublishingPluginHost* _tmp10_ = NULL; + SpitPublishingPluginHost* _tmp11_ = NULL; + PublishingGallery3PublishingParameters* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + PublishingGallery3PublishingParameters* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; + void* _tmp18_ = NULL; + GDestroyNotify _tmp19_ = NULL; + SpitPublishingProgressCallback _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + PublishingGallery3Uploader* uploader = NULL; + PublishingGallery3Session* _tmp22_ = NULL; + SpitPublishingPluginHost* _tmp23_ = NULL; + gint _tmp24_ = 0; + SpitPublishingPublishable** _tmp25_ = NULL; + SpitPublishingPublishable** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + PublishingGallery3PublishingParameters* _tmp27_ = NULL; + PublishingGallery3Uploader* _tmp28_ = NULL; + PublishingGallery3Uploader* _tmp29_ = NULL; + PublishingGallery3Uploader* _tmp30_ = NULL; + PublishingGallery3Uploader* _tmp31_ = NULL; + PublishingGallery3Uploader* _tmp32_ = NULL; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (parameters)); +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1061: ACTION: publishing items"); +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = parameters; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_gallery3_publishing_parameters_get_strip_metadata (_tmp0_); +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = _tmp1_; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_set_persistent_strip_metadata (self, _tmp2_); +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = parameters; +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = publishing_gallery3_publishing_parameters_get_photo_major_axis_size (_tmp4_); +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_; +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp6_ <= 0) { +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = 0; +#line 7560 "GalleryConnector.c" + } else { +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = 1; +#line 7564 "GalleryConnector.c" + } +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_set_scaling_constraint_id (self, _tmp3_); +#line 1066 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = parameters; +#line 1066 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_gallery3_publishing_parameters_get_photo_major_axis_size (_tmp7_); +#line 1066 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1066 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_set_scaling_pixels (self, _tmp9_); +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = self->priv->host; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_set_service_locked (_tmp10_, TRUE); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = self->priv->host; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = parameters; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = publishing_gallery3_publishing_parameters_get_photo_major_axis_size (_tmp12_); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = _tmp13_; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = parameters; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = publishing_gallery3_publishing_parameters_get_strip_metadata (_tmp15_); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = _tmp16_; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = spit_publishing_plugin_host_serialize_publishables (_tmp11_, _tmp14_, _tmp17_, &_tmp18_, &_tmp19_); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter = NULL; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter_target = NULL; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter = _tmp20_; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter_target = _tmp18_; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp19_; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp21_) { +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7616 "GalleryConnector.c" + } +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = self->priv->session; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = self->priv->host; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = spit_publishing_plugin_host_get_publishables (_tmp23_, &_tmp24_); +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = _tmp25_; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26__length1 = _tmp24_; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = parameters; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = publishing_gallery3_uploader_new (_tmp22_, _tmp26_, _tmp24_, _tmp27_); +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = _tmp28_; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = (_vala_array_free (_tmp26_, _tmp26__length1, (GDestroyNotify) g_object_unref), NULL); +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + uploader = _tmp29_; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = uploader; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_gallery3_gallery_publisher_on_publish_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = uploader; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_gallery3_gallery_publisher_on_publish_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = uploader; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_gallery3_gallery_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 7652 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_do_show_success_pane (PublishingGallery3GalleryPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1090: ACTION: showing success pane."); +#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->host; +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_install_success_pane (_tmp1_); +#line 7671 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_service_welcome_login (PublishingGallery3GalleryPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 1097 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp0_) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7685 "GalleryConnector.c" + } +#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1101: EVENT: user clicked 'Login' in welcome pan" \ +"e."); +#line 1103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_INTRO); +#line 7691 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_credentials_login (PublishingGallery3GalleryPublisher* self, const gchar* url, const gchar* username, const gchar* password) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (url != NULL); +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (username != NULL); +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (password != NULL); +#line 1108 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1108 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp0_) { +#line 1109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7717 "GalleryConnector.c" + } +#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = username; +#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1111: EVENT: user '%s' clicked 'Login' in creden" \ +"tials pane.", _tmp1_); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = url; +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_set_gallery_url (self, _tmp2_); +#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = username; +#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_set_gallery_username (self, _tmp3_); +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = url; +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = username; +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = password; +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_network_login (self, _tmp4_, _tmp5_, _tmp6_); +#line 7739 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_credentials_go_back (PublishingGallery3GalleryPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp0_) { +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7753 "GalleryConnector.c" + } +#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1123: EVENT: user is attempting to go back."); +#line 1125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_service_welcome_pane (self); +#line 7759 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_key_fetch_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportTransaction* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = bad_txn; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_key_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = bad_txn; +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_key_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 1134 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1134 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7798 "GalleryConnector.c" + } +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp6_) { +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7808 "GalleryConnector.c" + } +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = bad_txn; +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("EVENT: network transaction to fetch key for login " "failed; response = '%s'.", _tmp9_); +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp9_); +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = bad_txn; +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_rest_support_transaction_get_status_code (_tmp10_); +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp11_ == ((guint) 403)) { +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY); +#line 7828 "GalleryConnector.c" + } else { + PublishingRESTSupportTransaction* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = bad_txn; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = publishing_rest_support_transaction_get_status_code (_tmp12_); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp13_ == ((guint) 400)) { +#line 1157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL); +#line 7840 "GalleryConnector.c" + } else { + SpitPublishingPluginHost* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = self->priv->host; +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = err; +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_post_error (_tmp14_, _tmp15_); +#line 7850 "GalleryConnector.c" + } + } +} + + +static void publishing_gallery3_gallery_publisher_on_key_fetch_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 1164 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1164 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = txn; +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_key_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = txn; +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_key_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7889 "GalleryConnector.c" + } +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp6_) { +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7899 "GalleryConnector.c" + } +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = txn; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_gallery3_key_fetch_transaction_get_key (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, PUBLISHING_GALLERY3_TYPE_KEY_FETCH_TRANSACTION) ? ((PublishingGallery3KeyFetchTransaction*) _tmp7_) : NULL); +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = _tmp8_; +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = self->priv->key; +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp9_ == NULL) { +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:1178: key doesn\'t exist"); +#line 7915 "GalleryConnector.c" + } else { + gchar* url = NULL; + gchar* _tmp10_ = NULL; + gchar* username = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + PublishingGallery3Session* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_gallery_publisher_get_gallery_url (self); +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url = _tmp10_; +#line 1181 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_gallery3_gallery_publisher_get_gallery_username (self); +#line 1181 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + username = _tmp11_; +#line 1183 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1183: %s", "EVENT: network transaction to fetch key completed " "successfully."); +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = self->priv->key; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_set_api_key (self, _tmp12_); +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = self->priv->session; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = url; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = username; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = self->priv->key; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_authenticate (_tmp13_, _tmp14_, _tmp15_, _tmp16_); +#line 1190 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_fetch_album_urls (self); +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (username); +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url); +#line 7956 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_gallery_publisher_on_album_urls_fetch_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportTransaction* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = bad_txn; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 1198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = bad_txn; +#line 1198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_urls_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 7996 "GalleryConnector.c" + } +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp6_) { +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8006 "GalleryConnector.c" + } +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = bad_txn; +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("EVENT: network transaction to fetch album URLs " "failed; response = \'%s\'.", _tmp9_); +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp9_); +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = bad_txn; +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_rest_support_transaction_get_status_code (_tmp10_); +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp11_ == ((guint) 403)) { +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY); +#line 8026 "GalleryConnector.c" + } else { + PublishingRESTSupportTransaction* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = bad_txn; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = publishing_rest_support_transaction_get_status_code (_tmp12_); +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp13_ == ((guint) 400)) { +#line 1223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL); +#line 8038 "GalleryConnector.c" + } else { + SpitPublishingPluginHost* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = self->priv->host; +#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = err; +#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_post_error (_tmp14_, _tmp15_); +#line 8048 "GalleryConnector.c" + } + } +} + + +static void publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gchar** album_urls = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gint _tmp8_ = 0; + gchar** _tmp9_ = NULL; + gint album_urls_length1 = 0; + gint _album_urls_size_ = 0; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = txn; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_urls_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = txn; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_urls_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8092 "GalleryConnector.c" + } +#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp6_) { +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8102 "GalleryConnector.c" + } +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1242: EVENT: retrieving all album URLs."); +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = txn; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = publishing_gallery3_get_album_ur_ls_transaction_get_album_urls (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, PUBLISHING_GALLERY3_TYPE_GET_ALBUM_UR_LS_TRANSACTION) ? ((PublishingGallery3GetAlbumURLsTransaction*) _tmp7_) : NULL, &_tmp8_); +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_urls = _tmp9_; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_urls_length1 = _tmp8_; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _album_urls_size_ = album_urls_length1; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = album_urls; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10__length1 = album_urls_length1; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (NULL == _tmp10_) { +#line 8122 "GalleryConnector.c" + gchar* url = NULL; + PublishingGallery3Session* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* username = NULL; + PublishingGallery3Session* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = self->priv->session; +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = publishing_gallery3_session_get_url (_tmp11_); +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = _tmp12_; +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url = _tmp14_; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = self->priv->session; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = publishing_gallery3_session_get_username (_tmp15_); +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = _tmp16_; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + username = _tmp18_; +#line 1252 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = url; +#line 1252 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = username; +#line 1252 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_publishing_options_pane (self, _tmp19_, _tmp20_); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (username); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url); +#line 8165 "GalleryConnector.c" + } else { + gchar** _tmp21_ = NULL; + gint _tmp21__length1 = 0; +#line 1256 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = album_urls; +#line 1256 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21__length1 = album_urls_length1; +#line 1256 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_fetch_albums (self, _tmp21_, _tmp21__length1, (guint) 0); +#line 8175 "GalleryConnector.c" + } +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_urls = (_vala_array_free (album_urls, album_urls_length1, (GDestroyNotify) g_free), NULL); +#line 8179 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_album_fetch_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportTransaction* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = bad_txn; +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = bad_txn; +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 1265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8218 "GalleryConnector.c" + } +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp6_) { +#line 1270 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8228 "GalleryConnector.c" + } +#line 1272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = bad_txn; +#line 1272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 1272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("EVENT: network transaction to fetch albums " "failed; response = \'%s\'.", _tmp9_); +#line 1272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp9_); +#line 1281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = bad_txn; +#line 1281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_rest_support_transaction_get_status_code (_tmp10_); +#line 1281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp11_ == ((guint) 403)) { +#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY); +#line 8248 "GalleryConnector.c" + } else { + PublishingRESTSupportTransaction* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = bad_txn; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = publishing_rest_support_transaction_get_status_code (_tmp12_); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp13_ == ((guint) 400)) { +#line 1288 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL); +#line 8260 "GalleryConnector.c" + } else { + SpitPublishingPluginHost* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = self->priv->host; +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = err; +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_post_error (_tmp14_, _tmp15_); +#line 8270 "GalleryConnector.c" + } + } +} + + +static void _vala_array_add5 (PublishingGallery3Album*** array, int* length, int* size, PublishingGallery3Album* value) { +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if ((*length) == (*size)) { +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *array = g_renew (PublishingGallery3Album*, *array, (*size) + 1); +#line 8283 "GalleryConnector.c" + } +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[(*length)++] = value; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (*array)[*length] = NULL; +#line 8289 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_album_fetch_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingGallery3Album** new_albums = NULL; + gint new_albums_length1 = 0; + gint _new_albums_size_ = 0; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + GError * _inner_error_ = NULL; +#line 1295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = txn; +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = txn; +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = NULL; +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums_length1 = 0; +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _new_albums_size_ = new_albums_length1; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = (_vala_array_free (new_albums, new_albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8338 "GalleryConnector.c" + } +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp6_) { +#line 1307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = (_vala_array_free (new_albums, new_albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 1307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8350 "GalleryConnector.c" + } +#line 1309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1309: EVENT: user is attempting to populate the " \ +"album list."); +#line 8354 "GalleryConnector.c" + { + PublishingGallery3Album** _tmp7_ = NULL; + PublishingRESTSupportTransaction* _tmp8_ = NULL; + gint _tmp9_ = 0; + PublishingGallery3Album** _tmp10_ = NULL; + gint _tmp7__length1 = 0; + gint __tmp7__size_ = 0; + PublishingGallery3Album** _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = txn; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_get_albums_transaction_get_albums (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION) ? ((PublishingGallery3GetAlbumsTransaction*) _tmp8_) : NULL, &_tmp9_, &_inner_error_); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = _tmp10_; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7__length1 = _tmp9_; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + __tmp7__size_ = _tmp7__length1; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 8378 "GalleryConnector.c" + goto __catch14_spit_publishing_publishing_error; + } +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = (_vala_array_free (new_albums, new_albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8389 "GalleryConnector.c" + } +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = _tmp7_; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11__length1 = _tmp7__length1; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = NULL; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7__length1 = 0; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = (_vala_array_free (new_albums, new_albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = _tmp11_; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums_length1 = _tmp11__length1; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _new_albums_size_ = new_albums_length1; +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 8409 "GalleryConnector.c" + } + goto __finally14; + __catch14_spit_publishing_publishing_error: + { + GError* err = NULL; + PublishingRESTSupportTransaction* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + err = _inner_error_; +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = txn; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = err; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_on_album_fetch_error (self, _tmp12_, _tmp13_); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (err); +#line 8429 "GalleryConnector.c" + } + __finally14: +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = (_vala_array_free (new_albums, new_albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8442 "GalleryConnector.c" + } + { + gint i = 0; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = 0; +#line 8448 "GalleryConnector.c" + { + gboolean _tmp14_ = FALSE; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = TRUE; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + while (TRUE) { +#line 8455 "GalleryConnector.c" + gint _tmp16_ = 0; + PublishingGallery3Album** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + PublishingGallery3Album** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + PublishingGallery3Album** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint _tmp20_ = 0; + PublishingGallery3Album* _tmp21_ = NULL; + PublishingGallery3Album* _tmp22_ = NULL; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp14_) { +#line 8468 "GalleryConnector.c" + gint _tmp15_ = 0; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = i; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = _tmp15_ + 1; +#line 8474 "GalleryConnector.c" + } +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = FALSE; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = i; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = new_albums; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17__length1 = new_albums_length1; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!(_tmp16_ <= (_tmp17__length1 - 1))) { +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 8488 "GalleryConnector.c" + } +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = self->priv->albums; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18__length1 = self->priv->albums_length1; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = new_albums; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19__length1 = new_albums_length1; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = i; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = _tmp19_[_tmp20_]; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _publishing_gallery3_album_ref0 (_tmp21_); +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_array_add5 (&self->priv->albums, &self->priv->albums_length1, &self->priv->_albums_size_, _tmp22_); +#line 8506 "GalleryConnector.c" + } + } + } +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = txn; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = publishing_gallery3_get_albums_transaction_get_more_urls (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION) ? ((PublishingGallery3GetAlbumsTransaction*) _tmp23_) : NULL); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = _tmp24_; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp25_) { +#line 8518 "GalleryConnector.c" + PublishingRESTSupportTransaction* _tmp26_ = NULL; + gchar** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + PublishingRESTSupportTransaction* _tmp29_ = NULL; + guint _tmp30_ = 0U; + guint _tmp31_ = 0U; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = txn; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = publishing_gallery3_get_albums_transaction_get_album_urls (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION) ? ((PublishingGallery3GetAlbumsTransaction*) _tmp26_) : NULL, &_tmp27__length1); +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = _tmp27_; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28__length1 = _tmp27__length1; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = txn; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = publishing_gallery3_get_albums_transaction_get_urls_sent (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, PUBLISHING_GALLERY3_TYPE_GET_ALBUMS_TRANSACTION) ? ((PublishingGallery3GetAlbumsTransaction*) _tmp29_) : NULL); +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = _tmp30_; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_fetch_albums (self, _tmp28_, _tmp28__length1, _tmp31_); +#line 8543 "GalleryConnector.c" + } else { + gchar* url = NULL; + PublishingGallery3Session* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* username = NULL; + PublishingGallery3Session* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = self->priv->session; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = publishing_gallery3_session_get_url (_tmp32_); +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = _tmp33_; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = g_strdup (_tmp34_); +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + url = _tmp35_; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = self->priv->session; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = publishing_gallery3_session_get_username (_tmp36_); +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp38_ = _tmp37_; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp39_ = g_strdup (_tmp38_); +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + username = _tmp39_; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp40_ = url; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp41_ = username; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_publishing_options_pane (self, _tmp40_, _tmp41_); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (username); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (url); +#line 8587 "GalleryConnector.c" + } +#line 1295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_albums = (_vala_array_free (new_albums, new_albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 8591 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_album_create_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportTransaction* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = bad_txn; +#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_create_complete_publishing_rest_support_transaction_completed, self); +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = bad_txn; +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_create_error_publishing_rest_support_transaction_network_error, self); +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8630 "GalleryConnector.c" + } +#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp6_) { +#line 1349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8640 "GalleryConnector.c" + } +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = bad_txn; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("EVENT: network transaction to create an album " "failed; response = \'%s\'.", _tmp9_); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp9_); +#line 1360 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = bad_txn; +#line 1360 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_rest_support_transaction_get_status_code (_tmp10_); +#line 1360 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp11_ == ((guint) 403)) { +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY); +#line 8660 "GalleryConnector.c" + } else { + PublishingRESTSupportTransaction* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = bad_txn; +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = publishing_rest_support_transaction_get_status_code (_tmp12_); +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp13_ == ((guint) 400)) { +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_credentials_pane (self, PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL); +#line 8672 "GalleryConnector.c" + } else { + SpitPublishingPluginHost* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = self->priv->host; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = err; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_post_error (_tmp14_, _tmp15_); +#line 8682 "GalleryConnector.c" + } + } +} + + +static void publishing_gallery3_gallery_publisher_on_album_create_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingGallery3PublishingParameters* new_params = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + PublishingGallery3PublishingParameters* _tmp8_ = NULL; + PublishingGallery3PublishingParameters* _tmp9_ = NULL; + PublishingGallery3PublishingParameters* _tmp10_ = NULL; + PublishingGallery3PublishingParameters* _tmp11_ = NULL; + PublishingRESTSupportTransaction* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + PublishingGallery3PublishingParameters* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + PublishingGallery3PublishingParameters* _tmp18_ = NULL; +#line 1374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = txn; +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_create_complete_publishing_rest_support_transaction_completed, self); +#line 1377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = txn; +#line 1377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 1377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_album_create_error_publishing_rest_support_transaction_network_error, self); +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8731 "GalleryConnector.c" + } +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp6_) { +#line 1384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8741 "GalleryConnector.c" + } +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = txn; +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_gallery3_gallery_album_create_transaction_get_parameters (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION) ? ((PublishingGallery3GalleryAlbumCreateTransaction*) _tmp7_) : NULL); +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = _publishing_gallery3_publishing_parameters_ref0 (_tmp9_); +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + new_params = _tmp10_; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = new_params; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = txn; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = publishing_gallery3_gallery_album_create_transaction_get_new_album_path (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, PUBLISHING_GALLERY3_TYPE_GALLERY_ALBUM_CREATE_TRANSACTION) ? ((PublishingGallery3GalleryAlbumCreateTransaction*) _tmp12_) : NULL); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = _tmp13_; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_set_album_path (_tmp11_, _tmp14_); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp14_); +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = new_params; +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = publishing_gallery3_publishing_parameters_get_album_path (_tmp15_); +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = _tmp16_; +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1391: EVENT: user has created an album at \"%s\"" \ +".", _tmp17_); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = new_params; +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_publish (self, _tmp18_); +#line 1374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (new_params); +#line 8779 "GalleryConnector.c" +} + + +static gpointer _publishing_rest_support_batch_uploader_ref0 (gpointer self) { +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? publishing_rest_support_batch_uploader_ref (self) : NULL; +#line 8786 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_publish_error (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportBatchUploader* _uploader, GError* err) { + gboolean _tmp0_ = FALSE; + PublishingGallery3Uploader* uploader = NULL; + PublishingRESTSupportBatchUploader* _tmp1_ = NULL; + PublishingGallery3Uploader* _tmp2_ = NULL; + GError* g3_err = NULL; + GError* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + GError* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + PublishingGallery3Uploader* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + PublishingGallery3Uploader* _tmp10_ = NULL; + guint _tmp11_ = 0U; + guint _tmp12_ = 0U; + PublishingGallery3Uploader* _tmp13_ = NULL; + guint _tmp14_ = 0U; + PublishingGallery3Uploader* _tmp15_ = NULL; + guint _tmp16_ = 0U; + PublishingGallery3Uploader* _tmp17_ = NULL; + guint _tmp18_ = 0U; + guint _tmp19_ = 0U; + SpitPublishingPluginHost* _tmp36_ = NULL; + GError* _tmp37_ = NULL; +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (_uploader)); +#line 1400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp0_) { +#line 1401 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8825 "GalleryConnector.c" + } +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _uploader; +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = _publishing_rest_support_batch_uploader_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, PUBLISHING_GALLERY3_TYPE_UPLOADER) ? ((PublishingGallery3Uploader*) _tmp1_) : NULL); +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + uploader = _tmp2_; +#line 1404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = err; +#line 1404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = g_error_copy (_tmp3_); +#line 1404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g3_err = _tmp4_; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = err; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_->message; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = uploader; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_gallery3_uploader_get_current_publishable_name (_tmp7_); +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = uploader; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = publishing_gallery3_uploader_get_status_code (_tmp10_); +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = _tmp11_; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("EVENT: uploader reports upload error = '%s' " "for file '%s' (code %d)", _tmp6_, _tmp9_, _tmp12_); +#line 1410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = uploader; +#line 1410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp14_, NULL, FALSE); +#line 1410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publish_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = uploader; +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp16_, NULL, FALSE); +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publish_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = uploader; +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = publishing_gallery3_uploader_get_status_code (_tmp17_); +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = _tmp18_; +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp19_ == ((guint) 400)) { +#line 8877 "GalleryConnector.c" + GError* _tmp20_ = NULL; + GError* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + PublishingGallery3Uploader* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + PublishingGallery3Uploader* _tmp29_ = NULL; + SpitPublishingPublisherMediaType _tmp30_ = 0; + SpitPublishingPublisherMediaType _tmp31_ = 0; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = g3_err; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = g3_err; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _tmp21_->message; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = uploader; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = publishing_gallery3_uploader_get_current_publishable_name (_tmp23_); +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = _tmp24_; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = g_strdup_printf (PUBLISHING_GALLERY3_GALLERY_PUBLISHER_BAD_FILE_MSG, _tmp25_); +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = _tmp26_; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = g_strconcat (_tmp22_, _tmp27_, NULL); +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp21_->message); +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_->message = _tmp28_; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp27_); +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = uploader; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = publishing_gallery3_uploader_get_current_publishable_type (_tmp29_); +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = _tmp30_; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp31_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 8922 "GalleryConnector.c" + GError* _tmp32_ = NULL; + GError* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = g3_err; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = g3_err; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = _tmp33_->message; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = g_strconcat (_tmp34_, PUBLISHING_GALLERY3_GALLERY_PUBLISHER_BAD_MOVIE_MSG, NULL); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp33_->message); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_->message = _tmp35_; +#line 8939 "GalleryConnector.c" + } + } +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = self->priv->host; +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = g3_err; +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_post_error (_tmp36_, _tmp37_); +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (g3_err); +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 8952 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_upload_status_updated (PublishingGallery3GalleryPublisher* self, gint file_number, gdouble completed_fraction) { + gboolean _tmp0_ = FALSE; + gdouble _tmp1_ = 0.0; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp0_) { +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 8973 "GalleryConnector.c" + } +#line 1432 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = completed_fraction; +#line 1432 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1432: EVENT: uploader reports upload %.2f percen" \ +"t complete.", 100.0 * _tmp1_); +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->progress_reporter; +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_assert (_tmp2_ != NULL, "progress_reporter != null"); +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = self->priv->progress_reporter; +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = file_number; +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = completed_fraction; +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 8995 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_publish_complete (PublishingGallery3GalleryPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gint _tmp7_ = 0; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = uploader; +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publish_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 1445 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = uploader; +#line 1445 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 1445 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publish_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 1447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1448 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 9030 "GalleryConnector.c" + } +#line 1451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp6_) { +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 9040 "GalleryConnector.c" + } +#line 1454 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = num_published; +#line 1454 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1454: EVENT: publishing complete; %d items publi" \ +"shed", _tmp7_); +#line 1457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_success_pane (self); +#line 9048 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout (PublishingGallery3GalleryPublisher* self) { + PublishingGallery3PublishingOptionsPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingGallery3PublishingOptionsPane* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3Session* _tmp5_ = NULL; +#line 1461 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 1462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("publish", PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 1462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish_publishing_gallery3_publishing_options_pane_publish, self); +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->publishing_options_pane; +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("logout", PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE); +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout_publishing_gallery3_publishing_options_pane_logout, self); +#line 1467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 9079 "GalleryConnector.c" + } +#line 1470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1470: EVENT: user is attempting to log out."); +#line 1472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->session; +#line 1472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_deauthenticate (_tmp5_); +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_show_service_welcome_pane (self); +#line 9089 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish (PublishingGallery3GalleryPublisher* self, PublishingGallery3PublishingParameters* parameters) { + PublishingGallery3PublishingOptionsPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingGallery3PublishingOptionsPane* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingGallery3PublishingParameters* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1476 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_GALLERY_PUBLISHER (self)); +#line 1476 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (parameters)); +#line 1477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 1477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("publish", PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 1477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publishing_options_pane_publish_publishing_gallery3_publishing_options_pane_publish, self); +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->publishing_options_pane; +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("logout", PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE); +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_gallery_publisher_on_publishing_options_pane_logout_publishing_gallery3_publishing_options_pane_logout, self); +#line 1482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 1482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp4_) { +#line 1483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return; +#line 9123 "GalleryConnector.c" + } +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1485: EVENT: user is attempting to publish somet" \ +"hing."); +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = parameters; +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_gallery3_publishing_parameters_is_to_new_album (_tmp5_); +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp6_) { +#line 9133 "GalleryConnector.c" + PublishingGallery3PublishingParameters* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + PublishingGallery3PublishingParameters* _tmp10_ = NULL; +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = parameters; +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = publishing_gallery3_publishing_parameters_get_album_name (_tmp7_); +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1488: EVENT: must create new album \"%s\" first.", _tmp9_); +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = parameters; +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_create_album (self, _tmp10_); +#line 9150 "GalleryConnector.c" + } else { + PublishingGallery3PublishingParameters* _tmp11_ = NULL; +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = parameters; +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_do_publish (self, _tmp11_); +#line 9157 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_gallery_publisher_class_init (PublishingGallery3GalleryPublisherClass * klass) { +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_parent_class = g_type_class_peek_parent (klass); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3GalleryPublisherPrivate)); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_gallery3_gallery_publisher_finalize; +#line 9169 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_gallery_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_gallery3_gallery_publisher_real_is_running; +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_gallery3_gallery_publisher_real_get_service; +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_gallery3_gallery_publisher_real_start; +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_gallery3_gallery_publisher_real_stop; +#line 9184 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_instance_init (PublishingGallery3GalleryPublisher * self) { +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_GALLERY_PUBLISHER_GET_PRIVATE (self); +#line 804 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->host = NULL; +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter = NULL; +#line 806 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->service = NULL; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->session = NULL; +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->running = FALSE; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->albums = NULL; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->albums_length1 = 0; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = NULL; +#line 812 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->publishing_options_pane = NULL; +#line 9211 "GalleryConnector.c" +} + + +static void publishing_gallery3_gallery_publisher_finalize (GObject* obj) { + PublishingGallery3GalleryPublisher * self; +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_GALLERY_PUBLISHER, PublishingGallery3GalleryPublisher); +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter = NULL; +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter_target = NULL; +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 812 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->publishing_options_pane); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (publishing_gallery3_gallery_publisher_parent_class)->finalize (obj); +#line 9237 "GalleryConnector.c" +} + + +GType publishing_gallery3_gallery_publisher_get_type (void) { + static volatile gsize publishing_gallery3_gallery_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_gallery_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3GalleryPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_gallery_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3GalleryPublisher), 0, (GInstanceInitFunc) publishing_gallery3_gallery_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_gallery3_gallery_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_gallery3_gallery_publisher_type_id; + publishing_gallery3_gallery_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingGallery3GalleryPublisher", &g_define_type_info, 0); + g_type_add_interface_static (publishing_gallery3_gallery_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_gallery3_gallery_publisher_type_id__volatile, publishing_gallery3_gallery_publisher_type_id); + } + return publishing_gallery3_gallery_publisher_type_id__volatile; +} + + +static PublishingGallery3Album** _vala_array_dup3 (PublishingGallery3Album** self, int length) { + PublishingGallery3Album** result; + int i; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = g_new0 (PublishingGallery3Album*, length + 1); +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + for (i = 0; i < length; i++) { +#line 9262 "GalleryConnector.c" + PublishingGallery3Album* _tmp0_ = NULL; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _publishing_gallery3_album_ref0 (self[i]); +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result[i] = _tmp0_; +#line 9268 "GalleryConnector.c" + } +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 9272 "GalleryConnector.c" +} + + +static void _publishing_gallery3_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_on_use_existing_radio_clicked ((PublishingGallery3PublishingOptionsPane*) self); +#line 9279 "GalleryConnector.c" +} + + +static void _publishing_gallery3_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_on_create_new_radio_clicked ((PublishingGallery3PublishingOptionsPane*) self); +#line 9286 "GalleryConnector.c" +} + + +static void _publishing_gallery3_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_on_new_album_entry_changed ((PublishingGallery3PublishingOptionsPane*) self); +#line 9293 "GalleryConnector.c" +} + + +static void _publishing_gallery3_publishing_options_pane_on_scaling_constraint_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 1559 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_on_scaling_constraint_changed ((PublishingGallery3PublishingOptionsPane*) self); +#line 9300 "GalleryConnector.c" +} + + +static void _publishing_gallery3_publishing_options_pane_on_pixels_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_on_pixels_changed ((PublishingGallery3PublishingOptionsPane*) self); +#line 9307 "GalleryConnector.c" +} + + +static void _publishing_gallery3_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_on_logout_clicked ((PublishingGallery3PublishingOptionsPane*) self); +#line 9314 "GalleryConnector.c" +} + + +static void _publishing_gallery3_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1562 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_on_publish_clicked ((PublishingGallery3PublishingOptionsPane*) self); +#line 9321 "GalleryConnector.c" +} + + +PublishingGallery3PublishingOptionsPane* publishing_gallery3_publishing_options_pane_construct (GType object_type, SpitPublishingPluginHost* host, const gchar* url, const gchar* username, PublishingGallery3Album** albums, int albums_length1, GtkBuilder* builder, gboolean strip_metadata, gint scaling_id, gint scaling_pixels) { + PublishingGallery3PublishingOptionsPane * self = NULL; + PublishingGallery3Album** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingGallery3Album** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + SpitPublishingPluginHost* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GtkBuilder* _tmp4_ = NULL; + GtkBuilder* _tmp5_ = NULL; + GtkBuilder* _tmp6_ = NULL; + GSList* _tmp7_ = NULL; + GSList* _tmp8_ = NULL; + guint _tmp9_ = 0U; + GtkBuilder* _tmp10_ = NULL; + GObject* _tmp11_ = NULL; + GtkGrid* _tmp12_ = NULL; + GtkBuilder* _tmp13_ = NULL; + GObject* _tmp14_ = NULL; + GtkLabel* _tmp15_ = NULL; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkRadioButton* _tmp18_ = NULL; + GtkBuilder* _tmp19_ = NULL; + GObject* _tmp20_ = NULL; + GtkComboBoxText* _tmp21_ = NULL; + GtkBuilder* _tmp22_ = NULL; + GObject* _tmp23_ = NULL; + GtkComboBoxText* _tmp24_ = NULL; + GtkBuilder* _tmp25_ = NULL; + GObject* _tmp26_ = NULL; + GtkEntry* _tmp27_ = NULL; + GtkBuilder* _tmp28_ = NULL; + GObject* _tmp29_ = NULL; + GtkRadioButton* _tmp30_ = NULL; + GtkBuilder* _tmp31_ = NULL; + GObject* _tmp32_ = NULL; + GtkEntry* _tmp33_ = NULL; + GtkBuilder* _tmp34_ = NULL; + GObject* _tmp35_ = NULL; + GtkCheckButton* _tmp36_ = NULL; + GtkBuilder* _tmp37_ = NULL; + GObject* _tmp38_ = NULL; + GtkButton* _tmp39_ = NULL; + GtkBuilder* _tmp40_ = NULL; + GObject* _tmp41_ = NULL; + GtkButton* _tmp42_ = NULL; + GtkLabel* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + GtkCheckButton* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; + GtkComboBoxText* _tmp51_ = NULL; + gint _tmp52_ = 0; + GtkEntry* _tmp53_ = NULL; + gint _tmp54_ = 0; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + GtkRadioButton* _tmp57_ = NULL; + GtkRadioButton* _tmp58_ = NULL; + GtkEntry* _tmp59_ = NULL; + GtkComboBoxText* _tmp60_ = NULL; + GtkEntry* _tmp61_ = NULL; + GtkButton* _tmp62_ = NULL; + GtkButton* _tmp63_ = NULL; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3PublishingOptionsPane*) g_object_new (object_type, NULL); +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = albums; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0__length1 = albums_length1; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup3 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1__length1 = _tmp0__length1; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->albums = _tmp1_; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->albums_length1 = _tmp1__length1; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 1528 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = host; +#line 1528 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->host = _tmp2_; +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = builder; +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->builder); +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->builder = _tmp4_; +#line 1531 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = builder; +#line 1531 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_assert (NULL != _tmp5_, "null != builder"); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = builder; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = gtk_builder_get_objects (_tmp6_); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _tmp7_; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = g_slist_length (_tmp8_); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_assert (_tmp9_ > ((guint) 0), "builder.get_objects().length() > 0"); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_slist_free0 (_tmp8_); +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = builder; +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = gtk_builder_get_object (_tmp10_, "pane_widget"); +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, gtk_grid_get_type ()) ? ((GtkGrid*) _tmp11_) : NULL); +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->pane_widget = _tmp12_; +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = builder; +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = gtk_builder_get_object (_tmp13_, "title_label"); +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp14_) : NULL); +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->title_label); +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->title_label = _tmp15_; +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = builder; +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "publish_to_existing_radio"); +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, gtk_radio_button_get_type ()) ? ((GtkRadioButton*) _tmp17_) : NULL); +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->use_existing_radio = _tmp18_; +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = builder; +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = gtk_builder_get_object (_tmp19_, "existing_albums_combo"); +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp20_) : NULL); +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->existing_albums_combo = _tmp21_; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = builder; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = gtk_builder_get_object (_tmp22_, "scaling_constraint_combo"); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp23_) : NULL); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->scaling_combo); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->scaling_combo = _tmp24_; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = builder; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = gtk_builder_get_object (_tmp25_, "major_axis_pixels"); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp26_) : NULL); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->pixels); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->pixels = _tmp27_; +#line 1541 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = builder; +#line 1541 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = gtk_builder_get_object (_tmp28_, "publish_new_radio"); +#line 1541 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, gtk_radio_button_get_type ()) ? ((GtkRadioButton*) _tmp29_) : NULL); +#line 1541 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 1541 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->create_new_radio = _tmp30_; +#line 1542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = builder; +#line 1542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = gtk_builder_get_object (_tmp31_, "new_album_name"); +#line 1542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp32_) : NULL); +#line 1542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 1542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->new_album_entry = _tmp33_; +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = self->priv->builder; +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = gtk_builder_get_object (_tmp34_, "strip_metadata_check"); +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp35_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp35_) : NULL); +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->strip_metadata_check = _tmp36_; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = builder; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp38_ = gtk_builder_get_object (_tmp37_, "publish_button"); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp39_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp38_, gtk_button_get_type ()) ? ((GtkButton*) _tmp38_) : NULL); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->publish_button = _tmp39_; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp40_ = builder; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp41_ = gtk_builder_get_object (_tmp40_, "logout_button"); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp42_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp41_, gtk_button_get_type ()) ? ((GtkButton*) _tmp41_) : NULL); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->logout_button = _tmp42_; +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp43_ = self->priv->title_label; +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp44_ = _ ("Publishing to %s as %s."); +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp45_ = url; +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp46_ = username; +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp47_ = g_strdup_printf (_tmp44_, _tmp45_, _tmp46_); +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp48_ = _tmp47_; +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_label_set_label (_tmp43_, _tmp48_); +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp48_); +#line 1551 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp49_ = self->priv->strip_metadata_check; +#line 1551 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp50_ = strip_metadata; +#line 1551 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp50_); +#line 1552 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp51_ = self->priv->scaling_combo; +#line 1552 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp52_ = scaling_id; +#line 1552 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, gtk_combo_box_get_type (), GtkComboBox), _tmp52_); +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp53_ = self->priv->pixels; +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp54_ = scaling_pixels; +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp55_ = g_strdup_printf ("%i", _tmp54_); +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp56_ = _tmp55_; +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_entry_set_text (_tmp53_, _tmp56_); +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp56_); +#line 1556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp57_ = self->priv->use_existing_radio; +#line 1556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_gallery3_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked, self, 0); +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp58_ = self->priv->create_new_radio; +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_gallery3_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked, self, 0); +#line 1558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp59_ = self->priv->new_album_entry; +#line 1558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_gallery3_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed, self, 0); +#line 1559 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp60_ = self->priv->scaling_combo; +#line 1559 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_gallery3_publishing_options_pane_on_scaling_constraint_changed_gtk_combo_box_changed, self, 0); +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp61_ = self->priv->pixels; +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_gallery3_publishing_options_pane_on_pixels_changed_gtk_editable_changed, self, 0); +#line 1561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp62_ = self->priv->logout_button; +#line 1561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp62_, "clicked", (GCallback) _publishing_gallery3_publishing_options_pane_on_logout_clicked_gtk_button_clicked, self, 0); +#line 1562 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp63_ = self->priv->publish_button; +#line 1562 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp63_, "clicked", (GCallback) _publishing_gallery3_publishing_options_pane_on_publish_clicked_gtk_button_clicked, self, 0); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 9627 "GalleryConnector.c" +} + + +PublishingGallery3PublishingOptionsPane* publishing_gallery3_publishing_options_pane_new (SpitPublishingPluginHost* host, const gchar* url, const gchar* username, PublishingGallery3Album** albums, int albums_length1, GtkBuilder* builder, gboolean strip_metadata, gint scaling_id, gint scaling_pixels) { +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_publishing_options_pane_construct (PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, host, url, username, albums, albums_length1, builder, strip_metadata, scaling_id, scaling_pixels); +#line 9634 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_on_publish_clicked (PublishingGallery3PublishingOptionsPane* self) { + gchar* album_name = NULL; + gint _tmp0_ = 0; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint photo_major_axis_size = 0; + PublishingGallery3PublishingParameters* param = NULL; + GtkRadioButton* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PublishingGallery3PublishingParameters* _tmp34_ = NULL; + gint _tmp35_ = 0; + PublishingGallery3PublishingParameters* _tmp36_ = NULL; + GtkCheckButton* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + PublishingGallery3PublishingParameters* _tmp39_ = NULL; +#line 1565 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->scaling_combo; +#line 1568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp2_ == 1) { +#line 9661 "GalleryConnector.c" + GtkEntry* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = self->priv->pixels; +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = gtk_entry_get_text (_tmp3_); +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = atoi (_tmp4_); +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = _tmp5_; +#line 9673 "GalleryConnector.c" + } else { +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = -1; +#line 9677 "GalleryConnector.c" + } +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + photo_major_axis_size = _tmp0_; +#line 1572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = self->priv->create_new_radio; +#line 1572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp7_) { +#line 9687 "GalleryConnector.c" + GtkEntry* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + SpitPublishingPluginHost* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + PublishingGallery3PublishingParameters* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 1573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = self->priv->new_album_entry; +#line 1573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = gtk_entry_get_text (_tmp8_); +#line 1573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 1573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (album_name); +#line 1573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_name = _tmp10_; +#line 1574 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = self->priv->host; +#line 1574 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = album_name; +#line 1574 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_LAST_ALBUM_CONFIG_KEY, _tmp12_); +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = album_name; +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = publishing_gallery3_publishing_parameters_new_to_new_album (_tmp13_); +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (param); +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + param = _tmp14_; +#line 1577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = album_name; +#line 1577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:1577: Trying to publish to \"%s\"", _tmp15_); +#line 9724 "GalleryConnector.c" + } else { + PublishingGallery3Album** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + GtkComboBoxText* _tmp17_ = NULL; + gint _tmp18_ = 0; + PublishingGallery3Album* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + SpitPublishingPluginHost* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* album_path = NULL; + PublishingGallery3Album** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + GtkComboBoxText* _tmp26_ = NULL; + gint _tmp27_ = 0; + PublishingGallery3Album* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + PublishingGallery3PublishingParameters* _tmp33_ = NULL; +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = self->priv->albums; +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16__length1 = self->priv->albums_length1; +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = self->priv->existing_albums_combo; +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = _tmp16_[_tmp18_]; +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = publishing_gallery3_album_get_title (_tmp19_); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = _tmp20_; +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (album_name); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_name = _tmp22_; +#line 1581 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = self->priv->host; +#line 1581 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = album_name; +#line 1581 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_LAST_ALBUM_CONFIG_KEY, _tmp24_); +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = self->priv->albums; +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25__length1 = self->priv->albums_length1; +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = self->priv->existing_albums_combo; +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = _tmp25_[_tmp27_]; +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = publishing_gallery3_album_get_path (_tmp28_); +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = _tmp29_; +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = g_strdup (_tmp30_); +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_path = _tmp31_; +#line 1584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = album_path; +#line 1584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = publishing_gallery3_publishing_parameters_new_to_existing_album (_tmp32_); +#line 1584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (param); +#line 1584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + param = _tmp33_; +#line 1572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (album_path); +#line 9801 "GalleryConnector.c" + } +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = param; +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = photo_major_axis_size; +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_set_photo_major_axis_size (_tmp34_, _tmp35_); +#line 1589 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = param; +#line 1589 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = self->priv->strip_metadata_check; +#line 1589 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp38_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1589 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_set_strip_metadata (_tmp36_, _tmp38_); +#line 1591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp39_ = param; +#line 1591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_emit_by_name (self, "publish", _tmp39_); +#line 1565 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (param); +#line 1565 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (album_name); +#line 9825 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_on_use_existing_radio_clicked (PublishingGallery3PublishingOptionsPane* self) { + GtkComboBoxText* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->existing_albums_combo; +#line 1595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->new_album_entry; +#line 1596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->existing_albums_combo; +#line 1597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_update_publish_button_sensitivity (self); +#line 9849 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_on_create_new_radio_clicked (PublishingGallery3PublishingOptionsPane* self) { + GtkEntry* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; +#line 1601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->new_album_entry; +#line 1602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->existing_albums_combo; +#line 1603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1604 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->new_album_entry; +#line 1604 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_update_publish_button_sensitivity (self); +#line 9873 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_on_logout_clicked (PublishingGallery3PublishingOptionsPane* self) { +#line 1608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_emit_by_name (self, "logout"); +#line 9882 "GalleryConnector.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 9905 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_update_publish_button_sensitivity (PublishingGallery3PublishingOptionsPane* self) { + gchar* album_name = NULL; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GtkButton* _tmp10_ = NULL; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1613 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->new_album_entry; +#line 1613 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 1613 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1613 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + album_name = _tmp2_; +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = album_name; +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = string_strip (_tmp4_); +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_; +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = g_strcmp0 (_tmp6_, "") == 0; +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp6_); +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp7_) { +#line 9942 "GalleryConnector.c" + GtkRadioButton* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 1615 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = self->priv->create_new_radio; +#line 1615 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1615 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = _tmp9_; +#line 9951 "GalleryConnector.c" + } else { +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = FALSE; +#line 9955 "GalleryConnector.c" + } +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = self->priv->publish_button; +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), !_tmp3_); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (album_name); +#line 9963 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_on_new_album_entry_changed (PublishingGallery3PublishingOptionsPane* self) { +#line 1618 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1619 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_update_publish_button_sensitivity (self); +#line 9972 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_update_pixel_entry_sensitivity (PublishingGallery3PublishingOptionsPane* self) { + GtkEntry* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1622 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1623 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->pixels; +#line 1623 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->scaling_combo; +#line 1623 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1623 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp2_ == 1); +#line 9990 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_on_scaling_constraint_changed (PublishingGallery3PublishingOptionsPane* self) { +#line 1626 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_update_pixel_entry_sensitivity (self); +#line 9999 "GalleryConnector.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 10022 "GalleryConnector.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 10030 "GalleryConnector.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 10042 "GalleryConnector.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 10066 "GalleryConnector.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 10072 "GalleryConnector.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 10076 "GalleryConnector.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 10080 "GalleryConnector.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 10092 "GalleryConnector.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 10102 "GalleryConnector.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 10108 "GalleryConnector.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 10122 "GalleryConnector.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 10132 "GalleryConnector.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 10138 "GalleryConnector.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 10147 "GalleryConnector.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 10167 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_on_pixels_changed (PublishingGallery3PublishingOptionsPane* self) { + gchar* orig_text = NULL; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar last_char = '\0'; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gchar _tmp7_ = '\0'; + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->pixels; +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + orig_text = _tmp2_; +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = orig_text; +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = orig_text; +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = strlen (_tmp4_); +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_; +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = string_get (_tmp3_, (glong) (_tmp6_ - 1)); +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + last_char = _tmp7_; +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = orig_text; +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = strlen (_tmp8_); +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = _tmp9_; +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp10_ > 0) { +#line 10215 "GalleryConnector.c" + gchar _tmp11_ = '\0'; + gboolean _tmp12_ = FALSE; +#line 1635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = last_char; +#line 1635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = g_ascii_isdigit (_tmp11_); +#line 1635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp12_) { +#line 10224 "GalleryConnector.c" + GtkEntry* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = self->priv->pixels; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = orig_text; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = orig_text; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = strlen (_tmp15_); +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = _tmp16_; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = string_substring (_tmp14_, (glong) 0, (glong) (_tmp17_ - 1)); +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = _tmp18_; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_entry_set_text (_tmp13_, _tmp19_); +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp19_); +#line 10250 "GalleryConnector.c" + } + } +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (orig_text); +#line 10255 "GalleryConnector.c" +} + + +void publishing_gallery3_publishing_options_pane_installed (PublishingGallery3PublishingOptionsPane* self) { + gint default_album_id = 0; + gchar* last_album = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PublishingGallery3Album** _tmp27_ = NULL; + gint _tmp27__length1 = 0; +#line 1641 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + default_album_id = -1; +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_LAST_ALBUM_CONFIG_KEY, ""); +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + last_album = _tmp1_; +#line 10276 "GalleryConnector.c" + { + gint i = 0; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = 0; +#line 10281 "GalleryConnector.c" + { + gboolean _tmp2_ = FALSE; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = TRUE; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + while (TRUE) { +#line 10288 "GalleryConnector.c" + gint _tmp4_ = 0; + PublishingGallery3Album** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GtkComboBoxText* _tmp6_ = NULL; + PublishingGallery3Album** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gint _tmp8_ = 0; + PublishingGallery3Album* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + PublishingGallery3Album** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + PublishingGallery3Album* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!_tmp2_) { +#line 10309 "GalleryConnector.c" + gint _tmp3_ = 0; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = i; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + i = _tmp3_ + 1; +#line 10315 "GalleryConnector.c" + } +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = FALSE; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = i; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->albums; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5__length1 = self->priv->albums_length1; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!(_tmp4_ <= (_tmp5__length1 - 1))) { +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 10329 "GalleryConnector.c" + } +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = self->priv->existing_albums_combo; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = self->priv->albums; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7__length1 = self->priv->albums_length1; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = i; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp7_[_tmp8_]; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = publishing_gallery3_album_get_title (_tmp9_); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = _tmp10_; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_combo_box_text_append_text (_tmp6_, _tmp11_); +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = self->priv->albums; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13__length1 = self->priv->albums_length1; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = i; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = _tmp13_[_tmp14_]; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = publishing_gallery3_album_get_title (_tmp15_); +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = _tmp16_; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = last_album; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_strcmp0 (_tmp17_, _tmp18_) == 0) { +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = TRUE; +#line 10365 "GalleryConnector.c" + } else { + gboolean _tmp19_ = FALSE; + PublishingGallery3Album** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + PublishingGallery3Album* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = self->priv->albums; +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20__length1 = self->priv->albums_length1; +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = i; +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = _tmp20_[_tmp21_]; +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = publishing_gallery3_album_get_title (_tmp22_); +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = _tmp23_; +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_strcmp0 (PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_DEFAULT_ALBUM_NAME, _tmp24_) == 0) { +#line 10388 "GalleryConnector.c" + gint _tmp25_ = 0; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = default_album_id; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = -1 == _tmp25_; +#line 10394 "GalleryConnector.c" + } else { +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = FALSE; +#line 10398 "GalleryConnector.c" + } +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = _tmp19_; +#line 10402 "GalleryConnector.c" + } +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp12_) { +#line 10406 "GalleryConnector.c" + gint _tmp26_ = 0; +#line 1650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = i; +#line 1650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + default_album_id = _tmp26_; +#line 10412 "GalleryConnector.c" + } + } + } + } +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = self->priv->albums; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27__length1 = self->priv->albums_length1; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp27__length1 == 0) { +#line 10423 "GalleryConnector.c" + GtkComboBoxText* _tmp28_ = NULL; + GtkRadioButton* _tmp29_ = NULL; + GtkRadioButton* _tmp30_ = NULL; + GtkEntry* _tmp31_ = NULL; + GtkEntry* _tmp32_ = NULL; +#line 1654 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = self->priv->existing_albums_combo; +#line 1654 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1655 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = self->priv->use_existing_radio; +#line 1655 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = self->priv->create_new_radio; +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = self->priv->new_album_entry; +#line 1657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget)); +#line 1658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = self->priv->new_album_entry; +#line 1658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_entry_set_text (_tmp32_, PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_DEFAULT_ALBUM_NAME); +#line 10449 "GalleryConnector.c" + } else { + gint _tmp33_ = 0; +#line 1660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = default_album_id; +#line 1660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp33_ >= 0) { +#line 10456 "GalleryConnector.c" + GtkRadioButton* _tmp34_ = NULL; + GtkComboBoxText* _tmp35_ = NULL; + gint _tmp36_ = 0; + GtkEntry* _tmp37_ = NULL; +#line 1661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = self->priv->use_existing_radio; +#line 1661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = self->priv->existing_albums_combo; +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = default_album_id; +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_combo_box_get_type (), GtkComboBox), _tmp36_); +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = self->priv->new_album_entry; +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 10475 "GalleryConnector.c" + } else { + GtkRadioButton* _tmp38_ = NULL; + GtkComboBoxText* _tmp39_ = NULL; + GtkEntry* _tmp40_ = NULL; + GtkEntry* _tmp41_ = NULL; +#line 1665 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp38_ = self->priv->create_new_radio; +#line 1665 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp39_ = self->priv->existing_albums_combo; +#line 1666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 1667 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp40_ = self->priv->new_album_entry; +#line 1667 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_entry_set_text (_tmp40_, PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_DEFAULT_ALBUM_NAME); +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp41_ = self->priv->new_album_entry; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_widget_get_type (), GtkWidget)); +#line 10497 "GalleryConnector.c" + } + } +#line 1671 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_update_publish_button_sensitivity (self); +#line 1672 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_update_pixel_entry_sensitivity (self); +#line 1641 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (last_album); +#line 10506 "GalleryConnector.c" +} + + +static GtkWidget* publishing_gallery3_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingGallery3PublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkGrid* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1675 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPane); +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->pane_widget; +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10525 "GalleryConnector.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_gallery3_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingGallery3PublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 1679 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPane); +#line 1680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10538 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingGallery3PublishingOptionsPane * self; +#line 1683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPane); +#line 1684 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_installed (self); +#line 10548 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingGallery3PublishingOptionsPane * self; +#line 1687 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPane); +#line 10556 "GalleryConnector.c" +} + + +static void g_cclosure_user_marshal_VOID__PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (n_param_values == 2); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data1 = closure->data; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data2 = param_values->data[0].v_pointer; +#line 10575 "GalleryConnector.c" + } else { +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data1 = param_values->data[0].v_pointer; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data2 = closure->data; +#line 10581 "GalleryConnector.c" + } +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + callback = (GMarshalFunc_VOID__PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS) (marshal_data ? marshal_data : cc->callback); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + callback (data1, publishing_gallery3_value_get_publishing_parameters (param_values + 1), data2); +#line 10587 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_class_init (PublishingGallery3PublishingOptionsPaneClass * klass) { +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3PublishingOptionsPanePrivate)); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_gallery3_publishing_options_pane_finalize; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_new ("publish", PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS, G_TYPE_NONE, 1, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_new ("logout", PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 10602 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_gallery3_publishing_options_pane_real_get_widget; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_gallery3_publishing_options_pane_real_get_preferred_geometry; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_gallery3_publishing_options_pane_real_on_pane_installed; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_gallery3_publishing_options_pane_real_on_pane_uninstalled; +#line 10617 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_instance_init (PublishingGallery3PublishingOptionsPane * self) { +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 1503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->builder = NULL; +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->pane_widget = NULL; +#line 1506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->title_label = NULL; +#line 1507 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->use_existing_radio = NULL; +#line 1508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->existing_albums_combo = NULL; +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->create_new_radio = NULL; +#line 1510 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->new_album_entry = NULL; +#line 1511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->scaling_combo = NULL; +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->pixels = NULL; +#line 1513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->strip_metadata_check = NULL; +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->publish_button = NULL; +#line 1515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->logout_button = NULL; +#line 10648 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_options_pane_finalize (GObject* obj) { + PublishingGallery3PublishingOptionsPane * self; +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_PUBLISHING_OPTIONS_PANE, PublishingGallery3PublishingOptionsPane); +#line 1503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->builder); +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->title_label); +#line 1507 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 1508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 1510 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 1511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->scaling_combo); +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->pixels); +#line 1513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1517 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_gallery3_album_unref), NULL); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (publishing_gallery3_publishing_options_pane_parent_class)->finalize (obj); +#line 10684 "GalleryConnector.c" +} + + +GType publishing_gallery3_publishing_options_pane_get_type (void) { + static volatile gsize publishing_gallery3_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3PublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3PublishingOptionsPane), 0, (GInstanceInitFunc) publishing_gallery3_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_gallery3_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_gallery3_publishing_options_pane_type_id; + publishing_gallery3_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingGallery3PublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_gallery3_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_gallery3_publishing_options_pane_type_id__volatile, publishing_gallery3_publishing_options_pane_type_id); + } + return publishing_gallery3_publishing_options_pane_type_id__volatile; +} + + +static PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_construct (GType object_type) { + PublishingGallery3PublishingParameters* self = NULL; +#line 1710 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3PublishingParameters*) g_type_create_instance (object_type); +#line 1710 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 10708 "GalleryConnector.c" +} + + +static PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_new (void) { +#line 1710 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_publishing_parameters_construct (PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS); +#line 10715 "GalleryConnector.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 10746 "GalleryConnector.c" +} + + +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_construct_to_new_album (GType object_type, const gchar* album_title) { + PublishingGallery3PublishingParameters* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 1713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (album_title != NULL, NULL); +#line 1713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3PublishingParameters*) g_type_create_instance (object_type); +#line 1714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = album_title; +#line 1714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = string_delimit (_tmp0_, " ", '-'); +#line 1714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = _tmp1_; +#line 1714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_set_album_name (self, _tmp2_); +#line 1714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp2_); +#line 1716 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = album_title; +#line 1716 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_set_album_title (self, _tmp3_); +#line 1713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 10776 "GalleryConnector.c" +} + + +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_new_to_new_album (const gchar* album_title) { +#line 1713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_publishing_parameters_construct_to_new_album (PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS, album_title); +#line 10783 "GalleryConnector.c" +} + + +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_construct_to_existing_album (GType object_type, const gchar* album_path) { + PublishingGallery3PublishingParameters* self = NULL; + const gchar* _tmp0_ = NULL; +#line 1719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (album_path != NULL, NULL); +#line 1719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3PublishingParameters*) g_type_create_instance (object_type); +#line 1720 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = album_path; +#line 1720 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_set_album_path (self, _tmp0_); +#line 1719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 10800 "GalleryConnector.c" +} + + +PublishingGallery3PublishingParameters* publishing_gallery3_publishing_parameters_new_to_existing_album (const gchar* album_path) { +#line 1719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_publishing_parameters_construct_to_existing_album (PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS, album_path); +#line 10807 "GalleryConnector.c" +} + + +gboolean publishing_gallery3_publishing_parameters_is_to_new_album (PublishingGallery3PublishingParameters* self) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; +#line 1723 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self), FALSE); +#line 1724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_album_name; +#line 1724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = g_strcmp0 (_tmp0_, "") != 0; +#line 1724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10822 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_publishing_parameters_get_album_title (PublishingGallery3PublishingParameters* self) { + const gchar* result; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 1698 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 1699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = publishing_gallery3_publishing_parameters_is_to_new_album (self); +#line 1699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_assert (_tmp0_, "is_to_new_album()"); +#line 1700 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->_album_title; +#line 1700 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 1700 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10842 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_parameters_set_album_title (PublishingGallery3PublishingParameters* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1702 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self)); +#line 1702 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1702 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1702 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_album_title); +#line 1702 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_title = _tmp1_; +#line 10859 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_publishing_parameters_get_album_name (PublishingGallery3PublishingParameters* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_album_name; +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10874 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_parameters_set_album_name (PublishingGallery3PublishingParameters* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self)); +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_album_name); +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_name = _tmp1_; +#line 10891 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_publishing_parameters_get_album_path (PublishingGallery3PublishingParameters* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_album_path; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10906 "GalleryConnector.c" +} + + +void publishing_gallery3_publishing_parameters_set_album_path (PublishingGallery3PublishingParameters* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self)); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_album_path); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_path = _tmp1_; +#line 10923 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_publishing_parameters_get_entity_title (PublishingGallery3PublishingParameters* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_entity_title; +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10938 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_parameters_set_entity_title (PublishingGallery3PublishingParameters* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self)); +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_entity_title); +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_entity_title = _tmp1_; +#line 10955 "GalleryConnector.c" +} + + +gint publishing_gallery3_publishing_parameters_get_photo_major_axis_size (PublishingGallery3PublishingParameters* self) { + gint result; + gint _tmp0_ = 0; +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self), 0); +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_photo_major_axis_size; +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10970 "GalleryConnector.c" +} + + +void publishing_gallery3_publishing_parameters_set_photo_major_axis_size (PublishingGallery3PublishingParameters* self, gint value) { + gint _tmp0_ = 0; +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self)); +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_photo_major_axis_size = _tmp0_; +#line 10982 "GalleryConnector.c" +} + + +gboolean publishing_gallery3_publishing_parameters_get_strip_metadata (PublishingGallery3PublishingParameters* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self), FALSE); +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_strip_metadata; +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 10997 "GalleryConnector.c" +} + + +void publishing_gallery3_publishing_parameters_set_strip_metadata (PublishingGallery3PublishingParameters* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (self)); +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_strip_metadata = _tmp0_; +#line 11009 "GalleryConnector.c" +} + + +static void publishing_gallery3_value_publishing_parameters_init (GValue* value) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 11016 "GalleryConnector.c" +} + + +static void publishing_gallery3_value_publishing_parameters_free_value (GValue* value) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (value->data[0].v_pointer) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_unref (value->data[0].v_pointer); +#line 11025 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_value_publishing_parameters_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (src_value->data[0].v_pointer) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + dest_value->data[0].v_pointer = publishing_gallery3_publishing_parameters_ref (src_value->data[0].v_pointer); +#line 11035 "GalleryConnector.c" + } else { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + dest_value->data[0].v_pointer = NULL; +#line 11039 "GalleryConnector.c" + } +} + + +static gpointer publishing_gallery3_value_publishing_parameters_peek_pointer (const GValue* value) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return value->data[0].v_pointer; +#line 11047 "GalleryConnector.c" +} + + +static gchar* publishing_gallery3_value_publishing_parameters_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (collect_values[0].v_pointer) { +#line 11054 "GalleryConnector.c" + PublishingGallery3PublishingParameters* object; + object = collect_values[0].v_pointer; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (object->parent_instance.g_class == NULL) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11061 "GalleryConnector.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.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 11065 "GalleryConnector.c" + } +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = publishing_gallery3_publishing_parameters_ref (object); +#line 11069 "GalleryConnector.c" + } else { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 11073 "GalleryConnector.c" + } +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 11077 "GalleryConnector.c" +} + + +static gchar* publishing_gallery3_value_publishing_parameters_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingGallery3PublishingParameters** object_p; + object_p = collect_values[0].v_pointer; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!object_p) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 11088 "GalleryConnector.c" + } +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (!value->data[0].v_pointer) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *object_p = NULL; +#line 11094 "GalleryConnector.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *object_p = value->data[0].v_pointer; +#line 11098 "GalleryConnector.c" + } else { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + *object_p = publishing_gallery3_publishing_parameters_ref (value->data[0].v_pointer); +#line 11102 "GalleryConnector.c" + } +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 11106 "GalleryConnector.c" +} + + +GParamSpec* publishing_gallery3_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingGallery3ParamSpecPublishingParameters* spec; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return G_PARAM_SPEC (spec); +#line 11120 "GalleryConnector.c" +} + + +gpointer publishing_gallery3_value_get_publishing_parameters (const GValue* value) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return value->data[0].v_pointer; +#line 11129 "GalleryConnector.c" +} + + +void publishing_gallery3_value_set_publishing_parameters (GValue* value, gpointer v_object) { + PublishingGallery3PublishingParameters* old; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS)); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + old = value->data[0].v_pointer; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (v_object) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS)); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = v_object; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_ref (value->data[0].v_pointer); +#line 11149 "GalleryConnector.c" + } else { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 11153 "GalleryConnector.c" + } +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (old) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_unref (old); +#line 11159 "GalleryConnector.c" + } +} + + +void publishing_gallery3_value_take_publishing_parameters (GValue* value, gpointer v_object) { + PublishingGallery3PublishingParameters* old; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS)); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + old = value->data[0].v_pointer; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (v_object) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS)); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = v_object; +#line 11178 "GalleryConnector.c" + } else { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + value->data[0].v_pointer = NULL; +#line 11182 "GalleryConnector.c" + } +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (old) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_unref (old); +#line 11188 "GalleryConnector.c" + } +} + + +static void publishing_gallery3_publishing_parameters_class_init (PublishingGallery3PublishingParametersClass * klass) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_publishing_parameters_parent_class = g_type_class_peek_parent (klass); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingGallery3PublishingParametersClass *) klass)->finalize = publishing_gallery3_publishing_parameters_finalize; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3PublishingParametersPrivate)); +#line 11200 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_parameters_instance_init (PublishingGallery3PublishingParameters * self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS_GET_PRIVATE (self); +#line 1694 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strdup (""); +#line 1694 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_title = _tmp0_; +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (""); +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_name = _tmp1_; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup (""); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_album_path = _tmp2_; +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = g_strdup (""); +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_entity_title = _tmp3_; +#line 1707 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_photo_major_axis_size = -1; +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_strip_metadata = FALSE; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->ref_count = 1; +#line 11233 "GalleryConnector.c" +} + + +static void publishing_gallery3_publishing_parameters_finalize (PublishingGallery3PublishingParameters* obj) { + PublishingGallery3PublishingParameters * self; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_PUBLISHING_PARAMETERS, PublishingGallery3PublishingParameters); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_destroy (self); +#line 1694 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_album_title); +#line 1704 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_album_name); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_album_path); +#line 1706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_entity_title); +#line 11251 "GalleryConnector.c" +} + + +GType publishing_gallery3_publishing_parameters_get_type (void) { + static volatile gsize publishing_gallery3_publishing_parameters_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_publishing_parameters_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_gallery3_value_publishing_parameters_init, publishing_gallery3_value_publishing_parameters_free_value, publishing_gallery3_value_publishing_parameters_copy_value, publishing_gallery3_value_publishing_parameters_peek_pointer, "p", publishing_gallery3_value_publishing_parameters_collect_value, "p", publishing_gallery3_value_publishing_parameters_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3PublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3PublishingParameters), 0, (GInstanceInitFunc) publishing_gallery3_publishing_parameters_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 publishing_gallery3_publishing_parameters_type_id; + publishing_gallery3_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingGallery3PublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_gallery3_publishing_parameters_type_id__volatile, publishing_gallery3_publishing_parameters_type_id); + } + return publishing_gallery3_publishing_parameters_type_id__volatile; +} + + +gpointer publishing_gallery3_publishing_parameters_ref (gpointer instance) { + PublishingGallery3PublishingParameters* self; + self = instance; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_atomic_int_inc (&self->ref_count); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return instance; +#line 11276 "GalleryConnector.c" +} + + +void publishing_gallery3_publishing_parameters_unref (gpointer instance) { + PublishingGallery3PublishingParameters* self; + self = instance; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_GALLERY3_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 11289 "GalleryConnector.c" + } +} + + +gchar* publishing_gallery3_credentials_pane_mode_to_string (PublishingGallery3CredentialsPaneMode self) { + gchar* result = NULL; +#line 1735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + switch (self) { +#line 1735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_INTRO: +#line 11300 "GalleryConnector.c" + { + gchar* _tmp0_ = NULL; +#line 1737 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strdup ("INTRO"); +#line 1737 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1737 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 11309 "GalleryConnector.c" + } +#line 1735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY: +#line 11313 "GalleryConnector.c" + { + gchar* _tmp1_ = NULL; +#line 1740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup ("FAILED_RETRY"); +#line 1740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 1740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 11322 "GalleryConnector.c" + } +#line 1735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL: +#line 11326 "GalleryConnector.c" + { + gchar* _tmp2_ = NULL; +#line 1743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup ("NOT_GALLERY_URL"); +#line 1743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp2_; +#line 1743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 11335 "GalleryConnector.c" + } + default: + { +#line 1746 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:1746: unrecognized CredentialsPane.Mode enumerat" \ +"ion value"); +#line 11341 "GalleryConnector.c" + } + } +} + + +GType publishing_gallery3_credentials_pane_mode_get_type (void) { + static volatile gsize publishing_gallery3_credentials_pane_mode_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_credentials_pane_mode_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_INTRO, "PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_INTRO", "intro"}, {PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY, "PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY", "failed-retry"}, {PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL, "PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL", "not-gallery-url"}, {0, NULL, NULL}}; + GType publishing_gallery3_credentials_pane_mode_type_id; + publishing_gallery3_credentials_pane_mode_type_id = g_enum_register_static ("PublishingGallery3CredentialsPaneMode", values); + g_once_init_leave (&publishing_gallery3_credentials_pane_mode_type_id__volatile, publishing_gallery3_credentials_pane_mode_type_id); + } + return publishing_gallery3_credentials_pane_mode_type_id__volatile; +} + + +PublishingGallery3CredentialsPane* publishing_gallery3_credentials_pane_construct (GType object_type, SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key) { + PublishingGallery3CredentialsPane * self = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + PublishingGallery3CredentialsPaneMode _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GtkBuilder* _tmp15_ = NULL; + PublishingGallery3CredentialsGrid* _tmp16_ = NULL; + PublishingGallery3CredentialsGrid* _tmp17_ = NULL; + GtkGrid* _tmp18_ = NULL; + GtkGrid* _tmp19_ = NULL; + GtkWidget* _tmp20_ = NULL; + GError * _inner_error_ = NULL; +#line 1758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 1758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3CredentialsPane*) g_object_new (object_type, NULL); +#line 1763 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = gtk_builder_new (); +#line 1763 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + builder = _tmp0_; +#line 11383 "GalleryConnector.c" + { + GtkBuilder* _tmp1_ = NULL; +#line 1766 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = builder; +#line 1766 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_builder_add_from_resource (_tmp1_, PLUGIN_RESOURCE_PATH "/gallery3_authentication_pane.ui", &_inner_error_); +#line 1766 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 11392 "GalleryConnector.c" + goto __catch15_g_error; + } + } + goto __finally15; + __catch15_g_error: + { + GError* e = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 1765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + e = _inner_error_; +#line 1765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _inner_error_ = NULL; +#line 1770 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = e; +#line 1770 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = _tmp2_->message; +#line 1770 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_warning ("GalleryConnector.vala:1770: Could not parse UI file! Error: %s.", _tmp3_); +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = host; +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = _ ("A file required for publishing is unavailable. Publishing to %s can't " \ +"continue."); +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = g_strdup_printf (_tmp5_, PUBLISHING_GALLERY3_SERVICE_NAME); +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = _tmp6_; +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp7_); +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = _tmp8_; +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp9_); +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (_tmp9_); +#line 1771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp7_); +#line 1778 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_error_free0 (e); +#line 1778 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (builder); +#line 1778 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 11442 "GalleryConnector.c" + } + __finally15: +#line 1765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (builder); +#line 1765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_clear_error (&_inner_error_); +#line 1765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return NULL; +#line 11455 "GalleryConnector.c" + } +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = host; +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = mode; +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = url; +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = username; +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = key; +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = builder; +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = publishing_gallery3_credentials_grid_new (_tmp10_, _tmp11_, _tmp12_, _tmp13_, _tmp14_, _tmp15_); +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->frame); +#line 1781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->frame = _tmp16_; +#line 1782 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = self->priv->frame; +#line 1782 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = publishing_gallery3_credentials_grid_get_pane_widget (_tmp17_); +#line 1782 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = _tmp18_; +#line 1782 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_widget_get_type ()) ? ((GtkWidget*) _tmp19_) : NULL); +#line 1782 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->grid_widget); +#line 1782 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->grid_widget = _tmp20_; +#line 1758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (builder); +#line 1758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 11491 "GalleryConnector.c" +} + + +PublishingGallery3CredentialsPane* publishing_gallery3_credentials_pane_new (SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key) { +#line 1758 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_credentials_pane_construct (PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, host, mode, url, username, key); +#line 11498 "GalleryConnector.c" +} + + +void publishing_gallery3_credentials_pane_notify_go_back (PublishingGallery3CredentialsPane* self) { +#line 1785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_PANE (self)); +#line 1786 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_emit_by_name (self, "go-back"); +#line 11507 "GalleryConnector.c" +} + + +void publishing_gallery3_credentials_pane_notify_login (PublishingGallery3CredentialsPane* self, const gchar* url, const gchar* uname, const gchar* password, const gchar* key) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 1789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_PANE (self)); +#line 1789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (url != NULL); +#line 1789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (uname != NULL); +#line 1789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (password != NULL); +#line 1789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (key != NULL); +#line 1791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = url; +#line 1791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = uname; +#line 1791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = password; +#line 1791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = key; +#line 1791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_emit_by_name (self, "login", _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 11536 "GalleryConnector.c" +} + + +static GtkWidget* publishing_gallery3_credentials_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingGallery3CredentialsPane * self; + GtkWidget* result = NULL; + GtkWidget* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; +#line 1794 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPane); +#line 1795 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->grid_widget; +#line 1795 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_assert (NULL != _tmp0_, "null != grid_widget"); +#line 1796 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->grid_widget; +#line 1796 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1796 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp2_; +#line 1796 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 11560 "GalleryConnector.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_gallery3_credentials_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingGallery3CredentialsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 1799 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPane); +#line 1800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 11573 "GalleryConnector.c" +} + + +static void _publishing_gallery3_credentials_pane_notify_go_back_publishing_gallery3_credentials_grid_go_back (PublishingGallery3CredentialsGrid* _sender, gpointer self) { +#line 1804 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_pane_notify_go_back ((PublishingGallery3CredentialsPane*) self); +#line 11580 "GalleryConnector.c" +} + + +static void _publishing_gallery3_credentials_pane_notify_login_publishing_gallery3_credentials_grid_login (PublishingGallery3CredentialsGrid* _sender, const gchar* url, const gchar* username, const gchar* password, const gchar* key, gpointer self) { +#line 1805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_pane_notify_login ((PublishingGallery3CredentialsPane*) self, url, username, password, key); +#line 11587 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingGallery3CredentialsPane * self; + PublishingGallery3CredentialsGrid* _tmp0_ = NULL; + PublishingGallery3CredentialsGrid* _tmp1_ = NULL; + PublishingGallery3CredentialsGrid* _tmp2_ = NULL; +#line 1803 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPane); +#line 1804 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->frame; +#line 1804 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp0_, "go-back", (GCallback) _publishing_gallery3_credentials_pane_notify_go_back_publishing_gallery3_credentials_grid_go_back, self, 0); +#line 1805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->frame; +#line 1805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp1_, "login", (GCallback) _publishing_gallery3_credentials_pane_notify_login_publishing_gallery3_credentials_grid_login, self, 0); +#line 1807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->frame; +#line 1807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_grid_installed (_tmp2_); +#line 11610 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingGallery3CredentialsPane * self; + PublishingGallery3CredentialsGrid* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingGallery3CredentialsGrid* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 1810 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPane); +#line 1811 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->frame; +#line 1811 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("go-back", PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, &_tmp1_, NULL, FALSE); +#line 1811 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_gallery3_credentials_pane_notify_go_back_publishing_gallery3_credentials_grid_go_back, self); +#line 1812 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->frame; +#line 1812 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_parse_name ("login", PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, &_tmp3_, NULL, FALSE); +#line 1812 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_gallery3_credentials_pane_notify_login_publishing_gallery3_credentials_grid_login, self); +#line 11634 "GalleryConnector.c" +} + + +static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING_STRING) (gpointer data1, const char* arg_1, const char* arg_2, const char* arg_3, const char* arg_4, gpointer data2); + register GMarshalFunc_VOID__STRING_STRING_STRING_STRING callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (n_param_values == 5); +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data1 = closure->data; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data2 = param_values->data[0].v_pointer; +#line 11653 "GalleryConnector.c" + } else { +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data1 = param_values->data[0].v_pointer; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + data2 = closure->data; +#line 11659 "GalleryConnector.c" + } +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + callback = (GMarshalFunc_VOID__STRING_STRING_STRING_STRING) (marshal_data ? marshal_data : cc->callback); +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_string (param_values + 3), g_value_get_string (param_values + 4), data2); +#line 11665 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_pane_class_init (PublishingGallery3CredentialsPaneClass * klass) { +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_pane_parent_class = g_type_class_peek_parent (klass); +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3CredentialsPanePrivate)); +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_gallery3_credentials_pane_finalize; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_new ("go_back", PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_new ("login", PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); +#line 11680 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_gallery3_credentials_pane_real_get_widget; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_gallery3_credentials_pane_real_get_preferred_geometry; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_gallery3_credentials_pane_real_on_pane_installed; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_gallery3_credentials_pane_real_on_pane_uninstalled; +#line 11695 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_pane_instance_init (PublishingGallery3CredentialsPane * self) { +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_CREDENTIALS_PANE_GET_PRIVATE (self); +#line 1751 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->frame = NULL; +#line 1752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->grid_widget = NULL; +#line 11706 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_pane_finalize (GObject* obj) { + PublishingGallery3CredentialsPane * self; +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_PANE, PublishingGallery3CredentialsPane); +#line 1751 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->frame); +#line 1752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->grid_widget); +#line 1728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (publishing_gallery3_credentials_pane_parent_class)->finalize (obj); +#line 11720 "GalleryConnector.c" +} + + +GType publishing_gallery3_credentials_pane_get_type (void) { + static volatile gsize publishing_gallery3_credentials_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_credentials_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3CredentialsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_credentials_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3CredentialsPane), 0, (GInstanceInitFunc) publishing_gallery3_credentials_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_gallery3_credentials_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_gallery3_credentials_pane_type_id; + publishing_gallery3_credentials_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingGallery3CredentialsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_gallery3_credentials_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_gallery3_credentials_pane_type_id__volatile, publishing_gallery3_credentials_pane_type_id); + } + return publishing_gallery3_credentials_pane_type_id__volatile; +} + + +static void _publishing_gallery3_credentials_grid_on_url_or_username_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1890 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_grid_on_url_or_username_changed ((PublishingGallery3CredentialsGrid*) self); +#line 11741 "GalleryConnector.c" +} + + +static void _publishing_gallery3_credentials_grid_on_go_back_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_grid_on_go_back_button_clicked ((PublishingGallery3CredentialsGrid*) self); +#line 11748 "GalleryConnector.c" +} + + +static void _publishing_gallery3_credentials_grid_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1907 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_grid_on_login_button_clicked ((PublishingGallery3CredentialsGrid*) self); +#line 11755 "GalleryConnector.c" +} + + +PublishingGallery3CredentialsGrid* publishing_gallery3_credentials_grid_construct (GType object_type, SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key, GtkBuilder* builder) { + PublishingGallery3CredentialsGrid * self = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GtkBuilder* _tmp7_ = NULL; + GtkBuilder* _tmp8_ = NULL; + GtkBuilder* _tmp9_ = NULL; + GtkBuilder* _tmp10_ = NULL; + GSList* _tmp11_ = NULL; + GSList* _tmp12_ = NULL; + guint _tmp13_ = 0U; + GtkBuilder* _tmp14_ = NULL; + GObject* _tmp15_ = NULL; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkLabel* _tmp18_ = NULL; + GtkBuilder* _tmp19_ = NULL; + GObject* _tmp20_ = NULL; + GtkEntry* _tmp21_ = NULL; + GtkBuilder* _tmp22_ = NULL; + GObject* _tmp23_ = NULL; + GtkEntry* _tmp24_ = NULL; + GtkBuilder* _tmp25_ = NULL; + GObject* _tmp26_ = NULL; + GtkEntry* _tmp27_ = NULL; + GtkBuilder* _tmp28_ = NULL; + GObject* _tmp29_ = NULL; + GtkEntry* _tmp30_ = NULL; + GtkBuilder* _tmp31_ = NULL; + GObject* _tmp32_ = NULL; + GtkButton* _tmp33_ = NULL; + GtkBuilder* _tmp34_ = NULL; + GObject* _tmp35_ = NULL; + GtkButton* _tmp36_ = NULL; + PublishingGallery3CredentialsPaneMode _tmp37_ = 0; + const gchar* _tmp47_ = NULL; + GtkEntry* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + GtkEntry* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + GtkEntry* _tmp61_ = NULL; + GtkButton* _tmp62_ = NULL; + GtkButton* _tmp63_ = NULL; + gboolean _tmp64_ = FALSE; + const gchar* _tmp65_ = NULL; + GtkButton* _tmp67_ = NULL; +#line 1840 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 1840 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 1840 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3CredentialsGrid*) g_object_new (object_type, NULL); +#line 1845 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = host; +#line 1845 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->host = _tmp0_; +#line 1846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = url; +#line 1846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->url); +#line 1846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->url = _tmp2_; +#line 1847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = key; +#line 1847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 1847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 1847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = _tmp4_; +#line 1848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = username; +#line 1848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 1848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->username); +#line 1848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->username = _tmp6_; +#line 1850 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = builder; +#line 1850 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 1850 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->builder); +#line 1850 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->builder = _tmp8_; +#line 1851 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp9_ = builder; +#line 1851 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_assert (_tmp9_ != NULL, "builder != null"); +#line 1852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp10_ = builder; +#line 1852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp11_ = gtk_builder_get_objects (_tmp10_); +#line 1852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp12_ = _tmp11_; +#line 1852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp13_ = g_slist_length (_tmp12_); +#line 1852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _vala_assert (_tmp13_ > ((guint) 0), "builder.get_objects().length() > 0"); +#line 1852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_slist_free0 (_tmp12_); +#line 1855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp14_ = builder; +#line 1855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp15_ = gtk_builder_get_object (_tmp14_, "gallery3_auth_pane_widget"); +#line 1855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_grid_set_pane_widget (self, G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, gtk_grid_get_type ()) ? ((GtkGrid*) _tmp15_) : NULL); +#line 1856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp16_ = builder; +#line 1856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "intro_message_label"); +#line 1856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp17_) : NULL); +#line 1856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->intro_message_label); +#line 1856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->intro_message_label = _tmp18_; +#line 1857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp19_ = builder; +#line 1857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp20_ = gtk_builder_get_object (_tmp19_, "url_entry"); +#line 1857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp20_) : NULL); +#line 1857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->url_entry); +#line 1857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->url_entry = _tmp21_; +#line 1858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp22_ = builder; +#line 1858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp23_ = gtk_builder_get_object (_tmp22_, "username_entry"); +#line 1858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp23_) : NULL); +#line 1858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->username_entry); +#line 1858 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->username_entry = _tmp24_; +#line 1859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp25_ = builder; +#line 1859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp26_ = gtk_builder_get_object (_tmp25_, "key_entry"); +#line 1859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp26_) : NULL); +#line 1859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->key_entry); +#line 1859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key_entry = _tmp27_; +#line 1860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp28_ = builder; +#line 1860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp29_ = gtk_builder_get_object (_tmp28_, "password_entry"); +#line 1860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp29_) : NULL); +#line 1860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->password_entry); +#line 1860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->password_entry = _tmp30_; +#line 1861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp31_ = builder; +#line 1861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp32_ = gtk_builder_get_object (_tmp31_, "go_back_button"); +#line 1861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, gtk_button_get_type ()) ? ((GtkButton*) _tmp32_) : NULL); +#line 1861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->go_back_button); +#line 1861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->go_back_button = _tmp33_; +#line 1862 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp34_ = builder; +#line 1862 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp35_ = gtk_builder_get_object (_tmp34_, "login_button"); +#line 1862 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp36_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp35_, gtk_button_get_type ()) ? ((GtkButton*) _tmp35_) : NULL); +#line 1862 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->login_button); +#line 1862 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->login_button = _tmp36_; +#line 1865 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp37_ = mode; +#line 1865 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + switch (_tmp37_) { +#line 1865 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_INTRO: +#line 11950 "GalleryConnector.c" + { + GtkLabel* _tmp38_ = NULL; +#line 1867 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp38_ = self->priv->intro_message_label; +#line 1867 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_label_set_markup (_tmp38_, PUBLISHING_GALLERY3_CREDENTIALS_GRID_INTRO_MESSAGE); +#line 1868 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 11959 "GalleryConnector.c" + } +#line 1865 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_FAILED_RETRY: +#line 11963 "GalleryConnector.c" + { + GtkLabel* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 1871 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp39_ = self->priv->intro_message_label; +#line 1871 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp40_ = _ ("Unrecognized User"); +#line 1871 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp41_ = g_strdup_printf ("%s\n\n%s", _tmp40_, PUBLISHING_GALLERY3_CREDENTIALS_GRID_FAILED_RETRY_MESSAGE); +#line 1871 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp42_ = _tmp41_; +#line 1871 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_label_set_markup (_tmp39_, _tmp42_); +#line 1871 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp42_); +#line 1873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 11983 "GalleryConnector.c" + } +#line 1865 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_PANE_MODE_NOT_GALLERY_URL: +#line 11987 "GalleryConnector.c" + { + GtkLabel* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; +#line 1876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp43_ = self->priv->intro_message_label; +#line 1876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp44_ = _ (PUBLISHING_GALLERY3_SERVICE_NAME " Site Not Found"); +#line 1876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp45_ = g_strdup_printf ("%s\n\n%s", _tmp44_, PUBLISHING_GALLERY3_CREDENTIALS_GRID_NOT_GALLERY_URL_MESSAGE); +#line 1876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp46_ = _tmp45_; +#line 1876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_label_set_markup (_tmp43_, _tmp46_); +#line 1876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (_tmp46_); +#line 1879 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 12007 "GalleryConnector.c" + } + default: + { +#line 1882 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("GalleryConnector.vala:1882: Invalid CredentialsPane mode"); +#line 12013 "GalleryConnector.c" + } + } +#line 1886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp47_ = url; +#line 1886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp47_ != NULL) { +#line 12020 "GalleryConnector.c" + GtkEntry* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + GtkEntry* _tmp50_ = NULL; +#line 1887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp48_ = self->priv->url_entry; +#line 1887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp49_ = url; +#line 1887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_entry_set_text (_tmp48_, _tmp49_); +#line 1888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp50_ = self->priv->username_entry; +#line 1888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_widget_get_type (), GtkWidget)); +#line 12034 "GalleryConnector.c" + } +#line 1890 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp51_ = self->priv->url_entry; +#line 1890 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_gallery3_credentials_grid_on_url_or_username_changed_gtk_editable_changed, self, 0); +#line 1892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp52_ = username; +#line 1892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp52_ != NULL) { +#line 12044 "GalleryConnector.c" + GtkEntry* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + GtkEntry* _tmp55_ = NULL; +#line 1893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp53_ = self->priv->username_entry; +#line 1893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp54_ = username; +#line 1893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_entry_set_text (_tmp53_, _tmp54_); +#line 1894 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp55_ = self->priv->password_entry; +#line 1894 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, gtk_widget_get_type (), GtkWidget)); +#line 12058 "GalleryConnector.c" + } +#line 1896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp56_ = self->priv->username_entry; +#line 1896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_gallery3_credentials_grid_on_url_or_username_changed_gtk_editable_changed, self, 0); +#line 1899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp57_ = key; +#line 1899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp57_ != NULL) { +#line 12068 "GalleryConnector.c" + GtkEntry* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + GtkEntry* _tmp60_ = NULL; +#line 1900 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp58_ = self->priv->key_entry; +#line 1900 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp59_ = key; +#line 1900 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_entry_set_text (_tmp58_, _tmp59_); +#line 1901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp60_ = self->priv->key_entry; +#line 1901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_widget_get_type (), GtkWidget)); +#line 12082 "GalleryConnector.c" + } +#line 1903 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp61_ = self->priv->key_entry; +#line 1903 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_gallery3_credentials_grid_on_url_or_username_changed_gtk_editable_changed, self, 0); +#line 1906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp62_ = self->priv->go_back_button; +#line 1906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp62_, "clicked", (GCallback) _publishing_gallery3_credentials_grid_on_go_back_button_clicked_gtk_button_clicked, self, 0); +#line 1907 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp63_ = self->priv->login_button; +#line 1907 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_connect_object (_tmp63_, "clicked", (GCallback) _publishing_gallery3_credentials_grid_on_login_button_clicked_gtk_button_clicked, self, 0); +#line 1908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp65_ = url; +#line 1908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp65_ != NULL) { +#line 12100 "GalleryConnector.c" + const gchar* _tmp66_ = NULL; +#line 1908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp66_ = username; +#line 1908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp64_ = _tmp66_ != NULL; +#line 12106 "GalleryConnector.c" + } else { +#line 1908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp64_ = FALSE; +#line 12110 "GalleryConnector.c" + } +#line 1908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp67_ = self->priv->login_button; +#line 1908 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, gtk_widget_get_type (), GtkWidget), _tmp64_); +#line 1840 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 12118 "GalleryConnector.c" +} + + +PublishingGallery3CredentialsGrid* publishing_gallery3_credentials_grid_new (SpitPublishingPluginHost* host, PublishingGallery3CredentialsPaneMode mode, const gchar* url, const gchar* username, const gchar* key, GtkBuilder* builder) { +#line 1840 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_credentials_grid_construct (PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, host, mode, url, username, key, builder); +#line 12125 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_grid_on_login_button_clicked (PublishingGallery3CredentialsGrid* self) { + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GtkEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 1911 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID (self)); +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->url_entry; +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->username_entry; +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = gtk_entry_get_text (_tmp2_); +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = self->priv->password_entry; +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = gtk_entry_get_text (_tmp4_); +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = self->priv->key_entry; +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = gtk_entry_get_text (_tmp6_); +#line 1912 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_emit_by_name (self, "login", _tmp1_, _tmp3_, _tmp5_, _tmp7_); +#line 12158 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_grid_on_go_back_button_clicked (PublishingGallery3CredentialsGrid* self) { +#line 1916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID (self)); +#line 1917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_emit_by_name (self, "go-back"); +#line 12167 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_grid_on_url_or_username_changed (PublishingGallery3CredentialsGrid* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GtkEntry* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkButton* _tmp8_ = NULL; +#line 1920 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID (self)); +#line 1922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->url_entry; +#line 1922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = gtk_entry_get_text (_tmp2_); +#line 1922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (g_strcmp0 (_tmp3_, "") != 0) { +#line 12185 "GalleryConnector.c" + GtkEntry* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 1923 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = self->priv->username_entry; +#line 1923 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = gtk_entry_get_text (_tmp4_); +#line 1923 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strcmp0 (_tmp5_, "") != 0; +#line 12194 "GalleryConnector.c" + } else { +#line 1922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = FALSE; +#line 12198 "GalleryConnector.c" + } +#line 1922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (_tmp1_) { +#line 1922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = TRUE; +#line 12204 "GalleryConnector.c" + } else { + GtkEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 1924 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = self->priv->key_entry; +#line 1924 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = gtk_entry_get_text (_tmp6_); +#line 1924 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = g_strcmp0 (_tmp7_, "") != 0; +#line 12214 "GalleryConnector.c" + } +#line 1921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = self->priv->login_button; +#line 1921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 12220 "GalleryConnector.c" +} + + +void publishing_gallery3_credentials_grid_installed (PublishingGallery3CredentialsGrid* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; +#line 1927 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID (self)); +#line 1928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->host; +#line 1928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 1931 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = self->priv->host; +#line 1931 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = self->priv->login_button; +#line 1931 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 12240 "GalleryConnector.c" +} + + +GtkGrid* publishing_gallery3_credentials_grid_get_pane_widget (PublishingGallery3CredentialsGrid* self) { + GtkGrid* result; + GtkGrid* _tmp0_ = NULL; +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID (self), NULL); +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_pane_widget; +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12255 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_grid_set_pane_widget (PublishingGallery3CredentialsGrid* self, GtkGrid* value) { + GtkGrid* _tmp0_ = NULL; + GtkGrid* _tmp1_ = NULL; +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_CREDENTIALS_GRID (self)); +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->_pane_widget); +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_pane_widget = _tmp1_; +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_object_notify ((GObject *) self, "pane-widget"); +#line 12274 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_grid_class_init (PublishingGallery3CredentialsGridClass * klass) { +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_grid_parent_class = g_type_class_peek_parent (klass); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3CredentialsGridPrivate)); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_publishing_gallery3_credentials_grid_get_property; +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_publishing_gallery3_credentials_grid_set_property; +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_gallery3_credentials_grid_finalize; +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), PUBLISHING_GALLERY3_CREDENTIALS_GRID_PANE_WIDGET, g_param_spec_object ("pane-widget", "pane-widget", "pane-widget", gtk_grid_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_new ("go_back", PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_signal_new ("login", PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_STRING_STRING, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); +#line 12295 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_grid_instance_init (PublishingGallery3CredentialsGrid * self) { +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_CREDENTIALS_GRID_GET_PRIVATE (self); +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_pane_widget = NULL; +#line 1823 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->host = NULL; +#line 1824 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->builder = NULL; +#line 1825 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->intro_message_label = NULL; +#line 1826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->url_entry = NULL; +#line 1827 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->username_entry = NULL; +#line 1828 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->password_entry = NULL; +#line 1829 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key_entry = NULL; +#line 1830 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->login_button = NULL; +#line 1831 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->go_back_button = NULL; +#line 1832 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->url = NULL; +#line 1833 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->username = NULL; +#line 1834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->key = NULL; +#line 12328 "GalleryConnector.c" +} + + +static void publishing_gallery3_credentials_grid_finalize (GObject* obj) { + PublishingGallery3CredentialsGrid * self; +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, PublishingGallery3CredentialsGrid); +#line 1821 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->_pane_widget); +#line 1824 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->builder); +#line 1825 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->intro_message_label); +#line 1826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->url_entry); +#line 1827 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->username_entry); +#line 1828 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->password_entry); +#line 1829 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->key_entry); +#line 1830 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->login_button); +#line 1831 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (self->priv->go_back_button); +#line 1832 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->url); +#line 1833 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->username); +#line 1834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->key); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_CLASS (publishing_gallery3_credentials_grid_parent_class)->finalize (obj); +#line 12362 "GalleryConnector.c" +} + + +GType publishing_gallery3_credentials_grid_get_type (void) { + static volatile gsize publishing_gallery3_credentials_grid_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_credentials_grid_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3CredentialsGridClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_credentials_grid_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3CredentialsGrid), 0, (GInstanceInitFunc) publishing_gallery3_credentials_grid_instance_init, NULL }; + GType publishing_gallery3_credentials_grid_type_id; + publishing_gallery3_credentials_grid_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingGallery3CredentialsGrid", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_credentials_grid_type_id__volatile, publishing_gallery3_credentials_grid_type_id); + } + return publishing_gallery3_credentials_grid_type_id__volatile; +} + + +static void _vala_publishing_gallery3_credentials_grid_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + PublishingGallery3CredentialsGrid * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, PublishingGallery3CredentialsGrid); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + switch (property_id) { +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_GRID_PANE_WIDGET: +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_value_set_object (value, publishing_gallery3_credentials_grid_get_pane_widget (self)); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 12389 "GalleryConnector.c" + default: +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 12395 "GalleryConnector.c" + } +} + + +static void _vala_publishing_gallery3_credentials_grid_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + PublishingGallery3CredentialsGrid * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, PUBLISHING_GALLERY3_TYPE_CREDENTIALS_GRID, PublishingGallery3CredentialsGrid); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + switch (property_id) { +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + case PUBLISHING_GALLERY3_CREDENTIALS_GRID_PANE_WIDGET: +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_credentials_grid_set_pane_widget (self, g_value_get_object (value)); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 12411 "GalleryConnector.c" + default: +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 1816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + break; +#line 12417 "GalleryConnector.c" + } +} + + +PublishingGallery3Session* publishing_gallery3_session_construct (GType object_type) { + PublishingGallery3Session* self = NULL; +#line 1942 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3Session*) publishing_rest_support_session_construct (object_type, NULL); +#line 1942 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 12428 "GalleryConnector.c" +} + + +PublishingGallery3Session* publishing_gallery3_session_new (void) { +#line 1942 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_session_construct (PUBLISHING_GALLERY3_TYPE_SESSION); +#line 12435 "GalleryConnector.c" +} + + +static gboolean publishing_gallery3_session_real_is_authenticated (PublishingRESTSupportSession* base) { + PublishingGallery3Session * self; + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; +#line 1945 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3Session); +#line 1946 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_key; +#line 1946 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = NULL != _tmp0_; +#line 1946 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12451 "GalleryConnector.c" +} + + +void publishing_gallery3_session_authenticate (PublishingGallery3Session* self, const gchar* gallery_url, const gchar* username, const gchar* key) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self)); +#line 1949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (gallery_url != NULL); +#line 1949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (username != NULL); +#line 1949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (key != NULL); +#line 1950 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = gallery_url; +#line 1950 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_set_url (self, _tmp0_); +#line 1951 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = username; +#line 1951 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_set_username (self, _tmp1_); +#line 1952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = key; +#line 1952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_set_key (self, _tmp2_); +#line 1954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_rest_support_session_notify_authenticated (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 12481 "GalleryConnector.c" +} + + +void publishing_gallery3_session_deauthenticate (PublishingGallery3Session* self) { +#line 1957 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self)); +#line 1958 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_set_url (self, NULL); +#line 1959 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_set_username (self, NULL); +#line 1960 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_set_key (self, NULL); +#line 12494 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_session_get_url (PublishingGallery3Session* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self), NULL); +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_url; +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12509 "GalleryConnector.c" +} + + +static void publishing_gallery3_session_set_url (PublishingGallery3Session* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self)); +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_url); +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_url = _tmp1_; +#line 12526 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_session_get_username (PublishingGallery3Session* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self), NULL); +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_username; +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12541 "GalleryConnector.c" +} + + +static void publishing_gallery3_session_set_username (PublishingGallery3Session* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self)); +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_username); +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_username = _tmp1_; +#line 12558 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_session_get_key (PublishingGallery3Session* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self), NULL); +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_key; +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12573 "GalleryConnector.c" +} + + +static void publishing_gallery3_session_set_key (PublishingGallery3Session* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_if_fail (PUBLISHING_GALLERY3_IS_SESSION (self)); +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = value; +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_key); +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_key = _tmp1_; +#line 12590 "GalleryConnector.c" +} + + +static void publishing_gallery3_session_class_init (PublishingGallery3SessionClass * klass) { +#line 1935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_session_parent_class = g_type_class_peek_parent (klass); +#line 1935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_gallery3_session_finalize; +#line 1935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3SessionPrivate)); +#line 1935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_gallery3_session_real_is_authenticated; +#line 12603 "GalleryConnector.c" +} + + +static void publishing_gallery3_session_instance_init (PublishingGallery3Session * self) { +#line 1935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_SESSION_GET_PRIVATE (self); +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_url = NULL; +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_username = NULL; +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_key = NULL; +#line 12616 "GalleryConnector.c" +} + + +static void publishing_gallery3_session_finalize (PublishingRESTSupportSession* obj) { + PublishingGallery3Session * self; +#line 1935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3Session); +#line 1938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_url); +#line 1939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_username); +#line 1940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_key); +#line 1935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_SESSION_CLASS (publishing_gallery3_session_parent_class)->finalize (obj); +#line 12632 "GalleryConnector.c" +} + + +GType publishing_gallery3_session_get_type (void) { + static volatile gsize publishing_gallery3_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_session_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3SessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3Session), 0, (GInstanceInitFunc) publishing_gallery3_session_instance_init, NULL }; + GType publishing_gallery3_session_type_id; + publishing_gallery3_session_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_SESSION, "PublishingGallery3Session", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_session_type_id__volatile, publishing_gallery3_session_type_id); + } + return publishing_gallery3_session_type_id__volatile; +} + + +PublishingGallery3Uploader* publishing_gallery3_uploader_construct (GType object_type, PublishingGallery3Session* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingGallery3PublishingParameters* parameters) { + PublishingGallery3Uploader* self = NULL; + PublishingGallery3Session* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingGallery3PublishingParameters* _tmp2_ = NULL; + PublishingGallery3PublishingParameters* _tmp3_ = NULL; +#line 1990 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_SESSION (session), NULL); +#line 1990 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 1994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = session; +#line 1994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishables; +#line 1994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1__length1 = publishables_length1; +#line 1994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = (PublishingGallery3Uploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 1996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = parameters; +#line 1996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = _publishing_gallery3_publishing_parameters_ref0 (_tmp2_); +#line 1996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (self->priv->parameters); +#line 1996 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->parameters = _tmp3_; +#line 1990 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self; +#line 12677 "GalleryConnector.c" +} + + +PublishingGallery3Uploader* publishing_gallery3_uploader_new (PublishingGallery3Session* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingGallery3PublishingParameters* parameters) { +#line 1990 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return publishing_gallery3_uploader_construct (PUBLISHING_GALLERY3_TYPE_UPLOADER, session, publishables, publishables_length1, parameters); +#line 12684 "GalleryConnector.c" +} + + +static gpointer _publishing_rest_support_transaction_ref0 (gpointer self) { +#line 2011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return self ? publishing_rest_support_transaction_ref (self) : NULL; +#line 12691 "GalleryConnector.c" +} + + +static PublishingRESTSupportTransaction* publishing_gallery3_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingGallery3Uploader * self; + PublishingRESTSupportTransaction* result = NULL; + SpitPublishingPublishable* p = NULL; + SpitPublishingPublishable* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + SpitPublishingPublisherMediaType _tmp2_ = 0; + PublishingRESTSupportSession* _tmp3_ = NULL; + PublishingGallery3Session* _tmp4_ = NULL; + PublishingGallery3PublishingParameters* _tmp5_ = NULL; + PublishingGallery3GalleryUploadTransaction* _tmp6_ = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + PublishingRESTSupportTransaction* _tmp8_ = NULL; +#line 2000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GALLERY3_TYPE_UPLOADER, PublishingGallery3Uploader); +#line 2000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 2003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_current_publishable (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 2003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + p = _tmp0_; +#line 2004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = spit_publishing_publishable_get_param_string (p, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 2004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_current_publishable_name); +#line 2004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_current_publishable_name = _tmp1_; +#line 2006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = spit_publishing_publishable_get_media_type (p); +#line 2006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_current_media_type = _tmp2_; +#line 2008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 2008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, PUBLISHING_GALLERY3_TYPE_SESSION, PublishingGallery3Session); +#line 2008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = self->priv->parameters; +#line 2008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = publishing_gallery3_gallery_upload_transaction_new (_tmp4_, _tmp5_, p); +#line 2008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (self->priv->_current_transaction); +#line 2008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv->_current_transaction = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 2008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_session_unref0 (_tmp4_); +#line 2011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = self->priv->_current_transaction; +#line 2011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp8_ = _publishing_rest_support_transaction_ref0 (_tmp7_); +#line 2011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp8_; +#line 2011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_object_unref0 (p); +#line 2011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12750 "GalleryConnector.c" +} + + +const gchar* publishing_gallery3_uploader_get_current_publishable_name (PublishingGallery3Uploader* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 1974 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_UPLOADER (self), NULL); +#line 1975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_current_publishable_name; +#line 1975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12765 "GalleryConnector.c" +} + + +guint publishing_gallery3_uploader_get_status_code (PublishingGallery3Uploader* self) { + guint result; + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 1979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_UPLOADER (self), 0U); +#line 1980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_current_transaction; +#line 1980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = publishing_rest_support_transaction_get_status_code (_tmp0_); +#line 1980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp1_; +#line 1980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12783 "GalleryConnector.c" +} + + +SpitPublishingPublisherMediaType publishing_gallery3_uploader_get_current_publishable_type (PublishingGallery3Uploader* self) { + SpitPublishingPublisherMediaType result; + SpitPublishingPublisherMediaType _tmp0_ = 0; +#line 1985 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (PUBLISHING_GALLERY3_IS_UPLOADER (self), 0); +#line 1986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = self->priv->_current_media_type; +#line 1986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp0_; +#line 1986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12798 "GalleryConnector.c" +} + + +static void publishing_gallery3_uploader_class_init (PublishingGallery3UploaderClass * klass) { +#line 1965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + publishing_gallery3_uploader_parent_class = g_type_class_peek_parent (klass); +#line 1965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_gallery3_uploader_finalize; +#line 1965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_type_class_add_private (klass, sizeof (PublishingGallery3UploaderPrivate)); +#line 1965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_gallery3_uploader_real_create_transaction; +#line 12811 "GalleryConnector.c" +} + + +static void publishing_gallery3_uploader_instance_init (PublishingGallery3Uploader * self) { +#line 1965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self->priv = PUBLISHING_GALLERY3_UPLOADER_GET_PRIVATE (self); +#line 12818 "GalleryConnector.c" +} + + +static void publishing_gallery3_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingGallery3Uploader * self; +#line 1965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GALLERY3_TYPE_UPLOADER, PublishingGallery3Uploader); +#line 1967 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_gallery3_publishing_parameters_unref0 (self->priv->parameters); +#line 1968 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _g_free0 (self->priv->_current_publishable_name); +#line 1970 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _publishing_rest_support_transaction_unref0 (self->priv->_current_transaction); +#line 1965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_gallery3_uploader_parent_class)->finalize (obj); +#line 12834 "GalleryConnector.c" +} + + +GType publishing_gallery3_uploader_get_type (void) { + static volatile gsize publishing_gallery3_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_gallery3_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGallery3UploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_gallery3_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGallery3Uploader), 0, (GInstanceInitFunc) publishing_gallery3_uploader_instance_init, NULL }; + GType publishing_gallery3_uploader_type_id; + publishing_gallery3_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingGallery3Uploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_gallery3_uploader_type_id__volatile, publishing_gallery3_uploader_type_id); + } + return publishing_gallery3_uploader_type_id__volatile; +} + + +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 12873 "GalleryConnector.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 12881 "GalleryConnector.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 12887 "GalleryConnector.c" + } +} + + +gchar* publishing_gallery3_strip_session_url (const gchar* url) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint item_loc = 0; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gchar* _tmp7_ = NULL; +#line 2017 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 2020 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp0_ = url; +#line 2020 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_debug ("GalleryConnector.vala:2020: Searching for \"%s\" in \"%s\"", PUBLISHING_GALLERY3_REST_PATH, _tmp0_); +#line 2022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp1_ = url; +#line 2022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp2_ = string_last_index_of (_tmp1_, PUBLISHING_GALLERY3_REST_PATH, 0); +#line 2022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + item_loc = _tmp2_; +#line 2025 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + if (-1 == item_loc) { +#line 12916 "GalleryConnector.c" + const gchar* _tmp3_ = NULL; +#line 2026 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp3_ = url; +#line 2026 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + g_error ("Did not find \"%s\" in the base of the new item " "URL \"%s\"", PUBLISHING_GALLERY3_REST_PATH, _tmp3_); +#line 12922 "GalleryConnector.c" + } +#line 2029 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp4_ = url; +#line 2029 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp5_ = strlen (PUBLISHING_GALLERY3_REST_PATH); +#line 2029 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp6_ = _tmp5_; +#line 2029 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + _tmp7_ = string_substring (_tmp4_, (glong) (item_loc + _tmp6_), (glong) -1); +#line 2029 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + result = _tmp7_; +#line 2029 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/GalleryConnector.vala" + return result; +#line 12936 "GalleryConnector.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/plugins/shotwell-publishing-extras/GalleryConnector.vala b/plugins/shotwell-publishing-extras/GalleryConnector.vala index 6eb5a3a..ee7bd19 100644 --- a/plugins/shotwell-publishing-extras/GalleryConnector.vala +++ b/plugins/shotwell-publishing-extras/GalleryConnector.vala @@ -5,9 +5,9 @@ */ -static const string G3_VERSION = "0.1"; +const string G3_VERSION = "0.1"; -static const string G3_LICENSE = """ +const string G3_LICENSE = """ The Gallery3Publishing module is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 @@ -24,7 +24,7 @@ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA """; -static const string WEBSITE_URL = +const string WEBSITE_URL = "https://github.com/sappjw/shotwell-gallery3"; // This module's Spit.Module @@ -63,8 +63,8 @@ public class Gallery3Service : Object, Spit.Pluggable, public Gallery3Service(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set( - resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = Resources.load_from_resource + (Resources.RESOURCE_PATH + "/" + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, @@ -1011,9 +1011,8 @@ public class GalleryPublisher : Spit.Publishing.Publisher, GLib.Object { Gtk.Builder builder = new Gtk.Builder(); try { - builder.add_from_file( - host.get_module_file().get_parent().get_child( - "gallery3_publishing_options_pane.glade").get_path()); + builder.add_from_resource(Resources.RESOURCE_PATH + + "/gallery3_publishing_options_pane.ui"); } catch (Error e) { warning("Could not parse UI file! Error: %s.", e.message); @@ -1764,9 +1763,8 @@ internal class CredentialsPane : Spit.Publishing.DialogPane, GLib.Object { Gtk.Builder builder = new Gtk.Builder(); try { - builder.add_from_file( - host.get_module_file().get_parent().get_child( - "gallery3_authentication_pane.glade").get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + + "/gallery3_authentication_pane.ui"); } catch (Error e) { warning("Could not parse UI file! Error: %s.", e.message); diff --git a/plugins/shotwell-publishing-extras/Makefile b/plugins/shotwell-publishing-extras/Makefile deleted file mode 100644 index 83a42c2..0000000 --- a/plugins/shotwell-publishing-extras/Makefile +++ /dev/null @@ -1,34 +0,0 @@ - -PLUGIN := shotwell-publishing-extras - -PLUGIN_PKGS := \ - gtk+-3.0 \ - libsoup-2.4 \ - libxml-2.0 \ - webkit2gtk-4.0 \ - gee-0.8 \ - rest-0.7 \ - json-glib-1.0 - -SRC_FILES := \ - GalleryConnector.vala \ - shotwell-publishing-extras.vala \ - YandexPublishing.vala \ - TumblrPublishing.vala \ - RajcePublishing.vala \ - -# RC_FILES must also be added to ../plugins.mk to ensure they're installed properly -RC_FILES := \ - gallery3.png \ - gallery3_authentication_pane.glade \ - gallery3_publishing_options_pane.glade \ - yandex_publish_model.glade \ - tumblr.png \ - tumblr_authentication_pane.glade \ - tumblr_publishing_options_pane.glade \ - rajce.png \ - rajce_authentication_pane.glade \ - rajce_publishing_options_pane.glade - -include ../Makefile.plugin.mk - diff --git a/plugins/shotwell-publishing-extras/RajcePublishing.c b/plugins/shotwell-publishing-extras/RajcePublishing.c new file mode 100644 index 0000000..3653b1b --- /dev/null +++ b/plugins/shotwell-publishing-extras/RajcePublishing.c @@ -0,0 +1,11473 @@ +/* RajcePublishing.c generated by valac 0.32.1, the Vala compiler + * generated from RajcePublishing.vala, do not modify */ + +/* Copyright 2014 rajce.net + * + * 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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_RAJCE_SERVICE (rajce_service_get_type ()) +#define RAJCE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAJCE_SERVICE, RajceService)) +#define RAJCE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAJCE_SERVICE, RajceServiceClass)) +#define IS_RAJCE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAJCE_SERVICE)) +#define IS_RAJCE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAJCE_SERVICE)) +#define RAJCE_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAJCE_SERVICE, RajceServiceClass)) + +typedef struct _RajceService RajceService; +typedef struct _RajceServiceClass RajceServiceClass; +typedef struct _RajceServicePrivate RajceServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER (publishing_rajce_rajce_publisher_get_type ()) +#define PUBLISHING_RAJCE_RAJCE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisher)) +#define PUBLISHING_RAJCE_RAJCE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisherClass)) +#define PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER)) +#define PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER)) +#define PUBLISHING_RAJCE_RAJCE_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisherClass)) + +typedef struct _PublishingRajceRajcePublisher PublishingRajceRajcePublisher; +typedef struct _PublishingRajceRajcePublisherClass PublishingRajceRajcePublisherClass; +typedef struct _PublishingRajceRajcePublisherPrivate PublishingRajceRajcePublisherPrivate; + +#define PUBLISHING_RAJCE_TYPE_SESSION (publishing_rajce_session_get_type ()) +#define PUBLISHING_RAJCE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_SESSION, PublishingRajceSession)) +#define PUBLISHING_RAJCE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_SESSION, PublishingRajceSessionClass)) +#define PUBLISHING_RAJCE_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_SESSION)) +#define PUBLISHING_RAJCE_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_SESSION)) +#define PUBLISHING_RAJCE_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_SESSION, PublishingRajceSessionClass)) + +typedef struct _PublishingRajceSession PublishingRajceSession; +typedef struct _PublishingRajceSessionClass PublishingRajceSessionClass; + +#define PUBLISHING_RAJCE_TYPE_ALBUM (publishing_rajce_album_get_type ()) +#define PUBLISHING_RAJCE_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_ALBUM, PublishingRajceAlbum)) +#define PUBLISHING_RAJCE_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_ALBUM, PublishingRajceAlbumClass)) +#define PUBLISHING_RAJCE_IS_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_ALBUM)) +#define PUBLISHING_RAJCE_IS_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_ALBUM)) +#define PUBLISHING_RAJCE_ALBUM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_ALBUM, PublishingRajceAlbumClass)) + +typedef struct _PublishingRajceAlbum PublishingRajceAlbum; +typedef struct _PublishingRajceAlbumClass PublishingRajceAlbumClass; + +#define PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS (publishing_rajce_publishing_parameters_get_type ()) +#define PUBLISHING_RAJCE_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS, PublishingRajcePublishingParameters)) +#define PUBLISHING_RAJCE_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS, PublishingRajcePublishingParametersClass)) +#define PUBLISHING_RAJCE_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_RAJCE_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_RAJCE_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS, PublishingRajcePublishingParametersClass)) + +typedef struct _PublishingRajcePublishingParameters PublishingRajcePublishingParameters; +typedef struct _PublishingRajcePublishingParametersClass PublishingRajcePublishingParametersClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) +#define _publishing_rajce_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rajce_publishing_parameters_unref (var), NULL))) + +#define PUBLISHING_RAJCE_AUTHENTICATION_PANE_TYPE_MODE (publishing_rajce_authentication_pane_mode_get_type ()) + +#define PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE (publishing_rajce_authentication_pane_get_type ()) +#define PUBLISHING_RAJCE_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPane)) +#define PUBLISHING_RAJCE_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPaneClass)) +#define PUBLISHING_RAJCE_IS_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE)) +#define PUBLISHING_RAJCE_IS_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE)) +#define PUBLISHING_RAJCE_AUTHENTICATION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPaneClass)) + +typedef struct _PublishingRajceAuthenticationPane PublishingRajceAuthenticationPane; +typedef struct _PublishingRajceAuthenticationPaneClass PublishingRajceAuthenticationPaneClass; + +#define PUBLISHING_RAJCE_TYPE_TRANSACTION (publishing_rajce_transaction_get_type ()) +#define PUBLISHING_RAJCE_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_TRANSACTION, PublishingRajceTransaction)) +#define PUBLISHING_RAJCE_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_TRANSACTION, PublishingRajceTransactionClass)) +#define PUBLISHING_RAJCE_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_TRANSACTION)) +#define PUBLISHING_RAJCE_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_TRANSACTION, PublishingRajceTransactionClass)) + +typedef struct _PublishingRajceTransaction PublishingRajceTransaction; +typedef struct _PublishingRajceTransactionClass PublishingRajceTransactionClass; + +#define PUBLISHING_RAJCE_TYPE_SESSION_LOGIN_TRANSACTION (publishing_rajce_session_login_transaction_get_type ()) +#define PUBLISHING_RAJCE_SESSION_LOGIN_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_SESSION_LOGIN_TRANSACTION, PublishingRajceSessionLoginTransaction)) +#define PUBLISHING_RAJCE_SESSION_LOGIN_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_SESSION_LOGIN_TRANSACTION, PublishingRajceSessionLoginTransactionClass)) +#define PUBLISHING_RAJCE_IS_SESSION_LOGIN_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_SESSION_LOGIN_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_SESSION_LOGIN_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_SESSION_LOGIN_TRANSACTION)) +#define PUBLISHING_RAJCE_SESSION_LOGIN_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_SESSION_LOGIN_TRANSACTION, PublishingRajceSessionLoginTransactionClass)) + +typedef struct _PublishingRajceSessionLoginTransaction PublishingRajceSessionLoginTransaction; +typedef struct _PublishingRajceSessionLoginTransactionClass PublishingRajceSessionLoginTransactionClass; +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _publishing_rest_support_xml_document_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_xml_document_unref (var), NULL))) + +#define PUBLISHING_RAJCE_TYPE_GET_ALBUMS_TRANSACTION (publishing_rajce_get_albums_transaction_get_type ()) +#define PUBLISHING_RAJCE_GET_ALBUMS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_GET_ALBUMS_TRANSACTION, PublishingRajceGetAlbumsTransaction)) +#define PUBLISHING_RAJCE_GET_ALBUMS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_GET_ALBUMS_TRANSACTION, PublishingRajceGetAlbumsTransactionClass)) +#define PUBLISHING_RAJCE_IS_GET_ALBUMS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_GET_ALBUMS_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_GET_ALBUMS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_GET_ALBUMS_TRANSACTION)) +#define PUBLISHING_RAJCE_GET_ALBUMS_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_GET_ALBUMS_TRANSACTION, PublishingRajceGetAlbumsTransactionClass)) + +typedef struct _PublishingRajceGetAlbumsTransaction PublishingRajceGetAlbumsTransaction; +typedef struct _PublishingRajceGetAlbumsTransactionClass PublishingRajceGetAlbumsTransactionClass; +#define _publishing_rajce_album_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rajce_album_unref (var), NULL))) + +#define PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE (publishing_rajce_publishing_options_pane_get_type ()) +#define PUBLISHING_RAJCE_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPane)) +#define PUBLISHING_RAJCE_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPaneClass)) +#define PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_RAJCE_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPaneClass)) + +typedef struct _PublishingRajcePublishingOptionsPane PublishingRajcePublishingOptionsPane; +typedef struct _PublishingRajcePublishingOptionsPaneClass PublishingRajcePublishingOptionsPaneClass; +typedef struct _PublishingRajcePublishingParametersPrivate PublishingRajcePublishingParametersPrivate; + +#define PUBLISHING_RAJCE_TYPE_CREATE_ALBUM_TRANSACTION (publishing_rajce_create_album_transaction_get_type ()) +#define PUBLISHING_RAJCE_CREATE_ALBUM_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_CREATE_ALBUM_TRANSACTION, PublishingRajceCreateAlbumTransaction)) +#define PUBLISHING_RAJCE_CREATE_ALBUM_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_CREATE_ALBUM_TRANSACTION, PublishingRajceCreateAlbumTransactionClass)) +#define PUBLISHING_RAJCE_IS_CREATE_ALBUM_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_CREATE_ALBUM_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_CREATE_ALBUM_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_CREATE_ALBUM_TRANSACTION)) +#define PUBLISHING_RAJCE_CREATE_ALBUM_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_CREATE_ALBUM_TRANSACTION, PublishingRajceCreateAlbumTransactionClass)) + +typedef struct _PublishingRajceCreateAlbumTransaction PublishingRajceCreateAlbumTransaction; +typedef struct _PublishingRajceCreateAlbumTransactionClass PublishingRajceCreateAlbumTransactionClass; + +#define PUBLISHING_RAJCE_TYPE_OPEN_ALBUM_TRANSACTION (publishing_rajce_open_album_transaction_get_type ()) +#define PUBLISHING_RAJCE_OPEN_ALBUM_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_OPEN_ALBUM_TRANSACTION, PublishingRajceOpenAlbumTransaction)) +#define PUBLISHING_RAJCE_OPEN_ALBUM_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_OPEN_ALBUM_TRANSACTION, PublishingRajceOpenAlbumTransactionClass)) +#define PUBLISHING_RAJCE_IS_OPEN_ALBUM_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_OPEN_ALBUM_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_OPEN_ALBUM_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_OPEN_ALBUM_TRANSACTION)) +#define PUBLISHING_RAJCE_OPEN_ALBUM_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_OPEN_ALBUM_TRANSACTION, PublishingRajceOpenAlbumTransactionClass)) + +typedef struct _PublishingRajceOpenAlbumTransaction PublishingRajceOpenAlbumTransaction; +typedef struct _PublishingRajceOpenAlbumTransactionClass PublishingRajceOpenAlbumTransactionClass; + +#define PUBLISHING_RAJCE_TYPE_UPLOADER (publishing_rajce_uploader_get_type ()) +#define PUBLISHING_RAJCE_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_UPLOADER, PublishingRajceUploader)) +#define PUBLISHING_RAJCE_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_UPLOADER, PublishingRajceUploaderClass)) +#define PUBLISHING_RAJCE_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_UPLOADER)) +#define PUBLISHING_RAJCE_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_UPLOADER)) +#define PUBLISHING_RAJCE_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_UPLOADER, PublishingRajceUploaderClass)) + +typedef struct _PublishingRajceUploader PublishingRajceUploader; +typedef struct _PublishingRajceUploaderClass PublishingRajceUploaderClass; +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_unref (var), NULL))) + +#define PUBLISHING_RAJCE_TYPE_GET_ALBUM_URL_TRANSACTION (publishing_rajce_get_album_url_transaction_get_type ()) +#define PUBLISHING_RAJCE_GET_ALBUM_URL_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_GET_ALBUM_URL_TRANSACTION, PublishingRajceGetAlbumUrlTransaction)) +#define PUBLISHING_RAJCE_GET_ALBUM_URL_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_GET_ALBUM_URL_TRANSACTION, PublishingRajceGetAlbumUrlTransactionClass)) +#define PUBLISHING_RAJCE_IS_GET_ALBUM_URL_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_GET_ALBUM_URL_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_GET_ALBUM_URL_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_GET_ALBUM_URL_TRANSACTION)) +#define PUBLISHING_RAJCE_GET_ALBUM_URL_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_GET_ALBUM_URL_TRANSACTION, PublishingRajceGetAlbumUrlTransactionClass)) + +typedef struct _PublishingRajceGetAlbumUrlTransaction PublishingRajceGetAlbumUrlTransaction; +typedef struct _PublishingRajceGetAlbumUrlTransactionClass PublishingRajceGetAlbumUrlTransactionClass; + +#define PUBLISHING_RAJCE_TYPE_CLOSE_ALBUM_TRANSACTION (publishing_rajce_close_album_transaction_get_type ()) +#define PUBLISHING_RAJCE_CLOSE_ALBUM_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_CLOSE_ALBUM_TRANSACTION, PublishingRajceCloseAlbumTransaction)) +#define PUBLISHING_RAJCE_CLOSE_ALBUM_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_CLOSE_ALBUM_TRANSACTION, PublishingRajceCloseAlbumTransactionClass)) +#define PUBLISHING_RAJCE_IS_CLOSE_ALBUM_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_CLOSE_ALBUM_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_CLOSE_ALBUM_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_CLOSE_ALBUM_TRANSACTION)) +#define PUBLISHING_RAJCE_CLOSE_ALBUM_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_CLOSE_ALBUM_TRANSACTION, PublishingRajceCloseAlbumTransactionClass)) + +typedef struct _PublishingRajceCloseAlbumTransaction PublishingRajceCloseAlbumTransaction; +typedef struct _PublishingRajceCloseAlbumTransactionClass PublishingRajceCloseAlbumTransactionClass; +typedef struct _PublishingRajceAlbumPrivate PublishingRajceAlbumPrivate; +typedef struct _PublishingRajceParamSpecAlbum PublishingRajceParamSpecAlbum; +typedef struct _PublishingRajceUploaderPrivate PublishingRajceUploaderPrivate; + +#define PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION (publishing_rajce_add_photo_transaction_get_type ()) +#define PUBLISHING_RAJCE_ADD_PHOTO_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION, PublishingRajceAddPhotoTransaction)) +#define PUBLISHING_RAJCE_ADD_PHOTO_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION, PublishingRajceAddPhotoTransactionClass)) +#define PUBLISHING_RAJCE_IS_ADD_PHOTO_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_ADD_PHOTO_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION)) +#define PUBLISHING_RAJCE_ADD_PHOTO_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION, PublishingRajceAddPhotoTransactionClass)) + +typedef struct _PublishingRajceAddPhotoTransaction PublishingRajceAddPhotoTransaction; +typedef struct _PublishingRajceAddPhotoTransactionClass PublishingRajceAddPhotoTransactionClass; +typedef struct _PublishingRajceAuthenticationPanePrivate PublishingRajceAuthenticationPanePrivate; +typedef struct _PublishingRajcePublishingOptionsPanePrivate PublishingRajcePublishingOptionsPanePrivate; +typedef struct _PublishingRajceParamSpecPublishingParameters PublishingRajceParamSpecPublishingParameters; +typedef struct _PublishingRajceSessionPrivate PublishingRajceSessionPrivate; + +#define PUBLISHING_RAJCE_TYPE_ARG_ITEM (publishing_rajce_arg_item_get_type ()) +#define PUBLISHING_RAJCE_ARG_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_ARG_ITEM, PublishingRajceArgItem)) +#define PUBLISHING_RAJCE_ARG_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_ARG_ITEM, PublishingRajceArgItemClass)) +#define PUBLISHING_RAJCE_IS_ARG_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_ARG_ITEM)) +#define PUBLISHING_RAJCE_IS_ARG_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_ARG_ITEM)) +#define PUBLISHING_RAJCE_ARG_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_ARG_ITEM, PublishingRajceArgItemClass)) + +typedef struct _PublishingRajceArgItem PublishingRajceArgItem; +typedef struct _PublishingRajceArgItemClass PublishingRajceArgItemClass; +typedef struct _PublishingRajceArgItemPrivate PublishingRajceArgItemPrivate; +#define _publishing_rajce_arg_item_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rajce_arg_item_unref (var), NULL))) +typedef struct _PublishingRajceParamSpecArgItem PublishingRajceParamSpecArgItem; + +#define PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST (publishing_rajce_live_api_request_get_type ()) +#define PUBLISHING_RAJCE_LIVE_API_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST, PublishingRajceLiveApiRequest)) +#define PUBLISHING_RAJCE_LIVE_API_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST, PublishingRajceLiveApiRequestClass)) +#define PUBLISHING_RAJCE_IS_LIVE_API_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST)) +#define PUBLISHING_RAJCE_IS_LIVE_API_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST)) +#define PUBLISHING_RAJCE_LIVE_API_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST, PublishingRajceLiveApiRequestClass)) + +typedef struct _PublishingRajceLiveApiRequest PublishingRajceLiveApiRequest; +typedef struct _PublishingRajceLiveApiRequestClass PublishingRajceLiveApiRequestClass; +typedef struct _PublishingRajceLiveApiRequestPrivate PublishingRajceLiveApiRequestPrivate; +typedef struct _PublishingRajceParamSpecLiveApiRequest PublishingRajceParamSpecLiveApiRequest; +typedef struct _PublishingRajceTransactionPrivate PublishingRajceTransactionPrivate; +typedef struct _PublishingRajceSessionLoginTransactionPrivate PublishingRajceSessionLoginTransactionPrivate; +#define _publishing_rajce_live_api_request_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rajce_live_api_request_unref (var), NULL))) +typedef struct _PublishingRajceGetAlbumsTransactionPrivate PublishingRajceGetAlbumsTransactionPrivate; +typedef struct _PublishingRajceCreateAlbumTransactionPrivate PublishingRajceCreateAlbumTransactionPrivate; +typedef struct _PublishingRajceOpenAlbumTransactionPrivate PublishingRajceOpenAlbumTransactionPrivate; +typedef struct _PublishingRajceGetAlbumUrlTransactionPrivate PublishingRajceGetAlbumUrlTransactionPrivate; +typedef struct _PublishingRajceCloseAlbumTransactionPrivate PublishingRajceCloseAlbumTransactionPrivate; + +#define PUBLISHING_RAJCE_TYPE_GET_CATEGORIES_TRANSACTION (publishing_rajce_get_categories_transaction_get_type ()) +#define PUBLISHING_RAJCE_GET_CATEGORIES_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_RAJCE_TYPE_GET_CATEGORIES_TRANSACTION, PublishingRajceGetCategoriesTransaction)) +#define PUBLISHING_RAJCE_GET_CATEGORIES_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_RAJCE_TYPE_GET_CATEGORIES_TRANSACTION, PublishingRajceGetCategoriesTransactionClass)) +#define PUBLISHING_RAJCE_IS_GET_CATEGORIES_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_RAJCE_TYPE_GET_CATEGORIES_TRANSACTION)) +#define PUBLISHING_RAJCE_IS_GET_CATEGORIES_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_RAJCE_TYPE_GET_CATEGORIES_TRANSACTION)) +#define PUBLISHING_RAJCE_GET_CATEGORIES_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_RAJCE_TYPE_GET_CATEGORIES_TRANSACTION, PublishingRajceGetCategoriesTransactionClass)) + +typedef struct _PublishingRajceGetCategoriesTransaction PublishingRajceGetCategoriesTransaction; +typedef struct _PublishingRajceGetCategoriesTransactionClass PublishingRajceGetCategoriesTransactionClass; +typedef struct _PublishingRajceGetCategoriesTransactionPrivate PublishingRajceGetCategoriesTransactionPrivate; +typedef struct _PublishingRajceAddPhotoTransactionPrivate PublishingRajceAddPhotoTransactionPrivate; +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_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 _RajceService { + GObject parent_instance; + RajceServicePrivate * priv; +}; + +struct _RajceServiceClass { + GObjectClass parent_class; +}; + +struct _PublishingRajceRajcePublisher { + GObject parent_instance; + PublishingRajceRajcePublisherPrivate * priv; +}; + +struct _PublishingRajceRajcePublisherClass { + GObjectClass parent_class; +}; + +struct _PublishingRajceRajcePublisherPrivate { + SpitPublishingPluginHost* host; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; + SpitPublishingService* service; + gboolean running; + PublishingRajceSession* session; + PublishingRajceAlbum** albums; + gint albums_length1; + gint _albums_size_; + PublishingRajcePublishingParameters* parameters; + SpitPublishingPublisherMediaType media_type; +}; + +typedef enum { + PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_INTRO, + PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER +} PublishingRajceAuthenticationPaneMode; + +struct _PublishingRajcePublishingParameters { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRajcePublishingParametersPrivate * priv; + gchar* album_name; + gboolean* album_hidden; + gint* album_id; +}; + +struct _PublishingRajcePublishingParametersClass { + GTypeClass parent_class; + void (*finalize) (PublishingRajcePublishingParameters *self); +}; + +struct _PublishingRajceAlbum { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRajceAlbumPrivate * priv; + gint id; + gchar* albumName; + gchar* url; + gchar* thumbUrl; + gchar* createDate; + gchar* updateDate; + gboolean hidden; + gboolean secure; + gint photoCount; +}; + +struct _PublishingRajceAlbumClass { + GTypeClass parent_class; + void (*finalize) (PublishingRajceAlbum *self); +}; + +struct _PublishingRajceParamSpecAlbum { + GParamSpec parent_instance; +}; + +struct _PublishingRajceUploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingRajceUploaderPrivate * priv; +}; + +struct _PublishingRajceUploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingRajceUploaderPrivate { + PublishingRajcePublishingParameters* parameters; + gchar* url; +}; + +struct _PublishingRajceAuthenticationPane { + GObject parent_instance; + PublishingRajceAuthenticationPanePrivate * priv; +}; + +struct _PublishingRajceAuthenticationPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingRajceAuthenticationPanePrivate { + GtkBox* pane_widget; + GtkBuilder* builder; + GtkEntry* username_entry; + GtkEntry* password_entry; + GtkCheckButton* remember_checkbutton; + GtkButton* login_button; + gboolean crypt; +}; + +struct _PublishingRajcePublishingOptionsPane { + GObject parent_instance; + PublishingRajcePublishingOptionsPanePrivate * priv; +}; + +struct _PublishingRajcePublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingRajcePublishingOptionsPanePrivate { + PublishingRajceRajcePublisher* publisher; + PublishingRajceAlbum** albums; + gint albums_length1; + gint _albums_size_; + gchar* username; + GtkBuilder* builder; + GtkBox* pane_widget; + GtkLabel* login_identity_label; + GtkLabel* publish_to_label; + GtkRadioButton* use_existing_radio; + GtkComboBoxText* existing_albums_combo; + GtkRadioButton* create_new_radio; + GtkEntry* new_album_entry; + GtkCheckButton* hide_check; + GtkCheckButton* show_check; + GtkButton* publish_button; + GtkButton* logout_button; +}; + +struct _PublishingRajceParamSpecPublishingParameters { + GParamSpec parent_instance; +}; + +struct _PublishingRajceSession { + PublishingRESTSupportSession parent_instance; + PublishingRajceSessionPrivate * priv; +}; + +struct _PublishingRajceSessionClass { + PublishingRESTSupportSessionClass parent_class; +}; + +struct _PublishingRajceSessionPrivate { + gchar* usertoken; + gchar* albumtoken; + gchar* albumticket; + gchar* username; + gint* userid; + gint* maxsize; + gint* quality; +}; + +struct _PublishingRajceArgItem { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRajceArgItemPrivate * priv; + gchar* key; + gchar* val; + PublishingRajceArgItem** children; + gint children_length1; + gint _children_size_; +}; + +struct _PublishingRajceArgItemClass { + GTypeClass parent_class; + void (*finalize) (PublishingRajceArgItem *self); +}; + +struct _PublishingRajceParamSpecArgItem { + GParamSpec parent_instance; +}; + +struct _PublishingRajceLiveApiRequest { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingRajceLiveApiRequestPrivate * priv; +}; + +struct _PublishingRajceLiveApiRequestClass { + GTypeClass parent_class; + void (*finalize) (PublishingRajceLiveApiRequest *self); +}; + +struct _PublishingRajceLiveApiRequestPrivate { + PublishingRajceArgItem** _params; + gint _params_length1; + gint __params_size_; + gchar* _cmd; +}; + +struct _PublishingRajceParamSpecLiveApiRequest { + GParamSpec parent_instance; +}; + +struct _PublishingRajceTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingRajceTransactionPrivate * priv; +}; + +struct _PublishingRajceTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingRajceSessionLoginTransaction { + PublishingRajceTransaction parent_instance; + PublishingRajceSessionLoginTransactionPrivate * priv; +}; + +struct _PublishingRajceSessionLoginTransactionClass { + PublishingRajceTransactionClass parent_class; +}; + +struct _PublishingRajceGetAlbumsTransaction { + PublishingRajceTransaction parent_instance; + PublishingRajceGetAlbumsTransactionPrivate * priv; +}; + +struct _PublishingRajceGetAlbumsTransactionClass { + PublishingRajceTransactionClass parent_class; +}; + +struct _PublishingRajceCreateAlbumTransaction { + PublishingRajceTransaction parent_instance; + PublishingRajceCreateAlbumTransactionPrivate * priv; +}; + +struct _PublishingRajceCreateAlbumTransactionClass { + PublishingRajceTransactionClass parent_class; +}; + +struct _PublishingRajceOpenAlbumTransaction { + PublishingRajceTransaction parent_instance; + PublishingRajceOpenAlbumTransactionPrivate * priv; +}; + +struct _PublishingRajceOpenAlbumTransactionClass { + PublishingRajceTransactionClass parent_class; +}; + +struct _PublishingRajceGetAlbumUrlTransaction { + PublishingRajceTransaction parent_instance; + PublishingRajceGetAlbumUrlTransactionPrivate * priv; +}; + +struct _PublishingRajceGetAlbumUrlTransactionClass { + PublishingRajceTransactionClass parent_class; +}; + +struct _PublishingRajceCloseAlbumTransaction { + PublishingRajceTransaction parent_instance; + PublishingRajceCloseAlbumTransactionPrivate * priv; +}; + +struct _PublishingRajceCloseAlbumTransactionClass { + PublishingRajceTransactionClass parent_class; +}; + +struct _PublishingRajceGetCategoriesTransaction { + PublishingRajceTransaction parent_instance; + PublishingRajceGetCategoriesTransactionPrivate * priv; +}; + +struct _PublishingRajceGetCategoriesTransactionClass { + PublishingRajceTransactionClass parent_class; +}; + +struct _PublishingRajceAddPhotoTransaction { + PublishingRESTSupportUploadTransaction parent_instance; + PublishingRajceAddPhotoTransactionPrivate * priv; +}; + +struct _PublishingRajceAddPhotoTransactionClass { + PublishingRESTSupportUploadTransactionClass parent_class; +}; + +struct _PublishingRajceAddPhotoTransactionPrivate { + PublishingRajcePublishingParameters* parameters; +}; + + +static gpointer rajce_service_parent_class = NULL; +static GdkPixbuf** rajce_service_icon_pixbuf_set; +static gint rajce_service_icon_pixbuf_set_length1; +static GdkPixbuf** rajce_service_icon_pixbuf_set = NULL; +static gint rajce_service_icon_pixbuf_set_length1 = 0; +static gint _rajce_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* rajce_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* rajce_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_rajce_rajce_publisher_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_rajce_rajce_publisher_spit_publishing_publisher_parent_iface = NULL; +static gpointer publishing_rajce_album_parent_class = NULL; +static gpointer publishing_rajce_uploader_parent_class = NULL; +static gpointer publishing_rajce_authentication_pane_parent_class = NULL; +static gchar* publishing_rajce_authentication_pane_INTRO_MESSAGE; +static gchar* publishing_rajce_authentication_pane_INTRO_MESSAGE = NULL; +static gchar* publishing_rajce_authentication_pane_FAILED_RETRY_USER_MESSAGE; +static gchar* publishing_rajce_authentication_pane_FAILED_RETRY_USER_MESSAGE = NULL; +static SpitPublishingDialogPaneIface* publishing_rajce_authentication_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_rajce_publishing_options_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_rajce_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_rajce_publishing_parameters_parent_class = NULL; +static gpointer publishing_rajce_session_parent_class = NULL; +static gpointer publishing_rajce_arg_item_parent_class = NULL; +static gpointer publishing_rajce_live_api_request_parent_class = NULL; +static gpointer publishing_rajce_transaction_parent_class = NULL; +static gpointer publishing_rajce_session_login_transaction_parent_class = NULL; +static gpointer publishing_rajce_get_albums_transaction_parent_class = NULL; +static gpointer publishing_rajce_create_album_transaction_parent_class = NULL; +static gpointer publishing_rajce_open_album_transaction_parent_class = NULL; +static gpointer publishing_rajce_get_album_url_transaction_parent_class = NULL; +static gpointer publishing_rajce_close_album_transaction_parent_class = NULL; +static gpointer publishing_rajce_get_categories_transaction_parent_class = NULL; +static gpointer publishing_rajce_add_photo_transaction_parent_class = NULL; + +GType rajce_service_get_type (void) G_GNUC_CONST; +enum { + RAJCE_SERVICE_DUMMY_PROPERTY +}; +#define RAJCE_SERVICE_ICON_FILENAME "rajce.png" +RajceService* rajce_service_new (GFile* resource_directory); +RajceService* rajce_service_construct (GType object_type, GFile* resource_directory); +static gint rajce_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* rajce_service_real_get_id (SpitPluggable* base); +static const gchar* rajce_service_real_get_pluggable_name (SpitPluggable* base); +static void rajce_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup4 (GdkPixbuf** self, int length); +static SpitPublishingPublisher* rajce_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingRajceRajcePublisher* publishing_rajce_rajce_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingRajceRajcePublisher* publishing_rajce_rajce_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_rajce_rajce_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType rajce_service_real_get_supported_media (SpitPublishingService* base); +static void rajce_service_real_activation (SpitPluggable* base, gboolean enabled); +static void rajce_service_finalize (GObject* obj); +GType publishing_rajce_session_get_type (void) G_GNUC_CONST; +gpointer publishing_rajce_album_ref (gpointer instance); +void publishing_rajce_album_unref (gpointer instance); +GParamSpec* publishing_rajce_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rajce_value_set_album (GValue* value, gpointer v_object); +void publishing_rajce_value_take_album (GValue* value, gpointer v_object); +gpointer publishing_rajce_value_get_album (const GValue* value); +GType publishing_rajce_album_get_type (void) G_GNUC_CONST; +gpointer publishing_rajce_publishing_parameters_ref (gpointer instance); +void publishing_rajce_publishing_parameters_unref (gpointer instance); +GParamSpec* publishing_rajce_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rajce_value_set_publishing_parameters (GValue* value, gpointer v_object); +void publishing_rajce_value_take_publishing_parameters (GValue* value, gpointer v_object); +gpointer publishing_rajce_value_get_publishing_parameters (const GValue* value); +GType publishing_rajce_publishing_parameters_get_type (void) G_GNUC_CONST; +#define PUBLISHING_RAJCE_RAJCE_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisherPrivate)) +enum { + PUBLISHING_RAJCE_RAJCE_PUBLISHER_DUMMY_PROPERTY +}; +PublishingRajceSession* publishing_rajce_session_new (void); +PublishingRajceSession* publishing_rajce_session_construct (GType object_type); +static gchar* publishing_rajce_rajce_publisher_get_rajce_url (PublishingRajceRajcePublisher* self); +static SpitPublishingService* publishing_rajce_rajce_publisher_real_get_service (SpitPublishingPublisher* base); +SpitPublishingPluginHost* publishing_rajce_rajce_publisher_get_host (PublishingRajceRajcePublisher* self); +static gboolean publishing_rajce_rajce_publisher_real_is_running (SpitPublishingPublisher* base); +static void publishing_rajce_rajce_publisher_real_start (SpitPublishingPublisher* base); +static void publishing_rajce_rajce_publisher_do_fetch_albums (PublishingRajceRajcePublisher* self); +gchar* publishing_rajce_rajce_publisher_get_username (PublishingRajceRajcePublisher* self); +gchar* publishing_rajce_rajce_publisher_get_token (PublishingRajceRajcePublisher* self); +gboolean publishing_rajce_rajce_publisher_get_remember (PublishingRajceRajcePublisher* self); +static gboolean* _bool_dup (gboolean* self); +static void publishing_rajce_rajce_publisher_do_network_login (PublishingRajceRajcePublisher* self, const gchar* username, const gchar* token, gboolean remember); +GType publishing_rajce_authentication_pane_mode_get_type (void) G_GNUC_CONST; +static void publishing_rajce_rajce_publisher_do_show_authentication_pane (PublishingRajceRajcePublisher* self, PublishingRajceAuthenticationPaneMode mode); +static void publishing_rajce_rajce_publisher_real_stop (SpitPublishingPublisher* base); +gchar* publishing_rajce_rajce_publisher_get_url (PublishingRajceRajcePublisher* self); +static void publishing_rajce_rajce_publisher_set_username (PublishingRajceRajcePublisher* self, const gchar* username); +static void publishing_rajce_rajce_publisher_set_token (PublishingRajceRajcePublisher* self, const gchar* token); +static void publishing_rajce_rajce_publisher_set_remember (PublishingRajceRajcePublisher* self, gboolean remember); +gboolean publishing_rajce_rajce_publisher_get_hide_album (PublishingRajceRajcePublisher* self); +void publishing_rajce_rajce_publisher_set_hide_album (PublishingRajceRajcePublisher* self, gboolean hide_album); +gboolean publishing_rajce_rajce_publisher_get_show_album (PublishingRajceRajcePublisher* self); +void publishing_rajce_rajce_publisher_set_show_album (PublishingRajceRajcePublisher* self, gboolean show_album); +GType publishing_rajce_authentication_pane_get_type (void) G_GNUC_CONST; +PublishingRajceAuthenticationPane* publishing_rajce_authentication_pane_new (PublishingRajceRajcePublisher* publisher, PublishingRajceAuthenticationPaneMode mode); +PublishingRajceAuthenticationPane* publishing_rajce_authentication_pane_construct (GType object_type, PublishingRajceRajcePublisher* publisher, PublishingRajceAuthenticationPaneMode mode); +static void publishing_rajce_rajce_publisher_on_authentication_pane_login_clicked (PublishingRajceRajcePublisher* self, const gchar* username, const gchar* token, gboolean remember); +static void _publishing_rajce_rajce_publisher_on_authentication_pane_login_clicked_publishing_rajce_authentication_pane_login (PublishingRajceAuthenticationPane* _sender, const gchar* user, const gchar* token, gboolean remember, gpointer self); +GtkWidget* publishing_rajce_authentication_pane_get_default_widget (PublishingRajceAuthenticationPane* self); +GType publishing_rajce_transaction_get_type (void) G_GNUC_CONST; +GType publishing_rajce_session_login_transaction_get_type (void) G_GNUC_CONST; +PublishingRajceSessionLoginTransaction* publishing_rajce_session_login_transaction_new (PublishingRajceSession* session, const gchar* url, const gchar* username, const gchar* token); +PublishingRajceSessionLoginTransaction* publishing_rajce_session_login_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, const gchar* username, const gchar* token); +static void publishing_rajce_rajce_publisher_on_login_network_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_rajce_rajce_publisher_on_login_network_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rajce_rajce_publisher_on_login_network_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rajce_rajce_publisher_on_login_network_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_rajce_rajce_publisher_do_show_error (PublishingRajceRajcePublisher* self, GError* e); +gchar* publishing_rajce_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc); +static gchar* _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self); +void publishing_rajce_session_authenticate (PublishingRajceSession* self, const gchar* token, const gchar* name, gint id, gint maxsize, gint quality); +GType publishing_rajce_get_albums_transaction_get_type (void) G_GNUC_CONST; +PublishingRajceGetAlbumsTransaction* publishing_rajce_get_albums_transaction_new (PublishingRajceSession* session, const gchar* url); +PublishingRajceGetAlbumsTransaction* publishing_rajce_get_albums_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url); +static void publishing_rajce_rajce_publisher_on_albums_fetch_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_rajce_rajce_publisher_on_albums_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rajce_rajce_publisher_on_albums_fetch_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rajce_rajce_publisher_on_albums_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +PublishingRajceAlbum* publishing_rajce_album_new (gint id, const gchar* albumName, const gchar* url, const gchar* thumbUrl, const gchar* createDate, const gchar* updateDate, gboolean hidden, gboolean secure, gint photoCount); +PublishingRajceAlbum* publishing_rajce_album_construct (GType object_type, gint id, const gchar* albumName, const gchar* url, const gchar* thumbUrl, const gchar* createDate, const gchar* updateDate, gboolean hidden, gboolean secure, gint photoCount); +gint publishing_rajce_album_compare_albums (PublishingRajceAlbum* a, PublishingRajceAlbum* b); +static gint _publishing_rajce_album_compare_albums_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +void publishing_rajce_session_set_usertoken (PublishingRajceSession* self, const gchar* usertoken); +static void publishing_rajce_rajce_publisher_do_show_publishing_options_pane (PublishingRajceRajcePublisher* self); +static void publishing_rajce_rajce_publisher_on_network_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +GType publishing_rajce_publishing_options_pane_get_type (void) G_GNUC_CONST; +gchar* publishing_rajce_session_get_username (PublishingRajceSession* self); +PublishingRajcePublishingOptionsPane* publishing_rajce_publishing_options_pane_new (PublishingRajceRajcePublisher* publisher, const gchar* username, PublishingRajceAlbum** albums, int albums_length1); +PublishingRajcePublishingOptionsPane* publishing_rajce_publishing_options_pane_construct (GType object_type, PublishingRajceRajcePublisher* publisher, const gchar* username, PublishingRajceAlbum** albums, int albums_length1); +static void publishing_rajce_rajce_publisher_on_publishing_options_pane_logout_clicked (PublishingRajceRajcePublisher* self); +static void _publishing_rajce_rajce_publisher_on_publishing_options_pane_logout_clicked_publishing_rajce_publishing_options_pane_logout (PublishingRajcePublishingOptionsPane* _sender, gpointer self); +static void publishing_rajce_rajce_publisher_on_publishing_options_pane_publish_clicked (PublishingRajceRajcePublisher* self, PublishingRajcePublishingParameters* parameters); +static void _publishing_rajce_rajce_publisher_on_publishing_options_pane_publish_clicked_publishing_rajce_publishing_options_pane_publish (PublishingRajcePublishingOptionsPane* _sender, PublishingRajcePublishingParameters* parameters, gpointer self); +GtkWidget* publishing_rajce_publishing_options_pane_get_default_widget (PublishingRajcePublishingOptionsPane* self); +void publishing_rajce_session_deauthenticate (PublishingRajceSession* self); +static void publishing_rajce_rajce_publisher_do_begin_upload (PublishingRajceRajcePublisher* self); +static gboolean _int_equal (const gint* s1, const gint* s2); +GType publishing_rajce_create_album_transaction_get_type (void) G_GNUC_CONST; +PublishingRajceCreateAlbumTransaction* publishing_rajce_create_album_transaction_new (PublishingRajceSession* session, const gchar* url, const gchar* albumName, gboolean hidden); +PublishingRajceCreateAlbumTransaction* publishing_rajce_create_album_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, const gchar* albumName, gboolean hidden); +static void publishing_rajce_rajce_publisher_on_create_album_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_rajce_rajce_publisher_on_create_album_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rajce_rajce_publisher_on_create_album_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rajce_rajce_publisher_on_create_album_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +GType publishing_rajce_open_album_transaction_get_type (void) G_GNUC_CONST; +PublishingRajceOpenAlbumTransaction* publishing_rajce_open_album_transaction_new (PublishingRajceSession* session, const gchar* url, gint albumID); +PublishingRajceOpenAlbumTransaction* publishing_rajce_open_album_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, gint albumID); +static void publishing_rajce_rajce_publisher_on_open_album_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_rajce_rajce_publisher_on_open_album_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rajce_rajce_publisher_on_open_album_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rajce_rajce_publisher_on_open_album_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static gint* _int_dup (gint* self); +void publishing_rajce_session_set_albumtoken (PublishingRajceSession* self, const gchar* albumtoken); +static void publishing_rajce_rajce_publisher_do_upload_photos (PublishingRajceRajcePublisher* self); +gint publishing_rajce_session_get_maxsize (PublishingRajceSession* self); +GType publishing_rajce_uploader_get_type (void) G_GNUC_CONST; +PublishingRajceUploader* publishing_rajce_uploader_new (PublishingRajceSession* session, const gchar* url, SpitPublishingPublishable** publishables, int publishables_length1, PublishingRajcePublishingParameters* parameters); +PublishingRajceUploader* publishing_rajce_uploader_construct (GType object_type, PublishingRajceSession* session, const gchar* url, SpitPublishingPublishable** publishables, int publishables_length1, PublishingRajcePublishingParameters* parameters); +static void publishing_rajce_rajce_publisher_on_upload_photos_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_rajce_rajce_publisher_on_upload_photos_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_rajce_rajce_publisher_on_upload_photos_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err); +static void _publishing_rajce_rajce_publisher_on_upload_photos_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_rajce_rajce_publisher_on_upload_photos_status_updated (PublishingRajceRajcePublisher* self, gint file_number, gdouble completed_fraction); +static void _publishing_rajce_rajce_publisher_on_upload_photos_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_rajce_rajce_publisher_do_end_upload (PublishingRajceRajcePublisher* self); +static void publishing_rajce_rajce_publisher_do_get_album_url (PublishingRajceRajcePublisher* self); +static void publishing_rajce_rajce_publisher_do_close_album (PublishingRajceRajcePublisher* self); +GType publishing_rajce_get_album_url_transaction_get_type (void) G_GNUC_CONST; +PublishingRajceGetAlbumUrlTransaction* publishing_rajce_get_album_url_transaction_new (PublishingRajceSession* session, const gchar* url); +PublishingRajceGetAlbumUrlTransaction* publishing_rajce_get_album_url_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url); +static void publishing_rajce_rajce_publisher_on_get_album_url_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_rajce_rajce_publisher_on_get_album_url_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rajce_rajce_publisher_on_get_album_url_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rajce_rajce_publisher_on_get_album_url_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +void publishing_rajce_session_set_albumticket (PublishingRajceSession* self, const gchar* albumticket); +GType publishing_rajce_close_album_transaction_get_type (void) G_GNUC_CONST; +PublishingRajceCloseAlbumTransaction* publishing_rajce_close_album_transaction_new (PublishingRajceSession* session, const gchar* url); +PublishingRajceCloseAlbumTransaction* publishing_rajce_close_album_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url); +static void publishing_rajce_rajce_publisher_on_close_album_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_rajce_rajce_publisher_on_close_album_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_rajce_rajce_publisher_on_close_album_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_rajce_rajce_publisher_on_close_album_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_rajce_rajce_publisher_do_show_success_pane (PublishingRajceRajcePublisher* self); +gchar* publishing_rajce_session_get_albumticket (PublishingRajceSession* self); +static void publishing_rajce_rajce_publisher_do_show_error_message (PublishingRajceRajcePublisher* self, const gchar* message); +static void publishing_rajce_rajce_publisher_finalize (GObject* obj); +enum { + PUBLISHING_RAJCE_ALBUM_DUMMY_PROPERTY +}; +static void publishing_rajce_album_finalize (PublishingRajceAlbum* obj); +#define PUBLISHING_RAJCE_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_RAJCE_TYPE_UPLOADER, PublishingRajceUploaderPrivate)) +enum { + PUBLISHING_RAJCE_UPLOADER_DUMMY_PROPERTY +}; +static PublishingRESTSupportTransaction* publishing_rajce_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +PublishingRajceAddPhotoTransaction* publishing_rajce_add_photo_transaction_new (PublishingRajceSession* session, const gchar* url, PublishingRajcePublishingParameters* parameters, SpitPublishingPublishable* publishable); +PublishingRajceAddPhotoTransaction* publishing_rajce_add_photo_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, PublishingRajcePublishingParameters* parameters, SpitPublishingPublishable* publishable); +GType publishing_rajce_add_photo_transaction_get_type (void) G_GNUC_CONST; +static void publishing_rajce_uploader_finalize (PublishingRESTSupportBatchUploader* obj); +#define PUBLISHING_RAJCE_AUTHENTICATION_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPanePrivate)) +enum { + PUBLISHING_RAJCE_AUTHENTICATION_PANE_DUMMY_PROPERTY +}; +static void publishing_rajce_authentication_pane_on_user_changed (PublishingRajceAuthenticationPane* self); +static void _publishing_rajce_authentication_pane_on_user_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_rajce_authentication_pane_on_password_changed (PublishingRajceAuthenticationPane* self); +static void _publishing_rajce_authentication_pane_on_password_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_rajce_authentication_pane_on_login_button_clicked (PublishingRajceAuthenticationPane* self); +static void _publishing_rajce_authentication_pane_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_rajce_authentication_pane_update_login_button_sensitivity (PublishingRajceAuthenticationPane* self); +static GtkWidget* publishing_rajce_authentication_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_rajce_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_rajce_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_rajce_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__STRING_STRING_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_rajce_authentication_pane_finalize (GObject* obj); +#define PUBLISHING_RAJCE_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPanePrivate)) +enum { + PUBLISHING_RAJCE_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +static PublishingRajceAlbum** _vala_array_dup5 (PublishingRajceAlbum** self, int length); +static void publishing_rajce_publishing_options_pane_on_use_existing_radio_clicked (PublishingRajcePublishingOptionsPane* self); +static void _publishing_rajce_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_rajce_publishing_options_pane_on_create_new_radio_clicked (PublishingRajcePublishingOptionsPane* self); +static void _publishing_rajce_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_rajce_publishing_options_pane_on_new_album_entry_changed (PublishingRajcePublishingOptionsPane* self); +static void _publishing_rajce_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_rajce_publishing_options_pane_on_logout_clicked (PublishingRajcePublishingOptionsPane* self); +static void _publishing_rajce_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_rajce_publishing_options_pane_on_publish_clicked (PublishingRajcePublishingOptionsPane* self); +static void _publishing_rajce_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_new_to_new_album (const gchar* album_name, gboolean album_hidden); +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_construct_to_new_album (GType object_type, const gchar* album_name, gboolean album_hidden); +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_new_to_existing_album (const gchar* album_name, gint album_id); +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_construct_to_existing_album (GType object_type, const gchar* album_name, gint album_id); +static void publishing_rajce_publishing_options_pane_update_publish_button_sensitivity (PublishingRajcePublishingOptionsPane* self); +void publishing_rajce_publishing_options_pane_installed (PublishingRajcePublishingOptionsPane* self); +void publishing_rajce_publishing_options_pane_notify_publish (PublishingRajcePublishingOptionsPane* self, PublishingRajcePublishingParameters* parameters); +void publishing_rajce_publishing_options_pane_notify_logout (PublishingRajcePublishingOptionsPane* self); +static GtkWidget* publishing_rajce_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_rajce_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_rajce_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void _publishing_rajce_publishing_options_pane_notify_publish_publishing_rajce_publishing_options_pane_publish (PublishingRajcePublishingOptionsPane* _sender, PublishingRajcePublishingParameters* parameters, gpointer self); +static void _publishing_rajce_publishing_options_pane_notify_logout_publishing_rajce_publishing_options_pane_logout (PublishingRajcePublishingOptionsPane* _sender, gpointer self); +static void publishing_rajce_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__PUBLISHING_RAJCE_PUBLISHING_PARAMETERS (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_rajce_publishing_options_pane_finalize (GObject* obj); +enum { + PUBLISHING_RAJCE_PUBLISHING_PARAMETERS_DUMMY_PROPERTY +}; +static PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_new (void); +static PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_construct (GType object_type); +static void publishing_rajce_publishing_parameters_finalize (PublishingRajcePublishingParameters* obj); +#define PUBLISHING_RAJCE_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_RAJCE_TYPE_SESSION, PublishingRajceSessionPrivate)) +enum { + PUBLISHING_RAJCE_SESSION_DUMMY_PROPERTY +}; +static gboolean publishing_rajce_session_real_is_authenticated (PublishingRESTSupportSession* base); +gchar* publishing_rajce_session_get_usertoken (PublishingRajceSession* self); +gchar* publishing_rajce_session_get_albumtoken (PublishingRajceSession* self); +static void publishing_rajce_session_finalize (PublishingRESTSupportSession* obj); +gpointer publishing_rajce_arg_item_ref (gpointer instance); +void publishing_rajce_arg_item_unref (gpointer instance); +GParamSpec* publishing_rajce_param_spec_arg_item (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rajce_value_set_arg_item (GValue* value, gpointer v_object); +void publishing_rajce_value_take_arg_item (GValue* value, gpointer v_object); +gpointer publishing_rajce_value_get_arg_item (const GValue* value); +GType publishing_rajce_arg_item_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_RAJCE_ARG_ITEM_DUMMY_PROPERTY +}; +PublishingRajceArgItem* publishing_rajce_arg_item_new (const gchar* k, const gchar* v); +PublishingRajceArgItem* publishing_rajce_arg_item_construct (GType object_type, const gchar* k, const gchar* v); +void publishing_rajce_arg_item_AddChild (PublishingRajceArgItem* self, PublishingRajceArgItem* child); +static void _vala_array_add6 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +void publishing_rajce_arg_item_AddChildren (PublishingRajceArgItem* self, PublishingRajceArgItem** newchildren, int newchildren_length1); +static void publishing_rajce_arg_item_finalize (PublishingRajceArgItem* obj); +gpointer publishing_rajce_live_api_request_ref (gpointer instance); +void publishing_rajce_live_api_request_unref (gpointer instance); +GParamSpec* publishing_rajce_param_spec_live_api_request (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_rajce_value_set_live_api_request (GValue* value, gpointer v_object); +void publishing_rajce_value_take_live_api_request (GValue* value, gpointer v_object); +gpointer publishing_rajce_value_get_live_api_request (const GValue* value); +GType publishing_rajce_live_api_request_get_type (void) G_GNUC_CONST; +#define PUBLISHING_RAJCE_LIVE_API_REQUEST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST, PublishingRajceLiveApiRequestPrivate)) +enum { + PUBLISHING_RAJCE_LIVE_API_REQUEST_DUMMY_PROPERTY +}; +PublishingRajceLiveApiRequest* publishing_rajce_live_api_request_new (const gchar* cmd); +PublishingRajceLiveApiRequest* publishing_rajce_live_api_request_construct (GType object_type, const gchar* cmd); +void publishing_rajce_live_api_request_AddParam (PublishingRajceLiveApiRequest* self, const gchar* name, const gchar* val); +static void _vala_array_add7 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +void publishing_rajce_live_api_request_AddParamBool (PublishingRajceLiveApiRequest* self, const gchar* name, gboolean val); +void publishing_rajce_live_api_request_AddParamInt (PublishingRajceLiveApiRequest* self, const gchar* name, gint val); +void publishing_rajce_live_api_request_AddParamNode (PublishingRajceLiveApiRequest* self, const gchar* name, PublishingRajceArgItem** val, int val_length1); +static void _vala_array_add8 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +gchar* publishing_rajce_live_api_request_Params2XmlString (PublishingRajceLiveApiRequest* self, gboolean urlencode); +static void publishing_rajce_live_api_request_WriteParam (xmlNode* node, PublishingRajceArgItem* arg); +static void publishing_rajce_live_api_request_finalize (PublishingRajceLiveApiRequest* obj); +enum { + PUBLISHING_RAJCE_TRANSACTION_DUMMY_PROPERTY +}; +PublishingRajceTransaction* publishing_rajce_transaction_new (PublishingRajceSession* session); +PublishingRajceTransaction* publishing_rajce_transaction_construct (GType object_type, PublishingRajceSession* session); +enum { + PUBLISHING_RAJCE_SESSION_LOGIN_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_RAJCE_GET_ALBUMS_TRANSACTION_DUMMY_PROPERTY +}; +static void _vala_array_add9 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +static void _vala_array_add10 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +static void _vala_array_add11 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +static void _vala_array_add12 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +static void _vala_array_add13 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value); +enum { + PUBLISHING_RAJCE_CREATE_ALBUM_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_RAJCE_OPEN_ALBUM_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_RAJCE_GET_ALBUM_URL_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_RAJCE_CLOSE_ALBUM_TRANSACTION_DUMMY_PROPERTY +}; +GType publishing_rajce_get_categories_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_RAJCE_GET_CATEGORIES_TRANSACTION_DUMMY_PROPERTY +}; +PublishingRajceGetCategoriesTransaction* publishing_rajce_get_categories_transaction_new (PublishingRajceSession* session, const gchar* url); +PublishingRajceGetCategoriesTransaction* publishing_rajce_get_categories_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url); +#define PUBLISHING_RAJCE_ADD_PHOTO_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION, PublishingRajceAddPhotoTransactionPrivate)) +enum { + PUBLISHING_RAJCE_ADD_PHOTO_TRANSACTION_DUMMY_PROPERTY +}; +static void _g_free0_ (gpointer var); +static void publishing_rajce_add_photo_transaction_finalize (PublishingRESTSupportTransaction* 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); + + +RajceService* rajce_service_construct (GType object_type, GFile* resource_directory) { + RajceService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (RajceService*) g_object_new (object_type, NULL); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = rajce_service_icon_pixbuf_set; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0__length1 = rajce_service_icon_pixbuf_set_length1; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp0_ == NULL) { +#line 910 "RajcePublishing.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" RAJCE_SERVICE_ICON_FILENAME, &_tmp1_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + rajce_service_icon_pixbuf_set = (_vala_array_free (rajce_service_icon_pixbuf_set, rajce_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + rajce_service_icon_pixbuf_set = _tmp2_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + rajce_service_icon_pixbuf_set_length1 = _tmp1_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _rajce_service_icon_pixbuf_set_size_ = rajce_service_icon_pixbuf_set_length1; +#line 923 "RajcePublishing.c" + } +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 927 "RajcePublishing.c" +} + + +RajceService* rajce_service_new (GFile* resource_directory) { +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return rajce_service_construct (TYPE_RAJCE_SERVICE, resource_directory); +#line 934 "RajcePublishing.c" +} + + +static gint rajce_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + RajceService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAJCE_SERVICE, RajceService); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = min_host_interface; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = max_host_interface; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp2_; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 956 "RajcePublishing.c" +} + + +static const gchar* rajce_service_real_get_id (SpitPluggable* base) { + RajceService * self; + const gchar* result = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAJCE_SERVICE, RajceService); +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = "org.yorba.shotwell.publishing.rajce"; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 969 "RajcePublishing.c" +} + + +static const gchar* rajce_service_real_get_pluggable_name (SpitPluggable* base) { + RajceService * self; + const gchar* result = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAJCE_SERVICE, RajceService); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = "Rajce"; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 982 "RajcePublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 989 "RajcePublishing.c" +} + + +static GdkPixbuf** _vala_array_dup4 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + for (i = 0; i < length; i++) { +#line 1000 "RajcePublishing.c" + GdkPixbuf* _tmp0_ = NULL; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result[i] = _tmp0_; +#line 1006 "RajcePublishing.c" + } +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1010 "RajcePublishing.c" +} + + +static void rajce_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + RajceService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAJCE_SERVICE, RajceService); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (info != NULL); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = g_strdup ("rajce.net developers"); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 ((*info).authors); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).authors = _tmp0_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _ ("Copyright (C) 2013 rajce.net"); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 ((*info).copyright); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).copyright = _tmp2_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 ((*info).translators); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).translators = _tmp3_; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 ((*info).version); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).version = _tmp4_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 ((*info).website_name); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).website_name = _tmp5_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 ((*info).website_url); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).website_url = _tmp6_; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 ((*info).license); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).license = _tmp7_; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = rajce_service_icon_pixbuf_set; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8__length1 = rajce_service_icon_pixbuf_set_length1; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup4 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).icons = _tmp9_; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*info).icons_length1 = _tmp9__length1; +#line 1092 "RajcePublishing.c" +} + + +static SpitPublishingPublisher* rajce_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + RajceService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRajceRajcePublisher* _tmp1_ = NULL; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAJCE_SERVICE, RajceService); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = host; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = publishing_rajce_rajce_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1113 "RajcePublishing.c" +} + + +static SpitPublishingPublisherMediaType rajce_service_real_get_supported_media (SpitPublishingService* base) { + RajceService * self; + SpitPublishingPublisherMediaType result = 0; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAJCE_SERVICE, RajceService); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1126 "RajcePublishing.c" +} + + +static void rajce_service_real_activation (SpitPluggable* base, gboolean enabled) { + RajceService * self; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAJCE_SERVICE, RajceService); +#line 1134 "RajcePublishing.c" +} + + +static void rajce_service_class_init (RajceServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + rajce_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (klass)->finalize = rajce_service_finalize; +#line 1143 "RajcePublishing.c" +} + + +static void rajce_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + rajce_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) rajce_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) rajce_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) rajce_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) rajce_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) rajce_service_real_activation; +#line 1160 "RajcePublishing.c" +} + + +static void rajce_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + rajce_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) rajce_service_real_create_publisher; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) rajce_service_real_get_supported_media; +#line 1171 "RajcePublishing.c" +} + + +static void rajce_service_instance_init (RajceService * self) { +} + + +static void rajce_service_finalize (GObject* obj) { + RajceService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RAJCE_SERVICE, RajceService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (rajce_service_parent_class)->finalize (obj); +#line 1185 "RajcePublishing.c" +} + + +GType rajce_service_get_type (void) { + static volatile gsize rajce_service_type_id__volatile = 0; + if (g_once_init_enter (&rajce_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RajceServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rajce_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RajceService), 0, (GInstanceInitFunc) rajce_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) rajce_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) rajce_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType rajce_service_type_id; + rajce_service_type_id = g_type_register_static (G_TYPE_OBJECT, "RajceService", &g_define_type_info, 0); + g_type_add_interface_static (rajce_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (rajce_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&rajce_service_type_id__volatile, rajce_service_type_id); + } + return rajce_service_type_id__volatile; +} + + +PublishingRajceRajcePublisher* publishing_rajce_rajce_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingRajceRajcePublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + PublishingRajceSession* _tmp4_ = NULL; + SpitPublishingPluginHost* _tmp5_ = NULL; + gint _tmp6_ = 0; + SpitPublishingPublishable** _tmp7_ = NULL; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceRajcePublisher*) g_object_new (object_type, NULL); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:86: RajcePublisher created."); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = service; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->service); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->service = _tmp1_; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = host; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->host); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->host = _tmp3_; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_session_new (); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->session = _tmp4_; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = host; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = spit_publishing_plugin_host_get_publishables (_tmp5_, &_tmp6_); +#line 1249 "RajcePublishing.c" + { + SpitPublishingPublishable** p_collection = NULL; + gint p_collection_length1 = 0; + gint _p_collection_size_ = 0; + gint p_it = 0; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + p_collection = _tmp7_; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + p_collection_length1 = _tmp6_; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + for (p_it = 0; p_it < _tmp6_; p_it = p_it + 1) { +#line 1261 "RajcePublishing.c" + SpitPublishingPublishable* _tmp8_ = NULL; + SpitPublishingPublishable* p = NULL; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = _g_object_ref0 (p_collection[p_it]); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + p = _tmp8_; +#line 1268 "RajcePublishing.c" + { + SpitPublishingPublisherMediaType _tmp9_ = 0; + SpitPublishingPublishable* _tmp10_ = NULL; + SpitPublishingPublisherMediaType _tmp11_ = 0; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = self->priv->media_type; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = p; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = spit_publishing_publishable_get_media_type (_tmp10_); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->media_type = _tmp9_ | _tmp11_; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (p); +#line 1283 "RajcePublishing.c" + } + } +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + p_collection = (_vala_array_free (p_collection, p_collection_length1, (GDestroyNotify) g_object_unref), NULL); +#line 1288 "RajcePublishing.c" + } +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 1292 "RajcePublishing.c" +} + + +PublishingRajceRajcePublisher* publishing_rajce_rajce_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_rajce_publisher_construct (PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, service, host); +#line 1299 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_rajce_publisher_get_rajce_url (PublishingRajceRajcePublisher* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), NULL); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = g_strdup ("http://www.rajce.idnes.cz/liveAPI/index.php"); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp0_; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1314 "RajcePublishing.c" +} + + +static SpitPublishingService* publishing_rajce_rajce_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingRajceRajcePublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisher); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->service; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1333 "RajcePublishing.c" +} + + +SpitPublishingPluginHost* publishing_rajce_rajce_publisher_get_host (PublishingRajceRajcePublisher* self) { + SpitPublishingPluginHost* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), NULL); +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1351 "RajcePublishing.c" +} + + +static gboolean publishing_rajce_rajce_publisher_real_is_running (SpitPublishingPublisher* base) { + PublishingRajceRajcePublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisher); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->running; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp0_; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1367 "RajcePublishing.c" +} + + +static gboolean* _bool_dup (gboolean* self) { + gboolean* dup; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dup = g_new0 (gboolean, 1); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + memcpy (dup, self, sizeof (gboolean)); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return dup; +#line 1379 "RajcePublishing.c" +} + + +static gpointer __bool_dup0 (gpointer self) { +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self ? _bool_dup (self) : NULL; +#line 1386 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_real_start (SpitPublishingPublisher* base) { + PublishingRajceRajcePublisher * self; + gboolean _tmp0_ = FALSE; + PublishingRajceSession* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisher); +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp0_) { +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 1403 "RajcePublishing.c" + } +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:111: RajcePublisher: start"); +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->running = TRUE; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->session; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp2_) { +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:116: RajcePublisher: session is authenticated."); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_fetch_albums (self); +#line 1419 "RajcePublishing.c" + } else { + gchar* persistent_username = NULL; + gchar* _tmp3_ = NULL; + gchar* persistent_token = NULL; + gchar* _tmp4_ = NULL; + gboolean* persistent_remember = NULL; + gboolean _tmp5_ = FALSE; + gboolean* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:121: RajcePublisher: session is not authenticated" \ +"."); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = publishing_rajce_rajce_publisher_get_username (self); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + persistent_username = _tmp3_; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_rajce_publisher_get_token (self); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + persistent_token = _tmp4_; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rajce_rajce_publisher_get_remember (self); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = __bool_dup0 (&_tmp5_); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + persistent_remember = _tmp6_; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = persistent_username; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp8_ != NULL) { +#line 1450 "RajcePublishing.c" + const gchar* _tmp9_ = NULL; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = persistent_token; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = _tmp9_ != NULL; +#line 1456 "RajcePublishing.c" + } else { +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = FALSE; +#line 1460 "RajcePublishing.c" + } +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp7_) { +#line 1464 "RajcePublishing.c" + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean* _tmp12_ = NULL; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = persistent_username; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = persistent_token; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = persistent_remember; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_network_login (self, _tmp10_, _tmp11_, *_tmp12_); +#line 1476 "RajcePublishing.c" + } else { +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_authentication_pane (self, PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_INTRO); +#line 1480 "RajcePublishing.c" + } +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (persistent_remember); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (persistent_token); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (persistent_username); +#line 1488 "RajcePublishing.c" + } +} + + +static void publishing_rajce_rajce_publisher_real_stop (SpitPublishingPublisher* base) { + PublishingRajceRajcePublisher * self; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisher); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:134: RajcePublisher: stop"); +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->running = FALSE; +#line 1501 "RajcePublishing.c" +} + + +gchar* publishing_rajce_rajce_publisher_get_url (PublishingRajceRajcePublisher* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), NULL); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = publishing_rajce_rajce_publisher_get_rajce_url (self); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp0_; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1516 "RajcePublishing.c" +} + + +gchar* publishing_rajce_rajce_publisher_get_username (PublishingRajceRajcePublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), NULL); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "username", NULL); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1534 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_set_username (PublishingRajceRajcePublisher* self, const gchar* username) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (username != NULL); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = username; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "username", _tmp1_); +#line 1551 "RajcePublishing.c" +} + + +gchar* publishing_rajce_rajce_publisher_get_token (PublishingRajceRajcePublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), NULL); +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "token", NULL); +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1569 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_set_token (PublishingRajceRajcePublisher* self, const gchar* token) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = token; +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "token", _tmp1_); +#line 1584 "RajcePublishing.c" +} + + +gboolean publishing_rajce_rajce_publisher_get_remember (PublishingRajceRajcePublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), FALSE); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "remember", FALSE); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1602 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_set_remember (PublishingRajceRajcePublisher* self, gboolean remember) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = remember; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "remember", _tmp1_); +#line 1617 "RajcePublishing.c" +} + + +gboolean publishing_rajce_rajce_publisher_get_hide_album (PublishingRajceRajcePublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), FALSE); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "hide-album", FALSE); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1635 "RajcePublishing.c" +} + + +void publishing_rajce_rajce_publisher_set_hide_album (PublishingRajceRajcePublisher* self, gboolean hide_album) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = hide_album; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "hide-album", _tmp1_); +#line 1650 "RajcePublishing.c" +} + + +gboolean publishing_rajce_rajce_publisher_get_show_album (PublishingRajceRajcePublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self), FALSE); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "show-album", TRUE); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1668 "RajcePublishing.c" +} + + +void publishing_rajce_rajce_publisher_set_show_album (PublishingRajceRajcePublisher* self, gboolean show_album) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = show_album; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "show-album", _tmp1_); +#line 1683 "RajcePublishing.c" +} + + +/** + * Action that shows the authentication pane. + */ +static void _publishing_rajce_rajce_publisher_on_authentication_pane_login_clicked_publishing_rajce_authentication_pane_login (PublishingRajceAuthenticationPane* _sender, const gchar* user, const gchar* token, gboolean remember, gpointer self) { +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_authentication_pane_login_clicked ((PublishingRajceRajcePublisher*) self, user, token, remember); +#line 1693 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_show_authentication_pane (PublishingRajceRajcePublisher* self, PublishingRajceAuthenticationPaneMode mode) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRajceAuthenticationPane* authentication_pane = NULL; + PublishingRajceAuthenticationPaneMode _tmp1_ = 0; + PublishingRajceAuthenticationPane* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + GtkWidget* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:163: ACTION: installing authentication pane"); +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = mode; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_authentication_pane_new (self, _tmp1_); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + authentication_pane = _tmp2_; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (authentication_pane, "login", (GCallback) _publishing_rajce_rajce_publisher_on_authentication_pane_login_clicked_publishing_rajce_authentication_pane_login, self, 0); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->host; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (authentication_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->host; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rajce_authentication_pane_get_default_widget (authentication_pane); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp4_, _tmp6_); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (_tmp6_); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (authentication_pane); +#line 1738 "RajcePublishing.c" +} + + +/** + * Event triggered when the login button in the authentication panel is clicked. + */ +static void publishing_rajce_rajce_publisher_on_authentication_pane_login_clicked (PublishingRajceRajcePublisher* self, const gchar* username, const gchar* token, gboolean remember) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (username != NULL); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (token != NULL); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:177: EVENT: on_authentication_pane_login_clicked"); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->running; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!_tmp0_) { +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 1764 "RajcePublishing.c" + } +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = username; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = token; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = remember; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_network_login (self, _tmp1_, _tmp2_, _tmp3_); +#line 1774 "RajcePublishing.c" +} + + +/** + * Action to perform a network login to a Rajce service. + */ +static void _publishing_rajce_rajce_publisher_on_login_network_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_login_network_error ((PublishingRajceRajcePublisher*) self, _sender, err); +#line 1784 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_login_network_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_login_network_complete ((PublishingRajceRajcePublisher*) self, _sender); +#line 1791 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_network_login (PublishingRajceRajcePublisher* self, const gchar* username, const gchar* token, gboolean remember) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PublishingRajceSessionLoginTransaction* login_trans = NULL; + PublishingRajceSession* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PublishingRajceSessionLoginTransaction* _tmp12_ = NULL; + PublishingRajceSessionLoginTransaction* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (username != NULL); +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (token != NULL); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:188: ACTION: logging in"); +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->host; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_install_login_wait_pane (_tmp1_); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = remember; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_set_remember (self, _tmp2_); +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = username; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_set_username (self, _tmp3_); +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = remember; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp5_) { +#line 1839 "RajcePublishing.c" + const gchar* _tmp6_ = NULL; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = token; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = _tmp6_; +#line 1845 "RajcePublishing.c" + } else { +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = NULL; +#line 1849 "RajcePublishing.c" + } +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_set_token (self, _tmp4_); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = self->priv->session; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishing_rajce_rajce_publisher_get_url (self); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _tmp8_; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = username; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = token; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = publishing_rajce_session_login_transaction_new (_tmp7_, _tmp9_, _tmp10_, _tmp11_); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = _tmp12_; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp9_); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + login_trans = _tmp13_; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (login_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rajce_rajce_publisher_on_login_network_error_publishing_rest_support_transaction_network_error, self, 0); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (login_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rajce_rajce_publisher_on_login_network_complete_publishing_rest_support_transaction_completed, self, 0); +#line 1875 "RajcePublishing.c" + { +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (login_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 1883 "RajcePublishing.c" + goto __catch16_spit_publishing_publishing_error; + } +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (login_trans); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 1894 "RajcePublishing.c" + } + } + goto __finally16; + __catch16_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp14_ = NULL; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:203: ERROR: do_network_login"); +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = err; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp14_); +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 1914 "RajcePublishing.c" + } + __finally16: +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (login_trans); +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 1927 "RajcePublishing.c" + } +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (login_trans); +#line 1931 "RajcePublishing.c" +} + + +/** + * Event triggered when the network login action is complete and successful. + */ +static gchar* _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self) { + gchar* result; + result = publishing_rajce_transaction_validate_xml (doc); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 1943 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_on_login_network_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError * _inner_error_ = NULL; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:213: EVENT: on_login_network_complete"); +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = txn; +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_login_network_complete_publishing_rest_support_transaction_completed, self); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = txn; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_login_network_error_publishing_rest_support_transaction_network_error, self); +#line 1971 "RajcePublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingRESTSupportXmlDocument* _tmp7_ = NULL; + PublishingRESTSupportXmlDocument* _tmp8_ = NULL; + xmlNode* response = NULL; + PublishingRESTSupportXmlDocument* _tmp9_ = NULL; + xmlNode* _tmp10_ = NULL; + xmlNode* sessionToken = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + xmlNode* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + xmlNode* maxWidth = NULL; + PublishingRESTSupportXmlDocument* _tmp14_ = NULL; + xmlNode* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + xmlNode* maxHeight = NULL; + PublishingRESTSupportXmlDocument* _tmp17_ = NULL; + xmlNode* _tmp18_ = NULL; + xmlNode* _tmp19_ = NULL; + xmlNode* quality = NULL; + PublishingRESTSupportXmlDocument* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + xmlNode* _tmp22_ = NULL; + xmlNode* nick = NULL; + PublishingRESTSupportXmlDocument* _tmp23_ = NULL; + xmlNode* _tmp24_ = NULL; + xmlNode* _tmp25_ = NULL; + gint maxW = 0; + xmlNode* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint maxH = 0; + xmlNode* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + PublishingRajceSession* _tmp39_ = NULL; + xmlNode* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + xmlNode* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gint _tmp46_ = 0; + xmlNode* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gint _tmp50_ = 0; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = txn; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = publishing_rest_support_xml_document_parse_string (_tmp6_, _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = _tmp7_; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + doc = _tmp8_; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2046 "RajcePublishing.c" + goto __catch17_spit_publishing_publishing_error; + } +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2055 "RajcePublishing.c" + } +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = doc; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_get_root_node (_tmp9_); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + response = _tmp10_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = doc; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = response; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = publishing_rest_support_xml_document_get_named_child (_tmp11_, _tmp12_, "sessionToken", &_inner_error_); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + sessionToken = _tmp13_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2077 "RajcePublishing.c" + goto __catch17_spit_publishing_publishing_error; + } +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2088 "RajcePublishing.c" + } +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = doc; +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = response; +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = publishing_rest_support_xml_document_get_named_child (_tmp14_, _tmp15_, "maxWidth", &_inner_error_); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + maxWidth = _tmp16_; +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2104 "RajcePublishing.c" + goto __catch17_spit_publishing_publishing_error; + } +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2115 "RajcePublishing.c" + } +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = doc; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = response; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = publishing_rest_support_xml_document_get_named_child (_tmp17_, _tmp18_, "maxHeight", &_inner_error_); +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + maxHeight = _tmp19_; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2131 "RajcePublishing.c" + goto __catch17_spit_publishing_publishing_error; + } +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2142 "RajcePublishing.c" + } +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = doc; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = response; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = publishing_rest_support_xml_document_get_named_child (_tmp20_, _tmp21_, "quality", &_inner_error_); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + quality = _tmp22_; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2158 "RajcePublishing.c" + goto __catch17_spit_publishing_publishing_error; + } +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2169 "RajcePublishing.c" + } +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = doc; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = response; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = publishing_rest_support_xml_document_get_named_child (_tmp23_, _tmp24_, "nick", &_inner_error_); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + nick = _tmp25_; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2185 "RajcePublishing.c" + goto __catch17_spit_publishing_publishing_error; + } +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2196 "RajcePublishing.c" + } +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = maxWidth; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = (gchar*) xmlNodeGetContent (_tmp26_); +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = _tmp27_; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp29_ = atoi (_tmp28_); +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp30_ = _tmp29_; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp28_); +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + maxW = _tmp30_; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp31_ = maxHeight; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp32_ = (gchar*) xmlNodeGetContent (_tmp31_); +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp33_ = _tmp32_; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp34_ = atoi (_tmp33_); +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp35_ = _tmp34_; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp33_); +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + maxH = _tmp35_; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp36_ = maxW; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp37_ = maxH; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp36_ > _tmp37_) { +#line 2232 "RajcePublishing.c" + gint _tmp38_ = 0; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp38_ = maxW; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + maxH = _tmp38_; +#line 2238 "RajcePublishing.c" + } +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp39_ = self->priv->session; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp40_ = sessionToken; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp41_ = (gchar*) xmlNodeGetContent (_tmp40_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp42_ = _tmp41_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp43_ = nick; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp44_ = (gchar*) xmlNodeGetContent (_tmp43_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp45_ = _tmp44_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp46_ = maxH; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp47_ = quality; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp48_ = (gchar*) xmlNodeGetContent (_tmp47_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp49_ = _tmp48_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp50_ = atoi (_tmp49_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_authenticate (_tmp39_, _tmp42_, _tmp45_, 0, _tmp46_, _tmp50_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp49_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp45_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp42_); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 2274 "RajcePublishing.c" + } + goto __finally17; + __catch17_spit_publishing_publishing_error: + { + GError* err = NULL; + gint code_int = 0; + GError* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + gint _tmp53_ = 0; + gint _tmp54_ = 0; +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp51_ = err; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp52_ = _tmp51_->message; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp53_ = atoi (_tmp52_); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + code_int = _tmp53_; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp54_ = code_int; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp54_ == 999) { +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:239: ERROR: on_login_network_complete, code 999"); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_authentication_pane (self, PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER); +#line 2305 "RajcePublishing.c" + } else { + GError* _tmp55_ = NULL; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:244: ERROR: on_login_network_complete"); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp55_ = err; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp55_); +#line 2314 "RajcePublishing.c" + } +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2320 "RajcePublishing.c" + } + __finally17: +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2331 "RajcePublishing.c" + } +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_fetch_albums (self); +#line 2335 "RajcePublishing.c" +} + + +/** + * Event triggered when a network login action fails due to a network error. + */ +static void publishing_rajce_rajce_publisher_on_login_network_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:257: EVENT: on_login_network_error"); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = bad_txn; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_login_network_complete_publishing_rest_support_transaction_completed, self); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = bad_txn; +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_login_network_error_publishing_rest_support_transaction_network_error, self); +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_authentication_pane (self, PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER); +#line 2367 "RajcePublishing.c" +} + + +/** + * Action that fetches all user albums from the Rajce. + */ +static void _publishing_rajce_rajce_publisher_on_albums_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_albums_fetch_error ((PublishingRajceRajcePublisher*) self, _sender, err); +#line 2377 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_albums_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_albums_fetch_complete ((PublishingRajceRajcePublisher*) self, _sender); +#line 2384 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_fetch_albums (PublishingRajceRajcePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingRajceGetAlbumsTransaction* get_albums_trans = NULL; + PublishingRajceSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + PublishingRajceGetAlbumsTransaction* _tmp5_ = NULL; + PublishingRajceGetAlbumsTransaction* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:268: ACTION: fetching albums"); +#line 269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->host; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->session; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = publishing_rajce_rajce_publisher_get_url (self); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = _tmp3_; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rajce_get_albums_transaction_new (_tmp2_, _tmp4_); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp4_); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + get_albums_trans = _tmp6_; +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (get_albums_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rajce_rajce_publisher_on_albums_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (get_albums_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rajce_rajce_publisher_on_albums_fetch_complete_publishing_rest_support_transaction_completed, self, 0); +#line 2428 "RajcePublishing.c" + { +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (get_albums_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2436 "RajcePublishing.c" + goto __catch18_spit_publishing_publishing_error; + } +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (get_albums_trans); +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2447 "RajcePublishing.c" + } + } + goto __finally18; + __catch18_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:282: ERROR: do_fetch_albums"); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = err; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp7_); +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 2467 "RajcePublishing.c" + } + __finally18: +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (get_albums_trans); +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2480 "RajcePublishing.c" + } +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (get_albums_trans); +#line 2484 "RajcePublishing.c" +} + + +/** + * Event triggered when the fetch albums action completes successfully. + */ +static gint _publishing_rajce_album_compare_albums_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = publishing_rajce_album_compare_albums ((PublishingRajceAlbum*) a, (PublishingRajceAlbum*) b); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 2496 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_on_albums_fetch_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingRajceAlbum** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GeeArrayList* list = NULL; + GeeArrayList* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:292: EVENT: on_albums_fetch_complete"); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = txn; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_albums_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = txn; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_albums_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = txn; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:295: RajcePlugin: list of albums: %s", _tmp6_); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = self->priv->albums; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7__length1 = self->priv->albums_length1; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp7_ != NULL) { +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_rajce_album_unref), NULL); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = NULL; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums_length1 = 0; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 2555 "RajcePublishing.c" + } +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = gee_array_list_new (PUBLISHING_RAJCE_TYPE_ALBUM, (GBoxedCopyFunc) publishing_rajce_album_ref, publishing_rajce_album_unref, NULL, NULL, NULL); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + list = _tmp8_; +#line 2561 "RajcePublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + PublishingRESTSupportXmlDocument* _tmp13_ = NULL; + xmlNode* response = NULL; + PublishingRESTSupportXmlDocument* _tmp14_ = NULL; + xmlNode* _tmp15_ = NULL; + xmlNode* sessionToken = NULL; + PublishingRESTSupportXmlDocument* _tmp16_ = NULL; + xmlNode* _tmp17_ = NULL; + xmlNode* _tmp18_ = NULL; + xmlNode* nodealbums = NULL; + PublishingRESTSupportXmlDocument* _tmp19_ = NULL; + xmlNode* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + GeeArrayList* _tmp96_ = NULL; + GeeArrayList* _tmp97_ = NULL; + gint _tmp98_ = 0; + gpointer* _tmp99_ = NULL; + PublishingRajceSession* _tmp100_ = NULL; + xmlNode* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = txn; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rest_support_transaction_get_response (_tmp9_); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = _tmp10_; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = publishing_rest_support_xml_document_parse_string (_tmp11_, _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = _tmp12_; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp11_); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + doc = _tmp13_; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2606 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2617 "RajcePublishing.c" + } +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = doc; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = publishing_rest_support_xml_document_get_root_node (_tmp14_); +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + response = _tmp15_; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = doc; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = response; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = publishing_rest_support_xml_document_get_named_child (_tmp16_, _tmp17_, "sessionToken", &_inner_error_); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + sessionToken = _tmp18_; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2639 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2652 "RajcePublishing.c" + } +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = doc; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = response; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = publishing_rest_support_xml_document_get_named_child (_tmp19_, _tmp20_, "albums", &_inner_error_); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + nodealbums = _tmp21_; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2668 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2681 "RajcePublishing.c" + } + { + xmlNode* album = NULL; + xmlNode* _tmp22_ = NULL; + xmlNode* _tmp23_ = NULL; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = nodealbums; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = _tmp22_->children; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + album = _tmp23_; +#line 2693 "RajcePublishing.c" + { + gboolean _tmp24_ = FALSE; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = TRUE; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + while (TRUE) { +#line 2700 "RajcePublishing.c" + xmlNode* _tmp27_ = NULL; + gint id = 0; + xmlNode* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + xmlNode* _tmp33_ = NULL; + PublishingRESTSupportXmlDocument* _tmp34_ = NULL; + xmlNode* _tmp35_ = NULL; + xmlNode* _tmp36_ = NULL; + gchar* albumName = NULL; + gchar* _tmp37_ = NULL; + xmlNode* _tmp38_ = NULL; + PublishingRESTSupportXmlDocument* _tmp39_ = NULL; + xmlNode* _tmp40_ = NULL; + xmlNode* _tmp41_ = NULL; + gchar* url = NULL; + gchar* _tmp42_ = NULL; + xmlNode* _tmp43_ = NULL; + PublishingRESTSupportXmlDocument* _tmp44_ = NULL; + xmlNode* _tmp45_ = NULL; + xmlNode* _tmp46_ = NULL; + gchar* thumbUrl = NULL; + gchar* _tmp47_ = NULL; + xmlNode* _tmp48_ = NULL; + PublishingRESTSupportXmlDocument* _tmp49_ = NULL; + xmlNode* _tmp50_ = NULL; + xmlNode* _tmp51_ = NULL; + gchar* createDate = NULL; + gchar* _tmp52_ = NULL; + xmlNode* _tmp53_ = NULL; + PublishingRESTSupportXmlDocument* _tmp54_ = NULL; + xmlNode* _tmp55_ = NULL; + xmlNode* _tmp56_ = NULL; + gchar* updateDate = NULL; + gchar* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + xmlNode* _tmp59_ = NULL; + PublishingRESTSupportXmlDocument* _tmp60_ = NULL; + xmlNode* _tmp61_ = NULL; + xmlNode* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + gint _tmp65_ = 0; + gboolean _tmp66_ = FALSE; + gboolean hidden = FALSE; + gboolean _tmp67_ = FALSE; + xmlNode* _tmp68_ = NULL; + PublishingRESTSupportXmlDocument* _tmp69_ = NULL; + xmlNode* _tmp70_ = NULL; + xmlNode* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gint _tmp74_ = 0; + gboolean _tmp75_ = FALSE; + gboolean secure = FALSE; + xmlNode* _tmp76_ = NULL; + PublishingRESTSupportXmlDocument* _tmp77_ = NULL; + xmlNode* _tmp78_ = NULL; + xmlNode* _tmp79_ = NULL; + gint photoCount = 0; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + GeeArrayList* _tmp84_ = NULL; + gint _tmp85_ = 0; + const gchar* _tmp86_ = NULL; + const gchar* _tmp87_ = NULL; + const gchar* _tmp88_ = NULL; + const gchar* _tmp89_ = NULL; + const gchar* _tmp90_ = NULL; + gboolean _tmp91_ = FALSE; + gboolean _tmp92_ = FALSE; + gint _tmp93_ = 0; + PublishingRajceAlbum* _tmp94_ = NULL; + PublishingRajceAlbum* _tmp95_ = NULL; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!_tmp24_) { +#line 2781 "RajcePublishing.c" + xmlNode* _tmp25_ = NULL; + xmlNode* _tmp26_ = NULL; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = album; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = _tmp25_->next; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + album = _tmp26_; +#line 2790 "RajcePublishing.c" + } +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = FALSE; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = album; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!(_tmp27_ != NULL)) { +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + break; +#line 2800 "RajcePublishing.c" + } +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = album; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp29_ = (gchar*) xmlGetProp (_tmp28_, (xmlChar*) "id"); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp30_ = _tmp29_; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp31_ = atoi (_tmp30_); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp32_ = _tmp31_; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp30_); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + id = _tmp32_; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp34_ = doc; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp35_ = album; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp36_ = publishing_rest_support_xml_document_get_named_child (_tmp34_, _tmp35_, "albumName", &_inner_error_); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp33_ = _tmp36_; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2830 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2843 "RajcePublishing.c" + } +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp37_ = (gchar*) xmlNodeGetContent (_tmp33_); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + albumName = _tmp37_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp39_ = doc; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp40_ = album; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp41_ = publishing_rest_support_xml_document_get_named_child (_tmp39_, _tmp40_, "url", &_inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp38_ = _tmp41_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2865 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2880 "RajcePublishing.c" + } +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp42_ = (gchar*) xmlNodeGetContent (_tmp38_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + url = _tmp42_; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp44_ = doc; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp45_ = album; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp46_ = publishing_rest_support_xml_document_get_named_child (_tmp44_, _tmp45_, "thumbUrl", &_inner_error_); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp43_ = _tmp46_; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2904 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2921 "RajcePublishing.c" + } +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp47_ = (gchar*) xmlNodeGetContent (_tmp43_); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + thumbUrl = _tmp47_; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp49_ = doc; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp50_ = album; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp51_ = publishing_rest_support_xml_document_get_named_child (_tmp49_, _tmp50_, "createDate", &_inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp48_ = _tmp51_; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2947 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 2966 "RajcePublishing.c" + } +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp52_ = (gchar*) xmlNodeGetContent (_tmp48_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + createDate = _tmp52_; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp54_ = doc; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp55_ = album; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp56_ = publishing_rest_support_xml_document_get_named_child (_tmp54_, _tmp55_, "updateDate", &_inner_error_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp53_ = _tmp56_; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2994 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3015 "RajcePublishing.c" + } +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp57_ = (gchar*) xmlNodeGetContent (_tmp53_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + updateDate = _tmp57_; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp60_ = doc; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp61_ = album; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp62_ = publishing_rest_support_xml_document_get_named_child (_tmp60_, _tmp61_, "hidden", &_inner_error_); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp59_ = _tmp62_; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (updateDate); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3045 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (updateDate); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3068 "RajcePublishing.c" + } +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp63_ = (gchar*) xmlNodeGetContent (_tmp59_); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp64_ = _tmp63_; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp65_ = atoi (_tmp64_); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp66_ = _tmp65_ > 0; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp64_); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp66_) { +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp58_ = TRUE; +#line 3084 "RajcePublishing.c" + } else { +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp58_ = FALSE; +#line 3088 "RajcePublishing.c" + } +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + hidden = _tmp58_; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp69_ = doc; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp70_ = album; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp71_ = publishing_rest_support_xml_document_get_named_child (_tmp69_, _tmp70_, "secure", &_inner_error_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp68_ = _tmp71_; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (updateDate); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3116 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (updateDate); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3139 "RajcePublishing.c" + } +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp72_ = (gchar*) xmlNodeGetContent (_tmp68_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp73_ = _tmp72_; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp74_ = atoi (_tmp73_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp75_ = _tmp74_ > 0; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp73_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp75_) { +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp67_ = TRUE; +#line 3155 "RajcePublishing.c" + } else { +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp67_ = FALSE; +#line 3159 "RajcePublishing.c" + } +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + secure = _tmp67_; +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp77_ = doc; +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp78_ = album; +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp79_ = publishing_rest_support_xml_document_get_named_child (_tmp77_, _tmp78_, "photoCount", &_inner_error_); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp76_ = _tmp79_; +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (updateDate); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3187 "RajcePublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (updateDate); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3210 "RajcePublishing.c" + } +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp80_ = (gchar*) xmlNodeGetContent (_tmp76_); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp81_ = _tmp80_; +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp82_ = atoi (_tmp81_); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp83_ = _tmp82_; +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp81_); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + photoCount = _tmp83_; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp84_ = list; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp85_ = id; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp86_ = albumName; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp87_ = url; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp88_ = thumbUrl; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp89_ = createDate; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp90_ = updateDate; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp91_ = hidden; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp92_ = secure; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp93_ = photoCount; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp94_ = publishing_rajce_album_new (_tmp85_, _tmp86_, _tmp87_, _tmp88_, _tmp89_, _tmp90_, _tmp91_, _tmp92_, _tmp93_); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp95_ = _tmp94_; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0, _tmp95_); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_album_unref0 (_tmp95_); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (updateDate); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (createDate); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (thumbUrl); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumName); +#line 3262 "RajcePublishing.c" + } + } + } +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp96_ = list; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gee_list_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, GEE_TYPE_LIST, GeeList), _publishing_rajce_album_compare_albums_gcompare_data_func, NULL, NULL); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp97_ = list; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp99_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp98_); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_rajce_album_unref), NULL); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = _tmp99_; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums_length1 = _tmp98_; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp100_ = self->priv->session; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp101_ = sessionToken; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp102_ = (gchar*) xmlNodeGetContent (_tmp101_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp103_ = _tmp102_; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_usertoken (_tmp100_, _tmp103_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp103_); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 3296 "RajcePublishing.c" + } + goto __finally19; + __catch19_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp104_ = NULL; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:326: ERROR: on_albums_fetch_complete"); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp104_ = err; +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp104_); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3319 "RajcePublishing.c" + } + __finally19: +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3332 "RajcePublishing.c" + } +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_publishing_options_pane (self); +#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (list); +#line 3338 "RajcePublishing.c" +} + + +/** + * Event triggered when the fetch albums transaction fails due to a network error. + */ +static void publishing_rajce_rajce_publisher_on_albums_fetch_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:338: EVENT: on_albums_fetch_error"); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = bad_txn; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_albums_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = bad_txn; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_albums_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = bad_txn; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = err; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_network_error (self, _tmp4_, _tmp5_); +#line 3376 "RajcePublishing.c" +} + + +/** + * Action that shows the publishing options pane. + */ +static void _publishing_rajce_rajce_publisher_on_publishing_options_pane_logout_clicked_publishing_rajce_publishing_options_pane_logout (PublishingRajcePublishingOptionsPane* _sender, gpointer self) { +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_publishing_options_pane_logout_clicked ((PublishingRajceRajcePublisher*) self); +#line 3386 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_publishing_options_pane_publish_clicked_publishing_rajce_publishing_options_pane_publish (PublishingRajcePublishingOptionsPane* _sender, PublishingRajcePublishingParameters* parameters, gpointer self) { +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_publishing_options_pane_publish_clicked ((PublishingRajceRajcePublisher*) self, parameters); +#line 3393 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_show_publishing_options_pane (PublishingRajceRajcePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRajcePublishingOptionsPane* opts_pane = NULL; + PublishingRajceSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRajceAlbum** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PublishingRajcePublishingOptionsPane* _tmp5_ = NULL; + PublishingRajcePublishingOptionsPane* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + SpitPublishingPluginHost* _tmp8_ = NULL; + GtkWidget* _tmp9_ = NULL; + GtkWidget* _tmp10_ = NULL; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:349: ACTION: installing publishing options pane"); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->session; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_session_get_username (_tmp1_); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _tmp2_; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->albums; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4__length1 = self->priv->albums_length1; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rajce_publishing_options_pane_new (self, _tmp3_, _tmp4_, _tmp4__length1); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp3_); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + opts_pane = _tmp6_; +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (opts_pane, "logout", (GCallback) _publishing_rajce_rajce_publisher_on_publishing_options_pane_logout_clicked_publishing_rajce_publishing_options_pane_logout, self, 0); +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (opts_pane, "publish", (GCallback) _publishing_rajce_rajce_publisher_on_publishing_options_pane_publish_clicked_publishing_rajce_publishing_options_pane_publish, self, 0); +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = self->priv->host; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (opts_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = self->priv->host; +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = publishing_rajce_publishing_options_pane_get_default_widget (opts_pane); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = _tmp9_; +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp8_, _tmp10_); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (_tmp10_); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (opts_pane); +#line 3457 "RajcePublishing.c" +} + + +/** + * Event triggered when the user clicks logout in the publishing options pane. + */ +static void publishing_rajce_rajce_publisher_on_publishing_options_pane_logout_clicked (PublishingRajceRajcePublisher* self) { + PublishingRajceSession* _tmp0_ = NULL; +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:363: EVENT: on_publishing_options_pane_logout_cli" \ +"cked"); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->session; +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_deauthenticate (_tmp0_); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_authentication_pane (self, PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_INTRO); +#line 3476 "RajcePublishing.c" +} + + +/** + * Event triggered when the user clicks publish in the publishing options pane. + * + * @param parameters the publishing parameters + */ +static gpointer _publishing_rajce_publishing_parameters_ref0 (gpointer self) { +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self ? publishing_rajce_publishing_parameters_ref (self) : NULL; +#line 3488 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_on_publishing_options_pane_publish_clicked (PublishingRajceRajcePublisher* self, PublishingRajcePublishingParameters* parameters) { + PublishingRajcePublishingParameters* _tmp0_ = NULL; + PublishingRajcePublishingParameters* _tmp1_ = NULL; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_PARAMETERS (parameters)); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:375: EVENT: on_publishing_options_pane_publish_cl" \ +"icked"); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = parameters; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _publishing_rajce_publishing_parameters_ref0 (_tmp0_); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (self->priv->parameters); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->parameters = _tmp1_; +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_begin_upload (self); +#line 3511 "RajcePublishing.c" +} + + +/** + * Begin upload action: open existing album or create a new one + */ +static gboolean _int_equal (const gint* s1, const gint* s2) { +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (s1 == s2) { +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return TRUE; +#line 3523 "RajcePublishing.c" + } +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (s1 == NULL) { +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return FALSE; +#line 3529 "RajcePublishing.c" + } +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (s2 == NULL) { +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return FALSE; +#line 3535 "RajcePublishing.c" + } +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return (*s1) == (*s2); +#line 3539 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_create_album_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_create_album_error ((PublishingRajceRajcePublisher*) self, _sender, err); +#line 3546 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_create_album_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_create_album_complete ((PublishingRajceRajcePublisher*) self, _sender); +#line 3553 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_open_album_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_open_album_error ((PublishingRajceRajcePublisher*) self, _sender, err); +#line 3560 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_open_album_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_open_album_complete ((PublishingRajceRajcePublisher*) self, _sender); +#line 3567 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_begin_upload (PublishingRajceRajcePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRajcePublishingParameters* _tmp1_ = NULL; + gint* _tmp2_ = NULL; + gint _tmp3_ = 0; + GError * _inner_error_ = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->parameters; +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = _tmp1_->album_id; +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = 0; +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_int_equal (_tmp2_, &_tmp3_) == TRUE) { +#line 3591 "RajcePublishing.c" + PublishingRajceCreateAlbumTransaction* create_album_trans = NULL; + PublishingRajceSession* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingRajcePublishingParameters* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + PublishingRajcePublishingParameters* _tmp9_ = NULL; + gboolean* _tmp10_ = NULL; + PublishingRajceCreateAlbumTransaction* _tmp11_ = NULL; + PublishingRajceCreateAlbumTransaction* _tmp12_ = NULL; + PublishingRajceCreateAlbumTransaction* _tmp13_ = NULL; + PublishingRajceCreateAlbumTransaction* _tmp14_ = NULL; +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:389: ACTION: closing album"); +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->session; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rajce_rajce_publisher_get_url (self); +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = self->priv->parameters; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = _tmp7_->album_name; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = self->priv->parameters; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = _tmp9_->album_hidden; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = publishing_rajce_create_album_transaction_new (_tmp4_, _tmp6_, _tmp8_, *_tmp10_); +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = _tmp11_; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + create_album_trans = _tmp12_; +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = create_album_trans; +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rajce_rajce_publisher_on_create_album_error_publishing_rest_support_transaction_network_error, self, 0); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = create_album_trans; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rajce_rajce_publisher_on_create_album_complete_publishing_rest_support_transaction_completed, self, 0); +#line 3636 "RajcePublishing.c" + { + PublishingRajceCreateAlbumTransaction* _tmp15_ = NULL; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = create_album_trans; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3647 "RajcePublishing.c" + goto __catch20_spit_publishing_publishing_error; + } +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (create_album_trans); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3658 "RajcePublishing.c" + } + } + goto __finally20; + __catch20_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp16_ = NULL; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:399: ERROR: create album"); +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = err; +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp16_); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 3678 "RajcePublishing.c" + } + __finally20: +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (create_album_trans); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3691 "RajcePublishing.c" + } +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (create_album_trans); +#line 3695 "RajcePublishing.c" + } else { + PublishingRajceOpenAlbumTransaction* open_album_trans = NULL; + PublishingRajceSession* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + PublishingRajcePublishingParameters* _tmp20_ = NULL; + gint* _tmp21_ = NULL; + PublishingRajceOpenAlbumTransaction* _tmp22_ = NULL; + PublishingRajceOpenAlbumTransaction* _tmp23_ = NULL; + PublishingRajceOpenAlbumTransaction* _tmp24_ = NULL; + PublishingRajceOpenAlbumTransaction* _tmp25_ = NULL; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:406: ACTION: opening album"); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = self->priv->session; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = publishing_rajce_rajce_publisher_get_url (self); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = _tmp18_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = self->priv->parameters; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = _tmp20_->album_id; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = publishing_rajce_open_album_transaction_new (_tmp17_, _tmp19_, *_tmp21_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = _tmp22_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp19_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + open_album_trans = _tmp23_; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = open_album_trans; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rajce_rajce_publisher_on_open_album_error_publishing_rest_support_transaction_network_error, self, 0); +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = open_album_trans; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rajce_rajce_publisher_on_open_album_complete_publishing_rest_support_transaction_completed, self, 0); +#line 3735 "RajcePublishing.c" + { + PublishingRajceOpenAlbumTransaction* _tmp26_ = NULL; +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = open_album_trans; +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3746 "RajcePublishing.c" + goto __catch21_spit_publishing_publishing_error; + } +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (open_album_trans); +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3757 "RajcePublishing.c" + } + } + goto __finally21; + __catch21_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp27_ = NULL; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:416: ERROR: open album"); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = err; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp27_); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 3777 "RajcePublishing.c" + } + __finally21: +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (open_album_trans); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3790 "RajcePublishing.c" + } +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (open_album_trans); +#line 3794 "RajcePublishing.c" + } +} + + +/** + * Event triggered when the create album completes successfully. + */ +static gint* _int_dup (gint* self) { + gint* dup; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dup = g_new0 (gint, 1); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + memcpy (dup, self, sizeof (gint)); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return dup; +#line 3810 "RajcePublishing.c" +} + + +static gpointer __int_dup0 (gpointer self) { +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self ? _int_dup (self) : NULL; +#line 3817 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_on_create_album_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:427: EVENT: on_create_album_complete"); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = txn; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_create_album_complete_publishing_rest_support_transaction_completed, self); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = txn; +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_create_album_error_publishing_rest_support_transaction_network_error, self); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = txn; +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:430: RajcePlugin: create album: %s", _tmp6_); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 3858 "RajcePublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportXmlDocument* _tmp10_ = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + xmlNode* response = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + xmlNode* _tmp14_ = NULL; + PublishingRESTSupportXmlDocument* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + xmlNode* _tmp17_ = NULL; + gchar* sessionToken = NULL; + gchar* _tmp18_ = NULL; + xmlNode* _tmp19_ = NULL; + PublishingRESTSupportXmlDocument* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + xmlNode* _tmp22_ = NULL; + gchar* albumToken = NULL; + gchar* _tmp23_ = NULL; + xmlNode* _tmp24_ = NULL; + PublishingRESTSupportXmlDocument* _tmp25_ = NULL; + xmlNode* _tmp26_ = NULL; + xmlNode* _tmp27_ = NULL; + PublishingRajcePublishingParameters* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint* _tmp32_ = NULL; + PublishingRajceSession* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + PublishingRajceSession* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = txn; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _tmp8_; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_parse_string (_tmp9_, _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = _tmp10_; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp9_); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + doc = _tmp11_; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3912 "RajcePublishing.c" + goto __catch22_spit_publishing_publishing_error; + } +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3921 "RajcePublishing.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = doc; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = publishing_rest_support_xml_document_get_root_node (_tmp12_); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + response = _tmp13_; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = doc; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = response; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = publishing_rest_support_xml_document_get_named_child (_tmp15_, _tmp16_, "sessionToken", &_inner_error_); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = _tmp17_; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3943 "RajcePublishing.c" + goto __catch22_spit_publishing_publishing_error; + } +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3954 "RajcePublishing.c" + } +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = (gchar*) xmlNodeGetContent (_tmp14_); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + sessionToken = _tmp18_; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = doc; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = response; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = publishing_rest_support_xml_document_get_named_child (_tmp20_, _tmp21_, "albumToken", &_inner_error_); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = _tmp22_; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3976 "RajcePublishing.c" + goto __catch22_spit_publishing_publishing_error; + } +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 3989 "RajcePublishing.c" + } +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = (gchar*) xmlNodeGetContent (_tmp19_); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + albumToken = _tmp23_; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = doc; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = response; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = publishing_rest_support_xml_document_get_named_child (_tmp25_, _tmp26_, "albumID", &_inner_error_); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = _tmp27_; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumToken); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4013 "RajcePublishing.c" + goto __catch22_spit_publishing_publishing_error; + } +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumToken); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4028 "RajcePublishing.c" + } +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = self->priv->parameters; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp29_ = (gchar*) xmlNodeGetContent (_tmp24_); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp30_ = _tmp29_; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp31_ = atoi (_tmp30_); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp32_ = __int_dup0 (&_tmp31_); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp28_->album_id); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_->album_id = _tmp32_; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp30_); +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp33_ = self->priv->session; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp34_ = sessionToken; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_usertoken (_tmp33_, _tmp34_); +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp35_ = self->priv->session; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp36_ = albumToken; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_albumtoken (_tmp35_, _tmp36_); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumToken); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 4064 "RajcePublishing.c" + } + goto __finally22; + __catch22_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp37_ = NULL; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:443: ERROR: on_create_album_complete"); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp37_ = err; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp37_); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4085 "RajcePublishing.c" + } + __finally22: +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4096 "RajcePublishing.c" + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_upload_photos (self); +#line 4100 "RajcePublishing.c" +} + + +/** + * Event triggered when the create album transaction fails due to a network error. + */ +static void publishing_rajce_rajce_publisher_on_create_album_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:455: EVENT: on_create_album_error"); +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = bad_txn; +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_create_album_complete_publishing_rest_support_transaction_completed, self); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = bad_txn; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_create_album_error_publishing_rest_support_transaction_network_error, self); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = bad_txn; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = err; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_network_error (self, _tmp4_, _tmp5_); +#line 4138 "RajcePublishing.c" +} + + +/** + * Event triggered when the open album completes successfully. + */ +static void publishing_rajce_rajce_publisher_on_open_album_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:466: EVENT: on_open_album_complete"); +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = txn; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_open_album_complete_publishing_rest_support_transaction_completed, self); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = txn; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_open_album_error_publishing_rest_support_transaction_network_error, self); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = txn; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:469: RajcePlugin: open album: %s", _tmp6_); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 4182 "RajcePublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportXmlDocument* _tmp10_ = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + xmlNode* response = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + xmlNode* _tmp14_ = NULL; + PublishingRESTSupportXmlDocument* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + xmlNode* _tmp17_ = NULL; + gchar* sessionToken = NULL; + gchar* _tmp18_ = NULL; + xmlNode* _tmp19_ = NULL; + PublishingRESTSupportXmlDocument* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + xmlNode* _tmp22_ = NULL; + gchar* albumToken = NULL; + gchar* _tmp23_ = NULL; + PublishingRajceSession* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + PublishingRajceSession* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = txn; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _tmp8_; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_parse_string (_tmp9_, _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = _tmp10_; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp9_); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + doc = _tmp11_; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4227 "RajcePublishing.c" + goto __catch23_spit_publishing_publishing_error; + } +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4236 "RajcePublishing.c" + } +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = doc; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = publishing_rest_support_xml_document_get_root_node (_tmp12_); +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + response = _tmp13_; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = doc; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = response; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = publishing_rest_support_xml_document_get_named_child (_tmp15_, _tmp16_, "sessionToken", &_inner_error_); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = _tmp17_; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4258 "RajcePublishing.c" + goto __catch23_spit_publishing_publishing_error; + } +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4269 "RajcePublishing.c" + } +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = (gchar*) xmlNodeGetContent (_tmp14_); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + sessionToken = _tmp18_; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = doc; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = response; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = publishing_rest_support_xml_document_get_named_child (_tmp20_, _tmp21_, "albumToken", &_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = _tmp22_; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4291 "RajcePublishing.c" + goto __catch23_spit_publishing_publishing_error; + } +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4304 "RajcePublishing.c" + } +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = (gchar*) xmlNodeGetContent (_tmp19_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + albumToken = _tmp23_; +#line 476 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = self->priv->session; +#line 476 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = sessionToken; +#line 476 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_usertoken (_tmp24_, _tmp25_); +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = self->priv->session; +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = albumToken; +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_albumtoken (_tmp26_, _tmp27_); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (albumToken); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 4328 "RajcePublishing.c" + } + goto __finally23; + __catch23_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp28_ = NULL; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:481: ERROR: on_open_album_complete"); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = err; +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp28_); +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4349 "RajcePublishing.c" + } + __finally23: +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4360 "RajcePublishing.c" + } +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_upload_photos (self); +#line 4364 "RajcePublishing.c" +} + + +/** + * Event triggered when the open album transaction fails due to a network error. + */ +static void publishing_rajce_rajce_publisher_on_open_album_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:493: EVENT: on_open_album_error"); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = bad_txn; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_open_album_complete_publishing_rest_support_transaction_completed, self); +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = bad_txn; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_open_album_error_publishing_rest_support_transaction_network_error, self); +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = bad_txn; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = err; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_network_error (self, _tmp4_, _tmp5_); +#line 4402 "RajcePublishing.c" +} + + +/** + * Upload photos: the key part of the plugin + */ +static void _publishing_rajce_rajce_publisher_on_upload_photos_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_upload_photos_complete ((PublishingRajceRajcePublisher*) self, _sender, num_photos_published); +#line 4412 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_upload_photos_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_upload_photos_error ((PublishingRajceRajcePublisher*) self, _sender, err); +#line 4419 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_upload_photos_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_upload_photos_status_updated ((PublishingRajceRajcePublisher*) self, file_number, fraction_complete); +#line 4426 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_upload_photos (PublishingRajceRajcePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRajceSession* _tmp1_ = NULL; + gint _tmp2_ = 0; + void* _tmp3_ = NULL; + GDestroyNotify _tmp4_ = NULL; + SpitPublishingProgressCallback _tmp5_ = NULL; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp6_ = NULL; + gint _tmp7_ = 0; + SpitPublishingPublishable** _tmp8_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + PublishingRajceUploader* uploader = NULL; + PublishingRajceSession* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PublishingRajcePublishingParameters* _tmp12_ = NULL; + PublishingRajceUploader* _tmp13_ = NULL; + PublishingRajceUploader* _tmp14_ = NULL; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:504: ACTION: uploading photos"); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->session; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_session_get_maxsize (_tmp1_); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = spit_publishing_plugin_host_serialize_publishables (_tmp0_, _tmp2_, FALSE, &_tmp3_, &_tmp4_); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter = NULL; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter = _tmp5_; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter_target = _tmp3_; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp4_; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = self->priv->host; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = spit_publishing_plugin_host_get_publishables (_tmp6_, &_tmp7_); +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishables = _tmp8_; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishables_length1 = _tmp7_; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishables_size_ = publishables_length1; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = self->priv->session; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rajce_rajce_publisher_get_url (self); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = _tmp10_; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = self->priv->parameters; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = publishing_rajce_uploader_new (_tmp9_, _tmp11_, publishables, publishables_length1, _tmp12_); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = _tmp13_; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp11_); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + uploader = _tmp14_; +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_rajce_rajce_publisher_on_upload_photos_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_rajce_rajce_publisher_on_upload_photos_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_rajce_rajce_publisher_on_upload_photos_status_updated_spit_publishing_progress_callback, self); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 4512 "RajcePublishing.c" +} + + +/** + * Event triggered when the batch uploader reports that at least one of the + * network transactions encapsulating uploads has completed successfully + */ +static void publishing_rajce_rajce_publisher_on_upload_photos_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:520: EVENT: on_upload_photos_complete"); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = uploader; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_upload_photos_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = uploader; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_upload_photos_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_end_upload (self); +#line 4545 "RajcePublishing.c" +} + + +/** + * Event triggered when the batch uploader reports that at least one of the + * network transactions encapsulating uploads has caused a network error + */ +static void publishing_rajce_rajce_publisher_on_upload_photos_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError* _tmp4_ = NULL; +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 534 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:534: EVENT: on_upload_photos_error"); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = uploader; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_upload_photos_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = uploader; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_upload_photos_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = err; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp4_); +#line 4581 "RajcePublishing.c" +} + + +/** + * Event triggered when upload progresses and the status needs to be updated. + */ +static void publishing_rajce_rajce_publisher_on_upload_photos_status_updated (PublishingRajceRajcePublisher* self, gint file_number, gdouble completed_fraction) { + gboolean _tmp0_ = FALSE; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp0_) { +#line 4596 "RajcePublishing.c" + gdouble _tmp1_ = 0.0; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = completed_fraction; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:547: EVENT: uploader reports upload %.2f percent " \ +"complete.", 100.0 * _tmp1_); +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->progress_reporter; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_assert (_tmp2_ != NULL, "progress_reporter != null"); +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->progress_reporter; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = file_number; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = completed_fraction; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 4624 "RajcePublishing.c" + } +} + + +static void publishing_rajce_rajce_publisher_do_end_upload (PublishingRajceRajcePublisher* self) { + gboolean _tmp0_ = FALSE; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = publishing_rajce_rajce_publisher_get_show_album (self); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp0_) { +#line 557 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_get_album_url (self); +#line 4639 "RajcePublishing.c" + } else { +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_close_album (self); +#line 4643 "RajcePublishing.c" + } +} + + +/** + * End upload action: get album url + */ +static void _publishing_rajce_rajce_publisher_on_get_album_url_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_get_album_url_error ((PublishingRajceRajcePublisher*) self, _sender, err); +#line 4654 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_get_album_url_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_get_album_url_complete ((PublishingRajceRajcePublisher*) self, _sender); +#line 4661 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_get_album_url (PublishingRajceRajcePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRajceGetAlbumUrlTransaction* get_album_url_trans = NULL; + PublishingRajceSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRajceGetAlbumUrlTransaction* _tmp4_ = NULL; + PublishingRajceGetAlbumUrlTransaction* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:570: ACTION: getting album URL"); +#line 571 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 571 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->session; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_rajce_publisher_get_url (self); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _tmp2_; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_get_album_url_transaction_new (_tmp1_, _tmp3_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp3_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + get_album_url_trans = _tmp5_; +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (get_album_url_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rajce_rajce_publisher_on_get_album_url_error_publishing_rest_support_transaction_network_error, self, 0); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (get_album_url_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rajce_rajce_publisher_on_get_album_url_complete_publishing_rest_support_transaction_completed, self, 0); +#line 4700 "RajcePublishing.c" + { +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (get_album_url_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4708 "RajcePublishing.c" + goto __catch24_spit_publishing_publishing_error; + } +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (get_album_url_trans); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4719 "RajcePublishing.c" + } + } + goto __finally24; + __catch24_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 581 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:581: ERROR: close album"); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = err; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp6_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 4739 "RajcePublishing.c" + } + __finally24: +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (get_album_url_trans); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4752 "RajcePublishing.c" + } +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (get_album_url_trans); +#line 4756 "RajcePublishing.c" +} + + +/** + * Event triggered when the get album url completes successfully. + */ +static void publishing_rajce_rajce_publisher_on_get_album_url_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:591: EVENT: on_get_album_url_complete"); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = txn; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_get_album_url_complete_publishing_rest_support_transaction_completed, self); +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = txn; +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_get_album_url_error_publishing_rest_support_transaction_network_error, self); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = txn; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:594: RajcePlugin: get album url: %s", _tmp6_); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 4800 "RajcePublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportXmlDocument* _tmp10_ = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + xmlNode* response = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + xmlNode* _tmp14_ = NULL; + PublishingRESTSupportXmlDocument* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + xmlNode* _tmp17_ = NULL; + gchar* sessionToken = NULL; + gchar* _tmp18_ = NULL; + xmlNode* _tmp19_ = NULL; + PublishingRESTSupportXmlDocument* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + xmlNode* _tmp22_ = NULL; + gchar* url = NULL; + gchar* _tmp23_ = NULL; + PublishingRajceSession* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + PublishingRajceSession* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = txn; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _tmp8_; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_parse_string (_tmp9_, _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = _tmp10_; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp9_); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + doc = _tmp11_; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4845 "RajcePublishing.c" + goto __catch25_spit_publishing_publishing_error; + } +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4854 "RajcePublishing.c" + } +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = doc; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = publishing_rest_support_xml_document_get_root_node (_tmp12_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + response = _tmp13_; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = doc; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = response; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = publishing_rest_support_xml_document_get_named_child (_tmp15_, _tmp16_, "sessionToken", &_inner_error_); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = _tmp17_; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4876 "RajcePublishing.c" + goto __catch25_spit_publishing_publishing_error; + } +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4887 "RajcePublishing.c" + } +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = (gchar*) xmlNodeGetContent (_tmp14_); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + sessionToken = _tmp18_; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = doc; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = response; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = publishing_rest_support_xml_document_get_named_child (_tmp20_, _tmp21_, "url", &_inner_error_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = _tmp22_; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4909 "RajcePublishing.c" + goto __catch25_spit_publishing_publishing_error; + } +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4922 "RajcePublishing.c" + } +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = (gchar*) xmlNodeGetContent (_tmp19_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + url = _tmp23_; +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = self->priv->session; +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = sessionToken; +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_usertoken (_tmp24_, _tmp25_); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = self->priv->session; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = url; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_albumticket (_tmp26_, _tmp27_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (url); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 4946 "RajcePublishing.c" + } + goto __finally25; + __catch25_spit_publishing_publishing_error: + { + GError* err = NULL; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:606: ERROR: on_get_album_url_complete"); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 4960 "RajcePublishing.c" + } + __finally25: +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 4971 "RajcePublishing.c" + } +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_close_album (self); +#line 4975 "RajcePublishing.c" +} + + +/** + * Event triggered when the get album url transaction fails due to a network error. + */ +static void publishing_rajce_rajce_publisher_on_get_album_url_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:619: EVENT: on_get_album_url_error"); +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = bad_txn; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_get_album_url_complete_publishing_rest_support_transaction_completed, self); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = bad_txn; +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_get_album_url_error_publishing_rest_support_transaction_network_error, self); +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_close_album (self); +#line 5007 "RajcePublishing.c" +} + + +/** + * End upload action: close album + */ +static void _publishing_rajce_rajce_publisher_on_close_album_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_close_album_error ((PublishingRajceRajcePublisher*) self, _sender, err); +#line 5017 "RajcePublishing.c" +} + + +static void _publishing_rajce_rajce_publisher_on_close_album_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 637 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_on_close_album_complete ((PublishingRajceRajcePublisher*) self, _sender); +#line 5024 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_do_close_album (PublishingRajceRajcePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRajceCloseAlbumTransaction* close_album_trans = NULL; + PublishingRajceSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRajceCloseAlbumTransaction* _tmp4_ = NULL; + PublishingRajceCloseAlbumTransaction* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:633: ACTION: closing album"); +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->session; +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_rajce_publisher_get_url (self); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _tmp2_; +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_close_album_transaction_new (_tmp1_, _tmp3_); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp3_); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + close_album_trans = _tmp5_; +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (close_album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_rajce_rajce_publisher_on_close_album_error_publishing_rest_support_transaction_network_error, self, 0); +#line 637 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (close_album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_rajce_rajce_publisher_on_close_album_complete_publishing_rest_support_transaction_completed, self, 0); +#line 5063 "RajcePublishing.c" + { +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (close_album_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5071 "RajcePublishing.c" + goto __catch26_spit_publishing_publishing_error; + } +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (close_album_trans); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5082 "RajcePublishing.c" + } + } + goto __finally26; + __catch26_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 644 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:644: ERROR: close album"); +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = err; +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp6_); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 5102 "RajcePublishing.c" + } + __finally26: +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (close_album_trans); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5115 "RajcePublishing.c" + } +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_transaction_unref0 (close_album_trans); +#line 5119 "RajcePublishing.c" +} + + +/** + * Event triggered when the close album completes successfully. + */ +static void publishing_rajce_rajce_publisher_on_close_album_complete (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:654: EVENT: on_close_album_complete"); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = txn; +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_close_album_complete_publishing_rest_support_transaction_completed, self); +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = txn; +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_close_album_error_publishing_rest_support_transaction_network_error, self); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = txn; +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:657: RajcePlugin: close album: %s", _tmp6_); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 5163 "RajcePublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportXmlDocument* _tmp10_ = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + xmlNode* response = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + xmlNode* _tmp14_ = NULL; + PublishingRESTSupportXmlDocument* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + xmlNode* _tmp17_ = NULL; + gchar* sessionToken = NULL; + gchar* _tmp18_ = NULL; + PublishingRajceSession* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + PublishingRajceSession* _tmp21_ = NULL; +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = txn; +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _tmp8_; +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_parse_string (_tmp9_, _publishing_rajce_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = _tmp10_; +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp9_); +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + doc = _tmp11_; +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5201 "RajcePublishing.c" + goto __catch27_spit_publishing_publishing_error; + } +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 660 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5210 "RajcePublishing.c" + } +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = doc; +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = publishing_rest_support_xml_document_get_root_node (_tmp12_); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + response = _tmp13_; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = doc; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = response; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = publishing_rest_support_xml_document_get_named_child (_tmp15_, _tmp16_, "sessionToken", &_inner_error_); +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = _tmp17_; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5232 "RajcePublishing.c" + goto __catch27_spit_publishing_publishing_error; + } +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5243 "RajcePublishing.c" + } +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = (gchar*) xmlNodeGetContent (_tmp14_); +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + sessionToken = _tmp18_; +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = self->priv->session; +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = sessionToken; +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_usertoken (_tmp19_, _tmp20_); +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = self->priv->session; +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_set_albumtoken (_tmp21_, NULL); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (sessionToken); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 5263 "RajcePublishing.c" + } + goto __finally27; + __catch27_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp22_ = NULL; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 668 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:668: ERROR: on_close_album_complete"); +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = err; +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp22_); +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5284 "RajcePublishing.c" + } + __finally27: +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5295 "RajcePublishing.c" + } +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_success_pane (self); +#line 5299 "RajcePublishing.c" +} + + +/** + * Event triggered when the close album transaction fails due to a network error. + */ +static void publishing_rajce_rajce_publisher_on_close_album_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:680: EVENT: on_close_album_error"); +#line 681 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = bad_txn; +#line 681 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 681 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_close_album_complete_publishing_rest_support_transaction_completed, self); +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = bad_txn; +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_rajce_rajce_publisher_on_close_album_error_publishing_rest_support_transaction_network_error, self); +#line 685 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_success_pane (self); +#line 5331 "RajcePublishing.c" +} + + +/** + * Action to display the success pane in the publishing dialog. + */ +static void publishing_rajce_rajce_publisher_do_show_success_pane (PublishingRajceRajcePublisher* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + SpitPublishingPluginHost* _tmp10_ = NULL; + SpitPublishingPluginHost* _tmp11_ = NULL; + GError * _inner_error_ = NULL; +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:694: ACTION: installing success pane"); +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = publishing_rajce_rajce_publisher_get_show_album (self); +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp1_) { +#line 5352 "RajcePublishing.c" + PublishingRajceSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->session; +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = publishing_rajce_session_get_albumticket (_tmp2_); +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = _tmp3_; +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = _tmp4_ != NULL; +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp4_); +#line 5366 "RajcePublishing.c" + } else { +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = FALSE; +#line 5370 "RajcePublishing.c" + } +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp0_) { +#line 5374 "RajcePublishing.c" + { + PublishingRajceSession* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = self->priv->session; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = publishing_rajce_session_get_albumticket (_tmp5_); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = _tmp6_; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = g_strconcat ("xdg-open ", _tmp7_, NULL); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _tmp8_; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_spawn_command_line_async (_tmp9_, &_inner_error_); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp9_); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp7_); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == G_SPAWN_ERROR) { +#line 5401 "RajcePublishing.c" + goto __catch28_g_spawn_error; + } +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5410 "RajcePublishing.c" + } + } + goto __finally28; + __catch28_g_spawn_error: + { + GError* e = NULL; +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + e = _inner_error_; +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (e); +#line 5423 "RajcePublishing.c" + } + __finally28: +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5434 "RajcePublishing.c" + } + } +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = self->priv->host; +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp10_, FALSE); +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = self->priv->host; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp11_); +#line 5445 "RajcePublishing.c" +} + + +/** + * Helper event to handle network errors. + */ +static void publishing_rajce_rajce_publisher_on_network_error (PublishingRajceRajcePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + GError* _tmp0_ = NULL; +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:714: EVENT: on_network_error"); +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = err; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error (self, _tmp0_); +#line 5464 "RajcePublishing.c" +} + + +/** + * Action to display an error to the user. + */ +static void publishing_rajce_rajce_publisher_do_show_error (PublishingRajceRajcePublisher* self, GError* e) { + gchar* error_type = NULL; + gchar* _tmp0_ = NULL; + GError* _tmp1_ = NULL; + const gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:723: ACTION: do_show_error"); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = g_strdup ("UNKNOWN"); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + error_type = _tmp0_; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = e; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_error_matches (_tmp1_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER)) { +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_authentication_pane (self, PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return; +#line 5499 "RajcePublishing.c" + } else { + GError* _tmp2_ = NULL; +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = e; +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_error_matches (_tmp2_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_COMMUNICATION_FAILED)) { +#line 5506 "RajcePublishing.c" + gchar* _tmp3_ = NULL; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = g_strdup ("COMMUNICATION_FAILED"); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + error_type = _tmp3_; +#line 5514 "RajcePublishing.c" + } else { + GError* _tmp4_ = NULL; +#line 731 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = e; +#line 731 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_error_matches (_tmp4_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_PROTOCOL_ERROR)) { +#line 5521 "RajcePublishing.c" + gchar* _tmp5_ = NULL; +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = g_strdup ("PROTOCOL_ERROR"); +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + error_type = _tmp5_; +#line 5529 "RajcePublishing.c" + } else { + GError* _tmp6_ = NULL; +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = e; +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_error_matches (_tmp6_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_SERVICE_ERROR)) { +#line 5536 "RajcePublishing.c" + gchar* _tmp7_ = NULL; +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = g_strdup ("SERVICE_ERROR"); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + error_type = _tmp7_; +#line 5544 "RajcePublishing.c" + } else { + GError* _tmp8_ = NULL; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = e; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_error_matches (_tmp8_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE)) { +#line 5551 "RajcePublishing.c" + gchar* _tmp9_ = NULL; +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = g_strdup ("MALFORMED_RESPONSE"); +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + error_type = _tmp9_; +#line 5559 "RajcePublishing.c" + } else { + GError* _tmp10_ = NULL; +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = e; +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_error_matches (_tmp10_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR)) { +#line 5566 "RajcePublishing.c" + gchar* _tmp11_ = NULL; +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = g_strdup ("LOCAL_FILE_ERROR"); +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + error_type = _tmp11_; +#line 5574 "RajcePublishing.c" + } else { + GError* _tmp12_ = NULL; +#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = e; +#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_error_matches (_tmp12_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION)) { +#line 5581 "RajcePublishing.c" + gchar* _tmp13_ = NULL; +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = g_strdup ("EXPIRED_SESSION"); +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + error_type = _tmp13_; +#line 5589 "RajcePublishing.c" + } + } + } + } + } + } + } +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = error_type; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = e; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = _tmp15_->message; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = g_strdup_printf ("Unhandled error: type=%s; message='%s'", _tmp14_, _tmp16_); +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = _tmp17_; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:743: %s", _tmp18_); +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp18_); +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = _ ("An error message occurred when publishing to Rajce. Please try again."); +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_do_show_error_message (self, _tmp19_); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (error_type); +#line 5617 "RajcePublishing.c" +} + + +/** + * Action to display an error message to the user. + */ +static void publishing_rajce_rajce_publisher_do_show_error_message (PublishingRajceRajcePublisher* self, const gchar* message) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (self)); +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (message != NULL); +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:752: ACTION: do_show_error_message"); +#line 753 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->host; +#line 753 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = message; +#line 753 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp0_, _tmp1_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 5639 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_class_init (PublishingRajceRajcePublisherClass * klass) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_parent_class = g_type_class_peek_parent (klass); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingRajceRajcePublisherPrivate)); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_rajce_rajce_publisher_finalize; +#line 5650 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_rajce_rajce_publisher_real_get_service; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_rajce_rajce_publisher_real_is_running; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_rajce_rajce_publisher_real_start; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_rajce_rajce_publisher_real_stop; +#line 5665 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_instance_init (PublishingRajceRajcePublisher * self) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv = PUBLISHING_RAJCE_RAJCE_PUBLISHER_GET_PRIVATE (self); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->host = NULL; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter = NULL; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->service = NULL; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->running = FALSE; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = NULL; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums_length1 = 0; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->parameters = NULL; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->media_type = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE; +#line 5690 "RajcePublishing.c" +} + + +static void publishing_rajce_rajce_publisher_finalize (GObject* obj) { + PublishingRajceRajcePublisher * self; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_RAJCE_PUBLISHER, PublishingRajceRajcePublisher); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->host); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter = NULL; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->service); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_rajce_album_unref), NULL); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (self->priv->parameters); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (publishing_rajce_rajce_publisher_parent_class)->finalize (obj); +#line 5718 "RajcePublishing.c" +} + + +GType publishing_rajce_rajce_publisher_get_type (void) { + static volatile gsize publishing_rajce_rajce_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_rajce_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceRajcePublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_rajce_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceRajcePublisher), 0, (GInstanceInitFunc) publishing_rajce_rajce_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_rajce_rajce_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_rajce_rajce_publisher_type_id; + publishing_rajce_rajce_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingRajceRajcePublisher", &g_define_type_info, 0); + g_type_add_interface_static (publishing_rajce_rajce_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_rajce_rajce_publisher_type_id__volatile, publishing_rajce_rajce_publisher_type_id); + } + return publishing_rajce_rajce_publisher_type_id__volatile; +} + + +PublishingRajceAlbum* publishing_rajce_album_construct (GType object_type, gint id, const gchar* albumName, const gchar* url, const gchar* thumbUrl, const gchar* createDate, const gchar* updateDate, gboolean hidden, gboolean secure, gint photoCount) { + PublishingRajceAlbum* self = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gint _tmp13_ = 0; +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (albumName != NULL, NULL); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (thumbUrl != NULL, NULL); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (createDate != NULL, NULL); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (updateDate != NULL, NULL); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceAlbum*) g_type_create_instance (object_type); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = id; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->id = _tmp0_; +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = albumName; +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->albumName); +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->albumName = _tmp2_; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = url; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->url); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->url = _tmp4_; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = thumbUrl; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->thumbUrl); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->thumbUrl = _tmp6_; +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = createDate; +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->createDate); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->createDate = _tmp8_; +#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = updateDate; +#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->updateDate); +#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->updateDate = _tmp10_; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = hidden; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->hidden = _tmp11_; +#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = secure; +#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->secure = _tmp12_; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = photoCount; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->photoCount = _tmp13_; +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 5822 "RajcePublishing.c" +} + + +PublishingRajceAlbum* publishing_rajce_album_new (gint id, const gchar* albumName, const gchar* url, const gchar* thumbUrl, const gchar* createDate, const gchar* updateDate, gboolean hidden, gboolean secure, gint photoCount) { +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_album_construct (PUBLISHING_RAJCE_TYPE_ALBUM, id, albumName, url, thumbUrl, createDate, updateDate, hidden, secure, photoCount); +#line 5829 "RajcePublishing.c" +} + + +gint publishing_rajce_album_compare_albums (PublishingRajceAlbum* a, PublishingRajceAlbum* b) { + gint result = 0; + gboolean _tmp0_ = FALSE; + PublishingRajceAlbum* _tmp1_ = NULL; + PublishingRajceAlbum* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + PublishingRajceAlbum* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail ((a == NULL) || PUBLISHING_RAJCE_IS_ALBUM (a), 0); +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail ((b == NULL) || PUBLISHING_RAJCE_IS_ALBUM (b), 0); +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = a; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp1_ == NULL) { +#line 5850 "RajcePublishing.c" + PublishingRajceAlbum* _tmp2_ = NULL; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = b; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = _tmp2_ == NULL; +#line 5856 "RajcePublishing.c" + } else { +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = FALSE; +#line 5860 "RajcePublishing.c" + } +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp0_) { +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = 0; +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 5868 "RajcePublishing.c" + } else { + gboolean _tmp3_ = FALSE; + PublishingRajceAlbum* _tmp4_ = NULL; +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = a; +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp4_ == NULL) { +#line 5876 "RajcePublishing.c" + PublishingRajceAlbum* _tmp5_ = NULL; +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = b; +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _tmp5_ != NULL; +#line 5882 "RajcePublishing.c" + } else { +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = FALSE; +#line 5886 "RajcePublishing.c" + } +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp3_) { +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = 1; +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 5894 "RajcePublishing.c" + } else { + gboolean _tmp6_ = FALSE; + PublishingRajceAlbum* _tmp7_ = NULL; +#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = a; +#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp7_ != NULL) { +#line 5902 "RajcePublishing.c" + PublishingRajceAlbum* _tmp8_ = NULL; +#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = b; +#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp8_ == NULL; +#line 5908 "RajcePublishing.c" + } else { +#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = FALSE; +#line 5912 "RajcePublishing.c" + } +#line 793 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp6_) { +#line 795 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = -1; +#line 795 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 5920 "RajcePublishing.c" + } + } + } +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = b; +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = _tmp9_->updateDate; +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = a; +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = _tmp11_->updateDate; +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = g_ascii_strcasecmp (_tmp10_, _tmp12_); +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp13_; +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 5938 "RajcePublishing.c" +} + + +static void publishing_rajce_value_album_init (GValue* value) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 5945 "RajcePublishing.c" +} + + +static void publishing_rajce_value_album_free_value (GValue* value) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (value->data[0].v_pointer) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_album_unref (value->data[0].v_pointer); +#line 5954 "RajcePublishing.c" + } +} + + +static void publishing_rajce_value_album_copy_value (const GValue* src_value, GValue* dest_value) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (src_value->data[0].v_pointer) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = publishing_rajce_album_ref (src_value->data[0].v_pointer); +#line 5964 "RajcePublishing.c" + } else { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 5968 "RajcePublishing.c" + } +} + + +static gpointer publishing_rajce_value_album_peek_pointer (const GValue* value) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 5976 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_album_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (collect_values[0].v_pointer) { +#line 5983 "RajcePublishing.c" + PublishingRajceAlbum* object; + object = collect_values[0].v_pointer; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5990 "RajcePublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 5994 "RajcePublishing.c" + } +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = publishing_rajce_album_ref (object); +#line 5998 "RajcePublishing.c" + } else { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 6002 "RajcePublishing.c" + } +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 6006 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_album_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRajceAlbum** object_p; + object_p = collect_values[0].v_pointer; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!object_p) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 6017 "RajcePublishing.c" + } +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!value->data[0].v_pointer) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = NULL; +#line 6023 "RajcePublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = value->data[0].v_pointer; +#line 6027 "RajcePublishing.c" + } else { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = publishing_rajce_album_ref (value->data[0].v_pointer); +#line 6031 "RajcePublishing.c" + } +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 6035 "RajcePublishing.c" +} + + +GParamSpec* publishing_rajce_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRajceParamSpecAlbum* spec; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_RAJCE_TYPE_ALBUM), NULL); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return G_PARAM_SPEC (spec); +#line 6049 "RajcePublishing.c" +} + + +gpointer publishing_rajce_value_get_album (const GValue* value) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_ALBUM), NULL); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 6058 "RajcePublishing.c" +} + + +void publishing_rajce_value_set_album (GValue* value, gpointer v_object) { + PublishingRajceAlbum* old; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_ALBUM)); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_ALBUM)); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_album_ref (value->data[0].v_pointer); +#line 6078 "RajcePublishing.c" + } else { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 6082 "RajcePublishing.c" + } +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_album_unref (old); +#line 6088 "RajcePublishing.c" + } +} + + +void publishing_rajce_value_take_album (GValue* value, gpointer v_object) { + PublishingRajceAlbum* old; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_ALBUM)); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_ALBUM)); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 6107 "RajcePublishing.c" + } else { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 6111 "RajcePublishing.c" + } +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_album_unref (old); +#line 6117 "RajcePublishing.c" + } +} + + +static void publishing_rajce_album_class_init (PublishingRajceAlbumClass * klass) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_album_parent_class = g_type_class_peek_parent (klass); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRajceAlbumClass *) klass)->finalize = publishing_rajce_album_finalize; +#line 6127 "RajcePublishing.c" +} + + +static void publishing_rajce_album_instance_init (PublishingRajceAlbum * self) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->ref_count = 1; +#line 6134 "RajcePublishing.c" +} + + +static void publishing_rajce_album_finalize (PublishingRajceAlbum* obj) { + PublishingRajceAlbum * self; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_ALBUM, PublishingRajceAlbum); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_destroy (self); +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->albumName); +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->url); +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->thumbUrl); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->createDate); +#line 766 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->updateDate); +#line 6154 "RajcePublishing.c" +} + + +GType publishing_rajce_album_get_type (void) { + static volatile gsize publishing_rajce_album_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_album_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rajce_value_album_init, publishing_rajce_value_album_free_value, publishing_rajce_value_album_copy_value, publishing_rajce_value_album_peek_pointer, "p", publishing_rajce_value_album_collect_value, "p", publishing_rajce_value_album_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceAlbumClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_album_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceAlbum), 0, (GInstanceInitFunc) publishing_rajce_album_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 publishing_rajce_album_type_id; + publishing_rajce_album_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRajceAlbum", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_rajce_album_type_id__volatile, publishing_rajce_album_type_id); + } + return publishing_rajce_album_type_id__volatile; +} + + +gpointer publishing_rajce_album_ref (gpointer instance) { + PublishingRajceAlbum* self; + self = instance; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return instance; +#line 6179 "RajcePublishing.c" +} + + +void publishing_rajce_album_unref (gpointer instance) { + PublishingRajceAlbum* self; + self = instance; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + PUBLISHING_RAJCE_ALBUM_GET_CLASS (self)->finalize (self); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 6192 "RajcePublishing.c" + } +} + + +PublishingRajceUploader* publishing_rajce_uploader_construct (GType object_type, PublishingRajceSession* session, const gchar* url, SpitPublishingPublishable** publishables, int publishables_length1, PublishingRajcePublishingParameters* parameters) { + PublishingRajceUploader* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingRajcePublishingParameters* _tmp2_ = NULL; + PublishingRajcePublishingParameters* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = publishables; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1__length1 = publishables_length1; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceUploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = parameters; +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _publishing_rajce_publishing_parameters_ref0 (_tmp2_); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (self->priv->parameters); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->parameters = _tmp3_; +#line 811 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = url; +#line 811 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 811 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->url); +#line 811 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->url = _tmp5_; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 6238 "RajcePublishing.c" +} + + +PublishingRajceUploader* publishing_rajce_uploader_new (PublishingRajceSession* session, const gchar* url, SpitPublishingPublishable** publishables, int publishables_length1, PublishingRajcePublishingParameters* parameters) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_uploader_construct (PUBLISHING_RAJCE_TYPE_UPLOADER, session, url, publishables, publishables_length1, parameters); +#line 6245 "RajcePublishing.c" +} + + +static PublishingRESTSupportTransaction* publishing_rajce_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingRajceUploader * self; + PublishingRESTSupportTransaction* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingRajceSession* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRajcePublishingParameters* _tmp3_ = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + PublishingRajceAddPhotoTransaction* _tmp5_ = NULL; + PublishingRESTSupportTransaction* _tmp6_ = NULL; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_UPLOADER, PublishingRajceUploader); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_RAJCE_TYPE_SESSION, PublishingRajceSession); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->url; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->parameters; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishable; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = publishing_rajce_add_photo_transaction_new (_tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp6_; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 6283 "RajcePublishing.c" +} + + +static void publishing_rajce_uploader_class_init (PublishingRajceUploaderClass * klass) { +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_uploader_parent_class = g_type_class_peek_parent (klass); +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_rajce_uploader_finalize; +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingRajceUploaderPrivate)); +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_rajce_uploader_real_create_transaction; +#line 6296 "RajcePublishing.c" +} + + +static void publishing_rajce_uploader_instance_init (PublishingRajceUploader * self) { +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv = PUBLISHING_RAJCE_UPLOADER_GET_PRIVATE (self); +#line 6303 "RajcePublishing.c" +} + + +static void publishing_rajce_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingRajceUploader * self; +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_UPLOADER, PublishingRajceUploader); +#line 804 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (self->priv->parameters); +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->url); +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_rajce_uploader_parent_class)->finalize (obj); +#line 6317 "RajcePublishing.c" +} + + +GType publishing_rajce_uploader_get_type (void) { + static volatile gsize publishing_rajce_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceUploader), 0, (GInstanceInitFunc) publishing_rajce_uploader_instance_init, NULL }; + GType publishing_rajce_uploader_type_id; + publishing_rajce_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingRajceUploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_uploader_type_id__volatile, publishing_rajce_uploader_type_id); + } + return publishing_rajce_uploader_type_id__volatile; +} + + +GType publishing_rajce_authentication_pane_mode_get_type (void) { + static volatile gsize publishing_rajce_authentication_pane_mode_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_authentication_pane_mode_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_INTRO, "PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_INTRO", "intro"}, {PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER, "PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER", "failed-retry-user"}, {0, NULL, NULL}}; + GType publishing_rajce_authentication_pane_mode_type_id; + publishing_rajce_authentication_pane_mode_type_id = g_enum_register_static ("PublishingRajceAuthenticationPaneMode", values); + g_once_init_leave (&publishing_rajce_authentication_pane_mode_type_id__volatile, publishing_rajce_authentication_pane_mode_type_id); + } + return publishing_rajce_authentication_pane_mode_type_id__volatile; +} + + +static void _publishing_rajce_authentication_pane_on_user_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_on_user_changed ((PublishingRajceAuthenticationPane*) self); +#line 6348 "RajcePublishing.c" +} + + +static void _publishing_rajce_authentication_pane_on_password_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_on_password_changed ((PublishingRajceAuthenticationPane*) self); +#line 6355 "RajcePublishing.c" +} + + +static void _publishing_rajce_authentication_pane_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_on_login_button_clicked ((PublishingRajceAuthenticationPane*) self); +#line 6362 "RajcePublishing.c" +} + + +PublishingRajceAuthenticationPane* publishing_rajce_authentication_pane_construct (GType object_type, PublishingRajceRajcePublisher* publisher, PublishingRajceAuthenticationPaneMode mode) { + PublishingRajceAuthenticationPane * self = NULL; + GtkBox* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (publisher), NULL); +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceAuthenticationPane*) g_object_new (object_type, NULL); +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_object_ref_sink (_tmp0_); +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->pane_widget = _tmp0_; +#line 6382 "RajcePublishing.c" + { + GtkBuilder* _tmp1_ = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GtkAlignment* align = NULL; + GtkBuilder* _tmp4_ = NULL; + GObject* _tmp5_ = NULL; + GtkAlignment* _tmp6_ = NULL; + GtkLabel* message_label = NULL; + GtkBuilder* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + PublishingRajceAuthenticationPaneMode _tmp10_ = 0; + GtkBuilder* _tmp18_ = NULL; + GObject* _tmp19_ = NULL; + GtkEntry* _tmp20_ = NULL; + gchar* persistent_username = NULL; + PublishingRajceRajcePublisher* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + GtkBuilder* _tmp26_ = NULL; + GObject* _tmp27_ = NULL; + GtkEntry* _tmp28_ = NULL; + gchar* persistent_token = NULL; + PublishingRajceRajcePublisher* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GtkBuilder* _tmp34_ = NULL; + GObject* _tmp35_ = NULL; + GtkCheckButton* _tmp36_ = NULL; + GtkCheckButton* _tmp37_ = NULL; + PublishingRajceRajcePublisher* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; + GtkBuilder* _tmp40_ = NULL; + GObject* _tmp41_ = NULL; + GtkButton* _tmp42_ = NULL; + GtkLabel* label2 = NULL; + GtkBuilder* _tmp43_ = NULL; + GObject* _tmp44_ = NULL; + GtkLabel* _tmp45_ = NULL; + GtkLabel* label3 = NULL; + GtkBuilder* _tmp46_ = NULL; + GObject* _tmp47_ = NULL; + GtkLabel* _tmp48_ = NULL; + GtkLabel* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + GtkLabel* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + GtkCheckButton* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + GtkButton* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + GtkEntry* _tmp57_ = NULL; + GtkEntry* _tmp58_ = NULL; + GtkButton* _tmp59_ = NULL; + GtkAlignment* _tmp60_ = NULL; + GtkBox* _tmp61_ = NULL; + PublishingRajceRajcePublisher* _tmp62_ = NULL; + SpitPublishingPluginHost* _tmp63_ = NULL; + SpitPublishingPluginHost* _tmp64_ = NULL; + GtkButton* _tmp65_ = NULL; +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = gtk_builder_new (); +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->builder = _tmp1_; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->builder; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_builder_add_from_resource (_tmp2_, PLUGIN_RESOURCE_PATH "/rajce_authentication_pane.ui", &_inner_error_); +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6456 "RajcePublishing.c" + goto __catch29_g_error; + } +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->builder; +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_builder_connect_signals (_tmp3_, NULL); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->builder; +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = gtk_builder_get_object (_tmp4_, "alignment"); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, gtk_alignment_get_type ()) ? ((GtkAlignment*) _tmp5_) : NULL); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + align = _tmp6_; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = self->priv->builder; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = gtk_builder_get_object (_tmp7_, "message_label"); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp8_) : NULL); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + message_label = _tmp9_; +#line 857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = mode; +#line 857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + switch (_tmp10_) { +#line 857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + case PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_INTRO: +#line 6485 "RajcePublishing.c" + { + GtkLabel* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = message_label; +#line 860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = publishing_rajce_authentication_pane_INTRO_MESSAGE; +#line 860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_label_set_text (_tmp11_, _tmp12_); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + break; +#line 6497 "RajcePublishing.c" + } +#line 857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + case PUBLISHING_RAJCE_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER: +#line 6501 "RajcePublishing.c" + { + GtkLabel* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = message_label; +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = _ ("Invalid User Email or Password"); +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = publishing_rajce_authentication_pane_FAILED_RETRY_USER_MESSAGE; +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = g_strdup_printf ("%s\n\n%s", _tmp14_, _tmp15_); +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = _tmp16_; +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_label_set_markup (_tmp13_, _tmp17_); +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp17_); +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + break; +#line 6524 "RajcePublishing.c" + } + default: +#line 857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + break; +#line 6529 "RajcePublishing.c" + } +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = self->priv->builder; +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = gtk_builder_get_object (_tmp18_, "username_entry"); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp19_) : NULL); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->username_entry); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->username_entry = _tmp20_; +#line 869 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = publisher; +#line 869 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = publishing_rajce_rajce_publisher_get_username (_tmp21_); +#line 869 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + persistent_username = _tmp22_; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = persistent_username; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp23_ != NULL) { +#line 6551 "RajcePublishing.c" + GtkEntry* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; +#line 872 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = self->priv->username_entry; +#line 872 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = persistent_username; +#line 872 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_entry_set_text (_tmp24_, _tmp25_); +#line 6560 "RajcePublishing.c" + } +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = self->priv->builder; +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = gtk_builder_get_object (_tmp26_, "password_entry"); +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp27_) : NULL); +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->password_entry); +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->password_entry = _tmp28_; +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp29_ = publisher; +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp30_ = publishing_rajce_rajce_publisher_get_token (_tmp29_); +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + persistent_token = _tmp30_; +#line 876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp31_ = persistent_token; +#line 876 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp31_ != NULL) { +#line 6582 "RajcePublishing.c" + GtkEntry* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp32_ = self->priv->password_entry; +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp33_ = persistent_token; +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_entry_set_text (_tmp32_, _tmp33_); +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->crypt = FALSE; +#line 6593 "RajcePublishing.c" + } else { +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->crypt = TRUE; +#line 6597 "RajcePublishing.c" + } +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp34_ = self->priv->builder; +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp35_ = gtk_builder_get_object (_tmp34_, "remember_checkbutton"); +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp36_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp35_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp35_) : NULL); +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->remember_checkbutton); +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->remember_checkbutton = _tmp36_; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp37_ = self->priv->remember_checkbutton; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp38_ = publisher; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp39_ = publishing_rajce_rajce_publisher_get_remember (_tmp38_); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp39_); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp40_ = self->priv->builder; +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp41_ = gtk_builder_get_object (_tmp40_, "login_button"); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp42_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp41_, gtk_button_get_type ()) ? ((GtkButton*) _tmp41_) : NULL); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->login_button); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->login_button = _tmp42_; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp43_ = self->priv->builder; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp44_ = gtk_builder_get_object (_tmp43_, "label2"); +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp45_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp44_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp44_) : NULL); +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + label2 = _tmp45_; +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp46_ = self->priv->builder; +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp47_ = gtk_builder_get_object (_tmp46_, "label3"); +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp48_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp47_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp47_) : NULL); +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + label3 = _tmp48_; +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp49_ = label2; +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp50_ = _ ("_Email address"); +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_label_set_label (_tmp49_, _tmp50_); +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp51_ = label3; +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp52_ = _ ("_Password"); +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_label_set_label (_tmp51_, _tmp52_); +#line 894 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp53_ = self->priv->remember_checkbutton; +#line 894 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp54_ = _ ("_Remember"); +#line 894 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_button_get_type (), GtkButton), _tmp54_); +#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp55_ = self->priv->login_button; +#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp56_ = _ ("Login"); +#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (_tmp55_, _tmp56_); +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp57_ = self->priv->username_entry; +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_rajce_authentication_pane_on_user_changed_gtk_editable_changed, self, 0); +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp58_ = self->priv->password_entry; +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_rajce_authentication_pane_on_password_changed_gtk_editable_changed, self, 0); +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp59_ = self->priv->login_button; +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (_tmp59_, "clicked", (GCallback) _publishing_rajce_authentication_pane_on_login_button_clicked_gtk_button_clicked, self, 0); +#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp60_ = align; +#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp61_ = self->priv->pane_widget; +#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_reparent (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_widget_get_type (), GtkWidget), G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget)); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp62_ = publisher; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp63_ = publishing_rajce_rajce_publisher_get_host (_tmp62_); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp64_ = _tmp63_; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp65_ = self->priv->login_button; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp64_, G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, gtk_widget_get_type (), GtkWidget)); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (_tmp64_); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (label3); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (label2); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (persistent_token); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (persistent_username); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (message_label); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (align); +#line 6709 "RajcePublishing.c" + } + goto __finally29; + __catch29_g_error: + { + GError* e = NULL; + GError* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + e = _inner_error_; +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp66_ = e; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp67_ = _tmp66_->message; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_warning ("RajcePublishing.vala:905: Could not load UI: %s", _tmp67_); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (e); +#line 6729 "RajcePublishing.c" + } + __finally29: +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 6740 "RajcePublishing.c" + } +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 6744 "RajcePublishing.c" +} + + +PublishingRajceAuthenticationPane* publishing_rajce_authentication_pane_new (PublishingRajceRajcePublisher* publisher, PublishingRajceAuthenticationPaneMode mode) { +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_authentication_pane_construct (PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, publisher, mode); +#line 6751 "RajcePublishing.c" +} + + +GtkWidget* publishing_rajce_authentication_pane_get_default_widget (PublishingRajceAuthenticationPane* self) { + GtkWidget* result = NULL; + GtkButton* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_AUTHENTICATION_PANE (self), NULL); +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->login_button; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 6769 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_on_login_button_clicked (PublishingRajceAuthenticationPane* self) { + gchar* token = NULL; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GtkEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkCheckButton* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_AUTHENTICATION_PANE (self)); +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->password_entry; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + token = _tmp2_; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->crypt; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp3_) { +#line 6798 "RajcePublishing.c" + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = token; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = g_compute_checksum_for_string (G_CHECKSUM_MD5, _tmp4_, (gsize) -1); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (token); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + token = _tmp5_; +#line 6809 "RajcePublishing.c" + } +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = self->priv->username_entry; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = gtk_entry_get_text (_tmp6_); +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = token; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = self->priv->remember_checkbutton; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_emit_by_name (self, "login", _tmp7_, _tmp8_, _tmp10_); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (token); +#line 6825 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_on_user_changed (PublishingRajceAuthenticationPane* self) { +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_AUTHENTICATION_PANE (self)); +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_update_login_button_sensitivity (self); +#line 6834 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_on_password_changed (PublishingRajceAuthenticationPane* self) { +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_AUTHENTICATION_PANE (self)); +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->crypt = TRUE; +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_update_login_button_sensitivity (self); +#line 6845 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_update_login_button_sensitivity (PublishingRajceAuthenticationPane* self) { + gboolean _tmp0_ = FALSE; + GtkEntry* _tmp1_ = NULL; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; + GtkButton* _tmp7_ = NULL; +#line 935 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_AUTHENTICATION_PANE (self)); +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->username_entry; +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = gtk_entry_get_text_length (_tmp1_); +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _tmp2_; +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp3_ > ((guint) 0)) { +#line 6865 "RajcePublishing.c" + GtkEntry* _tmp4_ = NULL; + guint _tmp5_ = 0U; + guint _tmp6_ = 0U; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->password_entry; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = gtk_entry_get_text_length (_tmp4_); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = _tmp6_ > ((guint) 0); +#line 6877 "RajcePublishing.c" + } else { +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = FALSE; +#line 6881 "RajcePublishing.c" + } +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = self->priv->login_button; +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 6887 "RajcePublishing.c" +} + + +static GtkWidget* publishing_rajce_authentication_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingRajceAuthenticationPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPane); +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 6906 "RajcePublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_rajce_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingRajceAuthenticationPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPane); +#line 948 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 948 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 6919 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingRajceAuthenticationPane * self; + GtkEntry* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; +#line 951 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPane); +#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->username_entry; +#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->password_entry; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_entry_set_activates_default (_tmp1_, TRUE); +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->login_button; +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_can_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_update_login_button_sensitivity (self); +#line 6944 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingRajceAuthenticationPane * self; +#line 958 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPane); +#line 6952 "RajcePublishing.c" +} + + +static void g_cclosure_user_marshal_VOID__STRING_STRING_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__STRING_STRING_BOOLEAN) (gpointer data1, const char* arg_1, const char* arg_2, gboolean arg_3, gpointer data2); + register GMarshalFunc_VOID__STRING_STRING_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (n_param_values == 4); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data1 = closure->data; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 6971 "RajcePublishing.c" + } else { +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data2 = closure->data; +#line 6977 "RajcePublishing.c" + } +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + callback = (GMarshalFunc_VOID__STRING_STRING_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_boolean (param_values + 3), data2); +#line 6983 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_class_init (PublishingRajceAuthenticationPaneClass * klass) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_parent_class = g_type_class_peek_parent (klass); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingRajceAuthenticationPanePrivate)); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_rajce_authentication_pane_finalize; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_new ("login", PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_BOOLEAN, G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = _ ("Enter email and password associated with your Rajce account."); +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_INTRO_MESSAGE = _tmp1_; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = _ ("Invalid email and/or password. Please try again"); +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_FAILED_RETRY_USER_MESSAGE = _tmp3_; +#line 7012 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_authentication_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_rajce_authentication_pane_real_get_widget; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_rajce_authentication_pane_real_get_preferred_geometry; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_rajce_authentication_pane_real_on_pane_installed; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_rajce_authentication_pane_real_on_pane_uninstalled; +#line 7027 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_instance_init (PublishingRajceAuthenticationPane * self) { +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv = PUBLISHING_RAJCE_AUTHENTICATION_PANE_GET_PRIVATE (self); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->pane_widget = NULL; +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->crypt = TRUE; +#line 7038 "RajcePublishing.c" +} + + +static void publishing_rajce_authentication_pane_finalize (GObject* obj) { + PublishingRajceAuthenticationPane * self; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_AUTHENTICATION_PANE, PublishingRajceAuthenticationPane); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 838 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->username_entry); +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->password_entry); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->remember_checkbutton); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->login_button); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (publishing_rajce_authentication_pane_parent_class)->finalize (obj); +#line 7060 "RajcePublishing.c" +} + + +/** + * The authentication pane used when asking service URL, user name and password + * from the user. + */ +GType publishing_rajce_authentication_pane_get_type (void) { + static volatile gsize publishing_rajce_authentication_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_authentication_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceAuthenticationPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_authentication_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceAuthenticationPane), 0, (GInstanceInitFunc) publishing_rajce_authentication_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_rajce_authentication_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_rajce_authentication_pane_type_id; + publishing_rajce_authentication_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingRajceAuthenticationPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_rajce_authentication_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_rajce_authentication_pane_type_id__volatile, publishing_rajce_authentication_pane_type_id); + } + return publishing_rajce_authentication_pane_type_id__volatile; +} + + +static gpointer _publishing_rajce_album_ref0 (gpointer self) { +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self ? publishing_rajce_album_ref (self) : NULL; +#line 7085 "RajcePublishing.c" +} + + +static PublishingRajceAlbum** _vala_array_dup5 (PublishingRajceAlbum** self, int length) { + PublishingRajceAlbum** result; + int i; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = g_new0 (PublishingRajceAlbum*, length + 1); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + for (i = 0; i < length; i++) { +#line 7096 "RajcePublishing.c" + PublishingRajceAlbum* _tmp0_ = NULL; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = _publishing_rajce_album_ref0 (self[i]); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result[i] = _tmp0_; +#line 7102 "RajcePublishing.c" + } +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 7106 "RajcePublishing.c" +} + + +static void _publishing_rajce_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_on_use_existing_radio_clicked ((PublishingRajcePublishingOptionsPane*) self); +#line 7113 "RajcePublishing.c" +} + + +static void _publishing_rajce_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_on_create_new_radio_clicked ((PublishingRajcePublishingOptionsPane*) self); +#line 7120 "RajcePublishing.c" +} + + +static void _publishing_rajce_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_on_new_album_entry_changed ((PublishingRajcePublishingOptionsPane*) self); +#line 7127 "RajcePublishing.c" +} + + +static void _publishing_rajce_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_on_logout_clicked ((PublishingRajcePublishingOptionsPane*) self); +#line 7134 "RajcePublishing.c" +} + + +static void _publishing_rajce_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1024 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_on_publish_clicked ((PublishingRajcePublishingOptionsPane*) self); +#line 7141 "RajcePublishing.c" +} + + +PublishingRajcePublishingOptionsPane* publishing_rajce_publishing_options_pane_construct (GType object_type, PublishingRajceRajcePublisher* publisher, const gchar* username, PublishingRajceAlbum** albums, int albums_length1) { + PublishingRajcePublishingOptionsPane * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PublishingRajceAlbum** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PublishingRajceAlbum** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PublishingRajceRajcePublisher* _tmp4_ = NULL; + PublishingRajceRajcePublisher* _tmp5_ = NULL; + GtkBox* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_RAJCE_PUBLISHER (publisher), NULL); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajcePublishingOptionsPane*) g_object_new (object_type, NULL); +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = username; +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->username); +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->username = _tmp1_; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = albums; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2__length1 = albums_length1; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup5 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3__length1 = _tmp2__length1; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_rajce_album_unref), NULL); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = _tmp3_; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums_length1 = _tmp3__length1; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publisher; +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->publisher = _tmp5_; +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_object_ref_sink (_tmp6_); +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->pane_widget = _tmp6_; +#line 7203 "RajcePublishing.c" + { + GtkBuilder* _tmp7_ = NULL; + GtkBuilder* _tmp8_ = NULL; + GtkBuilder* _tmp9_ = NULL; + GtkBuilder* _tmp10_ = NULL; + GObject* _tmp11_ = NULL; + GtkBox* _tmp12_ = NULL; + GtkBuilder* _tmp13_ = NULL; + GObject* _tmp14_ = NULL; + GtkLabel* _tmp15_ = NULL; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkLabel* _tmp18_ = NULL; + GtkBuilder* _tmp19_ = NULL; + GObject* _tmp20_ = NULL; + GtkRadioButton* _tmp21_ = NULL; + GtkBuilder* _tmp22_ = NULL; + GObject* _tmp23_ = NULL; + GtkComboBoxText* _tmp24_ = NULL; + GtkBuilder* _tmp25_ = NULL; + GObject* _tmp26_ = NULL; + GtkRadioButton* _tmp27_ = NULL; + GtkBuilder* _tmp28_ = NULL; + GObject* _tmp29_ = NULL; + GtkEntry* _tmp30_ = NULL; + GtkBuilder* _tmp31_ = NULL; + GObject* _tmp32_ = NULL; + GtkCheckButton* _tmp33_ = NULL; + GtkCheckButton* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + GtkBuilder* _tmp36_ = NULL; + GObject* _tmp37_ = NULL; + GtkCheckButton* _tmp38_ = NULL; + GtkBuilder* _tmp39_ = NULL; + GObject* _tmp40_ = NULL; + GtkButton* _tmp41_ = NULL; + GtkBuilder* _tmp42_ = NULL; + GObject* _tmp43_ = NULL; + GtkButton* _tmp44_ = NULL; + GtkCheckButton* _tmp45_ = NULL; + PublishingRajceRajcePublisher* _tmp46_ = NULL; + gboolean _tmp47_ = FALSE; + GtkCheckButton* _tmp48_ = NULL; + PublishingRajceRajcePublisher* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; + GtkLabel* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + GtkLabel* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + GtkRadioButton* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + GtkRadioButton* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + GtkCheckButton* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; + GtkButton* _tmp64_ = NULL; + const gchar* _tmp65_ = NULL; + GtkButton* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; + GtkRadioButton* _tmp68_ = NULL; + GtkRadioButton* _tmp69_ = NULL; + GtkEntry* _tmp70_ = NULL; + GtkButton* _tmp71_ = NULL; + GtkButton* _tmp72_ = NULL; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = gtk_builder_new (); +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->builder = _tmp7_; +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = self->priv->builder; +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_builder_add_from_resource (_tmp8_, PLUGIN_RESOURCE_PATH "/rajce_publishing_options_pane.ui", &_inner_error_); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7283 "RajcePublishing.c" + goto __catch30_g_error; + } +#line 995 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = self->priv->builder; +#line 995 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_builder_connect_signals (_tmp9_, NULL); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = self->priv->builder; +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = gtk_builder_get_object (_tmp10_, "rajce_pane_widget"); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_box_get_type (), GtkBox)); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->pane_widget = _tmp12_; +#line 998 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = self->priv->builder; +#line 998 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = gtk_builder_get_object (_tmp13_, "login_identity_label"); +#line 998 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_label_get_type (), GtkLabel)); +#line 998 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->login_identity_label); +#line 998 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->login_identity_label = _tmp15_; +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = self->priv->builder; +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "publish_to_label"); +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_label_get_type (), GtkLabel)); +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->publish_to_label); +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->publish_to_label = _tmp18_; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = self->priv->builder; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = gtk_builder_get_object (_tmp19_, "use_existing_radio"); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_radio_button_get_type (), GtkRadioButton)); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->use_existing_radio = _tmp21_; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = self->priv->builder; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = gtk_builder_get_object (_tmp22_, "existing_albums_combo"); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->existing_albums_combo = _tmp24_; +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = self->priv->builder; +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = gtk_builder_get_object (_tmp25_, "create_new_radio"); +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_radio_button_get_type (), GtkRadioButton)); +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->create_new_radio = _tmp27_; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = self->priv->builder; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp29_ = gtk_builder_get_object (_tmp28_, "new_album_entry"); +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_entry_get_type (), GtkEntry)); +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->new_album_entry = _tmp30_; +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp31_ = self->priv->builder; +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp32_ = gtk_builder_get_object (_tmp31_, "hide_check"); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_check_button_get_type (), GtkCheckButton)); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->hide_check); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->hide_check = _tmp33_; +#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp34_ = self->priv->hide_check; +#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp35_ = _ ("_Hide album"); +#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_button_get_type (), GtkButton), _tmp35_); +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp36_ = self->priv->builder; +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp37_ = gtk_builder_get_object (_tmp36_, "show_check"); +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp38_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_check_button_get_type (), GtkCheckButton)); +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->show_check); +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->show_check = _tmp38_; +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp39_ = self->priv->builder; +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp40_ = gtk_builder_get_object (_tmp39_, "publish_button"); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_button_get_type (), GtkButton)); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->publish_button = _tmp41_; +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp42_ = self->priv->builder; +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp43_ = gtk_builder_get_object (_tmp42_, "logout_button"); +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp44_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_button_get_type (), GtkButton)); +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->logout_button = _tmp44_; +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp45_ = self->priv->hide_check; +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp46_ = publisher; +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp47_ = publishing_rajce_rajce_publisher_get_hide_album (_tmp46_); +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp47_); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp48_ = self->priv->show_check; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp49_ = publisher; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp50_ = publishing_rajce_rajce_publisher_get_show_album (_tmp49_); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp50_); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp51_ = self->priv->login_identity_label; +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp52_ = _ ("You are logged into Rajce as %s."); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp53_ = username; +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp54_ = g_strdup_printf (_tmp52_, _tmp53_); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp55_ = _tmp54_; +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_label_set_label (_tmp51_, _tmp55_); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp55_); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp56_ = self->priv->publish_to_label; +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp57_ = _ ("Photos will appear in:"); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_label_set_label (_tmp56_, _tmp57_); +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp58_ = self->priv->use_existing_radio; +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp59_ = _ ("An _existing album:"); +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_button_get_type (), GtkButton), _tmp59_); +#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp60_ = self->priv->create_new_radio; +#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp61_ = _ ("A _new album named:"); +#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_button_get_type (), GtkButton), _tmp61_); +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp62_ = self->priv->show_check; +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp63_ = _ ("Open target _album in browser"); +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_button_get_type (), GtkButton), _tmp63_); +#line 1017 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp64_ = self->priv->publish_button; +#line 1017 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp65_ = _ ("_Publish"); +#line 1017 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (_tmp64_, _tmp65_); +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp66_ = self->priv->logout_button; +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp67_ = _ ("_Logout"); +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_button_set_label (_tmp66_, _tmp67_); +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp68_ = self->priv->use_existing_radio; +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_rajce_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked, self, 0); +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp69_ = self->priv->create_new_radio; +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_rajce_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked, self, 0); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp70_ = self->priv->new_album_entry; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_rajce_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed, self, 0); +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp71_ = self->priv->logout_button; +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (_tmp71_, "clicked", (GCallback) _publishing_rajce_publishing_options_pane_on_logout_clicked_gtk_button_clicked, self, 0); +#line 1024 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp72_ = self->priv->publish_button; +#line 1024 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (_tmp72_, "clicked", (GCallback) _publishing_rajce_publishing_options_pane_on_publish_clicked_gtk_button_clicked, self, 0); +#line 7492 "RajcePublishing.c" + } + goto __finally30; + __catch30_g_error: + { + GError* e = NULL; + GError* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + e = _inner_error_; +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp73_ = e; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp74_ = _tmp73_->message; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_warning ("RajcePublishing.vala:1028: Could not load UI: %s", _tmp74_); +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (e); +#line 7512 "RajcePublishing.c" + } + __finally30: +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 7523 "RajcePublishing.c" + } +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 7527 "RajcePublishing.c" +} + + +PublishingRajcePublishingOptionsPane* publishing_rajce_publishing_options_pane_new (PublishingRajceRajcePublisher* publisher, const gchar* username, PublishingRajceAlbum** albums, int albums_length1) { +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_publishing_options_pane_construct (PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, publisher, username, albums, albums_length1); +#line 7534 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_on_publish_clicked (PublishingRajcePublishingOptionsPane* self) { + gboolean show_album = FALSE; + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PublishingRajceRajcePublisher* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GtkRadioButton* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1033 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->show_check; +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + show_album = _tmp1_; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->publisher; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = show_album; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_set_show_album (_tmp2_, _tmp3_); +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->create_new_radio; +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp5_) { +#line 7566 "RajcePublishing.c" + gchar* album_name = NULL; + GtkEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gboolean hide_album = FALSE; + GtkCheckButton* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + PublishingRajceRajcePublisher* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + PublishingRajcePublishingParameters* _tmp15_ = NULL; + PublishingRajcePublishingParameters* _tmp16_ = NULL; +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = self->priv->new_album_entry; +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = gtk_entry_get_text (_tmp6_); +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + album_name = _tmp8_; +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = self->priv->hide_check; +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + hide_album = _tmp10_; +#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = self->priv->publisher; +#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = hide_album; +#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_rajce_publisher_set_hide_album (_tmp11_, _tmp12_); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = album_name; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = hide_album; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = publishing_rajce_publishing_parameters_new_to_new_album (_tmp13_, _tmp14_); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = _tmp15_; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp16_); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (_tmp16_); +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (album_name); +#line 7614 "RajcePublishing.c" + } else { + gint id = 0; + PublishingRajceAlbum** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + GtkComboBoxText* _tmp18_ = NULL; + gint _tmp19_ = 0; + PublishingRajceAlbum* _tmp20_ = NULL; + gint _tmp21_ = 0; + gchar* album_name = NULL; + PublishingRajceAlbum** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + GtkComboBoxText* _tmp23_ = NULL; + gint _tmp24_ = 0; + PublishingRajceAlbum* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gint _tmp29_ = 0; + PublishingRajcePublishingParameters* _tmp30_ = NULL; + PublishingRajcePublishingParameters* _tmp31_ = NULL; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = self->priv->albums; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17__length1 = self->priv->albums_length1; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = self->priv->existing_albums_combo; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = _tmp17_[_tmp19_]; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = _tmp20_->id; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + id = _tmp21_; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = self->priv->albums; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22__length1 = self->priv->albums_length1; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = self->priv->existing_albums_combo; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = _tmp22_[_tmp24_]; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = _tmp25_->albumName; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = g_strdup (_tmp26_); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + album_name = _tmp27_; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = album_name; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp29_ = id; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp30_ = publishing_rajce_publishing_parameters_new_to_existing_album (_tmp28_, _tmp29_); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp31_ = _tmp30_; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp31_); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (_tmp31_); +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (album_name); +#line 7679 "RajcePublishing.c" + } +} + + +static void publishing_rajce_publishing_options_pane_on_use_existing_radio_clicked (PublishingRajcePublishingOptionsPane* self) { + GtkComboBoxText* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkCheckButton* _tmp3_ = NULL; +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->existing_albums_combo; +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1055 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->new_album_entry; +#line 1055 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->existing_albums_combo; +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_update_publish_button_sensitivity (self); +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->hide_check; +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 7709 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_on_create_new_radio_clicked (PublishingRajcePublishingOptionsPane* self) { + GtkEntry* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + GtkCheckButton* _tmp3_ = NULL; +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->new_album_entry; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = self->priv->existing_albums_combo; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->new_album_entry; +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1066 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_update_publish_button_sensitivity (self); +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->hide_check; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 7738 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_on_logout_clicked (PublishingRajcePublishingOptionsPane* self) { +#line 1070 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 7747 "RajcePublishing.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 7770 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_update_publish_button_sensitivity (PublishingRajcePublishingOptionsPane* self) { + gchar* album_name = NULL; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GtkButton* _tmp10_ = NULL; +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->new_album_entry; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + album_name = _tmp2_; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = album_name; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = string_strip (_tmp4_); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = g_strcmp0 (_tmp6_, "") != 0; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp6_); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp7_) { +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = TRUE; +#line 7809 "RajcePublishing.c" + } else { + GtkRadioButton* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = self->priv->create_new_radio; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = !_tmp9_; +#line 7819 "RajcePublishing.c" + } +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = self->priv->publish_button; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), _tmp3_); +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (album_name); +#line 7827 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_on_new_album_entry_changed (PublishingRajcePublishingOptionsPane* self) { +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_update_publish_button_sensitivity (self); +#line 7836 "RajcePublishing.c" +} + + +void publishing_rajce_publishing_options_pane_installed (PublishingRajcePublishingOptionsPane* self) { + PublishingRajceAlbum** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkRadioButton* _tmp15_ = NULL; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 7846 "RajcePublishing.c" + { + gint i = 0; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + i = 0; +#line 7851 "RajcePublishing.c" + { + gboolean _tmp0_ = FALSE; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = TRUE; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + while (TRUE) { +#line 7858 "RajcePublishing.c" + gint _tmp2_ = 0; + PublishingRajceAlbum** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkComboBoxText* _tmp4_ = NULL; + PublishingRajceAlbum** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + PublishingRajceAlbum* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!_tmp0_) { +#line 7870 "RajcePublishing.c" + gint _tmp1_ = 0; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = i; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + i = _tmp1_ + 1; +#line 7876 "RajcePublishing.c" + } +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = FALSE; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = i; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->albums; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3__length1 = self->priv->albums_length1; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!(_tmp2_ < _tmp3__length1)) { +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + break; +#line 7890 "RajcePublishing.c" + } +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->existing_albums_combo; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = self->priv->albums; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5__length1 = self->priv->albums_length1; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = i; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = _tmp7_->albumName; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_combo_box_text_append_text (_tmp4_, _tmp8_); +#line 7906 "RajcePublishing.c" + } + } + } +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = self->priv->albums; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9__length1 = self->priv->albums_length1; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp9__length1 == 0) { +#line 7916 "RajcePublishing.c" + GtkComboBoxText* _tmp10_ = NULL; + GtkRadioButton* _tmp11_ = NULL; +#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = self->priv->existing_albums_combo; +#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = self->priv->use_existing_radio; +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 7927 "RajcePublishing.c" + } else { + GtkComboBoxText* _tmp12_ = NULL; + GtkComboBoxText* _tmp13_ = NULL; + GtkRadioButton* _tmp14_ = NULL; +#line 1097 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = self->priv->existing_albums_combo; +#line 1097 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = self->priv->existing_albums_combo; +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = self->priv->use_existing_radio; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 7944 "RajcePublishing.c" + } +#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = self->priv->create_new_radio; +#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_on_create_new_radio_clicked (self); +#line 7952 "RajcePublishing.c" +} + + +void publishing_rajce_publishing_options_pane_notify_publish (PublishingRajcePublishingOptionsPane* self, PublishingRajcePublishingParameters* parameters) { + PublishingRajcePublishingParameters* _tmp0_ = NULL; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_PARAMETERS (parameters)); +#line 1107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = parameters; +#line 1107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp0_); +#line 7966 "RajcePublishing.c" +} + + +void publishing_rajce_publishing_options_pane_notify_logout (PublishingRajcePublishingOptionsPane* self) { +#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 7975 "RajcePublishing.c" +} + + +GtkWidget* publishing_rajce_publishing_options_pane_get_default_widget (PublishingRajcePublishingOptionsPane* self) { + GtkWidget* result = NULL; + GtkButton* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->logout_button; +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 7993 "RajcePublishing.c" +} + + +static GtkWidget* publishing_rajce_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingRajcePublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPane); +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8012 "RajcePublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_rajce_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingRajcePublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 1124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPane); +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8025 "RajcePublishing.c" +} + + +static void _publishing_rajce_publishing_options_pane_notify_publish_publishing_rajce_publishing_options_pane_publish (PublishingRajcePublishingOptionsPane* _sender, PublishingRajcePublishingParameters* parameters, gpointer self) { +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_notify_publish ((PublishingRajcePublishingOptionsPane*) self, parameters); +#line 8032 "RajcePublishing.c" +} + + +static void _publishing_rajce_publishing_options_pane_notify_logout_publishing_rajce_publishing_options_pane_logout (PublishingRajcePublishingOptionsPane* _sender, gpointer self) { +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_notify_logout ((PublishingRajcePublishingOptionsPane*) self); +#line 8039 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingRajcePublishingOptionsPane * self; +#line 1129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPane); +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_installed (self); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (self, "publish", (GCallback) _publishing_rajce_publishing_options_pane_notify_publish_publishing_rajce_publishing_options_pane_publish, self, 0); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_connect_object (self, "logout", (GCallback) _publishing_rajce_publishing_options_pane_notify_logout_publishing_rajce_publishing_options_pane_logout, self, 0); +#line 8053 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingRajcePublishingOptionsPane * self; + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPane); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp0_, NULL, FALSE); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_rajce_publishing_options_pane_notify_publish_publishing_rajce_publishing_options_pane_publish, self); +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_rajce_publishing_options_pane_notify_logout_publishing_rajce_publishing_options_pane_logout, self); +#line 8071 "RajcePublishing.c" +} + + +static void g_cclosure_user_marshal_VOID__PUBLISHING_RAJCE_PUBLISHING_PARAMETERS (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__PUBLISHING_RAJCE_PUBLISHING_PARAMETERS) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__PUBLISHING_RAJCE_PUBLISHING_PARAMETERS callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (n_param_values == 2); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data1 = closure->data; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 8090 "RajcePublishing.c" + } else { +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + data2 = closure->data; +#line 8096 "RajcePublishing.c" + } +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + callback = (GMarshalFunc_VOID__PUBLISHING_RAJCE_PUBLISHING_PARAMETERS) (marshal_data ? marshal_data : cc->callback); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + callback (data1, publishing_rajce_value_get_publishing_parameters (param_values + 1), data2); +#line 8102 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_class_init (PublishingRajcePublishingOptionsPaneClass * klass) { +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingRajcePublishingOptionsPanePrivate)); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_rajce_publishing_options_pane_finalize; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_new ("publish", PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__PUBLISHING_RAJCE_PUBLISHING_PARAMETERS, G_TYPE_NONE, 1, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_new ("logout", PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 8117 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_rajce_publishing_options_pane_real_get_widget; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_rajce_publishing_options_pane_real_get_preferred_geometry; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_rajce_publishing_options_pane_real_on_pane_installed; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_rajce_publishing_options_pane_real_on_pane_uninstalled; +#line 8132 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_instance_init (PublishingRajcePublishingOptionsPane * self) { +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv = PUBLISHING_RAJCE_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 968 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->builder = NULL; +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->pane_widget = NULL; +#line 970 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->login_identity_label = NULL; +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->publish_to_label = NULL; +#line 972 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->use_existing_radio = NULL; +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->existing_albums_combo = NULL; +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->create_new_radio = NULL; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->new_album_entry = NULL; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->hide_check = NULL; +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->show_check = NULL; +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->publish_button = NULL; +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->logout_button = NULL; +#line 8163 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_options_pane_finalize (GObject* obj) { + PublishingRajcePublishingOptionsPane * self; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingRajcePublishingOptionsPane); +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_rajce_album_unref), NULL); +#line 966 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->username); +#line 968 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 970 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->login_identity_label); +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->publish_to_label); +#line 972 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->hide_check); +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->show_check); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_OBJECT_CLASS (publishing_rajce_publishing_options_pane_parent_class)->finalize (obj); +#line 8203 "RajcePublishing.c" +} + + +GType publishing_rajce_publishing_options_pane_get_type (void) { + static volatile gsize publishing_rajce_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajcePublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajcePublishingOptionsPane), 0, (GInstanceInitFunc) publishing_rajce_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_rajce_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_rajce_publishing_options_pane_type_id; + publishing_rajce_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingRajcePublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_rajce_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_rajce_publishing_options_pane_type_id__volatile, publishing_rajce_publishing_options_pane_type_id); + } + return publishing_rajce_publishing_options_pane_type_id__volatile; +} + + +static PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_construct (GType object_type) { + PublishingRajcePublishingParameters* self = NULL; +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajcePublishingParameters*) g_type_create_instance (object_type); +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 8227 "RajcePublishing.c" +} + + +static PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_new (void) { +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_publishing_parameters_construct (PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS); +#line 8234 "RajcePublishing.c" +} + + +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_construct_to_new_album (GType object_type, const gchar* album_name, gboolean album_hidden) { + PublishingRajcePublishingParameters* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint* _tmp5_ = NULL; +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (album_name != NULL, NULL); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajcePublishingParameters*) g_type_create_instance (object_type); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = album_name; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_name); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->album_name = _tmp1_; +#line 1155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = album_hidden; +#line 1155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = __bool_dup0 (&_tmp2_); +#line 1155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_hidden); +#line 1155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->album_hidden = _tmp3_; +#line 1156 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = 0; +#line 1156 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = __int_dup0 (&_tmp4_); +#line 1156 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_id); +#line 1156 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->album_id = _tmp5_; +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 8276 "RajcePublishing.c" +} + + +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_new_to_new_album (const gchar* album_name, gboolean album_hidden) { +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_publishing_parameters_construct_to_new_album (PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS, album_name, album_hidden); +#line 8283 "RajcePublishing.c" +} + + +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_construct_to_existing_album (GType object_type, const gchar* album_name, gint album_id) { + PublishingRajcePublishingParameters* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint* _tmp3_ = NULL; +#line 1158 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (album_name != NULL, NULL); +#line 1158 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajcePublishingParameters*) g_type_create_instance (object_type); +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = album_name; +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_name); +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->album_name = _tmp1_; +#line 1161 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_hidden); +#line 1161 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->album_hidden = NULL; +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = album_id; +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = __int_dup0 (&_tmp2_); +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_id); +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->album_id = _tmp3_; +#line 1158 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 8319 "RajcePublishing.c" +} + + +PublishingRajcePublishingParameters* publishing_rajce_publishing_parameters_new_to_existing_album (const gchar* album_name, gint album_id) { +#line 1158 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_publishing_parameters_construct_to_existing_album (PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS, album_name, album_id); +#line 8326 "RajcePublishing.c" +} + + +static void publishing_rajce_value_publishing_parameters_init (GValue* value) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 8333 "RajcePublishing.c" +} + + +static void publishing_rajce_value_publishing_parameters_free_value (GValue* value) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (value->data[0].v_pointer) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_parameters_unref (value->data[0].v_pointer); +#line 8342 "RajcePublishing.c" + } +} + + +static void publishing_rajce_value_publishing_parameters_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = publishing_rajce_publishing_parameters_ref (src_value->data[0].v_pointer); +#line 8352 "RajcePublishing.c" + } else { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 8356 "RajcePublishing.c" + } +} + + +static gpointer publishing_rajce_value_publishing_parameters_peek_pointer (const GValue* value) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 8364 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_publishing_parameters_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (collect_values[0].v_pointer) { +#line 8371 "RajcePublishing.c" + PublishingRajcePublishingParameters* object; + object = collect_values[0].v_pointer; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8378 "RajcePublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 8382 "RajcePublishing.c" + } +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = publishing_rajce_publishing_parameters_ref (object); +#line 8386 "RajcePublishing.c" + } else { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 8390 "RajcePublishing.c" + } +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 8394 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_publishing_parameters_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRajcePublishingParameters** object_p; + object_p = collect_values[0].v_pointer; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!object_p) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8405 "RajcePublishing.c" + } +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!value->data[0].v_pointer) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = NULL; +#line 8411 "RajcePublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = value->data[0].v_pointer; +#line 8415 "RajcePublishing.c" + } else { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = publishing_rajce_publishing_parameters_ref (value->data[0].v_pointer); +#line 8419 "RajcePublishing.c" + } +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 8423 "RajcePublishing.c" +} + + +GParamSpec* publishing_rajce_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRajceParamSpecPublishingParameters* spec; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return G_PARAM_SPEC (spec); +#line 8437 "RajcePublishing.c" +} + + +gpointer publishing_rajce_value_get_publishing_parameters (const GValue* value) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 8446 "RajcePublishing.c" +} + + +void publishing_rajce_value_set_publishing_parameters (GValue* value, gpointer v_object) { + PublishingRajcePublishingParameters* old; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS)); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS)); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_parameters_ref (value->data[0].v_pointer); +#line 8466 "RajcePublishing.c" + } else { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 8470 "RajcePublishing.c" + } +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_parameters_unref (old); +#line 8476 "RajcePublishing.c" + } +} + + +void publishing_rajce_value_take_publishing_parameters (GValue* value, gpointer v_object) { + PublishingRajcePublishingParameters* old; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS)); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS)); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 8495 "RajcePublishing.c" + } else { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 8499 "RajcePublishing.c" + } +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_parameters_unref (old); +#line 8505 "RajcePublishing.c" + } +} + + +static void publishing_rajce_publishing_parameters_class_init (PublishingRajcePublishingParametersClass * klass) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_publishing_parameters_parent_class = g_type_class_peek_parent (klass); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRajcePublishingParametersClass *) klass)->finalize = publishing_rajce_publishing_parameters_finalize; +#line 8515 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_parameters_instance_init (PublishingRajcePublishingParameters * self) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->ref_count = 1; +#line 8522 "RajcePublishing.c" +} + + +static void publishing_rajce_publishing_parameters_finalize (PublishingRajcePublishingParameters* obj) { + PublishingRajcePublishingParameters * self; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_PUBLISHING_PARAMETERS, PublishingRajcePublishingParameters); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_destroy (self); +#line 1145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_name); +#line 1146 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_hidden); +#line 1147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->album_id); +#line 8538 "RajcePublishing.c" +} + + +GType publishing_rajce_publishing_parameters_get_type (void) { + static volatile gsize publishing_rajce_publishing_parameters_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_publishing_parameters_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rajce_value_publishing_parameters_init, publishing_rajce_value_publishing_parameters_free_value, publishing_rajce_value_publishing_parameters_copy_value, publishing_rajce_value_publishing_parameters_peek_pointer, "p", publishing_rajce_value_publishing_parameters_collect_value, "p", publishing_rajce_value_publishing_parameters_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajcePublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajcePublishingParameters), 0, (GInstanceInitFunc) publishing_rajce_publishing_parameters_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 publishing_rajce_publishing_parameters_type_id; + publishing_rajce_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRajcePublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_rajce_publishing_parameters_type_id__volatile, publishing_rajce_publishing_parameters_type_id); + } + return publishing_rajce_publishing_parameters_type_id__volatile; +} + + +gpointer publishing_rajce_publishing_parameters_ref (gpointer instance) { + PublishingRajcePublishingParameters* self; + self = instance; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return instance; +#line 8563 "RajcePublishing.c" +} + + +void publishing_rajce_publishing_parameters_unref (gpointer instance) { + PublishingRajcePublishingParameters* self; + self = instance; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + PUBLISHING_RAJCE_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8576 "RajcePublishing.c" + } +} + + +PublishingRajceSession* publishing_rajce_session_construct (GType object_type) { + PublishingRajceSession* self = NULL; +#line 1181 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceSession*) publishing_rest_support_session_construct (object_type, ""); +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 8587 "RajcePublishing.c" +} + + +PublishingRajceSession* publishing_rajce_session_new (void) { +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_session_construct (PUBLISHING_RAJCE_TYPE_SESSION); +#line 8594 "RajcePublishing.c" +} + + +static gboolean publishing_rajce_session_real_is_authenticated (PublishingRESTSupportSession* base) { + PublishingRajceSession * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gint* _tmp2_ = NULL; +#line 1184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_RAJCE_TYPE_SESSION, PublishingRajceSession); +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = self->priv->userid; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp2_ != NULL) { +#line 8610 "RajcePublishing.c" + const gchar* _tmp3_ = NULL; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->usertoken; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _tmp3_ != NULL; +#line 8616 "RajcePublishing.c" + } else { +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = FALSE; +#line 8620 "RajcePublishing.c" + } +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp1_) { +#line 8624 "RajcePublishing.c" + const gchar* _tmp4_ = NULL; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = self->priv->username; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = _tmp4_ != NULL; +#line 8630 "RajcePublishing.c" + } else { +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = FALSE; +#line 8634 "RajcePublishing.c" + } +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp0_; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8640 "RajcePublishing.c" +} + + +void publishing_rajce_session_authenticate (PublishingRajceSession* self, const gchar* token, const gchar* name, gint id, gint maxsize, gint quality) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint* _tmp9_ = NULL; +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_SESSION (self)); +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (token != NULL); +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (name != NULL); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = token; +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->usertoken); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->usertoken = _tmp1_; +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = name; +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->username); +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->username = _tmp3_; +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = id; +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = __int_dup0 (&_tmp4_); +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->userid); +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->userid = _tmp5_; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = maxsize; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = __int_dup0 (&_tmp6_); +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->maxsize); +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->maxsize = _tmp7_; +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = quality; +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = __int_dup0 (&_tmp8_); +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->quality); +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->quality = _tmp9_; +#line 8701 "RajcePublishing.c" +} + + +void publishing_rajce_session_deauthenticate (PublishingRajceSession* self) { +#line 1198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_SESSION (self)); +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->usertoken); +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->usertoken = NULL; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->albumtoken); +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albumtoken = NULL; +#line 1202 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->albumticket); +#line 1202 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albumticket = NULL; +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->username); +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->username = NULL; +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->userid); +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->userid = NULL; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->maxsize); +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->maxsize = NULL; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->quality); +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->quality = NULL; +#line 8736 "RajcePublishing.c" +} + + +void publishing_rajce_session_set_usertoken (PublishingRajceSession* self, const gchar* usertoken) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_SESSION (self)); +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = usertoken; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->usertoken); +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->usertoken = _tmp1_; +#line 8753 "RajcePublishing.c" +} + + +void publishing_rajce_session_set_albumtoken (PublishingRajceSession* self, const gchar* albumtoken) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_SESSION (self)); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = albumtoken; +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->albumtoken); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albumtoken = _tmp1_; +#line 8770 "RajcePublishing.c" +} + + +void publishing_rajce_session_set_albumticket (PublishingRajceSession* self, const gchar* albumticket) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_SESSION (self)); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = albumticket; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->albumticket); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albumticket = _tmp1_; +#line 8787 "RajcePublishing.c" +} + + +gchar* publishing_rajce_session_get_usertoken (PublishingRajceSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (self), NULL); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->usertoken; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8805 "RajcePublishing.c" +} + + +gchar* publishing_rajce_session_get_albumtoken (PublishingRajceSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (self), NULL); +#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->albumtoken; +#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8823 "RajcePublishing.c" +} + + +gchar* publishing_rajce_session_get_albumticket (PublishingRajceSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (self), NULL); +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->albumticket; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8841 "RajcePublishing.c" +} + + +gchar* publishing_rajce_session_get_username (PublishingRajceSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (self), NULL); +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->username; +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp1_; +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8859 "RajcePublishing.c" +} + + +gint publishing_rajce_session_get_maxsize (PublishingRajceSession* self) { + gint result = 0; + gint* _tmp0_ = NULL; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (self), 0); +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->maxsize; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = *_tmp0_; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 8874 "RajcePublishing.c" +} + + +static void publishing_rajce_session_class_init (PublishingRajceSessionClass * klass) { +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_parent_class = g_type_class_peek_parent (klass); +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_rajce_session_finalize; +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingRajceSessionPrivate)); +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_rajce_session_real_is_authenticated; +#line 8887 "RajcePublishing.c" +} + + +static void publishing_rajce_session_instance_init (PublishingRajceSession * self) { +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv = PUBLISHING_RAJCE_SESSION_GET_PRIVATE (self); +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->usertoken = NULL; +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albumtoken = NULL; +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->albumticket = NULL; +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->username = NULL; +#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->userid = NULL; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->maxsize = NULL; +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->quality = NULL; +#line 8908 "RajcePublishing.c" +} + + +static void publishing_rajce_session_finalize (PublishingRESTSupportSession* obj) { + PublishingRajceSession * self; +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_SESSION, PublishingRajceSession); +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->usertoken); +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->albumtoken); +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->albumticket); +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->username); +#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->userid); +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->maxsize); +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->quality); +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + PUBLISHING_REST_SUPPORT_SESSION_CLASS (publishing_rajce_session_parent_class)->finalize (obj); +#line 8932 "RajcePublishing.c" +} + + +/** + * Session class that keeps track of the credentials + */ +GType publishing_rajce_session_get_type (void) { + static volatile gsize publishing_rajce_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_session_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceSession), 0, (GInstanceInitFunc) publishing_rajce_session_instance_init, NULL }; + GType publishing_rajce_session_type_id; + publishing_rajce_session_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_SESSION, "PublishingRajceSession", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_session_type_id__volatile, publishing_rajce_session_type_id); + } + return publishing_rajce_session_type_id__volatile; +} + + +static gpointer _publishing_rajce_arg_item_ref0 (gpointer self) { +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self ? publishing_rajce_arg_item_ref (self) : NULL; +#line 8954 "RajcePublishing.c" +} + + +PublishingRajceArgItem* publishing_rajce_arg_item_construct (GType object_type, const gchar* k, const gchar* v) { + PublishingRajceArgItem* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRajceArgItem** _tmp4_ = NULL; +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceArgItem*) g_type_create_instance (object_type); +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = k; +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->key); +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->key = _tmp1_; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = v; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->val); +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->val = _tmp3_; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = g_new0 (PublishingRajceArgItem*, 0 + 1); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->children = (_vala_array_free (self->children, self->children_length1, (GDestroyNotify) publishing_rajce_arg_item_unref), NULL); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->children = _tmp4_; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->children_length1 = 0; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->_children_size_ = self->children_length1; +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 8995 "RajcePublishing.c" +} + + +PublishingRajceArgItem* publishing_rajce_arg_item_new (const gchar* k, const gchar* v) { +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_arg_item_construct (PUBLISHING_RAJCE_TYPE_ARG_ITEM, k, v); +#line 9002 "RajcePublishing.c" +} + + +static void _vala_array_add6 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 9013 "RajcePublishing.c" + } +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 9019 "RajcePublishing.c" +} + + +void publishing_rajce_arg_item_AddChild (PublishingRajceArgItem* self, PublishingRajceArgItem* child) { + PublishingRajceArgItem** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingRajceArgItem* _tmp1_ = NULL; + PublishingRajceArgItem* _tmp2_ = NULL; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_ARG_ITEM (self)); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_ARG_ITEM (child)); +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->children; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0__length1 = self->children_length1; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = child; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = _publishing_rajce_arg_item_ref0 (_tmp1_); +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add6 (&self->children, &self->children_length1, &self->_children_size_, _tmp2_); +#line 9042 "RajcePublishing.c" +} + + +void publishing_rajce_arg_item_AddChildren (PublishingRajceArgItem* self, PublishingRajceArgItem** newchildren, int newchildren_length1) { + PublishingRajceArgItem** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 1238 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_ARG_ITEM (self)); +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = newchildren; +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0__length1 = newchildren_length1; +#line 9055 "RajcePublishing.c" + { + PublishingRajceArgItem** child_collection = NULL; + gint child_collection_length1 = 0; + gint _child_collection_size_ = 0; + gint child_it = 0; +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child_collection = _tmp0_; +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child_collection_length1 = _tmp0__length1; +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + for (child_it = 0; child_it < _tmp0__length1; child_it = child_it + 1) { +#line 9067 "RajcePublishing.c" + PublishingRajceArgItem* _tmp1_ = NULL; + PublishingRajceArgItem* child = NULL; +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _publishing_rajce_arg_item_ref0 (child_collection[child_it]); +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child = _tmp1_; +#line 9074 "RajcePublishing.c" + { + PublishingRajceArgItem* _tmp2_ = NULL; +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = child; +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_arg_item_AddChild (self, _tmp2_); +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_arg_item_unref0 (child); +#line 9083 "RajcePublishing.c" + } + } + } +} + + +static void publishing_rajce_value_arg_item_init (GValue* value) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9093 "RajcePublishing.c" +} + + +static void publishing_rajce_value_arg_item_free_value (GValue* value) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (value->data[0].v_pointer) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_arg_item_unref (value->data[0].v_pointer); +#line 9102 "RajcePublishing.c" + } +} + + +static void publishing_rajce_value_arg_item_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = publishing_rajce_arg_item_ref (src_value->data[0].v_pointer); +#line 9112 "RajcePublishing.c" + } else { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 9116 "RajcePublishing.c" + } +} + + +static gpointer publishing_rajce_value_arg_item_peek_pointer (const GValue* value) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 9124 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_arg_item_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (collect_values[0].v_pointer) { +#line 9131 "RajcePublishing.c" + PublishingRajceArgItem* object; + object = collect_values[0].v_pointer; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9138 "RajcePublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 9142 "RajcePublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = publishing_rajce_arg_item_ref (object); +#line 9146 "RajcePublishing.c" + } else { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9150 "RajcePublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 9154 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_arg_item_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRajceArgItem** object_p; + object_p = collect_values[0].v_pointer; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!object_p) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 9165 "RajcePublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!value->data[0].v_pointer) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = NULL; +#line 9171 "RajcePublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = value->data[0].v_pointer; +#line 9175 "RajcePublishing.c" + } else { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = publishing_rajce_arg_item_ref (value->data[0].v_pointer); +#line 9179 "RajcePublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 9183 "RajcePublishing.c" +} + + +GParamSpec* publishing_rajce_param_spec_arg_item (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRajceParamSpecArgItem* spec; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_RAJCE_TYPE_ARG_ITEM), NULL); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return G_PARAM_SPEC (spec); +#line 9197 "RajcePublishing.c" +} + + +gpointer publishing_rajce_value_get_arg_item (const GValue* value) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_ARG_ITEM), NULL); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 9206 "RajcePublishing.c" +} + + +void publishing_rajce_value_set_arg_item (GValue* value, gpointer v_object) { + PublishingRajceArgItem* old; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_ARG_ITEM)); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_ARG_ITEM)); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_arg_item_ref (value->data[0].v_pointer); +#line 9226 "RajcePublishing.c" + } else { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9230 "RajcePublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_arg_item_unref (old); +#line 9236 "RajcePublishing.c" + } +} + + +void publishing_rajce_value_take_arg_item (GValue* value, gpointer v_object) { + PublishingRajceArgItem* old; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_ARG_ITEM)); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_ARG_ITEM)); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 9255 "RajcePublishing.c" + } else { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9259 "RajcePublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_arg_item_unref (old); +#line 9265 "RajcePublishing.c" + } +} + + +static void publishing_rajce_arg_item_class_init (PublishingRajceArgItemClass * klass) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_arg_item_parent_class = g_type_class_peek_parent (klass); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRajceArgItemClass *) klass)->finalize = publishing_rajce_arg_item_finalize; +#line 9275 "RajcePublishing.c" +} + + +static void publishing_rajce_arg_item_instance_init (PublishingRajceArgItem * self) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->ref_count = 1; +#line 9282 "RajcePublishing.c" +} + + +static void publishing_rajce_arg_item_finalize (PublishingRajceArgItem* obj) { + PublishingRajceArgItem * self; + PublishingRajceArgItem** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_ARG_ITEM, PublishingRajceArgItem); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_destroy (self); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->children; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0__length1 = self->children_length1; +#line 9298 "RajcePublishing.c" + { + PublishingRajceArgItem** child_collection = NULL; + gint child_collection_length1 = 0; + gint _child_collection_size_ = 0; + gint child_it = 0; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child_collection = _tmp0_; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child_collection_length1 = _tmp0__length1; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + for (child_it = 0; child_it < _tmp0__length1; child_it = child_it + 1) { +#line 9310 "RajcePublishing.c" + PublishingRajceArgItem* _tmp1_ = NULL; + PublishingRajceArgItem* child = NULL; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _publishing_rajce_arg_item_ref0 (child_collection[child_it]); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child = _tmp1_; +#line 9317 "RajcePublishing.c" + { +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_arg_item_unref0 (child); +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child = NULL; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_arg_item_unref0 (child); +#line 9325 "RajcePublishing.c" + } + } + } +#line 1224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->key); +#line 1225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->val); +#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->children = (_vala_array_free (self->children, self->children_length1, (GDestroyNotify) publishing_rajce_arg_item_unref), NULL); +#line 9335 "RajcePublishing.c" +} + + +GType publishing_rajce_arg_item_get_type (void) { + static volatile gsize publishing_rajce_arg_item_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_arg_item_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rajce_value_arg_item_init, publishing_rajce_value_arg_item_free_value, publishing_rajce_value_arg_item_copy_value, publishing_rajce_value_arg_item_peek_pointer, "p", publishing_rajce_value_arg_item_collect_value, "p", publishing_rajce_value_arg_item_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceArgItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_arg_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceArgItem), 0, (GInstanceInitFunc) publishing_rajce_arg_item_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 publishing_rajce_arg_item_type_id; + publishing_rajce_arg_item_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRajceArgItem", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_rajce_arg_item_type_id__volatile, publishing_rajce_arg_item_type_id); + } + return publishing_rajce_arg_item_type_id__volatile; +} + + +gpointer publishing_rajce_arg_item_ref (gpointer instance) { + PublishingRajceArgItem* self; + self = instance; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return instance; +#line 9360 "RajcePublishing.c" +} + + +void publishing_rajce_arg_item_unref (gpointer instance) { + PublishingRajceArgItem* self; + self = instance; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + PUBLISHING_RAJCE_ARG_ITEM_GET_CLASS (self)->finalize (self); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9373 "RajcePublishing.c" + } +} + + +PublishingRajceLiveApiRequest* publishing_rajce_live_api_request_construct (GType object_type, const gchar* cmd) { + PublishingRajceLiveApiRequest* self = NULL; + PublishingRajceArgItem** _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 1261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (cmd != NULL, NULL); +#line 1261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceLiveApiRequest*) g_type_create_instance (object_type); +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = g_new0 (PublishingRajceArgItem*, 0 + 1); +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_params = (_vala_array_free (self->priv->_params, self->priv->_params_length1, (GDestroyNotify) publishing_rajce_arg_item_unref), NULL); +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_params = _tmp0_; +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_params_length1 = 0; +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->__params_size_ = self->priv->_params_length1; +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = cmd; +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->_cmd); +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_cmd = _tmp2_; +#line 1261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 9407 "RajcePublishing.c" +} + + +PublishingRajceLiveApiRequest* publishing_rajce_live_api_request_new (const gchar* cmd) { +#line 1261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_live_api_request_construct (PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST, cmd); +#line 9414 "RajcePublishing.c" +} + + +static void _vala_array_add7 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 9425 "RajcePublishing.c" + } +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 9431 "RajcePublishing.c" +} + + +void publishing_rajce_live_api_request_AddParam (PublishingRajceLiveApiRequest* self, const gchar* name, const gchar* val) { + PublishingRajceArgItem** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRajceArgItem* _tmp3_ = NULL; +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_LIVE_API_REQUEST (self)); +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (name != NULL); +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (val != NULL); +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = self->priv->_params; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0__length1 = self->priv->_params_length1; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = name; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = val; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = publishing_rajce_arg_item_new (_tmp1_, _tmp2_); +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add7 (&self->priv->_params, &self->priv->_params_length1, &self->priv->__params_size_, _tmp3_); +#line 9459 "RajcePublishing.c" +} + + +void publishing_rajce_live_api_request_AddParamBool (PublishingRajceLiveApiRequest* self, const gchar* name, gboolean val) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; +#line 1276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_LIVE_API_REQUEST (self)); +#line 1276 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (name != NULL); +#line 1278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = val; +#line 1278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp1_) { +#line 1278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = "1"; +#line 9477 "RajcePublishing.c" + } else { +#line 1278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = "0"; +#line 9481 "RajcePublishing.c" + } +#line 1278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = name; +#line 1278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (self, _tmp2_, _tmp0_); +#line 9487 "RajcePublishing.c" +} + + +void publishing_rajce_live_api_request_AddParamInt (PublishingRajceLiveApiRequest* self, const gchar* name, gint val) { + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_LIVE_API_REQUEST (self)); +#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (name != NULL); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = name; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = val; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = g_strdup_printf ("%i", _tmp1_); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = _tmp2_; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (self, _tmp0_, _tmp3_); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp3_); +#line 9512 "RajcePublishing.c" +} + + +static void _vala_array_add8 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 9523 "RajcePublishing.c" + } +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 9529 "RajcePublishing.c" +} + + +void publishing_rajce_live_api_request_AddParamNode (PublishingRajceLiveApiRequest* self, const gchar* name, PublishingRajceArgItem** val, int val_length1) { + PublishingRajceArgItem* newItem = NULL; + const gchar* _tmp0_ = NULL; + PublishingRajceArgItem* _tmp1_ = NULL; + PublishingRajceArgItem** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PublishingRajceArgItem** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PublishingRajceArgItem* _tmp4_ = NULL; +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_LIVE_API_REQUEST (self)); +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (name != NULL); +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = name; +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = publishing_rajce_arg_item_new (_tmp0_, NULL); +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + newItem = _tmp1_; +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = val; +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2__length1 = val_length1; +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_arg_item_AddChildren (newItem, _tmp2_, _tmp2__length1); +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = self->priv->_params; +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3__length1 = self->priv->_params_length1; +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = _publishing_rajce_arg_item_ref0 (newItem); +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add8 (&self->priv->_params, &self->priv->_params_length1, &self->priv->__params_size_, _tmp4_); +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_arg_item_unref0 (newItem); +#line 9568 "RajcePublishing.c" +} + + +gchar* publishing_rajce_live_api_request_Params2XmlString (PublishingRajceLiveApiRequest* self, gboolean urlencode) { + gchar* result = NULL; + xmlDoc* doc = NULL; + xmlDoc* _tmp0_ = NULL; + xmlNode* root = NULL; + xmlNode* _tmp1_ = NULL; + xmlDoc* _tmp2_ = NULL; + xmlNode* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + xmlNode* par = NULL; + xmlNode* _tmp6_ = NULL; + xmlNode* _tmp7_ = NULL; + PublishingRajceArgItem** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gchar* xmlstr = NULL; + xmlDoc* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + xmlDoc* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_LIVE_API_REQUEST (self), NULL); +#line 1308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = xmlNewDoc ((xmlChar*) "1.0"); +#line 1308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + doc = _tmp0_; +#line 1309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = xmlNewNode (NULL, (xmlChar*) "request"); +#line 1309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + root = _tmp1_; +#line 1310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = doc; +#line 1310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = root; +#line 1310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xmlDocSetRootElement (_tmp2_, _tmp3_); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = root; +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = self->priv->_cmd; +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xmlNewTextChild (_tmp4_, NULL, (xmlChar*) "command", (xmlChar*) _tmp5_); +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = root; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = xmlNewTextChild (_tmp6_, NULL, (xmlChar*) "parameters", (xmlChar*) ""); +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + par = _tmp7_; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = self->priv->_params; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8__length1 = self->priv->_params_length1; +#line 9624 "RajcePublishing.c" + { + PublishingRajceArgItem** arg_collection = NULL; + gint arg_collection_length1 = 0; + gint _arg_collection_size_ = 0; + gint arg_it = 0; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + arg_collection = _tmp8_; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + arg_collection_length1 = _tmp8__length1; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + for (arg_it = 0; arg_it < _tmp8__length1; arg_it = arg_it + 1) { +#line 9636 "RajcePublishing.c" + PublishingRajceArgItem* _tmp9_ = NULL; + PublishingRajceArgItem* arg = NULL; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _publishing_rajce_arg_item_ref0 (arg_collection[arg_it]); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + arg = _tmp9_; +#line 9643 "RajcePublishing.c" + { + xmlNode* _tmp10_ = NULL; + PublishingRajceArgItem* _tmp11_ = NULL; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = par; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = arg; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_WriteParam (_tmp10_, _tmp11_); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_arg_item_unref0 (arg); +#line 9655 "RajcePublishing.c" + } + } + } +#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = doc; +#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xmlDocDumpMemoryEnc (_tmp12_, (xmlChar**) (&_tmp13_), NULL, "UTF-8"); +#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xmlstr); +#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xmlstr = _tmp13_; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = doc; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xmlFreeDoc (_tmp14_); +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = urlencode; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp15_) { +#line 9675 "RajcePublishing.c" + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = xmlstr; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = soup_uri_encode (_tmp16_, "&;"); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp17_; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xmlstr); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 9688 "RajcePublishing.c" + } +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = xmlstr; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 9694 "RajcePublishing.c" +} + + +static void publishing_rajce_live_api_request_WriteParam (xmlNode* node, PublishingRajceArgItem* arg) { + PublishingRajceArgItem* _tmp0_ = NULL; + PublishingRajceArgItem** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 1329 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (PUBLISHING_RAJCE_IS_ARG_ITEM (arg)); +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = arg; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = _tmp0_->children; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1__length1 = _tmp0_->children_length1; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp1__length1 == 0) { +#line 9712 "RajcePublishing.c" + xmlNode* _tmp2_ = NULL; + PublishingRajceArgItem* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PublishingRajceArgItem* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = node; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = arg; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = _tmp3_->key; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = arg; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = _tmp5_->val; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xmlNewTextChild (_tmp2_, NULL, (xmlChar*) _tmp4_, (xmlChar*) _tmp6_); +#line 9730 "RajcePublishing.c" + } else { + xmlNode* subnode = NULL; + xmlNode* _tmp7_ = NULL; + PublishingRajceArgItem* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + xmlNode* _tmp10_ = NULL; + PublishingRajceArgItem* _tmp11_ = NULL; + PublishingRajceArgItem** _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = node; +#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = arg; +#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = _tmp8_->key; +#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = xmlNewTextChild (_tmp7_, NULL, (xmlChar*) _tmp9_, (xmlChar*) ""); +#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + subnode = _tmp10_; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = arg; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = _tmp11_->children; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12__length1 = _tmp11_->children_length1; +#line 9756 "RajcePublishing.c" + { + PublishingRajceArgItem** child_collection = NULL; + gint child_collection_length1 = 0; + gint _child_collection_size_ = 0; + gint child_it = 0; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child_collection = _tmp12_; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child_collection_length1 = _tmp12__length1; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + for (child_it = 0; child_it < _tmp12__length1; child_it = child_it + 1) { +#line 9768 "RajcePublishing.c" + PublishingRajceArgItem* _tmp13_ = NULL; + PublishingRajceArgItem* child = NULL; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = _publishing_rajce_arg_item_ref0 (child_collection[child_it]); +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + child = _tmp13_; +#line 9775 "RajcePublishing.c" + { + xmlNode* _tmp14_ = NULL; + PublishingRajceArgItem* _tmp15_ = NULL; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = subnode; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = child; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_WriteParam (_tmp14_, _tmp15_); +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_arg_item_unref0 (child); +#line 9787 "RajcePublishing.c" + } + } + } + } +} + + +static void publishing_rajce_value_live_api_request_init (GValue* value) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9798 "RajcePublishing.c" +} + + +static void publishing_rajce_value_live_api_request_free_value (GValue* value) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (value->data[0].v_pointer) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_unref (value->data[0].v_pointer); +#line 9807 "RajcePublishing.c" + } +} + + +static void publishing_rajce_value_live_api_request_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = publishing_rajce_live_api_request_ref (src_value->data[0].v_pointer); +#line 9817 "RajcePublishing.c" + } else { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 9821 "RajcePublishing.c" + } +} + + +static gpointer publishing_rajce_value_live_api_request_peek_pointer (const GValue* value) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 9829 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_live_api_request_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (collect_values[0].v_pointer) { +#line 9836 "RajcePublishing.c" + PublishingRajceLiveApiRequest* object; + object = collect_values[0].v_pointer; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9843 "RajcePublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 9847 "RajcePublishing.c" + } +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = publishing_rajce_live_api_request_ref (object); +#line 9851 "RajcePublishing.c" + } else { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9855 "RajcePublishing.c" + } +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 9859 "RajcePublishing.c" +} + + +static gchar* publishing_rajce_value_live_api_request_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingRajceLiveApiRequest** object_p; + object_p = collect_values[0].v_pointer; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!object_p) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 9870 "RajcePublishing.c" + } +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (!value->data[0].v_pointer) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = NULL; +#line 9876 "RajcePublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = value->data[0].v_pointer; +#line 9880 "RajcePublishing.c" + } else { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *object_p = publishing_rajce_live_api_request_ref (value->data[0].v_pointer); +#line 9884 "RajcePublishing.c" + } +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 9888 "RajcePublishing.c" +} + + +GParamSpec* publishing_rajce_param_spec_live_api_request (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingRajceParamSpecLiveApiRequest* spec; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST), NULL); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return G_PARAM_SPEC (spec); +#line 9902 "RajcePublishing.c" +} + + +gpointer publishing_rajce_value_get_live_api_request (const GValue* value) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST), NULL); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return value->data[0].v_pointer; +#line 9911 "RajcePublishing.c" +} + + +void publishing_rajce_value_set_live_api_request (GValue* value, gpointer v_object) { + PublishingRajceLiveApiRequest* old; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST)); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST)); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_ref (value->data[0].v_pointer); +#line 9931 "RajcePublishing.c" + } else { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9935 "RajcePublishing.c" + } +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_unref (old); +#line 9941 "RajcePublishing.c" + } +} + + +void publishing_rajce_value_take_live_api_request (GValue* value, gpointer v_object) { + PublishingRajceLiveApiRequest* old; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST)); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + old = value->data[0].v_pointer; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (v_object) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST)); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = v_object; +#line 9960 "RajcePublishing.c" + } else { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + value->data[0].v_pointer = NULL; +#line 9964 "RajcePublishing.c" + } +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (old) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_unref (old); +#line 9970 "RajcePublishing.c" + } +} + + +static void publishing_rajce_live_api_request_class_init (PublishingRajceLiveApiRequestClass * klass) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_parent_class = g_type_class_peek_parent (klass); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRajceLiveApiRequestClass *) klass)->finalize = publishing_rajce_live_api_request_finalize; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingRajceLiveApiRequestPrivate)); +#line 9982 "RajcePublishing.c" +} + + +static void publishing_rajce_live_api_request_instance_init (PublishingRajceLiveApiRequest * self) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv = PUBLISHING_RAJCE_LIVE_API_REQUEST_GET_PRIVATE (self); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->ref_count = 1; +#line 9991 "RajcePublishing.c" +} + + +static void publishing_rajce_live_api_request_finalize (PublishingRajceLiveApiRequest* obj) { + PublishingRajceLiveApiRequest * self; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_LIVE_API_REQUEST, PublishingRajceLiveApiRequest); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_signal_handlers_destroy (self); +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->_params = (_vala_array_free (self->priv->_params, self->priv->_params_length1, (GDestroyNotify) publishing_rajce_arg_item_unref), NULL); +#line 1260 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (self->priv->_cmd); +#line 10005 "RajcePublishing.c" +} + + +GType publishing_rajce_live_api_request_get_type (void) { + static volatile gsize publishing_rajce_live_api_request_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_live_api_request_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_rajce_value_live_api_request_init, publishing_rajce_value_live_api_request_free_value, publishing_rajce_value_live_api_request_copy_value, publishing_rajce_value_live_api_request_peek_pointer, "p", publishing_rajce_value_live_api_request_collect_value, "p", publishing_rajce_value_live_api_request_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceLiveApiRequestClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_live_api_request_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceLiveApiRequest), 0, (GInstanceInitFunc) publishing_rajce_live_api_request_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 publishing_rajce_live_api_request_type_id; + publishing_rajce_live_api_request_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingRajceLiveApiRequest", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_rajce_live_api_request_type_id__volatile, publishing_rajce_live_api_request_type_id); + } + return publishing_rajce_live_api_request_type_id__volatile; +} + + +gpointer publishing_rajce_live_api_request_ref (gpointer instance) { + PublishingRajceLiveApiRequest* self; + self = instance; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return instance; +#line 10030 "RajcePublishing.c" +} + + +void publishing_rajce_live_api_request_unref (gpointer instance) { + PublishingRajceLiveApiRequest* self; + self = instance; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + PUBLISHING_RAJCE_LIVE_API_REQUEST_GET_CLASS (self)->finalize (self); +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 10043 "RajcePublishing.c" + } +} + + +PublishingRajceTransaction* publishing_rajce_transaction_construct (GType object_type, PublishingRajceSession* session) { + PublishingRajceTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1357 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1357 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceTransaction*) publishing_rest_support_transaction_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 10059 "RajcePublishing.c" +} + + +PublishingRajceTransaction* publishing_rajce_transaction_new (PublishingRajceSession* session) { +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_transaction_construct (PUBLISHING_RAJCE_TYPE_TRANSACTION, session); +#line 10066 "RajcePublishing.c" +} + + +gchar* publishing_rajce_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc) { + gchar* result = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; + xmlNode* _tmp2_ = NULL; + gchar* name = NULL; + xmlNode* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; + xmlNode* errcode = NULL; + xmlNode* _result_ = NULL; + xmlNode* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gint _tmp22_ = 0; + xmlNode* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + GError * _inner_error_ = NULL; +#line 1360 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (doc), NULL); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = doc; +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_get_root_node (_tmp0_); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + root = _tmp1_; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = root; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp2_ == NULL) { +#line 10106 "RajcePublishing.c" + gchar* _tmp3_ = NULL; +#line 1365 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = g_strdup ("No XML returned from server"); +#line 1365 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp3_; +#line 1365 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 10114 "RajcePublishing.c" + } +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = root; +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_->name; +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + name = _tmp6_; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = name; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp8_ == NULL) { +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = TRUE; +#line 10130 "RajcePublishing.c" + } else { + const gchar* _tmp9_ = NULL; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = name; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = g_strcmp0 (_tmp9_, "response") != 0; +#line 10137 "RajcePublishing.c" + } +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp7_) { +#line 10141 "RajcePublishing.c" + gchar* _tmp10_ = NULL; +#line 1372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = g_strdup ("No response from Rajce in XML"); +#line 1372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp10_; +#line 1372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (name); +#line 1372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 10151 "RajcePublishing.c" + } + { + xmlNode* _tmp11_ = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + xmlNode* _tmp14_ = NULL; + xmlNode* _tmp15_ = NULL; + PublishingRESTSupportXmlDocument* _tmp16_ = NULL; + xmlNode* _tmp17_ = NULL; + xmlNode* _tmp18_ = NULL; +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = doc; +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = root; +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = publishing_rest_support_xml_document_get_named_child (_tmp12_, _tmp13_, "errorCode", &_inner_error_); +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = _tmp14_; +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 10174 "RajcePublishing.c" + goto __catch31_spit_publishing_publishing_error; + } +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (name); +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 10185 "RajcePublishing.c" + } +#line 1378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + errcode = _tmp11_; +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = doc; +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = root; +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = publishing_rest_support_xml_document_get_named_child (_tmp16_, _tmp17_, "result", &_inner_error_); +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = _tmp18_; +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 10201 "RajcePublishing.c" + goto __catch31_spit_publishing_publishing_error; + } +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (name); +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.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 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 10212 "RajcePublishing.c" + } +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _result_ = _tmp15_; +#line 10216 "RajcePublishing.c" + } + goto __finally31; + __catch31_spit_publishing_publishing_error: + { + GError* err = NULL; +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + err = _inner_error_; +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _inner_error_ = NULL; +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = NULL; +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_error_free0 (err); +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (name); +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 10234 "RajcePublishing.c" + } + __finally31: +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (name); +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_clear_error (&_inner_error_); +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return NULL; +#line 10247 "RajcePublishing.c" + } +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = errcode; +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = (gchar*) xmlNodeGetContent (_tmp19_); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = _tmp20_; +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = atoi (_tmp21_); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = _result_; +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = (gchar*) xmlNodeGetContent (_tmp23_); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = _tmp24_; +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = g_strdup_printf ("999 Rajce Error [%d]: %s", _tmp22_, _tmp25_); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = _tmp26_; +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp25_); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp21_); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + result = _tmp27_; +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (name); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return result; +#line 10277 "RajcePublishing.c" +} + + +static void publishing_rajce_transaction_class_init (PublishingRajceTransactionClass * klass) { +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10284 "RajcePublishing.c" +} + + +static void publishing_rajce_transaction_instance_init (PublishingRajceTransaction * self) { +} + + +/** + * Generic REST transaction class. + * + * This class implements the generic logic for all REST transactions used + * by the Rajce publishing plugin. + */ +GType publishing_rajce_transaction_get_type (void) { + static volatile gsize publishing_rajce_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceTransaction), 0, (GInstanceInitFunc) publishing_rajce_transaction_instance_init, NULL }; + GType publishing_rajce_transaction_type_id; + publishing_rajce_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingRajceTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_transaction_type_id__volatile, publishing_rajce_transaction_type_id); + } + return publishing_rajce_transaction_type_id__volatile; +} + + +PublishingRajceSessionLoginTransaction* publishing_rajce_session_login_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, const gchar* username, const gchar* token) { + PublishingRajceSessionLoginTransaction* self = NULL; + const gchar* _tmp0_ = NULL; + PublishingRajceSession* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* xml = NULL; + gchar* _tmp6_ = NULL; +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (token != NULL, NULL); +#line 1396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = url; +#line 1396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:1396: SessionLoginTransaction: URL: %s", _tmp0_); +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = session; +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = url; +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceSessionLoginTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp2_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = publishing_rajce_live_api_request_new ("login"); +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp3_; +#line 1399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "clientID", "RajceShotwellPlugin"); +#line 1400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "currentVersion", "1.1.1.1"); +#line 1401 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = username; +#line 1401 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "login", _tmp4_); +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = token; +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "password", _tmp5_); +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = publishing_rajce_live_api_request_Params2XmlString (req, TRUE); +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp6_; +#line 1404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 10367 "RajcePublishing.c" +} + + +PublishingRajceSessionLoginTransaction* publishing_rajce_session_login_transaction_new (PublishingRajceSession* session, const gchar* url, const gchar* username, const gchar* token) { +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_session_login_transaction_construct (PUBLISHING_RAJCE_TYPE_SESSION_LOGIN_TRANSACTION, session, url, username, token); +#line 10374 "RajcePublishing.c" +} + + +static void publishing_rajce_session_login_transaction_class_init (PublishingRajceSessionLoginTransactionClass * klass) { +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_session_login_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10381 "RajcePublishing.c" +} + + +static void publishing_rajce_session_login_transaction_instance_init (PublishingRajceSessionLoginTransaction * self) { +} + + +/** + * Transaction used to implement the network login interaction. + */ +GType publishing_rajce_session_login_transaction_get_type (void) { + static volatile gsize publishing_rajce_session_login_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_session_login_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceSessionLoginTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_session_login_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceSessionLoginTransaction), 0, (GInstanceInitFunc) publishing_rajce_session_login_transaction_instance_init, NULL }; + GType publishing_rajce_session_login_transaction_type_id; + publishing_rajce_session_login_transaction_type_id = g_type_register_static (PUBLISHING_RAJCE_TYPE_TRANSACTION, "PublishingRajceSessionLoginTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_session_login_transaction_type_id__volatile, publishing_rajce_session_login_transaction_type_id); + } + return publishing_rajce_session_login_transaction_type_id__volatile; +} + + +static void _vala_array_add9 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 10411 "RajcePublishing.c" + } +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 10417 "RajcePublishing.c" +} + + +static void _vala_array_add10 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 10428 "RajcePublishing.c" + } +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 10434 "RajcePublishing.c" +} + + +static void _vala_array_add11 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 10445 "RajcePublishing.c" + } +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 10451 "RajcePublishing.c" +} + + +static void _vala_array_add12 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 10462 "RajcePublishing.c" + } +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 10468 "RajcePublishing.c" +} + + +static void _vala_array_add13 (PublishingRajceArgItem*** array, int* length, int* size, PublishingRajceArgItem* value) { +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*length) == (*size)) { +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + *array = g_renew (PublishingRajceArgItem*, *array, (*size) + 1); +#line 10479 "RajcePublishing.c" + } +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[(*length)++] = value; +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + (*array)[*length] = NULL; +#line 10485 "RajcePublishing.c" +} + + +PublishingRajceGetAlbumsTransaction* publishing_rajce_get_albums_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url) { + PublishingRajceGetAlbumsTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp2_ = NULL; + PublishingRajceSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingRajceArgItem** columns = NULL; + PublishingRajceArgItem** _tmp6_ = NULL; + gint columns_length1 = 0; + gint _columns_size_ = 0; + PublishingRajceArgItem** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + PublishingRajceArgItem* _tmp8_ = NULL; + PublishingRajceArgItem** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + PublishingRajceArgItem* _tmp10_ = NULL; + PublishingRajceArgItem** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + PublishingRajceArgItem* _tmp12_ = NULL; + PublishingRajceArgItem** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + PublishingRajceArgItem* _tmp14_ = NULL; + PublishingRajceArgItem** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + PublishingRajceArgItem* _tmp16_ = NULL; + PublishingRajceArgItem** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gchar* xml = NULL; + gchar* _tmp18_ = NULL; +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = url; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceGetAlbumsTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_live_api_request_new ("getAlbumList"); +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp2_; +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = session; +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_session_get_usertoken (_tmp3_); +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "token", _tmp5_); +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp5_); +#line 1418 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = g_new0 (PublishingRajceArgItem*, 0 + 1); +#line 1418 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + columns = _tmp6_; +#line 1418 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + columns_length1 = 0; +#line 1418 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _columns_size_ = columns_length1; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = columns; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7__length1 = columns_length1; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishing_rajce_arg_item_new ("column", "viewCount"); +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add9 (&columns, &columns_length1, &_columns_size_, _tmp8_); +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = columns; +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9__length1 = columns_length1; +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = publishing_rajce_arg_item_new ("column", "isFavourite"); +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add10 (&columns, &columns_length1, &_columns_size_, _tmp10_); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = columns; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11__length1 = columns_length1; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = publishing_rajce_arg_item_new ("column", "descriptionHtml"); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add11 (&columns, &columns_length1, &_columns_size_, _tmp12_); +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = columns; +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13__length1 = columns_length1; +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = publishing_rajce_arg_item_new ("column", "coverPhotoID"); +#line 1422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add12 (&columns, &columns_length1, &_columns_size_, _tmp14_); +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = columns; +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15__length1 = columns_length1; +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = publishing_rajce_arg_item_new ("column", "localPath"); +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _vala_array_add13 (&columns, &columns_length1, &_columns_size_, _tmp16_); +#line 1424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = columns; +#line 1424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17__length1 = columns_length1; +#line 1424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParamNode (req, "columns", _tmp17_, _tmp17__length1); +#line 1425 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = publishing_rajce_live_api_request_Params2XmlString (req, TRUE); +#line 1425 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp18_; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + columns = (_vala_array_free (columns, columns_length1, (GDestroyNotify) publishing_rajce_arg_item_unref), NULL); +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 10613 "RajcePublishing.c" +} + + +PublishingRajceGetAlbumsTransaction* publishing_rajce_get_albums_transaction_new (PublishingRajceSession* session, const gchar* url) { +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_get_albums_transaction_construct (PUBLISHING_RAJCE_TYPE_GET_ALBUMS_TRANSACTION, session, url); +#line 10620 "RajcePublishing.c" +} + + +static void publishing_rajce_get_albums_transaction_class_init (PublishingRajceGetAlbumsTransactionClass * klass) { +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_get_albums_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10627 "RajcePublishing.c" +} + + +static void publishing_rajce_get_albums_transaction_instance_init (PublishingRajceGetAlbumsTransaction * self) { +} + + +/** + * Transaction used to implement the get albums interaction. + */ +GType publishing_rajce_get_albums_transaction_get_type (void) { + static volatile gsize publishing_rajce_get_albums_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_get_albums_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceGetAlbumsTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_get_albums_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceGetAlbumsTransaction), 0, (GInstanceInitFunc) publishing_rajce_get_albums_transaction_instance_init, NULL }; + GType publishing_rajce_get_albums_transaction_type_id; + publishing_rajce_get_albums_transaction_type_id = g_type_register_static (PUBLISHING_RAJCE_TYPE_TRANSACTION, "PublishingRajceGetAlbumsTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_get_albums_transaction_type_id__volatile, publishing_rajce_get_albums_transaction_type_id); + } + return publishing_rajce_get_albums_transaction_type_id__volatile; +} + + +PublishingRajceCreateAlbumTransaction* publishing_rajce_create_album_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, const gchar* albumName, gboolean hidden) { + PublishingRajceCreateAlbumTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp2_ = NULL; + PublishingRajceSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gchar* xml = NULL; + gchar* _tmp8_ = NULL; +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (albumName != NULL, NULL); +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = url; +#line 1437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceCreateAlbumTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_live_api_request_new ("createAlbum"); +#line 1438 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp2_; +#line 1439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = session; +#line 1439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_session_get_usertoken (_tmp3_); +#line 1439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 1439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "token", _tmp5_); +#line 1439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp5_); +#line 1440 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = albumName; +#line 1440 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "albumName", _tmp6_); +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "albumDescription", ""); +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = hidden; +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParamBool (req, "albumVisible", !_tmp7_); +#line 1443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishing_rajce_live_api_request_Params2XmlString (req, TRUE); +#line 1443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp8_; +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 10711 "RajcePublishing.c" +} + + +PublishingRajceCreateAlbumTransaction* publishing_rajce_create_album_transaction_new (PublishingRajceSession* session, const gchar* url, const gchar* albumName, gboolean hidden) { +#line 1435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_create_album_transaction_construct (PUBLISHING_RAJCE_TYPE_CREATE_ALBUM_TRANSACTION, session, url, albumName, hidden); +#line 10718 "RajcePublishing.c" +} + + +static void publishing_rajce_create_album_transaction_class_init (PublishingRajceCreateAlbumTransactionClass * klass) { +#line 1433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_create_album_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10725 "RajcePublishing.c" +} + + +static void publishing_rajce_create_album_transaction_instance_init (PublishingRajceCreateAlbumTransaction * self) { +} + + +/** + * Transaction used to implement the create album interaction. + */ +GType publishing_rajce_create_album_transaction_get_type (void) { + static volatile gsize publishing_rajce_create_album_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_create_album_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceCreateAlbumTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_create_album_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceCreateAlbumTransaction), 0, (GInstanceInitFunc) publishing_rajce_create_album_transaction_instance_init, NULL }; + GType publishing_rajce_create_album_transaction_type_id; + publishing_rajce_create_album_transaction_type_id = g_type_register_static (PUBLISHING_RAJCE_TYPE_TRANSACTION, "PublishingRajceCreateAlbumTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_create_album_transaction_type_id__volatile, publishing_rajce_create_album_transaction_type_id); + } + return publishing_rajce_create_album_transaction_type_id__volatile; +} + + +PublishingRajceOpenAlbumTransaction* publishing_rajce_open_album_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, gint albumID) { + PublishingRajceOpenAlbumTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp2_ = NULL; + PublishingRajceSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + gchar* xml = NULL; + gchar* _tmp7_ = NULL; +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1455 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1455 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = url; +#line 1455 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceOpenAlbumTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1456 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_live_api_request_new ("openAlbum"); +#line 1456 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp2_; +#line 1457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = session; +#line 1457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_session_get_usertoken (_tmp3_); +#line 1457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 1457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "token", _tmp5_); +#line 1457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp5_); +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = albumID; +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParamInt (req, "albumID", _tmp6_); +#line 1459 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = publishing_rajce_live_api_request_Params2XmlString (req, TRUE); +#line 1459 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp7_; +#line 1460 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 10800 "RajcePublishing.c" +} + + +PublishingRajceOpenAlbumTransaction* publishing_rajce_open_album_transaction_new (PublishingRajceSession* session, const gchar* url, gint albumID) { +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_open_album_transaction_construct (PUBLISHING_RAJCE_TYPE_OPEN_ALBUM_TRANSACTION, session, url, albumID); +#line 10807 "RajcePublishing.c" +} + + +static void publishing_rajce_open_album_transaction_class_init (PublishingRajceOpenAlbumTransactionClass * klass) { +#line 1451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_open_album_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10814 "RajcePublishing.c" +} + + +static void publishing_rajce_open_album_transaction_instance_init (PublishingRajceOpenAlbumTransaction * self) { +} + + +/** + * Transaction used to implement the open album interaction. + */ +GType publishing_rajce_open_album_transaction_get_type (void) { + static volatile gsize publishing_rajce_open_album_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_open_album_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceOpenAlbumTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_open_album_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceOpenAlbumTransaction), 0, (GInstanceInitFunc) publishing_rajce_open_album_transaction_instance_init, NULL }; + GType publishing_rajce_open_album_transaction_type_id; + publishing_rajce_open_album_transaction_type_id = g_type_register_static (PUBLISHING_RAJCE_TYPE_TRANSACTION, "PublishingRajceOpenAlbumTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_open_album_transaction_type_id__volatile, publishing_rajce_open_album_transaction_type_id); + } + return publishing_rajce_open_album_transaction_type_id__volatile; +} + + +PublishingRajceGetAlbumUrlTransaction* publishing_rajce_get_album_url_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url) { + PublishingRajceGetAlbumUrlTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp2_ = NULL; + PublishingRajceSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingRajceSession* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* xml = NULL; + gchar* _tmp9_ = NULL; +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = url; +#line 1471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceGetAlbumUrlTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_live_api_request_new ("getAlbumUrl"); +#line 1472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp2_; +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = session; +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_session_get_usertoken (_tmp3_); +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "token", _tmp5_); +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp5_); +#line 1474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = session; +#line 1474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = publishing_rajce_session_get_albumtoken (_tmp6_); +#line 1474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = _tmp7_; +#line 1474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "albumToken", _tmp8_); +#line 1474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp8_); +#line 1475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = publishing_rajce_live_api_request_Params2XmlString (req, TRUE); +#line 1475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp9_; +#line 1476 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 10897 "RajcePublishing.c" +} + + +PublishingRajceGetAlbumUrlTransaction* publishing_rajce_get_album_url_transaction_new (PublishingRajceSession* session, const gchar* url) { +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_get_album_url_transaction_construct (PUBLISHING_RAJCE_TYPE_GET_ALBUM_URL_TRANSACTION, session, url); +#line 10904 "RajcePublishing.c" +} + + +static void publishing_rajce_get_album_url_transaction_class_init (PublishingRajceGetAlbumUrlTransactionClass * klass) { +#line 1467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_get_album_url_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10911 "RajcePublishing.c" +} + + +static void publishing_rajce_get_album_url_transaction_instance_init (PublishingRajceGetAlbumUrlTransaction * self) { +} + + +/** + * Transaction used to implement the close album interaction. + */ +GType publishing_rajce_get_album_url_transaction_get_type (void) { + static volatile gsize publishing_rajce_get_album_url_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_get_album_url_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceGetAlbumUrlTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_get_album_url_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceGetAlbumUrlTransaction), 0, (GInstanceInitFunc) publishing_rajce_get_album_url_transaction_instance_init, NULL }; + GType publishing_rajce_get_album_url_transaction_type_id; + publishing_rajce_get_album_url_transaction_type_id = g_type_register_static (PUBLISHING_RAJCE_TYPE_TRANSACTION, "PublishingRajceGetAlbumUrlTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_get_album_url_transaction_type_id__volatile, publishing_rajce_get_album_url_transaction_type_id); + } + return publishing_rajce_get_album_url_transaction_type_id__volatile; +} + + +PublishingRajceCloseAlbumTransaction* publishing_rajce_close_album_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url) { + PublishingRajceCloseAlbumTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp2_ = NULL; + PublishingRajceSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingRajceSession* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* xml = NULL; + gchar* _tmp9_ = NULL; +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = url; +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceCloseAlbumTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_live_api_request_new ("closeAlbum"); +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp2_; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = session; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_session_get_usertoken (_tmp3_); +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "token", _tmp5_); +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp5_); +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = session; +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = publishing_rajce_session_get_albumtoken (_tmp6_); +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = _tmp7_; +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "albumToken", _tmp8_); +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp8_); +#line 1491 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = publishing_rajce_live_api_request_Params2XmlString (req, TRUE); +#line 1491 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp9_; +#line 1492 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 10994 "RajcePublishing.c" +} + + +PublishingRajceCloseAlbumTransaction* publishing_rajce_close_album_transaction_new (PublishingRajceSession* session, const gchar* url) { +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_close_album_transaction_construct (PUBLISHING_RAJCE_TYPE_CLOSE_ALBUM_TRANSACTION, session, url); +#line 11001 "RajcePublishing.c" +} + + +static void publishing_rajce_close_album_transaction_class_init (PublishingRajceCloseAlbumTransactionClass * klass) { +#line 1483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_close_album_transaction_parent_class = g_type_class_peek_parent (klass); +#line 11008 "RajcePublishing.c" +} + + +static void publishing_rajce_close_album_transaction_instance_init (PublishingRajceCloseAlbumTransaction * self) { +} + + +/** + * Transaction used to implement the close album interaction. + */ +GType publishing_rajce_close_album_transaction_get_type (void) { + static volatile gsize publishing_rajce_close_album_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_close_album_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceCloseAlbumTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_close_album_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceCloseAlbumTransaction), 0, (GInstanceInitFunc) publishing_rajce_close_album_transaction_instance_init, NULL }; + GType publishing_rajce_close_album_transaction_type_id; + publishing_rajce_close_album_transaction_type_id = g_type_register_static (PUBLISHING_RAJCE_TYPE_TRANSACTION, "PublishingRajceCloseAlbumTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_close_album_transaction_type_id__volatile, publishing_rajce_close_album_transaction_type_id); + } + return publishing_rajce_close_album_transaction_type_id__volatile; +} + + +PublishingRajceGetCategoriesTransaction* publishing_rajce_get_categories_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url) { + PublishingRajceGetCategoriesTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp2_ = NULL; + PublishingRajceSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* xml = NULL; + gchar* _tmp6_ = NULL; +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = url; +#line 1503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceGetCategoriesTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1504 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = publishing_rajce_live_api_request_new ("getCategories"); +#line 1504 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp2_; +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = session; +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = publishing_rajce_session_get_usertoken (_tmp3_); +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = _tmp4_; +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (req, "token", _tmp5_); +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp5_); +#line 1506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = publishing_rajce_live_api_request_Params2XmlString (req, TRUE); +#line 1506 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp6_; +#line 1507 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 11078 "RajcePublishing.c" +} + + +PublishingRajceGetCategoriesTransaction* publishing_rajce_get_categories_transaction_new (PublishingRajceSession* session, const gchar* url) { +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_get_categories_transaction_construct (PUBLISHING_RAJCE_TYPE_GET_CATEGORIES_TRANSACTION, session, url); +#line 11085 "RajcePublishing.c" +} + + +static void publishing_rajce_get_categories_transaction_class_init (PublishingRajceGetCategoriesTransactionClass * klass) { +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_get_categories_transaction_parent_class = g_type_class_peek_parent (klass); +#line 11092 "RajcePublishing.c" +} + + +static void publishing_rajce_get_categories_transaction_instance_init (PublishingRajceGetCategoriesTransaction * self) { +} + + +/** + * Transaction used to implement the get categories interaction. + */ +GType publishing_rajce_get_categories_transaction_get_type (void) { + static volatile gsize publishing_rajce_get_categories_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_get_categories_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceGetCategoriesTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_get_categories_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceGetCategoriesTransaction), 0, (GInstanceInitFunc) publishing_rajce_get_categories_transaction_instance_init, NULL }; + GType publishing_rajce_get_categories_transaction_type_id; + publishing_rajce_get_categories_transaction_type_id = g_type_register_static (PUBLISHING_RAJCE_TYPE_TRANSACTION, "PublishingRajceGetCategoriesTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_get_categories_transaction_type_id__volatile, publishing_rajce_get_categories_transaction_type_id); + } + return publishing_rajce_get_categories_transaction_type_id__volatile; +} + + +static void _g_free0_ (gpointer var) { +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + var = (g_free (var), NULL); +#line 11118 "RajcePublishing.c" +} + + +PublishingRajceAddPhotoTransaction* publishing_rajce_add_photo_transaction_construct (GType object_type, PublishingRajceSession* session, const gchar* url, PublishingRajcePublishingParameters* parameters, SpitPublishingPublishable* publishable) { + PublishingRajceAddPhotoTransaction* self = NULL; + PublishingRajceSession* _tmp0_ = NULL; + SpitPublishingPublishable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRajcePublishingParameters* _tmp3_ = NULL; + PublishingRajcePublishingParameters* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PublishingRajcePublishingParameters* _tmp6_ = NULL; + gint* _tmp7_ = NULL; + SpitPublishingPublishable* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PublishingRajcePublishingParameters* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* basename = NULL; + SpitPublishingPublishable* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* comment = NULL; + SpitPublishingPublishable* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* pubname = NULL; + SpitPublishingPublishable* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gint width = 0; + PublishingRajceSession* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint height = 0; + PublishingRajceSession* _tmp23_ = NULL; + gint _tmp24_ = 0; + PublishingRajceLiveApiRequest* req = NULL; + PublishingRajceLiveApiRequest* _tmp25_ = NULL; + PublishingRajceLiveApiRequest* _tmp26_ = NULL; + PublishingRajceSession* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + PublishingRajceLiveApiRequest* _tmp30_ = NULL; + gint _tmp31_ = 0; + PublishingRajceLiveApiRequest* _tmp32_ = NULL; + gint _tmp33_ = 0; + PublishingRajceLiveApiRequest* _tmp34_ = NULL; + PublishingRajceSession* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + PublishingRajceLiveApiRequest* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + PublishingRajceLiveApiRequest* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + PublishingRajceLiveApiRequest* _tmp45_ = NULL; + gchar* xml = NULL; + PublishingRajceLiveApiRequest* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + GHashTable* disposition_table = NULL; + GHashFunc _tmp48_ = NULL; + GEqualFunc _tmp49_ = NULL; + GHashTable* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_SESSION (session), NULL); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (PUBLISHING_RAJCE_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 1520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp0_ = session; +#line 1520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp1_ = publishable; +#line 1520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp2_ = url; +#line 1520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = (PublishingRajceAddPhotoTransaction*) publishing_rest_support_upload_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp2_); +#line 1521 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp3_ = parameters; +#line 1521 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp4_ = _publishing_rajce_publishing_parameters_ref0 (_tmp3_); +#line 1521 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (self->priv->parameters); +#line 1521 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->parameters = _tmp4_; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp6_ = parameters; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp7_ = _tmp6_->album_id; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if ((*_tmp7_) > 0) { +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = ""; +#line 11219 "RajcePublishing.c" + } else { +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp5_ = " new"; +#line 11223 "RajcePublishing.c" + } +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp8_ = publishable; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp9_ = spit_publishing_publishable_get_serialized_file (_tmp8_); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp10_ = _tmp9_; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp11_ = g_file_get_basename (_tmp10_); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp12_ = _tmp11_; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp13_ = parameters; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp14_ = _tmp13_->album_name; +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_debug ("RajcePublishing.vala:1523: RajcePlugin: Uploading photo %s to%s album " \ +"%s", _tmp12_, _tmp5_, _tmp14_); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp12_); +#line 1523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_object_unref0 (_tmp10_); +#line 1525 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp15_ = publishable; +#line 1525 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp16_ = spit_publishing_publishable_get_param_string (_tmp15_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 1525 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + basename = _tmp16_; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp17_ = publishable; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp18_ = spit_publishing_publishable_get_param_string (_tmp17_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_COMMENT); +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + comment = _tmp18_; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp19_ = publishable; +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp20_ = spit_publishing_publishable_get_publishing_name (_tmp19_); +#line 1527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + pubname = _tmp20_; +#line 1529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp21_ = session; +#line 1529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp22_ = publishing_rajce_session_get_maxsize (_tmp21_); +#line 1529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + width = _tmp22_; +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp23_ = session; +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp24_ = publishing_rajce_session_get_maxsize (_tmp23_); +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + height = _tmp24_; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp25_ = publishing_rajce_live_api_request_new ("addPhoto"); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + req = _tmp25_; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp26_ = req; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp27_ = session; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp28_ = publishing_rajce_session_get_usertoken (_tmp27_); +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp29_ = _tmp28_; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (_tmp26_, "token", _tmp29_); +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp29_); +#line 1534 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp30_ = req; +#line 1534 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp31_ = width; +#line 1534 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParamInt (_tmp30_, "width", _tmp31_); +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp32_ = req; +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp33_ = height; +#line 1535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParamInt (_tmp32_, "height", _tmp33_); +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp34_ = req; +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp35_ = session; +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp36_ = publishing_rajce_session_get_albumtoken (_tmp35_); +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp37_ = _tmp36_; +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (_tmp34_, "albumToken", _tmp37_); +#line 1536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (_tmp37_); +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp38_ = req; +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp39_ = pubname; +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (_tmp38_, "photoName", _tmp39_); +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp40_ = req; +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp41_ = basename; +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (_tmp40_, "fullFileName", _tmp41_); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp43_ = comment; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + if (_tmp43_ != NULL) { +#line 11331 "RajcePublishing.c" + const gchar* _tmp44_ = NULL; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp44_ = comment; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp42_ = _tmp44_; +#line 11337 "RajcePublishing.c" + } else { +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp42_ = ""; +#line 11341 "RajcePublishing.c" + } +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp45_ = req; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_live_api_request_AddParam (_tmp45_, "description", _tmp42_); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp46_ = req; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp47_ = publishing_rajce_live_api_request_Params2XmlString (_tmp46_, FALSE); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + xml = _tmp47_; +#line 1541 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data", xml); +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp48_ = g_str_hash; +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp49_ = g_str_equal; +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp50_ = g_hash_table_new_full (_tmp48_, _tmp49_, _g_free0_, _g_free0_); +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + disposition_table = _tmp50_; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp51_ = g_strdup ("name"); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp52_ = g_strdup ("photo"); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_hash_table_insert (disposition_table, _tmp51_, _tmp52_); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp53_ = g_strdup ("filename"); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp54_ = basename; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _tmp55_ = soup_uri_encode (_tmp54_, NULL); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_hash_table_insert (disposition_table, _tmp53_, _tmp55_); +#line 1546 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rest_support_upload_transaction_set_binary_disposition_table (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction), disposition_table); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_hash_table_unref0 (disposition_table); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (xml); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_live_api_request_unref0 (req); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (pubname); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (comment); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _g_free0 (basename); +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return self; +#line 11393 "RajcePublishing.c" +} + + +PublishingRajceAddPhotoTransaction* publishing_rajce_add_photo_transaction_new (PublishingRajceSession* session, const gchar* url, PublishingRajcePublishingParameters* parameters, SpitPublishingPublishable* publishable) { +#line 1518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + return publishing_rajce_add_photo_transaction_construct (PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION, session, url, parameters, publishable); +#line 11400 "RajcePublishing.c" +} + + +static void publishing_rajce_add_photo_transaction_class_init (PublishingRajceAddPhotoTransactionClass * klass) { +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + publishing_rajce_add_photo_transaction_parent_class = g_type_class_peek_parent (klass); +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_rajce_add_photo_transaction_finalize; +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingRajceAddPhotoTransactionPrivate)); +#line 11411 "RajcePublishing.c" +} + + +static void publishing_rajce_add_photo_transaction_instance_init (PublishingRajceAddPhotoTransaction * self) { +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv = PUBLISHING_RAJCE_ADD_PHOTO_TRANSACTION_GET_PRIVATE (self); +#line 1516 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self->priv->parameters = NULL; +#line 11420 "RajcePublishing.c" +} + + +static void publishing_rajce_add_photo_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingRajceAddPhotoTransaction * self; +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_RAJCE_TYPE_ADD_PHOTO_TRANSACTION, PublishingRajceAddPhotoTransaction); +#line 1516 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + _publishing_rajce_publishing_parameters_unref0 (self->priv->parameters); +#line 1514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/RajcePublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_rajce_add_photo_transaction_parent_class)->finalize (obj); +#line 11432 "RajcePublishing.c" +} + + +/** + * Transaction used to implement the upload photo. + */ +GType publishing_rajce_add_photo_transaction_get_type (void) { + static volatile gsize publishing_rajce_add_photo_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_rajce_add_photo_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingRajceAddPhotoTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_rajce_add_photo_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingRajceAddPhotoTransaction), 0, (GInstanceInitFunc) publishing_rajce_add_photo_transaction_instance_init, NULL }; + GType publishing_rajce_add_photo_transaction_type_id; + publishing_rajce_add_photo_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, "PublishingRajceAddPhotoTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_rajce_add_photo_transaction_type_id__volatile, publishing_rajce_add_photo_transaction_type_id); + } + return publishing_rajce_add_photo_transaction_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/plugins/shotwell-publishing-extras/RajcePublishing.vala b/plugins/shotwell-publishing-extras/RajcePublishing.vala index d282ed5..4cf232c 100644 --- a/plugins/shotwell-publishing-extras/RajcePublishing.vala +++ b/plugins/shotwell-publishing-extras/RajcePublishing.vala @@ -13,7 +13,9 @@ public class RajceService : Object, Spit.Pluggable, Spit.Publishing.Service public RajceService(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = + Resources.load_from_resource(Resources.RESOURCE_PATH + "/" + + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) @@ -844,11 +846,11 @@ internal class AuthenticationPane : Spit.Publishing.DialogPane, Object public AuthenticationPane( RajcePublisher publisher, Mode mode = Mode.INTRO ) { this.pane_widget = new Gtk.Box(Gtk.Orientation.VERTICAL, 0); - File ui_file = publisher.get_host().get_module_file().get_parent().get_child("rajce_authentication_pane.glade"); try { builder = new Gtk.Builder(); - builder.add_from_file(ui_file.get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + + "/rajce_authentication_pane.ui"); builder.connect_signals(null); Gtk.Alignment align = builder.get_object("alignment") as Gtk.Alignment; Gtk.Label message_label = builder.get_object("message_label") as Gtk.Label; @@ -986,11 +988,10 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object this.publisher = publisher; this.pane_widget = new Gtk.Box(Gtk.Orientation.VERTICAL, 0); - File ui_file = publisher.get_host().get_module_file().get_parent().get_child("rajce_publishing_options_pane.glade"); try { this.builder = new Gtk.Builder(); - builder.add_from_file(ui_file.get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + "/rajce_publishing_options_pane.ui"); builder.connect_signals(null); pane_widget = (Gtk.Box) builder.get_object("rajce_pane_widget"); diff --git a/plugins/shotwell-publishing-extras/TumblrPublishing.c b/plugins/shotwell-publishing-extras/TumblrPublishing.c new file mode 100644 index 0000000..5a6498a --- /dev/null +++ b/plugins/shotwell-publishing-extras/TumblrPublishing.c @@ -0,0 +1,8413 @@ +/* TumblrPublishing.c generated by valac 0.32.1, the Vala compiler + * generated from TumblrPublishing.vala, do not modify */ + +/* Copyright 2012 BJA Electronics + * Author: Jeroen Arnoldus (b.j.arnoldus@bja-electronics.nl) + * + * 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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_TUMBLR_SERVICE (tumblr_service_get_type ()) +#define TUMBLR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TUMBLR_SERVICE, TumblrService)) +#define TUMBLR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TUMBLR_SERVICE, TumblrServiceClass)) +#define IS_TUMBLR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TUMBLR_SERVICE)) +#define IS_TUMBLR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TUMBLR_SERVICE)) +#define TUMBLR_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TUMBLR_SERVICE, TumblrServiceClass)) + +typedef struct _TumblrService TumblrService; +typedef struct _TumblrServiceClass TumblrServiceClass; +typedef struct _TumblrServicePrivate TumblrServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER (publishing_tumblr_tumblr_publisher_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisher)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisherClass)) +#define PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER)) +#define PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisherClass)) + +typedef struct _PublishingTumblrTumblrPublisher PublishingTumblrTumblrPublisher; +typedef struct _PublishingTumblrTumblrPublisherClass PublishingTumblrTumblrPublisherClass; + +#define PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY (publishing_tumblr_blog_entry_get_type ()) +#define PUBLISHING_TUMBLR_BLOG_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY, PublishingTumblrBlogEntry)) +#define PUBLISHING_TUMBLR_BLOG_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY, PublishingTumblrBlogEntryClass)) +#define PUBLISHING_TUMBLR_IS_BLOG_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY)) +#define PUBLISHING_TUMBLR_IS_BLOG_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY)) +#define PUBLISHING_TUMBLR_BLOG_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY, PublishingTumblrBlogEntryClass)) + +typedef struct _PublishingTumblrBlogEntry PublishingTumblrBlogEntry; +typedef struct _PublishingTumblrBlogEntryClass PublishingTumblrBlogEntryClass; +typedef struct _PublishingTumblrBlogEntryPrivate PublishingTumblrBlogEntryPrivate; +typedef struct _PublishingTumblrParamSpecBlogEntry PublishingTumblrParamSpecBlogEntry; + +#define PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY (publishing_tumblr_size_entry_get_type ()) +#define PUBLISHING_TUMBLR_SIZE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY, PublishingTumblrSizeEntry)) +#define PUBLISHING_TUMBLR_SIZE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY, PublishingTumblrSizeEntryClass)) +#define PUBLISHING_TUMBLR_IS_SIZE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY)) +#define PUBLISHING_TUMBLR_IS_SIZE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY)) +#define PUBLISHING_TUMBLR_SIZE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY, PublishingTumblrSizeEntryClass)) + +typedef struct _PublishingTumblrSizeEntry PublishingTumblrSizeEntry; +typedef struct _PublishingTumblrSizeEntryClass PublishingTumblrSizeEntryClass; +typedef struct _PublishingTumblrSizeEntryPrivate PublishingTumblrSizeEntryPrivate; +typedef struct _PublishingTumblrParamSpecSizeEntry PublishingTumblrParamSpecSizeEntry; +typedef struct _PublishingTumblrTumblrPublisherPrivate PublishingTumblrTumblrPublisherPrivate; + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION (publishing_tumblr_tumblr_publisher_session_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSession)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSessionClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSessionClass)) + +typedef struct _PublishingTumblrTumblrPublisherSession PublishingTumblrTumblrPublisherSession; +typedef struct _PublishingTumblrTumblrPublisherSessionClass PublishingTumblrTumblrPublisherSessionClass; + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE (publishing_tumblr_tumblr_publisher_publishing_options_pane_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPane)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPaneClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPaneClass)) + +typedef struct _PublishingTumblrTumblrPublisherPublishingOptionsPane PublishingTumblrTumblrPublisherPublishingOptionsPane; +typedef struct _PublishingTumblrTumblrPublisherPublishingOptionsPaneClass PublishingTumblrTumblrPublisherPublishingOptionsPaneClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_TYPE_MODE (publishing_tumblr_tumblr_publisher_authentication_pane_mode_get_type ()) + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE (publishing_tumblr_tumblr_publisher_authentication_pane_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPane)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPaneClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPaneClass)) + +typedef struct _PublishingTumblrTumblrPublisherAuthenticationPane PublishingTumblrTumblrPublisherAuthenticationPane; +typedef struct _PublishingTumblrTumblrPublisherAuthenticationPaneClass PublishingTumblrTumblrPublisherAuthenticationPaneClass; + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION (publishing_tumblr_tumblr_publisher_transaction_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, PublishingTumblrTumblrPublisherTransaction)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, PublishingTumblrTumblrPublisherTransactionClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, PublishingTumblrTumblrPublisherTransactionClass)) + +typedef struct _PublishingTumblrTumblrPublisherTransaction PublishingTumblrTumblrPublisherTransaction; +typedef struct _PublishingTumblrTumblrPublisherTransactionClass PublishingTumblrTumblrPublisherTransactionClass; + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION (publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_ACCESS_TOKEN_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingTumblrTumblrPublisherAccessTokenFetchTransaction)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_ACCESS_TOKEN_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingTumblrTumblrPublisherAccessTokenFetchTransactionClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_ACCESS_TOKEN_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_ACCESS_TOKEN_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_ACCESS_TOKEN_FETCH_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingTumblrTumblrPublisherAccessTokenFetchTransactionClass)) + +typedef struct _PublishingTumblrTumblrPublisherAccessTokenFetchTransaction PublishingTumblrTumblrPublisherAccessTokenFetchTransaction; +typedef struct _PublishingTumblrTumblrPublisherAccessTokenFetchTransactionClass PublishingTumblrTumblrPublisherAccessTokenFetchTransactionClass; +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_USER_INFO_FETCH_TRANSACTION (publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_USER_INFO_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_USER_INFO_FETCH_TRANSACTION, PublishingTumblrTumblrPublisherUserInfoFetchTransaction)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_USER_INFO_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_USER_INFO_FETCH_TRANSACTION, PublishingTumblrTumblrPublisherUserInfoFetchTransactionClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_USER_INFO_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_USER_INFO_FETCH_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_USER_INFO_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_USER_INFO_FETCH_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_USER_INFO_FETCH_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_USER_INFO_FETCH_TRANSACTION, PublishingTumblrTumblrPublisherUserInfoFetchTransactionClass)) + +typedef struct _PublishingTumblrTumblrPublisherUserInfoFetchTransaction PublishingTumblrTumblrPublisherUserInfoFetchTransaction; +typedef struct _PublishingTumblrTumblrPublisherUserInfoFetchTransactionClass PublishingTumblrTumblrPublisherUserInfoFetchTransactionClass; +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL))) +#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL))) +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER (publishing_tumblr_tumblr_publisher_uploader_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER, PublishingTumblrTumblrPublisherUploader)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER, PublishingTumblrTumblrPublisherUploaderClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER, PublishingTumblrTumblrPublisherUploaderClass)) + +typedef struct _PublishingTumblrTumblrPublisherUploader PublishingTumblrTumblrPublisherUploader; +typedef struct _PublishingTumblrTumblrPublisherUploaderClass PublishingTumblrTumblrPublisherUploaderClass; +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_unref (var), NULL))) +typedef struct _PublishingTumblrTumblrPublisherAuthenticationPanePrivate PublishingTumblrTumblrPublisherAuthenticationPanePrivate; +typedef struct _PublishingTumblrTumblrPublisherPublishingOptionsPanePrivate PublishingTumblrTumblrPublisherPublishingOptionsPanePrivate; +#define _publishing_tumblr_blog_entry_unref0(var) ((var == NULL) ? NULL : (var = (publishing_tumblr_blog_entry_unref (var), NULL))) +#define _publishing_tumblr_size_entry_unref0(var) ((var == NULL) ? NULL : (var = (publishing_tumblr_size_entry_unref (var), NULL))) +typedef struct _PublishingTumblrTumblrPublisherTransactionPrivate PublishingTumblrTumblrPublisherTransactionPrivate; +typedef struct _PublishingTumblrTumblrPublisherAccessTokenFetchTransactionPrivate PublishingTumblrTumblrPublisherAccessTokenFetchTransactionPrivate; +typedef struct _PublishingTumblrTumblrPublisherUserInfoFetchTransactionPrivate PublishingTumblrTumblrPublisherUserInfoFetchTransactionPrivate; + +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION (publishing_tumblr_tumblr_publisher_upload_transaction_get_type ()) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION, PublishingTumblrTumblrPublisherUploadTransaction)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION, PublishingTumblrTumblrPublisherUploadTransactionClass)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION, PublishingTumblrTumblrPublisherUploadTransactionClass)) + +typedef struct _PublishingTumblrTumblrPublisherUploadTransaction PublishingTumblrTumblrPublisherUploadTransaction; +typedef struct _PublishingTumblrTumblrPublisherUploadTransactionClass PublishingTumblrTumblrPublisherUploadTransactionClass; +typedef struct _PublishingTumblrTumblrPublisherUploadTransactionPrivate PublishingTumblrTumblrPublisherUploadTransactionPrivate; +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) +typedef struct _PublishingTumblrTumblrPublisherUploaderPrivate PublishingTumblrTumblrPublisherUploaderPrivate; +typedef struct _PublishingTumblrTumblrPublisherSessionPrivate PublishingTumblrTumblrPublisherSessionPrivate; +#define _publishing_rest_support_argument_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_argument_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 _TumblrService { + GObject parent_instance; + TumblrServicePrivate * priv; +}; + +struct _TumblrServiceClass { + GObjectClass parent_class; +}; + +struct _PublishingTumblrBlogEntry { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingTumblrBlogEntryPrivate * priv; + gchar* blog; + gchar* url; +}; + +struct _PublishingTumblrBlogEntryClass { + GTypeClass parent_class; + void (*finalize) (PublishingTumblrBlogEntry *self); +}; + +struct _PublishingTumblrParamSpecBlogEntry { + GParamSpec parent_instance; +}; + +struct _PublishingTumblrSizeEntry { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingTumblrSizeEntryPrivate * priv; + gchar* title; + gint size; +}; + +struct _PublishingTumblrSizeEntryClass { + GTypeClass parent_class; + void (*finalize) (PublishingTumblrSizeEntry *self); +}; + +struct _PublishingTumblrParamSpecSizeEntry { + GParamSpec parent_instance; +}; + +struct _PublishingTumblrTumblrPublisher { + GObject parent_instance; + PublishingTumblrTumblrPublisherPrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherClass { + GObjectClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherPrivate { + SpitPublishingService* service; + SpitPublishingPluginHost* host; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; + gboolean running; + gboolean was_started; + PublishingTumblrTumblrPublisherSession* session; + PublishingTumblrTumblrPublisherPublishingOptionsPane* publishing_options_pane; + PublishingTumblrSizeEntry** sizes; + gint sizes_length1; + gint _sizes_size_; + PublishingTumblrBlogEntry** blogs; + gint blogs_length1; + gint _blogs_size_; + gchar* username; +}; + +typedef enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_INTRO, + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER +} PublishingTumblrTumblrPublisherAuthenticationPaneMode; + +struct _PublishingTumblrTumblrPublisherAuthenticationPane { + GObject parent_instance; + PublishingTumblrTumblrPublisherAuthenticationPanePrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherAuthenticationPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherAuthenticationPanePrivate { + GtkBox* pane_widget; + GtkBuilder* builder; + GtkEntry* username_entry; + GtkEntry* password_entry; + GtkButton* login_button; +}; + +struct _PublishingTumblrTumblrPublisherPublishingOptionsPane { + GObject parent_instance; + PublishingTumblrTumblrPublisherPublishingOptionsPanePrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherPublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherPublishingOptionsPanePrivate { + GtkBuilder* builder; + GtkBox* pane_widget; + GtkLabel* upload_info_label; + GtkLabel* size_label; + GtkLabel* blog_label; + GtkButton* logout_button; + GtkButton* publish_button; + GtkComboBoxText* size_combo; + GtkComboBoxText* blog_combo; + PublishingTumblrSizeEntry** sizes; + gint sizes_length1; + gint _sizes_size_; + PublishingTumblrBlogEntry** blogs; + gint blogs_length1; + gint _blogs_size_; + gchar* username; + PublishingTumblrTumblrPublisher* publisher; + SpitPublishingPublisherMediaType media_type; +}; + +struct _PublishingTumblrTumblrPublisherTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingTumblrTumblrPublisherTransactionPrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherAccessTokenFetchTransaction { + PublishingTumblrTumblrPublisherTransaction parent_instance; + PublishingTumblrTumblrPublisherAccessTokenFetchTransactionPrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherAccessTokenFetchTransactionClass { + PublishingTumblrTumblrPublisherTransactionClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherUserInfoFetchTransaction { + PublishingTumblrTumblrPublisherTransaction parent_instance; + PublishingTumblrTumblrPublisherUserInfoFetchTransactionPrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherUserInfoFetchTransactionClass { + PublishingTumblrTumblrPublisherTransactionClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherUploadTransaction { + PublishingRESTSupportUploadTransaction parent_instance; + PublishingTumblrTumblrPublisherUploadTransactionPrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherUploadTransactionClass { + PublishingRESTSupportUploadTransactionClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherUploadTransactionPrivate { + PublishingTumblrTumblrPublisherSession* session; + PublishingRESTSupportArgument** auth_header_fields; + gint auth_header_fields_length1; + gint _auth_header_fields_size_; +}; + +struct _PublishingTumblrTumblrPublisherUploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingTumblrTumblrPublisherUploaderPrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherUploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherUploaderPrivate { + gchar* blog_url; +}; + +struct _PublishingTumblrTumblrPublisherSession { + PublishingRESTSupportSession parent_instance; + PublishingTumblrTumblrPublisherSessionPrivate * priv; +}; + +struct _PublishingTumblrTumblrPublisherSessionClass { + PublishingRESTSupportSessionClass parent_class; +}; + +struct _PublishingTumblrTumblrPublisherSessionPrivate { + gchar* access_phase_token; + gchar* access_phase_token_secret; +}; + + +static gpointer tumblr_service_parent_class = NULL; +static GdkPixbuf** tumblr_service_icon_pixbuf_set; +static gint tumblr_service_icon_pixbuf_set_length1; +static GdkPixbuf** tumblr_service_icon_pixbuf_set = NULL; +static gint tumblr_service_icon_pixbuf_set_length1 = 0; +static gint _tumblr_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* tumblr_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* tumblr_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_tumblr_blog_entry_parent_class = NULL; +static gpointer publishing_tumblr_size_entry_parent_class = NULL; +static gpointer publishing_tumblr_tumblr_publisher_parent_class = NULL; +static gpointer publishing_tumblr_tumblr_publisher_authentication_pane_parent_class = NULL; +static gchar* publishing_tumblr_tumblr_publisher_authentication_pane_INTRO_MESSAGE; +static gchar* publishing_tumblr_tumblr_publisher_authentication_pane_INTRO_MESSAGE = NULL; +static gchar* publishing_tumblr_tumblr_publisher_authentication_pane_FAILED_RETRY_USER_MESSAGE; +static gchar* publishing_tumblr_tumblr_publisher_authentication_pane_FAILED_RETRY_USER_MESSAGE = NULL; +static SpitPublishingDialogPaneIface* publishing_tumblr_tumblr_publisher_authentication_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_tumblr_tumblr_publisher_publishing_options_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_tumblr_tumblr_publisher_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_tumblr_tumblr_publisher_transaction_parent_class = NULL; +static gpointer publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_parent_class = NULL; +static gpointer publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_parent_class = NULL; +static gpointer publishing_tumblr_tumblr_publisher_upload_transaction_parent_class = NULL; +static gpointer publishing_tumblr_tumblr_publisher_uploader_parent_class = NULL; +static gpointer publishing_tumblr_tumblr_publisher_session_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_tumblr_tumblr_publisher_spit_publishing_publisher_parent_iface = NULL; + +GType tumblr_service_get_type (void) G_GNUC_CONST; +enum { + TUMBLR_SERVICE_DUMMY_PROPERTY +}; +#define TUMBLR_SERVICE_ICON_FILENAME "tumblr.png" +TumblrService* tumblr_service_new (GFile* resource_directory); +TumblrService* tumblr_service_construct (GType object_type, GFile* resource_directory); +static gint tumblr_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* tumblr_service_real_get_id (SpitPluggable* base); +static const gchar* tumblr_service_real_get_pluggable_name (SpitPluggable* base); +static void tumblr_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup6 (GdkPixbuf** self, int length); +static void tumblr_service_real_activation (SpitPluggable* base, gboolean enabled); +static SpitPublishingPublisher* tumblr_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingTumblrTumblrPublisher* publishing_tumblr_tumblr_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingTumblrTumblrPublisher* publishing_tumblr_tumblr_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_tumblr_tumblr_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType tumblr_service_real_get_supported_media (SpitPublishingService* base); +static void tumblr_service_finalize (GObject* obj); +#define PUBLISHING_TUMBLR_SERVICE_NAME "Tumblr" +#define PUBLISHING_TUMBLR_ENDPOINT_URL "http://www.tumblr.com/" +#define PUBLISHING_TUMBLR_API_KEY "NdXvXQuKVccOsCOj0H4k9HUJcbcjDBYSo2AkaHzXFECHGNuP9k" +#define PUBLISHING_TUMBLR_API_SECRET "BN0Uoig0MwbeD27OgA0IwYlp3Uvonyfsrl9pf1cnnMj1QoEUvi" +#define PUBLISHING_TUMBLR_ENCODE_RFC_3986_EXTRA "!*'();:@&=+$,/?%#[] \\" +#define PUBLISHING_TUMBLR_ORIGINAL_SIZE -1 +gpointer publishing_tumblr_blog_entry_ref (gpointer instance); +void publishing_tumblr_blog_entry_unref (gpointer instance); +GParamSpec* publishing_tumblr_param_spec_blog_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_tumblr_value_set_blog_entry (GValue* value, gpointer v_object); +void publishing_tumblr_value_take_blog_entry (GValue* value, gpointer v_object); +gpointer publishing_tumblr_value_get_blog_entry (const GValue* value); +GType publishing_tumblr_blog_entry_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_TUMBLR_BLOG_ENTRY_DUMMY_PROPERTY +}; +PublishingTumblrBlogEntry* publishing_tumblr_blog_entry_new (const gchar* creator_blog, const gchar* creator_url); +PublishingTumblrBlogEntry* publishing_tumblr_blog_entry_construct (GType object_type, const gchar* creator_blog, const gchar* creator_url); +static void publishing_tumblr_blog_entry_finalize (PublishingTumblrBlogEntry* obj); +gpointer publishing_tumblr_size_entry_ref (gpointer instance); +void publishing_tumblr_size_entry_unref (gpointer instance); +GParamSpec* publishing_tumblr_param_spec_size_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_tumblr_value_set_size_entry (GValue* value, gpointer v_object); +void publishing_tumblr_value_take_size_entry (GValue* value, gpointer v_object); +gpointer publishing_tumblr_value_get_size_entry (const GValue* value); +GType publishing_tumblr_size_entry_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_TUMBLR_SIZE_ENTRY_DUMMY_PROPERTY +}; +PublishingTumblrSizeEntry* publishing_tumblr_size_entry_new (const gchar* creator_title, gint creator_size); +PublishingTumblrSizeEntry* publishing_tumblr_size_entry_construct (GType object_type, const gchar* creator_title, gint creator_size); +static void publishing_tumblr_size_entry_finalize (PublishingTumblrSizeEntry* obj); +GType publishing_tumblr_tumblr_publisher_session_get_type (void) G_GNUC_CONST; +GType publishing_tumblr_tumblr_publisher_publishing_options_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisherPrivate)) +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_DUMMY_PROPERTY +}; +static void publishing_tumblr_tumblr_publisher_on_session_authenticated (PublishingTumblrTumblrPublisher* self); +static void _publishing_tumblr_tumblr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated (PublishingRESTSupportSession* _sender, gpointer self); +static PublishingTumblrSizeEntry** publishing_tumblr_tumblr_publisher_create_sizes (PublishingTumblrTumblrPublisher* self, int* result_length1); +static void _vala_array_add18 (PublishingTumblrSizeEntry*** array, int* length, int* size, PublishingTumblrSizeEntry* value); +static void _vala_array_add19 (PublishingTumblrSizeEntry*** array, int* length, int* size, PublishingTumblrSizeEntry* value); +static void _vala_array_add20 (PublishingTumblrSizeEntry*** array, int* length, int* size, PublishingTumblrSizeEntry* value); +static PublishingTumblrBlogEntry** publishing_tumblr_tumblr_publisher_create_blogs (PublishingTumblrTumblrPublisher* self, int* result_length1); +PublishingTumblrTumblrPublisherSession* publishing_tumblr_tumblr_publisher_session_new (void); +PublishingTumblrTumblrPublisherSession* publishing_tumblr_tumblr_publisher_session_construct (GType object_type); +static void publishing_tumblr_tumblr_publisher_invalidate_persistent_session (PublishingTumblrTumblrPublisher* self); +static void publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token (PublishingTumblrTumblrPublisher* self, const gchar* token); +static void publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token_secret (PublishingTumblrTumblrPublisher* self, const gchar* token_secret); +static SpitPublishingService* publishing_tumblr_tumblr_publisher_real_get_service (SpitPublishingPublisher* base); +SpitPublishingPluginHost* publishing_tumblr_tumblr_publisher_get_host (PublishingTumblrTumblrPublisher* self); +static gboolean publishing_tumblr_tumblr_publisher_real_is_running (SpitPublishingPublisher* base); +static gboolean publishing_tumblr_tumblr_publisher_is_persistent_session_valid (PublishingTumblrTumblrPublisher* self); +gchar* publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token (PublishingTumblrTumblrPublisher* self); +gchar* publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token_secret (PublishingTumblrTumblrPublisher* self); +gint publishing_tumblr_tumblr_publisher_get_persistent_default_size (PublishingTumblrTumblrPublisher* self); +void publishing_tumblr_tumblr_publisher_set_persistent_default_size (PublishingTumblrTumblrPublisher* self, gint size); +gint publishing_tumblr_tumblr_publisher_get_persistent_default_blog (PublishingTumblrTumblrPublisher* self); +void publishing_tumblr_tumblr_publisher_set_persistent_default_blog (PublishingTumblrTumblrPublisher* self, gint blog); +GType publishing_tumblr_tumblr_publisher_authentication_pane_mode_get_type (void) G_GNUC_CONST; +static void publishing_tumblr_tumblr_publisher_do_show_authentication_pane (PublishingTumblrTumblrPublisher* self, PublishingTumblrTumblrPublisherAuthenticationPaneMode mode); +GType publishing_tumblr_tumblr_publisher_authentication_pane_get_type (void) G_GNUC_CONST; +PublishingTumblrTumblrPublisherAuthenticationPane* publishing_tumblr_tumblr_publisher_authentication_pane_new (PublishingTumblrTumblrPublisher* publisher, PublishingTumblrTumblrPublisherAuthenticationPaneMode mode); +PublishingTumblrTumblrPublisherAuthenticationPane* publishing_tumblr_tumblr_publisher_authentication_pane_construct (GType object_type, PublishingTumblrTumblrPublisher* publisher, PublishingTumblrTumblrPublisherAuthenticationPaneMode mode); +static void publishing_tumblr_tumblr_publisher_on_authentication_pane_login_clicked (PublishingTumblrTumblrPublisher* self, const gchar* username, const gchar* password); +static void _publishing_tumblr_tumblr_publisher_on_authentication_pane_login_clicked_publishing_tumblr_tumblr_publisher_authentication_pane_login (PublishingTumblrTumblrPublisherAuthenticationPane* _sender, const gchar* user, const gchar* password, gpointer self); +GtkWidget* publishing_tumblr_tumblr_publisher_authentication_pane_get_default_widget (PublishingTumblrTumblrPublisherAuthenticationPane* self); +static void publishing_tumblr_tumblr_publisher_do_network_login (PublishingTumblrTumblrPublisher* self, const gchar* username, const gchar* password); +GType publishing_tumblr_tumblr_publisher_transaction_get_type (void) G_GNUC_CONST; +GType publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_get_type (void) G_GNUC_CONST; +PublishingTumblrTumblrPublisherAccessTokenFetchTransaction* publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_new (PublishingTumblrTumblrPublisherSession* session, const gchar* username, const gchar* password); +PublishingTumblrTumblrPublisherAccessTokenFetchTransaction* publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, const gchar* username, const gchar* password); +static void publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_on_auth_request_txn_error (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_tumblr_tumblr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_tumblr_tumblr_publisher_do_parse_token_info_from_auth_request (PublishingTumblrTumblrPublisher* self, const gchar* response); +void publishing_tumblr_tumblr_publisher_session_set_access_phase_credentials (PublishingTumblrTumblrPublisherSession* self, const gchar* token, const gchar* secret); +gchar* publishing_tumblr_tumblr_publisher_session_get_access_phase_token (PublishingTumblrTumblrPublisherSession* self); +gchar* publishing_tumblr_tumblr_publisher_session_get_access_phase_token_secret (PublishingTumblrTumblrPublisherSession* self); +static void publishing_tumblr_tumblr_publisher_do_get_blogs (PublishingTumblrTumblrPublisher* self); +GType publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_get_type (void) G_GNUC_CONST; +PublishingTumblrTumblrPublisherUserInfoFetchTransaction* publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_new (PublishingTumblrTumblrPublisherSession* session); +PublishingTumblrTumblrPublisherUserInfoFetchTransaction* publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session); +static void publishing_tumblr_tumblr_publisher_on_info_request_txn_completed (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_tumblr_tumblr_publisher_on_info_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_on_info_request_txn_error (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_tumblr_tumblr_publisher_on_info_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_tumblr_tumblr_publisher_do_parse_token_info_from_user_request (PublishingTumblrTumblrPublisher* self, const gchar* response); +static void publishing_tumblr_tumblr_publisher_do_show_publishing_options_pane (PublishingTumblrTumblrPublisher* self); +static void _vala_array_add21 (PublishingTumblrBlogEntry*** array, int* length, int* size, PublishingTumblrBlogEntry* value); +void publishing_tumblr_tumblr_publisher_session_deauthenticate (PublishingTumblrTumblrPublisherSession* self); +PublishingTumblrTumblrPublisherPublishingOptionsPane* publishing_tumblr_tumblr_publisher_publishing_options_pane_new (PublishingTumblrTumblrPublisher* publisher, SpitPublishingPublisherMediaType media_type, PublishingTumblrSizeEntry** sizes, int sizes_length1, PublishingTumblrBlogEntry** blogs, int blogs_length1, const gchar* username); +PublishingTumblrTumblrPublisherPublishingOptionsPane* publishing_tumblr_tumblr_publisher_publishing_options_pane_construct (GType object_type, PublishingTumblrTumblrPublisher* publisher, SpitPublishingPublisherMediaType media_type, PublishingTumblrSizeEntry** sizes, int sizes_length1, PublishingTumblrBlogEntry** blogs, int blogs_length1, const gchar* username); +static void publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish (PublishingTumblrTumblrPublisher* self); +static void _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout (PublishingTumblrTumblrPublisher* self); +static void _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_do_publish (PublishingTumblrTumblrPublisher* self); +static void publishing_tumblr_tumblr_publisher_do_logout (PublishingTumblrTumblrPublisher* self); +gint publishing_tumblr_tumblr_publisher_tumblr_date_time_compare_func (SpitPublishingPublishable* a, SpitPublishingPublishable* b); +static gint _publishing_tumblr_tumblr_publisher_tumblr_date_time_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +GType publishing_tumblr_tumblr_publisher_uploader_get_type (void) G_GNUC_CONST; +PublishingTumblrTumblrPublisherUploader* publishing_tumblr_tumblr_publisher_uploader_new (PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable** publishables, int publishables_length1, const gchar* blog_url); +PublishingTumblrTumblrPublisherUploader* publishing_tumblr_tumblr_publisher_uploader_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable** publishables, int publishables_length1, const gchar* blog_url); +static void publishing_tumblr_tumblr_publisher_on_upload_complete (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_tumblr_tumblr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_tumblr_tumblr_publisher_on_upload_error (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err); +static void _publishing_tumblr_tumblr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_tumblr_tumblr_publisher_on_upload_status_updated (PublishingTumblrTumblrPublisher* self, gint file_number, gdouble completed_fraction); +static void _publishing_tumblr_tumblr_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_tumblr_tumblr_publisher_do_show_success_pane (PublishingTumblrTumblrPublisher* self); +void publishing_tumblr_tumblr_publisher_attempt_start (PublishingTumblrTumblrPublisher* self); +void publishing_tumblr_tumblr_publisher_session_authenticate_from_persistent_credentials (PublishingTumblrTumblrPublisherSession* self, const gchar* token, const gchar* secret); +static void publishing_tumblr_tumblr_publisher_real_start (SpitPublishingPublisher* base); +static void publishing_tumblr_tumblr_publisher_real_stop (SpitPublishingPublisher* base); +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPanePrivate)) +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_DUMMY_PROPERTY +}; +static void publishing_tumblr_tumblr_publisher_authentication_pane_on_user_changed (PublishingTumblrTumblrPublisherAuthenticationPane* self); +static void _publishing_tumblr_tumblr_publisher_authentication_pane_on_user_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_authentication_pane_on_password_changed (PublishingTumblrTumblrPublisherAuthenticationPane* self); +static void _publishing_tumblr_tumblr_publisher_authentication_pane_on_password_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_authentication_pane_on_login_button_clicked (PublishingTumblrTumblrPublisherAuthenticationPane* self); +static void _publishing_tumblr_tumblr_publisher_authentication_pane_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_authentication_pane_update_login_button_sensitivity (PublishingTumblrTumblrPublisherAuthenticationPane* self); +static GtkWidget* publishing_tumblr_tumblr_publisher_authentication_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_tumblr_tumblr_publisher_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_tumblr_tumblr_publisher_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_tumblr_tumblr_publisher_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_tumblr_tumblr_publisher_authentication_pane_finalize (GObject* obj); +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPanePrivate)) +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +static PublishingTumblrSizeEntry** _vala_array_dup7 (PublishingTumblrSizeEntry** self, int length); +static PublishingTumblrBlogEntry** _vala_array_dup8 (PublishingTumblrBlogEntry** self, int length); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_populate_blog_combo (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_blog_changed (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_blog_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_populate_size_combo (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_size_changed (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_logout_clicked (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_publish_clicked (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +void publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_publish (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +void publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_logout (PublishingTumblrTumblrPublisherPublishingOptionsPane* self); +static GtkWidget* publishing_tumblr_tumblr_publisher_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_tumblr_tumblr_publisher_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self); +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_finalize (GObject* obj); +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TRANSACTION_DUMMY_PROPERTY +}; +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_new (PublishingTumblrTumblrPublisherSession* session, PublishingRESTSupportHttpMethod method); +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, PublishingRESTSupportHttpMethod method); +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_new_with_uri (PublishingTumblrTumblrPublisherSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method); +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_construct_with_uri (GType object_type, PublishingTumblrTumblrPublisherSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method); +gchar* publishing_tumblr_tumblr_publisher_session_get_oauth_nonce (PublishingTumblrTumblrPublisherSession* self); +gchar* publishing_tumblr_tumblr_publisher_session_get_oauth_timestamp (PublishingTumblrTumblrPublisherSession* self); +static void publishing_tumblr_tumblr_publisher_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +void publishing_tumblr_tumblr_publisher_session_sign_transaction (PublishingTumblrTumblrPublisherSession* self, PublishingRESTSupportTransaction* txn); +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_ACCESS_TOKEN_FETCH_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_USER_INFO_FETCH_TRANSACTION_DUMMY_PROPERTY +}; +GType publishing_tumblr_tumblr_publisher_upload_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOAD_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION, PublishingTumblrTumblrPublisherUploadTransactionPrivate)) +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOAD_TRANSACTION_DUMMY_PROPERTY +}; +static gchar* publishing_tumblr_tumblr_publisher_upload_transaction_encode (PublishingTumblrTumblrPublisherUploadTransaction* self, guint8* data, int data_length1); +PublishingTumblrTumblrPublisherUploadTransaction* publishing_tumblr_tumblr_publisher_upload_transaction_new (PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable* publishable, const gchar* blog_url); +PublishingTumblrTumblrPublisherUploadTransaction* publishing_tumblr_tumblr_publisher_upload_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable* publishable, const gchar* blog_url); +void publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (PublishingTumblrTumblrPublisherUploadTransaction* self, const gchar* key, const gchar* value); +static void _vala_array_add22 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value); +PublishingRESTSupportArgument** publishing_tumblr_tumblr_publisher_upload_transaction_get_authorization_header_fields (PublishingTumblrTumblrPublisherUploadTransaction* self, int* result_length1); +static PublishingRESTSupportArgument** _vala_array_dup9 (PublishingRESTSupportArgument** self, int length); +gchar* publishing_tumblr_tumblr_publisher_upload_transaction_get_authorization_header_string (PublishingTumblrTumblrPublisherUploadTransaction* self); +static void publishing_tumblr_tumblr_publisher_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +static void publishing_tumblr_tumblr_publisher_upload_transaction_finalize (PublishingRESTSupportTransaction* obj); +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER, PublishingTumblrTumblrPublisherUploaderPrivate)) +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOADER_DUMMY_PROPERTY +}; +static PublishingRESTSupportTransaction* publishing_tumblr_tumblr_publisher_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +static void publishing_tumblr_tumblr_publisher_uploader_finalize (PublishingRESTSupportBatchUploader* obj); +#define PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSessionPrivate)) +enum { + PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_SESSION_DUMMY_PROPERTY +}; +static gboolean publishing_tumblr_tumblr_publisher_session_real_is_authenticated (PublishingRESTSupportSession* base); +static void _vala_array_add23 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value); +static void publishing_tumblr_tumblr_publisher_session_finalize (PublishingRESTSupportSession* obj); +static void publishing_tumblr_tumblr_publisher_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); + + +TumblrService* tumblr_service_construct (GType object_type, GFile* resource_directory) { + TumblrService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (TumblrService*) g_object_new (object_type, NULL); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = tumblr_service_icon_pixbuf_set; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0__length1 = tumblr_service_icon_pixbuf_set_length1; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp0_ == NULL) { +#line 649 "TumblrPublishing.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" TUMBLR_SERVICE_ICON_FILENAME, &_tmp1_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tumblr_service_icon_pixbuf_set = (_vala_array_free (tumblr_service_icon_pixbuf_set, tumblr_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tumblr_service_icon_pixbuf_set = _tmp2_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tumblr_service_icon_pixbuf_set_length1 = _tmp1_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tumblr_service_icon_pixbuf_set_size_ = tumblr_service_icon_pixbuf_set_length1; +#line 662 "TumblrPublishing.c" + } +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 666 "TumblrPublishing.c" +} + + +TumblrService* tumblr_service_new (GFile* resource_directory) { +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return tumblr_service_construct (TYPE_TUMBLR_SERVICE, resource_directory); +#line 673 "TumblrPublishing.c" +} + + +static gint tumblr_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + TumblrService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TUMBLR_SERVICE, TumblrService); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = min_host_interface; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = max_host_interface; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp2_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 695 "TumblrPublishing.c" +} + + +static const gchar* tumblr_service_real_get_id (SpitPluggable* base) { + TumblrService * self; + const gchar* result = NULL; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TUMBLR_SERVICE, TumblrService); +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = "org.yorba.shotwell.publishing.tumblr"; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 708 "TumblrPublishing.c" +} + + +static const gchar* tumblr_service_real_get_pluggable_name (SpitPluggable* base) { + TumblrService * self; + const gchar* result = NULL; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TUMBLR_SERVICE, TumblrService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = "Tumblr"; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 721 "TumblrPublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 728 "TumblrPublishing.c" +} + + +static GdkPixbuf** _vala_array_dup6 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (i = 0; i < length; i++) { +#line 739 "TumblrPublishing.c" + GdkPixbuf* _tmp0_ = NULL; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result[i] = _tmp0_; +#line 745 "TumblrPublishing.c" + } +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 749 "TumblrPublishing.c" +} + + +static void tumblr_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + TumblrService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TUMBLR_SERVICE, TumblrService); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (info != NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_strdup ("Jeroen Arnoldus"); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 ((*info).authors); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).authors = _tmp0_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _ ("Copyright 2012 BJA Electronics"); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 ((*info).copyright); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).copyright = _tmp2_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 ((*info).translators); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).translators = _tmp3_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 ((*info).version); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).version = _tmp4_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 ((*info).website_name); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).website_name = _tmp5_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 ((*info).website_url); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).website_url = _tmp6_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 ((*info).license); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).license = _tmp7_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = tumblr_service_icon_pixbuf_set; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8__length1 = tumblr_service_icon_pixbuf_set_length1; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup6 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).icons = _tmp9_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*info).icons_length1 = _tmp9__length1; +#line 831 "TumblrPublishing.c" +} + + +static void tumblr_service_real_activation (SpitPluggable* base, gboolean enabled) { + TumblrService * self; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TUMBLR_SERVICE, TumblrService); +#line 839 "TumblrPublishing.c" +} + + +static SpitPublishingPublisher* tumblr_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + TumblrService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingTumblrTumblrPublisher* _tmp1_ = NULL; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TUMBLR_SERVICE, TumblrService); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = host; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishing_tumblr_tumblr_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 860 "TumblrPublishing.c" +} + + +static SpitPublishingPublisherMediaType tumblr_service_real_get_supported_media (SpitPublishingService* base) { + TumblrService * self; + SpitPublishingPublisherMediaType result = 0; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TUMBLR_SERVICE, TumblrService); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 873 "TumblrPublishing.c" +} + + +static void tumblr_service_class_init (TumblrServiceClass * klass) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tumblr_service_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = tumblr_service_finalize; +#line 882 "TumblrPublishing.c" +} + + +static void tumblr_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tumblr_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) tumblr_service_real_get_pluggable_interface; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) tumblr_service_real_get_id; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) tumblr_service_real_get_pluggable_name; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) tumblr_service_real_get_info; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) tumblr_service_real_activation; +#line 899 "TumblrPublishing.c" +} + + +static void tumblr_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tumblr_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) tumblr_service_real_create_publisher; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) tumblr_service_real_get_supported_media; +#line 910 "TumblrPublishing.c" +} + + +static void tumblr_service_instance_init (TumblrService * self) { +} + + +static void tumblr_service_finalize (GObject* obj) { + TumblrService * self; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TUMBLR_SERVICE, TumblrService); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (tumblr_service_parent_class)->finalize (obj); +#line 924 "TumblrPublishing.c" +} + + +GType tumblr_service_get_type (void) { + static volatile gsize tumblr_service_type_id__volatile = 0; + if (g_once_init_enter (&tumblr_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TumblrServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tumblr_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TumblrService), 0, (GInstanceInitFunc) tumblr_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) tumblr_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) tumblr_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType tumblr_service_type_id; + tumblr_service_type_id = g_type_register_static (G_TYPE_OBJECT, "TumblrService", &g_define_type_info, 0); + g_type_add_interface_static (tumblr_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (tumblr_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&tumblr_service_type_id__volatile, tumblr_service_type_id); + } + return tumblr_service_type_id__volatile; +} + + +PublishingTumblrBlogEntry* publishing_tumblr_blog_entry_construct (GType object_type, const gchar* creator_blog, const gchar* creator_url) { + PublishingTumblrBlogEntry* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (creator_blog != NULL, NULL); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (creator_url != NULL, NULL); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrBlogEntry*) g_type_create_instance (object_type); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = creator_blog; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->blog); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->blog = _tmp1_; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = creator_url; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->url); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->url = _tmp3_; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 974 "TumblrPublishing.c" +} + + +PublishingTumblrBlogEntry* publishing_tumblr_blog_entry_new (const gchar* creator_blog, const gchar* creator_url) { +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_blog_entry_construct (PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY, creator_blog, creator_url); +#line 981 "TumblrPublishing.c" +} + + +static void publishing_tumblr_value_blog_entry_init (GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 988 "TumblrPublishing.c" +} + + +static void publishing_tumblr_value_blog_entry_free_value (GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (value->data[0].v_pointer) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_blog_entry_unref (value->data[0].v_pointer); +#line 997 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_value_blog_entry_copy_value (const GValue* src_value, GValue* dest_value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + dest_value->data[0].v_pointer = publishing_tumblr_blog_entry_ref (src_value->data[0].v_pointer); +#line 1007 "TumblrPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1011 "TumblrPublishing.c" + } +} + + +static gpointer publishing_tumblr_value_blog_entry_peek_pointer (const GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return value->data[0].v_pointer; +#line 1019 "TumblrPublishing.c" +} + + +static gchar* publishing_tumblr_value_blog_entry_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1026 "TumblrPublishing.c" + PublishingTumblrBlogEntry* object; + object = collect_values[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1033 "TumblrPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.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 1037 "TumblrPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = publishing_tumblr_blog_entry_ref (object); +#line 1041 "TumblrPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1045 "TumblrPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return NULL; +#line 1049 "TumblrPublishing.c" +} + + +static gchar* publishing_tumblr_value_blog_entry_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingTumblrBlogEntry** object_p; + object_p = collect_values[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!object_p) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1060 "TumblrPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!value->data[0].v_pointer) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *object_p = NULL; +#line 1066 "TumblrPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1070 "TumblrPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *object_p = publishing_tumblr_blog_entry_ref (value->data[0].v_pointer); +#line 1074 "TumblrPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return NULL; +#line 1078 "TumblrPublishing.c" +} + + +GParamSpec* publishing_tumblr_param_spec_blog_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingTumblrParamSpecBlogEntry* spec; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY), NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1092 "TumblrPublishing.c" +} + + +gpointer publishing_tumblr_value_get_blog_entry (const GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY), NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return value->data[0].v_pointer; +#line 1101 "TumblrPublishing.c" +} + + +void publishing_tumblr_value_set_blog_entry (GValue* value, gpointer v_object) { + PublishingTumblrBlogEntry* old; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + old = value->data[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (v_object) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_blog_entry_ref (value->data[0].v_pointer); +#line 1121 "TumblrPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1125 "TumblrPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (old) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_blog_entry_unref (old); +#line 1131 "TumblrPublishing.c" + } +} + + +void publishing_tumblr_value_take_blog_entry (GValue* value, gpointer v_object) { + PublishingTumblrBlogEntry* old; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + old = value->data[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (v_object) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1150 "TumblrPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1154 "TumblrPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (old) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_blog_entry_unref (old); +#line 1160 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_blog_entry_class_init (PublishingTumblrBlogEntryClass * klass) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_blog_entry_parent_class = g_type_class_peek_parent (klass); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingTumblrBlogEntryClass *) klass)->finalize = publishing_tumblr_blog_entry_finalize; +#line 1170 "TumblrPublishing.c" +} + + +static void publishing_tumblr_blog_entry_instance_init (PublishingTumblrBlogEntry * self) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->ref_count = 1; +#line 1177 "TumblrPublishing.c" +} + + +static void publishing_tumblr_blog_entry_finalize (PublishingTumblrBlogEntry* obj) { + PublishingTumblrBlogEntry * self; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TYPE_BLOG_ENTRY, PublishingTumblrBlogEntry); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_destroy (self); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->blog); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->url); +#line 1191 "TumblrPublishing.c" +} + + +GType publishing_tumblr_blog_entry_get_type (void) { + static volatile gsize publishing_tumblr_blog_entry_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_blog_entry_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_tumblr_value_blog_entry_init, publishing_tumblr_value_blog_entry_free_value, publishing_tumblr_value_blog_entry_copy_value, publishing_tumblr_value_blog_entry_peek_pointer, "p", publishing_tumblr_value_blog_entry_collect_value, "p", publishing_tumblr_value_blog_entry_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrBlogEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_blog_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrBlogEntry), 0, (GInstanceInitFunc) publishing_tumblr_blog_entry_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 publishing_tumblr_blog_entry_type_id; + publishing_tumblr_blog_entry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingTumblrBlogEntry", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_tumblr_blog_entry_type_id__volatile, publishing_tumblr_blog_entry_type_id); + } + return publishing_tumblr_blog_entry_type_id__volatile; +} + + +gpointer publishing_tumblr_blog_entry_ref (gpointer instance) { + PublishingTumblrBlogEntry* self; + self = instance; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return instance; +#line 1216 "TumblrPublishing.c" +} + + +void publishing_tumblr_blog_entry_unref (gpointer instance) { + PublishingTumblrBlogEntry* self; + self = instance; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + PUBLISHING_TUMBLR_BLOG_ENTRY_GET_CLASS (self)->finalize (self); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1229 "TumblrPublishing.c" + } +} + + +PublishingTumblrSizeEntry* publishing_tumblr_size_entry_construct (GType object_type, const gchar* creator_title, gint creator_size) { + PublishingTumblrSizeEntry* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (creator_title != NULL, NULL); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrSizeEntry*) g_type_create_instance (object_type); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = creator_title; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->title); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->title = _tmp1_; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = creator_size; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->size = _tmp2_; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 1257 "TumblrPublishing.c" +} + + +PublishingTumblrSizeEntry* publishing_tumblr_size_entry_new (const gchar* creator_title, gint creator_size) { +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_size_entry_construct (PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY, creator_title, creator_size); +#line 1264 "TumblrPublishing.c" +} + + +static void publishing_tumblr_value_size_entry_init (GValue* value) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1271 "TumblrPublishing.c" +} + + +static void publishing_tumblr_value_size_entry_free_value (GValue* value) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (value->data[0].v_pointer) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_size_entry_unref (value->data[0].v_pointer); +#line 1280 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_value_size_entry_copy_value (const GValue* src_value, GValue* dest_value) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + dest_value->data[0].v_pointer = publishing_tumblr_size_entry_ref (src_value->data[0].v_pointer); +#line 1290 "TumblrPublishing.c" + } else { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1294 "TumblrPublishing.c" + } +} + + +static gpointer publishing_tumblr_value_size_entry_peek_pointer (const GValue* value) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return value->data[0].v_pointer; +#line 1302 "TumblrPublishing.c" +} + + +static gchar* publishing_tumblr_value_size_entry_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1309 "TumblrPublishing.c" + PublishingTumblrSizeEntry* object; + object = collect_values[0].v_pointer; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1316 "TumblrPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.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 1320 "TumblrPublishing.c" + } +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = publishing_tumblr_size_entry_ref (object); +#line 1324 "TumblrPublishing.c" + } else { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1328 "TumblrPublishing.c" + } +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return NULL; +#line 1332 "TumblrPublishing.c" +} + + +static gchar* publishing_tumblr_value_size_entry_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingTumblrSizeEntry** object_p; + object_p = collect_values[0].v_pointer; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!object_p) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1343 "TumblrPublishing.c" + } +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!value->data[0].v_pointer) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *object_p = NULL; +#line 1349 "TumblrPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1353 "TumblrPublishing.c" + } else { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *object_p = publishing_tumblr_size_entry_ref (value->data[0].v_pointer); +#line 1357 "TumblrPublishing.c" + } +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return NULL; +#line 1361 "TumblrPublishing.c" +} + + +GParamSpec* publishing_tumblr_param_spec_size_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingTumblrParamSpecSizeEntry* spec; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY), NULL); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1375 "TumblrPublishing.c" +} + + +gpointer publishing_tumblr_value_get_size_entry (const GValue* value) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY), NULL); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return value->data[0].v_pointer; +#line 1384 "TumblrPublishing.c" +} + + +void publishing_tumblr_value_set_size_entry (GValue* value, gpointer v_object) { + PublishingTumblrSizeEntry* old; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY)); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + old = value->data[0].v_pointer; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (v_object) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY)); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_size_entry_ref (value->data[0].v_pointer); +#line 1404 "TumblrPublishing.c" + } else { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1408 "TumblrPublishing.c" + } +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (old) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_size_entry_unref (old); +#line 1414 "TumblrPublishing.c" + } +} + + +void publishing_tumblr_value_take_size_entry (GValue* value, gpointer v_object) { + PublishingTumblrSizeEntry* old; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY)); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + old = value->data[0].v_pointer; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (v_object) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY)); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1433 "TumblrPublishing.c" + } else { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1437 "TumblrPublishing.c" + } +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (old) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_size_entry_unref (old); +#line 1443 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_size_entry_class_init (PublishingTumblrSizeEntryClass * klass) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_size_entry_parent_class = g_type_class_peek_parent (klass); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingTumblrSizeEntryClass *) klass)->finalize = publishing_tumblr_size_entry_finalize; +#line 1453 "TumblrPublishing.c" +} + + +static void publishing_tumblr_size_entry_instance_init (PublishingTumblrSizeEntry * self) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->ref_count = 1; +#line 1460 "TumblrPublishing.c" +} + + +static void publishing_tumblr_size_entry_finalize (PublishingTumblrSizeEntry* obj) { + PublishingTumblrSizeEntry * self; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TYPE_SIZE_ENTRY, PublishingTumblrSizeEntry); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_destroy (self); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->title); +#line 1472 "TumblrPublishing.c" +} + + +GType publishing_tumblr_size_entry_get_type (void) { + static volatile gsize publishing_tumblr_size_entry_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_size_entry_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_tumblr_value_size_entry_init, publishing_tumblr_value_size_entry_free_value, publishing_tumblr_value_size_entry_copy_value, publishing_tumblr_value_size_entry_peek_pointer, "p", publishing_tumblr_value_size_entry_collect_value, "p", publishing_tumblr_value_size_entry_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrSizeEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_size_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrSizeEntry), 0, (GInstanceInitFunc) publishing_tumblr_size_entry_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 publishing_tumblr_size_entry_type_id; + publishing_tumblr_size_entry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingTumblrSizeEntry", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_tumblr_size_entry_type_id__volatile, publishing_tumblr_size_entry_type_id); + } + return publishing_tumblr_size_entry_type_id__volatile; +} + + +gpointer publishing_tumblr_size_entry_ref (gpointer instance) { + PublishingTumblrSizeEntry* self; + self = instance; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return instance; +#line 1497 "TumblrPublishing.c" +} + + +void publishing_tumblr_size_entry_unref (gpointer instance) { + PublishingTumblrSizeEntry* self; + self = instance; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + PUBLISHING_TUMBLR_SIZE_ENTRY_GET_CLASS (self)->finalize (self); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1510 "TumblrPublishing.c" + } +} + + +static void _publishing_tumblr_tumblr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated (PublishingRESTSupportSession* _sender, gpointer self) { +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_session_authenticated ((PublishingTumblrTumblrPublisher*) self); +#line 1518 "TumblrPublishing.c" +} + + +static void _vala_array_add18 (PublishingTumblrSizeEntry*** array, int* length, int* size, PublishingTumblrSizeEntry* value) { +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if ((*length) == (*size)) { +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *array = g_renew (PublishingTumblrSizeEntry*, *array, (*size) + 1); +#line 1529 "TumblrPublishing.c" + } +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[(*length)++] = value; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[*length] = NULL; +#line 1535 "TumblrPublishing.c" +} + + +static void _vala_array_add19 (PublishingTumblrSizeEntry*** array, int* length, int* size, PublishingTumblrSizeEntry* value) { +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if ((*length) == (*size)) { +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *array = g_renew (PublishingTumblrSizeEntry*, *array, (*size) + 1); +#line 1546 "TumblrPublishing.c" + } +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[(*length)++] = value; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[*length] = NULL; +#line 1552 "TumblrPublishing.c" +} + + +static void _vala_array_add20 (PublishingTumblrSizeEntry*** array, int* length, int* size, PublishingTumblrSizeEntry* value) { +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if ((*length) == (*size)) { +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *array = g_renew (PublishingTumblrSizeEntry*, *array, (*size) + 1); +#line 1563 "TumblrPublishing.c" + } +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[(*length)++] = value; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[*length] = NULL; +#line 1569 "TumblrPublishing.c" +} + + +static PublishingTumblrSizeEntry** publishing_tumblr_tumblr_publisher_create_sizes (PublishingTumblrTumblrPublisher* self, int* result_length1) { + PublishingTumblrSizeEntry** result = NULL; + PublishingTumblrSizeEntry** _result_ = NULL; + PublishingTumblrSizeEntry** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingTumblrSizeEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingTumblrSizeEntry* _tmp3_ = NULL; + PublishingTumblrSizeEntry** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingTumblrSizeEntry* _tmp6_ = NULL; + PublishingTumblrSizeEntry** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingTumblrSizeEntry* _tmp9_ = NULL; + PublishingTumblrSizeEntry** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), NULL); +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_new0 (PublishingTumblrSizeEntry*, 0 + 1); +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result_ = _tmp0_; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result__length1 = 0; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + __result__size_ = _result__length1; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _result_; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1__length1 = _result__length1; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _ ("500 x 375 pixels"); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = publishing_tumblr_size_entry_new (_tmp2_, 500); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_array_add18 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = _result_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4__length1 = _result__length1; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _ ("1024 x 768 pixels"); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = publishing_tumblr_size_entry_new (_tmp5_, 1024); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_array_add19 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = _result_; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7__length1 = _result__length1; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = _ ("1280 x 853 pixels"); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = publishing_tumblr_size_entry_new (_tmp8_, 1280); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_array_add20 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = _result_; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10__length1 = _result__length1; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (result_length1) { +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *result_length1 = _tmp10__length1; +#line 1641 "TumblrPublishing.c" + } +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp10_; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1647 "TumblrPublishing.c" +} + + +static PublishingTumblrBlogEntry** publishing_tumblr_tumblr_publisher_create_blogs (PublishingTumblrTumblrPublisher* self, int* result_length1) { + PublishingTumblrBlogEntry** result = NULL; + PublishingTumblrBlogEntry** _result_ = NULL; + PublishingTumblrBlogEntry** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingTumblrBlogEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), NULL); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_new0 (PublishingTumblrBlogEntry*, 0 + 1); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result_ = _tmp0_; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result__length1 = 0; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + __result__size_ = _result__length1; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _result_; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1__length1 = _result__length1; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (result_length1) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *result_length1 = _tmp1__length1; +#line 1677 "TumblrPublishing.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1683 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisher* publishing_tumblr_tumblr_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingTumblrTumblrPublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp4_ = NULL; + gint _tmp5_ = 0; + PublishingTumblrSizeEntry** _tmp6_ = NULL; + gint _tmp7_ = 0; + PublishingTumblrBlogEntry** _tmp8_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp9_ = NULL; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisher*) g_object_new (object_type, NULL); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:125: TumblrPublisher instantiated."); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = service; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->service); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->service = _tmp1_; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = host; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->host); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->host = _tmp3_; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = publishing_tumblr_tumblr_publisher_session_new (); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->session = _tmp4_; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = publishing_tumblr_tumblr_publisher_create_sizes (self, &_tmp5_); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = (_vala_array_free (self->priv->sizes, self->priv->sizes_length1, (GDestroyNotify) publishing_tumblr_size_entry_unref), NULL); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = _tmp6_; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes_length1 = _tmp5_; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_sizes_size_ = self->priv->sizes_length1; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = publishing_tumblr_tumblr_publisher_create_blogs (self, &_tmp7_); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = (_vala_array_free (self->priv->blogs, self->priv->blogs_length1, (GDestroyNotify) publishing_tumblr_blog_entry_unref), NULL); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = _tmp8_; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs_length1 = _tmp7_; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_blogs_size_ = self->priv->blogs_length1; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = self->priv->session; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), "authenticated", (GCallback) _publishing_tumblr_tumblr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated, self, 0); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 1755 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisher* publishing_tumblr_tumblr_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_construct (PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, service, host); +#line 1762 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_invalidate_persistent_session (PublishingTumblrTumblrPublisher* self) { +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token (self, ""); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token_secret (self, ""); +#line 1773 "TumblrPublishing.c" +} + + +static SpitPublishingService* publishing_tumblr_tumblr_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingTumblrTumblrPublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisher); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->service; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1792 "TumblrPublishing.c" +} + + +SpitPublishingPluginHost* publishing_tumblr_tumblr_publisher_get_host (PublishingTumblrTumblrPublisher* self) { + SpitPublishingPluginHost* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), NULL); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1810 "TumblrPublishing.c" +} + + +static gboolean publishing_tumblr_tumblr_publisher_real_is_running (SpitPublishingPublisher* base) { + PublishingTumblrTumblrPublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisher); +#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->running; +#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp0_; +#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1826 "TumblrPublishing.c" +} + + +static gboolean publishing_tumblr_tumblr_publisher_is_persistent_session_valid (PublishingTumblrTumblrPublisher* self) { + gboolean result = FALSE; + gchar* access_phase_token = NULL; + gchar* _tmp0_ = NULL; + gchar* access_phase_token_secret = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + gboolean valid = FALSE; + gboolean _tmp5_ = FALSE; +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), FALSE); +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token (self); +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + access_phase_token = _tmp0_; +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token_secret (self); +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + access_phase_token_secret = _tmp1_; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = access_phase_token; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp3_ != NULL) { +#line 1854 "TumblrPublishing.c" + const gchar* _tmp4_ = NULL; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = access_phase_token_secret; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _tmp4_ != NULL; +#line 1860 "TumblrPublishing.c" + } else { +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = FALSE; +#line 1864 "TumblrPublishing.c" + } +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + valid = _tmp2_; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = valid; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp5_) { +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:163: existing Tumblr session found in configurat" \ +"ion database; using it."); +#line 1874 "TumblrPublishing.c" + } else { +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:165: no persisted Tumblr session exists."); +#line 1878 "TumblrPublishing.c" + } +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = valid; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (access_phase_token_secret); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (access_phase_token); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1888 "TumblrPublishing.c" +} + + +gchar* publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token (PublishingTumblrTumblrPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), NULL); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "token", NULL); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1906 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token (PublishingTumblrTumblrPublisher* self, const gchar* token) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = token; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "token", _tmp1_); +#line 1921 "TumblrPublishing.c" +} + + +gchar* publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token_secret (PublishingTumblrTumblrPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), NULL); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "token_secret", NULL); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1939 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token_secret (PublishingTumblrTumblrPublisher* self, const gchar* token_secret) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = token_secret; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "token_secret", _tmp1_); +#line 1954 "TumblrPublishing.c" +} + + +gint publishing_tumblr_tumblr_publisher_get_persistent_default_size (PublishingTumblrTumblrPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), 0); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", 1); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 1972 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_set_persistent_default_size (PublishingTumblrTumblrPublisher* self, gint size) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = size; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", _tmp1_); +#line 1987 "TumblrPublishing.c" +} + + +gint publishing_tumblr_tumblr_publisher_get_persistent_default_blog (PublishingTumblrTumblrPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self), 0); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_blog", 0); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 2005 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_set_persistent_default_blog (PublishingTumblrTumblrPublisher* self, gint blog) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 201 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = blog; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_blog", _tmp1_); +#line 2020 "TumblrPublishing.c" +} + + +/** + * Action that shows the authentication pane. + * + * This action method shows the authentication pane. It is shown at the + * very beginning of the interaction when no persistent parameters are found + * or after a failed login attempt using persisted parameters. It can be + * given a mode flag to specify whether it should be displayed in initial + * mode or in any of the error modes that it supports. + * + * @param mode the mode for the authentication pane + */ +static void _publishing_tumblr_tumblr_publisher_on_authentication_pane_login_clicked_publishing_tumblr_tumblr_publisher_authentication_pane_login (PublishingTumblrTumblrPublisherAuthenticationPane* _sender, const gchar* user, const gchar* password, gpointer self) { +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_authentication_pane_login_clicked ((PublishingTumblrTumblrPublisher*) self, user, password); +#line 2038 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_show_authentication_pane (PublishingTumblrTumblrPublisher* self, PublishingTumblrTumblrPublisherAuthenticationPaneMode mode) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingTumblrTumblrPublisherAuthenticationPane* authentication_pane = NULL; + PublishingTumblrTumblrPublisherAuthenticationPaneMode _tmp1_ = 0; + PublishingTumblrTumblrPublisherAuthenticationPane* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + GtkWidget* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:219: ACTION: installing authentication pane"); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = mode; +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = publishing_tumblr_tumblr_publisher_authentication_pane_new (self, _tmp1_); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + authentication_pane = _tmp2_; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (authentication_pane, "login", (GCallback) _publishing_tumblr_tumblr_publisher_on_authentication_pane_login_clicked_publishing_tumblr_tumblr_publisher_authentication_pane_login, self, 0); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->host; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (authentication_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = self->priv->host; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = publishing_tumblr_tumblr_publisher_authentication_pane_get_default_widget (authentication_pane); +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = _tmp5_; +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp4_, _tmp6_); +#line 226 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (_tmp6_); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (authentication_pane); +#line 2083 "TumblrPublishing.c" +} + + +/** + * Event triggered when the login button in the authentication panel is + * clicked. + * + * This event is triggered when the login button in the authentication + * panel is clicked. It then triggers a network login interaction. + * + * @param username the name of the Tumblr user as entered in the dialog + * @param password the password of the Tumblr as entered in the dialog + */ +static void publishing_tumblr_tumblr_publisher_on_authentication_pane_login_clicked (PublishingTumblrTumblrPublisher* self, const gchar* username, const gchar* password) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (username != NULL); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (password != NULL); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:240: EVENT: on_authentication_pane_login_clicked"); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->running; +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp0_) { +#line 242 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2115 "TumblrPublishing.c" + } +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = username; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = password; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_network_login (self, _tmp1_, _tmp2_); +#line 2123 "TumblrPublishing.c" +} + + +/** + * Action to perform a network login to a Tumblr blog. + * + * This action performs a network login a Tumblr blog specified the given user name and password as credentials. + * + * @param username the name of the Tumblr user used to login + * @param password the password of the Tumblr user used to login + */ +static void _publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed ((PublishingTumblrTumblrPublisher*) self, _sender); +#line 2138 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_auth_request_txn_error ((PublishingTumblrTumblrPublisher*) self, _sender, err); +#line 2145 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_network_login (PublishingTumblrTumblrPublisher* self, const gchar* username, const gchar* password) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingTumblrTumblrPublisherAccessTokenFetchTransaction* txn = NULL; + PublishingTumblrTumblrPublisherSession* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PublishingTumblrTumblrPublisherAccessTokenFetchTransaction* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (username != NULL); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (password != NULL); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:256: ACTION: logging in"); +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->host; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_install_login_wait_pane (_tmp1_); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->session; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = username; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = password; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_new (_tmp2_, _tmp3_, _tmp4_); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + txn = _tmp5_; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self, 0); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_tumblr_tumblr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self, 0); +#line 2188 "TumblrPublishing.c" + { +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2196 "TumblrPublishing.c" + goto __catch32_spit_publishing_publishing_error; + } +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.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 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2207 "TumblrPublishing.c" + } + } + goto __finally32; + __catch32_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + err = _inner_error_; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _inner_error_ = NULL; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = self->priv->host; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = err; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp6_, _tmp7_); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (err); +#line 2228 "TumblrPublishing.c" + } + __finally32: +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2241 "TumblrPublishing.c" + } +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 2245 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + PublishingRESTSupportTransaction* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = txn; +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = txn; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self); +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp4_) { +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2283 "TumblrPublishing.c" + } +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = txn; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = _tmp6_; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:280: EVENT: OAuth authentication request transac" \ +"tion completed; response = '%s'", _tmp7_); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp7_); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = txn; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = publishing_rest_support_transaction_get_response (_tmp8_); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = _tmp9_; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_parse_token_info_from_auth_request (self, _tmp10_); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp10_); +#line 2305 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_auth_request_txn_error (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = txn; +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = txn; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self); +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp4_) { +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2339 "TumblrPublishing.c" + } +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:294: EVENT: OAuth authentication request transac" \ +"tion caused a network error"); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = self->priv->host; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = err; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp6_); +#line 2349 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_parse_token_info_from_auth_request (PublishingTumblrTumblrPublisher* self, const gchar* response) { + const gchar* _tmp0_ = NULL; + gchar* oauth_token = NULL; + gchar* oauth_token_secret = NULL; + gchar** key_value_pairs = NULL; + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint key_value_pairs_length1 = 0; + gint _key_value_pairs_size_ = 0; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gboolean _tmp24_ = FALSE; + const gchar* _tmp25_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (response != NULL); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = response; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:300: ACTION: parsing authorization request respo" \ +"nse '%s' into token and secret", _tmp0_); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + oauth_token = NULL; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + oauth_token_secret = NULL; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = response; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _tmp2_ = g_strsplit (_tmp1_, "&", 0); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + key_value_pairs = _tmp3_; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + key_value_pairs_length1 = _vala_array_length (_tmp2_); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _key_value_pairs_size_ = key_value_pairs_length1; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = key_value_pairs; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4__length1 = key_value_pairs_length1; +#line 2396 "TumblrPublishing.c" + { + gchar** pair_collection = NULL; + gint pair_collection_length1 = 0; + gint _pair_collection_size_ = 0; + gint pair_it = 0; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + pair_collection = _tmp4_; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + pair_collection_length1 = _tmp4__length1; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (pair_it = 0; pair_it < _tmp4__length1; pair_it = pair_it + 1) { +#line 2408 "TumblrPublishing.c" + gchar* _tmp5_ = NULL; + gchar* pair = NULL; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = g_strdup (pair_collection[pair_it]); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + pair = _tmp5_; +#line 2415 "TumblrPublishing.c" + { + gchar** split_pair = NULL; + const gchar* _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint split_pair_length1 = 0; + gint _split_pair_size_ = 0; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + const gchar* _tmp15_ = NULL; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = pair; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = _tmp7_ = g_strsplit (_tmp6_, "=", 0); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + split_pair = _tmp8_; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + split_pair_length1 = _vala_array_length (_tmp7_); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _split_pair_size_ = split_pair_length1; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = split_pair; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9__length1 = split_pair_length1; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp9__length1 != 2) { +#line 2444 "TumblrPublishing.c" + SpitPublishingPluginHost* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = self->priv->host; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = _ ("'%s' isn't a valid response to an OAuth authentication request"); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp11_); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = _tmp12_; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp10_, _tmp13_); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (_tmp13_); +#line 2461 "TumblrPublishing.c" + } +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = split_pair; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14__length1 = split_pair_length1; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = _tmp14_[0]; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (g_strcmp0 (_tmp15_, "oauth_token") == 0) { +#line 2471 "TumblrPublishing.c" + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = split_pair; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16__length1 = split_pair_length1; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = _tmp16_[1]; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (oauth_token); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + oauth_token = _tmp18_; +#line 2488 "TumblrPublishing.c" + } else { + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + const gchar* _tmp20_ = NULL; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = split_pair; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19__length1 = split_pair_length1; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = _tmp19_[0]; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (g_strcmp0 (_tmp20_, "oauth_token_secret") == 0) { +#line 2501 "TumblrPublishing.c" + gchar** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = split_pair; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21__length1 = split_pair_length1; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = _tmp21_[1]; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (oauth_token_secret); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + oauth_token_secret = _tmp23_; +#line 2518 "TumblrPublishing.c" + } + } +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + split_pair = (_vala_array_free (split_pair, split_pair_length1, (GDestroyNotify) g_free), NULL); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (pair); +#line 2525 "TumblrPublishing.c" + } + } + } +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = oauth_token; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp25_ == NULL) { +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = TRUE; +#line 2535 "TumblrPublishing.c" + } else { + const gchar* _tmp26_ = NULL; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp26_ = oauth_token_secret; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = _tmp26_ == NULL; +#line 2542 "TumblrPublishing.c" + } +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp24_) { +#line 2546 "TumblrPublishing.c" + SpitPublishingPluginHost* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GError* _tmp29_ = NULL; + GError* _tmp30_ = NULL; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27_ = self->priv->host; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = _ ("'%s' isn't a valid response to an OAuth authentication request"); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp28_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp30_ = _tmp29_; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp27_, _tmp30_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (_tmp30_); +#line 2563 "TumblrPublishing.c" + } +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31_ = self->priv->session; +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32_ = oauth_token; +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp33_ = oauth_token_secret; +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_session_set_access_phase_credentials (_tmp31_, _tmp32_, _tmp33_); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + key_value_pairs = (_vala_array_free (key_value_pairs, key_value_pairs_length1, (GDestroyNotify) g_free), NULL); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (oauth_token_secret); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (oauth_token); +#line 2579 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_session_authenticated (PublishingTumblrTumblrPublisher* self) { + gboolean _tmp0_ = FALSE; + PublishingTumblrTumblrPublisherSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp0_) { +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2599 "TumblrPublishing.c" + } +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:332: EVENT: a fully authenticated session has be" \ +"come available"); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->session; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = publishing_tumblr_tumblr_publisher_session_get_access_phase_token (_tmp1_); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _tmp2_; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token (self, _tmp3_); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp3_); +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = self->priv->session; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = publishing_tumblr_tumblr_publisher_session_get_access_phase_token_secret (_tmp4_); +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = _tmp5_; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_set_persistent_access_phase_token_secret (self, _tmp6_); +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp6_); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_get_blogs (self); +#line 2625 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_info_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_info_request_txn_completed ((PublishingTumblrTumblrPublisher*) self, _sender); +#line 2632 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_info_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_info_request_txn_error ((PublishingTumblrTumblrPublisher*) self, _sender, err); +#line 2639 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_get_blogs (PublishingTumblrTumblrPublisher* self) { + PublishingTumblrTumblrPublisherUserInfoFetchTransaction* txn = NULL; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + PublishingTumblrTumblrPublisherUserInfoFetchTransaction* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:340: ACTION: obtain all blogs of the tumblr user"); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->session; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_new (_tmp0_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + txn = _tmp1_; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_tumblr_tumblr_publisher_on_info_request_txn_completed_publishing_rest_support_transaction_completed, self, 0); +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_tumblr_tumblr_publisher_on_info_request_txn_error_publishing_rest_support_transaction_network_error, self, 0); +#line 2662 "TumblrPublishing.c" + { +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2670 "TumblrPublishing.c" + goto __catch33_spit_publishing_publishing_error; + } +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.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 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2681 "TumblrPublishing.c" + } + } + goto __finally33; + __catch33_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + GError* _tmp3_ = NULL; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + err = _inner_error_; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _inner_error_ = NULL; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->host; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = err; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp2_, _tmp3_); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (err); +#line 2702 "TumblrPublishing.c" + } + __finally33: +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2715 "TumblrPublishing.c" + } +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 2719 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_info_request_txn_completed (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + PublishingRESTSupportTransaction* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = txn; +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_info_request_txn_completed_publishing_rest_support_transaction_completed, self); +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = txn; +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_info_request_txn_error_publishing_rest_support_transaction_network_error, self); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp4_) { +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 2757 "TumblrPublishing.c" + } +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = txn; +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = _tmp6_; +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:362: EVENT: user info request transaction comple" \ +"ted; response = '%s'", _tmp7_); +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp7_); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = txn; +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = publishing_rest_support_transaction_get_response (_tmp8_); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = _tmp9_; +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_parse_token_info_from_user_request (self, _tmp10_); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp10_); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_show_publishing_options_pane (self); +#line 2781 "TumblrPublishing.c" +} + + +static gpointer _json_object_ref0 (gpointer self) { +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self ? json_object_ref (self) : NULL; +#line 2788 "TumblrPublishing.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 2801 "TumblrPublishing.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 2832 "TumblrPublishing.c" + goto __catch35_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 2841 "TumblrPublishing.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 2857 "TumblrPublishing.c" + goto __catch35_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 2868 "TumblrPublishing.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 2882 "TumblrPublishing.c" + } + goto __finally35; + __catch35_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 2896 "TumblrPublishing.c" + } + __finally35: +#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 2907 "TumblrPublishing.c" + } +} + + +static void _vala_array_add21 (PublishingTumblrBlogEntry*** array, int* length, int* size, PublishingTumblrBlogEntry* value) { +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if ((*length) == (*size)) { +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *array = g_renew (PublishingTumblrBlogEntry*, *array, (*size) + 1); +#line 2919 "TumblrPublishing.c" + } +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[(*length)++] = value; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[*length] = NULL; +#line 2925 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_parse_token_info_from_user_request (PublishingTumblrTumblrPublisher* self, const gchar* response) { + const gchar* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (response != NULL); +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = response; +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:370: ACTION: parsing info request response '%s' " \ +"into list of available blogs", _tmp0_); +#line 2940 "TumblrPublishing.c" + { + JsonParser* parser = NULL; + JsonParser* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + JsonObject* root_object = NULL; + JsonNode* _tmp3_ = NULL; + JsonObject* _tmp4_ = NULL; + JsonObject* _tmp5_ = NULL; + JsonObject* _tmp6_ = NULL; + JsonObject* _tmp7_ = NULL; + JsonObject* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + JsonObject* _tmp12_ = NULL; + JsonObject* _tmp13_ = NULL; + JsonObject* _tmp14_ = NULL; + JsonArray* _tmp15_ = NULL; + GList* _tmp16_ = NULL; +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = json_parser_new (); +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + parser = _tmp1_; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = response; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + json_parser_load_from_data (parser, _tmp2_, (gssize) -1, &_inner_error_); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (parser); +#line 2972 "TumblrPublishing.c" + goto __catch34_g_error; + } +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = json_parser_get_root (parser); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = json_node_get_object (_tmp3_); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _json_object_ref0 (_tmp4_); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + root_object = _tmp5_; +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = root_object; +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = json_object_get_object_member (_tmp6_, "response"); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = json_object_get_object_member (_tmp7_, "user"); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = json_object_get_string_member (_tmp8_, "name"); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->username); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->username = _tmp10_; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = self->priv->username; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:376: Got user name: %s", _tmp11_); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = root_object; +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = json_object_get_object_member (_tmp12_, "response"); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = json_object_get_object_member (_tmp13_, "user"); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = json_object_get_array_member (_tmp14_, "blogs"); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = json_array_get_elements (_tmp15_); +#line 3011 "TumblrPublishing.c" + { + GList* blognode_collection = NULL; + GList* blognode_it = NULL; +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + blognode_collection = _tmp16_; +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (blognode_it = blognode_collection; blognode_it != NULL; blognode_it = blognode_it->next) { +#line 3019 "TumblrPublishing.c" + JsonNode* blognode = NULL; +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + blognode = (JsonNode*) blognode_it->data; +#line 3023 "TumblrPublishing.c" + { + JsonObject* blog = NULL; + JsonNode* _tmp17_ = NULL; + JsonObject* _tmp18_ = NULL; + JsonObject* _tmp19_ = NULL; + gchar* name = NULL; + JsonObject* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* url = NULL; + JsonObject* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + PublishingTumblrBlogEntry** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + PublishingTumblrBlogEntry* _tmp34_ = NULL; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = blognode; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18_ = json_node_get_object (_tmp17_); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = _json_object_ref0 (_tmp18_); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + blog = _tmp19_; +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = blog; +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = json_object_get_string_member (_tmp20_, "name"); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + name = _tmp22_; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp23_ = blog; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = json_object_get_string_member (_tmp23_, "url"); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = string_replace (_tmp24_, "http://", ""); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp26_ = _tmp25_; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27_ = string_replace (_tmp26_, "/", ""); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = _tmp27_; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp26_); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + url = _tmp28_; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = name; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp30_ = url; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:381: Got blog name: %s and url: %s", _tmp29_, _tmp30_); +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31_ = self->priv->blogs; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31__length1 = self->priv->blogs_length1; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32_ = name; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp33_ = url; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp34_ = publishing_tumblr_blog_entry_new (_tmp32_, _tmp33_); +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_array_add21 (&self->priv->blogs, &self->priv->blogs_length1, &self->priv->_blogs_size_, _tmp34_); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (url); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (name); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _json_object_unref0 (blog); +#line 3103 "TumblrPublishing.c" + } + } +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_list_free0 (blognode_collection); +#line 3108 "TumblrPublishing.c" + } +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _json_object_unref0 (root_object); +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (parser); +#line 3114 "TumblrPublishing.c" + } + goto __finally34; + __catch34_g_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp35_ = NULL; + GError* _tmp36_ = NULL; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + err = _inner_error_; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _inner_error_ = NULL; +#line 385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp35_ = self->priv->host; +#line 385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp36_ = err; +#line 385 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp35_, _tmp36_); +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (err); +#line 3134 "TumblrPublishing.c" + } + __finally34: +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3145 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_tumblr_publisher_on_info_request_txn_error (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingTumblrTumblrPublisherSession* _tmp5_ = NULL; + SpitPublishingPluginHost* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = txn; +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_info_request_txn_completed_publishing_rest_support_transaction_completed, self); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = txn; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_info_request_txn_error_publishing_rest_support_transaction_network_error, self); +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp4_) { +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3181 "TumblrPublishing.c" + } +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = self->priv->session; +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_session_deauthenticate (_tmp5_); +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_invalidate_persistent_session (self); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:399: EVENT: user info request transaction caused" \ +" a network error"); +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = self->priv->host; +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = err; +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp6_, _tmp7_); +#line 3197 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self) { +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish ((PublishingTumblrTumblrPublisher*) self); +#line 3204 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self) { +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout ((PublishingTumblrTumblrPublisher*) self); +#line 3211 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_show_publishing_options_pane (PublishingTumblrTumblrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingTumblrTumblrPublisherPublishingOptionsPane* publishing_options_pane = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + SpitPublishingPublisherMediaType _tmp2_ = 0; + PublishingTumblrSizeEntry** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PublishingTumblrBlogEntry** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingTumblrTumblrPublisherPublishingOptionsPane* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:404: ACTION: displaying publishing options pane"); +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->host; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = spit_publishing_plugin_host_get_publishable_media_type (_tmp1_); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->sizes; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3__length1 = self->priv->sizes_length1; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = self->priv->blogs; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4__length1 = self->priv->blogs_length1; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = self->priv->username; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = publishing_tumblr_tumblr_publisher_publishing_options_pane_new (self, _tmp2_, _tmp3_, _tmp3__length1, _tmp4_, _tmp4__length1, _tmp5_); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_options_pane = _tmp6_; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (publishing_options_pane, "publish", (GCallback) _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish, self, 0); +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (publishing_options_pane, "logout", (GCallback) _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout, self, 0); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = self->priv->host; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (publishing_options_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (publishing_options_pane); +#line 3263 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish (PublishingTumblrTumblrPublisher* self) { + PublishingTumblrTumblrPublisherPublishingOptionsPane* _tmp0_ = NULL; + gboolean _tmp5_ = FALSE; +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp0_ != NULL) { +#line 3276 "TumblrPublishing.c" + PublishingTumblrTumblrPublisherPublishingOptionsPane* _tmp1_ = NULL; + guint _tmp2_ = 0U; + PublishingTumblrTumblrPublisherPublishingOptionsPane* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->publishing_options_pane; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp2_, NULL, FALSE); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish, self); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->publishing_options_pane; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp4_, NULL, FALSE); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout, self); +#line 3293 "TumblrPublishing.c" + } +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp5_) { +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3301 "TumblrPublishing.c" + } +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:424: EVENT: user clicked the 'Publish' button in" \ +" the publishing options pane"); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_publish (self); +#line 3307 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout (PublishingTumblrTumblrPublisher* self) { + PublishingTumblrTumblrPublisherPublishingOptionsPane* _tmp0_ = NULL; + gboolean _tmp5_ = FALSE; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp0_ != NULL) { +#line 3320 "TumblrPublishing.c" + PublishingTumblrTumblrPublisherPublishingOptionsPane* _tmp1_ = NULL; + guint _tmp2_ = 0U; + PublishingTumblrTumblrPublisherPublishingOptionsPane* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->publishing_options_pane; +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp2_, NULL, FALSE); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish, self); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->publishing_options_pane; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp4_, NULL, FALSE); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_publishing_options_pane_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout, self); +#line 3337 "TumblrPublishing.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp5_) { +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3345 "TumblrPublishing.c" + } +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:437: EVENT: user clicked the 'Logout' button in " \ +"the publishing options pane"); +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_logout (self); +#line 3351 "TumblrPublishing.c" +} + + +gint publishing_tumblr_tumblr_publisher_tumblr_date_time_compare_func (SpitPublishingPublishable* a, SpitPublishingPublishable* b) { + gint result = 0; + SpitPublishingPublishable* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; + GDateTime* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + GDateTime* _tmp4_ = NULL; + GDateTime* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (a), 0); +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (b), 0); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = a; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = spit_publishing_publishable_get_exposure_date_time (_tmp0_); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _tmp1_; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = b; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = spit_publishing_publishable_get_exposure_date_time (_tmp3_); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = g_date_time_compare (_tmp2_, _tmp5_); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = _tmp6_; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_date_time_unref0 (_tmp5_); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_date_time_unref0 (_tmp2_); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp7_; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 3393 "TumblrPublishing.c" +} + + +static gint _publishing_tumblr_tumblr_publisher_tumblr_date_time_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = publishing_tumblr_tumblr_publisher_tumblr_date_time_compare_func ((SpitPublishingPublishable*) a, (SpitPublishingPublishable*) b); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 3402 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_upload_complete ((PublishingTumblrTumblrPublisher*) self, _sender, num_photos_published); +#line 3409 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_upload_error ((PublishingTumblrTumblrPublisher*) self, _sender, err); +#line 3416 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_on_upload_status_updated ((PublishingTumblrTumblrPublisher*) self, file_number, fraction_complete); +#line 3423 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_publish (PublishingTumblrTumblrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingTumblrSizeEntry** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + PublishingTumblrSizeEntry* _tmp4_ = NULL; + gint _tmp5_ = 0; + void* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + SpitPublishingProgressCallback _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + gint _tmp11_ = 0; + SpitPublishingPublishable** _tmp12_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + GeeArrayList* sorted_list = NULL; + GeeArrayList* _tmp13_ = NULL; + SpitPublishingPublishable** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + GeeArrayList* _tmp18_ = NULL; + gchar* blog_url = NULL; + PublishingTumblrBlogEntry** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint _tmp20_ = 0; + PublishingTumblrBlogEntry* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + PublishingTumblrTumblrPublisherUploader* uploader = NULL; + PublishingTumblrTumblrPublisherSession* _tmp24_ = NULL; + GeeArrayList* _tmp25_ = NULL; + gint _tmp26_ = 0; + gpointer* _tmp27_ = NULL; + SpitPublishingPublishable** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + const gchar* _tmp29_ = NULL; + PublishingTumblrTumblrPublisherUploader* _tmp30_ = NULL; + PublishingTumblrTumblrPublisherUploader* _tmp31_ = NULL; + PublishingTumblrTumblrPublisherUploader* _tmp32_ = NULL; + PublishingTumblrTumblrPublisherUploader* _tmp33_ = NULL; + PublishingTumblrTumblrPublisherUploader* _tmp34_ = NULL; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:448: ACTION: uploading media items to remote ser" \ +"ver."); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->host; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->sizes; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2__length1 = self->priv->sizes_length1; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = publishing_tumblr_tumblr_publisher_get_persistent_default_size (self); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = _tmp2_[_tmp3_]; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_->size; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = spit_publishing_plugin_host_serialize_publishables (_tmp1_, _tmp5_, FALSE, &_tmp6_, &_tmp7_); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter = NULL; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter = _tmp8_; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter_target = _tmp6_; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp7_; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp9_) { +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3512 "TumblrPublishing.c" + } +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = self->priv->host; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = spit_publishing_plugin_host_get_publishables (_tmp10_, &_tmp11_); +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishables = _tmp12_; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishables_length1 = _tmp11_; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishables_size_ = publishables_length1; +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = gee_array_list_new (SPIT_PUBLISHING_TYPE_PUBLISHABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + sorted_list = _tmp13_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = publishables; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14__length1 = publishables_length1; +#line 3532 "TumblrPublishing.c" + { + SpitPublishingPublishable** p_collection = NULL; + gint p_collection_length1 = 0; + gint _p_collection_size_ = 0; + gint p_it = 0; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + p_collection = _tmp14_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + p_collection_length1 = _tmp14__length1; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (p_it = 0; p_it < _tmp14__length1; p_it = p_it + 1) { +#line 3544 "TumblrPublishing.c" + SpitPublishingPublishable* _tmp15_ = NULL; + SpitPublishingPublishable* p = NULL; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = _g_object_ref0 (p_collection[p_it]); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + p = _tmp15_; +#line 3551 "TumblrPublishing.c" + { + GeeArrayList* _tmp16_ = NULL; + SpitPublishingPublishable* _tmp17_ = NULL; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:466: ACTION: add publishable"); +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = sorted_list; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = p; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (p); +#line 3565 "TumblrPublishing.c" + } + } + } +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18_ = sorted_list; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gee_list_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_LIST, GeeList), _publishing_tumblr_tumblr_publisher_tumblr_date_time_compare_func_gcompare_data_func, NULL, NULL); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = self->priv->blogs; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19__length1 = self->priv->blogs_length1; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = publishing_tumblr_tumblr_publisher_get_persistent_default_blog (self); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = _tmp19_[_tmp20_]; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = _tmp21_->url; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + blog_url = _tmp23_; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = self->priv->session; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = sorted_list; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp26_); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = _tmp27_; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28__length1 = _tmp26_; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = blog_url; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp30_ = publishing_tumblr_tumblr_publisher_uploader_new (_tmp24_, _tmp28_, _tmp26_, _tmp29_); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31_ = _tmp30_; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = (_vala_array_free (_tmp28_, _tmp28__length1, (GDestroyNotify) g_object_unref), NULL); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + uploader = _tmp31_; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32_ = uploader; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_tumblr_tumblr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp33_ = uploader; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_tumblr_tumblr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp34_ = uploader; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_tumblr_tumblr_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (blog_url); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (sorted_list); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 3627 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_show_success_pane (PublishingTumblrTumblrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:479: ACTION: showing success pane."); +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->host; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->host; +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp1_); +#line 3646 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_upload_status_updated (PublishingTumblrTumblrPublisher* self, gint file_number, gdouble completed_fraction) { + gboolean _tmp0_ = FALSE; + gdouble _tmp1_ = 0.0; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 487 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp0_) { +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3667 "TumblrPublishing.c" + } +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = completed_fraction; +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:490: EVENT: uploader reports upload %.2f percent" \ +" complete.", 100.0 * _tmp1_); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->progress_reporter; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_assert (_tmp2_ != NULL, "progress_reporter != null"); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->progress_reporter; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = file_number; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = completed_fraction; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 3689 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_upload_complete (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportBatchUploader* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp0_) { +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3710 "TumblrPublishing.c" + } +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = num_published; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:502: EVENT: uploader reports upload complete; %d" \ +" items published.", _tmp1_); +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = uploader; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = uploader; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp5_, NULL, FALSE); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_show_success_pane (self); +#line 3730 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_on_upload_error (PublishingTumblrTumblrPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err) { + gboolean _tmp0_ = FALSE; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportBatchUploader* _tmp3_ = NULL; + guint _tmp4_ = 0U; + PublishingRESTSupportBatchUploader* _tmp5_ = NULL; + guint _tmp6_ = 0U; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp0_) { +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3754 "TumblrPublishing.c" + } +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = err; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _tmp1_->message; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:515: EVENT: uploader reports upload error = '%s'" \ +".", _tmp2_); +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = uploader; +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp4_, NULL, FALSE); +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = uploader; +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp6_, NULL, FALSE); +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = self->priv->host; +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = err; +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 3780 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_do_logout (PublishingTumblrTumblrPublisher* self) { + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:525: ACTION: logging user out, deauthenticating " \ +"session, and erasing stored credentials"); +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->session; +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_session_deauthenticate (_tmp0_); +#line 528 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_invalidate_persistent_session (self); +#line 530 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->running = FALSE; +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_attempt_start (self); +#line 3800 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_attempt_start (PublishingTumblrTumblrPublisher* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (self)); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp0_) { +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3815 "TumblrPublishing.c" + } +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:539: TumblrPublisher: starting interaction."); +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->running = TRUE; +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishing_tumblr_tumblr_publisher_is_persistent_session_valid (self); +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp1_) { +#line 3825 "TumblrPublishing.c" + PublishingTumblrTumblrPublisherSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:543: attempt start: a persistent session is avai" \ +"lable; using it"); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->session; +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token (self); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = _tmp3_; +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = publishing_tumblr_tumblr_publisher_get_persistent_access_phase_token_secret (self); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = _tmp5_; +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_session_authenticate_from_persistent_credentials (_tmp2_, _tmp4_, _tmp6_); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp6_); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp4_); +#line 3849 "TumblrPublishing.c" + } else { +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:548: attempt start: no persistent session availa" \ +"ble; showing login welcome pane"); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_do_show_authentication_pane (self, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_INTRO); +#line 3855 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_tumblr_publisher_real_start (SpitPublishingPublisher* base) { + PublishingTumblrTumblrPublisher * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisher); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp0_) { +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 3872 "TumblrPublishing.c" + } +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->was_started; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp1_) { +#line 3878 "TumblrPublishing.c" + const gchar* _tmp2_ = NULL; +#line 559 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _ ("TumblrPublisher: start( ): can't start; this publisher is not restarta" \ +"ble."); +#line 559 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_error ("TumblrPublishing.vala:559: %s", _tmp2_); +#line 3884 "TumblrPublishing.c" + } +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:561: TumblrPublisher: starting interaction."); +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_attempt_start (self); +#line 3890 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_real_stop (SpitPublishingPublisher* base) { + PublishingTumblrTumblrPublisher * self; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisher); +#line 567 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:567: TumblrPublisher: stop( ) invoked."); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->running = FALSE; +#line 3902 "TumblrPublishing.c" +} + + +GType publishing_tumblr_tumblr_publisher_authentication_pane_mode_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_authentication_pane_mode_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_authentication_pane_mode_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_INTRO, "PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_INTRO", "intro"}, {PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER, "PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER", "failed-retry-user"}, {0, NULL, NULL}}; + GType publishing_tumblr_tumblr_publisher_authentication_pane_mode_type_id; + publishing_tumblr_tumblr_publisher_authentication_pane_mode_type_id = g_enum_register_static ("PublishingTumblrTumblrPublisherAuthenticationPaneMode", values); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_authentication_pane_mode_type_id__volatile, publishing_tumblr_tumblr_publisher_authentication_pane_mode_type_id); + } + return publishing_tumblr_tumblr_publisher_authentication_pane_mode_type_id__volatile; +} + + +static void _publishing_tumblr_tumblr_publisher_authentication_pane_on_user_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_on_user_changed ((PublishingTumblrTumblrPublisherAuthenticationPane*) self); +#line 3921 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_authentication_pane_on_password_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_on_password_changed ((PublishingTumblrTumblrPublisherAuthenticationPane*) self); +#line 3928 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_authentication_pane_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_on_login_button_clicked ((PublishingTumblrTumblrPublisherAuthenticationPane*) self); +#line 3935 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherAuthenticationPane* publishing_tumblr_tumblr_publisher_authentication_pane_construct (GType object_type, PublishingTumblrTumblrPublisher* publisher, PublishingTumblrTumblrPublisherAuthenticationPaneMode mode) { + PublishingTumblrTumblrPublisherAuthenticationPane * self = NULL; + GtkBox* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (publisher), NULL); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherAuthenticationPane*) g_object_new (object_type, NULL); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_object_ref_sink (_tmp0_); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->pane_widget = _tmp0_; +#line 3955 "TumblrPublishing.c" + { + GtkBuilder* _tmp1_ = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GtkAlignment* align = NULL; + GtkBuilder* _tmp4_ = NULL; + GObject* _tmp5_ = NULL; + GtkAlignment* _tmp6_ = NULL; + GtkLabel* message_label = NULL; + GtkBuilder* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + PublishingTumblrTumblrPublisherAuthenticationPaneMode _tmp10_ = 0; + GtkBuilder* _tmp18_ = NULL; + GObject* _tmp19_ = NULL; + GtkEntry* _tmp20_ = NULL; + GtkBuilder* _tmp21_ = NULL; + GObject* _tmp22_ = NULL; + GtkEntry* _tmp23_ = NULL; + GtkBuilder* _tmp24_ = NULL; + GObject* _tmp25_ = NULL; + GtkButton* _tmp26_ = NULL; + GtkEntry* _tmp27_ = NULL; + GtkEntry* _tmp28_ = NULL; + GtkButton* _tmp29_ = NULL; + GtkAlignment* _tmp30_ = NULL; + GtkBox* _tmp31_ = NULL; + PublishingTumblrTumblrPublisher* _tmp32_ = NULL; + SpitPublishingPluginHost* _tmp33_ = NULL; + SpitPublishingPluginHost* _tmp34_ = NULL; + GtkButton* _tmp35_ = NULL; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = gtk_builder_new (); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->builder = _tmp1_; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->builder; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_builder_add_from_resource (_tmp2_, PLUGIN_RESOURCE_PATH "/tumblr_authentication_pane.ui", &_inner_error_); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3999 "TumblrPublishing.c" + goto __catch36_g_error; + } +#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->builder; +#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_builder_connect_signals (_tmp3_, NULL); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = self->priv->builder; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = gtk_builder_get_object (_tmp4_, "alignment"); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, gtk_alignment_get_type ()) ? ((GtkAlignment*) _tmp5_) : NULL); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + align = _tmp6_; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = self->priv->builder; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = gtk_builder_get_object (_tmp7_, "message_label"); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp8_) : NULL); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + message_label = _tmp9_; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = mode; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + switch (_tmp10_) { +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + case PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_INTRO: +#line 4028 "TumblrPublishing.c" + { + GtkLabel* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = message_label; +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = publishing_tumblr_tumblr_publisher_authentication_pane_INTRO_MESSAGE; +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_label_set_text (_tmp11_, _tmp12_); +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + break; +#line 4040 "TumblrPublishing.c" + } +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + case PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER: +#line 4044 "TumblrPublishing.c" + { + GtkLabel* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = message_label; +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = _ ("Invalid User Name or Password"); +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = publishing_tumblr_tumblr_publisher_authentication_pane_FAILED_RETRY_USER_MESSAGE; +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = g_strdup_printf ("%s\n\n%s", _tmp14_, _tmp15_); +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = _tmp16_; +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_label_set_markup (_tmp13_, _tmp17_); +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp17_); +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + break; +#line 4067 "TumblrPublishing.c" + } + default: +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + break; +#line 4072 "TumblrPublishing.c" + } +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18_ = self->priv->builder; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = gtk_builder_get_object (_tmp18_, "username_entry"); +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp19_) : NULL); +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->username_entry); +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->username_entry = _tmp20_; +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = self->priv->builder; +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = gtk_builder_get_object (_tmp21_, "password_entry"); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp22_) : NULL); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->password_entry); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->password_entry = _tmp23_; +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = self->priv->builder; +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = gtk_builder_get_object (_tmp24_, "login_button"); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, gtk_button_get_type ()) ? ((GtkButton*) _tmp25_) : NULL); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->login_button); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->login_button = _tmp26_; +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27_ = self->priv->username_entry; +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_tumblr_tumblr_publisher_authentication_pane_on_user_changed_gtk_editable_changed, self, 0); +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = self->priv->password_entry; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_tumblr_tumblr_publisher_authentication_pane_on_password_changed_gtk_editable_changed, self, 0); +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = self->priv->login_button; +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (_tmp29_, "clicked", (GCallback) _publishing_tumblr_tumblr_publisher_authentication_pane_on_login_button_clicked_gtk_button_clicked, self, 0); +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp30_ = align; +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31_ = self->priv->pane_widget; +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_widget_reparent (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_widget_get_type (), GtkWidget), G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget)); +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32_ = publisher; +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp33_ = publishing_tumblr_tumblr_publisher_get_host (_tmp32_); +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp34_ = _tmp33_; +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp35_ = self->priv->login_button; +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget)); +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (_tmp34_); +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (message_label); +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (align); +#line 4138 "TumblrPublishing.c" + } + goto __finally36; + __catch36_g_error: + { + GError* e = NULL; + const gchar* _tmp36_ = NULL; + GError* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + e = _inner_error_; +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _inner_error_ = NULL; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp36_ = _ ("Could not load UI: %s"); +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp37_ = e; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp38_ = _tmp37_->message; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_warning (_tmp36_, _tmp38_); +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (e); +#line 4161 "TumblrPublishing.c" + } + __finally36: +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return NULL; +#line 4172 "TumblrPublishing.c" + } +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 4176 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherAuthenticationPane* publishing_tumblr_tumblr_publisher_authentication_pane_new (PublishingTumblrTumblrPublisher* publisher, PublishingTumblrTumblrPublisherAuthenticationPaneMode mode) { +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_authentication_pane_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, publisher, mode); +#line 4183 "TumblrPublishing.c" +} + + +GtkWidget* publishing_tumblr_tumblr_publisher_authentication_pane_get_default_widget (PublishingTumblrTumblrPublisherAuthenticationPane* self) { + GtkWidget* result = NULL; + GtkButton* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_AUTHENTICATION_PANE (self), NULL); +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->login_button; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 4201 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_on_login_button_clicked (PublishingTumblrTumblrPublisherAuthenticationPane* self) { + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_AUTHENTICATION_PANE (self)); +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->username_entry; +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->password_entry; +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = gtk_entry_get_text (_tmp2_); +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_emit_by_name (self, "login", _tmp1_, _tmp3_); +#line 4222 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_on_user_changed (PublishingTumblrTumblrPublisherAuthenticationPane* self) { +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_AUTHENTICATION_PANE (self)); +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_update_login_button_sensitivity (self); +#line 4231 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_on_password_changed (PublishingTumblrTumblrPublisherAuthenticationPane* self) { +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_AUTHENTICATION_PANE (self)); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_update_login_button_sensitivity (self); +#line 4240 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_update_login_button_sensitivity (PublishingTumblrTumblrPublisherAuthenticationPane* self) { + gboolean _tmp0_ = FALSE; + GtkEntry* _tmp1_ = NULL; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; + GtkButton* _tmp7_ = NULL; +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_AUTHENTICATION_PANE (self)); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->username_entry; +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = gtk_entry_get_text_length (_tmp1_); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _tmp2_; +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp3_ > ((guint) 0)) { +#line 4260 "TumblrPublishing.c" + GtkEntry* _tmp4_ = NULL; + guint _tmp5_ = 0U; + guint _tmp6_ = 0U; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = self->priv->password_entry; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = gtk_entry_get_text_length (_tmp4_); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = _tmp5_; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = _tmp6_ > ((guint) 0); +#line 4272 "TumblrPublishing.c" + } else { +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = FALSE; +#line 4276 "TumblrPublishing.c" + } +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = self->priv->login_button; +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 4282 "TumblrPublishing.c" +} + + +static GtkWidget* publishing_tumblr_tumblr_publisher_authentication_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherAuthenticationPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPane); +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 4301 "TumblrPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_tumblr_tumblr_publisher_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherAuthenticationPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 665 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPane); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 4314 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherAuthenticationPane * self; + GtkEntry* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPane); +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->username_entry; +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->password_entry; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_entry_set_activates_default (_tmp1_, TRUE); +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->login_button; +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_widget_set_can_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 673 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_update_login_button_sensitivity (self); +#line 4339 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherAuthenticationPane * self; +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPane); +#line 4347 "TumblrPublishing.c" +} + + +static void g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__STRING_STRING) (gpointer data1, const char* arg_1, const char* arg_2, gpointer data2); + register GMarshalFunc_VOID__STRING_STRING callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (n_param_values == 3); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + data1 = closure->data; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 4366 "TumblrPublishing.c" + } else { +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + data2 = closure->data; +#line 4372 "TumblrPublishing.c" + } +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + callback = (GMarshalFunc_VOID__STRING_STRING) (marshal_data ? marshal_data : cc->callback); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), data2); +#line 4378 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_class_init (PublishingTumblrTumblrPublisherAuthenticationPaneClass * klass) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_parent_class = g_type_class_peek_parent (klass); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingTumblrTumblrPublisherAuthenticationPanePrivate)); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_tumblr_tumblr_publisher_authentication_pane_finalize; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_new ("login", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = _ ("Enter the username and password associated with your Tumblr account."); +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_INTRO_MESSAGE = _tmp1_; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _ ("Username and/or password invalid. Please try again"); +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_FAILED_RETRY_USER_MESSAGE = _tmp3_; +#line 4407 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_authentication_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_authentication_pane_real_get_widget; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_authentication_pane_real_get_preferred_geometry; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_authentication_pane_real_on_pane_installed; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_authentication_pane_real_on_pane_uninstalled; +#line 4422 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_instance_init (PublishingTumblrTumblrPublisherAuthenticationPane * self) { +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv = PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_AUTHENTICATION_PANE_GET_PRIVATE (self); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->pane_widget = NULL; +#line 4431 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_authentication_pane_finalize (GObject* obj) { + PublishingTumblrTumblrPublisherAuthenticationPane * self; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_AUTHENTICATION_PANE, PublishingTumblrTumblrPublisherAuthenticationPane); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->username_entry); +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->password_entry); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->login_button); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (publishing_tumblr_tumblr_publisher_authentication_pane_parent_class)->finalize (obj); +#line 4451 "TumblrPublishing.c" +} + + +/** + * The authentication pane used when asking service URL, user name and password + * from the user. + */ +GType publishing_tumblr_tumblr_publisher_authentication_pane_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_authentication_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_authentication_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherAuthenticationPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_authentication_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherAuthenticationPane), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_authentication_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_tumblr_tumblr_publisher_authentication_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_tumblr_tumblr_publisher_authentication_pane_type_id; + publishing_tumblr_tumblr_publisher_authentication_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingTumblrTumblrPublisherAuthenticationPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_tumblr_tumblr_publisher_authentication_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_authentication_pane_type_id__volatile, publishing_tumblr_tumblr_publisher_authentication_pane_type_id); + } + return publishing_tumblr_tumblr_publisher_authentication_pane_type_id__volatile; +} + + +static gpointer _publishing_tumblr_size_entry_ref0 (gpointer self) { +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self ? publishing_tumblr_size_entry_ref (self) : NULL; +#line 4476 "TumblrPublishing.c" +} + + +static PublishingTumblrSizeEntry** _vala_array_dup7 (PublishingTumblrSizeEntry** self, int length) { + PublishingTumblrSizeEntry** result; + int i; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = g_new0 (PublishingTumblrSizeEntry*, length + 1); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (i = 0; i < length; i++) { +#line 4487 "TumblrPublishing.c" + PublishingTumblrSizeEntry* _tmp0_ = NULL; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = _publishing_tumblr_size_entry_ref0 (self[i]); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result[i] = _tmp0_; +#line 4493 "TumblrPublishing.c" + } +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 4497 "TumblrPublishing.c" +} + + +static gpointer _publishing_tumblr_blog_entry_ref0 (gpointer self) { +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self ? publishing_tumblr_blog_entry_ref (self) : NULL; +#line 4504 "TumblrPublishing.c" +} + + +static PublishingTumblrBlogEntry** _vala_array_dup8 (PublishingTumblrBlogEntry** self, int length) { + PublishingTumblrBlogEntry** result; + int i; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = g_new0 (PublishingTumblrBlogEntry*, length + 1); +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (i = 0; i < length; i++) { +#line 4515 "TumblrPublishing.c" + PublishingTumblrBlogEntry* _tmp0_ = NULL; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = _publishing_tumblr_blog_entry_ref0 (self[i]); +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result[i] = _tmp0_; +#line 4521 "TumblrPublishing.c" + } +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 4525 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_blog_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_on_blog_changed ((PublishingTumblrTumblrPublisherPublishingOptionsPane*) self); +#line 4532 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_on_size_changed ((PublishingTumblrTumblrPublisherPublishingOptionsPane*) self); +#line 4539 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_on_logout_clicked ((PublishingTumblrTumblrPublisherPublishingOptionsPane*) self); +#line 4546 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_on_publish_clicked ((PublishingTumblrTumblrPublisherPublishingOptionsPane*) self); +#line 4553 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherPublishingOptionsPane* publishing_tumblr_tumblr_publisher_publishing_options_pane_construct (GType object_type, PublishingTumblrTumblrPublisher* publisher, SpitPublishingPublisherMediaType media_type, PublishingTumblrSizeEntry** sizes, int sizes_length1, PublishingTumblrBlogEntry** blogs, int blogs_length1, const gchar* username) { + PublishingTumblrTumblrPublisherPublishingOptionsPane * self = NULL; + GtkBox* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PublishingTumblrTumblrPublisher* _tmp3_ = NULL; + PublishingTumblrTumblrPublisher* _tmp4_ = NULL; + SpitPublishingPublisherMediaType _tmp5_ = 0; + PublishingTumblrSizeEntry** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + PublishingTumblrSizeEntry** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + PublishingTumblrBlogEntry** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + PublishingTumblrBlogEntry** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GError * _inner_error_ = NULL; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_IS_TUMBLR_PUBLISHER (publisher), NULL); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherPublishingOptionsPane*) g_object_new (object_type, NULL); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_object_ref_sink (_tmp0_); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->pane_widget = _tmp0_; +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = username; +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->username); +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->username = _tmp2_; +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = publisher; +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->publisher = _tmp4_; +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = media_type; +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->media_type = _tmp5_; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = sizes; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6__length1 = sizes_length1; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = (_tmp6_ != NULL) ? _vala_array_dup7 (_tmp6_, _tmp6__length1) : ((gpointer) _tmp6_); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7__length1 = _tmp6__length1; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = (_vala_array_free (self->priv->sizes, self->priv->sizes_length1, (GDestroyNotify) publishing_tumblr_size_entry_unref), NULL); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = _tmp7_; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes_length1 = _tmp7__length1; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_sizes_size_ = self->priv->sizes_length1; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = blogs; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8__length1 = blogs_length1; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup8 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = (_vala_array_free (self->priv->blogs, self->priv->blogs_length1, (GDestroyNotify) publishing_tumblr_blog_entry_unref), NULL); +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = _tmp9_; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs_length1 = _tmp9__length1; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_blogs_size_ = self->priv->blogs_length1; +#line 4640 "TumblrPublishing.c" + { + GtkBuilder* _tmp10_ = NULL; + GtkBuilder* _tmp11_ = NULL; + GtkBuilder* _tmp12_ = NULL; + GtkBuilder* _tmp13_ = NULL; + GObject* _tmp14_ = NULL; + GtkBox* _tmp15_ = NULL; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkLabel* _tmp18_ = NULL; + GtkBuilder* _tmp19_ = NULL; + GObject* _tmp20_ = NULL; + GtkButton* _tmp21_ = NULL; + GtkBuilder* _tmp22_ = NULL; + GObject* _tmp23_ = NULL; + GtkButton* _tmp24_ = NULL; + GtkBuilder* _tmp25_ = NULL; + GObject* _tmp26_ = NULL; + GtkComboBoxText* _tmp27_ = NULL; + GtkBuilder* _tmp28_ = NULL; + GObject* _tmp29_ = NULL; + GtkLabel* _tmp30_ = NULL; + GtkBuilder* _tmp31_ = NULL; + GObject* _tmp32_ = NULL; + GtkComboBoxText* _tmp33_ = NULL; + GtkBuilder* _tmp34_ = NULL; + GObject* _tmp35_ = NULL; + GtkLabel* _tmp36_ = NULL; + gchar* upload_label_text = NULL; + const gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + GtkLabel* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + GtkComboBoxText* _tmp42_ = NULL; + SpitPublishingPublisherMediaType _tmp43_ = 0; + GtkButton* _tmp47_ = NULL; + GtkButton* _tmp48_ = NULL; +#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = gtk_builder_new (); +#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->builder = _tmp10_; +#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = self->priv->builder; +#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_builder_add_from_resource (_tmp11_, PLUGIN_RESOURCE_PATH "/tumblr_publishing_options_pane.ui", &_inner_error_); +#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4691 "TumblrPublishing.c" + goto __catch37_g_error; + } +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = self->priv->builder; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_builder_connect_signals (_tmp12_, NULL); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = self->priv->builder; +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = gtk_builder_get_object (_tmp13_, "tumblr_pane"); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_box_get_type (), GtkBox)); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->pane_widget = _tmp15_; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = self->priv->builder; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "upload_info_label"); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_label_get_type (), GtkLabel)); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->upload_info_label); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->upload_info_label = _tmp18_; +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = self->priv->builder; +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = gtk_builder_get_object (_tmp19_, "logout_button"); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_button_get_type (), GtkButton)); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->logout_button = _tmp21_; +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = self->priv->builder; +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp23_ = gtk_builder_get_object (_tmp22_, "publish_button"); +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_button_get_type (), GtkButton)); +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->publish_button = _tmp24_; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = self->priv->builder; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp26_ = gtk_builder_get_object (_tmp25_, "size_combo"); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->size_combo = _tmp27_; +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = self->priv->builder; +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = gtk_builder_get_object (_tmp28_, "size_label"); +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_label_get_type (), GtkLabel)); +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->size_label); +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->size_label = _tmp30_; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31_ = self->priv->builder; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32_ = gtk_builder_get_object (_tmp31_, "blog_combo"); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->blog_combo); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blog_combo = _tmp33_; +#line 731 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp34_ = self->priv->builder; +#line 731 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp35_ = gtk_builder_get_object (_tmp34_, "blog_label"); +#line 731 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp36_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_label_get_type (), GtkLabel)); +#line 731 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->blog_label); +#line 731 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blog_label = _tmp36_; +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp37_ = _ ("You are logged into Tumblr as %s.\n\n"); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp38_ = self->priv->username; +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp39_ = g_strdup_printf (_tmp37_, _tmp38_); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + upload_label_text = _tmp39_; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp40_ = self->priv->upload_info_label; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp41_ = upload_label_text; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_label_set_label (_tmp40_, _tmp41_); +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_populate_blog_combo (self); +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp42_ = self->priv->blog_combo; +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_blog_changed_gtk_combo_box_changed, self, 0); +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp43_ = media_type; +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp43_ != SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 4802 "TumblrPublishing.c" + GtkComboBoxText* _tmp44_ = NULL; +#line 741 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_populate_size_combo (self); +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp44_ = self->priv->size_combo; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_size_changed_gtk_combo_box_changed, self, 0); +#line 4810 "TumblrPublishing.c" + } else { + GtkComboBoxText* _tmp45_ = NULL; + GtkLabel* _tmp46_ = NULL; +#line 745 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp45_ = self->priv->size_combo; +#line 745 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp46_ = self->priv->size_label; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 4822 "TumblrPublishing.c" + } +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp47_ = self->priv->logout_button; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (_tmp47_, "clicked", (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_logout_clicked_gtk_button_clicked, self, 0); +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp48_ = self->priv->publish_button; +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (_tmp48_, "clicked", (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_on_publish_clicked_gtk_button_clicked, self, 0); +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (upload_label_text); +#line 4834 "TumblrPublishing.c" + } + goto __finally37; + __catch37_g_error: + { + GError* e = NULL; + const gchar* _tmp49_ = NULL; + GError* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + e = _inner_error_; +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _inner_error_ = NULL; +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp49_ = _ ("Could not load UI: %s"); +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp50_ = e; +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp51_ = _tmp50_->message; +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_warning (_tmp49_, _tmp51_); +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (e); +#line 4857 "TumblrPublishing.c" + } + __finally37: +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return NULL; +#line 4868 "TumblrPublishing.c" + } +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 4872 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherPublishingOptionsPane* publishing_tumblr_tumblr_publisher_publishing_options_pane_new (PublishingTumblrTumblrPublisher* publisher, SpitPublishingPublisherMediaType media_type, PublishingTumblrSizeEntry** sizes, int sizes_length1, PublishingTumblrBlogEntry** blogs, int blogs_length1, const gchar* username) { +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_publishing_options_pane_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, publisher, media_type, sizes, sizes_length1, blogs, blogs_length1, username); +#line 4879 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_logout_clicked (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 4888 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_publish_clicked (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_emit_by_name (self, "publish"); +#line 4897 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_populate_blog_combo (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { + PublishingTumblrBlogEntry** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->blogs; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0__length1 = self->priv->blogs_length1; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp0_ != NULL) { +#line 4912 "TumblrPublishing.c" + PublishingTumblrBlogEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GtkComboBoxText* _tmp6_ = NULL; + PublishingTumblrTumblrPublisher* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->blogs; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1__length1 = self->priv->blogs_length1; +#line 4922 "TumblrPublishing.c" + { + PublishingTumblrBlogEntry** b_collection = NULL; + gint b_collection_length1 = 0; + gint _b_collection_size_ = 0; + gint b_it = 0; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + b_collection = _tmp1_; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + b_collection_length1 = _tmp1__length1; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (b_it = 0; b_it < _tmp1__length1; b_it = b_it + 1) { +#line 4934 "TumblrPublishing.c" + PublishingTumblrBlogEntry* _tmp2_ = NULL; + PublishingTumblrBlogEntry* b = NULL; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _publishing_tumblr_blog_entry_ref0 (b_collection[b_it]); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + b = _tmp2_; +#line 4941 "TumblrPublishing.c" + { + GtkComboBoxText* _tmp3_ = NULL; + PublishingTumblrBlogEntry* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->blog_combo; +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = b; +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_->blog; +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp5_); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_tumblr_blog_entry_unref0 (b); +#line 4956 "TumblrPublishing.c" + } + } + } +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = self->priv->blog_combo; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = self->priv->publisher; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = publishing_tumblr_tumblr_publisher_get_persistent_default_blog (_tmp7_); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_combo_box_get_type (), GtkComboBox), _tmp8_); +#line 4968 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_blog_changed (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { + PublishingTumblrTumblrPublisher* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->publisher; +#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->blog_combo; +#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 780 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_set_persistent_default_blog (_tmp0_, _tmp2_); +#line 4987 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_populate_size_combo (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { + PublishingTumblrSizeEntry** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->sizes; +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0__length1 = self->priv->sizes_length1; +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp0_ != NULL) { +#line 5002 "TumblrPublishing.c" + PublishingTumblrSizeEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GtkComboBoxText* _tmp6_ = NULL; + PublishingTumblrTumblrPublisher* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->sizes; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1__length1 = self->priv->sizes_length1; +#line 5012 "TumblrPublishing.c" + { + PublishingTumblrSizeEntry** e_collection = NULL; + gint e_collection_length1 = 0; + gint _e_collection_size_ = 0; + gint e_it = 0; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + e_collection = _tmp1_; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + e_collection_length1 = _tmp1__length1; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (e_it = 0; e_it < _tmp1__length1; e_it = e_it + 1) { +#line 5024 "TumblrPublishing.c" + PublishingTumblrSizeEntry* _tmp2_ = NULL; + PublishingTumblrSizeEntry* e = NULL; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _publishing_tumblr_size_entry_ref0 (e_collection[e_it]); +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + e = _tmp2_; +#line 5031 "TumblrPublishing.c" + { + GtkComboBoxText* _tmp3_ = NULL; + PublishingTumblrSizeEntry* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->size_combo; +#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = e; +#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_->title; +#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp5_); +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_tumblr_size_entry_unref0 (e); +#line 5046 "TumblrPublishing.c" + } + } + } +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = self->priv->size_combo; +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = self->priv->publisher; +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = publishing_tumblr_tumblr_publisher_get_persistent_default_size (_tmp7_); +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_combo_box_get_type (), GtkComboBox), _tmp8_); +#line 5058 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_on_size_changed (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { + PublishingTumblrTumblrPublisher* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->publisher; +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->size_combo; +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_set_persistent_default_size (_tmp0_, _tmp2_); +#line 5077 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_publish (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { +#line 796 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_emit_by_name (self, "publish"); +#line 5086 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_logout (PublishingTumblrTumblrPublisherPublishingOptionsPane* self) { +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 5095 "TumblrPublishing.c" +} + + +static GtkWidget* publishing_tumblr_tumblr_publisher_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherPublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 804 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPane); +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 5114 "TumblrPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_tumblr_tumblr_publisher_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherPublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPane); +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 5127 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self) { +#line 813 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_publish ((PublishingTumblrTumblrPublisherPublishingOptionsPane*) self); +#line 5134 "TumblrPublishing.c" +} + + +static void _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout (PublishingTumblrTumblrPublisherPublishingOptionsPane* _sender, gpointer self) { +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_logout ((PublishingTumblrTumblrPublisherPublishingOptionsPane*) self); +#line 5141 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherPublishingOptionsPane * self; +#line 812 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPane); +#line 813 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (self, "publish", (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish, self, 0); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_connect_object (self, "logout", (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout, self, 0); +#line 5153 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingTumblrTumblrPublisherPublishingOptionsPane * self; + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPane); +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp0_, NULL, FALSE); +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_publish_publishing_tumblr_tumblr_publisher_publishing_options_pane_publish, self); +#line 819 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 819 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_publishing_options_pane_notify_logout_publishing_tumblr_tumblr_publisher_publishing_options_pane_logout, self); +#line 5171 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_class_init (PublishingTumblrTumblrPublisherPublishingOptionsPaneClass * klass) { +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingTumblrTumblrPublisherPublishingOptionsPanePrivate)); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_tumblr_tumblr_publisher_publishing_options_pane_finalize; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_new ("publish", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_new ("logout", PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 5186 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_publishing_options_pane_real_get_widget; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_publishing_options_pane_real_get_preferred_geometry; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_publishing_options_pane_real_on_pane_installed; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_tumblr_tumblr_publisher_publishing_options_pane_real_on_pane_uninstalled; +#line 5201 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_instance_init (PublishingTumblrTumblrPublisherPublishingOptionsPane * self) { + gchar* _tmp0_ = NULL; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv = PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->pane_widget = NULL; +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->upload_info_label = NULL; +#line 693 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->size_label = NULL; +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blog_label = NULL; +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->logout_button = NULL; +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->publish_button = NULL; +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->size_combo = NULL; +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blog_combo = NULL; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = NULL; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes_length1 = 0; +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_sizes_size_ = self->priv->sizes_length1; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = NULL; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs_length1 = 0; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_blogs_size_ = self->priv->blogs_length1; +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_strdup (""); +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->username = _tmp0_; +#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->publisher = NULL; +#line 5243 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_publishing_options_pane_finalize (GObject* obj) { + PublishingTumblrTumblrPublisherPublishingOptionsPane * self; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_PUBLISHING_OPTIONS_PANE, PublishingTumblrTumblrPublisherPublishingOptionsPane); +#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->upload_info_label); +#line 693 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->size_label); +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->blog_label); +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->blog_combo); +#line 699 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = (_vala_array_free (self->priv->sizes, self->priv->sizes_length1, (GDestroyNotify) publishing_tumblr_size_entry_unref), NULL); +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = (_vala_array_free (self->priv->blogs, self->priv->blogs_length1, (GDestroyNotify) publishing_tumblr_blog_entry_unref), NULL); +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->username); +#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (publishing_tumblr_tumblr_publisher_publishing_options_pane_parent_class)->finalize (obj); +#line 5279 "TumblrPublishing.c" +} + + +/** + * The publishing options pane. + */ +GType publishing_tumblr_tumblr_publisher_publishing_options_pane_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherPublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherPublishingOptionsPane), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_tumblr_tumblr_publisher_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id; + publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingTumblrTumblrPublisherPublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id__volatile, publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id); + } + return publishing_tumblr_tumblr_publisher_publishing_options_pane_type_id__volatile; +} + + +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, PublishingRESTSupportHttpMethod method) { + PublishingTumblrTumblrPublisherTransaction* self = NULL; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + PublishingRESTSupportHttpMethod _tmp1_ = 0; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (session), NULL); +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = session; +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = method; +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherTransaction*) publishing_rest_support_transaction_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 5314 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_new (PublishingTumblrTumblrPublisherSession* session, PublishingRESTSupportHttpMethod method) { +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_transaction_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, session, method); +#line 5321 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_construct_with_uri (GType object_type, PublishingTumblrTumblrPublisherSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method) { + PublishingTumblrTumblrPublisherTransaction* self = NULL; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRESTSupportHttpMethod _tmp2_ = 0; + PublishingTumblrTumblrPublisherSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 832 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (session), NULL); +#line 832 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (uri != NULL, NULL); +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = session; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = uri; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = method; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp2_); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = session; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = publishing_tumblr_tumblr_publisher_session_get_oauth_nonce (_tmp3_); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_nonce", _tmp5_); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp5_); +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_signature_method", "HMAC-SHA1"); +#line 838 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_version", "1.0"); +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = session; +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = publishing_tumblr_tumblr_publisher_session_get_oauth_timestamp (_tmp6_); +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = _tmp7_; +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_timestamp", _tmp8_); +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp8_); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_consumer_key", PUBLISHING_TUMBLR_API_KEY); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = session; +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = publishing_tumblr_tumblr_publisher_session_get_access_phase_token (_tmp9_); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = _tmp10_; +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = _tmp11_ != NULL; +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp11_); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp12_) { +#line 5390 "TumblrPublishing.c" + PublishingTumblrTumblrPublisherSession* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = session; +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = publishing_tumblr_tumblr_publisher_session_get_access_phase_token (_tmp13_); +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = _tmp14_; +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_token", _tmp15_); +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp15_); +#line 5404 "TumblrPublishing.c" + } +#line 832 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 5408 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherTransaction* publishing_tumblr_tumblr_publisher_transaction_new_with_uri (PublishingTumblrTumblrPublisherSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method) { +#line 832 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_transaction_construct_with_uri (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, session, uri, method); +#line 5415 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingTumblrTumblrPublisherTransaction * self; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, PublishingTumblrTumblrPublisherTransaction); +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = publishing_rest_support_transaction_get_parent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSession); +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_session_sign_transaction (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_tumblr_tumblr_publisher_transaction_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 5444 "TumblrPublishing.c" + } else { +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 849 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 5452 "TumblrPublishing.c" + } + } +} + + +static void publishing_tumblr_tumblr_publisher_transaction_class_init (PublishingTumblrTumblrPublisherTransactionClass * klass) { +#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_transaction_parent_class = g_type_class_peek_parent (klass); +#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_tumblr_tumblr_publisher_transaction_real_execute; +#line 5463 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_transaction_instance_init (PublishingTumblrTumblrPublisherTransaction * self) { +} + + +GType publishing_tumblr_tumblr_publisher_transaction_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherTransaction), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_transaction_instance_init, NULL }; + GType publishing_tumblr_tumblr_publisher_transaction_type_id; + publishing_tumblr_tumblr_publisher_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingTumblrTumblrPublisherTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_transaction_type_id__volatile, publishing_tumblr_tumblr_publisher_transaction_type_id); + } + return publishing_tumblr_tumblr_publisher_transaction_type_id__volatile; +} + + +PublishingTumblrTumblrPublisherAccessTokenFetchTransaction* publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, const gchar* username, const gchar* password) { + PublishingTumblrTumblrPublisherAccessTokenFetchTransaction* self = NULL; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (session), NULL); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (password != NULL, NULL); +#line 857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = session; +#line 857 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherAccessTokenFetchTransaction*) publishing_tumblr_tumblr_publisher_transaction_construct_with_uri (object_type, _tmp0_, "https://www.tumblr.com/oauth/access_token", PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = username; +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = soup_uri_encode (_tmp1_, PUBLISHING_TUMBLR_ENCODE_RFC_3986_EXTRA); +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _tmp2_; +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "x_auth_username", _tmp3_); +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp3_); +#line 860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = password; +#line 860 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "x_auth_password", _tmp4_); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "x_auth_mode", "client_auth"); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 5518 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherAccessTokenFetchTransaction* publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_new (PublishingTumblrTumblrPublisherSession* session, const gchar* username, const gchar* password) { +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, session, username, password); +#line 5525 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_class_init (PublishingTumblrTumblrPublisherAccessTokenFetchTransactionClass * klass) { +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_parent_class = g_type_class_peek_parent (klass); +#line 5532 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_instance_init (PublishingTumblrTumblrPublisherAccessTokenFetchTransaction * self) { +} + + +GType publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherAccessTokenFetchTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherAccessTokenFetchTransaction), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_instance_init, NULL }; + GType publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_type_id; + publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_type_id = g_type_register_static (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, "PublishingTumblrTumblrPublisherAccessTokenFetchTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_type_id__volatile, publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_type_id); + } + return publishing_tumblr_tumblr_publisher_access_token_fetch_transaction_type_id__volatile; +} + + +PublishingTumblrTumblrPublisherUserInfoFetchTransaction* publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session) { + PublishingTumblrTumblrPublisherUserInfoFetchTransaction* self = NULL; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (session), NULL); +#line 867 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = session; +#line 867 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherUserInfoFetchTransaction*) publishing_tumblr_tumblr_publisher_transaction_construct_with_uri (object_type, _tmp0_, "http://api.tumblr.com/v2/user/info", PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 5563 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherUserInfoFetchTransaction* publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_new (PublishingTumblrTumblrPublisherSession* session) { +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_USER_INFO_FETCH_TRANSACTION, session); +#line 5570 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_class_init (PublishingTumblrTumblrPublisherUserInfoFetchTransactionClass * klass) { +#line 865 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_parent_class = g_type_class_peek_parent (klass); +#line 5577 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_instance_init (PublishingTumblrTumblrPublisherUserInfoFetchTransaction * self) { +} + + +GType publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherUserInfoFetchTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherUserInfoFetchTransaction), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_instance_init, NULL }; + GType publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_type_id; + publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_type_id = g_type_register_static (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_TRANSACTION, "PublishingTumblrTumblrPublisherUserInfoFetchTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_type_id__volatile, publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_type_id); + } + return publishing_tumblr_tumblr_publisher_user_info_fetch_transaction_type_id__volatile; +} + + +static gchar* publishing_tumblr_tumblr_publisher_upload_transaction_encode (PublishingTumblrTumblrPublisherUploadTransaction* self, guint8* data, int data_length1) { + gchar* result = NULL; + GString* s = NULL; + GString* _tmp0_ = NULL; + gchar* bytes = NULL; + gchar* _tmp1_ = NULL; + gint bytes_length1 = 0; + gint _bytes_size_ = 0; + gchar* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gchar _tmp3_ = '\0'; + guint8* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GString* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOAD_TRANSACTION (self), NULL); +#line 880 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_string_new (""); +#line 880 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + s = _tmp0_; +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_new0 (gchar, 2); +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + bytes = _tmp1_; +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + bytes_length1 = 2; +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _bytes_size_ = bytes_length1; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = bytes; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2__length1 = bytes_length1; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_[1] = (gchar) 0; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _tmp2_[1]; +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = data; +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4__length1 = data_length1; +#line 5639 "TumblrPublishing.c" + { + guint8* byte_collection = NULL; + gint byte_collection_length1 = 0; + gint _byte_collection_size_ = 0; + gint byte_it = 0; +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + byte_collection = _tmp4_; +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + byte_collection_length1 = _tmp4__length1; +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (byte_it = 0; byte_it < _tmp4__length1; byte_it = byte_it + 1) { +#line 5651 "TumblrPublishing.c" + guint8 byte = 0U; +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + byte = byte_collection[byte_it]; +#line 5655 "TumblrPublishing.c" + { + guint8 _tmp5_ = 0U; +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = byte; +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (((gint) _tmp5_) == 0) { +#line 5662 "TumblrPublishing.c" + GString* _tmp6_ = NULL; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = s; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_string_append (_tmp6_, "%00"); +#line 5668 "TumblrPublishing.c" + } else { + gchar* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + guint8 _tmp8_ = 0U; + gchar _tmp9_ = '\0'; + GString* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = bytes; +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7__length1 = bytes_length1; +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = byte; +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_[0] = (gchar) _tmp8_; +#line 888 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = _tmp7_[0]; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = s; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = bytes; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11__length1 = bytes_length1; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = soup_uri_encode ((const gchar*) _tmp11_, PUBLISHING_TUMBLR_ENCODE_RFC_3986_EXTRA); +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = _tmp12_; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_string_append (_tmp10_, _tmp13_); +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp13_); +#line 5703 "TumblrPublishing.c" + } + } + } + } +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = s; +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = _tmp14_->str; +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp16_; +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + bytes = (g_free (bytes), NULL); +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_string_free0 (s); +#line 892 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 5722 "TumblrPublishing.c" +} + + +static gpointer _publishing_rest_support_session_ref0 (gpointer self) { +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self ? publishing_rest_support_session_ref (self) : NULL; +#line 5729 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherUploadTransaction* publishing_tumblr_tumblr_publisher_upload_transaction_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable* publishable, const gchar* blog_url) { + PublishingTumblrTumblrPublisherUploadTransaction* self = NULL; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + SpitPublishingPublishable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp5_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp6_ = NULL; +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (session), NULL); +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (blog_url != NULL, NULL); +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:897: Init upload transaction"); +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = session; +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishable; +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = blog_url; +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = g_strdup_printf ("http://api.tumblr.com/v2/blog/%s/post", _tmp2_); +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = _tmp3_; +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherUploadTransaction*) publishing_rest_support_upload_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp4_); +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp4_); +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = session; +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = _publishing_rest_support_session_ref0 (_tmp5_); +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->session = _tmp6_; +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 5774 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherUploadTransaction* publishing_tumblr_tumblr_publisher_upload_transaction_new (PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable* publishable, const gchar* blog_url) { +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_upload_transaction_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION, session, publishable, blog_url); +#line 5781 "TumblrPublishing.c" +} + + +static void _vala_array_add22 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value) { +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if ((*length) == (*size)) { +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *array = g_renew (PublishingRESTSupportArgument*, *array, (*size) + 1); +#line 5792 "TumblrPublishing.c" + } +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[(*length)++] = value; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[*length] = NULL; +#line 5798 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (PublishingTumblrTumblrPublisherUploadTransaction* self, const gchar* key, const gchar* value) { + PublishingRESTSupportArgument** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportArgument* _tmp3_ = NULL; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOAD_TRANSACTION (self)); +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (key != NULL); +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (value != NULL); +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->auth_header_fields; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0__length1 = self->priv->auth_header_fields_length1; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = key; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = value; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = publishing_rest_support_argument_new (_tmp1_, _tmp2_); +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_array_add22 (&self->priv->auth_header_fields, &self->priv->auth_header_fields_length1, &self->priv->_auth_header_fields_size_, _tmp3_); +#line 5826 "TumblrPublishing.c" +} + + +static gpointer _publishing_rest_support_argument_ref0 (gpointer self) { +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self ? publishing_rest_support_argument_ref (self) : NULL; +#line 5833 "TumblrPublishing.c" +} + + +static PublishingRESTSupportArgument** _vala_array_dup9 (PublishingRESTSupportArgument** self, int length) { + PublishingRESTSupportArgument** result; + int i; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = g_new0 (PublishingRESTSupportArgument*, length + 1); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (i = 0; i < length; i++) { +#line 5844 "TumblrPublishing.c" + PublishingRESTSupportArgument* _tmp0_ = NULL; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = _publishing_rest_support_argument_ref0 (self[i]); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result[i] = _tmp0_; +#line 5850 "TumblrPublishing.c" + } +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 5854 "TumblrPublishing.c" +} + + +PublishingRESTSupportArgument** publishing_tumblr_tumblr_publisher_upload_transaction_get_authorization_header_fields (PublishingTumblrTumblrPublisherUploadTransaction* self, int* result_length1) { + PublishingRESTSupportArgument** result = NULL; + PublishingRESTSupportArgument** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingRESTSupportArgument** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingRESTSupportArgument** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOAD_TRANSACTION (self), NULL); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->auth_header_fields; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0__length1 = self->priv->auth_header_fields_length1; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup9 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1__length1 = _tmp0__length1; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _tmp1_; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2__length1 = _tmp1__length1; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (result_length1) { +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *result_length1 = _tmp2__length1; +#line 5884 "TumblrPublishing.c" + } +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp2_; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 5890 "TumblrPublishing.c" +} + + +gchar* publishing_tumblr_tumblr_publisher_upload_transaction_get_authorization_header_string (PublishingTumblrTumblrPublisherUploadTransaction* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_UPLOAD_TRANSACTION (self), NULL); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_strdup ("OAuth "); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result_ = _tmp0_; +#line 5904 "TumblrPublishing.c" + { + gint i = 0; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + i = 0; +#line 5909 "TumblrPublishing.c" + { + gboolean _tmp1_ = FALSE; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = TRUE; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + while (TRUE) { +#line 5916 "TumblrPublishing.c" + gint _tmp3_ = 0; + PublishingRESTSupportArgument** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingRESTSupportArgument** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + PublishingRESTSupportArgument* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + PublishingRESTSupportArgument** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + PublishingRESTSupportArgument* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + PublishingRESTSupportArgument** _tmp24_ = NULL; + gint _tmp24__length1 = 0; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp1_) { +#line 5945 "TumblrPublishing.c" + gint _tmp2_ = 0; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = i; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + i = _tmp2_ + 1; +#line 5951 "TumblrPublishing.c" + } +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = FALSE; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = i; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = self->priv->auth_header_fields; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4__length1 = self->priv->auth_header_fields_length1; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + break; +#line 5965 "TumblrPublishing.c" + } +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _result_; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = self->priv->auth_header_fields; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6__length1 = self->priv->auth_header_fields_length1; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = i; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = _tmp6_[_tmp7_]; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = _tmp8_->key; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = g_strconcat (_tmp5_, _tmp9_, NULL); +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_result_); +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result_ = _tmp10_; +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = _result_; +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = g_strconcat (_tmp11_, "=", NULL); +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_result_); +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result_ = _tmp12_; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = _result_; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = self->priv->auth_header_fields; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14__length1 = self->priv->auth_header_fields_length1; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = i; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = _tmp14_[_tmp15_]; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = _tmp16_->value; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18_ = g_strconcat ("\"", _tmp17_, NULL); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = _tmp18_; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = g_strconcat (_tmp19_, "\"", NULL); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = _tmp20_; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = g_strconcat (_tmp13_, _tmp21_, NULL); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_result_); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result_ = _tmp22_; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp21_); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp19_); +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp23_ = i; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = self->priv->auth_header_fields; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24__length1 = self->priv->auth_header_fields_length1; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp23_ < (_tmp24__length1 - 1)) { +#line 6031 "TumblrPublishing.c" + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = _result_; +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp26_ = g_strconcat (_tmp25_, ", ", NULL); +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_result_); +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _result_ = _tmp26_; +#line 6042 "TumblrPublishing.c" + } + } + } + } +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _result_; +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 6051 "TumblrPublishing.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 6095 "TumblrPublishing.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 6101 "TumblrPublishing.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 6118 "TumblrPublishing.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 6128 "TumblrPublishing.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 6138 "TumblrPublishing.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 6144 "TumblrPublishing.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 6155 "TumblrPublishing.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 6167 "TumblrPublishing.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 6171 "TumblrPublishing.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 6175 "TumblrPublishing.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 6179 "TumblrPublishing.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 6202 "TumblrPublishing.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 6211 "TumblrPublishing.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 6224 "TumblrPublishing.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 6230 "TumblrPublishing.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 6240 "TumblrPublishing.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 6252 "TumblrPublishing.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 6256 "TumblrPublishing.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 6262 "TumblrPublishing.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 6273 "TumblrPublishing.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 6288 "TumblrPublishing.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 6292 "TumblrPublishing.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 6296 "TumblrPublishing.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 6302 "TumblrPublishing.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 6314 "TumblrPublishing.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 6335 "TumblrPublishing.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 6339 "TumblrPublishing.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 6345 "TumblrPublishing.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 6352 "TumblrPublishing.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 6360 "TumblrPublishing.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 6398 "TumblrPublishing.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 6407 "TumblrPublishing.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 6423 "TumblrPublishing.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 6429 "TumblrPublishing.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 6443 "TumblrPublishing.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 6463 "TumblrPublishing.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 6478 "TumblrPublishing.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 6482 "TumblrPublishing.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 6490 "TumblrPublishing.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 6501 "TumblrPublishing.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 6510 "TumblrPublishing.c" + } +} + + +static void publishing_tumblr_tumblr_publisher_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingTumblrTumblrPublisherUploadTransaction * self; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* payload = NULL; + gsize payload_length = 0UL; + PublishingTumblrTumblrPublisherSession* _tmp34_ = NULL; + gchar* authorization_header = NULL; + gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + PublishingRESTSupportArgument** request_arguments = NULL; + gint _tmp38_ = 0; + PublishingRESTSupportArgument** _tmp39_ = NULL; + gint request_arguments_length1 = 0; + gint _request_arguments_size_ = 0; + PublishingRESTSupportArgument** _tmp40_ = NULL; + gint _tmp40__length1 = 0; + gchar* request_data = NULL; + gchar* _tmp41_ = NULL; + SoupMessage* outbound_message = NULL; + gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + SoupMessage* _tmp66_ = NULL; + SoupMessage* _tmp67_ = NULL; + SoupMessage* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; + guint8* _tmp70_ = NULL; + gint _tmp70__length1 = 0; + guint8* _tmp71_ = NULL; + gint _tmp71__length1 = 0; + GeeMapIterator* i = NULL; + GeeHashMap* _tmp72_ = NULL; + GeeMapIterator* _tmp73_ = NULL; + gboolean cont = FALSE; + GeeMapIterator* _tmp74_ = NULL; + gboolean _tmp75_ = FALSE; + SoupMessage* _tmp87_ = NULL; + GError * _inner_error_ = NULL; +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION, PublishingTumblrTumblrPublisherUploadTransaction); +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->session; +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishing_tumblr_tumblr_publisher_session_get_oauth_nonce (_tmp0_); +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _tmp1_; +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (self, "oauth_nonce", _tmp2_); +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp2_); +#line 930 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (self, "oauth_signature_method", "HMAC-SHA1"); +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (self, "oauth_version", "1.0"); +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = self->priv->session; +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = publishing_tumblr_tumblr_publisher_session_get_oauth_timestamp (_tmp3_); +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_; +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (self, "oauth_timestamp", _tmp5_); +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp5_); +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (self, "oauth_consumer_key", PUBLISHING_TUMBLR_API_KEY); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = self->priv->session; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = publishing_tumblr_tumblr_publisher_session_get_access_phase_token (_tmp6_); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = _tmp7_; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (self, "oauth_token", _tmp8_); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp8_); +#line 6599 "TumblrPublishing.c" + { + SpitPublishingPublishable* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gsize _tmp15_ = 0UL; + gchar* reqdata = NULL; + const gchar* _tmp16_ = NULL; + guint8* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + guint8* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gsize _tmp19_ = 0UL; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar** keywords = NULL; + SpitPublishingPublishable* _tmp22_ = NULL; + gint _tmp23_ = 0; + gchar** _tmp24_ = NULL; + gint keywords_length1 = 0; + gint _keywords_size_ = 0; + gchar* tags = NULL; + gchar* _tmp25_ = NULL; + gchar** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction)->publishable; +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = spit_publishing_publishable_get_serialized_file (_tmp9_); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = _tmp10_; +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = _tmp12_; +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_file_get_contents (_tmp13_, &_tmp14_, &_tmp15_, &_inner_error_); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (payload); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + payload = _tmp14_; +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + payload_length = _tmp15_; +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp13_); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (_tmp11_); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_inner_error_->domain == G_FILE_ERROR) { +#line 6656 "TumblrPublishing.c" + goto __catch38_g_file_error; + } +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (payload); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.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/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 940 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 6667 "TumblrPublishing.c" + } +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = payload; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = string_get_data (_tmp16_, &_tmp17__length1); +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18_ = _tmp17_; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp18__length1 = _tmp17__length1; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = payload_length; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = publishing_tumblr_tumblr_publisher_upload_transaction_encode (self, _tmp18_ + 0, ((gint) _tmp19_) - 0); +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + reqdata = _tmp20_; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = reqdata; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "data[0]", _tmp21_); +#line 948 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "type", "photo"); +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction)->publishable; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = spit_publishing_publishable_get_publishing_keywords (_tmp22_, &_tmp23_); +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + keywords = _tmp24_; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + keywords_length1 = _tmp23_; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _keywords_size_ = keywords_length1; +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = g_strdup (""); +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tags = _tmp25_; +#line 951 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp26_ = keywords; +#line 951 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp26__length1 = keywords_length1; +#line 951 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp26_ != NULL) { +#line 6709 "TumblrPublishing.c" + gchar** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gchar* _tmp28_ = NULL; +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27_ = keywords; +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27__length1 = keywords_length1; +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = _vala_g_strjoinv (",", _tmp27_, _tmp27__length1); +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (tags); +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + tags = _tmp28_; +#line 6723 "TumblrPublishing.c" + } +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = tags; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp30_ = soup_uri_encode (_tmp29_, PUBLISHING_TUMBLR_ENCODE_RFC_3986_EXTRA); +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31_ = _tmp30_; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "tags", _tmp31_); +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp31_); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (tags); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (reqdata); +#line 6741 "TumblrPublishing.c" + } + goto __finally38; + __catch38_g_file_error: + { + GError* e = NULL; + const gchar* _tmp32_ = NULL; + GError* _tmp33_ = NULL; +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + e = _inner_error_; +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _inner_error_ = NULL; +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32_ = _ ("A temporary file needed for publishing is unavailable"); +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp33_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp32_); +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _inner_error_ = _tmp33_; +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_error_free0 (e); +#line 6761 "TumblrPublishing.c" + goto __finally38; + } + __finally38: +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (payload); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 6775 "TumblrPublishing.c" + } else { +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (payload); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 6785 "TumblrPublishing.c" + } + } +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp34_ = self->priv->session; +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_session_sign_transaction (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp35_ = publishing_tumblr_tumblr_publisher_upload_transaction_get_authorization_header_string (self); +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + authorization_header = _tmp35_; +#line 967 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp36_ = authorization_header; +#line 967 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:967: executing upload transaction: authorization" \ +" header string = '%s'", _tmp36_); +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp37_ = authorization_header; +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Authorization", _tmp37_); +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp39_ = publishing_rest_support_transaction_get_arguments (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_tmp38_); +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_arguments = _tmp39_; +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_arguments_length1 = _tmp38_; +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _request_arguments_size_ = request_arguments_length1; +#line 972 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp40_ = request_arguments; +#line 972 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp40__length1 = request_arguments_length1; +#line 972 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_assert (_tmp40__length1 > 0, "request_arguments.length > 0"); +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp41_ = g_strdup (""); +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_data = _tmp41_; +#line 6822 "TumblrPublishing.c" + { + gint i = 0; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + i = 0; +#line 6827 "TumblrPublishing.c" + { + gboolean _tmp42_ = FALSE; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp42_ = TRUE; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + while (TRUE) { +#line 6834 "TumblrPublishing.c" + gint _tmp44_ = 0; + PublishingRESTSupportArgument** _tmp45_ = NULL; + gint _tmp45__length1 = 0; + const gchar* _tmp46_ = NULL; + PublishingRESTSupportArgument** _tmp47_ = NULL; + gint _tmp47__length1 = 0; + gint _tmp48_ = 0; + PublishingRESTSupportArgument* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + PublishingRESTSupportArgument** _tmp53_ = NULL; + gint _tmp53__length1 = 0; + gint _tmp54_ = 0; + PublishingRESTSupportArgument* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gint _tmp60_ = 0; + PublishingRESTSupportArgument** _tmp61_ = NULL; + gint _tmp61__length1 = 0; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp42_) { +#line 6859 "TumblrPublishing.c" + gint _tmp43_ = 0; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp43_ = i; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + i = _tmp43_ + 1; +#line 6865 "TumblrPublishing.c" + } +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp42_ = FALSE; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp44_ = i; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp45_ = request_arguments; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp45__length1 = request_arguments_length1; +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!(_tmp44_ < _tmp45__length1)) { +#line 975 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + break; +#line 6879 "TumblrPublishing.c" + } +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp46_ = request_data; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp47_ = request_arguments; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp47__length1 = request_arguments_length1; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp48_ = i; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp49_ = _tmp47_[_tmp48_]; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp50_ = _tmp49_->key; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp51_ = g_strconcat (_tmp50_, "=", NULL); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp52_ = _tmp51_; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp53_ = request_arguments; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp53__length1 = request_arguments_length1; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp54_ = i; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp55_ = _tmp53_[_tmp54_]; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp56_ = _tmp55_->value; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp57_ = g_strconcat (_tmp52_, _tmp56_, NULL); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp58_ = _tmp57_; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp59_ = g_strconcat (_tmp46_, _tmp58_, NULL); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (request_data); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_data = _tmp59_; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp58_); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp52_); +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp60_ = i; +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp61_ = request_arguments; +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp61__length1 = request_arguments_length1; +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp60_ < (_tmp61__length1 - 1)) { +#line 6929 "TumblrPublishing.c" + const gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp62_ = request_data; +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp63_ = g_strconcat (_tmp62_, "&", NULL); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (request_data); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_data = _tmp63_; +#line 6940 "TumblrPublishing.c" + } + } + } + } +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp64_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp65_ = _tmp64_; +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp66_ = soup_message_new ("POST", _tmp65_); +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp67_ = _tmp66_; +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp65_); +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + outbound_message = _tmp67_; +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp68_ = outbound_message; +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp69_ = request_data; +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp70_ = string_get_data (_tmp69_, &_tmp70__length1); +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp71_ = _tmp70_; +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp71__length1 = _tmp70__length1; +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + soup_message_set_request (_tmp68_, "application/x-www-form-urlencoded", SOUP_MEMORY_COPY, _tmp71_, (gsize) _tmp71__length1); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp72_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction)->message_headers; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp73_ = gee_abstract_map_map_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + i = _tmp73_; +#line 985 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp74_ = i; +#line 985 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp75_ = gee_map_iterator_next (_tmp74_); +#line 985 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + cont = _tmp75_; +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + while (TRUE) { +#line 6983 "TumblrPublishing.c" + gboolean _tmp76_ = FALSE; + SoupMessage* _tmp77_ = NULL; + SoupMessageHeaders* _tmp78_ = NULL; + GeeMapIterator* _tmp79_ = NULL; + gpointer _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + GeeMapIterator* _tmp82_ = NULL; + gpointer _tmp83_ = NULL; + gchar* _tmp84_ = NULL; + GeeMapIterator* _tmp85_ = NULL; + gboolean _tmp86_ = FALSE; +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp76_ = cont; +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp76_) { +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + break; +#line 7001 "TumblrPublishing.c" + } +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp77_ = outbound_message; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp78_ = _tmp77_->request_headers; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp79_ = i; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp80_ = gee_map_iterator_get_key (_tmp79_); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp81_ = (gchar*) _tmp80_; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp82_ = i; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp83_ = gee_map_iterator_get_value (_tmp82_); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp84_ = (gchar*) _tmp83_; +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + soup_message_headers_append (_tmp78_, _tmp81_, _tmp84_); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp84_); +#line 987 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp81_); +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp85_ = i; +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp86_ = gee_map_iterator_next (_tmp85_); +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + cont = _tmp86_; +#line 7031 "TumblrPublishing.c" + } +#line 990 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp87_ = outbound_message; +#line 990 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_set_message (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp87_); +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_set_is_executed (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), TRUE); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_send (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (i); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (outbound_message); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (request_data); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (authorization_header); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (payload); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 7061 "TumblrPublishing.c" + } else { +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (i); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (outbound_message); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (request_data); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (authorization_header); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (payload); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_clear_error (&_inner_error_); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return; +#line 7081 "TumblrPublishing.c" + } + } +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (i); +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (outbound_message); +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (request_data); +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + request_arguments = (_vala_array_free (request_arguments, request_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (authorization_header); +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (payload); +#line 7096 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_upload_transaction_class_init (PublishingTumblrTumblrPublisherUploadTransactionClass * klass) { +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_parent_class = g_type_class_peek_parent (klass); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_tumblr_tumblr_publisher_upload_transaction_finalize; +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingTumblrTumblrPublisherUploadTransactionPrivate)); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_tumblr_tumblr_publisher_upload_transaction_real_execute; +#line 7109 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_upload_transaction_instance_init (PublishingTumblrTumblrPublisherUploadTransaction * self) { +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv = PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOAD_TRANSACTION_GET_PRIVATE (self); +#line 7116 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_upload_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingTumblrTumblrPublisherUploadTransaction * self; +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION, PublishingTumblrTumblrPublisherUploadTransaction); +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->auth_header_fields = (_vala_array_free (self->priv->auth_header_fields, self->priv->auth_header_fields_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_tumblr_tumblr_publisher_upload_transaction_parent_class)->finalize (obj); +#line 7130 "TumblrPublishing.c" +} + + +GType publishing_tumblr_tumblr_publisher_upload_transaction_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_upload_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_upload_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherUploadTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_upload_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherUploadTransaction), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_upload_transaction_instance_init, NULL }; + GType publishing_tumblr_tumblr_publisher_upload_transaction_type_id; + publishing_tumblr_tumblr_publisher_upload_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, "PublishingTumblrTumblrPublisherUploadTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_upload_transaction_type_id__volatile, publishing_tumblr_tumblr_publisher_upload_transaction_type_id); + } + return publishing_tumblr_tumblr_publisher_upload_transaction_type_id__volatile; +} + + +PublishingTumblrTumblrPublisherUploader* publishing_tumblr_tumblr_publisher_uploader_construct (GType object_type, PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable** publishables, int publishables_length1, const gchar* blog_url) { + PublishingTumblrTumblrPublisherUploader* self = NULL; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (session), NULL); +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (blog_url != NULL, NULL); +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = session; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishables; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1__length1 = publishables_length1; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherUploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = blog_url; +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->blog_url); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blog_url = _tmp3_; +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 7175 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherUploader* publishing_tumblr_tumblr_publisher_uploader_new (PublishingTumblrTumblrPublisherSession* session, SpitPublishingPublishable** publishables, int publishables_length1, const gchar* blog_url) { +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_uploader_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER, session, publishables, publishables_length1, blog_url); +#line 7182 "TumblrPublishing.c" +} + + +static PublishingRESTSupportTransaction* publishing_tumblr_tumblr_publisher_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingTumblrTumblrPublisherUploader * self; + PublishingRESTSupportTransaction* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingTumblrTumblrPublisherSession* _tmp1_ = NULL; + SpitPublishingPublishable* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PublishingTumblrTumblrPublisherUploadTransaction* _tmp5_ = NULL; + PublishingRESTSupportTransaction* _tmp6_ = NULL; +#line 1009 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER, PublishingTumblrTumblrPublisherUploader); +#line 1009 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1011: Create upload transaction"); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSession); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = publishing_rest_support_batch_uploader_get_current_publishable (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _tmp2_; +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = self->priv->blog_url; +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = publishing_tumblr_tumblr_publisher_upload_transaction_new (_tmp1_, _tmp3_, _tmp4_); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (_tmp3_); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp6_; +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 7224 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_uploader_class_init (PublishingTumblrTumblrPublisherUploaderClass * klass) { +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_uploader_parent_class = g_type_class_peek_parent (klass); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_tumblr_tumblr_publisher_uploader_finalize; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingTumblrTumblrPublisherUploaderPrivate)); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_tumblr_tumblr_publisher_uploader_real_create_transaction; +#line 7237 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_uploader_instance_init (PublishingTumblrTumblrPublisherUploader * self) { + gchar* _tmp0_ = NULL; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv = PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_UPLOADER_GET_PRIVATE (self); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_strdup (""); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blog_url = _tmp0_; +#line 7249 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingTumblrTumblrPublisherUploader * self; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOADER, PublishingTumblrTumblrPublisherUploader); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->blog_url); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_tumblr_tumblr_publisher_uploader_parent_class)->finalize (obj); +#line 7261 "TumblrPublishing.c" +} + + +GType publishing_tumblr_tumblr_publisher_uploader_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherUploader), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_uploader_instance_init, NULL }; + GType publishing_tumblr_tumblr_publisher_uploader_type_id; + publishing_tumblr_tumblr_publisher_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingTumblrTumblrPublisherUploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_uploader_type_id__volatile, publishing_tumblr_tumblr_publisher_uploader_type_id); + } + return publishing_tumblr_tumblr_publisher_uploader_type_id__volatile; +} + + +PublishingTumblrTumblrPublisherSession* publishing_tumblr_tumblr_publisher_session_construct (GType object_type) { + PublishingTumblrTumblrPublisherSession* self = NULL; +#line 1027 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = (PublishingTumblrTumblrPublisherSession*) publishing_rest_support_session_construct (object_type, PUBLISHING_TUMBLR_ENDPOINT_URL); +#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self; +#line 7283 "TumblrPublishing.c" +} + + +PublishingTumblrTumblrPublisherSession* publishing_tumblr_tumblr_publisher_session_new (void) { +#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return publishing_tumblr_tumblr_publisher_session_construct (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION); +#line 7290 "TumblrPublishing.c" +} + + +static gboolean publishing_tumblr_tumblr_publisher_session_real_is_authenticated (PublishingRESTSupportSession* base) { + PublishingTumblrTumblrPublisherSession * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSession); +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = self->priv->access_phase_token; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp1_ != NULL) { +#line 7305 "TumblrPublishing.c" + const gchar* _tmp2_ = NULL; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = self->priv->access_phase_token_secret; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = _tmp2_ != NULL; +#line 7311 "TumblrPublishing.c" + } else { +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = FALSE; +#line 7315 "TumblrPublishing.c" + } +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp0_; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 7321 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_session_authenticate_from_persistent_credentials (PublishingTumblrTumblrPublisherSession* self, const gchar* token, const gchar* secret) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self)); +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (token != NULL); +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (secret != NULL); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = token; +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token = _tmp1_; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = secret; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token_secret = _tmp3_; +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), "authenticated"); +#line 7354 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_session_deauthenticate (PublishingTumblrTumblrPublisherSession* self) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self)); +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token = NULL; +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token_secret = NULL; +#line 7369 "TumblrPublishing.c" +} + + +static gpointer _publishing_rest_support_transaction_ref0 (gpointer self) { +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return self ? publishing_rest_support_transaction_ref (self) : NULL; +#line 7376 "TumblrPublishing.c" +} + + +static void _vala_array_add23 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value) { +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if ((*length) == (*size)) { +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + *array = g_renew (PublishingRESTSupportArgument*, *array, (*size) + 1); +#line 7387 "TumblrPublishing.c" + } +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[(*length)++] = value; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (*array)[*length] = NULL; +#line 7393 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_session_sign_transaction (PublishingTumblrTumblrPublisherSession* self, PublishingRESTSupportTransaction* txn) { + gchar* http_method = NULL; + PublishingRESTSupportTransaction* _tmp0_ = NULL; + PublishingRESTSupportHttpMethod _tmp1_ = 0; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* signing_key = NULL; + const gchar* _tmp6_ = NULL; + PublishingRESTSupportArgument** base_string_arguments = NULL; + PublishingRESTSupportTransaction* _tmp11_ = NULL; + gint _tmp12_ = 0; + PublishingRESTSupportArgument** _tmp13_ = NULL; + gint base_string_arguments_length1 = 0; + gint _base_string_arguments_size_ = 0; + PublishingTumblrTumblrPublisherUploadTransaction* upload_txn = NULL; + PublishingRESTSupportTransaction* _tmp14_ = NULL; + PublishingTumblrTumblrPublisherUploadTransaction* _tmp15_ = NULL; + PublishingTumblrTumblrPublisherUploadTransaction* _tmp16_ = NULL; + PublishingRESTSupportArgument** sorted_args = NULL; + PublishingRESTSupportArgument** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gint _tmp26_ = 0; + PublishingRESTSupportArgument** _tmp27_ = NULL; + gint sorted_args_length1 = 0; + gint _sorted_args_size_ = 0; + gchar* arguments_string = NULL; + gchar* _tmp28_ = NULL; + gchar* signature_base_string = NULL; + const gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + PublishingRESTSupportTransaction* _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; + const gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; + gchar* signature = NULL; + const gchar* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + const gchar* _tmp76_ = NULL; + PublishingTumblrTumblrPublisherUploadTransaction* _tmp77_ = NULL; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self)); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = txn; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = publishing_rest_support_transaction_get_method (_tmp0_); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = publishing_rest_support_http_method_to_string (_tmp1_); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + http_method = _tmp2_; +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1050: signing transaction with parameters:"); +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = http_method; +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = g_strconcat ("HTTP method = ", _tmp3_, NULL); +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_; +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1051: %s", _tmp5_); +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp5_); +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + signing_key = NULL; +#line 1053 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = self->priv->access_phase_token_secret; +#line 1053 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp6_ != NULL) { +#line 7485 "TumblrPublishing.c" + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1054: access phase token secret available; using" \ +" it as signing key"); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = publishing_tumblr_tumblr_publisher_session_get_access_phase_token_secret (self); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = _tmp7_; +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = g_strconcat (PUBLISHING_TUMBLR_API_SECRET "&", _tmp8_, NULL); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (signing_key); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + signing_key = _tmp9_; +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp8_); +#line 7503 "TumblrPublishing.c" + } else { + gchar* _tmp10_ = NULL; +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1058: %s", "Access phase token secret not available; using API " "key as signing key"); +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = g_strdup (PUBLISHING_TUMBLR_API_SECRET "&"); +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (signing_key); +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + signing_key = _tmp10_; +#line 7514 "TumblrPublishing.c" + } +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = txn; +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp13_ = publishing_rest_support_transaction_get_arguments (_tmp11_, &_tmp12_); +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + base_string_arguments = _tmp13_; +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + base_string_arguments_length1 = _tmp12_; +#line 1065 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _base_string_arguments_size_ = base_string_arguments_length1; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp14_ = txn; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp15_ = _publishing_rest_support_transaction_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_UPLOAD_TRANSACTION) ? ((PublishingTumblrTumblrPublisherUploadTransaction*) _tmp14_) : NULL); +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + upload_txn = _tmp15_; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp16_ = upload_txn; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp16_ != NULL) { +#line 7536 "TumblrPublishing.c" + PublishingRESTSupportArgument** auth_header_args = NULL; + PublishingTumblrTumblrPublisherUploadTransaction* _tmp17_ = NULL; + gint _tmp18_ = 0; + PublishingRESTSupportArgument** _tmp19_ = NULL; + gint auth_header_args_length1 = 0; + gint _auth_header_args_size_ = 0; + PublishingRESTSupportArgument** _tmp20_ = NULL; + gint _tmp20__length1 = 0; +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1069: %s", "this transaction is an UploadTransaction; including Authorization head" \ +"er " "fields in signature base string"); +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp17_ = upload_txn; +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp19_ = publishing_tumblr_tumblr_publisher_upload_transaction_get_authorization_header_fields (_tmp17_, &_tmp18_); +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + auth_header_args = _tmp19_; +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + auth_header_args_length1 = _tmp18_; +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _auth_header_args_size_ = auth_header_args_length1; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20_ = auth_header_args; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp20__length1 = auth_header_args_length1; +#line 7561 "TumblrPublishing.c" + { + PublishingRESTSupportArgument** arg_collection = NULL; + gint arg_collection_length1 = 0; + gint _arg_collection_size_ = 0; + gint arg_it = 0; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + arg_collection = _tmp20_; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + arg_collection_length1 = _tmp20__length1; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + for (arg_it = 0; arg_it < _tmp20__length1; arg_it = arg_it + 1) { +#line 7573 "TumblrPublishing.c" + PublishingRESTSupportArgument* _tmp21_ = NULL; + PublishingRESTSupportArgument* arg = NULL; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp21_ = _publishing_rest_support_argument_ref0 (arg_collection[arg_it]); +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + arg = _tmp21_; +#line 7580 "TumblrPublishing.c" + { + PublishingRESTSupportArgument** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + PublishingRESTSupportArgument* _tmp23_ = NULL; + PublishingRESTSupportArgument* _tmp24_ = NULL; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22_ = base_string_arguments; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp22__length1 = base_string_arguments_length1; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp23_ = arg; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp24_ = _publishing_rest_support_argument_ref0 (_tmp23_); +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _vala_array_add23 (&base_string_arguments, &base_string_arguments_length1, &_base_string_arguments_size_, _tmp24_); +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_argument_unref0 (arg); +#line 7598 "TumblrPublishing.c" + } + } + } +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + auth_header_args = (_vala_array_free (auth_header_args, auth_header_args_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 7604 "TumblrPublishing.c" + } +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25_ = base_string_arguments; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp25__length1 = base_string_arguments_length1; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp27_ = publishing_rest_support_argument_sort (_tmp25_, _tmp25__length1, &_tmp26_); +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + sorted_args = _tmp27_; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + sorted_args_length1 = _tmp26_; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _sorted_args_size_ = sorted_args_length1; +#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp28_ = g_strdup (""); +#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + arguments_string = _tmp28_; +#line 7622 "TumblrPublishing.c" + { + gint i = 0; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + i = 0; +#line 7627 "TumblrPublishing.c" + { + gboolean _tmp29_ = FALSE; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = TRUE; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + while (TRUE) { +#line 7634 "TumblrPublishing.c" + gint _tmp31_ = 0; + PublishingRESTSupportArgument** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + const gchar* _tmp33_ = NULL; + PublishingRESTSupportArgument** _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gint _tmp35_ = 0; + PublishingRESTSupportArgument* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + PublishingRESTSupportArgument** _tmp40_ = NULL; + gint _tmp40__length1 = 0; + gint _tmp41_ = 0; + PublishingRESTSupportArgument* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gint _tmp47_ = 0; + PublishingRESTSupportArgument** _tmp48_ = NULL; + gint _tmp48__length1 = 0; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!_tmp29_) { +#line 7659 "TumblrPublishing.c" + gint _tmp30_ = 0; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp30_ = i; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + i = _tmp30_ + 1; +#line 7665 "TumblrPublishing.c" + } +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp29_ = FALSE; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp31_ = i; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32_ = sorted_args; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp32__length1 = sorted_args_length1; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (!(_tmp31_ < _tmp32__length1)) { +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + break; +#line 7679 "TumblrPublishing.c" + } +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp33_ = arguments_string; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp34_ = sorted_args; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp34__length1 = sorted_args_length1; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp35_ = i; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp36_ = _tmp34_[_tmp35_]; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp37_ = _tmp36_->key; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp38_ = g_strconcat (_tmp37_, "=", NULL); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp39_ = _tmp38_; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp40_ = sorted_args; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp40__length1 = sorted_args_length1; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp41_ = i; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp42_ = _tmp40_[_tmp41_]; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp43_ = _tmp42_->value; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp44_ = g_strconcat (_tmp39_, _tmp43_, NULL); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp45_ = _tmp44_; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp46_ = g_strconcat (_tmp33_, _tmp45_, NULL); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (arguments_string); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + arguments_string = _tmp46_; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp45_); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp39_); +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp47_ = i; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp48_ = sorted_args; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp48__length1 = sorted_args_length1; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp47_ < (_tmp48__length1 - 1)) { +#line 7729 "TumblrPublishing.c" + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp49_ = arguments_string; +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp50_ = g_strconcat (_tmp49_, "&", NULL); +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (arguments_string); +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + arguments_string = _tmp50_; +#line 7740 "TumblrPublishing.c" + } + } + } + } +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp51_ = http_method; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp52_ = g_strconcat (_tmp51_, "&", NULL); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp53_ = _tmp52_; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp54_ = txn; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp55_ = publishing_rest_support_transaction_get_endpoint_url (_tmp54_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp56_ = _tmp55_; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp57_ = soup_uri_encode (_tmp56_, PUBLISHING_TUMBLR_ENCODE_RFC_3986_EXTRA); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp58_ = _tmp57_; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp59_ = g_strconcat (_tmp53_, _tmp58_, NULL); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp60_ = _tmp59_; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp61_ = g_strconcat (_tmp60_, "&", NULL); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp62_ = _tmp61_; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp63_ = arguments_string; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp64_ = soup_uri_encode (_tmp63_, PUBLISHING_TUMBLR_ENCODE_RFC_3986_EXTRA); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp65_ = _tmp64_; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp66_ = g_strconcat (_tmp62_, _tmp65_, NULL); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp67_ = _tmp66_; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp65_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp62_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp60_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp58_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp56_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp53_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + signature_base_string = _tmp67_; +#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp68_ = signature_base_string; +#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1094: signature base string = '%s'", _tmp68_); +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp69_ = signing_key; +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1095: signing key = '%s'", _tmp69_); +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp70_ = signing_key; +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp71_ = signature_base_string; +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp72_ = publishing_rest_support_hmac_sha1 (_tmp70_, _tmp71_); +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + signature = _tmp72_; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp73_ = signature; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1099: signature = '%s'", _tmp73_); +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp74_ = signature; +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp75_ = soup_uri_encode (_tmp74_, PUBLISHING_TUMBLR_ENCODE_RFC_3986_EXTRA); +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (signature); +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + signature = _tmp75_; +#line 1102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp76_ = signature; +#line 1102 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_debug ("TumblrPublishing.vala:1102: signature after RFC encode = '%s'", _tmp76_); +#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp77_ = upload_txn; +#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + if (_tmp77_ != NULL) { +#line 7829 "TumblrPublishing.c" + PublishingTumblrTumblrPublisherUploadTransaction* _tmp78_ = NULL; + const gchar* _tmp79_ = NULL; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp78_ = upload_txn; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp79_ = signature; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_upload_transaction_add_authorization_header_field (_tmp78_, "oauth_signature", _tmp79_); +#line 7838 "TumblrPublishing.c" + } else { + PublishingRESTSupportTransaction* _tmp80_ = NULL; + const gchar* _tmp81_ = NULL; +#line 1107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp80_ = txn; +#line 1107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp81_ = signature; +#line 1107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_rest_support_transaction_add_argument (_tmp80_, "oauth_signature", _tmp81_); +#line 7848 "TumblrPublishing.c" + } +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (signature); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (signature_base_string); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (arguments_string); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + sorted_args = (_vala_array_free (sorted_args, sorted_args_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_transaction_unref0 (upload_txn); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + base_string_arguments = (_vala_array_free (base_string_arguments, base_string_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (signing_key); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (http_method); +#line 7866 "TumblrPublishing.c" +} + + +void publishing_tumblr_tumblr_publisher_session_set_access_phase_credentials (PublishingTumblrTumblrPublisherSession* self, const gchar* token, const gchar* secret) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self)); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (token != NULL); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_if_fail (secret != NULL); +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = token; +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token = _tmp1_; +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = secret; +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token_secret = _tmp3_; +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), "authenticated"); +#line 7899 "TumblrPublishing.c" +} + + +gchar* publishing_tumblr_tumblr_publisher_session_get_access_phase_token (PublishingTumblrTumblrPublisherSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self), NULL); +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->access_phase_token; +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 7917 "TumblrPublishing.c" +} + + +gchar* publishing_tumblr_tumblr_publisher_session_get_access_phase_token_secret (PublishingTumblrTumblrPublisherSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self), NULL); +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->access_phase_token_secret; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp1_; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 7935 "TumblrPublishing.c" +} + + +gchar* publishing_tumblr_tumblr_publisher_session_get_oauth_nonce (PublishingTumblrTumblrPublisherSession* self) { + gchar* result = NULL; + GTimeVal currtime = {0}; + GTimeVal _tmp0_ = {0}; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GTimeVal _tmp4_ = {0}; + glong _tmp5_ = 0L; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 1129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self), NULL); +#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_get_current_time (&currtime); +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_get_current_time (&currtime); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = currtime; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = _tmp0_.tv_sec; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = g_strdup_printf ("%li", _tmp1_); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = _tmp2_; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = currtime; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp5_ = _tmp4_.tv_usec; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp6_ = g_strdup_printf ("%li", _tmp5_); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp7_ = _tmp6_; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp8_ = g_strconcat (_tmp3_, _tmp7_, NULL); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp9_ = _tmp8_; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp10_ = g_compute_checksum_for_string (G_CHECKSUM_MD5, _tmp9_, (gsize) -1); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp11_ = _tmp10_; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp9_); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp7_); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp3_); +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp11_; +#line 1133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 7994 "TumblrPublishing.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 8017 "TumblrPublishing.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 8025 "TumblrPublishing.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 8037 "TumblrPublishing.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 8061 "TumblrPublishing.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 8067 "TumblrPublishing.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 8071 "TumblrPublishing.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 8075 "TumblrPublishing.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 8087 "TumblrPublishing.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 8097 "TumblrPublishing.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 8103 "TumblrPublishing.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 8117 "TumblrPublishing.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 8127 "TumblrPublishing.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 8133 "TumblrPublishing.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 8142 "TumblrPublishing.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 8162 "TumblrPublishing.c" +} + + +gchar* publishing_tumblr_tumblr_publisher_session_get_oauth_timestamp (PublishingTumblrTumblrPublisherSession* self) { + gchar* result = NULL; + gint64 _tmp0_ = 0LL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_return_val_if_fail (PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_IS_SESSION (self), NULL); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_get_real_time (); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp1_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp0_); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp2_ = _tmp1_; +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp3_ = string_substring (_tmp2_, (glong) 0, (glong) 10); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp4_ = _tmp3_; +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (_tmp2_); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + result = _tmp4_; +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + return result; +#line 8191 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_session_class_init (PublishingTumblrTumblrPublisherSessionClass * klass) { +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_session_parent_class = g_type_class_peek_parent (klass); +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_tumblr_tumblr_publisher_session_finalize; +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingTumblrTumblrPublisherSessionPrivate)); +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_tumblr_tumblr_publisher_session_real_is_authenticated; +#line 8204 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_session_instance_init (PublishingTumblrTumblrPublisherSession * self) { +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv = PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_SESSION_GET_PRIVATE (self); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token = NULL; +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->access_phase_token_secret = NULL; +#line 8215 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_session_finalize (PublishingRESTSupportSession* obj) { + PublishingTumblrTumblrPublisherSession * self; +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_TYPE_SESSION, PublishingTumblrTumblrPublisherSession); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + PUBLISHING_REST_SUPPORT_SESSION_CLASS (publishing_tumblr_tumblr_publisher_session_parent_class)->finalize (obj); +#line 8229 "TumblrPublishing.c" +} + + +/** + * Session class that keeps track of the authentication status and of the + * user token tumblr. + */ +GType publishing_tumblr_tumblr_publisher_session_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_session_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisherSession), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_session_instance_init, NULL }; + GType publishing_tumblr_tumblr_publisher_session_type_id; + publishing_tumblr_tumblr_publisher_session_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_SESSION, "PublishingTumblrTumblrPublisherSession", &g_define_type_info, 0); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_session_type_id__volatile, publishing_tumblr_tumblr_publisher_session_type_id); + } + return publishing_tumblr_tumblr_publisher_session_type_id__volatile; +} + + +static void publishing_tumblr_tumblr_publisher_class_init (PublishingTumblrTumblrPublisherClass * klass) { +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_parent_class = g_type_class_peek_parent (klass); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingTumblrTumblrPublisherPrivate)); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_tumblr_tumblr_publisher_finalize; +#line 8256 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + publishing_tumblr_tumblr_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_tumblr_tumblr_publisher_real_get_service; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_tumblr_tumblr_publisher_real_is_running; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_tumblr_tumblr_publisher_real_start; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_tumblr_tumblr_publisher_real_stop; +#line 8271 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_instance_init (PublishingTumblrTumblrPublisher * self) { + gchar* _tmp0_ = NULL; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv = PUBLISHING_TUMBLR_TUMBLR_PUBLISHER_GET_PRIVATE (self); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter = NULL; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->running = FALSE; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->was_started = FALSE; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->session = NULL; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->publishing_options_pane = NULL; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = NULL; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes_length1 = 0; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_sizes_size_ = self->priv->sizes_length1; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = NULL; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs_length1 = 0; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->_blogs_size_ = self->priv->blogs_length1; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = g_strdup (""); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->username = _tmp0_; +#line 8305 "TumblrPublishing.c" +} + + +static void publishing_tumblr_tumblr_publisher_finalize (GObject* obj) { + PublishingTumblrTumblrPublisher * self; + PublishingTumblrTumblrPublisherSession* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_TUMBLR_TYPE_TUMBLR_PUBLISHER, PublishingTumblrTumblrPublisher); +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _tmp0_ = self->priv->session; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_parse_name ("authenticated", PUBLISHING_REST_SUPPORT_TYPE_SESSION, &_tmp1_, NULL, FALSE); +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_tumblr_tumblr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated, self); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->service); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->host); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter = NULL; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_object_unref0 (self->priv->publishing_options_pane); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->sizes = (_vala_array_free (self->priv->sizes, self->priv->sizes_length1, (GDestroyNotify) publishing_tumblr_size_entry_unref), NULL); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + self->priv->blogs = (_vala_array_free (self->priv->blogs, self->priv->blogs_length1, (GDestroyNotify) publishing_tumblr_blog_entry_unref), NULL); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + _g_free0 (self->priv->username); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/TumblrPublishing.vala" + G_OBJECT_CLASS (publishing_tumblr_tumblr_publisher_parent_class)->finalize (obj); +#line 8345 "TumblrPublishing.c" +} + + +GType publishing_tumblr_tumblr_publisher_get_type (void) { + static volatile gsize publishing_tumblr_tumblr_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_tumblr_tumblr_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingTumblrTumblrPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_tumblr_tumblr_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingTumblrTumblrPublisher), 0, (GInstanceInitFunc) publishing_tumblr_tumblr_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_tumblr_tumblr_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_tumblr_tumblr_publisher_type_id; + publishing_tumblr_tumblr_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingTumblrTumblrPublisher", &g_define_type_info, 0); + g_type_add_interface_static (publishing_tumblr_tumblr_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_tumblr_tumblr_publisher_type_id__volatile, publishing_tumblr_tumblr_publisher_type_id); + } + return publishing_tumblr_tumblr_publisher_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/plugins/shotwell-publishing-extras/TumblrPublishing.vala b/plugins/shotwell-publishing-extras/TumblrPublishing.vala index 9e17b4e..3f5a2ed 100644 --- a/plugins/shotwell-publishing-extras/TumblrPublishing.vala +++ b/plugins/shotwell-publishing-extras/TumblrPublishing.vala @@ -13,7 +13,9 @@ public class TumblrService : Object, Spit.Pluggable, Spit.Publishing.Service { public TumblrService(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = + Resources.load_from_resource(Resources.RESOURCE_PATH + "/" + + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { @@ -596,12 +598,9 @@ internal class AuthenticationPane : Spit.Publishing.DialogPane, Object { public AuthenticationPane(TumblrPublisher publisher, Mode mode = Mode.INTRO) { this.pane_widget = new Gtk.Box(Gtk.Orientation.VERTICAL, 0); - File ui_file = publisher.get_host().get_module_file().get_parent(). - get_child("tumblr_authentication_pane.glade"); - try { builder = new Gtk.Builder(); - builder.add_from_file(ui_file.get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + "/tumblr_authentication_pane.ui"); builder.connect_signals(null); Gtk.Alignment align = builder.get_object("alignment") as Gtk.Alignment; @@ -714,12 +713,11 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object { this.media_type = media_type; this.sizes = sizes; this.blogs=blogs; - File ui_file = publisher.get_host().get_module_file().get_parent(). - get_child("tumblr_publishing_options_pane.glade"); - + try { builder = new Gtk.Builder(); - builder.add_from_file(ui_file.get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + + "/tumblr_publishing_options_pane.ui"); builder.connect_signals(null); // pull in the necessary widgets from the glade file diff --git a/plugins/shotwell-publishing-extras/YandexPublishing.c b/plugins/shotwell-publishing-extras/YandexPublishing.c new file mode 100644 index 0000000..35dac7f --- /dev/null +++ b/plugins/shotwell-publishing-extras/YandexPublishing.c @@ -0,0 +1,5224 @@ +/* YandexPublishing.c generated by valac 0.32.1, the Vala compiler + * generated from YandexPublishing.vala, do not modify */ + +/* Copyright 2010+ Evgeniy Polyakov + * + * 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-common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_YANDEX_SERVICE (yandex_service_get_type ()) +#define YANDEX_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_YANDEX_SERVICE, YandexService)) +#define YANDEX_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_YANDEX_SERVICE, YandexServiceClass)) +#define IS_YANDEX_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_YANDEX_SERVICE)) +#define IS_YANDEX_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_YANDEX_SERVICE)) +#define YANDEX_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_YANDEX_SERVICE, YandexServiceClass)) + +typedef struct _YandexService YandexService; +typedef struct _YandexServiceClass YandexServiceClass; +typedef struct _YandexServicePrivate YandexServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER (publishing_yandex_yandex_publisher_get_type ()) +#define PUBLISHING_YANDEX_YANDEX_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisher)) +#define PUBLISHING_YANDEX_YANDEX_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisherClass)) +#define PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER)) +#define PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER)) +#define PUBLISHING_YANDEX_YANDEX_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisherClass)) + +typedef struct _PublishingYandexYandexPublisher PublishingYandexYandexPublisher; +typedef struct _PublishingYandexYandexPublisherClass PublishingYandexYandexPublisherClass; + +#define PUBLISHING_YANDEX_TYPE_TRANSACTION (publishing_yandex_transaction_get_type ()) +#define PUBLISHING_YANDEX_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_TRANSACTION, PublishingYandexTransaction)) +#define PUBLISHING_YANDEX_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_TRANSACTION, PublishingYandexTransactionClass)) +#define PUBLISHING_YANDEX_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_TRANSACTION)) +#define PUBLISHING_YANDEX_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_TRANSACTION)) +#define PUBLISHING_YANDEX_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_TRANSACTION, PublishingYandexTransactionClass)) + +typedef struct _PublishingYandexTransaction PublishingYandexTransaction; +typedef struct _PublishingYandexTransactionClass PublishingYandexTransactionClass; +typedef struct _PublishingYandexTransactionPrivate PublishingYandexTransactionPrivate; + +#define PUBLISHING_YANDEX_TYPE_SESSION (publishing_yandex_session_get_type ()) +#define PUBLISHING_YANDEX_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSession)) +#define PUBLISHING_YANDEX_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSessionClass)) +#define PUBLISHING_YANDEX_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_SESSION)) +#define PUBLISHING_YANDEX_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_SESSION)) +#define PUBLISHING_YANDEX_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSessionClass)) + +typedef struct _PublishingYandexSession PublishingYandexSession; +typedef struct _PublishingYandexSessionClass PublishingYandexSessionClass; +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) +typedef struct _PublishingYandexSessionPrivate PublishingYandexSessionPrivate; + +#define PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE (publishing_yandex_web_auth_pane_get_type ()) +#define PUBLISHING_YANDEX_WEB_AUTH_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPane)) +#define PUBLISHING_YANDEX_WEB_AUTH_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPaneClass)) +#define PUBLISHING_YANDEX_IS_WEB_AUTH_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE)) +#define PUBLISHING_YANDEX_IS_WEB_AUTH_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE)) +#define PUBLISHING_YANDEX_WEB_AUTH_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPaneClass)) + +typedef struct _PublishingYandexWebAuthPane PublishingYandexWebAuthPane; +typedef struct _PublishingYandexWebAuthPaneClass PublishingYandexWebAuthPaneClass; +typedef struct _PublishingYandexWebAuthPanePrivate PublishingYandexWebAuthPanePrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_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 _g_match_info_unref0(var) ((var == NULL) ? NULL : (var = (g_match_info_unref (var), NULL))) +#define __vala_WebKitNavigationAction_free0(var) ((var == NULL) ? NULL : (var = (_vala_WebKitNavigationAction_free (var), NULL))) + +#define PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS (publishing_yandex_publish_options_get_type ()) +#define PUBLISHING_YANDEX_PUBLISH_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS, PublishingYandexPublishOptions)) +#define PUBLISHING_YANDEX_PUBLISH_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS, PublishingYandexPublishOptionsClass)) +#define PUBLISHING_YANDEX_IS_PUBLISH_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS)) +#define PUBLISHING_YANDEX_IS_PUBLISH_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS)) +#define PUBLISHING_YANDEX_PUBLISH_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS, PublishingYandexPublishOptionsClass)) + +typedef struct _PublishingYandexPublishOptions PublishingYandexPublishOptions; +typedef struct _PublishingYandexPublishOptionsClass PublishingYandexPublishOptionsClass; +typedef struct _PublishingYandexPublishOptionsPrivate PublishingYandexPublishOptionsPrivate; +typedef struct _PublishingYandexParamSpecPublishOptions PublishingYandexParamSpecPublishOptions; + +#define PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE (publishing_yandex_publishing_options_pane_get_type ()) +#define PUBLISHING_YANDEX_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPane)) +#define PUBLISHING_YANDEX_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPaneClass)) +#define PUBLISHING_YANDEX_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_YANDEX_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_YANDEX_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPaneClass)) + +typedef struct _PublishingYandexPublishingOptionsPane PublishingYandexPublishingOptionsPane; +typedef struct _PublishingYandexPublishingOptionsPaneClass PublishingYandexPublishingOptionsPaneClass; +typedef struct _PublishingYandexPublishingOptionsPanePrivate PublishingYandexPublishingOptionsPanePrivate; + +#define PUBLISHING_YANDEX_TYPE_UPLOADER (publishing_yandex_uploader_get_type ()) +#define PUBLISHING_YANDEX_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_UPLOADER, PublishingYandexUploader)) +#define PUBLISHING_YANDEX_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_UPLOADER, PublishingYandexUploaderClass)) +#define PUBLISHING_YANDEX_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_UPLOADER)) +#define PUBLISHING_YANDEX_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_UPLOADER)) +#define PUBLISHING_YANDEX_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_UPLOADER, PublishingYandexUploaderClass)) + +typedef struct _PublishingYandexUploader PublishingYandexUploader; +typedef struct _PublishingYandexUploaderClass PublishingYandexUploaderClass; +typedef struct _PublishingYandexUploaderPrivate PublishingYandexUploaderPrivate; + +#define PUBLISHING_YANDEX_TYPE_UPLOAD_TRANSACTION (publishing_yandex_upload_transaction_get_type ()) +#define PUBLISHING_YANDEX_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YANDEX_TYPE_UPLOAD_TRANSACTION, PublishingYandexUploadTransaction)) +#define PUBLISHING_YANDEX_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YANDEX_TYPE_UPLOAD_TRANSACTION, PublishingYandexUploadTransactionClass)) +#define PUBLISHING_YANDEX_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YANDEX_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_YANDEX_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YANDEX_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_YANDEX_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YANDEX_TYPE_UPLOAD_TRANSACTION, PublishingYandexUploadTransactionClass)) + +typedef struct _PublishingYandexUploadTransaction PublishingYandexUploadTransaction; +typedef struct _PublishingYandexUploadTransactionClass PublishingYandexUploadTransactionClass; +typedef struct _PublishingYandexUploadTransactionPrivate PublishingYandexUploadTransactionPrivate; +#define __vala_SoupMultipart_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupMultipart_free (var), NULL))) +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) +#define __vala_SoupBuffer_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupBuffer_free (var), NULL))) +typedef struct _PublishingYandexYandexPublisherPrivate PublishingYandexYandexPublisherPrivate; +#define _publishing_yandex_publish_options_unref0(var) ((var == NULL) ? NULL : (var = (publishing_yandex_publish_options_unref (var), NULL))) +#define _publishing_rest_support_xml_document_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_xml_document_unref (var), NULL))) +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_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 _YandexService { + GObject parent_instance; + YandexServicePrivate * priv; +}; + +struct _YandexServiceClass { + GObjectClass parent_class; +}; + +struct _PublishingYandexTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingYandexTransactionPrivate * priv; +}; + +struct _PublishingYandexTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingYandexSession { + PublishingRESTSupportSession parent_instance; + PublishingYandexSessionPrivate * priv; +}; + +struct _PublishingYandexSessionClass { + PublishingRESTSupportSessionClass parent_class; +}; + +struct _PublishingYandexSessionPrivate { + gchar* auth_token; +}; + +struct _PublishingYandexWebAuthPane { + GObject parent_instance; + PublishingYandexWebAuthPanePrivate * priv; +}; + +struct _PublishingYandexWebAuthPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingYandexWebAuthPanePrivate { + WebKitWebView* webview; + GtkBox* pane_widget; + GtkScrolledWindow* webview_frame; + GRegex* re; + gchar* login_url; +}; + +struct _PublishingYandexPublishOptions { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingYandexPublishOptionsPrivate * priv; + gboolean disable_comments; + gboolean hide_original; + gchar* access_type; + gchar* destination_album; + gchar* destination_album_url; +}; + +struct _PublishingYandexPublishOptionsClass { + GTypeClass parent_class; + void (*finalize) (PublishingYandexPublishOptions *self); +}; + +struct _PublishingYandexParamSpecPublishOptions { + GParamSpec parent_instance; +}; + +struct _PublishingYandexPublishingOptionsPane { + GObject parent_instance; + PublishingYandexPublishingOptionsPanePrivate * priv; +}; + +struct _PublishingYandexPublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingYandexPublishingOptionsPanePrivate { + GtkBox* box; + GtkBuilder* builder; + GtkButton* logout_button; + GtkButton* publish_button; + GtkComboBoxText* album_list; + PublishingYandexPublishOptions* options; +}; + +struct _PublishingYandexUploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingYandexUploaderPrivate * priv; +}; + +struct _PublishingYandexUploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingYandexUploaderPrivate { + PublishingYandexPublishOptions* options; +}; + +struct _PublishingYandexUploadTransaction { + PublishingYandexTransaction parent_instance; + PublishingYandexUploadTransactionPrivate * priv; +}; + +struct _PublishingYandexUploadTransactionClass { + PublishingYandexTransactionClass parent_class; +}; + +struct _PublishingYandexYandexPublisher { + GObject parent_instance; + PublishingYandexYandexPublisherPrivate * priv; +}; + +struct _PublishingYandexYandexPublisherClass { + GObjectClass parent_class; +}; + +struct _PublishingYandexYandexPublisherPrivate { + SpitPublishingPluginHost* host; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; + SpitPublishingService* service; + gchar* service_url; + GeeHashMap* album_list; + PublishingYandexPublishOptions* options; + gboolean running; + PublishingYandexWebAuthPane* web_auth_pane; + PublishingYandexSession* session; +}; + + +static gpointer yandex_service_parent_class = NULL; +static SpitPluggableIface* yandex_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* yandex_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_yandex_transaction_parent_class = NULL; +static gpointer publishing_yandex_session_parent_class = NULL; +static gpointer publishing_yandex_web_auth_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_yandex_web_auth_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_yandex_publish_options_parent_class = NULL; +static gpointer publishing_yandex_publishing_options_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_yandex_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_yandex_uploader_parent_class = NULL; +static gpointer publishing_yandex_upload_transaction_parent_class = NULL; +static gpointer publishing_yandex_yandex_publisher_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_yandex_yandex_publisher_spit_publishing_publisher_parent_iface = NULL; + +GType yandex_service_get_type (void) G_GNUC_CONST; +enum { + YANDEX_SERVICE_DUMMY_PROPERTY +}; +static gint yandex_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* yandex_service_real_get_id (SpitPluggable* base); +static const gchar* yandex_service_real_get_pluggable_name (SpitPluggable* base); +static void yandex_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static SpitPublishingPublisher* yandex_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingYandexYandexPublisher* publishing_yandex_yandex_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingYandexYandexPublisher* publishing_yandex_yandex_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_yandex_yandex_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType yandex_service_real_get_supported_media (SpitPublishingService* base); +static void yandex_service_real_activation (SpitPluggable* base, gboolean enabled); +YandexService* yandex_service_new (void); +YandexService* yandex_service_construct (GType object_type); +#define PUBLISHING_YANDEX_SERVICE_NAME "Yandex.Fotki" +#define PUBLISHING_YANDEX_client_id "52be4756dee3438792c831a75d7cd360" +GType publishing_yandex_transaction_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_YANDEX_TRANSACTION_DUMMY_PROPERTY +}; +GType publishing_yandex_session_get_type (void) G_GNUC_CONST; +PublishingYandexTransaction* publishing_yandex_transaction_new_with_url (PublishingYandexSession* session, const gchar* url, PublishingRESTSupportHttpMethod method); +PublishingYandexTransaction* publishing_yandex_transaction_construct_with_url (GType object_type, PublishingYandexSession* session, const gchar* url, PublishingRESTSupportHttpMethod method); +static void publishing_yandex_transaction_add_headers (PublishingYandexTransaction* self); +gchar* publishing_yandex_session_get_auth_token (PublishingYandexSession* self); +PublishingYandexTransaction* publishing_yandex_transaction_new (PublishingYandexSession* session, PublishingRESTSupportHttpMethod method); +PublishingYandexTransaction* publishing_yandex_transaction_construct (GType object_type, PublishingYandexSession* session, PublishingRESTSupportHttpMethod method); +void publishing_yandex_transaction_add_data (PublishingYandexTransaction* self, const gchar* type, const gchar* data); +#define PUBLISHING_YANDEX_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSessionPrivate)) +enum { + PUBLISHING_YANDEX_SESSION_DUMMY_PROPERTY +}; +PublishingYandexSession* publishing_yandex_session_new (void); +PublishingYandexSession* publishing_yandex_session_construct (GType object_type); +static gboolean publishing_yandex_session_real_is_authenticated (PublishingRESTSupportSession* base); +void publishing_yandex_session_deauthenticate (PublishingYandexSession* self); +void publishing_yandex_session_set_auth_token (PublishingYandexSession* self, const gchar* token); +static void publishing_yandex_session_finalize (PublishingRESTSupportSession* obj); +GType publishing_yandex_web_auth_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_YANDEX_WEB_AUTH_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPanePrivate)) +enum { + PUBLISHING_YANDEX_WEB_AUTH_PANE_DUMMY_PROPERTY +}; +PublishingYandexWebAuthPane* publishing_yandex_web_auth_pane_new (const gchar* login_url); +PublishingYandexWebAuthPane* publishing_yandex_web_auth_pane_construct (GType object_type, const gchar* login_url); +static void publishing_yandex_web_auth_pane_on_page_load_changed (PublishingYandexWebAuthPane* self, WebKitLoadEvent load_event); +static void _publishing_yandex_web_auth_pane_on_page_load_changed_webkit_web_view_load_changed (WebKitWebView* _sender, WebKitLoadEvent load_event, gpointer self); +static gboolean publishing_yandex_web_auth_pane_on_decide_policy (PublishingYandexWebAuthPane* self, WebKitPolicyDecision* decision, WebKitPolicyDecisionType type); +static gboolean _publishing_yandex_web_auth_pane_on_decide_policy_webkit_web_view_decide_policy (WebKitWebView* _sender, WebKitPolicyDecision* decision, WebKitPolicyDecisionType type, gpointer self); +static gboolean __lambda4_ (PublishingYandexWebAuthPane* self); +static gboolean ___lambda4__webkit_web_view_context_menu (WebKitWebView* _sender, WebKitContextMenu* context_menu, GdkEvent* event, WebKitHitTestResult* hit_test_result, gpointer self); +static void publishing_yandex_web_auth_pane_on_page_load (PublishingYandexWebAuthPane* self); +static WebKitNavigationAction* _vala_WebKitNavigationAction_copy (WebKitNavigationAction* self); +static void _vala_WebKitNavigationAction_free (WebKitNavigationAction* self); +static void publishing_yandex_web_auth_pane_on_load_started (PublishingYandexWebAuthPane* self); +static GtkWidget* publishing_yandex_web_auth_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_yandex_web_auth_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_yandex_web_auth_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_yandex_web_auth_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void publishing_yandex_web_auth_pane_finalize (GObject* obj); +gpointer publishing_yandex_publish_options_ref (gpointer instance); +void publishing_yandex_publish_options_unref (gpointer instance); +GParamSpec* publishing_yandex_param_spec_publish_options (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_yandex_value_set_publish_options (GValue* value, gpointer v_object); +void publishing_yandex_value_take_publish_options (GValue* value, gpointer v_object); +gpointer publishing_yandex_value_get_publish_options (const GValue* value); +GType publishing_yandex_publish_options_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_YANDEX_PUBLISH_OPTIONS_DUMMY_PROPERTY +}; +PublishingYandexPublishOptions* publishing_yandex_publish_options_new (void); +PublishingYandexPublishOptions* publishing_yandex_publish_options_construct (GType object_type); +static void publishing_yandex_publish_options_finalize (PublishingYandexPublishOptions* obj); +GType publishing_yandex_publishing_options_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_YANDEX_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPanePrivate)) +enum { + PUBLISHING_YANDEX_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +static SpitPublishingDialogPaneGeometryOptions publishing_yandex_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_yandex_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_yandex_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static GtkWidget* publishing_yandex_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +PublishingYandexPublishingOptionsPane* publishing_yandex_publishing_options_pane_new (PublishingYandexPublishOptions* options, GeeHashMap* list, SpitPublishingPluginHost* host); +PublishingYandexPublishingOptionsPane* publishing_yandex_publishing_options_pane_construct (GType object_type, PublishingYandexPublishOptions* options, GeeHashMap* list, SpitPublishingPluginHost* host); +static void publishing_yandex_publishing_options_pane_on_publish_clicked (PublishingYandexPublishingOptionsPane* self); +static void _publishing_yandex_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_yandex_publishing_options_pane_on_logout_clicked (PublishingYandexPublishingOptionsPane* self); +static void _publishing_yandex_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_yandex_publishing_options_pane_finalize (GObject* obj); +GType publishing_yandex_uploader_get_type (void) G_GNUC_CONST; +#define PUBLISHING_YANDEX_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YANDEX_TYPE_UPLOADER, PublishingYandexUploaderPrivate)) +enum { + PUBLISHING_YANDEX_UPLOADER_DUMMY_PROPERTY +}; +PublishingYandexUploader* publishing_yandex_uploader_new (PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable** photos, int photos_length1); +PublishingYandexUploader* publishing_yandex_uploader_construct (GType object_type, PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable** photos, int photos_length1); +static PublishingRESTSupportTransaction* publishing_yandex_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +PublishingYandexUploadTransaction* publishing_yandex_upload_transaction_new (PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable* photo); +PublishingYandexUploadTransaction* publishing_yandex_upload_transaction_construct (GType object_type, PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable* photo); +GType publishing_yandex_upload_transaction_get_type (void) G_GNUC_CONST; +static void publishing_yandex_uploader_finalize (PublishingRESTSupportBatchUploader* obj); +enum { + PUBLISHING_YANDEX_UPLOAD_TRANSACTION_DUMMY_PROPERTY +}; +static void _vala_SoupMultipart_free (SoupMultipart* self); +static void _g_free0_ (gpointer var); +static void _vala_SoupBuffer_free (SoupBuffer* self); +#define PUBLISHING_YANDEX_YANDEX_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisherPrivate)) +enum { + PUBLISHING_YANDEX_YANDEX_PUBLISHER_DUMMY_PROPERTY +}; +gchar* publishing_yandex_yandex_publisher_get_persistent_auth_token (PublishingYandexYandexPublisher* self); +void publishing_yandex_yandex_publisher_set_persistent_auth_token (PublishingYandexYandexPublisher* self, const gchar* auth_token); +void publishing_yandex_yandex_publisher_invalidate_persistent_session (PublishingYandexYandexPublisher* self); +gboolean publishing_yandex_yandex_publisher_is_persistent_session_available (PublishingYandexYandexPublisher* self); +static gboolean publishing_yandex_yandex_publisher_real_is_running (SpitPublishingPublisher* base); +static SpitPublishingService* publishing_yandex_yandex_publisher_real_get_service (SpitPublishingPublisher* base); +static gchar* publishing_yandex_yandex_publisher_check_response (PublishingYandexYandexPublisher* self, PublishingRESTSupportXmlDocument* doc); +static void publishing_yandex_yandex_publisher_parse_album_entry (PublishingYandexYandexPublisher* self, xmlNode* e, GError** error); +void publishing_yandex_yandex_publisher_parse_album_creation (PublishingYandexYandexPublisher* self, const gchar* data, GError** error); +static gchar* _publishing_yandex_yandex_publisher_check_response_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self); +void publishing_yandex_yandex_publisher_parse_album_list (PublishingYandexYandexPublisher* self, const gchar* data, GError** error); +static void publishing_yandex_yandex_publisher_album_creation_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t, GError* err); +static void publishing_yandex_yandex_publisher_album_creation_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t); +static void _publishing_yandex_yandex_publisher_album_creation_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void _publishing_yandex_yandex_publisher_album_creation_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_yandex_yandex_publisher_start_upload (PublishingYandexYandexPublisher* self); +static void publishing_yandex_yandex_publisher_create_destination_album (PublishingYandexYandexPublisher* self); +static void publishing_yandex_yandex_publisher_on_upload_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_yandex_yandex_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_yandex_yandex_publisher_on_upload_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err); +static void _publishing_yandex_yandex_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_yandex_yandex_publisher_on_upload_status_updated (PublishingYandexYandexPublisher* self, gint file_number, gdouble completed_fraction); +static void _publishing_yandex_yandex_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_yandex_yandex_publisher_on_logout (PublishingYandexYandexPublisher* self); +static void publishing_yandex_yandex_publisher_on_publish (PublishingYandexYandexPublisher* self); +void publishing_yandex_yandex_publisher_service_get_album_list_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t, GError* err); +void publishing_yandex_yandex_publisher_service_get_album_list_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t); +static void _publishing_yandex_yandex_publisher_service_get_album_list_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void _publishing_yandex_yandex_publisher_service_get_album_list_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void _publishing_yandex_yandex_publisher_on_publish_publishing_yandex_publishing_options_pane_publish (PublishingYandexPublishingOptionsPane* _sender, gpointer self); +static void _publishing_yandex_yandex_publisher_on_logout_publishing_yandex_publishing_options_pane_logout (PublishingYandexPublishingOptionsPane* _sender, gpointer self); +void publishing_yandex_yandex_publisher_service_get_album_list (PublishingYandexYandexPublisher* self, const gchar* url); +void publishing_yandex_yandex_publisher_fetch_account_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t, GError* err); +void publishing_yandex_yandex_publisher_fetch_account_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t); +static void _publishing_yandex_yandex_publisher_fetch_account_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void _publishing_yandex_yandex_publisher_fetch_account_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +void publishing_yandex_yandex_publisher_fetch_account_information (PublishingYandexYandexPublisher* self, const gchar* auth_token); +static void publishing_yandex_yandex_publisher_web_auth_login_succeeded (PublishingYandexYandexPublisher* self, const gchar* access_token); +static void publishing_yandex_yandex_publisher_web_auth_login_failed (PublishingYandexYandexPublisher* self); +static void publishing_yandex_yandex_publisher_start_web_auth (PublishingYandexYandexPublisher* self); +static void _publishing_yandex_yandex_publisher_web_auth_login_succeeded_publishing_yandex_web_auth_pane_login_succeeded (PublishingYandexWebAuthPane* _sender, const gchar* success_url, gpointer self); +static void _publishing_yandex_yandex_publisher_web_auth_login_failed_publishing_yandex_web_auth_pane_login_failed (PublishingYandexWebAuthPane* _sender, gpointer self); +static void publishing_yandex_yandex_publisher_show_welcome_page (PublishingYandexYandexPublisher* self); +static void _publishing_yandex_yandex_publisher_start_web_auth_spit_publishing_login_callback (gpointer self); +static void publishing_yandex_yandex_publisher_real_start (SpitPublishingPublisher* base); +static void publishing_yandex_yandex_publisher_real_stop (SpitPublishingPublisher* base); +static void publishing_yandex_yandex_publisher_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 gint yandex_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + YandexService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 8 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YANDEX_SERVICE, YandexService); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = min_host_interface; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = max_host_interface; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp2_; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 479 "YandexPublishing.c" +} + + +static const gchar* yandex_service_real_get_id (SpitPluggable* base) { + YandexService * self; + const gchar* result = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YANDEX_SERVICE, YandexService); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = "org.yorba.shotwell.publishing.yandex-fotki"; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 492 "YandexPublishing.c" +} + + +static const gchar* yandex_service_real_get_pluggable_name (SpitPluggable* base) { + YandexService * self; + const gchar* result = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YANDEX_SERVICE, YandexService); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = "Yandex.Fotki"; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 505 "YandexPublishing.c" +} + + +static void yandex_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + YandexService * self; + gchar* _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; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YANDEX_SERVICE, YandexService); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (info != NULL); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = g_strdup ("Evgeniy Polyakov "); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 ((*info).authors); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).authors = _tmp0_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _ ("Copyright 2010+ Evgeniy Polyakov "); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 ((*info).copyright); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).copyright = _tmp2_; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 ((*info).translators); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).translators = _tmp3_; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 ((*info).version); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).version = _tmp4_; +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _ ("Visit the Yandex.Fotki web site"); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 ((*info).website_name); +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).website_name = _tmp6_; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = g_strdup ("http://fotki.yandex.ru/"); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 ((*info).website_url); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).website_url = _tmp7_; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = g_strdup (RESOURCES_LICENSE); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 ((*info).license); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (*info).license = _tmp8_; +#line 572 "YandexPublishing.c" +} + + +static SpitPublishingPublisher* yandex_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + YandexService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingYandexYandexPublisher* _tmp1_ = NULL; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YANDEX_SERVICE, YandexService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = host; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = publishing_yandex_yandex_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 593 "YandexPublishing.c" +} + + +static SpitPublishingPublisherMediaType yandex_service_real_get_supported_media (SpitPublishingService* base) { + YandexService * self; + SpitPublishingPublisherMediaType result = 0; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YANDEX_SERVICE, YandexService); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 606 "YandexPublishing.c" +} + + +static void yandex_service_real_activation (SpitPluggable* base, gboolean enabled) { + YandexService * self; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YANDEX_SERVICE, YandexService); +#line 614 "YandexPublishing.c" +} + + +YandexService* yandex_service_construct (GType object_type) { + YandexService * self = NULL; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (YandexService*) g_object_new (object_type, NULL); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 624 "YandexPublishing.c" +} + + +YandexService* yandex_service_new (void) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return yandex_service_construct (TYPE_YANDEX_SERVICE); +#line 631 "YandexPublishing.c" +} + + +static void yandex_service_class_init (YandexServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + yandex_service_parent_class = g_type_class_peek_parent (klass); +#line 638 "YandexPublishing.c" +} + + +static void yandex_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + yandex_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) yandex_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) yandex_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) yandex_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) yandex_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) yandex_service_real_activation; +#line 655 "YandexPublishing.c" +} + + +static void yandex_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + yandex_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) yandex_service_real_create_publisher; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) yandex_service_real_get_supported_media; +#line 666 "YandexPublishing.c" +} + + +static void yandex_service_instance_init (YandexService * self) { +} + + +GType yandex_service_get_type (void) { + static volatile gsize yandex_service_type_id__volatile = 0; + if (g_once_init_enter (&yandex_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (YandexServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) yandex_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (YandexService), 0, (GInstanceInitFunc) yandex_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) yandex_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) yandex_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType yandex_service_type_id; + yandex_service_type_id = g_type_register_static (G_TYPE_OBJECT, "YandexService", &g_define_type_info, 0); + g_type_add_interface_static (yandex_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (yandex_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&yandex_service_type_id__volatile, yandex_service_type_id); + } + return yandex_service_type_id__volatile; +} + + +PublishingYandexTransaction* publishing_yandex_transaction_construct_with_url (GType object_type, PublishingYandexSession* session, const gchar* url, PublishingRESTSupportHttpMethod method) { + PublishingYandexTransaction* self = NULL; + PublishingYandexSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRESTSupportHttpMethod _tmp2_ = 0; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_SESSION (session), NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = session; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = url; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = method; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp2_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_transaction_add_headers (self); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 711 "YandexPublishing.c" +} + + +PublishingYandexTransaction* publishing_yandex_transaction_new_with_url (PublishingYandexSession* session, const gchar* url, PublishingRESTSupportHttpMethod method) { +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_transaction_construct_with_url (PUBLISHING_YANDEX_TYPE_TRANSACTION, session, url, method); +#line 718 "YandexPublishing.c" +} + + +static void publishing_yandex_transaction_add_headers (PublishingYandexTransaction* self) { + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingYandexSession* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_TRANSACTION (self)); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = publishing_rest_support_transaction_get_parent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSession); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = _tmp2_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp3_) { +#line 741 "YandexPublishing.c" + PublishingRESTSupportSession* _tmp4_ = NULL; + PublishingYandexSession* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = publishing_rest_support_transaction_get_parent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSession); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = publishing_yandex_session_get_auth_token (_tmp5_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = _tmp6_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = g_strdup_printf ("OAuth %s", _tmp7_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = _tmp8_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Authorization", _tmp9_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp9_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp7_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp5_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Connection", "close"); +#line 770 "YandexPublishing.c" + } +} + + +PublishingYandexTransaction* publishing_yandex_transaction_construct (GType object_type, PublishingYandexSession* session, PublishingRESTSupportHttpMethod method) { + PublishingYandexTransaction* self = NULL; + PublishingYandexSession* _tmp0_ = NULL; + PublishingRESTSupportHttpMethod _tmp1_ = 0; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_SESSION (session), NULL); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = session; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = method; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexTransaction*) publishing_rest_support_transaction_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_transaction_add_headers (self); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 791 "YandexPublishing.c" +} + + +PublishingYandexTransaction* publishing_yandex_transaction_new (PublishingYandexSession* session, PublishingRESTSupportHttpMethod method) { +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_transaction_construct (PUBLISHING_YANDEX_TYPE_TRANSACTION, session, method); +#line 798 "YandexPublishing.c" +} + + +void publishing_yandex_transaction_add_data (PublishingYandexTransaction* self, const gchar* type, const gchar* data) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_TRANSACTION (self)); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (type != NULL); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (data != NULL); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = data; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = type; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_set_custom_payload (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp0_, _tmp1_, (gulong) 0); +#line 817 "YandexPublishing.c" +} + + +static void publishing_yandex_transaction_class_init (PublishingYandexTransactionClass * klass) { +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_transaction_parent_class = g_type_class_peek_parent (klass); +#line 824 "YandexPublishing.c" +} + + +static void publishing_yandex_transaction_instance_init (PublishingYandexTransaction * self) { +} + + +GType publishing_yandex_transaction_get_type (void) { + static volatile gsize publishing_yandex_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexTransaction), 0, (GInstanceInitFunc) publishing_yandex_transaction_instance_init, NULL }; + GType publishing_yandex_transaction_type_id; + publishing_yandex_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingYandexTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_yandex_transaction_type_id__volatile, publishing_yandex_transaction_type_id); + } + return publishing_yandex_transaction_type_id__volatile; +} + + +PublishingYandexSession* publishing_yandex_session_construct (GType object_type) { + PublishingYandexSession* self = NULL; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexSession*) publishing_rest_support_session_construct (object_type, NULL); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 850 "YandexPublishing.c" +} + + +PublishingYandexSession* publishing_yandex_session_new (void) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_session_construct (PUBLISHING_YANDEX_TYPE_SESSION); +#line 857 "YandexPublishing.c" +} + + +static gboolean publishing_yandex_session_real_is_authenticated (PublishingRESTSupportSession* base) { + PublishingYandexSession * self; + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSession); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->auth_token; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp0_ != NULL; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 873 "YandexPublishing.c" +} + + +void publishing_yandex_session_deauthenticate (PublishingYandexSession* self) { +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_SESSION (self)); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->priv->auth_token); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->auth_token = NULL; +#line 884 "YandexPublishing.c" +} + + +void publishing_yandex_session_set_auth_token (PublishingYandexSession* self, const gchar* token) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_SESSION (self)); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (token != NULL); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = token; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->priv->auth_token); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->auth_token = _tmp1_; +#line 903 "YandexPublishing.c" +} + + +gchar* publishing_yandex_session_get_auth_token (PublishingYandexSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_SESSION (self), NULL); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->auth_token; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp1_; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 921 "YandexPublishing.c" +} + + +static void publishing_yandex_session_class_init (PublishingYandexSessionClass * klass) { +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_session_parent_class = g_type_class_peek_parent (klass); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_yandex_session_finalize; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYandexSessionPrivate)); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_yandex_session_real_is_authenticated; +#line 934 "YandexPublishing.c" +} + + +static void publishing_yandex_session_instance_init (PublishingYandexSession * self) { +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv = PUBLISHING_YANDEX_SESSION_GET_PRIVATE (self); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->auth_token = NULL; +#line 943 "YandexPublishing.c" +} + + +static void publishing_yandex_session_finalize (PublishingRESTSupportSession* obj) { + PublishingYandexSession * self; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSession); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->priv->auth_token); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + PUBLISHING_REST_SUPPORT_SESSION_CLASS (publishing_yandex_session_parent_class)->finalize (obj); +#line 955 "YandexPublishing.c" +} + + +GType publishing_yandex_session_get_type (void) { + static volatile gsize publishing_yandex_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_session_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexSession), 0, (GInstanceInitFunc) publishing_yandex_session_instance_init, NULL }; + GType publishing_yandex_session_type_id; + publishing_yandex_session_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_SESSION, "PublishingYandexSession", &g_define_type_info, 0); + g_once_init_leave (&publishing_yandex_session_type_id__volatile, publishing_yandex_session_type_id); + } + return publishing_yandex_session_type_id__volatile; +} + + +static void _publishing_yandex_web_auth_pane_on_page_load_changed_webkit_web_view_load_changed (WebKitWebView* _sender, WebKitLoadEvent load_event, gpointer self) { +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_web_auth_pane_on_page_load_changed ((PublishingYandexWebAuthPane*) self, load_event); +#line 974 "YandexPublishing.c" +} + + +static gboolean _publishing_yandex_web_auth_pane_on_decide_policy_webkit_web_view_decide_policy (WebKitWebView* _sender, WebKitPolicyDecision* decision, WebKitPolicyDecisionType type, gpointer self) { + gboolean result; + result = publishing_yandex_web_auth_pane_on_decide_policy ((PublishingYandexWebAuthPane*) self, decision, type); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 983 "YandexPublishing.c" +} + + +static gboolean __lambda4_ (PublishingYandexWebAuthPane* self) { + gboolean result = FALSE; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = FALSE; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 993 "YandexPublishing.c" +} + + +static gboolean ___lambda4__webkit_web_view_context_menu (WebKitWebView* _sender, WebKitContextMenu* context_menu, GdkEvent* event, WebKitHitTestResult* hit_test_result, gpointer self) { + gboolean result; + result = __lambda4_ ((PublishingYandexWebAuthPane*) self); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 1002 "YandexPublishing.c" +} + + +PublishingYandexWebAuthPane* publishing_yandex_web_auth_pane_construct (GType object_type, const gchar* login_url) { + PublishingYandexWebAuthPane * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GtkBox* _tmp7_ = NULL; + GtkScrolledWindow* _tmp8_ = NULL; + GtkScrolledWindow* _tmp9_ = NULL; + GtkScrolledWindow* _tmp10_ = NULL; + WebKitWebView* _tmp11_ = NULL; + WebKitWebView* _tmp12_ = NULL; + WebKitSettings* _tmp13_ = NULL; + WebKitWebView* _tmp14_ = NULL; + WebKitWebView* _tmp15_ = NULL; + WebKitWebView* _tmp16_ = NULL; + GtkScrolledWindow* _tmp17_ = NULL; + WebKitWebView* _tmp18_ = NULL; + GtkBox* _tmp19_ = NULL; + GtkScrolledWindow* _tmp20_ = NULL; + GError * _inner_error_ = NULL; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (login_url != NULL, NULL); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexWebAuthPane*) g_object_new (object_type, NULL); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = login_url; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->priv->login_url); +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->login_url = _tmp1_; +#line 1037 "YandexPublishing.c" + { + GRegex* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = g_regex_new ("(.*)#access_token=([a-zA-Z0-9]*)&", 0, 0, &_inner_error_); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = _tmp3_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1050 "YandexPublishing.c" + goto __catch39_g_regex_error; + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return NULL; +#line 1059 "YandexPublishing.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = _tmp2_; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = NULL; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_regex_unref0 (self->priv->re); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->re = _tmp4_; +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_regex_unref0 (_tmp2_); +#line 1071 "YandexPublishing.c" + } + goto __finally39; + __catch39_g_regex_error: + { + GError* e = NULL; + GError* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + e = _inner_error_; +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = e; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = _tmp5_->message; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("YandexPublishing.vala:112: %s", _tmp6_); +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (e); +#line 1091 "YandexPublishing.c" + } + __finally39: +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return NULL; +#line 1102 "YandexPublishing.c" + } +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_object_ref_sink (_tmp7_); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->pane_widget = _tmp7_; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_object_ref_sink (_tmp8_); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->webview_frame); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->webview_frame = _tmp8_; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = self->priv->webview_frame; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_scrolled_window_set_shadow_type (_tmp9_, GTK_SHADOW_ETCHED_IN); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = self->priv->webview_frame; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_scrolled_window_set_policy (_tmp10_, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = (WebKitWebView*) webkit_web_view_new (); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_object_ref_sink (_tmp11_); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->webview); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->webview = _tmp11_; +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = self->priv->webview; +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = webkit_web_view_get_settings (_tmp12_); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + webkit_settings_set_enable_plugins (_tmp13_, FALSE); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = self->priv->webview; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (_tmp14_, "load-changed", (GCallback) _publishing_yandex_web_auth_pane_on_page_load_changed_webkit_web_view_load_changed, self, 0); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = self->priv->webview; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (_tmp15_, "decide-policy", (GCallback) _publishing_yandex_web_auth_pane_on_decide_policy_webkit_web_view_decide_policy, self, 0); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = self->priv->webview; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (_tmp16_, "context-menu", (GCallback) ___lambda4__webkit_web_view_context_menu, self, 0); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = self->priv->webview_frame; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp18_ = self->priv->webview; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget)); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp19_ = self->priv->pane_widget; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = self->priv->webview_frame; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 1168 "YandexPublishing.c" +} + + +PublishingYandexWebAuthPane* publishing_yandex_web_auth_pane_new (const gchar* login_url) { +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_web_auth_pane_construct (PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, login_url); +#line 1175 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_on_page_load (PublishingYandexWebAuthPane* self) { + GtkBox* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkCursor* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_WEB_AUTH_PANE (self)); +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = gdk_cursor_new (GDK_LEFT_PTR); +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = _tmp2_; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gdk_window_set_cursor (_tmp1_, _tmp3_); +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp3_); +#line 1198 "YandexPublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 1205 "YandexPublishing.c" +} + + +static WebKitNavigationAction* _vala_WebKitNavigationAction_copy (WebKitNavigationAction* self) { +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return g_boxed_copy (webkit_navigation_action_get_type (), self); +#line 1212 "YandexPublishing.c" +} + + +static gpointer __vala_WebKitNavigationAction_copy0 (gpointer self) { +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self ? _vala_WebKitNavigationAction_copy (self) : NULL; +#line 1219 "YandexPublishing.c" +} + + +static void _vala_WebKitNavigationAction_free (WebKitNavigationAction* self) { +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_boxed_free (webkit_navigation_action_get_type (), self); +#line 1226 "YandexPublishing.c" +} + + +static gboolean publishing_yandex_web_auth_pane_on_decide_policy (PublishingYandexWebAuthPane* self, WebKitPolicyDecision* decision, WebKitPolicyDecisionType type) { + gboolean result = FALSE; + WebKitPolicyDecisionType _tmp0_ = 0; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_WEB_AUTH_PANE (self), FALSE); +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (WEBKIT_IS_POLICY_DECISION (decision), FALSE); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = type; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + switch (_tmp0_) { +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + case WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION: +#line 1243 "YandexPublishing.c" + { + WebKitNavigationPolicyDecision* n_decision = NULL; + WebKitPolicyDecision* _tmp1_ = NULL; + WebKitNavigationPolicyDecision* _tmp2_ = NULL; + WebKitNavigationAction* action = NULL; + WebKitNavigationPolicyDecision* _tmp3_ = NULL; + WebKitNavigationAction* _tmp4_ = NULL; + WebKitNavigationAction* _tmp5_ = NULL; + WebKitNavigationAction* _tmp6_ = NULL; + gchar* uri = NULL; + WebKitNavigationAction* _tmp7_ = NULL; + WebKitURIRequest* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GMatchInfo* info = NULL; + GRegex* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GMatchInfo* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + WebKitPolicyDecision* _tmp32_ = NULL; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = decision; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, webkit_navigation_policy_decision_get_type (), WebKitNavigationPolicyDecision)); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + n_decision = _tmp2_; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = n_decision; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = webkit_navigation_policy_decision_get_navigation_action (_tmp3_); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = __vala_WebKitNavigationAction_copy0 (_tmp5_); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + action = _tmp6_; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = action; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = webkit_navigation_action_get_request (_tmp7_); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = webkit_uri_request_get_uri (_tmp8_); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = _tmp9_; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + uri = _tmp11_; +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = uri; +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:143: Navigating to '%s'", _tmp12_); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + info = NULL; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = self->priv->re; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = uri; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = g_regex_match (_tmp13_, _tmp14_, 0, &_tmp15_); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_match_info_unref0 (info); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + info = _tmp15_; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp16_) { +#line 1312 "YandexPublishing.c" + gchar* access_token = NULL; + GMatchInfo* _tmp17_ = NULL; + gchar** _tmp18_ = NULL; + gchar** _tmp19_ = NULL; + gchar** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + GtkBox* _tmp25_ = NULL; + GdkWindow* _tmp26_ = NULL; + GdkCursor* _tmp27_ = NULL; + GdkCursor* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = info; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp19_ = _tmp18_ = g_match_info_fetch_all (_tmp17_); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = _tmp19_; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20__length1 = _vala_array_length (_tmp18_); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp21_ = _tmp20_[2]; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp23_ = _tmp22_; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = (_vala_array_free (_tmp20_, _tmp20__length1, (GDestroyNotify) g_free), NULL); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + access_token = _tmp23_; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp24_ = access_token; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:150: Load completed: %s", _tmp24_); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp25_ = self->priv->pane_widget; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp26_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget)); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp27_ = gdk_cursor_new (GDK_LEFT_PTR); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp28_ = _tmp27_; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gdk_window_set_cursor (_tmp26_, _tmp28_); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp28_); +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp29_ = access_token; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp29_ != NULL) { +#line 1366 "YandexPublishing.c" + const gchar* _tmp30_ = NULL; + WebKitPolicyDecision* _tmp31_ = NULL; +#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp30_ = access_token; +#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_emit_by_name (self, "login-succeeded", _tmp30_); +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp31_ = decision; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + webkit_policy_decision_ignore (_tmp31_); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (access_token); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_match_info_unref0 (info); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (uri); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + __vala_WebKitNavigationAction_free0 (action); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (n_decision); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 1389 "YandexPublishing.c" + } else { +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_emit_by_name (self, "login-failed"); +#line 1393 "YandexPublishing.c" + } +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (access_token); +#line 1397 "YandexPublishing.c" + } +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp32_ = decision; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + webkit_policy_decision_use (_tmp32_); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_match_info_unref0 (info); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (uri); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + __vala_WebKitNavigationAction_free0 (action); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (n_decision); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 1413 "YandexPublishing.c" + } +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + case WEBKIT_POLICY_DECISION_TYPE_RESPONSE: +#line 1417 "YandexPublishing.c" + { + WebKitPolicyDecision* _tmp33_ = NULL; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp33_ = decision; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + webkit_policy_decision_use (_tmp33_); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 1426 "YandexPublishing.c" + } + default: + { +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = FALSE; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 1434 "YandexPublishing.c" + } + } +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = TRUE; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 1441 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_on_load_started (PublishingYandexWebAuthPane* self) { + GtkBox* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkCursor* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_WEB_AUTH_PANE (self)); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = gdk_cursor_new (GDK_WATCH); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = _tmp2_; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gdk_window_set_cursor (_tmp1_, _tmp3_); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp3_); +#line 1464 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_on_page_load_changed (PublishingYandexWebAuthPane* self, WebKitLoadEvent load_event) { + WebKitLoadEvent _tmp0_ = 0; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_WEB_AUTH_PANE (self)); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = load_event; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + switch (_tmp0_) { +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + case WEBKIT_LOAD_STARTED: +#line 1478 "YandexPublishing.c" + { +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_web_auth_pane_on_load_started (self); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 1484 "YandexPublishing.c" + } +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + case WEBKIT_LOAD_FINISHED: +#line 1488 "YandexPublishing.c" + { +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_web_auth_pane_on_page_load (self); +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 1494 "YandexPublishing.c" + } + default: +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 1499 "YandexPublishing.c" + } +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 1503 "YandexPublishing.c" +} + + +static GtkWidget* publishing_yandex_web_auth_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingYandexWebAuthPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPane); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp1_; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 1522 "YandexPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_yandex_web_auth_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingYandexWebAuthPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPane); +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 1535 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingYandexWebAuthPane * self; + WebKitWebView* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPane); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->webview; +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = self->priv->login_url; +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + webkit_web_view_load_uri (_tmp0_, _tmp1_); +#line 1551 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingYandexWebAuthPane * self; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPane); +#line 1559 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_class_init (PublishingYandexWebAuthPaneClass * klass) { +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_web_auth_pane_parent_class = g_type_class_peek_parent (klass); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYandexWebAuthPanePrivate)); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_yandex_web_auth_pane_finalize; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_new ("login_succeeded", PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_new ("login_failed", PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1574 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_web_auth_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_yandex_web_auth_pane_real_get_widget; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_yandex_web_auth_pane_real_get_preferred_geometry; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_yandex_web_auth_pane_real_on_pane_installed; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_yandex_web_auth_pane_real_on_pane_uninstalled; +#line 1589 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_instance_init (PublishingYandexWebAuthPane * self) { +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv = PUBLISHING_YANDEX_WEB_AUTH_PANE_GET_PRIVATE (self); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->webview = NULL; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->pane_widget = NULL; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->webview_frame = NULL; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->login_url = NULL; +#line 1604 "YandexPublishing.c" +} + + +static void publishing_yandex_web_auth_pane_finalize (GObject* obj) { + PublishingYandexWebAuthPane * self; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YANDEX_TYPE_WEB_AUTH_PANE, PublishingYandexWebAuthPane); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->webview); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->webview_frame); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_regex_unref0 (self->priv->re); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->priv->login_url); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + G_OBJECT_CLASS (publishing_yandex_web_auth_pane_parent_class)->finalize (obj); +#line 1624 "YandexPublishing.c" +} + + +GType publishing_yandex_web_auth_pane_get_type (void) { + static volatile gsize publishing_yandex_web_auth_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_web_auth_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexWebAuthPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_web_auth_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexWebAuthPane), 0, (GInstanceInitFunc) publishing_yandex_web_auth_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_yandex_web_auth_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_yandex_web_auth_pane_type_id; + publishing_yandex_web_auth_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingYandexWebAuthPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_yandex_web_auth_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_yandex_web_auth_pane_type_id__volatile, publishing_yandex_web_auth_pane_type_id); + } + return publishing_yandex_web_auth_pane_type_id__volatile; +} + + +PublishingYandexPublishOptions* publishing_yandex_publish_options_construct (GType object_type) { + PublishingYandexPublishOptions* self = NULL; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexPublishOptions*) g_type_create_instance (object_type); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 1648 "YandexPublishing.c" +} + + +PublishingYandexPublishOptions* publishing_yandex_publish_options_new (void) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_publish_options_construct (PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS); +#line 1655 "YandexPublishing.c" +} + + +static void publishing_yandex_value_publish_options_init (GValue* value) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1662 "YandexPublishing.c" +} + + +static void publishing_yandex_value_publish_options_free_value (GValue* value) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (value->data[0].v_pointer) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publish_options_unref (value->data[0].v_pointer); +#line 1671 "YandexPublishing.c" + } +} + + +static void publishing_yandex_value_publish_options_copy_value (const GValue* src_value, GValue* dest_value) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + dest_value->data[0].v_pointer = publishing_yandex_publish_options_ref (src_value->data[0].v_pointer); +#line 1681 "YandexPublishing.c" + } else { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1685 "YandexPublishing.c" + } +} + + +static gpointer publishing_yandex_value_publish_options_peek_pointer (const GValue* value) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return value->data[0].v_pointer; +#line 1693 "YandexPublishing.c" +} + + +static gchar* publishing_yandex_value_publish_options_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1700 "YandexPublishing.c" + PublishingYandexPublishOptions* object; + object = collect_values[0].v_pointer; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1707 "YandexPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 1711 "YandexPublishing.c" + } +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + value->data[0].v_pointer = publishing_yandex_publish_options_ref (object); +#line 1715 "YandexPublishing.c" + } else { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1719 "YandexPublishing.c" + } +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return NULL; +#line 1723 "YandexPublishing.c" +} + + +static gchar* publishing_yandex_value_publish_options_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingYandexPublishOptions** object_p; + object_p = collect_values[0].v_pointer; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!object_p) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1734 "YandexPublishing.c" + } +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!value->data[0].v_pointer) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + *object_p = NULL; +#line 1740 "YandexPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1744 "YandexPublishing.c" + } else { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + *object_p = publishing_yandex_publish_options_ref (value->data[0].v_pointer); +#line 1748 "YandexPublishing.c" + } +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return NULL; +#line 1752 "YandexPublishing.c" +} + + +GParamSpec* publishing_yandex_param_spec_publish_options (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingYandexParamSpecPublishOptions* spec; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS), NULL); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1766 "YandexPublishing.c" +} + + +gpointer publishing_yandex_value_get_publish_options (const GValue* value) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS), NULL); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return value->data[0].v_pointer; +#line 1775 "YandexPublishing.c" +} + + +void publishing_yandex_value_set_publish_options (GValue* value, gpointer v_object) { + PublishingYandexPublishOptions* old; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS)); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + old = value->data[0].v_pointer; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (v_object) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS)); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + value->data[0].v_pointer = v_object; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publish_options_ref (value->data[0].v_pointer); +#line 1795 "YandexPublishing.c" + } else { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1799 "YandexPublishing.c" + } +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (old) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publish_options_unref (old); +#line 1805 "YandexPublishing.c" + } +} + + +void publishing_yandex_value_take_publish_options (GValue* value, gpointer v_object) { + PublishingYandexPublishOptions* old; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS)); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + old = value->data[0].v_pointer; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (v_object) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS)); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1824 "YandexPublishing.c" + } else { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1828 "YandexPublishing.c" + } +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (old) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publish_options_unref (old); +#line 1834 "YandexPublishing.c" + } +} + + +static void publishing_yandex_publish_options_class_init (PublishingYandexPublishOptionsClass * klass) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publish_options_parent_class = g_type_class_peek_parent (klass); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + ((PublishingYandexPublishOptionsClass *) klass)->finalize = publishing_yandex_publish_options_finalize; +#line 1844 "YandexPublishing.c" +} + + +static void publishing_yandex_publish_options_instance_init (PublishingYandexPublishOptions * self) { +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->disable_comments = FALSE; +#line 205 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->hide_original = FALSE; +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->destination_album = NULL; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->destination_album_url = NULL; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->ref_count = 1; +#line 1859 "YandexPublishing.c" +} + + +static void publishing_yandex_publish_options_finalize (PublishingYandexPublishOptions* obj) { + PublishingYandexPublishOptions * self; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YANDEX_TYPE_PUBLISH_OPTIONS, PublishingYandexPublishOptions); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_destroy (self); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->access_type); +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->destination_album); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->destination_album_url); +#line 1875 "YandexPublishing.c" +} + + +GType publishing_yandex_publish_options_get_type (void) { + static volatile gsize publishing_yandex_publish_options_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_publish_options_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_yandex_value_publish_options_init, publishing_yandex_value_publish_options_free_value, publishing_yandex_value_publish_options_copy_value, publishing_yandex_value_publish_options_peek_pointer, "p", publishing_yandex_value_publish_options_collect_value, "p", publishing_yandex_value_publish_options_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexPublishOptionsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_publish_options_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexPublishOptions), 0, (GInstanceInitFunc) publishing_yandex_publish_options_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 publishing_yandex_publish_options_type_id; + publishing_yandex_publish_options_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingYandexPublishOptions", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_yandex_publish_options_type_id__volatile, publishing_yandex_publish_options_type_id); + } + return publishing_yandex_publish_options_type_id__volatile; +} + + +gpointer publishing_yandex_publish_options_ref (gpointer instance) { + PublishingYandexPublishOptions* self; + self = instance; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return instance; +#line 1900 "YandexPublishing.c" +} + + +void publishing_yandex_publish_options_unref (gpointer instance) { + PublishingYandexPublishOptions* self; + self = instance; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + PUBLISHING_YANDEX_PUBLISH_OPTIONS_GET_CLASS (self)->finalize (self); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1913 "YandexPublishing.c" + } +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_yandex_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingYandexPublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPane); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 1927 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingYandexPublishingOptionsPane * self; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPane); +#line 1935 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingYandexPublishingOptionsPane * self; +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPane); +#line 1943 "YandexPublishing.c" +} + + +static GtkWidget* publishing_yandex_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingYandexPublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPane); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->box; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp1_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 1962 "YandexPublishing.c" +} + + +static void _publishing_yandex_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publishing_options_pane_on_publish_clicked ((PublishingYandexPublishingOptionsPane*) self); +#line 1969 "YandexPublishing.c" +} + + +static void _publishing_yandex_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publishing_options_pane_on_logout_clicked ((PublishingYandexPublishingOptionsPane*) self); +#line 1976 "YandexPublishing.c" +} + + +PublishingYandexPublishingOptionsPane* publishing_yandex_publishing_options_pane_construct (GType object_type, PublishingYandexPublishOptions* options, GeeHashMap* list, SpitPublishingPluginHost* host) { + PublishingYandexPublishingOptionsPane * self = NULL; + PublishingYandexPublishOptions* _tmp0_ = NULL; + GtkBox* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_PUBLISH_OPTIONS (options), NULL); +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (GEE_IS_HASH_MAP (list), NULL); +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexPublishingOptionsPane*) g_object_new (object_type, NULL); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = options; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->options = _tmp0_; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_object_ref_sink (_tmp1_); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->box); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->box = _tmp1_; +#line 2005 "YandexPublishing.c" + { + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GtkBuilder* _tmp4_ = NULL; + GtkAlignment* align = NULL; + GtkBuilder* _tmp5_ = NULL; + GObject* _tmp6_ = NULL; + GtkAlignment* _tmp7_ = NULL; + GtkBuilder* _tmp8_ = NULL; + GObject* _tmp9_ = NULL; + GtkComboBoxText* _tmp10_ = NULL; + GtkComboBoxText* _tmp23_ = NULL; + GtkBuilder* _tmp24_ = NULL; + GObject* _tmp25_ = NULL; + GtkButton* _tmp26_ = NULL; + GtkBuilder* _tmp27_ = NULL; + GObject* _tmp28_ = NULL; + GtkButton* _tmp29_ = NULL; + GtkButton* _tmp30_ = NULL; + GtkButton* _tmp31_ = NULL; + GtkAlignment* _tmp32_ = NULL; + GtkBox* _tmp33_ = NULL; + GtkBox* _tmp34_ = NULL; + GtkAlignment* _tmp35_ = NULL; +#line 242 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = gtk_builder_new (); +#line 242 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 242 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->builder = _tmp2_; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = self->priv->builder; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_builder_add_from_resource (_tmp3_, PLUGIN_RESOURCE_PATH "/yandex_publish_model.ui", &_inner_error_); +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2042 "YandexPublishing.c" + goto __catch40_g_error; + } +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = self->priv->builder; +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_builder_connect_signals (_tmp4_, NULL); +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = self->priv->builder; +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = gtk_builder_get_object (_tmp5_, "alignment"); +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, gtk_alignment_get_type ()) ? ((GtkAlignment*) _tmp6_) : NULL); +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + align = _tmp7_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = self->priv->builder; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = gtk_builder_get_object (_tmp8_, "album_list"); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp9_) : NULL); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->album_list); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->album_list = _tmp10_; +#line 2067 "YandexPublishing.c" + { + GeeIterator* _key_it = NULL; + GeeHashMap* _tmp11_ = NULL; + GeeSet* _tmp12_ = NULL; + GeeSet* _tmp13_ = NULL; + GeeSet* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = list; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_MAP, GeeMap)); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = _tmp12_; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = _tmp13_; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = _tmp15_; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp14_); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _key_it = _tmp16_; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + while (TRUE) { +#line 2094 "YandexPublishing.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + GtkComboBoxText* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = _key_it; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!_tmp18_) { +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 2110 "YandexPublishing.c" + } +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp19_ = _key_it; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + key = (gchar*) _tmp20_; +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp21_ = self->priv->album_list; +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp22_ = key; +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_combo_box_text_append_text (_tmp21_, _tmp22_); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (key); +#line 2126 "YandexPublishing.c" + } +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_key_it); +#line 2130 "YandexPublishing.c" + } +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp23_ = self->priv->album_list; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp24_ = self->priv->builder; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp25_ = gtk_builder_get_object (_tmp24_, "publish_button"); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, gtk_button_get_type ()) ? ((GtkButton*) _tmp25_) : NULL); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->publish_button = _tmp26_; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp27_ = self->priv->builder; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp28_ = gtk_builder_get_object (_tmp27_, "logout_button"); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp29_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp28_, gtk_button_get_type ()) ? ((GtkButton*) _tmp28_) : NULL); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->logout_button = _tmp29_; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp30_ = self->priv->publish_button; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (_tmp30_, "clicked", (GCallback) _publishing_yandex_publishing_options_pane_on_publish_clicked_gtk_button_clicked, self, 0); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp31_ = self->priv->logout_button; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (_tmp31_, "clicked", (GCallback) _publishing_yandex_publishing_options_pane_on_logout_clicked_gtk_button_clicked, self, 0); +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp32_ = align; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp33_ = self->priv->box; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_widget_reparent (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget), G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget)); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp34_ = self->priv->box; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp35_ = align; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gtk_box_set_child_packing (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0, GTK_PACK_START); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (align); +#line 2178 "YandexPublishing.c" + } + goto __finally40; + __catch40_g_error: + { + GError* e = NULL; + GError* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + e = _inner_error_; +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp36_ = e; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp37_ = _tmp36_->message; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_warning ("YandexPublishing.vala:263: Could not load UI: %s", _tmp37_); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (e); +#line 2198 "YandexPublishing.c" + } + __finally40: +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return NULL; +#line 2209 "YandexPublishing.c" + } +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 2213 "YandexPublishing.c" +} + + +PublishingYandexPublishingOptionsPane* publishing_yandex_publishing_options_pane_new (PublishingYandexPublishOptions* options, GeeHashMap* list, SpitPublishingPluginHost* host) { +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_publishing_options_pane_construct (PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, options, list, host); +#line 2220 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_on_logout_clicked (PublishingYandexPublishingOptionsPane* self) { +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 2229 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_on_publish_clicked (PublishingYandexPublishingOptionsPane* self) { + PublishingYandexPublishOptions* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GtkCheckButton* tmp = NULL; + GtkBuilder* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + GtkCheckButton* _tmp5_ = NULL; + PublishingYandexPublishOptions* _tmp6_ = NULL; + GtkCheckButton* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + GtkBuilder* _tmp10_ = NULL; + GObject* _tmp11_ = NULL; + GtkCheckButton* _tmp12_ = NULL; + PublishingYandexPublishOptions* _tmp13_ = NULL; + GtkCheckButton* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + GtkComboBoxText* access_type = NULL; + GtkBuilder* _tmp17_ = NULL; + GObject* _tmp18_ = NULL; + GtkComboBoxText* _tmp19_ = NULL; + PublishingYandexPublishOptions* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->options; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = self->priv->album_list; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = gtk_combo_box_text_get_active_text (_tmp1_); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp0_->destination_album); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_->destination_album = _tmp2_; +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = self->priv->builder; +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = gtk_builder_get_object (_tmp3_, "hide_original_check"); +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp4_) : NULL); +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + tmp = _tmp5_; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = self->priv->options; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = tmp; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = _tmp8_; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_->hide_original = _tmp9_; +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = self->priv->builder; +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = gtk_builder_get_object (_tmp10_, "disable_comments_check"); +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp11_) : NULL); +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (tmp); +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + tmp = _tmp12_; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = self->priv->options; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = tmp; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = _tmp15_; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_->disable_comments = _tmp16_; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = self->priv->builder; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp18_ = gtk_builder_get_object (_tmp17_, "access_type_list"); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp19_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp18_) : NULL); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + access_type = _tmp19_; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = self->priv->options; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp21_ = gtk_combo_box_text_get_active_text (access_type); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp20_->access_type); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_->access_type = _tmp21_; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_emit_by_name (self, "publish"); +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (access_type); +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (tmp); +#line 2330 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_class_init (PublishingYandexPublishingOptionsPaneClass * klass) { +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYandexPublishingOptionsPanePrivate)); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_yandex_publishing_options_pane_finalize; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_new ("publish", PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_new ("logout", PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 2345 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_yandex_publishing_options_pane_real_get_preferred_geometry; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_yandex_publishing_options_pane_real_on_pane_installed; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_yandex_publishing_options_pane_real_on_pane_uninstalled; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_yandex_publishing_options_pane_real_get_widget; +#line 2360 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_instance_init (PublishingYandexPublishingOptionsPane * self) { +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv = PUBLISHING_YANDEX_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 2367 "YandexPublishing.c" +} + + +static void publishing_yandex_publishing_options_pane_finalize (GObject* obj) { + PublishingYandexPublishingOptionsPane * self; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YANDEX_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYandexPublishingOptionsPane); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->box); +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->album_list); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + G_OBJECT_CLASS (publishing_yandex_publishing_options_pane_parent_class)->finalize (obj); +#line 2387 "YandexPublishing.c" +} + + +GType publishing_yandex_publishing_options_pane_get_type (void) { + static volatile gsize publishing_yandex_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexPublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexPublishingOptionsPane), 0, (GInstanceInitFunc) publishing_yandex_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_yandex_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_yandex_publishing_options_pane_type_id; + publishing_yandex_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingYandexPublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_yandex_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_yandex_publishing_options_pane_type_id__volatile, publishing_yandex_publishing_options_pane_type_id); + } + return publishing_yandex_publishing_options_pane_type_id__volatile; +} + + +PublishingYandexUploader* publishing_yandex_uploader_construct (GType object_type, PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable** photos, int photos_length1) { + PublishingYandexUploader* self = NULL; + PublishingYandexSession* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingYandexPublishOptions* _tmp2_ = NULL; +#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_SESSION (session), NULL); +#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_PUBLISH_OPTIONS (options), NULL); +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = session; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = photos; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1__length1 = photos_length1; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexUploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = options; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->options = _tmp2_; +#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 2429 "YandexPublishing.c" +} + + +PublishingYandexUploader* publishing_yandex_uploader_new (PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable** photos, int photos_length1) { +#line 290 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_uploader_construct (PUBLISHING_YANDEX_TYPE_UPLOADER, session, options, photos, photos_length1); +#line 2436 "YandexPublishing.c" +} + + +static PublishingRESTSupportTransaction* publishing_yandex_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingYandexUploader * self; + PublishingRESTSupportTransaction* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingYandexSession* _tmp1_ = NULL; + PublishingYandexPublishOptions* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + PublishingYandexUploadTransaction* _tmp5_ = NULL; + PublishingRESTSupportTransaction* _tmp6_ = NULL; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_UPLOADER, PublishingYandexUploader); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:297: create transaction"); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_YANDEX_TYPE_SESSION, PublishingYandexSession); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = self->priv->options; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = publishing_rest_support_batch_uploader_get_current_publishable (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = _tmp3_; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = publishing_yandex_upload_transaction_new (_tmp1_, _tmp2_, _tmp4_); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp4_); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp6_; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 2478 "YandexPublishing.c" +} + + +static void publishing_yandex_uploader_class_init (PublishingYandexUploaderClass * klass) { +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_uploader_parent_class = g_type_class_peek_parent (klass); +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_yandex_uploader_finalize; +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYandexUploaderPrivate)); +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_yandex_uploader_real_create_transaction; +#line 2491 "YandexPublishing.c" +} + + +static void publishing_yandex_uploader_instance_init (PublishingYandexUploader * self) { +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv = PUBLISHING_YANDEX_UPLOADER_GET_PRIVATE (self); +#line 2498 "YandexPublishing.c" +} + + +static void publishing_yandex_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingYandexUploader * self; +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YANDEX_TYPE_UPLOADER, PublishingYandexUploader); +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_yandex_uploader_parent_class)->finalize (obj); +#line 2508 "YandexPublishing.c" +} + + +GType publishing_yandex_uploader_get_type (void) { + static volatile gsize publishing_yandex_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexUploader), 0, (GInstanceInitFunc) publishing_yandex_uploader_instance_init, NULL }; + GType publishing_yandex_uploader_type_id; + publishing_yandex_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingYandexUploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_yandex_uploader_type_id__volatile, publishing_yandex_uploader_type_id); + } + return publishing_yandex_uploader_type_id__volatile; +} + + +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 2528 "YandexPublishing.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 2536 "YandexPublishing.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 2545 "YandexPublishing.c" + } +} + + +static void _vala_SoupMultipart_free (SoupMultipart* self) { +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_boxed_free (soup_multipart_get_type (), self); +#line 2553 "YandexPublishing.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 2597 "YandexPublishing.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 2603 "YandexPublishing.c" +} + + +static void _g_free0_ (gpointer var) { +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + var = (g_free (var), NULL); +#line 2610 "YandexPublishing.c" +} + + +static void _vala_SoupBuffer_free (SoupBuffer* self) { +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_boxed_free (soup_buffer_get_type (), self); +#line 2617 "YandexPublishing.c" +} + + +PublishingYandexUploadTransaction* publishing_yandex_upload_transaction_construct (GType object_type, PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable* photo) { + PublishingYandexUploadTransaction* self = NULL; + PublishingYandexSession* _tmp0_ = NULL; + PublishingYandexPublishOptions* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingYandexPublishOptions* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + PublishingYandexPublishOptions* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + SoupMultipart* message_parts = NULL; + SoupMultipart* _tmp10_ = NULL; + SpitPublishingPublishable* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + PublishingYandexPublishOptions* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + PublishingYandexPublishOptions* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + PublishingYandexPublishOptions* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* photo_data = NULL; + gsize data_length = 0UL; + gint image_part_num = 0; + gint _tmp40_ = 0; + SoupBuffer* bindable_data = NULL; + guint8* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + guint8* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + SoupBuffer* _tmp43_ = NULL; + SpitPublishingPublishable* _tmp44_ = NULL; + GFile* _tmp45_ = NULL; + GFile* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + SoupMessageHeaders* image_part_header = NULL; + SoupBuffer* image_part_body = NULL; + SoupMessageHeaders* _tmp49_ = NULL; + SoupBuffer* _tmp50_ = NULL; + GHashTable* _result_ = NULL; + GHashFunc _tmp51_ = NULL; + GEqualFunc _tmp52_ = NULL; + GHashTable* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + SoupMessage* outbound_message = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + SoupMessage* _tmp60_ = NULL; + SoupMessage* _tmp61_ = NULL; + SoupMessageHeaders* _tmp62_ = NULL; + PublishingYandexSession* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + SoupMessageHeaders* _tmp68_ = NULL; + GError * _inner_error_ = NULL; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_SESSION (session), NULL); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_PUBLISH_OPTIONS (options), NULL); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (photo), NULL); +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = session; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = options; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = _tmp1_->destination_album_url; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexUploadTransaction*) publishing_yandex_transaction_construct_with_url (object_type, _tmp0_, _tmp2_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_set_custom_payload (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "qwe", "image/jpeg", (gulong) 1); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = photo; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = spit_publishing_publishable_get_publishing_name (_tmp3_); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = options; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = _tmp6_->destination_album; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = options; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = _tmp8_->destination_album_url; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:308: Uploading '%s' -> %s : %s", _tmp5_, _tmp7_, _tmp9_); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp5_); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = soup_multipart_new ("multipart/form-data"); +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + message_parts = _tmp10_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = photo; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = spit_publishing_publishable_get_publishing_name (_tmp11_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = _tmp12_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_multipart_append_form_string (message_parts, "title", _tmp13_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp13_); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = options; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = _tmp14_->hide_original; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = bool_to_string (_tmp15_); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = _tmp16_; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_multipart_append_form_string (message_parts, "hide_original", _tmp17_); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp17_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp18_ = options; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp19_ = _tmp18_->disable_comments; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = bool_to_string (_tmp19_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp21_ = _tmp20_; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_multipart_append_form_string (message_parts, "disable_comments", _tmp21_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp21_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp22_ = options; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp23_ = _tmp22_->access_type; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp24_ = g_utf8_strdown (_tmp23_, (gssize) -1); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp25_ = _tmp24_; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_multipart_append_form_string (message_parts, "access", _tmp25_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp25_); +#line 2774 "YandexPublishing.c" + { + SpitPublishingPublishable* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gsize _tmp32_ = 0UL; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp26_ = photo; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp27_ = spit_publishing_publishable_get_serialized_file (_tmp26_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp28_ = _tmp27_; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp29_ = g_file_get_path (_tmp28_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp30_ = _tmp29_; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_file_get_contents (_tmp30_, &_tmp31_, &_tmp32_, &_inner_error_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (photo_data); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + photo_data = _tmp31_; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + data_length = _tmp32_; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp30_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp28_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == G_FILE_ERROR) { +#line 2809 "YandexPublishing.c" + goto __catch41_g_file_error; + } +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (photo_data); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return NULL; +#line 2822 "YandexPublishing.c" + } + } + goto __finally41; + __catch41_g_file_error: + { + GError* e = NULL; + SpitPublishingPublishable* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + GError* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + e = _inner_error_; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp33_ = photo; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp34_ = spit_publishing_publishable_get_serialized_file (_tmp33_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp35_ = _tmp34_; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp36_ = g_file_get_path (_tmp35_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp37_ = _tmp36_; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp38_ = e; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp39_ = _tmp38_->message; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("YandexPublishing.vala:322: Failed to read data file '%s': %s", _tmp37_, _tmp39_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp37_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp35_); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (e); +#line 2862 "YandexPublishing.c" + } + __finally41: +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (photo_data); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return NULL; +#line 2877 "YandexPublishing.c" + } +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp40_ = soup_multipart_get_length (message_parts); +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + image_part_num = _tmp40_; +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp41_ = string_get_data (photo_data, &_tmp41__length1); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp42_ = _tmp41_; +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp42__length1 = _tmp41__length1; +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp43_ = soup_buffer_new (SOUP_MEMORY_COPY, _tmp42_ + 0, ((gint) data_length) - 0); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + bindable_data = _tmp43_; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp44_ = photo; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp45_ = spit_publishing_publishable_get_serialized_file (_tmp44_); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp46_ = _tmp45_; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp47_ = g_file_get_path (_tmp46_); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp48_ = _tmp47_; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_multipart_append_form_file (message_parts, "", _tmp48_, "image/jpeg", bindable_data); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp48_); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (_tmp46_); +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_multipart_get_part (message_parts, image_part_num, &_tmp49_, &_tmp50_); +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + image_part_header = _tmp49_; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + image_part_body = _tmp50_; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp51_ = g_str_hash; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp52_ = g_str_equal; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp53_ = g_hash_table_new_full (_tmp51_, _tmp52_, _g_free0_, _g_free0_); +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _result_ = _tmp53_; +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp54_ = g_strdup ("name"); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp55_ = g_strdup ("image"); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_hash_table_insert (_result_, _tmp54_, _tmp55_); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp56_ = g_strdup ("filename"); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp57_ = g_strdup ("unused"); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_hash_table_insert (_result_, _tmp56_, _tmp57_); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_message_headers_set_content_disposition (image_part_header, "form-data", _result_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp58_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp59_ = _tmp58_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp60_ = soup_form_request_new_from_multipart (_tmp59_, message_parts); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp61_ = _tmp60_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp59_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + outbound_message = _tmp61_; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp62_ = outbound_message->request_headers; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp63_ = session; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp64_ = publishing_yandex_session_get_auth_token (_tmp63_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp65_ = _tmp64_; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp66_ = g_strdup_printf ("OAuth %s", _tmp65_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp67_ = _tmp66_; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_message_headers_append (_tmp62_, "Authorization", _tmp67_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp67_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp65_); +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp68_ = outbound_message->request_headers; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + soup_message_headers_append (_tmp68_, "Connection", "close"); +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_set_message (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), outbound_message); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (outbound_message); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_hash_table_unref0 (_result_); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (photo_data); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 2985 "YandexPublishing.c" +} + + +PublishingYandexUploadTransaction* publishing_yandex_upload_transaction_new (PublishingYandexSession* session, PublishingYandexPublishOptions* options, SpitPublishingPublishable* photo) { +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_upload_transaction_construct (PUBLISHING_YANDEX_TYPE_UPLOAD_TRANSACTION, session, options, photo); +#line 2992 "YandexPublishing.c" +} + + +static void publishing_yandex_upload_transaction_class_init (PublishingYandexUploadTransactionClass * klass) { +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_upload_transaction_parent_class = g_type_class_peek_parent (klass); +#line 2999 "YandexPublishing.c" +} + + +static void publishing_yandex_upload_transaction_instance_init (PublishingYandexUploadTransaction * self) { +} + + +GType publishing_yandex_upload_transaction_get_type (void) { + static volatile gsize publishing_yandex_upload_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_upload_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexUploadTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_upload_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexUploadTransaction), 0, (GInstanceInitFunc) publishing_yandex_upload_transaction_instance_init, NULL }; + GType publishing_yandex_upload_transaction_type_id; + publishing_yandex_upload_transaction_type_id = g_type_register_static (PUBLISHING_YANDEX_TYPE_TRANSACTION, "PublishingYandexUploadTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_yandex_upload_transaction_type_id__volatile, publishing_yandex_upload_transaction_type_id); + } + return publishing_yandex_upload_transaction_type_id__volatile; +} + + +PublishingYandexYandexPublisher* publishing_yandex_yandex_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingYandexYandexPublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingYandexSession* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + PublishingYandexPublishOptions* _tmp4_ = NULL; +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = (PublishingYandexYandexPublisher*) g_object_new (object_type, NULL); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = service; +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->service = _tmp0_; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = host; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->host = _tmp1_; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = publishing_yandex_session_new (); +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->session = _tmp2_; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = 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 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->album_list); +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->album_list = _tmp3_; +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = publishing_yandex_publish_options_new (); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_yandex_publish_options_unref0 (self->priv->options); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->options = _tmp4_; +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return self; +#line 3060 "YandexPublishing.c" +} + + +PublishingYandexYandexPublisher* publishing_yandex_yandex_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return publishing_yandex_yandex_publisher_construct (PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, service, host); +#line 3067 "YandexPublishing.c" +} + + +gchar* publishing_yandex_yandex_publisher_get_persistent_auth_token (PublishingYandexYandexPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self), NULL); +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->host; +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "auth_token", NULL); +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp1_; +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 3085 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_set_persistent_auth_token (PublishingYandexYandexPublisher* self, const gchar* auth_token) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (auth_token != NULL); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->host; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = auth_token; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "auth_token", _tmp1_); +#line 3102 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_invalidate_persistent_session (PublishingYandexYandexPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->host; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_host_interface_unset_config_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "auth_token"); +#line 3114 "YandexPublishing.c" +} + + +gboolean publishing_yandex_yandex_publisher_is_persistent_session_available (PublishingYandexYandexPublisher* self) { + gboolean result = FALSE; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self), FALSE); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = publishing_yandex_yandex_publisher_get_persistent_auth_token (self); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _tmp0_; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = _tmp1_ != NULL; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp1_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp2_; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 3137 "YandexPublishing.c" +} + + +static gboolean publishing_yandex_yandex_publisher_real_is_running (SpitPublishingPublisher* base) { + PublishingYandexYandexPublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisher); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->running; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp0_; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 3153 "YandexPublishing.c" +} + + +static SpitPublishingService* publishing_yandex_yandex_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingYandexYandexPublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisher); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->service; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = _tmp1_; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 3172 "YandexPublishing.c" +} + + +static gchar* publishing_yandex_yandex_publisher_check_response (PublishingYandexYandexPublisher* self, PublishingRESTSupportXmlDocument* doc) { + gchar* result = NULL; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self), NULL); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (doc), NULL); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + result = NULL; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 3186 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_parse_album_entry (PublishingYandexYandexPublisher* self, xmlNode* e, GError** error) { + gchar* title = NULL; + gchar* link = NULL; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + title = NULL; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + link = NULL; +#line 3199 "YandexPublishing.c" + { + xmlNode* c = NULL; + xmlNode* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = e; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _tmp0_->children; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + c = _tmp1_; +#line 3210 "YandexPublishing.c" + { + gboolean _tmp2_ = FALSE; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = TRUE; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + while (TRUE) { +#line 3217 "YandexPublishing.c" + xmlNode* _tmp5_ = NULL; + xmlNode* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gboolean _tmp10_ = FALSE; + xmlNode* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp18_ = FALSE; + const gchar* _tmp19_ = NULL; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!_tmp2_) { +#line 3228 "YandexPublishing.c" + xmlNode* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = c; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = _tmp3_->next; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + c = _tmp4_; +#line 3237 "YandexPublishing.c" + } +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = FALSE; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = c; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!(_tmp5_ != NULL)) { +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 3247 "YandexPublishing.c" + } +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = c; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = _tmp6_->name; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (g_strcmp0 (_tmp7_, "title") == 0) { +#line 3255 "YandexPublishing.c" + xmlNode* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = c; +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = (gchar*) xmlNodeGetContent (_tmp8_); +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (title); +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + title = _tmp9_; +#line 3266 "YandexPublishing.c" + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = c; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = _tmp11_->name; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (g_strcmp0 (_tmp12_, "link") == 0) { +#line 3274 "YandexPublishing.c" + xmlNode* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = c; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = (gchar*) xmlGetProp (_tmp13_, (xmlChar*) "rel"); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = _tmp14_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = g_strcmp0 (_tmp15_, "photos") == 0; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp15_); +#line 3288 "YandexPublishing.c" + } else { +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = FALSE; +#line 3292 "YandexPublishing.c" + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp10_) { +#line 3296 "YandexPublishing.c" + xmlNode* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = c; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = (gchar*) xmlGetProp (_tmp16_, (xmlChar*) "href"); +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (link); +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + link = _tmp17_; +#line 3307 "YandexPublishing.c" + } +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp19_ = title; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp19_ != NULL) { +#line 3313 "YandexPublishing.c" + const gchar* _tmp20_ = NULL; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = link; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp18_ = _tmp20_ != NULL; +#line 3319 "YandexPublishing.c" + } else { +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp18_ = FALSE; +#line 3323 "YandexPublishing.c" + } +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp18_) { +#line 3327 "YandexPublishing.c" + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + GeeHashMap* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp21_ = title; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp22_ = link; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:411: Added album: '%s', link: %s", _tmp21_, _tmp22_); +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp23_ = self->priv->album_list; +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp24_ = title; +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp25_ = link; +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_, _tmp25_); +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (title); +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + title = NULL; +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (link); +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + link = NULL; +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 3357 "YandexPublishing.c" + } + } + } + } +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (link); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (title); +#line 3366 "YandexPublishing.c" +} + + +static gchar* _publishing_yandex_yandex_publisher_check_response_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self) { + gchar* result; + result = publishing_yandex_yandex_publisher_check_response ((PublishingYandexYandexPublisher*) self, doc); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return result; +#line 3375 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_parse_album_creation (PublishingYandexYandexPublisher* self, const gchar* data, GError** error) { + PublishingRESTSupportXmlDocument* doc = NULL; + const gchar* _tmp0_ = NULL; + PublishingRESTSupportXmlDocument* _tmp1_ = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp2_ = NULL; + xmlNode* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (data != NULL); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = data; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_parse_string (_tmp0_, _publishing_yandex_yandex_publisher_check_response_publishing_rest_support_xml_document_check_for_error_response, self, &_inner_error_); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + doc = _tmp1_; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3406 "YandexPublishing.c" + } else { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3414 "YandexPublishing.c" + } + } +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = doc; +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = publishing_rest_support_xml_document_get_root_node (_tmp2_); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + root = _tmp3_; +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = root; +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_parse_album_entry (self, _tmp4_, &_inner_error_); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3437 "YandexPublishing.c" + } else { +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3447 "YandexPublishing.c" + } + } +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 3452 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_parse_album_list (PublishingYandexYandexPublisher* self, const gchar* data, GError** error) { + PublishingRESTSupportXmlDocument* doc = NULL; + const gchar* _tmp0_ = NULL; + PublishingRESTSupportXmlDocument* _tmp1_ = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp2_ = NULL; + xmlNode* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (data != NULL); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = data; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_parse_string (_tmp0_, _publishing_yandex_yandex_publisher_check_response_publishing_rest_support_xml_document_check_for_error_response, self, &_inner_error_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + doc = _tmp1_; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3482 "YandexPublishing.c" + } else { +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3490 "YandexPublishing.c" + } + } +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = doc; +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = publishing_rest_support_xml_document_get_root_node (_tmp2_); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + root = _tmp3_; +#line 3499 "YandexPublishing.c" + { + xmlNode* e = NULL; + xmlNode* _tmp4_ = NULL; + xmlNode* _tmp5_ = NULL; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = root; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_->children; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + e = _tmp5_; +#line 3510 "YandexPublishing.c" + { + gboolean _tmp6_ = FALSE; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = TRUE; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + while (TRUE) { +#line 3517 "YandexPublishing.c" + xmlNode* _tmp9_ = NULL; + xmlNode* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + xmlNode* _tmp12_ = NULL; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!_tmp6_) { +#line 3524 "YandexPublishing.c" + xmlNode* _tmp7_ = NULL; + xmlNode* _tmp8_ = NULL; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = e; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = _tmp7_->next; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + e = _tmp8_; +#line 3533 "YandexPublishing.c" + } +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = FALSE; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = e; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!(_tmp9_ != NULL)) { +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 3543 "YandexPublishing.c" + } +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = e; +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = _tmp10_->name; +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (g_strcmp0 (_tmp11_, "entry") != 0) { +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + continue; +#line 3553 "YandexPublishing.c" + } +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = e; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_parse_album_entry (self, _tmp12_, &_inner_error_); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3569 "YandexPublishing.c" + } else { +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3579 "YandexPublishing.c" + } + } + } + } + } +#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 3587 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_album_creation_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_album_creation_complete ((PublishingYandexYandexPublisher*) self, _sender); +#line 3594 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_album_creation_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_album_creation_error ((PublishingYandexYandexPublisher*) self, _sender, err); +#line 3601 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_album_creation_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (t)); +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = t; +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_album_creation_complete_publishing_rest_support_transaction_completed, self); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = t; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_album_creation_error_publishing_rest_support_transaction_network_error, self); +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = err; +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_->message; +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_warning ("YandexPublishing.vala:443: Album creation error: %s", _tmp5_); +#line 3634 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_album_creation_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GeeHashMap* _tmp9_ = NULL; + PublishingYandexPublishOptions* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + GError * _inner_error_ = NULL; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (t)); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = t; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_album_creation_complete_publishing_rest_support_transaction_completed, self); +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = t; +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_album_creation_error_publishing_rest_support_transaction_network_error, self); +#line 3666 "YandexPublishing.c" + { + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = t; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = _tmp5_; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_parse_album_creation (self, _tmp6_, &_inner_error_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp6_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3685 "YandexPublishing.c" + goto __catch42_spit_publishing_publishing_error; + } +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3694 "YandexPublishing.c" + } + } + goto __finally42; + __catch42_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + err = _inner_error_; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = self->priv->host; +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = err; +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (err); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3717 "YandexPublishing.c" + } + __finally42: +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3728 "YandexPublishing.c" + } +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = self->priv->album_list; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = self->priv->options; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = _tmp10_->destination_album; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = (gchar*) _tmp12_; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = _tmp13_ != NULL; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp13_); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp14_) { +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_start_upload (self); +#line 3748 "YandexPublishing.c" + } else { + SpitPublishingPluginHost* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + GError* _tmp17_ = NULL; +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = self->priv->host; +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_PROTOCOL_ERROR, "Server did not create album"); +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = _tmp16_; +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp15_, _tmp17_); +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (_tmp17_); +#line 3763 "YandexPublishing.c" + } +} + + +static void publishing_yandex_yandex_publisher_create_destination_album (PublishingYandexYandexPublisher* self) { + gchar* album = NULL; + PublishingYandexPublishOptions* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* data = NULL; + gchar* _tmp3_ = NULL; + PublishingYandexTransaction* t = NULL; + PublishingYandexSession* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PublishingYandexTransaction* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->options; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _tmp0_->destination_album; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + album = _tmp2_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = g_strdup_printf ("" \ +"%s", album); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + data = _tmp3_; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = self->priv->session; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = self->priv->service_url; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = publishing_yandex_transaction_new_with_url (_tmp4_, _tmp5_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + t = _tmp6_; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_transaction_add_data (t, "application/atom+xml; charset=utf-8; type=entry", data); +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_yandex_yandex_publisher_album_creation_complete_publishing_rest_support_transaction_completed, self, 0); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_yandex_yandex_publisher_album_creation_error_publishing_rest_support_transaction_network_error, self, 0); +#line 3808 "YandexPublishing.c" + { +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3816 "YandexPublishing.c" + goto __catch43_spit_publishing_publishing_error; + } +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (data); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (album); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3831 "YandexPublishing.c" + } + } + goto __finally43; + __catch43_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + err = _inner_error_; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = self->priv->host; +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = err; +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (err); +#line 3852 "YandexPublishing.c" + } + __finally43: +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (data); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (album); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 3869 "YandexPublishing.c" + } +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (data); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (album); +#line 3877 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_on_upload_complete ((PublishingYandexYandexPublisher*) self, _sender, num_photos_published); +#line 3884 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_on_upload_error ((PublishingYandexYandexPublisher*) self, _sender, err); +#line 3891 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_on_upload_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gint _tmp4_ = 0; + SpitPublishingPluginHost* _tmp8_ = NULL; + SpitPublishingPluginHost* _tmp9_ = NULL; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = uploader; +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = uploader; +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = num_published; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp4_ == 0) { +#line 3923 "YandexPublishing.c" + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = self->priv->host; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, ""); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = _tmp6_; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp7_); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (_tmp7_); +#line 3937 "YandexPublishing.c" + } +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = self->priv->host; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp8_, FALSE); +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = self->priv->host; +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp9_); +#line 3947 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_on_upload_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = uploader; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = uploader; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = err; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_->message; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_warning ("YandexPublishing.vala:497: Photo upload error: %s", _tmp5_); +#line 3980 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_on_upload_status_updated (PublishingYandexYandexPublisher* self, gint file_number, gdouble completed_fraction) { + gdouble _tmp0_ = 0.0; + SpitPublishingProgressCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = completed_fraction; +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:501: EVENT: uploader reports upload %.2f percent" \ +" complete.", 100.0 * _tmp0_); +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = self->priv->progress_reporter; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1__target = self->priv->progress_reporter_target; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _vala_assert (_tmp1_ != NULL, "progress_reporter != null"); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = self->priv->progress_reporter; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = file_number; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = completed_fraction; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ (_tmp3_, _tmp4_, _tmp2__target); +#line 4014 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_on_upload_status_updated ((PublishingYandexYandexPublisher*) self, file_number, fraction_complete); +#line 4021 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_start_upload (PublishingYandexYandexPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + void* _tmp2_ = NULL; + GDestroyNotify _tmp3_ = NULL; + SpitPublishingProgressCallback _tmp4_ = NULL; + PublishingYandexPublishOptions* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + PublishingYandexPublishOptions* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + gint _tmp11_ = 0; + SpitPublishingPublishable** _tmp12_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + PublishingYandexUploader* uploader = NULL; + PublishingYandexSession* _tmp13_ = NULL; + PublishingYandexPublishOptions* _tmp14_ = NULL; + PublishingYandexUploader* _tmp15_ = NULL; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->host; +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = self->priv->host; +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = spit_publishing_plugin_host_serialize_publishables (_tmp1_, 0, FALSE, &_tmp2_, &_tmp3_); +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter = NULL; +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter = _tmp4_; +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter_target = _tmp2_; +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp3_; +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = self->priv->options; +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = self->priv->album_list; +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = self->priv->options; +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = _tmp7_->destination_album; +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_); +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp5_->destination_album_url); +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_->destination_album_url = (gchar*) _tmp9_; +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = self->priv->host; +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = spit_publishing_plugin_host_get_publishables (_tmp10_, &_tmp11_); +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishables = _tmp12_; +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishables_length1 = _tmp11_; +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishables_size_ = publishables_length1; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = self->priv->session; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = self->priv->options; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = publishing_yandex_uploader_new (_tmp13_, _tmp14_, publishables, publishables_length1); +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + uploader = _tmp15_; +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_yandex_yandex_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_yandex_yandex_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_yandex_yandex_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 4112 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_on_logout (PublishingYandexYandexPublisher* self) { + gboolean _tmp0_ = FALSE; + PublishingYandexSession* _tmp1_ = NULL; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 523 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!_tmp0_) { +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4127 "YandexPublishing.c" + } +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = self->priv->session; +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_session_deauthenticate (_tmp1_); +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_invalidate_persistent_session (self); +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->running = FALSE; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_publisher_start (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 4139 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_on_publish (PublishingYandexYandexPublisher* self) { + PublishingYandexPublishOptions* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + PublishingYandexPublishOptions* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + PublishingYandexPublishOptions* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 534 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->options; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _tmp0_->destination_album; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = self->priv->album_list; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = self->priv->options; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = _tmp3_->destination_album; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = (gchar*) _tmp5_; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:535: Going to publish to '%s' : %s", _tmp1_, _tmp6_); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp6_); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = self->priv->album_list; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = self->priv->options; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = _tmp8_->destination_album; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = (gchar*) _tmp10_; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = _tmp11_ == NULL; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp11_); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp12_) { +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_create_destination_album (self); +#line 4195 "YandexPublishing.c" + } else { +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_start_upload (self); +#line 4199 "YandexPublishing.c" + } +} + + +static void _publishing_yandex_yandex_publisher_service_get_album_list_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_service_get_album_list_complete ((PublishingYandexYandexPublisher*) self, _sender); +#line 4207 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_service_get_album_list_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_service_get_album_list_error ((PublishingYandexYandexPublisher*) self, _sender, err); +#line 4214 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_service_get_album_list_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (t)); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = t; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_service_get_album_list_complete_publishing_rest_support_transaction_completed, self); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = t; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_service_get_album_list_error_publishing_rest_support_transaction_network_error, self); +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_invalidate_persistent_session (self); +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = err; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_->message; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_warning ("YandexPublishing.vala:547: Failed to get album list: %s", _tmp5_); +#line 4249 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_on_publish_publishing_yandex_publishing_options_pane_publish (PublishingYandexPublishingOptionsPane* _sender, gpointer self) { +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_on_publish ((PublishingYandexYandexPublisher*) self); +#line 4256 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_on_logout_publishing_yandex_publishing_options_pane_logout (PublishingYandexPublishingOptionsPane* _sender, gpointer self) { +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_on_logout ((PublishingYandexYandexPublisher*) self); +#line 4263 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_service_get_album_list_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingYandexPublishingOptionsPane* publishing_options_pane = NULL; + PublishingYandexPublishOptions* _tmp12_ = NULL; + GeeHashMap* _tmp13_ = NULL; + SpitPublishingPluginHost* _tmp14_ = NULL; + PublishingYandexPublishingOptionsPane* _tmp15_ = NULL; + SpitPublishingPluginHost* _tmp16_ = NULL; + GError * _inner_error_ = NULL; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (t)); +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = t; +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_service_get_album_list_complete_publishing_rest_support_transaction_completed, self); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = t; +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_service_get_album_list_error_publishing_rest_support_transaction_network_error, self); +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = t; +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = _tmp5_; +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:554: service_get_album_list_complete: %s", _tmp6_); +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp6_); +#line 4308 "YandexPublishing.c" + { + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = t; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = _tmp8_; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_parse_album_list (self, _tmp9_, &_inner_error_); +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp9_); +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4327 "YandexPublishing.c" + goto __catch44_spit_publishing_publishing_error; + } +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4336 "YandexPublishing.c" + } + } + goto __finally44; + __catch44_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + GError* _tmp11_ = NULL; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + err = _inner_error_; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = self->priv->host; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = err; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp10_, _tmp11_); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (err); +#line 4357 "YandexPublishing.c" + } + __finally44: +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4368 "YandexPublishing.c" + } +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = self->priv->options; +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = self->priv->album_list; +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = self->priv->host; +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = publishing_yandex_publishing_options_pane_new (_tmp12_, _tmp13_, _tmp14_); +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_options_pane = _tmp15_; +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (publishing_options_pane, "publish", (GCallback) _publishing_yandex_yandex_publisher_on_publish_publishing_yandex_publishing_options_pane_publish, self, 0); +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (publishing_options_pane, "logout", (GCallback) _publishing_yandex_yandex_publisher_on_logout_publishing_yandex_publishing_options_pane_logout, self, 0); +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = self->priv->host; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (publishing_options_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (publishing_options_pane); +#line 4390 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_service_get_album_list (PublishingYandexYandexPublisher* self, const gchar* url) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PublishingYandexTransaction* t = NULL; + PublishingYandexSession* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + PublishingYandexTransaction* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (url != NULL); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = url; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->priv->service_url); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->service_url = _tmp1_; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = self->priv->session; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = url; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = publishing_yandex_transaction_new_with_url (_tmp2_, _tmp3_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + t = _tmp4_; +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_yandex_yandex_publisher_service_get_album_list_complete_publishing_rest_support_transaction_completed, self, 0); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_yandex_yandex_publisher_service_get_album_list_error_publishing_rest_support_transaction_network_error, self, 0); +#line 4426 "YandexPublishing.c" + { +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4434 "YandexPublishing.c" + goto __catch45_spit_publishing_publishing_error; + } +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4445 "YandexPublishing.c" + } + } + goto __finally45; + __catch45_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + err = _inner_error_; +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = self->priv->host; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = err; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp6_); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (err); +#line 4466 "YandexPublishing.c" + } + __finally45: +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4479 "YandexPublishing.c" + } +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 4483 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_fetch_account_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_fetch_account_complete ((PublishingYandexYandexPublisher*) self, _sender); +#line 4490 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_fetch_account_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_fetch_account_error ((PublishingYandexYandexPublisher*) self, _sender, err); +#line 4497 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_fetch_account_error (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (t)); +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = t; +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_fetch_account_complete_publishing_rest_support_transaction_completed, self); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = t; +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_fetch_account_error_publishing_rest_support_transaction_network_error, self); +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = err; +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_->message; +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_warning ("YandexPublishing.vala:587: Failed to fetch account info: %s", _tmp5_); +#line 4530 "YandexPublishing.c" +} + + +void publishing_yandex_yandex_publisher_fetch_account_complete (PublishingYandexYandexPublisher* self, PublishingRESTSupportTransaction* t) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (t)); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = t; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_fetch_account_complete_publishing_rest_support_transaction_completed, self); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = t; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_yandex_yandex_publisher_fetch_account_error_publishing_rest_support_transaction_network_error, self); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = t; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = _tmp5_; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:594: account info: %s", _tmp6_); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp6_); +#line 4569 "YandexPublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingRESTSupportXmlDocument* _tmp10_ = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = t; +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp8_ = publishing_rest_support_transaction_get_response (_tmp7_); +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp9_ = _tmp8_; +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_parse_string (_tmp9_, _publishing_yandex_yandex_publisher_check_response_publishing_rest_support_xml_document_check_for_error_response, self, &_inner_error_); +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp11_ = _tmp10_; +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp9_); +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + doc = _tmp11_; +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4598 "YandexPublishing.c" + goto __catch46_spit_publishing_publishing_error; + } +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4607 "YandexPublishing.c" + } +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp12_ = doc; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp13_ = publishing_rest_support_xml_document_get_root_node (_tmp12_); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + root = _tmp13_; +#line 4615 "YandexPublishing.c" + { + xmlNode* work = NULL; + xmlNode* _tmp14_ = NULL; + xmlNode* _tmp15_ = NULL; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp14_ = root; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp15_ = _tmp14_->children; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + work = _tmp15_; +#line 4626 "YandexPublishing.c" + { + gboolean _tmp16_ = FALSE; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = TRUE; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + while (TRUE) { +#line 4633 "YandexPublishing.c" + xmlNode* _tmp19_ = NULL; + xmlNode* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!_tmp16_) { +#line 4639 "YandexPublishing.c" + xmlNode* _tmp17_ = NULL; + xmlNode* _tmp18_ = NULL; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp17_ = work; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp18_ = _tmp17_->next; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + work = _tmp18_; +#line 4648 "YandexPublishing.c" + } +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp16_ = FALSE; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp19_ = work; +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!(_tmp19_ != NULL)) { +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 4658 "YandexPublishing.c" + } +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp20_ = work; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp21_ = _tmp20_->name; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (g_strcmp0 (_tmp21_, "workspace") != 0) { +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + continue; +#line 4668 "YandexPublishing.c" + } + { + xmlNode* c = NULL; + xmlNode* _tmp22_ = NULL; + xmlNode* _tmp23_ = NULL; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp22_ = work; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp23_ = _tmp22_->children; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + c = _tmp23_; +#line 4680 "YandexPublishing.c" + { + gboolean _tmp24_ = FALSE; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp24_ = TRUE; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + while (TRUE) { +#line 4687 "YandexPublishing.c" + xmlNode* _tmp27_ = NULL; + xmlNode* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + xmlNode* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!_tmp24_) { +#line 4697 "YandexPublishing.c" + xmlNode* _tmp25_ = NULL; + xmlNode* _tmp26_ = NULL; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp25_ = c; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp26_ = _tmp25_->next; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + c = _tmp26_; +#line 4706 "YandexPublishing.c" + } +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp24_ = FALSE; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp27_ = c; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (!(_tmp27_ != NULL)) { +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 4716 "YandexPublishing.c" + } +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp28_ = c; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp29_ = _tmp28_->name; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (g_strcmp0 (_tmp29_, "collection") != 0) { +#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + continue; +#line 4726 "YandexPublishing.c" + } +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp30_ = c; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp31_ = (gchar*) xmlGetProp (_tmp30_, (xmlChar*) "id"); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp32_ = _tmp31_; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp33_ = g_strcmp0 (_tmp32_, "album-list") == 0; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp32_); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp33_) { +#line 4740 "YandexPublishing.c" + gchar* url = NULL; + xmlNode* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + PublishingYandexSession* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp34_ = c; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp35_ = (gchar*) xmlGetProp (_tmp34_, (xmlChar*) "href"); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + url = _tmp35_; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp36_ = self->priv->session; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp37_ = publishing_yandex_session_get_auth_token (_tmp36_); +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp38_ = _tmp37_; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_set_persistent_auth_token (self, _tmp38_); +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp38_); +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp39_ = url; +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_service_get_album_list (self, _tmp39_); +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (url); +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + break; +#line 4772 "YandexPublishing.c" + } + } + } + } + } + } + } +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 4782 "YandexPublishing.c" + } + goto __finally46; + __catch46_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp40_ = NULL; + GError* _tmp41_ = NULL; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + err = _inner_error_; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp40_ = self->priv->host; +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp41_ = err; +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp40_, _tmp41_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (err); +#line 4802 "YandexPublishing.c" + } + __finally46: +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4813 "YandexPublishing.c" + } +} + + +void publishing_yandex_yandex_publisher_fetch_account_information (PublishingYandexYandexPublisher* self, const gchar* auth_token) { + PublishingYandexSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingYandexTransaction* t = NULL; + PublishingYandexSession* _tmp2_ = NULL; + PublishingYandexTransaction* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (auth_token != NULL); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->session; +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = auth_token; +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_session_set_auth_token (_tmp0_, _tmp1_); +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = self->priv->session; +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = publishing_yandex_transaction_new_with_url (_tmp2_, "http://api-fotki.yandex.ru/api/me/", PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + t = _tmp3_; +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_yandex_yandex_publisher_fetch_account_complete_publishing_rest_support_transaction_completed, self, 0); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_yandex_yandex_publisher_fetch_account_error_publishing_rest_support_transaction_network_error, self, 0); +#line 4845 "YandexPublishing.c" + { +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (t, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4853 "YandexPublishing.c" + goto __catch47_spit_publishing_publishing_error; + } +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.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 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4864 "YandexPublishing.c" + } + } + goto __finally47; + __catch47_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + err = _inner_error_; +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _inner_error_ = NULL; +#line 630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = self->priv->host; +#line 630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = err; +#line 630 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp5_); +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_error_free0 (err); +#line 4885 "YandexPublishing.c" + } + __finally47: +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_clear_error (&_inner_error_); +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 4898 "YandexPublishing.c" + } +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_transaction_unref0 (t); +#line 4902 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_web_auth_login_succeeded (PublishingYandexYandexPublisher* self, const gchar* access_token) { + const gchar* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (access_token != NULL); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = access_token; +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:635: login succeeded with token %s", _tmp0_); +#line 637 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = self->priv->host; +#line 637 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, TRUE); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = self->priv->host; +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp2_); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = access_token; +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_fetch_account_information (self, _tmp3_); +#line 4931 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_web_auth_login_failed (PublishingYandexYandexPublisher* self) { +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 644 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:644: login failed"); +#line 4940 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_web_auth_login_succeeded_publishing_yandex_web_auth_pane_login_succeeded (PublishingYandexWebAuthPane* _sender, const gchar* success_url, gpointer self) { +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_web_auth_login_succeeded ((PublishingYandexYandexPublisher*) self, success_url); +#line 4947 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_web_auth_login_failed_publishing_yandex_web_auth_pane_login_failed (PublishingYandexWebAuthPane* _sender, gpointer self) { +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_web_auth_login_failed ((PublishingYandexYandexPublisher*) self); +#line 4954 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_start_web_auth (PublishingYandexYandexPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PublishingYandexWebAuthPane* _tmp3_ = NULL; + PublishingYandexWebAuthPane* _tmp4_ = NULL; + PublishingYandexWebAuthPane* _tmp5_ = NULL; + SpitPublishingPluginHost* _tmp6_ = NULL; + PublishingYandexWebAuthPane* _tmp7_ = NULL; +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->host; +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = g_strdup_printf ("http://oauth.yandex.ru/authorize?client_id=%s&response_type=token", PUBLISHING_YANDEX_client_id); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = _tmp1_; +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = publishing_yandex_web_auth_pane_new (_tmp2_); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->web_auth_pane); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->web_auth_pane = _tmp3_; +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp2_); +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = self->priv->web_auth_pane; +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (_tmp4_, "login-succeeded", (GCallback) _publishing_yandex_yandex_publisher_web_auth_login_succeeded_publishing_yandex_web_auth_pane_login_succeeded, self, 0); +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = self->priv->web_auth_pane; +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_signal_connect_object (_tmp5_, "login-failed", (GCallback) _publishing_yandex_yandex_publisher_web_auth_login_failed_publishing_yandex_web_auth_pane_login_failed, self, 0); +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = self->priv->host; +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = self->priv->web_auth_pane; +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 4999 "YandexPublishing.c" +} + + +static void _publishing_yandex_yandex_publisher_start_web_auth_spit_publishing_login_callback (gpointer self) { +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_start_web_auth ((PublishingYandexYandexPublisher*) self); +#line 5006 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_show_welcome_page (PublishingYandexYandexPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_return_if_fail (PUBLISHING_YANDEX_IS_YANDEX_PUBLISHER (self)); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = self->priv->host; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = _ ("You are not currently logged into Yandex.Fotki."); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + spit_publishing_plugin_host_install_welcome_pane (_tmp0_, _tmp1_, _publishing_yandex_yandex_publisher_start_web_auth_spit_publishing_login_callback, self); +#line 5021 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_real_start (SpitPublishingPublisher* base) { + PublishingYandexYandexPublisher * self; + gboolean _tmp0_ = FALSE; + SpitPublishingPluginHost* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisher); +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp0_) { +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + return; +#line 5038 "YandexPublishing.c" + } +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp1_ = self->priv->host; +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp1_ == NULL) { +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_error ("YandexPublishing.vala:667: YandexPublisher: start( ): can't start; thi" \ +"s publisher is not restartable."); +#line 5046 "YandexPublishing.c" + } +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:669: YandexPublisher: starting interaction."); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->running = TRUE; +#line 673 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp2_ = publishing_yandex_yandex_publisher_is_persistent_session_available (self); +#line 673 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + if (_tmp2_) { +#line 5056 "YandexPublishing.c" + PublishingYandexSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp3_ = self->priv->session; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp4_ = publishing_yandex_yandex_publisher_get_persistent_auth_token (self); +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp5_ = _tmp4_; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_session_set_auth_token (_tmp3_, _tmp5_); +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp5_); +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp6_ = publishing_yandex_yandex_publisher_get_persistent_auth_token (self); +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _tmp7_ = _tmp6_; +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_fetch_account_information (self, _tmp7_); +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (_tmp7_); +#line 5080 "YandexPublishing.c" + } else { +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_show_welcome_page (self); +#line 5084 "YandexPublishing.c" + } +} + + +static void publishing_yandex_yandex_publisher_real_stop (SpitPublishingPublisher* base) { + PublishingYandexYandexPublisher * self; +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisher); +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_debug ("YandexPublishing.vala:683: YandexPublisher: stop( ) invoked."); +#line 685 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->host = NULL; +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->running = FALSE; +#line 5099 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_class_init (PublishingYandexYandexPublisherClass * klass) { +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_parent_class = g_type_class_peek_parent (klass); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYandexYandexPublisherPrivate)); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_yandex_yandex_publisher_finalize; +#line 5110 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + publishing_yandex_yandex_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_yandex_yandex_publisher_real_is_running; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_yandex_yandex_publisher_real_get_service; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_yandex_yandex_publisher_real_start; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_yandex_yandex_publisher_real_stop; +#line 5125 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_instance_init (PublishingYandexYandexPublisher * self) { +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv = PUBLISHING_YANDEX_YANDEX_PUBLISHER_GET_PRIVATE (self); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->host = NULL; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter = NULL; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->service = NULL; +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->service_url = NULL; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->album_list = NULL; +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->running = FALSE; +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->web_auth_pane = NULL; +#line 5146 "YandexPublishing.c" +} + + +static void publishing_yandex_yandex_publisher_finalize (GObject* obj) { + PublishingYandexYandexPublisher * self; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YANDEX_TYPE_YANDEX_PUBLISHER, PublishingYandexYandexPublisher); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter = NULL; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_free0 (self->priv->service_url); +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->album_list); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_yandex_publish_options_unref0 (self->priv->options); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _g_object_unref0 (self->priv->web_auth_pane); +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/YandexPublishing.vala" + G_OBJECT_CLASS (publishing_yandex_yandex_publisher_parent_class)->finalize (obj); +#line 5174 "YandexPublishing.c" +} + + +GType publishing_yandex_yandex_publisher_get_type (void) { + static volatile gsize publishing_yandex_yandex_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_yandex_yandex_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYandexYandexPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_yandex_yandex_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYandexYandexPublisher), 0, (GInstanceInitFunc) publishing_yandex_yandex_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_yandex_yandex_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_yandex_yandex_publisher_type_id; + publishing_yandex_yandex_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingYandexYandexPublisher", &g_define_type_info, 0); + g_type_add_interface_static (publishing_yandex_yandex_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_yandex_yandex_publisher_type_id__volatile, publishing_yandex_yandex_publisher_type_id); + } + return publishing_yandex_yandex_publisher_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/plugins/shotwell-publishing-extras/YandexPublishing.vala b/plugins/shotwell-publishing-extras/YandexPublishing.vala index 6504572..2ee67cf 100644 --- a/plugins/shotwell-publishing-extras/YandexPublishing.vala +++ b/plugins/shotwell-publishing-extras/YandexPublishing.vala @@ -238,11 +238,10 @@ internal class PublishingOptionsPane: Spit.Publishing.DialogPane, GLib.Object { box = new Gtk.Box(Gtk.Orientation.VERTICAL, 0); - File ui_file = host.get_module_file().get_parent().get_child("yandex_publish_model.glade"); - try { builder = new Gtk.Builder(); - builder.add_from_file(ui_file.get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + "/yandex_publish_model.ui"); + builder.connect_signals(null); Gtk.Alignment align = builder.get_object("alignment") as Gtk.Alignment; diff --git a/plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade b/plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade deleted file mode 100644 index 43eb422..0000000 --- a/plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade +++ /dev/null @@ -1,245 +0,0 @@ - - - - - Go _Back - - - _Login - - - True - False - - - True - False - 15 - Intro message replaced at runtime - True - True - - - 0 - 0 - 5 - 1 - - - - - True - False - 30 - _Gallery3 URL: - True - url_entry - - - 0 - 1 - 1 - 1 - - - - - True - True - True - 30 - - - - 1 - 1 - 4 - 1 - - - - - True - False - _User name: - True - username_entry - - - 2 - 2 - 1 - 1 - - - - - True - False - _Password: - True - password_entry - - - 2 - 3 - 1 - 1 - - - - - True - True - - - - 3 - 2 - 1 - 1 - - - - - True - True - False - - True - - - 3 - 3 - 1 - 1 - - - - - True - False - 30 - - - Go _Back - go_back_action - 102 - True - True - True - center - center - True - True - - - 0 - 0 - 1 - 1 - - - - - _Login - login_action - 102 - True - True - True - True - True - True - center - center - True - True - - - 1 - 0 - 1 - 1 - - - - - 0 - 6 - 5 - 1 - - - - - True - False - API _Key: - True - key_entry - - - 2 - 5 - 1 - 1 - - - - - True - True - - True - 33 - - - 3 - 5 - 1 - 1 - - - - - True - False - or - - - 0 - 4 - 5 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui b/plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui new file mode 100644 index 0000000..dc8b373 --- /dev/null +++ b/plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui @@ -0,0 +1,245 @@ + + + + + Go _Back + + + _Login + + + True + False + + + True + False + 15 + Intro message replaced at runtime + True + True + + + 0 + 0 + 5 + 1 + + + + + True + False + 30 + _Gallery3 URL: + True + url_entry + + + 0 + 1 + 1 + 1 + + + + + True + True + True + 30 + + + + 1 + 1 + 4 + 1 + + + + + True + False + _User name: + True + username_entry + + + 2 + 2 + 1 + 1 + + + + + True + False + _Password: + True + password_entry + + + 2 + 3 + 1 + 1 + + + + + True + True + + + + 3 + 2 + 1 + 1 + + + + + True + True + False + + True + + + 3 + 3 + 1 + 1 + + + + + True + False + 30 + + + Go _Back + go_back_action + 102 + True + True + True + center + center + True + True + + + 0 + 0 + 1 + 1 + + + + + _Login + login_action + 102 + True + True + True + True + True + True + center + center + True + True + + + 1 + 0 + 1 + 1 + + + + + 0 + 6 + 5 + 1 + + + + + True + False + API _Key: + True + key_entry + + + 2 + 5 + 1 + 1 + + + + + True + True + + True + 33 + + + 3 + 5 + 1 + 1 + + + + + True + False + or + + + 0 + 4 + 5 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade b/plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade deleted file mode 100644 index 17e3569..0000000 --- a/plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade +++ /dev/null @@ -1,282 +0,0 @@ - - - - - _Logout - - - _Publish - - - A _new album - True - 1 - 1 - - - An _existing album - True - publish_new_radioaction - - - _Remove location, tag and camera-identifying data before uploading - - - True - False - - - True - False - 0.30000001192092896 - 16 - 'Publishing to $url as $username' (populated in application code) - - - 0 - 0 - 2 - 1 - - - - - True - False - 16 - True - 8 - 32 - True - - - publish_to_existing_radioaction - True - True - False - 0 - True - publish_new_radio - - - 0 - 0 - 1 - 1 - - - - - True - False - 0 - 1 - - - 1 - 0 - 1 - 1 - - - - - publish_new_radioaction - True - True - False - 0 - True - - - 0 - 1 - 1 - 1 - - - - - True - True - - - - 1 - 1 - 1 - 1 - - - - - strip_metadata_toggleaction - True - True - False - center - 16 - True - 0 - True - - - 0 - 5 - 2 - 1 - - - - - True - False - start - Scaling constraint: - - - 0 - 3 - 1 - 1 - - - - - True - False - 5 - - - True - False - pixels - - - 1 - 0 - 1 - 1 - - - - - True - False - True - True - - True - False - number - - - 0 - 0 - 1 - 1 - - - - - 1 - 4 - 1 - 1 - - - - - True - False - 0 - 1 - - Original size - Width or height - - - - 1 - 3 - 1 - 1 - - - - - True - False - 5 - 5 - - - 0 - 2 - 2 - 1 - - - - - - - - 0 - 1 - 2 - 1 - - - - - True - False - 112 - 112 - 48 - 24 - True - 128 - True - - - logout_action - True - True - True - - - 0 - 0 - 1 - 1 - - - - - publish_action - True - True - True - True - True - True - - - 1 - 0 - 1 - 1 - - - - - 0 - 2 - 2 - 1 - - - - diff --git a/plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui b/plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui new file mode 100644 index 0000000..fc2824f --- /dev/null +++ b/plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui @@ -0,0 +1,282 @@ + + + + + _Logout + + + _Publish + + + A _new album + True + 1 + 1 + + + An _existing album + True + publish_new_radioaction + + + _Remove location, tag and camera-identifying data before uploading + + + True + False + + + True + False + 0.30000001192092896 + 16 + 'Publishing to $url as $username' (populated in application code) + + + 0 + 0 + 2 + 1 + + + + + True + False + 16 + True + 8 + 32 + True + + + publish_to_existing_radioaction + True + True + False + 0 + True + publish_new_radio + + + 0 + 0 + 1 + 1 + + + + + True + False + 0 + 1 + + + 1 + 0 + 1 + 1 + + + + + publish_new_radioaction + True + True + False + 0 + True + + + 0 + 1 + 1 + 1 + + + + + True + True + + + + 1 + 1 + 1 + 1 + + + + + strip_metadata_toggleaction + True + True + False + center + 16 + True + 0 + True + + + 0 + 5 + 2 + 1 + + + + + True + False + start + Scaling constraint: + + + 0 + 3 + 1 + 1 + + + + + True + False + 5 + + + True + False + pixels + + + 1 + 0 + 1 + 1 + + + + + True + False + True + True + + True + False + number + + + 0 + 0 + 1 + 1 + + + + + 1 + 4 + 1 + 1 + + + + + True + False + 0 + 1 + + Original size + Width or height + + + + 1 + 3 + 1 + 1 + + + + + True + False + 5 + 5 + + + 0 + 2 + 2 + 1 + + + + + + + + 0 + 1 + 2 + 1 + + + + + True + False + 112 + 112 + 48 + 24 + True + 128 + True + + + logout_action + True + True + True + + + 0 + 0 + 1 + 1 + + + + + publish_action + True + True + True + True + True + True + + + 1 + 0 + 1 + 1 + + + + + 0 + 2 + 2 + 1 + + + + diff --git a/plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml b/plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml new file mode 100644 index 0000000..ab8a367 --- /dev/null +++ b/plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml @@ -0,0 +1,15 @@ + + + + gallery3.png + rajce.png + tumblr.png + gallery3_authentication_pane.ui + gallery3_publishing_options_pane.ui + rajce_authentication_pane.ui + rajce_publishing_options_pane.ui + tumblr_authentication_pane.ui + tumblr_publishing_options_pane.ui + yandex_publish_model.ui + + diff --git a/plugins/shotwell-publishing-extras/rajce_authentication_pane.glade b/plugins/shotwell-publishing-extras/rajce_authentication_pane.glade deleted file mode 100644 index 61f6c69..0000000 --- a/plugins/shotwell-publishing-extras/rajce_authentication_pane.glade +++ /dev/null @@ -1,150 +0,0 @@ - - - - - False - - - True - False - 0.5 - 0.5 - - - True - False - 30 - 30 - True - 8 - - - True - False - True - True - 0 - label - True - - - False - True - 0 - - - - - True - False - 2 - 2 - 8 - 2 - - - True - False - 0 - _Email address - True - username_entry - - - - - True - False - 0 - _Password - True - password_entry - - - 1 - 2 - - - - - True - True - - - - 1 - 2 - - - - - True - True - False - - True - - - 1 - 2 - 1 - 2 - - - - - True - True - 1 - - - - - _Remember - False - True - True - False - False - True - 0 - True - - - True - True - 2 - - - - - True - False - - - Login - False - True - True - True - False - - - False - False - 0 - - - - - True - True - 3 - - - - - - - - diff --git a/plugins/shotwell-publishing-extras/rajce_authentication_pane.ui b/plugins/shotwell-publishing-extras/rajce_authentication_pane.ui new file mode 100644 index 0000000..72ac53c --- /dev/null +++ b/plugins/shotwell-publishing-extras/rajce_authentication_pane.ui @@ -0,0 +1,150 @@ + + + + + False + + + True + False + 0.5 + 0.5 + + + True + False + 30 + 30 + True + 8 + + + True + False + True + True + 0 + label + True + + + False + True + 0 + + + + + True + False + 2 + 2 + 8 + 2 + + + True + False + 0 + _Email address + True + username_entry + + + + + True + False + 0 + _Password + True + password_entry + + + 1 + 2 + + + + + True + True + + + + 1 + 2 + + + + + True + True + False + + True + + + 1 + 2 + 1 + 2 + + + + + True + True + 1 + + + + + _Remember + False + True + True + False + False + True + 0 + True + + + True + True + 2 + + + + + True + False + + + Login + False + True + True + True + False + + + False + False + 0 + + + + + True + True + 3 + + + + + + + + diff --git a/plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade b/plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade deleted file mode 100644 index c6b992c..0000000 --- a/plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade +++ /dev/null @@ -1,275 +0,0 @@ - - - - - True - False - vertical - 1 - - - - - - True - False - center - 36 - 36 - 24 - 24 - 12 - - - True - False - center - you are logged in rajce as $name - - - False - True - 4 - 0 - - - - - _Logout - False - 64 - 24 - True - True - True - center - True - True - False - True - - - False - True - 1 - - - - - False - True - 1 - - - - - True - False - 16 - 16 - vertical - - - - - - True - False - 1 - 8 - - - 320 - True - False - 0 - 1 - - - 1 - 1 - 1 - 1 - - - - - 320 - True - True - - - - 1 - 2 - 1 - 1 - - - - - An _existing album: - False - True - True - False - start - 4 - 4 - False - True - 0 - True - True - create_new_radio - - - 0 - 1 - 1 - 1 - - - - - A _new album named: - False - True - True - False - start - 4 - 4 - False - True - 0 - 0.47999998927116394 - True - True - - - 0 - 2 - 1 - 1 - - - - - _Hide album - False - True - True - False - False - True - 0 - True - - - 1 - 3 - 1 - 1 - - - - - Open target _album in browser - False - True - True - False - False - True - 0 - True - - - 1 - 4 - 1 - 1 - - - - - True - False - 4 - 8 - 0 - $mediatype will appear in - - - 0 - 0 - 2 - 1 - - - - - - - - - - - False - True - 4 - 1 - - - - - False - True - 2 - - - - - - - - True - False - 196 - 196 - 24 - 24 - 128 - True - - - _Publish - False - 96 - 30 - True - True - True - center - center - True - True - False - True - - - False - True - 0 - - - - - False - True - 4 - - - - diff --git a/plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui b/plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui new file mode 100644 index 0000000..374ca65 --- /dev/null +++ b/plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui @@ -0,0 +1,275 @@ + + + + + True + False + vertical + 1 + + + + + + True + False + center + 36 + 36 + 24 + 24 + 12 + + + True + False + center + you are logged in rajce as $name + + + False + True + 4 + 0 + + + + + _Logout + False + 64 + 24 + True + True + True + center + True + True + False + True + + + False + True + 1 + + + + + False + True + 1 + + + + + True + False + 16 + 16 + vertical + + + + + + True + False + 1 + 8 + + + 320 + True + False + 0 + 1 + + + 1 + 1 + 1 + 1 + + + + + 320 + True + True + + + + 1 + 2 + 1 + 1 + + + + + An _existing album: + False + True + True + False + start + 4 + 4 + False + True + 0 + True + True + create_new_radio + + + 0 + 1 + 1 + 1 + + + + + A _new album named: + False + True + True + False + start + 4 + 4 + False + True + 0 + 0.47999998927116394 + True + True + + + 0 + 2 + 1 + 1 + + + + + _Hide album + False + True + True + False + False + True + 0 + True + + + 1 + 3 + 1 + 1 + + + + + Open target _album in browser + False + True + True + False + False + True + 0 + True + + + 1 + 4 + 1 + 1 + + + + + True + False + 4 + 8 + 0 + $mediatype will appear in + + + 0 + 0 + 2 + 1 + + + + + + + + + + + False + True + 4 + 1 + + + + + False + True + 2 + + + + + + + + True + False + 196 + 196 + 24 + 24 + 128 + True + + + _Publish + False + 96 + 30 + True + True + True + center + center + True + True + False + True + + + False + True + 0 + + + + + False + True + 4 + + + + diff --git a/plugins/shotwell-publishing-extras/shotwell-publishing-extras.c b/plugins/shotwell-publishing-extras/shotwell-publishing-extras.c new file mode 100644 index 0000000..53262a3 --- /dev/null +++ b/plugins/shotwell-publishing-extras/shotwell-publishing-extras.c @@ -0,0 +1,504 @@ +/* shotwell-publishing-extras.c generated by valac 0.32.1, the Vala compiler + * generated from shotwell-publishing-extras.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_SHOTWELL_PUBLISHING_EXTRA_SERVICES (shotwell_publishing_extra_services_get_type ()) +#define SHOTWELL_PUBLISHING_EXTRA_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices)) +#define SHOTWELL_PUBLISHING_EXTRA_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServicesClass)) +#define IS_SHOTWELL_PUBLISHING_EXTRA_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES)) +#define IS_SHOTWELL_PUBLISHING_EXTRA_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES)) +#define SHOTWELL_PUBLISHING_EXTRA_SERVICES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServicesClass)) + +typedef struct _ShotwellPublishingExtraServices ShotwellPublishingExtraServices; +typedef struct _ShotwellPublishingExtraServicesClass ShotwellPublishingExtraServicesClass; +typedef struct _ShotwellPublishingExtraServicesPrivate ShotwellPublishingExtraServicesPrivate; + +#define TYPE_YANDEX_SERVICE (yandex_service_get_type ()) +#define YANDEX_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_YANDEX_SERVICE, YandexService)) +#define YANDEX_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_YANDEX_SERVICE, YandexServiceClass)) +#define IS_YANDEX_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_YANDEX_SERVICE)) +#define IS_YANDEX_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_YANDEX_SERVICE)) +#define YANDEX_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_YANDEX_SERVICE, YandexServiceClass)) + +typedef struct _YandexService YandexService; +typedef struct _YandexServiceClass YandexServiceClass; + +#define TYPE_TUMBLR_SERVICE (tumblr_service_get_type ()) +#define TUMBLR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TUMBLR_SERVICE, TumblrService)) +#define TUMBLR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TUMBLR_SERVICE, TumblrServiceClass)) +#define IS_TUMBLR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TUMBLR_SERVICE)) +#define IS_TUMBLR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TUMBLR_SERVICE)) +#define TUMBLR_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TUMBLR_SERVICE, TumblrServiceClass)) + +typedef struct _TumblrService TumblrService; +typedef struct _TumblrServiceClass TumblrServiceClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_RAJCE_SERVICE (rajce_service_get_type ()) +#define RAJCE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAJCE_SERVICE, RajceService)) +#define RAJCE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAJCE_SERVICE, RajceServiceClass)) +#define IS_RAJCE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAJCE_SERVICE)) +#define IS_RAJCE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAJCE_SERVICE)) +#define RAJCE_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAJCE_SERVICE, RajceServiceClass)) + +typedef struct _RajceService RajceService; +typedef struct _RajceServiceClass RajceServiceClass; + +#define TYPE_GALLERY3_SERVICE (gallery3_service_get_type ()) +#define GALLERY3_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GALLERY3_SERVICE, Gallery3Service)) +#define GALLERY3_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GALLERY3_SERVICE, Gallery3ServiceClass)) +#define IS_GALLERY3_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GALLERY3_SERVICE)) +#define IS_GALLERY3_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GALLERY3_SERVICE)) +#define GALLERY3_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GALLERY3_SERVICE, Gallery3ServiceClass)) + +typedef struct _Gallery3Service Gallery3Service; +typedef struct _Gallery3ServiceClass Gallery3ServiceClass; + +struct _ShotwellPublishingExtraServices { + GObject parent_instance; + ShotwellPublishingExtraServicesPrivate * priv; +}; + +struct _ShotwellPublishingExtraServicesClass { + GObjectClass parent_class; +}; + +struct _ShotwellPublishingExtraServicesPrivate { + SpitPluggable** pluggables; + gint pluggables_length1; + gint _pluggables_size_; +}; + + +static gpointer shotwell_publishing_extra_services_parent_class = NULL; +static SpitModuleIface* shotwell_publishing_extra_services_spit_module_parent_iface = NULL; + +GType shotwell_publishing_extra_services_get_type (void) G_GNUC_CONST; +#define SHOTWELL_PUBLISHING_EXTRA_SERVICES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServicesPrivate)) +enum { + SHOTWELL_PUBLISHING_EXTRA_SERVICES_DUMMY_PROPERTY +}; +ShotwellPublishingExtraServices* shotwell_publishing_extra_services_new (GFile* module_file); +ShotwellPublishingExtraServices* shotwell_publishing_extra_services_construct (GType object_type, GFile* module_file); +YandexService* yandex_service_new (void); +YandexService* yandex_service_construct (GType object_type); +GType yandex_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add14 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +TumblrService* tumblr_service_new (GFile* resource_directory); +TumblrService* tumblr_service_construct (GType object_type, GFile* resource_directory); +GType tumblr_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add15 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +RajceService* rajce_service_new (GFile* resource_directory); +RajceService* rajce_service_construct (GType object_type, GFile* resource_directory); +GType rajce_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add16 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +Gallery3Service* gallery3_service_new (GFile* resource_directory); +Gallery3Service* gallery3_service_construct (GType object_type, GFile* resource_directory); +GType gallery3_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add17 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +static const gchar* shotwell_publishing_extra_services_real_get_module_name (SpitModule* base); +static const gchar* shotwell_publishing_extra_services_real_get_version (SpitModule* base); +static const gchar* shotwell_publishing_extra_services_real_get_id (SpitModule* base); +static SpitPluggable** shotwell_publishing_extra_services_real_get_pluggables (SpitModule* base, int* result_length1); +static void shotwell_publishing_extra_services_finalize (GObject* obj); +SpitModule* spit_entry_point (SpitEntryPointParams* params); +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_add14 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + if ((*length) == (*size)) { +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 131 "shotwell-publishing-extras.c" + } +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[(*length)++] = value; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[*length] = NULL; +#line 137 "shotwell-publishing-extras.c" +} + + +static void _vala_array_add15 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + if ((*length) == (*size)) { +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 148 "shotwell-publishing-extras.c" + } +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[(*length)++] = value; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[*length] = NULL; +#line 154 "shotwell-publishing-extras.c" +} + + +static void _vala_array_add16 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + if ((*length) == (*size)) { +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 165 "shotwell-publishing-extras.c" + } +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[(*length)++] = value; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[*length] = NULL; +#line 171 "shotwell-publishing-extras.c" +} + + +static void _vala_array_add17 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + if ((*length) == (*size)) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 182 "shotwell-publishing-extras.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[(*length)++] = value; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*array)[*length] = NULL; +#line 188 "shotwell-publishing-extras.c" +} + + +ShotwellPublishingExtraServices* shotwell_publishing_extra_services_construct (GType object_type, GFile* module_file) { + ShotwellPublishingExtraServices * self = NULL; + SpitPluggable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + YandexService* _tmp1_ = NULL; + SpitPluggable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + TumblrService* _tmp6_ = NULL; + SpitPluggable** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + RajceService* _tmp11_ = NULL; + SpitPluggable** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + Gallery3Service* _tmp16_ = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + g_return_val_if_fail (G_IS_FILE (module_file), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self = (ShotwellPublishingExtraServices*) g_object_new (object_type, NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp0_ = self->priv->pluggables; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp0__length1 = self->priv->pluggables_length1; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp1_ = yandex_service_new (); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _vala_array_add14 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp2_ = self->priv->pluggables; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp2__length1 = self->priv->pluggables_length1; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp3_ = module_file; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp4_ = g_file_get_parent (_tmp3_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp5_ = _tmp4_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp6_ = tumblr_service_new (_tmp5_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _vala_array_add15 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _g_object_unref0 (_tmp5_); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp7_ = self->priv->pluggables; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp7__length1 = self->priv->pluggables_length1; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp8_ = module_file; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp9_ = g_file_get_parent (_tmp8_); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp10_ = _tmp9_; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp11_ = rajce_service_new (_tmp10_); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _vala_array_add16 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _g_object_unref0 (_tmp10_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp12_ = self->priv->pluggables; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp12__length1 = self->priv->pluggables_length1; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp13_ = module_file; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp14_ = g_file_get_parent (_tmp13_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp15_ = _tmp14_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp16_ = gallery3_service_new (_tmp15_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _vala_array_add17 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _g_object_unref0 (_tmp15_); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + return self; +#line 277 "shotwell-publishing-extras.c" +} + + +ShotwellPublishingExtraServices* shotwell_publishing_extra_services_new (GFile* module_file) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + return shotwell_publishing_extra_services_construct (TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, module_file); +#line 284 "shotwell-publishing-extras.c" +} + + +static const gchar* shotwell_publishing_extra_services_real_get_module_name (SpitModule* base) { + ShotwellPublishingExtraServices * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp0_ = _ ("Shotwell Extra Publishing Services"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + return result; +#line 300 "shotwell-publishing-extras.c" +} + + +static const gchar* shotwell_publishing_extra_services_real_get_version (SpitModule* base) { + ShotwellPublishingExtraServices * self; + const gchar* result = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + result = _VERSION; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + return result; +#line 313 "shotwell-publishing-extras.c" +} + + +static const gchar* shotwell_publishing_extra_services_real_get_id (SpitModule* base) { + ShotwellPublishingExtraServices * self; + const gchar* result = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + result = "org.yorba.shotwell.publishing.extras"; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + return result; +#line 326 "shotwell-publishing-extras.c" +} + + +static SpitPluggable** shotwell_publishing_extra_services_real_get_pluggables (SpitModule* base, int* result_length1) { + ShotwellPublishingExtraServices * self; + SpitPluggable** result = NULL; + SpitPluggable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPluggable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp0_ = self->priv->pluggables; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp0__length1 = self->priv->pluggables_length1; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp1_ = _tmp0_; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp1__length1 = _tmp0__length1; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + if (result_length1) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + *result_length1 = _tmp1__length1; +#line 351 "shotwell-publishing-extras.c" + } +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + result = _tmp1_; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + return result; +#line 357 "shotwell-publishing-extras.c" +} + + +static void shotwell_publishing_extra_services_class_init (ShotwellPublishingExtraServicesClass * klass) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + shotwell_publishing_extra_services_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + g_type_class_add_private (klass, sizeof (ShotwellPublishingExtraServicesPrivate)); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + G_OBJECT_CLASS (klass)->finalize = shotwell_publishing_extra_services_finalize; +#line 368 "shotwell-publishing-extras.c" +} + + +static void shotwell_publishing_extra_services_spit_module_interface_init (SpitModuleIface * iface) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + shotwell_publishing_extra_services_spit_module_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + iface->get_module_name = (const gchar* (*)(SpitModule*)) shotwell_publishing_extra_services_real_get_module_name; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + iface->get_version = (const gchar* (*)(SpitModule*)) shotwell_publishing_extra_services_real_get_version; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + iface->get_id = (const gchar* (*)(SpitModule*)) shotwell_publishing_extra_services_real_get_id; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + iface->get_pluggables = (SpitPluggable** (*)(SpitModule*, int*)) shotwell_publishing_extra_services_real_get_pluggables; +#line 383 "shotwell-publishing-extras.c" +} + + +static void shotwell_publishing_extra_services_instance_init (ShotwellPublishingExtraServices * self) { + SpitPluggable** _tmp0_ = NULL; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self->priv = SHOTWELL_PUBLISHING_EXTRA_SERVICES_GET_PRIVATE (self); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp0_ = g_new0 (SpitPluggable*, 0 + 1); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self->priv->pluggables = _tmp0_; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self->priv->pluggables_length1 = 0; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self->priv->_pluggables_size_ = self->priv->pluggables_length1; +#line 399 "shotwell-publishing-extras.c" +} + + +static void shotwell_publishing_extra_services_finalize (GObject* obj) { + ShotwellPublishingExtraServices * self; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_PUBLISHING_EXTRA_SERVICES, ShotwellPublishingExtraServices); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + self->priv->pluggables = (_vala_array_free (self->priv->pluggables, self->priv->pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + G_OBJECT_CLASS (shotwell_publishing_extra_services_parent_class)->finalize (obj); +#line 411 "shotwell-publishing-extras.c" +} + + +GType shotwell_publishing_extra_services_get_type (void) { + static volatile gsize shotwell_publishing_extra_services_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_publishing_extra_services_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShotwellPublishingExtraServicesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_publishing_extra_services_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellPublishingExtraServices), 0, (GInstanceInitFunc) shotwell_publishing_extra_services_instance_init, NULL }; + static const GInterfaceInfo spit_module_info = { (GInterfaceInitFunc) shotwell_publishing_extra_services_spit_module_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType shotwell_publishing_extra_services_type_id; + shotwell_publishing_extra_services_type_id = g_type_register_static (G_TYPE_OBJECT, "ShotwellPublishingExtraServices", &g_define_type_info, 0); + g_type_add_interface_static (shotwell_publishing_extra_services_type_id, SPIT_TYPE_MODULE, &spit_module_info); + g_once_init_leave (&shotwell_publishing_extra_services_type_id__volatile, shotwell_publishing_extra_services_type_id); + } + return shotwell_publishing_extra_services_type_id__volatile; +} + + +SpitModule* spit_entry_point (SpitEntryPointParams* params) { + SpitModule* result = NULL; + SpitEntryPointParams* _tmp0_ = NULL; + gint _tmp1_ = 0; + SpitEntryPointParams* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + ShotwellPublishingExtraServices* _tmp5_ = NULL; + SpitEntryPointParams* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp0_ = params; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp1_ = (*_tmp0_).host_min_spit_interface; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp2_ = params; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp3_ = (*_tmp2_).host_max_spit_interface; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp4_ = spit_negotiate_interfaces (_tmp1_, _tmp3_, SPIT_CURRENT_INTERFACE); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + (*params).module_spit_interface = _tmp4_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp6_ = params; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp7_ = (*_tmp6_).module_spit_interface; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + if (_tmp7_ != SPIT_UNSUPPORTED_INTERFACE) { +#line 457 "shotwell-publishing-extras.c" + SpitEntryPointParams* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + ShotwellPublishingExtraServices* _tmp10_ = NULL; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp8_ = params; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp9_ = (*_tmp8_).module_file; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp10_ = shotwell_publishing_extra_services_new (_tmp9_); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _g_object_unref0 (_tmp5_); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp5_ = _tmp10_; +#line 471 "shotwell-publishing-extras.c" + } else { +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _g_object_unref0 (_tmp5_); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + _tmp5_ = NULL; +#line 477 "shotwell-publishing-extras.c" + } +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_MODULE, SpitModule); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala" + return result; +#line 483 "shotwell-publishing-extras.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/plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade b/plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade deleted file mode 100644 index 9b43309..0000000 --- a/plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade +++ /dev/null @@ -1,132 +0,0 @@ - - - - - False - - - True - False - 0.5 - 0.5 - - - True - False - 30 - 30 - True - 8 - - - True - False - True - True - 0 - label - True - - - False - True - 0 - - - - - True - False - 2 - 2 - 8 - 2 - - - True - False - 0 - _Email address - True - username_entry - - - - - True - False - 0 - _Password - True - password_entry - - - 1 - 2 - - - - - True - True - - - - 1 - 2 - - - - - True - True - False - - True - - - 1 - 2 - 1 - 2 - - - - - True - True - 1 - - - - - True - False - - - Login - False - True - True - True - False - - - False - False - 0 - - - - - True - True - 3 - - - - - - - - diff --git a/plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui b/plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui new file mode 100644 index 0000000..131a547 --- /dev/null +++ b/plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui @@ -0,0 +1,132 @@ + + + + + False + + + True + False + 0.5 + 0.5 + + + True + False + 30 + 30 + True + 8 + + + True + False + True + True + 0 + label + True + + + False + True + 0 + + + + + True + False + 2 + 2 + 8 + 2 + + + True + False + 0 + _Email address + True + username_entry + + + + + True + False + 0 + _Password + True + password_entry + + + 1 + 2 + + + + + True + True + + + + 1 + 2 + + + + + True + True + False + + True + + + 1 + 2 + 1 + 2 + + + + + True + True + 1 + + + + + True + False + + + Login + False + True + True + True + False + + + False + False + 0 + + + + + True + True + 3 + + + + + + + + diff --git a/plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade b/plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade deleted file mode 100644 index 102e260..0000000 --- a/plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade +++ /dev/null @@ -1,167 +0,0 @@ - - - - - True - False - 16 - True - - - True - False - vertical - 40 - - - True - False - You are logged into Tumblr as (name). - -(this label's string is populated and set inside the code, -so changes made here will not display) - - - False - True - 16 - 0 - - - - - True - False - center - center - 8 - 24 - - - True - False - Blogs: - True - right - blog_combo - - - 0 - 0 - 1 - 1 - - - - - True - False - 1 - Photo _size: - True - size_combo - - - 0 - 1 - 1 - 1 - - - - - True - False - 0 - 1 - - - 1 - 0 - 1 - 1 - - - - - True - False - 0 - 1 - - - 1 - 1 - 1 - 1 - - - - - False - True - 18 - 1 - - - - - True - False - center - 48 - True - - - _Logout - False - 96 - True - True - True - False - True - - - False - True - 24 - 0 - - - - - _Publish - False - 96 - True - True - True - False - True - - - False - True - 24 - 1 - - - - - False - False - 1 - 2 - - - - - False - True - 8 - 0 - - - - diff --git a/plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui b/plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui new file mode 100644 index 0000000..ac201da --- /dev/null +++ b/plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui @@ -0,0 +1,167 @@ + + + + + True + False + 16 + True + + + True + False + vertical + 40 + + + True + False + You are logged into Tumblr as (name). + +(this label's string is populated and set inside the code, +so changes made here will not display) + + + False + True + 16 + 0 + + + + + True + False + center + center + 8 + 24 + + + True + False + Blogs: + True + right + blog_combo + + + 0 + 0 + 1 + 1 + + + + + True + False + 1 + Photo _size: + True + size_combo + + + 0 + 1 + 1 + 1 + + + + + True + False + 0 + 1 + + + 1 + 0 + 1 + 1 + + + + + True + False + 0 + 1 + + + 1 + 1 + 1 + 1 + + + + + False + True + 18 + 1 + + + + + True + False + center + 48 + True + + + _Logout + False + 96 + True + True + True + False + True + + + False + True + 24 + 0 + + + + + _Publish + False + 96 + True + True + True + False + True + + + False + True + 24 + 1 + + + + + False + False + 1 + 2 + + + + + False + True + 8 + 0 + + + + diff --git a/plugins/shotwell-publishing-extras/yandex_publish_model.glade b/plugins/shotwell-publishing-extras/yandex_publish_model.glade deleted file mode 100644 index 175bafd..0000000 --- a/plugins/shotwell-publishing-extras/yandex_publish_model.glade +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - True - 0.30000001192092896 - 0.10000000149011612 - 0.10000000149011612 - - - True - - - True - 2 - 2 - - - True - 0.30000001192092896 - _Albums (or write new): - True - album_list - - - 1 - 2 - - - - - True - 0 - 6 - Access _type: - True - access_type_list - - - - - True - liststore1 - 0 - 0 - - - 1 - 2 - 1 - - - - - True - liststore2 - 0 - 0 - - - 1 - 2 - 1 - 2 - 1 - - - - - 0 - - - - - - - - Disable _comments - True - True - False - True - 0.30000001192092896 - True - - - 2 - 2 - - - - - _Forbid downloading original photo - True - True - False - True - 0.30000001192092896 - True - - - 3 - - - - - True - 2 - spread - - - _Logout - True - True - True - True - - - False - False - 0 - - - - - _Publish - True - True - True - True - - - False - False - 1 - - - - - 12 - 4 - - - - - - - - - - - - - - - Public - - - Friends - - - Private - - - - - - - - - - diff --git a/plugins/shotwell-publishing-extras/yandex_publish_model.ui b/plugins/shotwell-publishing-extras/yandex_publish_model.ui new file mode 100644 index 0000000..175bafd --- /dev/null +++ b/plugins/shotwell-publishing-extras/yandex_publish_model.ui @@ -0,0 +1,175 @@ + + + + + + + + True + 0.30000001192092896 + 0.10000000149011612 + 0.10000000149011612 + + + True + + + True + 2 + 2 + + + True + 0.30000001192092896 + _Albums (or write new): + True + album_list + + + 1 + 2 + + + + + True + 0 + 6 + Access _type: + True + access_type_list + + + + + True + liststore1 + 0 + 0 + + + 1 + 2 + 1 + + + + + True + liststore2 + 0 + 0 + + + 1 + 2 + 1 + 2 + 1 + + + + + 0 + + + + + + + + Disable _comments + True + True + False + True + 0.30000001192092896 + True + + + 2 + 2 + + + + + _Forbid downloading original photo + True + True + False + True + 0.30000001192092896 + True + + + 3 + + + + + True + 2 + spread + + + _Logout + True + True + True + True + + + False + False + 0 + + + + + _Publish + True + True + True + True + + + False + False + 1 + + + + + 12 + 4 + + + + + + + + + + + + + + + Public + + + Friends + + + Private + + + + + + + + + + diff --git a/plugins/shotwell-publishing/FacebookPublishing.c b/plugins/shotwell-publishing/FacebookPublishing.c new file mode 100644 index 0000000..e3cccd3 --- /dev/null +++ b/plugins/shotwell-publishing/FacebookPublishing.c @@ -0,0 +1,11997 @@ +/* FacebookPublishing.c generated by valac 0.32.1, the Vala compiler + * generated from FacebookPublishing.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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_FACEBOOK_SERVICE (facebook_service_get_type ()) +#define FACEBOOK_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FACEBOOK_SERVICE, FacebookService)) +#define FACEBOOK_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FACEBOOK_SERVICE, FacebookServiceClass)) +#define IS_FACEBOOK_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FACEBOOK_SERVICE)) +#define IS_FACEBOOK_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FACEBOOK_SERVICE)) +#define FACEBOOK_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FACEBOOK_SERVICE, FacebookServiceClass)) + +typedef struct _FacebookService FacebookService; +typedef struct _FacebookServiceClass FacebookServiceClass; +typedef struct _FacebookServicePrivate FacebookServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER (publishing_facebook_facebook_publisher_get_type ()) +#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher)) +#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisherClass)) +#define PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER)) +#define PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER)) +#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisherClass)) + +typedef struct _PublishingFacebookFacebookPublisher PublishingFacebookFacebookPublisher; +typedef struct _PublishingFacebookFacebookPublisherClass PublishingFacebookFacebookPublisherClass; + +#define PUBLISHING_FACEBOOK_TYPE_ALBUM (publishing_facebook_album_get_type ()) +#define PUBLISHING_FACEBOOK_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbum)) +#define PUBLISHING_FACEBOOK_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbumClass)) +#define PUBLISHING_FACEBOOK_IS_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_ALBUM)) +#define PUBLISHING_FACEBOOK_IS_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_ALBUM)) +#define PUBLISHING_FACEBOOK_ALBUM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbumClass)) + +typedef struct _PublishingFacebookAlbum PublishingFacebookAlbum; +typedef struct _PublishingFacebookAlbumClass PublishingFacebookAlbumClass; +typedef struct _PublishingFacebookAlbumPrivate PublishingFacebookAlbumPrivate; +typedef struct _PublishingFacebookParamSpecAlbum PublishingFacebookParamSpecAlbum; + +#define PUBLISHING_FACEBOOK_TYPE_RESOLUTION (publishing_facebook_resolution_get_type ()) + +#define PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS (publishing_facebook_publishing_parameters_get_type ()) +#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParameters)) +#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParametersClass)) +#define PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParametersClass)) + +typedef struct _PublishingFacebookPublishingParameters PublishingFacebookPublishingParameters; +typedef struct _PublishingFacebookPublishingParametersClass PublishingFacebookPublishingParametersClass; +typedef struct _PublishingFacebookPublishingParametersPrivate PublishingFacebookPublishingParametersPrivate; +#define _publishing_facebook_album_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_album_unref (var), NULL))) +typedef struct _PublishingFacebookParamSpecPublishingParameters PublishingFacebookParamSpecPublishingParameters; +typedef struct _PublishingFacebookFacebookPublisherPrivate PublishingFacebookFacebookPublisherPrivate; + +#define PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE (publishing_facebook_web_authentication_pane_get_type ()) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPane)) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPaneClass)) +#define PUBLISHING_FACEBOOK_IS_WEB_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE)) +#define PUBLISHING_FACEBOOK_IS_WEB_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE)) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPaneClass)) + +typedef struct _PublishingFacebookWebAuthenticationPane PublishingFacebookWebAuthenticationPane; +typedef struct _PublishingFacebookWebAuthenticationPaneClass PublishingFacebookWebAuthenticationPaneClass; + +#define PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION (publishing_facebook_graph_session_get_type ()) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSession)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSessionClass)) +#define PUBLISHING_FACEBOOK_IS_GRAPH_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION)) +#define PUBLISHING_FACEBOOK_IS_GRAPH_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSessionClass)) + +typedef struct _PublishingFacebookGraphSession PublishingFacebookGraphSession; +typedef struct _PublishingFacebookGraphSessionClass PublishingFacebookGraphSessionClass; + +#define PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE (publishing_facebook_publishing_options_pane_get_type ()) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane)) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPaneClass)) +#define PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPaneClass)) + +typedef struct _PublishingFacebookPublishingOptionsPane PublishingFacebookPublishingOptionsPane; +typedef struct _PublishingFacebookPublishingOptionsPaneClass PublishingFacebookPublishingOptionsPaneClass; + +#define PUBLISHING_FACEBOOK_TYPE_UPLOADER (publishing_facebook_uploader_get_type ()) +#define PUBLISHING_FACEBOOK_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploader)) +#define PUBLISHING_FACEBOOK_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploaderClass)) +#define PUBLISHING_FACEBOOK_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_UPLOADER)) +#define PUBLISHING_FACEBOOK_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_UPLOADER)) +#define PUBLISHING_FACEBOOK_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploaderClass)) + +typedef struct _PublishingFacebookUploader PublishingFacebookUploader; +typedef struct _PublishingFacebookUploaderClass PublishingFacebookUploaderClass; +#define _publishing_facebook_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_publishing_parameters_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _publishing_facebook_graph_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_graph_session_unref (var), NULL))) +#define _publishing_facebook_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_uploader_unref (var), NULL))) + +#define PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE (publishing_facebook_graph_message_get_type ()) +#define PUBLISHING_FACEBOOK_GRAPH_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage)) +#define PUBLISHING_FACEBOOK_GRAPH_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessageClass)) +#define PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE)) +#define PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessageClass)) + +typedef struct _PublishingFacebookGraphMessage PublishingFacebookGraphMessage; +typedef struct _PublishingFacebookGraphMessageClass PublishingFacebookGraphMessageClass; +#define _publishing_facebook_graph_message_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_graph_message_unref (var), NULL))) +#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL))) +#define __vala_JsonNode_free0(var) ((var == NULL) ? NULL : (var = (_vala_JsonNode_free (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _json_array_unref0(var) ((var == NULL) ? NULL : (var = (json_array_unref (var), NULL))) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +typedef struct _PublishingFacebookWebAuthenticationPanePrivate PublishingFacebookWebAuthenticationPanePrivate; + +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP (publishing_facebook_web_authentication_pane_locale_lookup_get_type ()) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_LOCALE_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP, PublishingFacebookWebAuthenticationPaneLocaleLookup)) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_LOCALE_LOOKUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP, PublishingFacebookWebAuthenticationPaneLocaleLookupClass)) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_IS_LOCALE_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP)) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_IS_LOCALE_LOOKUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP)) +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_LOCALE_LOOKUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP, PublishingFacebookWebAuthenticationPaneLocaleLookupClass)) + +typedef struct _PublishingFacebookWebAuthenticationPaneLocaleLookup PublishingFacebookWebAuthenticationPaneLocaleLookup; +typedef struct _PublishingFacebookWebAuthenticationPaneLocaleLookupClass PublishingFacebookWebAuthenticationPaneLocaleLookupClass; +typedef struct _PublishingFacebookWebAuthenticationPaneLocaleLookupPrivate PublishingFacebookWebAuthenticationPaneLocaleLookupPrivate; +#define _publishing_facebook_web_authentication_pane_locale_lookup_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_web_authentication_pane_locale_lookup_unref (var), NULL))) +typedef struct _PublishingFacebookWebAuthenticationPaneParamSpecLocaleLookup PublishingFacebookWebAuthenticationPaneParamSpecLocaleLookup; +typedef struct _PublishingFacebookPublishingOptionsPanePrivate PublishingFacebookPublishingOptionsPanePrivate; + +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION (publishing_facebook_publishing_options_pane_privacy_description_get_type ()) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescription)) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass)) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_IS_PRIVACY_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_IS_PRIVACY_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)) +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass)) + +typedef struct _PublishingFacebookPublishingOptionsPanePrivacyDescription PublishingFacebookPublishingOptionsPanePrivacyDescription; +typedef struct _PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass; +#define _g_slist_free0(var) ((var == NULL) ? NULL : (var = (g_slist_free (var), NULL))) +typedef struct _PublishingFacebookPublishingOptionsPanePrivacyDescriptionPrivate PublishingFacebookPublishingOptionsPanePrivacyDescriptionPrivate; +#define _publishing_facebook_publishing_options_pane_privacy_description_unref0(var) ((var == NULL) ? NULL : (var = (publishing_facebook_publishing_options_pane_privacy_description_unref (var), NULL))) +typedef struct _PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription; + +#define PUBLISHING_FACEBOOK_TYPE_ENDPOINT (publishing_facebook_endpoint_get_type ()) +typedef struct _PublishingFacebookGraphMessagePrivate PublishingFacebookGraphMessagePrivate; +typedef struct _PublishingFacebookParamSpecGraphMessage PublishingFacebookParamSpecGraphMessage; +typedef struct _PublishingFacebookGraphSessionPrivate PublishingFacebookGraphSessionPrivate; + +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL (publishing_facebook_graph_session_graph_message_impl_get_type ()) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImplClass)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImplClass)) + +typedef struct _PublishingFacebookGraphSessionGraphMessageImpl PublishingFacebookGraphSessionGraphMessageImpl; +typedef struct _PublishingFacebookGraphSessionGraphMessageImplClass PublishingFacebookGraphSessionGraphMessageImplClass; +typedef struct _PublishingFacebookGraphSessionGraphMessageImplPrivate PublishingFacebookGraphSessionGraphMessageImplPrivate; + +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE (publishing_facebook_graph_session_graph_endpoint_probe_message_get_type ()) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_ENDPOINT_PROBE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, PublishingFacebookGraphSessionGraphEndpointProbeMessage)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_ENDPOINT_PROBE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, PublishingFacebookGraphSessionGraphEndpointProbeMessageClass)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_ENDPOINT_PROBE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_ENDPOINT_PROBE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_ENDPOINT_PROBE_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, PublishingFacebookGraphSessionGraphEndpointProbeMessageClass)) + +typedef struct _PublishingFacebookGraphSessionGraphEndpointProbeMessage PublishingFacebookGraphSessionGraphEndpointProbeMessage; +typedef struct _PublishingFacebookGraphSessionGraphEndpointProbeMessageClass PublishingFacebookGraphSessionGraphEndpointProbeMessageClass; + +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE (publishing_facebook_graph_session_graph_query_message_get_type ()) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_QUERY_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, PublishingFacebookGraphSessionGraphQueryMessage)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_QUERY_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, PublishingFacebookGraphSessionGraphQueryMessageClass)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_QUERY_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_QUERY_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_QUERY_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, PublishingFacebookGraphSessionGraphQueryMessageClass)) + +typedef struct _PublishingFacebookGraphSessionGraphQueryMessage PublishingFacebookGraphSessionGraphQueryMessage; +typedef struct _PublishingFacebookGraphSessionGraphQueryMessageClass PublishingFacebookGraphSessionGraphQueryMessageClass; + +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE (publishing_facebook_graph_session_graph_upload_message_get_type ()) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessage)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessageClass)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_UPLOAD_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_UPLOAD_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessageClass)) + +typedef struct _PublishingFacebookGraphSessionGraphUploadMessage PublishingFacebookGraphSessionGraphUploadMessage; +typedef struct _PublishingFacebookGraphSessionGraphUploadMessageClass PublishingFacebookGraphSessionGraphUploadMessageClass; + +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE (publishing_facebook_graph_session_graph_create_album_message_get_type ()) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_CREATE_ALBUM_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, PublishingFacebookGraphSessionGraphCreateAlbumMessage)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_CREATE_ALBUM_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, PublishingFacebookGraphSessionGraphCreateAlbumMessageClass)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_CREATE_ALBUM_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_CREATE_ALBUM_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE)) +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_CREATE_ALBUM_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, PublishingFacebookGraphSessionGraphCreateAlbumMessageClass)) + +typedef struct _PublishingFacebookGraphSessionGraphCreateAlbumMessage PublishingFacebookGraphSessionGraphCreateAlbumMessage; +typedef struct _PublishingFacebookGraphSessionGraphCreateAlbumMessageClass PublishingFacebookGraphSessionGraphCreateAlbumMessageClass; +typedef struct _PublishingFacebookGraphSessionGraphQueryMessagePrivate PublishingFacebookGraphSessionGraphQueryMessagePrivate; +#define __vala_SoupURI_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupURI_free (var), NULL))) +typedef struct _PublishingFacebookGraphSessionGraphEndpointProbeMessagePrivate PublishingFacebookGraphSessionGraphEndpointProbeMessagePrivate; +typedef struct _PublishingFacebookGraphSessionGraphUploadMessagePrivate PublishingFacebookGraphSessionGraphUploadMessagePrivate; +#define _g_mapped_file_unref0(var) ((var == NULL) ? NULL : (var = (g_mapped_file_unref (var), NULL))) +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) +#define __vala_SoupMultipart_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupMultipart_free (var), NULL))) +#define __vala_SoupBuffer_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupBuffer_free (var), NULL))) +typedef struct _PublishingFacebookGraphSessionGraphCreateAlbumMessagePrivate PublishingFacebookGraphSessionGraphCreateAlbumMessagePrivate; +typedef struct _PublishingFacebookParamSpecGraphSession PublishingFacebookParamSpecGraphSession; +typedef struct _PublishingFacebookUploaderPrivate PublishingFacebookUploaderPrivate; +typedef struct _PublishingFacebookParamSpecUploader PublishingFacebookParamSpecUploader; +#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 _FacebookService { + GObject parent_instance; + FacebookServicePrivate * priv; +}; + +struct _FacebookServiceClass { + GObjectClass parent_class; +}; + +struct _PublishingFacebookAlbum { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFacebookAlbumPrivate * priv; + gchar* name; + gchar* id; +}; + +struct _PublishingFacebookAlbumClass { + GTypeClass parent_class; + void (*finalize) (PublishingFacebookAlbum *self); +}; + +struct _PublishingFacebookParamSpecAlbum { + GParamSpec parent_instance; +}; + +typedef enum { + PUBLISHING_FACEBOOK_RESOLUTION_STANDARD, + PUBLISHING_FACEBOOK_RESOLUTION_HIGH +} PublishingFacebookResolution; + +struct _PublishingFacebookPublishingParameters { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFacebookPublishingParametersPrivate * priv; + gboolean strip_metadata; + PublishingFacebookAlbum** albums; + gint albums_length1; + gint _albums_size_; + gint target_album; + gchar* new_album_name; + gchar* privacy_object; + PublishingFacebookResolution resolution; +}; + +struct _PublishingFacebookPublishingParametersClass { + GTypeClass parent_class; + void (*finalize) (PublishingFacebookPublishingParameters *self); +}; + +struct _PublishingFacebookParamSpecPublishingParameters { + GParamSpec parent_instance; +}; + +struct _PublishingFacebookFacebookPublisher { + GObject parent_instance; + PublishingFacebookFacebookPublisherPrivate * priv; +}; + +struct _PublishingFacebookFacebookPublisherClass { + GObjectClass parent_class; +}; + +struct _PublishingFacebookFacebookPublisherPrivate { + PublishingFacebookPublishingParameters* publishing_params; + SpitPublishingPluginHost* host; + PublishingFacebookWebAuthenticationPane* web_auth_pane; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; + SpitPublishingService* service; + gboolean running; + PublishingFacebookGraphSession* graph_session; + PublishingFacebookPublishingOptionsPane* publishing_options_pane; + PublishingFacebookUploader* uploader; + gchar* uid; + gchar* username; +}; + +struct _PublishingFacebookWebAuthenticationPane { + GObject parent_instance; + PublishingFacebookWebAuthenticationPanePrivate * priv; +}; + +struct _PublishingFacebookWebAuthenticationPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingFacebookWebAuthenticationPanePrivate { + WebKitWebView* webview; + GtkBox* pane_widget; + GtkScrolledWindow* webview_frame; + PublishingFacebookWebAuthenticationPaneLocaleLookup** locale_lookup_table; + gint locale_lookup_table_length1; + gint _locale_lookup_table_size_; +}; + +struct _PublishingFacebookWebAuthenticationPaneLocaleLookup { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFacebookWebAuthenticationPaneLocaleLookupPrivate * priv; + gchar* prefix; + gchar* translation; + gchar* exception_code; + gchar* exception_translation; + gchar* exception_code_2; + gchar* exception_translation_2; +}; + +struct _PublishingFacebookWebAuthenticationPaneLocaleLookupClass { + GTypeClass parent_class; + void (*finalize) (PublishingFacebookWebAuthenticationPaneLocaleLookup *self); +}; + +struct _PublishingFacebookWebAuthenticationPaneParamSpecLocaleLookup { + GParamSpec parent_instance; +}; + +struct _PublishingFacebookPublishingOptionsPane { + GObject parent_instance; + PublishingFacebookPublishingOptionsPanePrivate * priv; +}; + +struct _PublishingFacebookPublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingFacebookPublishingOptionsPanePrivate { + GtkBuilder* builder; + GtkBox* pane_widget; + GtkRadioButton* use_existing_radio; + GtkRadioButton* create_new_radio; + GtkComboBoxText* existing_albums_combo; + GtkComboBoxText* visibility_combo; + GtkEntry* new_album_entry; + GtkCheckButton* strip_metadata_check; + GtkButton* publish_button; + GtkButton* logout_button; + GtkLabel* how_to_label; + PublishingFacebookAlbum** albums; + gint albums_length1; + gint _albums_size_; + PublishingFacebookFacebookPublisher* publisher; + PublishingFacebookPublishingOptionsPanePrivacyDescription** privacy_descriptions; + gint privacy_descriptions_length1; + gint _privacy_descriptions_size_; + PublishingFacebookResolution* possible_resolutions; + gint possible_resolutions_length1; + gint _possible_resolutions_size_; + GtkComboBoxText* resolution_combo; + SpitPublishingPublisherMediaType media_type; +}; + +struct _PublishingFacebookPublishingOptionsPanePrivacyDescription { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFacebookPublishingOptionsPanePrivacyDescriptionPrivate * priv; + gchar* description; + gchar* privacy_setting; +}; + +struct _PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass { + GTypeClass parent_class; + void (*finalize) (PublishingFacebookPublishingOptionsPanePrivacyDescription *self); +}; + +struct _PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription { + GParamSpec parent_instance; +}; + +typedef enum { + PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT, + PUBLISHING_FACEBOOK_ENDPOINT_VIDEO, + PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION +} PublishingFacebookEndpoint; + +struct _PublishingFacebookGraphMessage { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFacebookGraphMessagePrivate * priv; +}; + +struct _PublishingFacebookGraphMessageClass { + GTypeClass parent_class; + void (*finalize) (PublishingFacebookGraphMessage *self); + gchar* (*get_uri) (PublishingFacebookGraphMessage* self); + gchar* (*get_response_body) (PublishingFacebookGraphMessage* self); +}; + +struct _PublishingFacebookParamSpecGraphMessage { + GParamSpec parent_instance; +}; + +struct _PublishingFacebookGraphSession { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFacebookGraphSessionPrivate * priv; +}; + +struct _PublishingFacebookGraphSessionClass { + GTypeClass parent_class; + void (*finalize) (PublishingFacebookGraphSession *self); +}; + +struct _PublishingFacebookGraphSessionPrivate { + SoupSession* soup_session; + gchar* access_token; + PublishingFacebookGraphMessage* current_message; +}; + +struct _PublishingFacebookGraphSessionGraphMessageImpl { + PublishingFacebookGraphMessage parent_instance; + PublishingFacebookGraphSessionGraphMessageImplPrivate * priv; + PublishingRESTSupportHttpMethod method; + gchar* uri; + gchar* access_token; + SoupMessage* soup_message; + PublishingFacebookGraphSession* host_session; + gint bytes_so_far; +}; + +struct _PublishingFacebookGraphSessionGraphMessageImplClass { + PublishingFacebookGraphMessageClass parent_class; + gboolean (*prepare_for_transmission) (PublishingFacebookGraphSessionGraphMessageImpl* self); +}; + +struct _PublishingFacebookGraphSessionGraphQueryMessage { + PublishingFacebookGraphSessionGraphMessageImpl parent_instance; + PublishingFacebookGraphSessionGraphQueryMessagePrivate * priv; +}; + +struct _PublishingFacebookGraphSessionGraphQueryMessageClass { + PublishingFacebookGraphSessionGraphMessageImplClass parent_class; +}; + +struct _PublishingFacebookGraphSessionGraphEndpointProbeMessage { + PublishingFacebookGraphSessionGraphMessageImpl parent_instance; + PublishingFacebookGraphSessionGraphEndpointProbeMessagePrivate * priv; +}; + +struct _PublishingFacebookGraphSessionGraphEndpointProbeMessageClass { + PublishingFacebookGraphSessionGraphMessageImplClass parent_class; +}; + +struct _PublishingFacebookGraphSessionGraphUploadMessage { + PublishingFacebookGraphSessionGraphMessageImpl parent_instance; + PublishingFacebookGraphSessionGraphUploadMessagePrivate * priv; +}; + +struct _PublishingFacebookGraphSessionGraphUploadMessageClass { + PublishingFacebookGraphSessionGraphMessageImplClass parent_class; +}; + +struct _PublishingFacebookGraphSessionGraphUploadMessagePrivate { + GMappedFile* mapped_file; + SpitPublishingPublishable* publishable; +}; + +struct _PublishingFacebookGraphSessionGraphCreateAlbumMessage { + PublishingFacebookGraphSessionGraphMessageImpl parent_instance; + PublishingFacebookGraphSessionGraphCreateAlbumMessagePrivate * priv; +}; + +struct _PublishingFacebookGraphSessionGraphCreateAlbumMessageClass { + PublishingFacebookGraphSessionGraphMessageImplClass parent_class; +}; + +struct _PublishingFacebookParamSpecGraphSession { + GParamSpec parent_instance; +}; + +struct _PublishingFacebookUploader { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFacebookUploaderPrivate * priv; +}; + +struct _PublishingFacebookUploaderClass { + GTypeClass parent_class; + void (*finalize) (PublishingFacebookUploader *self); +}; + +struct _PublishingFacebookUploaderPrivate { + gint current_file; + SpitPublishingPublishable** publishables; + gint publishables_length1; + gint _publishables_size_; + PublishingFacebookGraphSession* session; + PublishingFacebookPublishingParameters* publishing_params; + SpitPublishingProgressCallback status_updated; + gpointer status_updated_target; +}; + +struct _PublishingFacebookParamSpecUploader { + GParamSpec parent_instance; +}; + + +static gpointer facebook_service_parent_class = NULL; +static GdkPixbuf** facebook_service_icon_pixbuf_set; +static gint facebook_service_icon_pixbuf_set_length1; +static GdkPixbuf** facebook_service_icon_pixbuf_set = NULL; +static gint facebook_service_icon_pixbuf_set_length1 = 0; +static gint _facebook_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* facebook_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* facebook_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_facebook_album_parent_class = NULL; +static gpointer publishing_facebook_publishing_parameters_parent_class = NULL; +static gpointer publishing_facebook_facebook_publisher_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_facebook_facebook_publisher_spit_publishing_publisher_parent_iface = NULL; +static gpointer publishing_facebook_web_authentication_pane_parent_class = NULL; +static gboolean publishing_facebook_web_authentication_pane_cache_dirty; +static gboolean publishing_facebook_web_authentication_pane_cache_dirty = FALSE; +static gpointer publishing_facebook_web_authentication_pane_locale_lookup_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_facebook_web_authentication_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_facebook_publishing_options_pane_parent_class = NULL; +static gpointer publishing_facebook_publishing_options_pane_privacy_description_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_facebook_graph_message_parent_class = NULL; +static gpointer publishing_facebook_graph_session_parent_class = NULL; +static gpointer publishing_facebook_graph_session_graph_message_impl_parent_class = NULL; +static gpointer publishing_facebook_graph_session_graph_query_message_parent_class = NULL; +static gpointer publishing_facebook_graph_session_graph_endpoint_probe_message_parent_class = NULL; +static gpointer publishing_facebook_graph_session_graph_upload_message_parent_class = NULL; +static gpointer publishing_facebook_graph_session_graph_create_album_message_parent_class = NULL; +static gpointer publishing_facebook_uploader_parent_class = NULL; + +GType facebook_service_get_type (void) G_GNUC_CONST; +enum { + FACEBOOK_SERVICE_DUMMY_PROPERTY +}; +#define FACEBOOK_SERVICE_ICON_FILENAME "facebook.png" +FacebookService* facebook_service_new (GFile* resource_directory); +FacebookService* facebook_service_construct (GType object_type, GFile* resource_directory); +static gint facebook_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* facebook_service_real_get_id (SpitPluggable* base); +static const gchar* facebook_service_real_get_pluggable_name (SpitPluggable* base); +static void facebook_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length); +static void facebook_service_real_activation (SpitPluggable* base, gboolean enabled); +static SpitPublishingPublisher* facebook_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingFacebookFacebookPublisher* publishing_facebook_facebook_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingFacebookFacebookPublisher* publishing_facebook_facebook_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_facebook_facebook_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType facebook_service_real_get_supported_media (SpitPublishingService* base); +static void facebook_service_finalize (GObject* obj); +#define PUBLISHING_FACEBOOK_SERVICE_NAME "facebook" +#define PUBLISHING_FACEBOOK_USER_VISIBLE_NAME "Facebook" +#define PUBLISHING_FACEBOOK_APPLICATION_ID "1612018629063184" +#define PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME _ ("Shotwell Connect") +#define PUBLISHING_FACEBOOK_SERVICE_WELCOME_MESSAGE _ ("You are not currently logged into Facebook.\n" \ +"\n" \ +"If you don't yet have a Facebook account, you can create one during th" \ +"e login process. During login, Shotwell Connect may ask you for permis" \ +"sion to upload photos and publish to your feed. These permissions are " \ +"required for Shotwell Connect to function.") +#define PUBLISHING_FACEBOOK_RESTART_ERROR_MESSAGE _ ("You have already logged in and out of Facebook during this Shotwell se" \ +"ssion.\n" \ +"To continue publishing to Facebook, quit and restart Shotwell, then tr" \ +"y publishing again.") +#define PUBLISHING_FACEBOOK_USER_AGENT "Java/1.6.0_16" +#define PUBLISHING_FACEBOOK_EXPIRED_SESSION_STATUS_CODE 400 +gpointer publishing_facebook_album_ref (gpointer instance); +void publishing_facebook_album_unref (gpointer instance); +GParamSpec* publishing_facebook_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_facebook_value_set_album (GValue* value, gpointer v_object); +void publishing_facebook_value_take_album (GValue* value, gpointer v_object); +gpointer publishing_facebook_value_get_album (const GValue* value); +GType publishing_facebook_album_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_FACEBOOK_ALBUM_DUMMY_PROPERTY +}; +PublishingFacebookAlbum* publishing_facebook_album_new (const gchar* name, const gchar* id); +PublishingFacebookAlbum* publishing_facebook_album_construct (GType object_type, const gchar* name, const gchar* id); +static void publishing_facebook_album_finalize (PublishingFacebookAlbum* obj); +GType publishing_facebook_resolution_get_type (void) G_GNUC_CONST; +gchar* publishing_facebook_resolution_get_name (PublishingFacebookResolution self); +const gchar* publishing_facebook_resolution_to_string (PublishingFacebookResolution self); +gint publishing_facebook_resolution_get_pixels (PublishingFacebookResolution self); +gpointer publishing_facebook_publishing_parameters_ref (gpointer instance); +void publishing_facebook_publishing_parameters_unref (gpointer instance); +GParamSpec* publishing_facebook_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_facebook_value_set_publishing_parameters (GValue* value, gpointer v_object); +void publishing_facebook_value_take_publishing_parameters (GValue* value, gpointer v_object); +gpointer publishing_facebook_value_get_publishing_parameters (const GValue* value); +GType publishing_facebook_publishing_parameters_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_DUMMY_PROPERTY +}; +#define PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM -1 +PublishingFacebookPublishingParameters* publishing_facebook_publishing_parameters_new (void); +PublishingFacebookPublishingParameters* publishing_facebook_publishing_parameters_construct (GType object_type); +void publishing_facebook_publishing_parameters_add_album (PublishingFacebookPublishingParameters* self, const gchar* name, const gchar* id); +static void _vala_array_add6 (PublishingFacebookAlbum*** array, int* length, int* size, PublishingFacebookAlbum* value); +void publishing_facebook_publishing_parameters_set_target_album_by_name (PublishingFacebookPublishingParameters* self, const gchar* name); +gchar* publishing_facebook_publishing_parameters_get_target_album_name (PublishingFacebookPublishingParameters* self); +gchar* publishing_facebook_publishing_parameters_get_target_album_id (PublishingFacebookPublishingParameters* self); +static void publishing_facebook_publishing_parameters_finalize (PublishingFacebookPublishingParameters* obj); +GType publishing_facebook_web_authentication_pane_get_type (void) G_GNUC_CONST; +gpointer publishing_facebook_graph_session_ref (gpointer instance); +void publishing_facebook_graph_session_unref (gpointer instance); +GParamSpec* publishing_facebook_param_spec_graph_session (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_facebook_value_set_graph_session (GValue* value, gpointer v_object); +void publishing_facebook_value_take_graph_session (GValue* value, gpointer v_object); +gpointer publishing_facebook_value_get_graph_session (const GValue* value); +GType publishing_facebook_graph_session_get_type (void) G_GNUC_CONST; +GType publishing_facebook_publishing_options_pane_get_type (void) G_GNUC_CONST; +gpointer publishing_facebook_uploader_ref (gpointer instance); +void publishing_facebook_uploader_unref (gpointer instance); +GParamSpec* publishing_facebook_param_spec_uploader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_facebook_value_set_uploader (GValue* value, gpointer v_object); +void publishing_facebook_value_take_uploader (GValue* value, gpointer v_object); +gpointer publishing_facebook_value_get_uploader (const GValue* value); +GType publishing_facebook_uploader_get_type (void) G_GNUC_CONST; +#define PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisherPrivate)) +enum { + PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_DUMMY_PROPERTY +}; +PublishingFacebookGraphSession* publishing_facebook_graph_session_new (void); +PublishingFacebookGraphSession* publishing_facebook_graph_session_construct (GType object_type); +static void publishing_facebook_facebook_publisher_on_session_authenticated (PublishingFacebookFacebookPublisher* self); +static void _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated (PublishingFacebookGraphSession* _sender, gpointer self); +static gboolean publishing_facebook_facebook_publisher_is_persistent_session_valid (PublishingFacebookFacebookPublisher* self); +static gchar* publishing_facebook_facebook_publisher_get_persistent_access_token (PublishingFacebookFacebookPublisher* self); +static gboolean publishing_facebook_facebook_publisher_get_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_set_persistent_access_token (PublishingFacebookFacebookPublisher* self, const gchar* access_token); +static void publishing_facebook_facebook_publisher_set_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self, gboolean strip_metadata); +gint publishing_facebook_facebook_publisher_get_persistent_default_size (PublishingFacebookFacebookPublisher* self); +void publishing_facebook_facebook_publisher_set_persistent_default_size (PublishingFacebookFacebookPublisher* self, gint size); +static void publishing_facebook_facebook_publisher_invalidate_persistent_session (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_do_show_service_welcome_pane (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_on_login_clicked (PublishingFacebookFacebookPublisher* self); +static void _publishing_facebook_facebook_publisher_on_login_clicked_spit_publishing_login_callback (gpointer self); +static void publishing_facebook_facebook_publisher_do_test_connection_to_endpoint (PublishingFacebookFacebookPublisher* self); +gpointer publishing_facebook_graph_message_ref (gpointer instance); +void publishing_facebook_graph_message_unref (gpointer instance); +GParamSpec* publishing_facebook_param_spec_graph_message (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_facebook_value_set_graph_message (GValue* value, gpointer v_object); +void publishing_facebook_value_take_graph_message (GValue* value, gpointer v_object); +gpointer publishing_facebook_value_get_graph_message (const GValue* value); +GType publishing_facebook_graph_message_get_type (void) G_GNUC_CONST; +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_endpoint_test (PublishingFacebookGraphSession* self); +static void publishing_facebook_facebook_publisher_on_endpoint_test_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message); +static void _publishing_facebook_facebook_publisher_on_endpoint_test_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self); +static void publishing_facebook_facebook_publisher_on_endpoint_test_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* _error_); +static void _publishing_facebook_facebook_publisher_on_endpoint_test_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self); +void publishing_facebook_graph_session_send_message (PublishingFacebookGraphSession* self, PublishingFacebookGraphMessage* message); +static void publishing_facebook_facebook_publisher_do_fetch_user_info (PublishingFacebookFacebookPublisher* self); +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_query (PublishingFacebookGraphSession* self, const gchar* resource_path); +static void publishing_facebook_facebook_publisher_on_fetch_user_info_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message); +static void _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self); +static void publishing_facebook_facebook_publisher_on_fetch_user_info_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* _error_); +static void _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self); +static void publishing_facebook_facebook_publisher_do_fetch_album_descriptions (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_on_fetch_albums_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message); +static void _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self); +static void publishing_facebook_facebook_publisher_on_fetch_albums_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* err); +static void _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self); +static void publishing_facebook_facebook_publisher_do_extract_user_info_from_json (PublishingFacebookFacebookPublisher* self, const gchar* json); +static JsonNode* _vala_JsonNode_copy (JsonNode* self); +static void _vala_JsonNode_free (JsonNode* self); +static void publishing_facebook_facebook_publisher_on_user_info_extracted (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_do_extract_albums_from_json (PublishingFacebookFacebookPublisher* self, const gchar* json); +static void publishing_facebook_facebook_publisher_on_albums_extracted (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_do_create_new_album (PublishingFacebookFacebookPublisher* self); +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_create_album (PublishingFacebookGraphSession* self, const gchar* album_name, const gchar* privacy); +static void publishing_facebook_facebook_publisher_on_create_album_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message); +static void _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self); +static void publishing_facebook_facebook_publisher_on_create_album_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* err); +static void _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self); +static void publishing_facebook_facebook_publisher_do_show_publishing_options_pane (PublishingFacebookFacebookPublisher* self); +PublishingFacebookPublishingOptionsPane* publishing_facebook_publishing_options_pane_new (const gchar* username, PublishingFacebookAlbum** albums, int albums_length1, SpitPublishingPublisherMediaType media_type, PublishingFacebookFacebookPublisher* publisher, GtkBuilder* builder, gboolean strip_metadata); +PublishingFacebookPublishingOptionsPane* publishing_facebook_publishing_options_pane_construct (GType object_type, const gchar* username, PublishingFacebookAlbum** albums, int albums_length1, SpitPublishingPublisherMediaType media_type, PublishingFacebookFacebookPublisher* publisher, GtkBuilder* builder, gboolean strip_metadata); +static void publishing_facebook_facebook_publisher_on_publishing_options_pane_logout (PublishingFacebookFacebookPublisher* self); +static void _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender, gpointer self); +static void publishing_facebook_facebook_publisher_on_publishing_options_pane_publish (PublishingFacebookFacebookPublisher* self, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution resolution, gboolean strip_metadata); +static void _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution target_resolution, gboolean strip_metadata, gpointer self); +static void publishing_facebook_facebook_publisher_do_logout (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_do_add_new_local_album_from_json (PublishingFacebookFacebookPublisher* self, const gchar* album_name, const gchar* json); +static void publishing_facebook_facebook_publisher_do_upload (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_do_hosted_web_authentication (PublishingFacebookFacebookPublisher* self); +PublishingFacebookWebAuthenticationPane* publishing_facebook_web_authentication_pane_new (void); +PublishingFacebookWebAuthenticationPane* publishing_facebook_web_authentication_pane_construct (GType object_type); +static void publishing_facebook_facebook_publisher_on_web_auth_pane_login_succeeded (PublishingFacebookFacebookPublisher* self, const gchar* success_url); +static void _publishing_facebook_facebook_publisher_on_web_auth_pane_login_succeeded_publishing_facebook_web_authentication_pane_login_succeeded (PublishingFacebookWebAuthenticationPane* _sender, const gchar* success_url, gpointer self); +static void publishing_facebook_facebook_publisher_on_web_auth_pane_login_failed (PublishingFacebookFacebookPublisher* self); +static void _publishing_facebook_facebook_publisher_on_web_auth_pane_login_failed_publishing_facebook_web_authentication_pane_login_failed (PublishingFacebookWebAuthenticationPane* _sender, gpointer self); +static void publishing_facebook_facebook_publisher_do_authenticate_session (PublishingFacebookFacebookPublisher* self, const gchar* good_login_uri); +void publishing_facebook_graph_session_authenticate (PublishingFacebookGraphSession* self, const gchar* access_token); +static void publishing_facebook_facebook_publisher_do_save_session_information (PublishingFacebookFacebookPublisher* self); +gchar* publishing_facebook_graph_session_get_access_token (PublishingFacebookGraphSession* self); +PublishingFacebookUploader* publishing_facebook_uploader_new (PublishingFacebookGraphSession* session, PublishingFacebookPublishingParameters* publishing_params, SpitPublishingPublishable** publishables, int publishables_length1); +PublishingFacebookUploader* publishing_facebook_uploader_construct (GType object_type, PublishingFacebookGraphSession* session, PublishingFacebookPublishingParameters* publishing_params, SpitPublishingPublishable** publishables, int publishables_length1); +static void publishing_facebook_facebook_publisher_on_upload_complete (PublishingFacebookFacebookPublisher* self, PublishingFacebookUploader* uploader, gint num_published); +static void _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete (PublishingFacebookUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_facebook_facebook_publisher_on_upload_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookUploader* uploader, GError* err); +static void _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error (PublishingFacebookUploader* _sender, GError* err, gpointer self); +void publishing_facebook_uploader_upload (PublishingFacebookUploader* self, SpitPublishingProgressCallback status_updated, void* status_updated_target); +static void publishing_facebook_facebook_publisher_on_upload_status_updated (PublishingFacebookFacebookPublisher* self, gint file_number, gdouble completed_fraction); +static void _publishing_facebook_facebook_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_facebook_facebook_publisher_do_show_success_pane (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_on_generic_error (PublishingFacebookFacebookPublisher* self, GError* _error_); +gboolean publishing_facebook_graph_session_is_authenticated (PublishingFacebookGraphSession* self); +gchar* publishing_facebook_graph_message_get_response_body (PublishingFacebookGraphMessage* self); +static SpitPublishingService* publishing_facebook_facebook_publisher_real_get_service (SpitPublishingPublisher* base); +gchar* publishing_facebook_facebook_publisher_get_service_name (PublishingFacebookFacebookPublisher* self); +gchar* publishing_facebook_facebook_publisher_get_user_visible_name (PublishingFacebookFacebookPublisher* self); +static void publishing_facebook_facebook_publisher_real_start (SpitPublishingPublisher* base); +gboolean publishing_facebook_web_authentication_pane_is_cache_dirty (void); +static void publishing_facebook_facebook_publisher_real_stop (SpitPublishingPublisher* base); +void publishing_facebook_graph_session_stop_transactions (PublishingFacebookGraphSession* self); +static gboolean publishing_facebook_facebook_publisher_real_is_running (SpitPublishingPublisher* base); +static void publishing_facebook_facebook_publisher_finalize (GObject* obj); +static gpointer publishing_facebook_web_authentication_pane_locale_lookup_ref (gpointer instance); +static void publishing_facebook_web_authentication_pane_locale_lookup_unref (gpointer instance); +static GParamSpec* publishing_facebook_web_authentication_pane_param_spec_locale_lookup (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void publishing_facebook_web_authentication_pane_value_set_locale_lookup (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void publishing_facebook_web_authentication_pane_value_take_locale_lookup (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer publishing_facebook_web_authentication_pane_value_get_locale_lookup (const GValue* value) G_GNUC_UNUSED; +static GType publishing_facebook_web_authentication_pane_locale_lookup_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPanePrivate)) +enum { + PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_DUMMY_PROPERTY +}; +static PublishingFacebookWebAuthenticationPaneLocaleLookup* publishing_facebook_web_authentication_pane_locale_lookup_new (const gchar* prefix, const gchar* translation, const gchar* exception_code, const gchar* exception_translation, const gchar* exception_code_2, const gchar* exception_translation_2); +static PublishingFacebookWebAuthenticationPaneLocaleLookup* publishing_facebook_web_authentication_pane_locale_lookup_construct (GType object_type, const gchar* prefix, const gchar* translation, const gchar* exception_code, const gchar* exception_translation, const gchar* exception_code_2, const gchar* exception_translation_2); +static void publishing_facebook_web_authentication_pane_on_page_load_changed (PublishingFacebookWebAuthenticationPane* self, WebKitLoadEvent load_event); +static void _publishing_facebook_web_authentication_pane_on_page_load_changed_webkit_web_view_load_changed (WebKitWebView* _sender, WebKitLoadEvent load_event, gpointer self); +static gboolean __lambda4_ (PublishingFacebookWebAuthenticationPane* self); +static gboolean ___lambda4__webkit_web_view_context_menu (WebKitWebView* _sender, WebKitContextMenu* context_menu, GdkEvent* event, WebKitHitTestResult* hit_test_result, gpointer self); +static gchar* publishing_facebook_web_authentication_pane_get_system_locale_as_facebook_locale (PublishingFacebookWebAuthenticationPane* self); +static gchar* publishing_facebook_web_authentication_pane_get_login_url (PublishingFacebookWebAuthenticationPane* self); +static void publishing_facebook_web_authentication_pane_on_page_load (PublishingFacebookWebAuthenticationPane* self); +static void publishing_facebook_web_authentication_pane_on_load_started (PublishingFacebookWebAuthenticationPane* self); +static GtkWidget* publishing_facebook_web_authentication_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_facebook_web_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_facebook_web_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_facebook_web_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +enum { + PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_LOCALE_LOOKUP_DUMMY_PROPERTY +}; +static void publishing_facebook_web_authentication_pane_locale_lookup_finalize (PublishingFacebookWebAuthenticationPaneLocaleLookup* obj); +static void publishing_facebook_web_authentication_pane_finalize (GObject* obj); +static gpointer publishing_facebook_publishing_options_pane_privacy_description_ref (gpointer instance); +static void publishing_facebook_publishing_options_pane_privacy_description_unref (gpointer instance); +static GParamSpec* publishing_facebook_publishing_options_pane_param_spec_privacy_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void publishing_facebook_publishing_options_pane_value_set_privacy_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void publishing_facebook_publishing_options_pane_value_take_privacy_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer publishing_facebook_publishing_options_pane_value_get_privacy_description (const GValue* value) G_GNUC_UNUSED; +static GType publishing_facebook_publishing_options_pane_privacy_description_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPanePrivate)) +enum { + PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_HEADER_LABEL_TEXT _ ("You are logged into Facebook as %s.\n\n") +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PHOTOS_LABEL_TEXT _ ("Where would you like to publish the selected photos?") +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_RESOLUTION_LABEL_TEXT _ ("Upload _size:") +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_CONTENT_GROUP_SPACING 32 +#define PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_STANDARD_ACTION_BUTTON_WIDTH 128 +static PublishingFacebookAlbum** _vala_array_dup2 (PublishingFacebookAlbum** self, int length); +static PublishingFacebookPublishingOptionsPanePrivacyDescription** publishing_facebook_publishing_options_pane_create_privacy_descriptions (PublishingFacebookPublishingOptionsPane* self, int* result_length1); +static PublishingFacebookResolution* publishing_facebook_publishing_options_pane_create_resolution_list (PublishingFacebookPublishingOptionsPane* self, int* result_length1); +static void publishing_facebook_publishing_options_pane_on_create_new_toggled (PublishingFacebookPublishingOptionsPane* self); +static void _publishing_facebook_publishing_options_pane_on_create_new_toggled_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_facebook_publishing_options_pane_on_use_existing_toggled (PublishingFacebookPublishingOptionsPane* self); +static void _publishing_facebook_publishing_options_pane_on_use_existing_toggled_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_facebook_publishing_options_pane_setup_visibility_combo (PublishingFacebookPublishingOptionsPane* self); +static void publishing_facebook_publishing_options_pane_on_publish_button_clicked (PublishingFacebookPublishingOptionsPane* self); +static void _publishing_facebook_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_facebook_publishing_options_pane_on_logout_button_clicked (PublishingFacebookPublishingOptionsPane* self); +static void _publishing_facebook_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_facebook_publishing_options_pane_setup_resolution_combo (PublishingFacebookPublishingOptionsPane* self); +static void publishing_facebook_publishing_options_pane_on_size_changed (PublishingFacebookPublishingOptionsPane* self); +static void _publishing_facebook_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static gboolean publishing_facebook_publishing_options_pane_publishing_photos (PublishingFacebookPublishingOptionsPane* self); +static PublishingFacebookPublishingOptionsPanePrivacyDescription* publishing_facebook_publishing_options_pane_privacy_description_new (const gchar* description, const gchar* privacy_setting); +static PublishingFacebookPublishingOptionsPanePrivacyDescription* publishing_facebook_publishing_options_pane_privacy_description_construct (GType object_type, const gchar* description, const gchar* privacy_setting); +static void _vala_array_add7 (PublishingFacebookPublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingFacebookPublishingOptionsPanePrivacyDescription* value); +static void _vala_array_add8 (PublishingFacebookPublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingFacebookPublishingOptionsPanePrivacyDescription* value); +static void _vala_array_add9 (PublishingFacebookPublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingFacebookPublishingOptionsPanePrivacyDescription* value); +static void _vala_array_add10 (PublishingFacebookResolution** array, int* length, int* size, PublishingFacebookResolution value); +static void _vala_array_add11 (PublishingFacebookResolution** array, int* length, int* size, PublishingFacebookResolution value); +void publishing_facebook_publishing_options_pane_installed (PublishingFacebookPublishingOptionsPane* self); +static void publishing_facebook_publishing_options_pane_notify_logout (PublishingFacebookPublishingOptionsPane* self); +static void publishing_facebook_publishing_options_pane_notify_publish (PublishingFacebookPublishingOptionsPane* self, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution target_resolution); +static GtkWidget* publishing_facebook_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_facebook_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_facebook_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void _publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender, gpointer self); +static void _publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution target_resolution, gboolean strip_metadata, gpointer self); +static void publishing_facebook_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__STRING_STRING_ENUM_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +enum { + PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_DUMMY_PROPERTY +}; +static void publishing_facebook_publishing_options_pane_privacy_description_finalize (PublishingFacebookPublishingOptionsPanePrivacyDescription* obj); +static void publishing_facebook_publishing_options_pane_finalize (GObject* obj); +GType publishing_facebook_endpoint_get_type (void) G_GNUC_CONST; +gchar* publishing_facebook_endpoint_to_uri (PublishingFacebookEndpoint self); +enum { + PUBLISHING_FACEBOOK_GRAPH_MESSAGE_DUMMY_PROPERTY +}; +gchar* publishing_facebook_graph_message_get_uri (PublishingFacebookGraphMessage* self); +static gchar* publishing_facebook_graph_message_real_get_uri (PublishingFacebookGraphMessage* self); +static gchar* publishing_facebook_graph_message_real_get_response_body (PublishingFacebookGraphMessage* self); +PublishingFacebookGraphMessage* publishing_facebook_graph_message_construct (GType object_type); +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 publishing_facebook_graph_message_finalize (PublishingFacebookGraphMessage* obj); +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSessionPrivate)) +enum { + PUBLISHING_FACEBOOK_GRAPH_SESSION_DUMMY_PROPERTY +}; +static void publishing_facebook_graph_session_on_request_unqueued (PublishingFacebookGraphSession* self, SoupMessage* msg); +static void _publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued (SoupSession* _sender, SoupMessage* msg, gpointer self); +static void publishing_facebook_graph_session_manage_message (PublishingFacebookGraphSession* self, PublishingFacebookGraphMessage* msg); +static void publishing_facebook_graph_session_unmanage_message (PublishingFacebookGraphSession* self, PublishingFacebookGraphMessage* msg); +static GType publishing_facebook_graph_session_graph_message_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static void publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data (PublishingFacebookGraphSessionGraphMessageImpl* self, SoupBuffer* chunk); +static void _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data (SoupMessage* _sender, SoupBuffer* chunk, gpointer self); +static PublishingFacebookGraphSessionGraphEndpointProbeMessage* publishing_facebook_graph_session_graph_endpoint_probe_message_new (PublishingFacebookGraphSession* host_session); +static PublishingFacebookGraphSessionGraphEndpointProbeMessage* publishing_facebook_graph_session_graph_endpoint_probe_message_construct (GType object_type, PublishingFacebookGraphSession* host_session); +static GType publishing_facebook_graph_session_graph_endpoint_probe_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PublishingFacebookGraphSessionGraphQueryMessage* publishing_facebook_graph_session_graph_query_message_new (PublishingFacebookGraphSession* host_session, const gchar* relative_uri, const gchar* access_token); +static PublishingFacebookGraphSessionGraphQueryMessage* publishing_facebook_graph_session_graph_query_message_construct (GType object_type, PublishingFacebookGraphSession* host_session, const gchar* relative_uri, const gchar* access_token); +static GType publishing_facebook_graph_session_graph_query_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_upload (PublishingFacebookGraphSession* self, const gchar* resource_path, SpitPublishingPublishable* publishable, gboolean suppress_titling, const gchar* resource_privacy); +static PublishingFacebookGraphSessionGraphUploadMessage* publishing_facebook_graph_session_graph_upload_message_new (PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* relative_uri, SpitPublishingPublishable* publishable, gboolean suppress_titling, const gchar* resource_privacy); +static PublishingFacebookGraphSessionGraphUploadMessage* publishing_facebook_graph_session_graph_upload_message_construct (GType object_type, PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* relative_uri, SpitPublishingPublishable* publishable, gboolean suppress_titling, const gchar* resource_privacy); +static GType publishing_facebook_graph_session_graph_upload_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PublishingFacebookGraphSessionGraphCreateAlbumMessage* publishing_facebook_graph_session_graph_create_album_message_new (PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* album_name, const gchar* album_privacy); +static PublishingFacebookGraphSessionGraphCreateAlbumMessage* publishing_facebook_graph_session_graph_create_album_message_construct (GType object_type, PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* album_name, const gchar* album_privacy); +static GType publishing_facebook_graph_session_graph_create_album_message_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static gboolean publishing_facebook_graph_session_graph_message_impl_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self); +enum { + PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL_DUMMY_PROPERTY +}; +static PublishingFacebookGraphSessionGraphMessageImpl* publishing_facebook_graph_session_graph_message_impl_construct (GType object_type, PublishingFacebookGraphSession* host_session, PublishingRESTSupportHttpMethod method, const gchar* relative_uri, const gchar* access_token, PublishingFacebookEndpoint endpoint); +static gboolean publishing_facebook_graph_session_graph_message_impl_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self); +static gchar* publishing_facebook_graph_session_graph_message_impl_real_get_uri (PublishingFacebookGraphMessage* base); +static gchar* publishing_facebook_graph_session_graph_message_impl_real_get_response_body (PublishingFacebookGraphMessage* base); +static void publishing_facebook_graph_session_graph_message_impl_finalize (PublishingFacebookGraphMessage* obj); +enum { + PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_QUERY_MESSAGE_DUMMY_PROPERTY +}; +static void _vala_SoupURI_free (SoupURI* self); +enum { + PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_ENDPOINT_PROBE_MESSAGE_DUMMY_PROPERTY +}; +#define PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessagePrivate)) +enum { + PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_DUMMY_PROPERTY +}; +static void _vala_SoupMultipart_free (SoupMultipart* self); +static void _vala_SoupBuffer_free (SoupBuffer* self); +static gboolean publishing_facebook_graph_session_graph_upload_message_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* base); +static void publishing_facebook_graph_session_graph_upload_message_finalize (PublishingFacebookGraphMessage* obj); +enum { + PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_CREATE_ALBUM_MESSAGE_DUMMY_PROPERTY +}; +static void publishing_facebook_graph_session_finalize (PublishingFacebookGraphSession* obj); +#define PUBLISHING_FACEBOOK_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploaderPrivate)) +enum { + PUBLISHING_FACEBOOK_UPLOADER_DUMMY_PROPERTY +}; +static SpitPublishingPublishable** _vala_array_dup3 (SpitPublishingPublishable** self, int length); +static void publishing_facebook_uploader_send_current_file (PublishingFacebookUploader* self); +static void publishing_facebook_uploader_on_chunk_transmitted (PublishingFacebookUploader* self, gint bytes_written_so_far, gint total_bytes); +static void _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted (PublishingFacebookGraphMessage* _sender, gint bytes_sent_so_far, gint total_bytes, gpointer self); +static void publishing_facebook_uploader_on_message_completed (PublishingFacebookUploader* self, PublishingFacebookGraphMessage* message); +static void _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self); +static void publishing_facebook_uploader_on_message_failed (PublishingFacebookUploader* self, PublishingFacebookGraphMessage* message, GError* _error_); +static void _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self); +static void publishing_facebook_uploader_send_files (PublishingFacebookUploader* self); +static void publishing_facebook_uploader_finalize (PublishingFacebookUploader* 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); + + +FacebookService* facebook_service_construct (GType object_type, GFile* resource_directory) { + FacebookService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (FacebookService*) g_object_new (object_type, NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = facebook_service_icon_pixbuf_set; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = facebook_service_icon_pixbuf_set_length1; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_ == NULL) { +#line 927 "FacebookPublishing.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" FACEBOOK_SERVICE_ICON_FILENAME, &_tmp1_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + facebook_service_icon_pixbuf_set = (_vala_array_free (facebook_service_icon_pixbuf_set, facebook_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + facebook_service_icon_pixbuf_set = _tmp2_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + facebook_service_icon_pixbuf_set_length1 = _tmp1_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _facebook_service_icon_pixbuf_set_size_ = facebook_service_icon_pixbuf_set_length1; +#line 940 "FacebookPublishing.c" + } +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 944 "FacebookPublishing.c" +} + + +FacebookService* facebook_service_new (GFile* resource_directory) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return facebook_service_construct (TYPE_FACEBOOK_SERVICE, resource_directory); +#line 951 "FacebookPublishing.c" +} + + +static gint facebook_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + FacebookService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = min_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = max_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp2_; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 973 "FacebookPublishing.c" +} + + +static const gchar* facebook_service_real_get_id (SpitPluggable* base) { + FacebookService * self; + const gchar* result = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = "org.yorba.shotwell.publishing.facebook"; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 986 "FacebookPublishing.c" +} + + +static const gchar* facebook_service_real_get_pluggable_name (SpitPluggable* base) { + FacebookService * self; + const gchar* result = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = "Facebook"; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 999 "FacebookPublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 1006 "FacebookPublishing.c" +} + + +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + for (i = 0; i < length; i++) { +#line 1017 "FacebookPublishing.c" + GdkPixbuf* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result[i] = _tmp0_; +#line 1023 "FacebookPublishing.c" + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1027 "FacebookPublishing.c" +} + + +static void facebook_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + FacebookService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (info != NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = g_strdup ("Lucas Beeler"); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 ((*info).authors); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).authors = _tmp0_; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc."); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 ((*info).copyright); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).copyright = _tmp2_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 ((*info).translators); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).translators = _tmp3_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 ((*info).version); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).version = _tmp4_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 ((*info).website_name); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).website_name = _tmp5_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 ((*info).website_url); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).website_url = _tmp6_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 ((*info).license); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).license = _tmp7_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = facebook_service_icon_pixbuf_set; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8__length1 = facebook_service_icon_pixbuf_set_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup1 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).icons = _tmp9_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*info).icons_length1 = _tmp9__length1; +#line 1109 "FacebookPublishing.c" +} + + +static void facebook_service_real_activation (SpitPluggable* base, gboolean enabled) { + FacebookService * self; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 1117 "FacebookPublishing.c" +} + + +static SpitPublishingPublisher* facebook_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + FacebookService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingFacebookFacebookPublisher* _tmp1_ = NULL; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = host; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = publishing_facebook_facebook_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1138 "FacebookPublishing.c" +} + + +static SpitPublishingPublisherMediaType facebook_service_real_get_supported_media (SpitPublishingService* base) { + FacebookService * self; + SpitPublishingPublisherMediaType result = 0; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1151 "FacebookPublishing.c" +} + + +static void facebook_service_class_init (FacebookServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + facebook_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = facebook_service_finalize; +#line 1160 "FacebookPublishing.c" +} + + +static void facebook_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + facebook_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) facebook_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) facebook_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) facebook_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) facebook_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) facebook_service_real_activation; +#line 1177 "FacebookPublishing.c" +} + + +static void facebook_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + facebook_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) facebook_service_real_create_publisher; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) facebook_service_real_get_supported_media; +#line 1188 "FacebookPublishing.c" +} + + +static void facebook_service_instance_init (FacebookService * self) { +} + + +static void facebook_service_finalize (GObject* obj) { + FacebookService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FACEBOOK_SERVICE, FacebookService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (facebook_service_parent_class)->finalize (obj); +#line 1202 "FacebookPublishing.c" +} + + +GType facebook_service_get_type (void) { + static volatile gsize facebook_service_type_id__volatile = 0; + if (g_once_init_enter (&facebook_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FacebookServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) facebook_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FacebookService), 0, (GInstanceInitFunc) facebook_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) facebook_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) facebook_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType facebook_service_type_id; + facebook_service_type_id = g_type_register_static (G_TYPE_OBJECT, "FacebookService", &g_define_type_info, 0); + g_type_add_interface_static (facebook_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (facebook_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&facebook_service_type_id__volatile, facebook_service_type_id); + } + return facebook_service_type_id__volatile; +} + + +PublishingFacebookAlbum* publishing_facebook_album_construct (GType object_type, const gchar* name, const gchar* id) { + PublishingFacebookAlbum* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookAlbum*) g_type_create_instance (object_type); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = name; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->name); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->name = _tmp1_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = id; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->id); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->id = _tmp3_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 1252 "FacebookPublishing.c" +} + + +PublishingFacebookAlbum* publishing_facebook_album_new (const gchar* name, const gchar* id) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_album_construct (PUBLISHING_FACEBOOK_TYPE_ALBUM, name, id); +#line 1259 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_album_init (GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1266 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_album_free_value (GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (value->data[0].v_pointer) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_album_unref (value->data[0].v_pointer); +#line 1275 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_value_album_copy_value (const GValue* src_value, GValue* dest_value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = publishing_facebook_album_ref (src_value->data[0].v_pointer); +#line 1285 "FacebookPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1289 "FacebookPublishing.c" + } +} + + +static gpointer publishing_facebook_value_album_peek_pointer (const GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 1297 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_album_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1304 "FacebookPublishing.c" + PublishingFacebookAlbum* object; + object = collect_values[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1311 "FacebookPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 1315 "FacebookPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = publishing_facebook_album_ref (object); +#line 1319 "FacebookPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1323 "FacebookPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 1327 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_album_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFacebookAlbum** object_p; + object_p = collect_values[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!object_p) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1338 "FacebookPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!value->data[0].v_pointer) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = NULL; +#line 1344 "FacebookPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1348 "FacebookPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = publishing_facebook_album_ref (value->data[0].v_pointer); +#line 1352 "FacebookPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 1356 "FacebookPublishing.c" +} + + +GParamSpec* publishing_facebook_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFacebookParamSpecAlbum* spec; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_ALBUM), NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1370 "FacebookPublishing.c" +} + + +gpointer publishing_facebook_value_get_album (const GValue* value) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_ALBUM), NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 1379 "FacebookPublishing.c" +} + + +void publishing_facebook_value_set_album (GValue* value, gpointer v_object) { + PublishingFacebookAlbum* old; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_ALBUM)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_ALBUM)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_album_ref (value->data[0].v_pointer); +#line 1399 "FacebookPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1403 "FacebookPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_album_unref (old); +#line 1409 "FacebookPublishing.c" + } +} + + +void publishing_facebook_value_take_album (GValue* value, gpointer v_object) { + PublishingFacebookAlbum* old; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_ALBUM)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_ALBUM)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1428 "FacebookPublishing.c" + } else { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1432 "FacebookPublishing.c" + } +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_album_unref (old); +#line 1438 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_album_class_init (PublishingFacebookAlbumClass * klass) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_album_parent_class = g_type_class_peek_parent (klass); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookAlbumClass *) klass)->finalize = publishing_facebook_album_finalize; +#line 1448 "FacebookPublishing.c" +} + + +static void publishing_facebook_album_instance_init (PublishingFacebookAlbum * self) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->ref_count = 1; +#line 1455 "FacebookPublishing.c" +} + + +static void publishing_facebook_album_finalize (PublishingFacebookAlbum* obj) { + PublishingFacebookAlbum * self; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_ALBUM, PublishingFacebookAlbum); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_destroy (self); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->name); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->id); +#line 1469 "FacebookPublishing.c" +} + + +GType publishing_facebook_album_get_type (void) { + static volatile gsize publishing_facebook_album_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_album_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_album_init, publishing_facebook_value_album_free_value, publishing_facebook_value_album_copy_value, publishing_facebook_value_album_peek_pointer, "p", publishing_facebook_value_album_collect_value, "p", publishing_facebook_value_album_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookAlbumClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_album_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookAlbum), 0, (GInstanceInitFunc) publishing_facebook_album_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 publishing_facebook_album_type_id; + publishing_facebook_album_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookAlbum", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_facebook_album_type_id__volatile, publishing_facebook_album_type_id); + } + return publishing_facebook_album_type_id__volatile; +} + + +gpointer publishing_facebook_album_ref (gpointer instance) { + PublishingFacebookAlbum* self; + self = instance; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return instance; +#line 1494 "FacebookPublishing.c" +} + + +void publishing_facebook_album_unref (gpointer instance) { + PublishingFacebookAlbum* self; + self = instance; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_ALBUM_GET_CLASS (self)->finalize (self); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1507 "FacebookPublishing.c" + } +} + + +gchar* publishing_facebook_resolution_get_name (PublishingFacebookResolution self) { + gchar* result = NULL; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + switch (self) { +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_RESOLUTION_STANDARD: +#line 1518 "FacebookPublishing.c" + { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _ ("Standard (720 pixels)"); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1530 "FacebookPublishing.c" + } +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_RESOLUTION_HIGH: +#line 1534 "FacebookPublishing.c" + { + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _ ("Large (2048 pixels)"); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp3_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1546 "FacebookPublishing.c" + } + default: + { + GEnumValue* _tmp4_; +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = g_enum_get_value (g_type_class_ref (PUBLISHING_FACEBOOK_TYPE_RESOLUTION), self); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_error ("FacebookPublishing.vala:93: Unknown resolution %s", (_tmp4_ != NULL) ? _tmp4_->value_name : NULL); +#line 1555 "FacebookPublishing.c" + } + } +} + + +gint publishing_facebook_resolution_get_pixels (PublishingFacebookResolution self) { + gint result = 0; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + switch (self) { +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_RESOLUTION_STANDARD: +#line 1567 "FacebookPublishing.c" + { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = 720; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1573 "FacebookPublishing.c" + } +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_RESOLUTION_HIGH: +#line 1577 "FacebookPublishing.c" + { +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = 2048; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1583 "FacebookPublishing.c" + } + default: + { + GEnumValue* _tmp0_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = g_enum_get_value (g_type_class_ref (PUBLISHING_FACEBOOK_TYPE_RESOLUTION), self); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_error ("FacebookPublishing.vala:106: Unknown resolution %s", (_tmp0_ != NULL) ? _tmp0_->value_name : NULL); +#line 1592 "FacebookPublishing.c" + } + } +} + + +GType publishing_facebook_resolution_get_type (void) { + static volatile gsize publishing_facebook_resolution_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_resolution_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_FACEBOOK_RESOLUTION_STANDARD, "PUBLISHING_FACEBOOK_RESOLUTION_STANDARD", "standard"}, {PUBLISHING_FACEBOOK_RESOLUTION_HIGH, "PUBLISHING_FACEBOOK_RESOLUTION_HIGH", "high"}, {0, NULL, NULL}}; + GType publishing_facebook_resolution_type_id; + publishing_facebook_resolution_type_id = g_enum_register_static ("PublishingFacebookResolution", values); + g_once_init_leave (&publishing_facebook_resolution_type_id__volatile, publishing_facebook_resolution_type_id); + } + return publishing_facebook_resolution_type_id__volatile; +} + + +PublishingFacebookPublishingParameters* publishing_facebook_publishing_parameters_construct (GType object_type) { + PublishingFacebookPublishingParameters* self = NULL; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookPublishingParameters*) g_type_create_instance (object_type); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->albums = (_vala_array_free (self->albums, self->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->albums = NULL; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->albums_length1 = 0; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->_albums_size_ = self->albums_length1; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->privacy_object); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->privacy_object = NULL; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->target_album = PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->new_album_name); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->new_album_name = NULL; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->strip_metadata = FALSE; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->resolution = PUBLISHING_FACEBOOK_RESOLUTION_HIGH; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 1638 "FacebookPublishing.c" +} + + +PublishingFacebookPublishingParameters* publishing_facebook_publishing_parameters_new (void) { +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_publishing_parameters_construct (PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS); +#line 1645 "FacebookPublishing.c" +} + + +static gpointer _publishing_facebook_album_ref0 (gpointer self) { +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? publishing_facebook_album_ref (self) : NULL; +#line 1652 "FacebookPublishing.c" +} + + +static void _vala_array_add6 (PublishingFacebookAlbum*** array, int* length, int* size, PublishingFacebookAlbum* value) { +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if ((*length) == (*size)) { +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *array = g_renew (PublishingFacebookAlbum*, *array, (*size) + 1); +#line 1663 "FacebookPublishing.c" + } +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[(*length)++] = value; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[*length] = NULL; +#line 1669 "FacebookPublishing.c" +} + + +void publishing_facebook_publishing_parameters_add_album (PublishingFacebookPublishingParameters* self, const gchar* name, const gchar* id) { + PublishingFacebookAlbum** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingFacebookAlbum* new_album = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + PublishingFacebookAlbum* _tmp4_ = NULL; + PublishingFacebookAlbum** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + PublishingFacebookAlbum* _tmp6_ = NULL; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self)); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (name != NULL); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (id != NULL); +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->albums; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = self->albums_length1; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_ == NULL) { +#line 1695 "FacebookPublishing.c" + PublishingFacebookAlbum** _tmp1_ = NULL; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_new0 (PublishingFacebookAlbum*, 0 + 1); +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->albums = (_vala_array_free (self->albums, self->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL); +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->albums = _tmp1_; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->albums_length1 = 0; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->_albums_size_ = self->albums_length1; +#line 1707 "FacebookPublishing.c" + } +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = name; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = id; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = publishing_facebook_album_new (_tmp2_, _tmp3_); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + new_album = _tmp4_; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->albums; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5__length1 = self->albums_length1; +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _publishing_facebook_album_ref0 (new_album); +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_array_add6 (&self->albums, &self->albums_length1, &self->_albums_size_, _tmp6_); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_album_unref0 (new_album); +#line 1727 "FacebookPublishing.c" +} + + +void publishing_facebook_publishing_parameters_set_target_album_by_name (PublishingFacebookPublishingParameters* self, const gchar* name) { + const gchar* _tmp0_ = NULL; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self)); +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = name; +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_ == NULL) { +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->target_album = PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 1743 "FacebookPublishing.c" + } + { + gint i = 0; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + i = 0; +#line 1749 "FacebookPublishing.c" + { + gboolean _tmp1_ = FALSE; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = TRUE; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + while (TRUE) { +#line 1756 "FacebookPublishing.c" + gint _tmp3_ = 0; + PublishingFacebookAlbum** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PublishingFacebookAlbum** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + PublishingFacebookAlbum* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp1_) { +#line 1768 "FacebookPublishing.c" + gint _tmp2_ = 0; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = i; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + i = _tmp2_ + 1; +#line 1774 "FacebookPublishing.c" + } +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = FALSE; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = i; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->albums; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4__length1 = self->albums_length1; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 1788 "FacebookPublishing.c" + } +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->albums; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5__length1 = self->albums_length1; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = i; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _tmp7_->name; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = name; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_strcmp0 (_tmp8_, _tmp9_) == 0) { +#line 1804 "FacebookPublishing.c" + gint _tmp10_ = 0; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = i; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->target_album = _tmp10_; +#line 152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 1812 "FacebookPublishing.c" + } + } + } + } +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->target_album = PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM; +#line 1819 "FacebookPublishing.c" +} + + +gchar* publishing_facebook_publishing_parameters_get_target_album_name (PublishingFacebookPublishingParameters* self) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + PublishingFacebookAlbum** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingFacebookAlbum** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gint _tmp4_ = 0; + PublishingFacebookAlbum* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->albums; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1__length1 = self->albums_length1; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp1_ == NULL) { +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = TRUE; +#line 1844 "FacebookPublishing.c" + } else { + gint _tmp2_ = 0; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->target_album; +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _tmp2_ == PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM; +#line 1851 "FacebookPublishing.c" + } +#line 160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_) { +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = NULL; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1859 "FacebookPublishing.c" + } +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->albums; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3__length1 = self->albums_length1; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->target_album; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp3_[_tmp4_]; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp5_->name; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp7_; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1877 "FacebookPublishing.c" +} + + +gchar* publishing_facebook_publishing_parameters_get_target_album_id (PublishingFacebookPublishingParameters* self) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + PublishingFacebookAlbum** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingFacebookAlbum** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gint _tmp4_ = 0; + PublishingFacebookAlbum* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->albums; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1__length1 = self->albums_length1; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp1_ == NULL) { +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = TRUE; +#line 1902 "FacebookPublishing.c" + } else { + gint _tmp2_ = 0; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->target_album; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _tmp2_ == PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM; +#line 1909 "FacebookPublishing.c" + } +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_) { +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = NULL; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1917 "FacebookPublishing.c" + } +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->albums; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3__length1 = self->albums_length1; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->target_album; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp3_[_tmp4_]; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp5_->id; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp7_; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 1935 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_publishing_parameters_init (GValue* value) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1942 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_publishing_parameters_free_value (GValue* value) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (value->data[0].v_pointer) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_unref (value->data[0].v_pointer); +#line 1951 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_value_publishing_parameters_copy_value (const GValue* src_value, GValue* dest_value) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = publishing_facebook_publishing_parameters_ref (src_value->data[0].v_pointer); +#line 1961 "FacebookPublishing.c" + } else { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1965 "FacebookPublishing.c" + } +} + + +static gpointer publishing_facebook_value_publishing_parameters_peek_pointer (const GValue* value) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 1973 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_publishing_parameters_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1980 "FacebookPublishing.c" + PublishingFacebookPublishingParameters* object; + object = collect_values[0].v_pointer; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1987 "FacebookPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 1991 "FacebookPublishing.c" + } +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = publishing_facebook_publishing_parameters_ref (object); +#line 1995 "FacebookPublishing.c" + } else { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1999 "FacebookPublishing.c" + } +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 2003 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_publishing_parameters_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFacebookPublishingParameters** object_p; + object_p = collect_values[0].v_pointer; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!object_p) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2014 "FacebookPublishing.c" + } +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!value->data[0].v_pointer) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = NULL; +#line 2020 "FacebookPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 2024 "FacebookPublishing.c" + } else { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = publishing_facebook_publishing_parameters_ref (value->data[0].v_pointer); +#line 2028 "FacebookPublishing.c" + } +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 2032 "FacebookPublishing.c" +} + + +GParamSpec* publishing_facebook_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFacebookParamSpecPublishingParameters* spec; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return G_PARAM_SPEC (spec); +#line 2046 "FacebookPublishing.c" +} + + +gpointer publishing_facebook_value_get_publishing_parameters (const GValue* value) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 2055 "FacebookPublishing.c" +} + + +void publishing_facebook_value_set_publishing_parameters (GValue* value, gpointer v_object) { + PublishingFacebookPublishingParameters* old; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS)); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS)); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_ref (value->data[0].v_pointer); +#line 2075 "FacebookPublishing.c" + } else { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 2079 "FacebookPublishing.c" + } +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_unref (old); +#line 2085 "FacebookPublishing.c" + } +} + + +void publishing_facebook_value_take_publishing_parameters (GValue* value, gpointer v_object) { + PublishingFacebookPublishingParameters* old; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS)); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS)); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 2104 "FacebookPublishing.c" + } else { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 2108 "FacebookPublishing.c" + } +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_unref (old); +#line 2114 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_publishing_parameters_class_init (PublishingFacebookPublishingParametersClass * klass) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_parent_class = g_type_class_peek_parent (klass); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookPublishingParametersClass *) klass)->finalize = publishing_facebook_publishing_parameters_finalize; +#line 2124 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_parameters_instance_init (PublishingFacebookPublishingParameters * self) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->ref_count = 1; +#line 2131 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_parameters_finalize (PublishingFacebookPublishingParameters* obj) { + PublishingFacebookPublishingParameters * self; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_PARAMETERS, PublishingFacebookPublishingParameters); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_destroy (self); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->albums = (_vala_array_free (self->albums, self->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->new_album_name); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->privacy_object); +#line 2147 "FacebookPublishing.c" +} + + +GType publishing_facebook_publishing_parameters_get_type (void) { + static volatile gsize publishing_facebook_publishing_parameters_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_publishing_parameters_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_publishing_parameters_init, publishing_facebook_value_publishing_parameters_free_value, publishing_facebook_value_publishing_parameters_copy_value, publishing_facebook_value_publishing_parameters_peek_pointer, "p", publishing_facebook_value_publishing_parameters_collect_value, "p", publishing_facebook_value_publishing_parameters_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookPublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookPublishingParameters), 0, (GInstanceInitFunc) publishing_facebook_publishing_parameters_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 publishing_facebook_publishing_parameters_type_id; + publishing_facebook_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookPublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_facebook_publishing_parameters_type_id__volatile, publishing_facebook_publishing_parameters_type_id); + } + return publishing_facebook_publishing_parameters_type_id__volatile; +} + + +gpointer publishing_facebook_publishing_parameters_ref (gpointer instance) { + PublishingFacebookPublishingParameters* self; + self = instance; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return instance; +#line 2172 "FacebookPublishing.c" +} + + +void publishing_facebook_publishing_parameters_unref (gpointer instance) { + PublishingFacebookPublishingParameters* self; + self = instance; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2185 "FacebookPublishing.c" + } +} + + +static void _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated (PublishingFacebookGraphSession* _sender, gpointer self) { +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_session_authenticated ((PublishingFacebookFacebookPublisher*) self); +#line 2193 "FacebookPublishing.c" +} + + +PublishingFacebookFacebookPublisher* publishing_facebook_facebook_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingFacebookFacebookPublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingFacebookPublishingParameters* _tmp2_ = NULL; + PublishingFacebookGraphSession* _tmp3_ = NULL; + PublishingFacebookGraphSession* _tmp4_ = NULL; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookFacebookPublisher*) g_object_new (object_type, NULL); +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:189: FacebookPublisher instantiated."); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = service; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->service = _tmp0_; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = host; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->host = _tmp1_; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = publishing_facebook_publishing_parameters_new (); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishing_params = _tmp2_; +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = publishing_facebook_graph_session_new (); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_session_unref0 (self->priv->graph_session); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->graph_session = _tmp3_; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->graph_session; +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp4_, "authenticated", (GCallback) _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated, self, 0); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 2238 "FacebookPublishing.c" +} + + +PublishingFacebookFacebookPublisher* publishing_facebook_facebook_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_facebook_publisher_construct (PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, service, host); +#line 2245 "FacebookPublishing.c" +} + + +static gboolean publishing_facebook_facebook_publisher_is_persistent_session_valid (PublishingFacebookFacebookPublisher* self) { + gboolean result = FALSE; + gchar* token = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp3_ = NULL; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), FALSE); +#line 201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishing_facebook_facebook_publisher_get_persistent_access_token (self); +#line 201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + token = _tmp0_; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = token; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp1_ != NULL) { +#line 2265 "FacebookPublishing.c" + const gchar* _tmp2_ = NULL; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = token; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:204: existing Facebook session found in config" \ +"uration database (access_token = %s).", _tmp2_); +#line 2271 "FacebookPublishing.c" + } else { +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:207: no existing Facebook session available."); +#line 2275 "FacebookPublishing.c" + } +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = token; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp3_ != NULL; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (token); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 2285 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_facebook_publisher_get_persistent_access_token (PublishingFacebookFacebookPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), NULL); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_token", NULL); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 2303 "FacebookPublishing.c" +} + + +static gboolean publishing_facebook_facebook_publisher_get_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), FALSE); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", FALSE); +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 217 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 2321 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_set_persistent_access_token (PublishingFacebookFacebookPublisher* self, const gchar* access_token) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (access_token != NULL); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = access_token; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_token", _tmp1_); +#line 2338 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_set_persistent_strip_metadata (PublishingFacebookFacebookPublisher* self, gboolean strip_metadata) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = strip_metadata; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", _tmp1_); +#line 2353 "FacebookPublishing.c" +} + + +gint publishing_facebook_facebook_publisher_get_persistent_default_size (PublishingFacebookFacebookPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), 0); +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", 0); +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 2371 "FacebookPublishing.c" +} + + +void publishing_facebook_facebook_publisher_set_persistent_default_size (PublishingFacebookFacebookPublisher* self, gint size) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = size; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", _tmp1_); +#line 2386 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_invalidate_persistent_session (PublishingFacebookFacebookPublisher* self) { +#line 238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:239: invalidating saved Facebook session."); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_set_persistent_access_token (self, ""); +#line 2397 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_login_clicked_spit_publishing_login_callback (gpointer self) { +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_login_clicked ((PublishingFacebookFacebookPublisher*) self); +#line 2404 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_show_service_welcome_pane (PublishingFacebookFacebookPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:245: ACTION: showing service welcome pane."); +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_welcome_pane (_tmp0_, PUBLISHING_FACEBOOK_SERVICE_WELCOME_MESSAGE, _publishing_facebook_facebook_publisher_on_login_clicked_spit_publishing_login_callback, self); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->host; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, FALSE); +#line 2423 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_endpoint_test_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self) { +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_endpoint_test_completed ((PublishingFacebookFacebookPublisher*) self, _sender); +#line 2430 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_endpoint_test_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self) { +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_endpoint_test_error ((PublishingFacebookFacebookPublisher*) self, _sender, err); +#line 2437 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_test_connection_to_endpoint (PublishingFacebookFacebookPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingFacebookGraphMessage* endpoint_test_message = NULL; + PublishingFacebookGraphSession* _tmp3_ = NULL; + PublishingFacebookGraphMessage* _tmp4_ = NULL; + PublishingFacebookGraphSession* _tmp5_ = NULL; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:252: ACTION: testing connection to Facebook en" \ +"dpoint."); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->host; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _ ("Testing connection to Facebook..."); +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp1_, _tmp2_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->graph_session; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = publishing_facebook_graph_session_new_endpoint_test (_tmp3_); +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + endpoint_test_message = _tmp4_; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (endpoint_test_message, "completed", (GCallback) _publishing_facebook_facebook_publisher_on_endpoint_test_completed_publishing_facebook_graph_message_completed, self, 0); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (endpoint_test_message, "failed", (GCallback) _publishing_facebook_facebook_publisher_on_endpoint_test_error_publishing_facebook_graph_message_failed, self, 0); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->graph_session; +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_send_message (_tmp5_, endpoint_test_message); +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (endpoint_test_message); +#line 2479 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self) { +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_fetch_user_info_completed ((PublishingFacebookFacebookPublisher*) self, _sender); +#line 2486 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self) { +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_fetch_user_info_error ((PublishingFacebookFacebookPublisher*) self, _sender, err); +#line 2493 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_fetch_user_info (PublishingFacebookFacebookPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingFacebookGraphMessage* user_info_message = NULL; + PublishingFacebookGraphSession* _tmp2_ = NULL; + PublishingFacebookGraphMessage* _tmp3_ = NULL; + PublishingFacebookGraphSession* _tmp4_ = NULL; +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:265: ACTION: fetching user information."); +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->host; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_); +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->graph_session; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = publishing_facebook_graph_session_new_query (_tmp2_, "/me"); +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + user_info_message = _tmp3_; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (user_info_message, "completed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed, self, 0); +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (user_info_message, "failed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed, self, 0); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->graph_session; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_send_message (_tmp4_, user_info_message); +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (user_info_message); +#line 2532 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self) { +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_fetch_albums_completed ((PublishingFacebookFacebookPublisher*) self, _sender); +#line 2539 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self) { +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_fetch_albums_error ((PublishingFacebookFacebookPublisher*) self, _sender, err); +#line 2546 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_fetch_album_descriptions (PublishingFacebookFacebookPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingFacebookGraphMessage* albums_message = NULL; + PublishingFacebookGraphSession* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingFacebookGraphMessage* _tmp6_ = NULL; + PublishingFacebookGraphMessage* _tmp7_ = NULL; + PublishingFacebookGraphSession* _tmp8_ = NULL; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:279: ACTION: fetching album list."); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->host; +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->graph_session; +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->uid; +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = g_strdup_printf ("/%s/albums", _tmp3_); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_; +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_facebook_graph_session_new_query (_tmp2_, _tmp5_); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_; +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp5_); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + albums_message = _tmp7_; +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (albums_message, "completed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed, self, 0); +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (albums_message, "failed", (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed, self, 0); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->graph_session; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_send_message (_tmp8_, albums_message); +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (albums_message); +#line 2599 "FacebookPublishing.c" +} + + +static JsonNode* _vala_JsonNode_copy (JsonNode* self) { +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_boxed_copy (json_node_get_type (), self); +#line 2606 "FacebookPublishing.c" +} + + +static gpointer __vala_JsonNode_copy0 (gpointer self) { +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? _vala_JsonNode_copy (self) : NULL; +#line 2613 "FacebookPublishing.c" +} + + +static gpointer _json_object_ref0 (gpointer self) { +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? json_object_ref (self) : NULL; +#line 2620 "FacebookPublishing.c" +} + + +static void _vala_JsonNode_free (JsonNode* self) { +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_boxed_free (json_node_get_type (), self); +#line 2627 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_extract_user_info_from_json (PublishingFacebookFacebookPublisher* self, const gchar* json) { + GError * _inner_error_ = NULL; +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (json != NULL); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:293: ACTION: extracting user info from JSON re" \ +"sponse."); +#line 2639 "FacebookPublishing.c" + { + JsonParser* parser = NULL; + JsonParser* _tmp0_ = NULL; + JsonParser* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + JsonNode* root = NULL; + JsonParser* _tmp3_ = NULL; + JsonNode* _tmp4_ = NULL; + JsonNode* _tmp5_ = NULL; + JsonObject* response_object = NULL; + JsonNode* _tmp6_ = NULL; + JsonObject* _tmp7_ = NULL; + JsonObject* _tmp8_ = NULL; + JsonObject* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + JsonObject* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = json_parser_new (); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + parser = _tmp0_; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = parser; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = json; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + json_parser_load_from_data (_tmp1_, _tmp2_, (gssize) -1, &_inner_error_); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (parser); +#line 2673 "FacebookPublishing.c" + goto __catch0_g_error; + } +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = parser; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = json_parser_get_root (_tmp3_); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = __vala_JsonNode_copy0 (_tmp4_); +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + root = _tmp5_; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = root; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = json_node_get_object (_tmp6_); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _json_object_ref0 (_tmp7_); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + response_object = _tmp8_; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = response_object; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = json_object_get_string_member (_tmp9_, "id"); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->priv->uid); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->uid = _tmp11_; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = response_object; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = json_object_get_string_member (_tmp12_, "name"); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->priv->username); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->username = _tmp14_; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _json_object_unref0 (response_object); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_JsonNode_free0 (root); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (parser); +#line 2718 "FacebookPublishing.c" + } + goto __finally0; + __catch0_g_error: + { + GError* _error_ = NULL; + SpitPublishingPluginHost* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GError* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _inner_error_; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _inner_error_ = NULL; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = self->priv->host; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = _error_; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = _tmp16_->message; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp17_); +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = _tmp18_; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp15_, _tmp19_); +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_tmp19_); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 2751 "FacebookPublishing.c" + } + __finally0: +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 2762 "FacebookPublishing.c" + } +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_user_info_extracted (self); +#line 2766 "FacebookPublishing.c" +} + + +static gpointer _json_array_ref0 (gpointer self) { +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? json_array_ref (self) : NULL; +#line 2773 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_extract_albums_from_json (PublishingFacebookFacebookPublisher* self, const gchar* json) { + GError * _inner_error_ = NULL; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (json != NULL); +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:312: ACTION: extracting album info from JSON r" \ +"esponse."); +#line 2785 "FacebookPublishing.c" + { + JsonParser* parser = NULL; + JsonParser* _tmp0_ = NULL; + JsonParser* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + JsonNode* root = NULL; + JsonParser* _tmp3_ = NULL; + JsonNode* _tmp4_ = NULL; + JsonNode* _tmp5_ = NULL; + JsonObject* response_object = NULL; + JsonNode* _tmp6_ = NULL; + JsonObject* _tmp7_ = NULL; + JsonObject* _tmp8_ = NULL; + JsonArray* album_list = NULL; + JsonObject* _tmp9_ = NULL; + JsonArray* _tmp10_ = NULL; + JsonArray* _tmp11_ = NULL; + PublishingFacebookPublishingParameters* _tmp12_ = NULL; + PublishingFacebookAlbum** _tmp13_ = NULL; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = json_parser_new (); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + parser = _tmp0_; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = parser; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = json; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + json_parser_load_from_data (_tmp1_, _tmp2_, (gssize) -1, &_inner_error_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (parser); +#line 2819 "FacebookPublishing.c" + goto __catch1_g_error; + } +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = parser; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = json_parser_get_root (_tmp3_); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = __vala_JsonNode_copy0 (_tmp4_); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + root = _tmp5_; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = root; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = json_node_get_object (_tmp6_); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _json_object_ref0 (_tmp7_); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + response_object = _tmp8_; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = response_object; +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = json_object_get_array_member (_tmp9_, "data"); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = _json_array_ref0 (_tmp10_); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_list = _tmp11_; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = self->priv->publishing_params; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = g_new0 (PublishingFacebookAlbum*, 0 + 1); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_->albums = (_vala_array_free (_tmp12_->albums, _tmp12_->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_->albums = _tmp13_; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_->albums_length1 = 0; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_->_albums_size_ = _tmp12_->albums_length1; +#line 2858 "FacebookPublishing.c" + { + gint i = 0; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + i = 0; +#line 2863 "FacebookPublishing.c" + { + gboolean _tmp14_ = FALSE; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = TRUE; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + while (TRUE) { +#line 2870 "FacebookPublishing.c" + gint _tmp16_ = 0; + JsonArray* _tmp17_ = NULL; + guint _tmp18_ = 0U; + JsonObject* current_album = NULL; + JsonArray* _tmp19_ = NULL; + gint _tmp20_ = 0; + JsonObject* _tmp21_ = NULL; + JsonObject* _tmp22_ = NULL; + gchar* album_id = NULL; + JsonObject* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* album_name = NULL; + JsonObject* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + PublishingFacebookPublishingParameters* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp14_) { +#line 2892 "FacebookPublishing.c" + gint _tmp15_ = 0; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = i; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + i = _tmp15_ + 1; +#line 2898 "FacebookPublishing.c" + } +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = FALSE; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = i; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = album_list; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = json_array_get_length (_tmp17_); +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!(((guint) _tmp16_) < _tmp18_)) { +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 2912 "FacebookPublishing.c" + } +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = album_list; +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = i; +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = json_array_get_object_element (_tmp19_, (guint) _tmp20_); +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = _json_object_ref0 (_tmp21_); +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + current_album = _tmp22_; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = current_album; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = json_object_get_string_member (_tmp23_, "id"); +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_id = _tmp25_; +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = current_album; +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = json_object_get_string_member (_tmp26_, "name"); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = g_strdup (_tmp27_); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_name = _tmp28_; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = self->priv->publishing_params; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = album_name; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = album_id; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_add_album (_tmp29_, _tmp30_, _tmp31_); +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (album_name); +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (album_id); +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _json_object_unref0 (current_album); +#line 2954 "FacebookPublishing.c" + } + } + } +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _json_array_unref0 (album_list); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _json_object_unref0 (response_object); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_JsonNode_free0 (root); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (parser); +#line 2966 "FacebookPublishing.c" + } + goto __finally1; + __catch1_g_error: + { + GError* _error_ = NULL; + SpitPublishingPluginHost* _tmp32_ = NULL; + GError* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GError* _tmp35_ = NULL; + GError* _tmp36_ = NULL; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _inner_error_; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _inner_error_ = NULL; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = self->priv->host; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp33_ = _error_; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34_ = _tmp33_->message; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp35_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp34_); +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp36_ = _tmp35_; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp32_, _tmp36_); +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_tmp36_); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 2999 "FacebookPublishing.c" + } + __finally1: +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 3010 "FacebookPublishing.c" + } +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_albums_extracted (self); +#line 3014 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self) { +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_create_album_completed ((PublishingFacebookFacebookPublisher*) self, _sender); +#line 3021 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self) { +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_create_album_error ((PublishingFacebookFacebookPublisher*) self, _sender, err); +#line 3028 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_create_new_album (PublishingFacebookFacebookPublisher* self) { + PublishingFacebookPublishingParameters* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PublishingFacebookGraphMessage* create_album_message = NULL; + PublishingFacebookGraphSession* _tmp5_ = NULL; + PublishingFacebookPublishingParameters* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + PublishingFacebookPublishingParameters* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + PublishingFacebookGraphMessage* _tmp10_ = NULL; + PublishingFacebookGraphSession* _tmp11_ = NULL; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->publishing_params; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _tmp0_->new_album_name; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:345: ACTION: creating a new album named \"%s\"" \ +".\n", _tmp1_); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->host; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp2_, TRUE); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->host; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = _ ("Creating album..."); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp3_, _tmp4_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->graph_session; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = self->priv->publishing_params; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_->new_album_name; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->publishing_params; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = _tmp8_->privacy_object; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = publishing_facebook_graph_session_new_create_album (_tmp5_, _tmp7_, _tmp9_); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + create_album_message = _tmp10_; +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (create_album_message, "completed", (GCallback) _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed, self, 0); +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (create_album_message, "failed", (GCallback) _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed, self, 0); +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = self->priv->graph_session; +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_send_message (_tmp11_, create_album_message); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (create_album_message); +#line 3088 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender, gpointer self) { +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_publishing_options_pane_logout ((PublishingFacebookFacebookPublisher*) self); +#line 3095 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution target_resolution, gboolean strip_metadata, gpointer self) { +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_publishing_options_pane_publish ((PublishingFacebookFacebookPublisher*) self, target_album, privacy_setting, target_resolution, strip_metadata); +#line 3102 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_show_publishing_options_pane (PublishingFacebookFacebookPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp1_ = NULL; + const gchar* _tmp9_ = NULL; + PublishingFacebookPublishingParameters* _tmp10_ = NULL; + PublishingFacebookAlbum** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + SpitPublishingPluginHost* _tmp12_ = NULL; + SpitPublishingPublisherMediaType _tmp13_ = 0; + GtkBuilder* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + PublishingFacebookPublishingOptionsPane* _tmp16_ = NULL; + PublishingFacebookPublishingOptionsPane* _tmp17_ = NULL; + PublishingFacebookPublishingOptionsPane* _tmp18_ = NULL; + SpitPublishingPluginHost* _tmp19_ = NULL; + PublishingFacebookPublishingOptionsPane* _tmp20_ = NULL; + GError * _inner_error_ = NULL; +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:360: ACTION: showing publishing options pane."); +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = gtk_builder_new (); +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + builder = _tmp1_; +#line 3136 "FacebookPublishing.c" + { + GtkBuilder* _tmp2_ = NULL; +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = builder; +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_builder_add_from_resource (_tmp2_, PLUGIN_RESOURCE_PATH "/" "facebook_publishing_options_pane.ui", &_inner_error_); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3145 "FacebookPublishing.c" + goto __catch2_g_error; + } + } + goto __finally2; + __catch2_g_error: + { + GError* e = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + SpitPublishingPluginHost* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + e = _inner_error_; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _inner_error_ = NULL; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = e; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = _tmp3_->message; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_warning ("FacebookPublishing.vala:371: Could not parse UI file! Error: %s.", _tmp4_); +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->host; +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _ ("A file required for publishing is unavailable. Publishing to Facebook " \ +"can't continue."); +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp6_); +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _tmp7_; +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp8_); +#line 372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_tmp8_); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (e); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (builder); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 3187 "FacebookPublishing.c" + } + __finally2: +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (builder); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 3200 "FacebookPublishing.c" + } +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = self->priv->username; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = self->priv->publishing_params; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = _tmp10_->albums; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11__length1 = _tmp10_->albums_length1; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = self->priv->host; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = spit_publishing_plugin_host_get_publishable_media_type (_tmp12_); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = builder; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = publishing_facebook_facebook_publisher_get_persistent_strip_metadata (self); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = publishing_facebook_publishing_options_pane_new (_tmp9_, _tmp11_, _tmp11__length1, _tmp13_, self, _tmp14_, _tmp15_); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publishing_options_pane); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishing_options_pane = _tmp16_; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = self->priv->publishing_options_pane; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp17_, "logout", (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout, self, 0); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = self->priv->publishing_options_pane; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp18_, "publish", (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish, self, 0); +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = self->priv->host; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = self->priv->publishing_options_pane; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (builder); +#line 3240 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_logout (PublishingFacebookFacebookPublisher* self) { +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:387: ACTION: clearing persistent session infor" \ +"mation and restaring interaction."); +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_invalidate_persistent_session (self); +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->running = FALSE; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_publisher_start (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 3255 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_add_new_local_album_from_json (PublishingFacebookFacebookPublisher* self, const gchar* album_name, const gchar* json) { + PublishingFacebookPublishingParameters* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (album_name != NULL); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (json != NULL); +#line 3269 "FacebookPublishing.c" + { + JsonParser* parser = NULL; + JsonParser* _tmp0_ = NULL; + JsonParser* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + JsonNode* root = NULL; + JsonParser* _tmp3_ = NULL; + JsonNode* _tmp4_ = NULL; + JsonNode* _tmp5_ = NULL; + JsonObject* response_object = NULL; + JsonNode* _tmp6_ = NULL; + JsonObject* _tmp7_ = NULL; + JsonObject* _tmp8_ = NULL; + gchar* album_id = NULL; + JsonObject* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PublishingFacebookPublishingParameters* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = json_parser_new (); +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + parser = _tmp0_; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = parser; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = json; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + json_parser_load_from_data (_tmp1_, _tmp2_, (gssize) -1, &_inner_error_); +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (parser); +#line 3304 "FacebookPublishing.c" + goto __catch3_g_error; + } +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = parser; +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = json_parser_get_root (_tmp3_); +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = __vala_JsonNode_copy0 (_tmp4_); +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + root = _tmp5_; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = root; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = json_node_get_object (_tmp6_); +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _json_object_ref0 (_tmp7_); +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + response_object = _tmp8_; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = response_object; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = json_object_get_string_member (_tmp9_, "id"); +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_id = _tmp11_; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = self->priv->publishing_params; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = album_name; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = album_id; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_add_album (_tmp12_, _tmp13_, _tmp14_); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (album_id); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _json_object_unref0 (response_object); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_JsonNode_free0 (root); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (parser); +#line 3347 "FacebookPublishing.c" + } + goto __finally3; + __catch3_g_error: + { + GError* _error_ = NULL; + SpitPublishingPluginHost* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GError* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _inner_error_; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _inner_error_ = NULL; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = self->priv->host; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = _error_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = _tmp16_->message; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, _tmp17_); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = _tmp18_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp15_, _tmp19_); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_tmp19_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 3380 "FacebookPublishing.c" + } + __finally3: +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 3391 "FacebookPublishing.c" + } +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = self->priv->publishing_params; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = album_name; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_set_target_album_by_name (_tmp20_, _tmp21_); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_upload (self); +#line 3401 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_web_auth_pane_login_succeeded_publishing_facebook_web_authentication_pane_login_succeeded (PublishingFacebookWebAuthenticationPane* _sender, const gchar* success_url, gpointer self) { +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_web_auth_pane_login_succeeded ((PublishingFacebookFacebookPublisher*) self, success_url); +#line 3408 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_web_auth_pane_login_failed_publishing_facebook_web_authentication_pane_login_failed (PublishingFacebookWebAuthenticationPane* _sender, gpointer self) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_web_auth_pane_login_failed ((PublishingFacebookFacebookPublisher*) self); +#line 3415 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_hosted_web_authentication (PublishingFacebookFacebookPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingFacebookWebAuthenticationPane* _tmp1_ = NULL; + PublishingFacebookWebAuthenticationPane* _tmp2_ = NULL; + PublishingFacebookWebAuthenticationPane* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + PublishingFacebookWebAuthenticationPane* _tmp5_ = NULL; +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:415: ACTION: doing hosted web authentication."); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = publishing_facebook_web_authentication_pane_new (); +#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->web_auth_pane); +#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->web_auth_pane = _tmp1_; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->web_auth_pane; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp2_, "login-succeeded", (GCallback) _publishing_facebook_facebook_publisher_on_web_auth_pane_login_succeeded_publishing_facebook_web_authentication_pane_login_succeeded, self, 0); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->web_auth_pane; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp3_, "login-failed", (GCallback) _publishing_facebook_facebook_publisher_on_web_auth_pane_login_failed_publishing_facebook_web_authentication_pane_login_failed, self, 0); +#line 423 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->host; +#line 423 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->web_auth_pane; +#line 423 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 3454 "FacebookPublishing.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 3481 "FacebookPublishing.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 3489 "FacebookPublishing.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 3495 "FacebookPublishing.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 3529 "FacebookPublishing.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 3538 "FacebookPublishing.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 3544 "FacebookPublishing.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 3553 "FacebookPublishing.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 3559 "FacebookPublishing.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 3568 "FacebookPublishing.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 3572 "FacebookPublishing.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 3580 "FacebookPublishing.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 3589 "FacebookPublishing.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 3593 "FacebookPublishing.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 3615 "FacebookPublishing.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 3640 "FacebookPublishing.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 3648 "FacebookPublishing.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 3654 "FacebookPublishing.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 3668 "FacebookPublishing.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 3699 "FacebookPublishing.c" + goto __catch4_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 3708 "FacebookPublishing.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 3724 "FacebookPublishing.c" + goto __catch4_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 3735 "FacebookPublishing.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 3749 "FacebookPublishing.c" + } + goto __finally4; + __catch4_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 3763 "FacebookPublishing.c" + } + __finally4: +#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 3774 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_facebook_publisher_do_authenticate_session (PublishingFacebookFacebookPublisher* self, const gchar* good_login_uri) { + const gchar* _tmp0_ = NULL; + gchar* decoded_uri = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* access_token = NULL; + gint index = 0; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + const gchar* _tmp12_ = NULL; + gchar* trailing_params = NULL; + const gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + const gchar* _tmp25_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + PublishingFacebookGraphSession* _tmp31_ = NULL; + PublishingFacebookGraphSession* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (good_login_uri != NULL); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = good_login_uri; +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:429: ACTION: preparing to extract session info" \ +"rmation encoded in uri = '%s'", _tmp0_); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = good_login_uri; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = soup_uri_decode (_tmp1_); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + decoded_uri = _tmp2_; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + access_token = NULL; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = decoded_uri; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = string_index_of (_tmp3_, "#access_token=", 0); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + index = _tmp4_; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = index; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp5_ >= 0) { +#line 3826 "FacebookPublishing.c" + const gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gchar* _tmp11_ = NULL; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = decoded_uri; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = index; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = decoded_uri; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = strlen (_tmp8_); +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = string_slice (_tmp6_, (glong) _tmp7_, (glong) _tmp10_); +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (access_token); +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + access_token = _tmp11_; +#line 3849 "FacebookPublishing.c" + } +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = access_token; +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp12_ == NULL) { +#line 3855 "FacebookPublishing.c" + SpitPublishingPluginHost* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = self->priv->host; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Server redirect URL contained no access token"); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = _tmp14_; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp13_, _tmp15_); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_tmp15_); +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (access_token); +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (decoded_uri); +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 3875 "FacebookPublishing.c" + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + trailing_params = NULL; +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = access_token; +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = string_index_of_char (_tmp16_, (gunichar) '&', 0); +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + index = _tmp17_; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = index; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp18_ >= 0) { +#line 3889 "FacebookPublishing.c" + const gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; + const gchar* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gchar* _tmp24_ = NULL; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = access_token; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = index; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = access_token; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = strlen (_tmp21_); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = _tmp22_; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = string_slice (_tmp19_, (glong) _tmp20_, (glong) _tmp23_); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (trailing_params); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + trailing_params = _tmp24_; +#line 3912 "FacebookPublishing.c" + } +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = trailing_params; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp25_ != NULL) { +#line 3918 "FacebookPublishing.c" + const gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = access_token; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = trailing_params; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = string_replace (_tmp26_, _tmp27_, ""); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (access_token); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + access_token = _tmp28_; +#line 3932 "FacebookPublishing.c" + } +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = access_token; +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = string_replace (_tmp29_, "#access_token=", ""); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (access_token); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + access_token = _tmp30_; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = self->priv->graph_session; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp31_, "authenticated", (GCallback) _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated, self, 0); +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = self->priv->graph_session; +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp33_ = access_token; +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_authenticate (_tmp32_, _tmp33_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (trailing_params); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (access_token); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (decoded_uri); +#line 3958 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_save_session_information (PublishingFacebookFacebookPublisher* self) { + PublishingFacebookGraphSession* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:463: ACTION: saving session information to con" \ +"figuration system."); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->graph_session; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = publishing_facebook_graph_session_get_access_token (_tmp0_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_set_persistent_access_token (self, _tmp2_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp2_); +#line 3980 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete (PublishingFacebookUploader* _sender, gint num_photos_published, gpointer self) { +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_upload_complete ((PublishingFacebookFacebookPublisher*) self, _sender, num_photos_published); +#line 3987 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error (PublishingFacebookUploader* _sender, GError* err, gpointer self) { +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_upload_error ((PublishingFacebookFacebookPublisher*) self, _sender, err); +#line 3994 "FacebookPublishing.c" +} + + +static void _publishing_facebook_facebook_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_upload_status_updated ((PublishingFacebookFacebookPublisher*) self, file_number, fraction_complete); +#line 4001 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_upload (PublishingFacebookFacebookPublisher* self) { + gchar* _tmp0_ = NULL; + PublishingFacebookPublishingParameters* _tmp1_ = NULL; + gint _tmp2_ = 0; + SpitPublishingPluginHost* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + PublishingFacebookPublishingParameters* _tmp8_ = NULL; + PublishingFacebookResolution _tmp9_ = 0; + gint _tmp10_ = 0; + PublishingFacebookPublishingParameters* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + void* _tmp13_ = NULL; + GDestroyNotify _tmp14_ = NULL; + SpitPublishingProgressCallback _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp17_ = NULL; + gint _tmp18_ = 0; + SpitPublishingPublishable** _tmp19_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + PublishingFacebookGraphSession* _tmp20_ = NULL; + PublishingFacebookPublishingParameters* _tmp21_ = NULL; + SpitPublishingPublishable** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + PublishingFacebookUploader* _tmp23_ = NULL; + PublishingFacebookUploader* _tmp24_ = NULL; + PublishingFacebookUploader* _tmp25_ = NULL; + PublishingFacebookUploader* _tmp26_ = NULL; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->publishing_params; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_->target_album; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp2_ == PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM) { +#line 4042 "FacebookPublishing.c" + gchar* _tmp3_ = NULL; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = g_strdup ("(none)"); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp0_); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _tmp3_; +#line 4050 "FacebookPublishing.c" + } else { + PublishingFacebookPublishingParameters* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->publishing_params; +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = publishing_facebook_publishing_parameters_get_target_album_name (_tmp4_); +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp0_); +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _tmp5_; +#line 4062 "FacebookPublishing.c" + } +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:469: ACTION: uploading photos to album '%s'", _tmp0_); +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = self->priv->host; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp6_, TRUE); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->host; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->publishing_params; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = _tmp8_->resolution; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = publishing_facebook_resolution_get_pixels (_tmp9_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = self->priv->publishing_params; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = _tmp11_->strip_metadata; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = spit_publishing_plugin_host_serialize_publishables (_tmp7_, _tmp10_, _tmp12_, &_tmp13_, &_tmp14_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter = NULL; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter = _tmp15_; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter_target = _tmp13_; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp14_; +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp16_) { +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp0_); +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4106 "FacebookPublishing.c" + } +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = self->priv->host; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = spit_publishing_plugin_host_get_publishables (_tmp17_, &_tmp18_); +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishables = _tmp19_; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishables_length1 = _tmp18_; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishables_size_ = publishables_length1; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = self->priv->graph_session; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = self->priv->publishing_params; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = publishables; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22__length1 = publishables_length1; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = publishing_facebook_uploader_new (_tmp20_, _tmp21_, _tmp22_, _tmp22__length1); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_uploader_unref0 (self->priv->uploader); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->uploader = _tmp23_; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = self->priv->uploader; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp24_, "upload-complete", (GCallback) _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete, self, 0); +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = self->priv->uploader; +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp25_, "upload-error", (GCallback) _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error, self, 0); +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = self->priv->uploader; +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_upload (_tmp26_, _publishing_facebook_facebook_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp0_); +#line 4148 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_do_show_success_pane (PublishingFacebookFacebookPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:495: ACTION: showing success pane."); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->host; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->host; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp1_); +#line 4167 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_generic_error (PublishingFacebookFacebookPublisher* self, GError* _error_) { + GError* _tmp0_ = NULL; +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _error_; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_error_matches (_tmp0_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION)) { +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_logout (self); +#line 4181 "FacebookPublishing.c" + } else { + SpitPublishingPluginHost* _tmp1_ = NULL; + GError* _tmp2_ = NULL; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->host; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _error_; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp1_, _tmp2_); +#line 4191 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_facebook_publisher_on_login_clicked (PublishingFacebookFacebookPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp0_) { +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4206 "FacebookPublishing.c" + } +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:512: EVENT: user clicked 'Login' on welcome pa" \ +"ne."); +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_test_connection_to_endpoint (self); +#line 4212 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_endpoint_test_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 518 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_endpoint_test_completed_publishing_facebook_graph_message_completed, self); +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_endpoint_test_error_publishing_facebook_graph_message_failed, self); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4244 "FacebookPublishing.c" + } +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:524: EVENT: endpoint test transaction detected" \ +" that the Facebook endpoint is alive."); +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_hosted_web_authentication (self); +#line 4250 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_endpoint_test_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* _error_) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + GError* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_endpoint_test_completed_publishing_facebook_graph_message_completed, self); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_endpoint_test_error_publishing_facebook_graph_message_failed, self); +#line 534 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 534 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4287 "FacebookPublishing.c" + } +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _error_; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp5_->message; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_strconcat ("EVENT: endpoint test transaction failed to detect a connection to the " \ +"Facebook " "endpoint", _tmp6_, NULL); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _tmp7_; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:537: %s", _tmp8_); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp8_); +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = _error_; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_generic_error (self, _tmp9_); +#line 4305 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_web_auth_pane_login_succeeded (PublishingFacebookFacebookPublisher* self, const gchar* success_url) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (success_url != NULL); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp0_) { +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4322 "FacebookPublishing.c" + } +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:547: EVENT: hosted web login succeeded."); +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = success_url; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_authenticate_session (self, _tmp1_); +#line 4330 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_web_auth_pane_login_failed (PublishingFacebookFacebookPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp0_) { +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4344 "FacebookPublishing.c" + } +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:558: EVENT: hosted web login failed."); +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_show_service_welcome_pane (self); +#line 4350 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_session_authenticated (PublishingFacebookFacebookPublisher* self) { + PublishingFacebookGraphSession* _tmp0_ = NULL; + guint _tmp1_ = 0U; + gboolean _tmp2_ = FALSE; + PublishingFacebookGraphSession* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->graph_session; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("authenticated", PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, &_tmp1_, NULL, FALSE); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_session_authenticated_publishing_facebook_graph_session_authenticated, self); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp2_) { +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4374 "FacebookPublishing.c" + } +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->graph_session; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = publishing_facebook_graph_session_is_authenticated (_tmp3_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp4_, "graph_session.is_authenticated()"); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:576: EVENT: an authenticated session has becom" \ +"e available."); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_save_session_information (self); +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_fetch_user_info (self); +#line 4388 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_fetch_user_info_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingFacebookGraphMessage* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + PublishingFacebookGraphMessage* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed, self); +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed, self); +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4426 "FacebookPublishing.c" + } +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = message; +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_facebook_graph_message_get_response_body (_tmp5_); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_; +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:589: EVENT: user info fetch completed; respons" \ +"e = '%s'.", _tmp7_); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp7_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = message; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = publishing_facebook_graph_message_get_response_body (_tmp8_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_extract_user_info_from_json (self, _tmp10_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp10_); +#line 4448 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_fetch_user_info_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* _error_) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + GError* _tmp5_ = NULL; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_completed_publishing_facebook_graph_message_completed, self); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_user_info_error_publishing_facebook_graph_message_failed, self); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4481 "FacebookPublishing.c" + } +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:602: EVENT: fetching user info generated and e" \ +"rror."); +#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _error_; +#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_generic_error (self, _tmp5_); +#line 4489 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_user_info_extracted (PublishingFacebookFacebookPublisher* self) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp0_) { +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4505 "FacebookPublishing.c" + } +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->uid; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->username; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:611: EVENT: user info extracted from JSON resp" \ +"onse: uid = %s; name = %s.", _tmp1_, _tmp2_); +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_fetch_album_descriptions (self); +#line 4515 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_fetch_albums_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingFacebookGraphMessage* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + PublishingFacebookGraphMessage* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed, self); +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed, self); +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4553 "FacebookPublishing.c" + } +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = message; +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_facebook_graph_message_get_response_body (_tmp5_); +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_; +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:623: EVENT: album descriptions fetch transacti" \ +"on completed; response = '%s'.", _tmp7_); +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp7_); +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = message; +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = publishing_facebook_graph_message_get_response_body (_tmp8_); +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_; +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_extract_albums_from_json (self, _tmp10_); +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp10_); +#line 4575 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_fetch_albums_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* err) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + GError* _tmp5_ = NULL; +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_completed_publishing_facebook_graph_message_completed, self); +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 632 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_fetch_albums_error_publishing_facebook_graph_message_failed, self); +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4608 "FacebookPublishing.c" + } +#line 637 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:637: EVENT: album description fetch attempt ge" \ +"nerated an error."); +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = err; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_generic_error (self, _tmp5_); +#line 4616 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_albums_extracted (PublishingFacebookFacebookPublisher* self) { + gboolean _tmp0_ = FALSE; + PublishingFacebookPublishingParameters* _tmp1_ = NULL; + PublishingFacebookAlbum** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp0_) { +#line 644 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4633 "FacebookPublishing.c" + } +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->publishing_params; +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_->albums; +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2__length1 = _tmp1_->albums_length1; +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:646: EVENT: successfully extracted %d albums f" \ +"rom JSON response", _tmp2__length1); +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_show_publishing_options_pane (self); +#line 4645 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_publishing_options_pane_logout (PublishingFacebookFacebookPublisher* self) { + PublishingFacebookPublishingOptionsPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookPublishingOptionsPane* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish, self); +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->publishing_options_pane; +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE); +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout, self); +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4675 "FacebookPublishing.c" + } +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:659: EVENT: user clicked 'Logout' in publishin" \ +"g options pane."); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_logout (self); +#line 4681 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_publishing_options_pane_publish (PublishingFacebookFacebookPublisher* self, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution resolution, gboolean strip_metadata) { + PublishingFacebookPublishingOptionsPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookPublishingOptionsPane* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingFacebookPublishingParameters* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + PublishingFacebookPublishingParameters* _tmp8_ = NULL; + PublishingFacebookResolution _tmp9_ = 0; + PublishingFacebookResolution _tmp10_ = 0; + PublishingFacebookPublishingParameters* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (privacy_setting != NULL); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_publish_publishing_facebook_publishing_options_pane_publish, self); +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->publishing_options_pane; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE); +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_publishing_options_pane_logout_publishing_facebook_publishing_options_pane_logout, self); +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4723 "FacebookPublishing.c" + } +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:672: EVENT: user clicked 'Publish' in publishi" \ +"ng options pane."); +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->publishing_params; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = strip_metadata; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_->strip_metadata = _tmp6_; +#line 675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = strip_metadata; +#line 675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_set_persistent_strip_metadata (self, _tmp7_); +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->publishing_params; +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = resolution; +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_->resolution = _tmp9_; +#line 677 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = resolution; +#line 677 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_set_persistent_default_size (self, (gint) _tmp10_); +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = self->priv->publishing_params; +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = privacy_setting; +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp11_->privacy_object); +#line 678 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_->privacy_object = _tmp13_; +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = target_album; +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp14_ != NULL) { +#line 4761 "FacebookPublishing.c" + PublishingFacebookPublishingParameters* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + PublishingFacebookPublishingParameters* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = self->priv->publishing_params; +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = target_album; +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_parameters_set_target_album_by_name (_tmp15_, _tmp16_); +#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = self->priv->publishing_params; +#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = _tmp17_->target_album; +#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp18_ != PUBLISHING_FACEBOOK_PUBLISHING_PARAMETERS_UNKNOWN_ALBUM) { +#line 685 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_upload (self); +#line 4780 "FacebookPublishing.c" + } else { + PublishingFacebookPublishingParameters* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = self->priv->publishing_params; +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = target_album; +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp19_->new_album_name); +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_->new_album_name = _tmp21_; +#line 688 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_create_new_album (self); +#line 4797 "FacebookPublishing.c" + } + } else { +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_upload (self); +#line 4802 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_facebook_publisher_on_create_album_completed (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingFacebookPublishingParameters* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingFacebookGraphMessage* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingFacebookPublishingParameters* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PublishingFacebookGraphMessage* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed, self); +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed, self); +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->publishing_params; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_->new_album_name; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp5_ != NULL, "publishing_params.new_album_name != null"); +#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp6_) { +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4851 "FacebookPublishing.c" + } +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = message; +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = publishing_facebook_graph_message_get_response_body (_tmp7_); +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = _tmp8_; +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:705: EVENT: created new album resource on remo" \ +"te host; response body = %s.\n", _tmp9_); +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp9_); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = self->priv->publishing_params; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = _tmp10_->new_album_name; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = message; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = publishing_facebook_graph_message_get_response_body (_tmp12_); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = _tmp13_; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_add_new_local_album_from_json (self, _tmp11_, _tmp14_); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp14_); +#line 4877 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_create_album_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookGraphMessage* message, GError* err) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + GError* _tmp5_ = NULL; +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_completed_publishing_facebook_graph_message_completed, self); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_create_album_error_publishing_facebook_graph_message_failed, self); +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4910 "FacebookPublishing.c" + } +#line 719 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:719: EVENT: attempt to create new album genera" \ +"ted an error."); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = err; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_on_generic_error (self, _tmp5_); +#line 4918 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_upload_status_updated (PublishingFacebookFacebookPublisher* self, gint file_number, gdouble completed_fraction) { + gboolean _tmp0_ = FALSE; + gdouble _tmp1_ = 0.0; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp0_) { +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4939 "FacebookPublishing.c" + } +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = completed_fraction; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:728: EVENT: uploader reports upload %.2f perce" \ +"nt complete.", 100.0 * _tmp1_); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->progress_reporter; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp2_ != NULL, "progress_reporter != null"); +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->progress_reporter; +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = file_number; +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = completed_fraction; +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 4961 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_upload_complete (PublishingFacebookFacebookPublisher* self, PublishingFacebookUploader* uploader, gint num_published) { + PublishingFacebookUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (uploader)); +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = uploader; +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp1_, NULL, FALSE); +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete, self); +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = uploader; +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp3_, NULL, FALSE); +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error, self); +#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 4994 "FacebookPublishing.c" + } +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = num_published; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:742: EVENT: uploader reports upload complete; " \ +"%d items published.", _tmp5_); +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_show_success_pane (self); +#line 5002 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_on_upload_error (PublishingFacebookFacebookPublisher* self, PublishingFacebookUploader* uploader, GError* err) { + PublishingFacebookUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + GError* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self)); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (uploader)); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = uploader; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp1_, NULL, FALSE); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_complete_publishing_facebook_uploader_upload_complete, self); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = uploader; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_FACEBOOK_TYPE_UPLOADER, &_tmp3_, NULL, FALSE); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_facebook_publisher_on_upload_error_publishing_facebook_uploader_upload_error, self); +#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp4_) { +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 5038 "FacebookPublishing.c" + } +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = err; +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp5_->message; +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:754: EVENT: uploader reports upload error = '%" \ +"s'.", _tmp6_); +#line 756 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->host; +#line 756 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = err; +#line 756 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 5052 "FacebookPublishing.c" +} + + +static SpitPublishingService* publishing_facebook_facebook_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingFacebookFacebookPublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher); +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->service; +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5071 "FacebookPublishing.c" +} + + +gchar* publishing_facebook_facebook_publisher_get_service_name (PublishingFacebookFacebookPublisher* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), NULL); +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = g_strdup (PUBLISHING_FACEBOOK_SERVICE_NAME); +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp0_; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5086 "FacebookPublishing.c" +} + + +gchar* publishing_facebook_facebook_publisher_get_user_visible_name (PublishingFacebookFacebookPublisher* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (self), NULL); +#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = g_strdup (PUBLISHING_FACEBOOK_USER_VISIBLE_NAME); +#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp0_; +#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5101 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_real_start (SpitPublishingPublisher* base) { + PublishingFacebookFacebookPublisher * self; + gboolean _tmp0_ = FALSE; + PublishingFacebookPublishingParameters* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_) { +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 5118 "FacebookPublishing.c" + } +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:775: FacebookPublisher: starting interaction."); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->running = TRUE; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = publishing_facebook_publishing_parameters_new (); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishing_params = _tmp1_; +#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = publishing_facebook_facebook_publisher_is_persistent_session_valid (self); +#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp2_) { +#line 5134 "FacebookPublishing.c" + PublishingFacebookGraphSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->graph_session; +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = publishing_facebook_facebook_publisher_get_persistent_access_token (self); +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_; +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_authenticate (_tmp3_, _tmp5_); +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp5_); +#line 5148 "FacebookPublishing.c" + } else { + gboolean _tmp6_ = FALSE; +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_facebook_web_authentication_pane_is_cache_dirty (); +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp6_) { +#line 5155 "FacebookPublishing.c" + SpitPublishingPluginHost* _tmp7_ = NULL; + SpitPublishingPluginHost* _tmp8_ = NULL; +#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->host; +#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp7_, FALSE); +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->host; +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp8_, PUBLISHING_FACEBOOK_RESTART_ERROR_MESSAGE, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 5166 "FacebookPublishing.c" + } else { +#line 794 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_do_show_service_welcome_pane (self); +#line 5170 "FacebookPublishing.c" + } + } +} + + +static void publishing_facebook_facebook_publisher_real_stop (SpitPublishingPublisher* base) { + PublishingFacebookFacebookPublisher * self; + PublishingFacebookGraphSession* _tmp0_ = NULL; +#line 799 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:800: FacebookPublisher: stop( ) invoked."); +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->graph_session; +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_ != NULL) { +#line 5187 "FacebookPublishing.c" + PublishingFacebookGraphSession* _tmp1_ = NULL; +#line 803 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->graph_session; +#line 803 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_stop_transactions (_tmp1_); +#line 5193 "FacebookPublishing.c" + } +#line 805 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->host = NULL; +#line 806 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->running = FALSE; +#line 5199 "FacebookPublishing.c" +} + + +static gboolean publishing_facebook_facebook_publisher_real_is_running (SpitPublishingPublisher* base) { + PublishingFacebookFacebookPublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->running; +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp0_; +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5215 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_class_init (PublishingFacebookFacebookPublisherClass * klass) { +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_parent_class = g_type_class_peek_parent (klass); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFacebookFacebookPublisherPrivate)); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_facebook_facebook_publisher_finalize; +#line 5226 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_facebook_facebook_publisher_real_get_service; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_facebook_facebook_publisher_real_start; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_facebook_facebook_publisher_real_stop; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_facebook_facebook_publisher_real_is_running; +#line 5241 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_instance_init (PublishingFacebookFacebookPublisher * self) { +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv = PUBLISHING_FACEBOOK_FACEBOOK_PUBLISHER_GET_PRIVATE (self); +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->host = NULL; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->web_auth_pane = NULL; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter = NULL; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->service = NULL; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->running = FALSE; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishing_options_pane = NULL; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->uploader = NULL; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->uid = NULL; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->username = NULL; +#line 5266 "FacebookPublishing.c" +} + + +static void publishing_facebook_facebook_publisher_finalize (GObject* obj) { + PublishingFacebookFacebookPublisher * self; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_FACEBOOK_PUBLISHER, PublishingFacebookFacebookPublisher); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->web_auth_pane); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter = NULL; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_session_unref0 (self->priv->graph_session); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publishing_options_pane); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_uploader_unref0 (self->priv->uploader); +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->priv->uid); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->priv->username); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (publishing_facebook_facebook_publisher_parent_class)->finalize (obj); +#line 5298 "FacebookPublishing.c" +} + + +GType publishing_facebook_facebook_publisher_get_type (void) { + static volatile gsize publishing_facebook_facebook_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_facebook_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookFacebookPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_facebook_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookFacebookPublisher), 0, (GInstanceInitFunc) publishing_facebook_facebook_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_facebook_facebook_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_facebook_facebook_publisher_type_id; + publishing_facebook_facebook_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFacebookFacebookPublisher", &g_define_type_info, 0); + g_type_add_interface_static (publishing_facebook_facebook_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_facebook_facebook_publisher_type_id__volatile, publishing_facebook_facebook_publisher_type_id); + } + return publishing_facebook_facebook_publisher_type_id__volatile; +} + + +static void _publishing_facebook_web_authentication_pane_on_page_load_changed_webkit_web_view_load_changed (WebKitWebView* _sender, WebKitLoadEvent load_event, gpointer self) { +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_on_page_load_changed ((PublishingFacebookWebAuthenticationPane*) self, load_event); +#line 5319 "FacebookPublishing.c" +} + + +static gboolean __lambda4_ (PublishingFacebookWebAuthenticationPane* self) { + gboolean result = FALSE; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = TRUE; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5329 "FacebookPublishing.c" +} + + +static gboolean ___lambda4__webkit_web_view_context_menu (WebKitWebView* _sender, WebKitContextMenu* context_menu, GdkEvent* event, WebKitHitTestResult* hit_test_result, gpointer self) { + gboolean result; + result = __lambda4_ ((PublishingFacebookWebAuthenticationPane*) self); +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5338 "FacebookPublishing.c" +} + + +PublishingFacebookWebAuthenticationPane* publishing_facebook_web_authentication_pane_construct (GType object_type) { + PublishingFacebookWebAuthenticationPane * self = NULL; + GtkBox* _tmp0_ = NULL; + GtkScrolledWindow* _tmp1_ = NULL; + GtkScrolledWindow* _tmp2_ = NULL; + GtkScrolledWindow* _tmp3_ = NULL; + WebKitWebView* _tmp4_ = NULL; + WebKitWebView* _tmp5_ = NULL; + WebKitSettings* _tmp6_ = NULL; + WebKitWebView* _tmp7_ = NULL; + WebKitWebView* _tmp8_ = NULL; + GtkScrolledWindow* _tmp9_ = NULL; + WebKitWebView* _tmp10_ = NULL; + GtkBox* _tmp11_ = NULL; + GtkScrolledWindow* _tmp12_ = NULL; +#line 823 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookWebAuthenticationPane*) g_object_new (object_type, NULL); +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_ref_sink (_tmp0_); +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->pane_widget = _tmp0_; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_ref_sink (_tmp1_); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->webview_frame); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->webview_frame = _tmp1_; +#line 827 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->webview_frame; +#line 827 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_scrolled_window_set_shadow_type (_tmp2_, GTK_SHADOW_ETCHED_IN); +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->webview_frame; +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_scrolled_window_set_policy (_tmp3_, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = (WebKitWebView*) webkit_web_view_new (); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_ref_sink (_tmp4_); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->webview); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->webview = _tmp4_; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->webview; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = webkit_web_view_get_settings (_tmp5_); +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + webkit_settings_set_enable_plugins (_tmp6_, FALSE); +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->webview; +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp7_, "load-changed", (GCallback) _publishing_facebook_web_authentication_pane_on_page_load_changed_webkit_web_view_load_changed, self, 0); +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->webview; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp8_, "context-menu", (GCallback) ___lambda4__webkit_web_view_context_menu, self, 0); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = self->priv->webview_frame; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = self->priv->webview; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = self->priv->pane_widget; +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = self->priv->webview_frame; +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_box_pack_start (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 823 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 5419 "FacebookPublishing.c" +} + + +PublishingFacebookWebAuthenticationPane* publishing_facebook_web_authentication_pane_new (void) { +#line 823 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_web_authentication_pane_construct (PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE); +#line 5426 "FacebookPublishing.c" +} + + +static gpointer _publishing_facebook_web_authentication_pane_locale_lookup_ref0 (gpointer self) { +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? publishing_facebook_web_authentication_pane_locale_lookup_ref (self) : NULL; +#line 5433 "FacebookPublishing.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 5453 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_web_authentication_pane_get_system_locale_as_facebook_locale (PublishingFacebookWebAuthenticationPane* self) { + gchar* result = NULL; + const gchar* raw_system_locale = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + gchar* system_locale = NULL; + const gchar* _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gchar* _tmp43_ = NULL; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_WEB_AUTHENTICATION_PANE (self), NULL); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = setlocale (LC_ALL, ""); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + raw_system_locale = _tmp0_; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = raw_system_locale; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp2_ == NULL) { +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = TRUE; +#line 5487 "FacebookPublishing.c" + } else { + const gchar* _tmp3_ = NULL; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = raw_system_locale; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strcmp0 (_tmp3_, "") == 0; +#line 5494 "FacebookPublishing.c" + } +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp1_) { +#line 5498 "FacebookPublishing.c" + gchar* _tmp4_ = NULL; +#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = g_strdup ("www"); +#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp4_; +#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5506 "FacebookPublishing.c" + } +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = raw_system_locale; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_ = g_strsplit (_tmp5_, ".", 0); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _tmp7_; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8__length1 = _vala_array_length (_tmp6_); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = _tmp8_[0]; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = _tmp10_; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = (_vala_array_free (_tmp8_, _tmp8__length1, (GDestroyNotify) g_free), NULL); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + system_locale = _tmp11_; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = self->priv->locale_lookup_table; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12__length1 = self->priv->locale_lookup_table_length1; +#line 5530 "FacebookPublishing.c" + { + PublishingFacebookWebAuthenticationPaneLocaleLookup** locale_lookup_collection = NULL; + gint locale_lookup_collection_length1 = 0; + gint _locale_lookup_collection_size_ = 0; + gint locale_lookup_it = 0; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + locale_lookup_collection = _tmp12_; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + locale_lookup_collection_length1 = _tmp12__length1; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + for (locale_lookup_it = 0; locale_lookup_it < _tmp12__length1; locale_lookup_it = locale_lookup_it + 1) { +#line 5542 "FacebookPublishing.c" + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp13_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* locale_lookup = NULL; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = _publishing_facebook_web_authentication_pane_locale_lookup_ref0 (locale_lookup_collection[locale_lookup_it]); +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + locale_lookup = _tmp13_; +#line 5549 "FacebookPublishing.c" + { + const gchar* _tmp14_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = system_locale; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = locale_lookup; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = _tmp15_->prefix; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = g_str_has_prefix (_tmp14_, _tmp16_); +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp17_) { +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_web_authentication_pane_locale_lookup_unref0 (locale_lookup); +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + continue; +#line 5576 "FacebookPublishing.c" + } +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = locale_lookup; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = _tmp18_->exception_code; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp19_ != NULL) { +#line 5584 "FacebookPublishing.c" + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = locale_lookup; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = _tmp20_->exception_translation; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp21_ != NULL, "locale_lookup.exception_translation != null"); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = system_locale; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = locale_lookup; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = _tmp23_->exception_code; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = string_contains (_tmp22_, _tmp24_); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp25_) { +#line 5607 "FacebookPublishing.c" + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = locale_lookup; +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = _tmp26_->exception_translation; +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = g_strdup (_tmp27_); +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp28_; +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_web_authentication_pane_locale_lookup_unref0 (locale_lookup); +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (system_locale); +#line 924 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5625 "FacebookPublishing.c" + } + } +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = locale_lookup; +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = _tmp29_->exception_code_2; +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp30_ != NULL) { +#line 5634 "FacebookPublishing.c" + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = locale_lookup; +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = _tmp31_->exception_translation_2; +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp32_ != NULL, "locale_lookup.exception_translation_2 != null"); +#line 930 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp33_ = system_locale; +#line 930 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34_ = locale_lookup; +#line 930 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp35_ = _tmp34_->exception_code_2; +#line 930 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp36_ = string_contains (_tmp33_, _tmp35_); +#line 930 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp36_) { +#line 5657 "FacebookPublishing.c" + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp37_ = locale_lookup; +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp38_ = _tmp37_->exception_translation_2; +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp39_ = g_strdup (_tmp38_); +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp39_; +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_web_authentication_pane_locale_lookup_unref0 (locale_lookup); +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (system_locale); +#line 931 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5675 "FacebookPublishing.c" + } + } +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp40_ = locale_lookup; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp41_ = _tmp40_->translation; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp42_ = g_strdup (_tmp41_); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp42_; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_web_authentication_pane_locale_lookup_unref0 (locale_lookup); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (system_locale); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5692 "FacebookPublishing.c" + } + } + } +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp43_ = g_strdup ("www"); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp43_; +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (system_locale); +#line 938 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5704 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_web_authentication_pane_get_login_url (PublishingFacebookWebAuthenticationPane* self) { + gchar* result = NULL; + gchar* facebook_locale = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_WEB_AUTHENTICATION_PANE (self), NULL); +#line 942 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishing_facebook_web_authentication_pane_get_system_locale_as_facebook_locale (self); +#line 942 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + facebook_locale = _tmp0_; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup_printf ("https://%s.facebook.com/dialog/oauth?client_id=%s&redirect_uri=https:/" \ +"/www.facebook.com/connect/login_success.html&display=popup&scope=publi" \ +"sh_actions,user_photos,user_videos&response_type=token", facebook_locale, PUBLISHING_FACEBOOK_APPLICATION_ID); +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (facebook_locale); +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5727 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_on_page_load (PublishingFacebookWebAuthenticationPane* self) { + GtkBox* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkCursor* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; + gchar* loaded_url = NULL; + WebKitWebView* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + const gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + const gchar* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_WEB_AUTHENTICATION_PANE (self)); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = gdk_cursor_new (GDK_LEFT_PTR); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _tmp2_; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gdk_window_set_cursor (_tmp1_, _tmp3_); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (_tmp3_); +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->webview; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = webkit_web_view_get_uri (_tmp4_); +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp5_; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + loaded_url = _tmp7_; +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = loaded_url; +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = g_strconcat ("loaded url: ", _tmp8_, NULL); +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_; +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:950: %s", _tmp10_); +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp10_); +#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = loaded_url; +#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = string_contains (_tmp11_, "?"); +#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp12_) { +#line 5790 "FacebookPublishing.c" + gint index = 0; + const gchar* _tmp13_ = NULL; + gint _tmp14_ = 0; + gchar* params = NULL; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + const gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = loaded_url; +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = string_index_of_char (_tmp13_, (gunichar) '?', 0); +#line 954 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + index = _tmp14_; +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = loaded_url; +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = index; +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = loaded_url; +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = strlen (_tmp17_); +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = _tmp18_; +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = string_slice (_tmp15_, (glong) _tmp16_, (glong) _tmp19_); +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + params = _tmp20_; +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = loaded_url; +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = params; +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = string_replace (_tmp21_, _tmp22_, ""); +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (loaded_url); +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + loaded_url = _tmp23_; +#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (params); +#line 5836 "FacebookPublishing.c" + } +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = loaded_url; +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = string_contains (_tmp24_, "login_success"); +#line 960 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp25_) { +#line 5844 "FacebookPublishing.c" + WebKitWebView* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_cache_dirty = TRUE; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = self->priv->webview; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = webkit_web_view_get_uri (_tmp26_); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = _tmp27_; +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "login-succeeded", _tmp28_); +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (loaded_url); +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 5862 "FacebookPublishing.c" + } +#line 967 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = loaded_url; +#line 967 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = string_contains (_tmp29_, "login_failure"); +#line 967 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp30_) { +#line 968 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "login-failed"); +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (loaded_url); +#line 969 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 5876 "FacebookPublishing.c" + } +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (loaded_url); +#line 5880 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_on_load_started (PublishingFacebookWebAuthenticationPane* self) { + GtkBox* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkCursor* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_WEB_AUTHENTICATION_PANE (self)); +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = gdk_cursor_new (GDK_WATCH); +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _tmp2_; +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gdk_window_set_cursor (_tmp1_, _tmp3_); +#line 974 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (_tmp3_); +#line 5903 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_on_page_load_changed (PublishingFacebookWebAuthenticationPane* self, WebKitLoadEvent load_event) { + WebKitLoadEvent _tmp0_ = 0; +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_WEB_AUTHENTICATION_PANE (self)); +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = load_event; +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + switch (_tmp0_) { +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case WEBKIT_LOAD_STARTED: +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case WEBKIT_LOAD_REDIRECTED: +#line 5919 "FacebookPublishing.c" + { +#line 981 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_on_load_started (self); +#line 982 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 5925 "FacebookPublishing.c" + } +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case WEBKIT_LOAD_FINISHED: +#line 5929 "FacebookPublishing.c" + { +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_on_page_load (self); +#line 985 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 5935 "FacebookPublishing.c" + } + default: +#line 978 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 5940 "FacebookPublishing.c" + } +#line 988 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 5944 "FacebookPublishing.c" +} + + +gboolean publishing_facebook_web_authentication_pane_is_cache_dirty (void) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishing_facebook_web_authentication_pane_cache_dirty; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp0_; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5957 "FacebookPublishing.c" +} + + +static GtkWidget* publishing_facebook_web_authentication_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingFacebookWebAuthenticationPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 995 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPane); +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5976 "FacebookPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_facebook_web_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingFacebookWebAuthenticationPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPane); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 5989 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingFacebookWebAuthenticationPane * self; + WebKitWebView* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPane); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->webview; +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = publishing_facebook_web_authentication_pane_get_login_url (self); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_; +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + webkit_web_view_load_uri (_tmp0_, _tmp2_); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp2_); +#line 6010 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingFacebookWebAuthenticationPane * self; +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPane); +#line 6018 "FacebookPublishing.c" +} + + +static PublishingFacebookWebAuthenticationPaneLocaleLookup* publishing_facebook_web_authentication_pane_locale_lookup_construct (GType object_type, const gchar* prefix, const gchar* translation, const gchar* exception_code, const gchar* exception_translation, const gchar* exception_code_2, const gchar* exception_translation_2) { + PublishingFacebookWebAuthenticationPaneLocaleLookup* self = 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; +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (prefix != NULL, NULL); +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (translation != NULL, NULL); +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookWebAuthenticationPaneLocaleLookup*) g_type_create_instance (object_type); +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = prefix; +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->prefix); +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->prefix = _tmp1_; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = translation; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->translation); +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->translation = _tmp3_; +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = exception_code; +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_code); +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->exception_code = _tmp5_; +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = exception_translation; +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_translation); +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->exception_translation = _tmp7_; +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = exception_code_2; +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_code_2); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->exception_code_2 = _tmp9_; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = exception_translation_2; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_translation_2); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->exception_translation_2 = _tmp11_; +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 6092 "FacebookPublishing.c" +} + + +static PublishingFacebookWebAuthenticationPaneLocaleLookup* publishing_facebook_web_authentication_pane_locale_lookup_new (const gchar* prefix, const gchar* translation, const gchar* exception_code, const gchar* exception_translation, const gchar* exception_code_2, const gchar* exception_translation_2) { +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_web_authentication_pane_locale_lookup_construct (PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP, prefix, translation, exception_code, exception_translation, exception_code_2, exception_translation_2); +#line 6099 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_value_locale_lookup_init (GValue* value) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6106 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_value_locale_lookup_free_value (GValue* value) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (value->data[0].v_pointer) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_locale_lookup_unref (value->data[0].v_pointer); +#line 6115 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_web_authentication_pane_value_locale_lookup_copy_value (const GValue* src_value, GValue* dest_value) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = publishing_facebook_web_authentication_pane_locale_lookup_ref (src_value->data[0].v_pointer); +#line 6125 "FacebookPublishing.c" + } else { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 6129 "FacebookPublishing.c" + } +} + + +static gpointer publishing_facebook_web_authentication_pane_value_locale_lookup_peek_pointer (const GValue* value) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 6137 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_web_authentication_pane_value_locale_lookup_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (collect_values[0].v_pointer) { +#line 6144 "FacebookPublishing.c" + PublishingFacebookWebAuthenticationPaneLocaleLookup* object; + object = collect_values[0].v_pointer; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 6151 "FacebookPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 6155 "FacebookPublishing.c" + } +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = publishing_facebook_web_authentication_pane_locale_lookup_ref (object); +#line 6159 "FacebookPublishing.c" + } else { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6163 "FacebookPublishing.c" + } +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 6167 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_web_authentication_pane_value_locale_lookup_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFacebookWebAuthenticationPaneLocaleLookup** object_p; + object_p = collect_values[0].v_pointer; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!object_p) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 6178 "FacebookPublishing.c" + } +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!value->data[0].v_pointer) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = NULL; +#line 6184 "FacebookPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 6188 "FacebookPublishing.c" + } else { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = publishing_facebook_web_authentication_pane_locale_lookup_ref (value->data[0].v_pointer); +#line 6192 "FacebookPublishing.c" + } +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 6196 "FacebookPublishing.c" +} + + +static GParamSpec* publishing_facebook_web_authentication_pane_param_spec_locale_lookup (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFacebookWebAuthenticationPaneParamSpecLocaleLookup* spec; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP), NULL); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return G_PARAM_SPEC (spec); +#line 6210 "FacebookPublishing.c" +} + + +static gpointer publishing_facebook_web_authentication_pane_value_get_locale_lookup (const GValue* value) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP), NULL); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 6219 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_value_set_locale_lookup (GValue* value, gpointer v_object) { + PublishingFacebookWebAuthenticationPaneLocaleLookup* old; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP)); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP)); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_locale_lookup_ref (value->data[0].v_pointer); +#line 6239 "FacebookPublishing.c" + } else { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6243 "FacebookPublishing.c" + } +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_locale_lookup_unref (old); +#line 6249 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_web_authentication_pane_value_take_locale_lookup (GValue* value, gpointer v_object) { + PublishingFacebookWebAuthenticationPaneLocaleLookup* old; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP)); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP)); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 6268 "FacebookPublishing.c" + } else { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6272 "FacebookPublishing.c" + } +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_locale_lookup_unref (old); +#line 6278 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_web_authentication_pane_locale_lookup_class_init (PublishingFacebookWebAuthenticationPaneLocaleLookupClass * klass) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_locale_lookup_parent_class = g_type_class_peek_parent (klass); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookWebAuthenticationPaneLocaleLookupClass *) klass)->finalize = publishing_facebook_web_authentication_pane_locale_lookup_finalize; +#line 6288 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_locale_lookup_instance_init (PublishingFacebookWebAuthenticationPaneLocaleLookup * self) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->ref_count = 1; +#line 6295 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_locale_lookup_finalize (PublishingFacebookWebAuthenticationPaneLocaleLookup* obj) { + PublishingFacebookWebAuthenticationPaneLocaleLookup * self; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_TYPE_LOCALE_LOOKUP, PublishingFacebookWebAuthenticationPaneLocaleLookup); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_destroy (self); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->prefix); +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->translation); +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_code); +#line 844 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_translation); +#line 845 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_code_2); +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->exception_translation_2); +#line 6317 "FacebookPublishing.c" +} + + +static GType publishing_facebook_web_authentication_pane_locale_lookup_get_type (void) { + static volatile gsize publishing_facebook_web_authentication_pane_locale_lookup_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_web_authentication_pane_locale_lookup_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_facebook_web_authentication_pane_value_locale_lookup_init, publishing_facebook_web_authentication_pane_value_locale_lookup_free_value, publishing_facebook_web_authentication_pane_value_locale_lookup_copy_value, publishing_facebook_web_authentication_pane_value_locale_lookup_peek_pointer, "p", publishing_facebook_web_authentication_pane_value_locale_lookup_collect_value, "p", publishing_facebook_web_authentication_pane_value_locale_lookup_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookWebAuthenticationPaneLocaleLookupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_web_authentication_pane_locale_lookup_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookWebAuthenticationPaneLocaleLookup), 0, (GInstanceInitFunc) publishing_facebook_web_authentication_pane_locale_lookup_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 publishing_facebook_web_authentication_pane_locale_lookup_type_id; + publishing_facebook_web_authentication_pane_locale_lookup_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookWebAuthenticationPaneLocaleLookup", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_facebook_web_authentication_pane_locale_lookup_type_id__volatile, publishing_facebook_web_authentication_pane_locale_lookup_type_id); + } + return publishing_facebook_web_authentication_pane_locale_lookup_type_id__volatile; +} + + +static gpointer publishing_facebook_web_authentication_pane_locale_lookup_ref (gpointer instance) { + PublishingFacebookWebAuthenticationPaneLocaleLookup* self; + self = instance; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return instance; +#line 6342 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_locale_lookup_unref (gpointer instance) { + PublishingFacebookWebAuthenticationPaneLocaleLookup* self; + self = instance; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_LOCALE_LOOKUP_GET_CLASS (self)->finalize (self); +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 6355 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_web_authentication_pane_class_init (PublishingFacebookWebAuthenticationPaneClass * klass) { +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_parent_class = g_type_class_peek_parent (klass); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFacebookWebAuthenticationPanePrivate)); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_facebook_web_authentication_pane_finalize; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("login_succeeded", PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("login_failed", PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 6371 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_web_authentication_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_facebook_web_authentication_pane_real_get_widget; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_facebook_web_authentication_pane_real_get_preferred_geometry; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_facebook_web_authentication_pane_real_on_pane_installed; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_facebook_web_authentication_pane_real_on_pane_uninstalled; +#line 6386 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_instance_init (PublishingFacebookWebAuthenticationPane * self) { + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp0_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp1_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp2_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp3_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp4_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp5_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp6_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp7_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp8_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp9_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp10_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp11_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp12_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp13_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp14_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp15_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp16_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp17_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp18_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp19_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp20_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp21_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp22_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp23_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp24_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp25_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp26_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp27_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp28_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp29_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp30_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp31_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp32_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp33_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp34_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp35_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp36_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp37_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp38_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp39_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp40_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp41_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp42_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp43_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup* _tmp44_ = NULL; + PublishingFacebookWebAuthenticationPaneLocaleLookup** _tmp45_ = NULL; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv = PUBLISHING_FACEBOOK_WEB_AUTHENTICATION_PANE_GET_PRIVATE (self); +#line 815 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->webview = NULL; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->pane_widget = NULL; +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->webview_frame = NULL; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("es", "es-la", "ES", "es-es", NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("en", "en-gb", "US", "en-us", NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("fr", "fr-fr", "CA", "fr-ca", NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("pt", "pt-br", "PT", "pt-pt", NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("zh", "zh-cn", "HK", "zh-hk", "TW", "zh-tw"); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("af", "af-za", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ar", "ar-ar", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("nb", "nb-no", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("no", "nb-no", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("id", "id-id", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ms", "ms-my", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ca", "ca-es", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("cs", "cs-cz", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("cy", "cy-gb", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("da", "da-dk", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("de", "de-de", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("tl", "tl-ph", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ko", "ko-kr", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("hr", "hr-hr", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("it", "it-it", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("lt", "lt-lt", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("hu", "hu-hu", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("nl", "nl-nl", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ja", "ja-jp", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("nb", "nb-no", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("no", "nb-no", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("pl", "pl-pl", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ro", "ro-ro", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ru", "ru-ru", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("sk", "sk-sk", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("sl", "sl-si", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("sv", "sv-se", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("th", "th-th", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp33_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("vi", "vi-vn", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("tr", "tr-tr", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp35_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("el", "el-gr", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp36_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("bg", "bg-bg", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp37_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("sr", "sr-rs", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp38_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("he", "he-il", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp39_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("hi", "hi-in", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp40_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("bn", "bn-in", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp41_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("pa", "pa-in", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp42_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ta", "ta-in", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp43_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("te", "te-in", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp44_ = publishing_facebook_web_authentication_pane_locale_lookup_new ("ml", "ml-in", NULL, NULL, NULL, NULL); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_ = g_new0 (PublishingFacebookWebAuthenticationPaneLocaleLookup*, 45 + 1); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[0] = _tmp0_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[1] = _tmp1_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[2] = _tmp2_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[3] = _tmp3_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[4] = _tmp4_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[5] = _tmp5_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[6] = _tmp6_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[7] = _tmp7_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[8] = _tmp8_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[9] = _tmp9_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[10] = _tmp10_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[11] = _tmp11_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[12] = _tmp12_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[13] = _tmp13_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[14] = _tmp14_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[15] = _tmp15_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[16] = _tmp16_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[17] = _tmp17_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[18] = _tmp18_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[19] = _tmp19_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[20] = _tmp20_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[21] = _tmp21_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[22] = _tmp22_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[23] = _tmp23_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[24] = _tmp24_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[25] = _tmp25_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[26] = _tmp26_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[27] = _tmp27_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[28] = _tmp28_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[29] = _tmp29_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[30] = _tmp30_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[31] = _tmp31_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[32] = _tmp32_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[33] = _tmp33_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[34] = _tmp34_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[35] = _tmp35_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[36] = _tmp36_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[37] = _tmp37_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[38] = _tmp38_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[39] = _tmp39_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[40] = _tmp40_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[41] = _tmp41_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[42] = _tmp42_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[43] = _tmp43_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_[44] = _tmp44_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->locale_lookup_table = _tmp45_; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->locale_lookup_table_length1 = 45; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->_locale_lookup_table_size_ = self->priv->locale_lookup_table_length1; +#line 6633 "FacebookPublishing.c" +} + + +static void publishing_facebook_web_authentication_pane_finalize (GObject* obj) { + PublishingFacebookWebAuthenticationPane * self; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_WEB_AUTHENTICATION_PANE, PublishingFacebookWebAuthenticationPane); +#line 815 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->webview); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->webview_frame); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->locale_lookup_table = (_vala_array_free (self->priv->locale_lookup_table, self->priv->locale_lookup_table_length1, (GDestroyNotify) publishing_facebook_web_authentication_pane_locale_lookup_unref), NULL); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (publishing_facebook_web_authentication_pane_parent_class)->finalize (obj); +#line 6651 "FacebookPublishing.c" +} + + +GType publishing_facebook_web_authentication_pane_get_type (void) { + static volatile gsize publishing_facebook_web_authentication_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_web_authentication_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookWebAuthenticationPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_web_authentication_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookWebAuthenticationPane), 0, (GInstanceInitFunc) publishing_facebook_web_authentication_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_facebook_web_authentication_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_facebook_web_authentication_pane_type_id; + publishing_facebook_web_authentication_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFacebookWebAuthenticationPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_facebook_web_authentication_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_facebook_web_authentication_pane_type_id__volatile, publishing_facebook_web_authentication_pane_type_id); + } + return publishing_facebook_web_authentication_pane_type_id__volatile; +} + + +static PublishingFacebookAlbum** _vala_array_dup2 (PublishingFacebookAlbum** self, int length) { + PublishingFacebookAlbum** result; + int i; +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = g_new0 (PublishingFacebookAlbum*, length + 1); +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + for (i = 0; i < length; i++) { +#line 6676 "FacebookPublishing.c" + PublishingFacebookAlbum* _tmp0_ = NULL; +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _publishing_facebook_album_ref0 (self[i]); +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result[i] = _tmp0_; +#line 6682 "FacebookPublishing.c" + } +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 6686 "FacebookPublishing.c" +} + + +static void _publishing_facebook_publishing_options_pane_on_create_new_toggled_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_on_create_new_toggled ((PublishingFacebookPublishingOptionsPane*) self); +#line 6693 "FacebookPublishing.c" +} + + +static void _publishing_facebook_publishing_options_pane_on_use_existing_toggled_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_on_use_existing_toggled ((PublishingFacebookPublishingOptionsPane*) self); +#line 6700 "FacebookPublishing.c" +} + + +static void _publishing_facebook_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_on_publish_button_clicked ((PublishingFacebookPublishingOptionsPane*) self); +#line 6707 "FacebookPublishing.c" +} + + +static void _publishing_facebook_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1096 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_on_logout_button_clicked ((PublishingFacebookPublishingOptionsPane*) self); +#line 6714 "FacebookPublishing.c" +} + + +static void _publishing_facebook_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_on_size_changed ((PublishingFacebookPublishingOptionsPane*) self); +#line 6721 "FacebookPublishing.c" +} + + +PublishingFacebookPublishingOptionsPane* publishing_facebook_publishing_options_pane_construct (GType object_type, const gchar* username, PublishingFacebookAlbum** albums, int albums_length1, SpitPublishingPublisherMediaType media_type, PublishingFacebookFacebookPublisher* publisher, GtkBuilder* builder, gboolean strip_metadata) { + PublishingFacebookPublishingOptionsPane * self = NULL; + GtkBuilder* _tmp0_ = NULL; + GtkBuilder* _tmp1_ = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GSList* _tmp4_ = NULL; + GSList* _tmp5_ = NULL; + guint _tmp6_ = 0U; + PublishingFacebookAlbum** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + PublishingFacebookAlbum** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp10_ = NULL; + gint _tmp11_ = 0; + PublishingFacebookResolution* _tmp12_ = NULL; + PublishingFacebookFacebookPublisher* _tmp13_ = NULL; + PublishingFacebookFacebookPublisher* _tmp14_ = NULL; + SpitPublishingPublisherMediaType _tmp15_ = 0; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkBox* _tmp18_ = NULL; + GtkBox* _tmp19_ = NULL; + GtkBuilder* _tmp20_ = NULL; + GObject* _tmp21_ = NULL; + GtkRadioButton* _tmp22_ = NULL; + GtkBuilder* _tmp23_ = NULL; + GObject* _tmp24_ = NULL; + GtkRadioButton* _tmp25_ = NULL; + GtkBuilder* _tmp26_ = NULL; + GObject* _tmp27_ = NULL; + GtkComboBoxText* _tmp28_ = NULL; + GtkBuilder* _tmp29_ = NULL; + GObject* _tmp30_ = NULL; + GtkComboBoxText* _tmp31_ = NULL; + GtkBuilder* _tmp32_ = NULL; + GObject* _tmp33_ = NULL; + GtkButton* _tmp34_ = NULL; + GtkBuilder* _tmp35_ = NULL; + GObject* _tmp36_ = NULL; + GtkButton* _tmp37_ = NULL; + GtkBuilder* _tmp38_ = NULL; + GObject* _tmp39_ = NULL; + GtkEntry* _tmp40_ = NULL; + GtkBuilder* _tmp41_ = NULL; + GObject* _tmp42_ = NULL; + GtkComboBoxText* _tmp43_ = NULL; + GtkBuilder* _tmp44_ = NULL; + GObject* _tmp45_ = NULL; + GtkLabel* _tmp46_ = NULL; + GtkBuilder* _tmp47_ = NULL; + GObject* _tmp48_ = NULL; + GtkCheckButton* _tmp49_ = NULL; + GtkRadioButton* _tmp50_ = NULL; + GtkRadioButton* _tmp51_ = NULL; + gchar* label_text = NULL; + const gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + SpitPublishingPublisherMediaType _tmp54_ = 0; + GtkLabel* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; + GtkCheckButton* _tmp59_ = NULL; + gboolean _tmp60_ = FALSE; + GtkComboBoxText* _tmp61_ = NULL; + GtkButton* _tmp62_ = NULL; + GtkButton* _tmp63_ = NULL; + GtkComboBoxText* _tmp64_ = NULL; + PublishingFacebookFacebookPublisher* _tmp65_ = NULL; + gint _tmp66_ = 0; + GtkComboBoxText* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; + gboolean _tmp69_ = FALSE; + GtkRadioButton* _tmp70_ = NULL; + GtkComboBoxText* _tmp75_ = NULL; + SpitPublishingPublisherMediaType _tmp76_ = 0; +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_FACEBOOK_PUBLISHER (publisher), NULL); +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookPublishingOptionsPane*) g_object_new (object_type, NULL); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = builder; +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->builder = _tmp1_; +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = builder; +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp2_ != NULL, "builder != null"); +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = builder; +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = gtk_builder_get_objects (_tmp3_); +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_; +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = g_slist_length (_tmp5_); +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp6_ > ((guint) 0), "builder.get_objects().length() > 0"); +#line 1058 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_slist_free0 (_tmp5_); +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = albums; +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7__length1 = albums_length1; +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = (_tmp7_ != NULL) ? _vala_array_dup2 (_tmp7_, _tmp7__length1) : ((gpointer) _tmp7_); +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8__length1 = _tmp7__length1; +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL); +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->albums = _tmp8_; +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->albums_length1 = _tmp8__length1; +#line 1060 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = publishing_facebook_publishing_options_pane_create_privacy_descriptions (self, &_tmp9_); +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->privacy_descriptions = (_vala_array_free (self->priv->privacy_descriptions, self->priv->privacy_descriptions_length1, (GDestroyNotify) publishing_facebook_publishing_options_pane_privacy_description_unref), NULL); +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->privacy_descriptions = _tmp10_; +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->privacy_descriptions_length1 = _tmp9_; +#line 1061 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->_privacy_descriptions_size_ = self->priv->privacy_descriptions_length1; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = publishing_facebook_publishing_options_pane_create_resolution_list (self, &_tmp11_); +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->possible_resolutions = (g_free (self->priv->possible_resolutions), NULL); +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->possible_resolutions = _tmp12_; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->possible_resolutions_length1 = _tmp11_; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->_possible_resolutions_size_ = self->priv->possible_resolutions_length1; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = publisher; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = _g_object_ref0 (_tmp13_); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publisher = _tmp14_; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = media_type; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->media_type = _tmp15_; +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = builder; +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "facebook_pane_box"); +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_box_get_type (), GtkBox)); +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->pane_widget = _tmp18_; +#line 1070 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = self->priv->pane_widget; +#line 1070 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_container_get_type (), GtkContainer), (guint) 16); +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = self->priv->builder; +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = gtk_builder_get_object (_tmp20_, "use_existing_radio"); +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_radio_button_get_type (), GtkRadioButton)); +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->use_existing_radio = _tmp22_; +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = self->priv->builder; +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = gtk_builder_get_object (_tmp23_, "create_new_radio"); +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_radio_button_get_type (), GtkRadioButton)); +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->create_new_radio = _tmp25_; +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = self->priv->builder; +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = gtk_builder_get_object (_tmp26_, "existing_albums_combo"); +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->existing_albums_combo = _tmp28_; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = self->priv->builder; +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = gtk_builder_get_object (_tmp29_, "visibility_combo"); +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->visibility_combo); +#line 1075 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->visibility_combo = _tmp31_; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = self->priv->builder; +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp33_ = gtk_builder_get_object (_tmp32_, "publish_button"); +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_button_get_type (), GtkButton)); +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publish_button = _tmp34_; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp35_ = self->priv->builder; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp36_ = gtk_builder_get_object (_tmp35_, "logout_button"); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp37_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_button_get_type (), GtkButton)); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->logout_button = _tmp37_; +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp38_ = self->priv->builder; +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp39_ = gtk_builder_get_object (_tmp38_, "new_album_entry"); +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp40_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_entry_get_type (), GtkEntry)); +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->new_album_entry = _tmp40_; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp41_ = self->priv->builder; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp42_ = gtk_builder_get_object (_tmp41_, "resolution_combo"); +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp43_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->resolution_combo); +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->resolution_combo = _tmp43_; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp44_ = self->priv->builder; +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_ = gtk_builder_get_object (_tmp44_, "how_to_label"); +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp46_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_label_get_type (), GtkLabel)); +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->how_to_label); +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->how_to_label = _tmp46_; +#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp47_ = self->priv->builder; +#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp48_ = gtk_builder_get_object (_tmp47_, "strip_metadata_check"); +#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp49_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_check_button_get_type (), GtkCheckButton)); +#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->strip_metadata_check = _tmp49_; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp50_ = self->priv->create_new_radio; +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_create_new_toggled_gtk_button_clicked, self, 0); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp51_ = self->priv->use_existing_radio; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_use_existing_toggled_gtk_button_clicked, self, 0); +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp52_ = username; +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp53_ = g_strdup_printf (PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_HEADER_LABEL_TEXT, _tmp52_); +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + label_text = _tmp53_; +#line 1087 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp54_ = media_type; +#line 1087 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if ((_tmp54_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) != 0) { +#line 7013 "FacebookPublishing.c" + const gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp55_ = label_text; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp56_ = g_strconcat (_tmp55_, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PHOTOS_LABEL_TEXT, NULL); +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (label_text); +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + label_text = _tmp56_; +#line 7024 "FacebookPublishing.c" + } +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp57_ = self->priv->how_to_label; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp58_ = label_text; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_label_set_label (_tmp57_, _tmp58_); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp59_ = self->priv->strip_metadata_check; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp60_ = strip_metadata; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp60_); +#line 1092 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_setup_visibility_combo (self); +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp61_ = self->priv->visibility_combo; +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp62_ = self->priv->publish_button; +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp62_, "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked, self, 0); +#line 1096 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp63_ = self->priv->logout_button; +#line 1096 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (_tmp63_, "clicked", (GCallback) _publishing_facebook_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked, self, 0); +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_setup_resolution_combo (self); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp64_ = self->priv->resolution_combo; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp65_ = publisher; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp66_ = publishing_facebook_facebook_publisher_get_persistent_default_size (_tmp65_); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_combo_box_get_type (), GtkComboBox), _tmp66_); +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp67_ = self->priv->resolution_combo; +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_facebook_publishing_options_pane_on_size_changed_gtk_combo_box_changed, self, 0); +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp70_ = self->priv->create_new_radio; +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp70_ != NULL) { +#line 7070 "FacebookPublishing.c" + GtkRadioButton* _tmp71_ = NULL; + gboolean _tmp72_ = FALSE; + gboolean _tmp73_ = FALSE; +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp71_ = self->priv->create_new_radio; +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp72_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp73_ = _tmp72_; +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp69_ = _tmp73_; +#line 7082 "FacebookPublishing.c" + } else { +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp69_ = FALSE; +#line 7086 "FacebookPublishing.c" + } +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp69_) { +#line 1106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp68_ = TRUE; +#line 7092 "FacebookPublishing.c" + } else { + SpitPublishingPublisherMediaType _tmp74_ = 0; +#line 1107 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp74_ = media_type; +#line 1107 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp68_ = (_tmp74_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) != 0; +#line 7099 "FacebookPublishing.c" + } +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp75_ = self->priv->visibility_combo; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_widget_get_type (), GtkWidget), _tmp68_); +#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp76_ = media_type; +#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp76_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 7109 "FacebookPublishing.c" + GtkCheckButton* _tmp77_ = NULL; + GtkCheckButton* _tmp78_ = NULL; + GtkComboBoxText* _tmp79_ = NULL; + GtkRadioButton* _tmp80_ = NULL; + GtkRadioButton* _tmp81_ = NULL; + GtkComboBoxText* _tmp82_ = NULL; + GtkEntry* _tmp83_ = NULL; +#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp77_ = self->priv->strip_metadata_check; +#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, gtk_toggle_button_get_type (), GtkToggleButton), FALSE); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp78_ = self->priv->strip_metadata_check; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp79_ = self->priv->resolution_combo; +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp80_ = self->priv->use_existing_radio; +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp81_ = self->priv->create_new_radio; +#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp82_ = self->priv->existing_albums_combo; +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp83_ = self->priv->new_album_entry; +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 7145 "FacebookPublishing.c" + } +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (label_text); +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 7151 "FacebookPublishing.c" +} + + +PublishingFacebookPublishingOptionsPane* publishing_facebook_publishing_options_pane_new (const gchar* username, PublishingFacebookAlbum** albums, int albums_length1, SpitPublishingPublisherMediaType media_type, PublishingFacebookFacebookPublisher* publisher, GtkBuilder* builder, gboolean strip_metadata) { +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_publishing_options_pane_construct (PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, username, albums, albums_length1, media_type, publisher, builder, strip_metadata); +#line 7158 "FacebookPublishing.c" +} + + +static gboolean publishing_facebook_publishing_options_pane_publishing_photos (PublishingFacebookPublishingOptionsPane* self) { + gboolean result = FALSE; + SpitPublishingPublisherMediaType _tmp0_ = 0; +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self), FALSE); +#line 1122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->media_type; +#line 1122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = (_tmp0_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) != 0; +#line 1122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 7173 "FacebookPublishing.c" +} + + +static gpointer _publishing_facebook_publishing_options_pane_privacy_description_ref0 (gpointer self) { +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? publishing_facebook_publishing_options_pane_privacy_description_ref (self) : NULL; +#line 7180 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_setup_visibility_combo (PublishingFacebookPublishingOptionsPane* self) { + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 1125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->privacy_descriptions; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = self->priv->privacy_descriptions_length1; +#line 7193 "FacebookPublishing.c" + { + PublishingFacebookPublishingOptionsPanePrivacyDescription** p_collection = NULL; + gint p_collection_length1 = 0; + gint _p_collection_size_ = 0; + gint p_it = 0; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + p_collection = _tmp0_; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + p_collection_length1 = _tmp0__length1; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + for (p_it = 0; p_it < _tmp0__length1; p_it = p_it + 1) { +#line 7205 "FacebookPublishing.c" + PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp1_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription* p = NULL; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _publishing_facebook_publishing_options_pane_privacy_description_ref0 (p_collection[p_it]); +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + p = _tmp1_; +#line 7212 "FacebookPublishing.c" + { + GtkComboBoxText* _tmp2_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->visibility_combo; +#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = p; +#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = _tmp3_->description; +#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_combo_box_text_append_text (_tmp2_, _tmp4_); +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_publishing_options_pane_privacy_description_unref0 (p); +#line 7227 "FacebookPublishing.c" + } + } + } +} + + +static void publishing_facebook_publishing_options_pane_setup_resolution_combo (PublishingFacebookPublishingOptionsPane* self) { + PublishingFacebookResolution* _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->possible_resolutions; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = self->priv->possible_resolutions_length1; +#line 7243 "FacebookPublishing.c" + { + PublishingFacebookResolution* res_collection = NULL; + gint res_collection_length1 = 0; + gint _res_collection_size_ = 0; + gint res_it = 0; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + res_collection = _tmp0_; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + res_collection_length1 = _tmp0__length1; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + for (res_it = 0; res_it < _tmp0__length1; res_it = res_it + 1) { +#line 7255 "FacebookPublishing.c" + PublishingFacebookResolution res = 0; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + res = res_collection[res_it]; +#line 7259 "FacebookPublishing.c" + { + GtkComboBoxText* _tmp1_ = NULL; + PublishingFacebookResolution _tmp2_ = 0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->resolution_combo; +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = res; +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = publishing_facebook_resolution_get_name (_tmp2_); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = _tmp3_; +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_combo_box_text_append_text (_tmp1_, _tmp4_); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp4_); +#line 7277 "FacebookPublishing.c" + } + } + } +} + + +static void publishing_facebook_publishing_options_pane_on_use_existing_toggled (PublishingFacebookPublishingOptionsPane* self) { + GtkRadioButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->use_existing_radio; +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_; +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp2_) { +#line 7298 "FacebookPublishing.c" + GtkComboBoxText* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + SpitPublishingPublisherMediaType _tmp6_ = 0; + GtkComboBoxText* _tmp7_ = NULL; +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->existing_albums_combo; +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->new_album_entry; +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->visibility_combo; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = self->priv->media_type; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), (_tmp6_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) != 0); +#line 1145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->existing_albums_combo; +#line 1145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 7322 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_publishing_options_pane_on_create_new_toggled (PublishingFacebookPublishingOptionsPane* self) { + GtkRadioButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->create_new_radio; +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_; +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp2_) { +#line 7341 "FacebookPublishing.c" + GtkComboBoxText* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + GtkEntry* _tmp5_ = NULL; + GtkComboBoxText* _tmp6_ = NULL; +#line 1151 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->existing_albums_combo; +#line 1151 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->new_album_entry; +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->new_album_entry; +#line 1153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 1157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = self->priv->visibility_combo; +#line 1157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 7362 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_publishing_options_pane_on_size_changed (PublishingFacebookPublishingOptionsPane* self) { + PublishingFacebookFacebookPublisher* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->publisher; +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->resolution_combo; +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_facebook_publisher_set_persistent_default_size (_tmp0_, _tmp2_); +#line 7381 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_on_logout_button_clicked (PublishingFacebookPublishingOptionsPane* self) { +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 7390 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_on_publish_button_clicked (PublishingFacebookPublishingOptionsPane* self) { + gchar* album_name = NULL; + gchar* privacy_setting = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; + PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingFacebookResolution resolution_setting = 0; + gboolean _tmp6_ = FALSE; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + PublishingFacebookResolution _tmp21_ = 0; + GtkCheckButton* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->privacy_descriptions; +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = self->priv->privacy_descriptions_length1; +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->visibility_combo; +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _tmp0_[_tmp2_]; +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = _tmp3_->privacy_setting; +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 1171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + privacy_setting = _tmp5_; +#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_facebook_publishing_options_pane_publishing_photos (self); +#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp6_) { +#line 7433 "FacebookPublishing.c" + PublishingFacebookResolution* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GtkComboBoxText* _tmp8_ = NULL; + gint _tmp9_ = 0; + PublishingFacebookResolution _tmp10_ = 0; + GtkRadioButton* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->possible_resolutions; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7__length1 = self->priv->possible_resolutions_length1; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->resolution_combo; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp7_[_tmp9_]; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + resolution_setting = _tmp10_; +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = self->priv->use_existing_radio; +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = _tmp12_; +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp13_) { +#line 7462 "FacebookPublishing.c" + GtkComboBoxText* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = self->priv->existing_albums_combo; +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = gtk_combo_box_text_get_active_text (_tmp14_); +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (album_name); +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_name = _tmp15_; +#line 7473 "FacebookPublishing.c" + } else { + GtkEntry* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = self->priv->new_album_entry; +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = gtk_entry_get_text (_tmp16_); +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (album_name); +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_name = _tmp18_; +#line 7488 "FacebookPublishing.c" + } + } else { +#line 1183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + resolution_setting = PUBLISHING_FACEBOOK_RESOLUTION_STANDARD; +#line 1184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (album_name); +#line 1184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_name = NULL; +#line 7497 "FacebookPublishing.c" + } +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = album_name; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = privacy_setting; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = resolution_setting; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = self->priv->strip_metadata_check; +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp19_, _tmp20_, _tmp21_, _tmp23_); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (privacy_setting); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (album_name); +#line 7515 "FacebookPublishing.c" +} + + +static void _vala_array_add7 (PublishingFacebookPublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingFacebookPublishingOptionsPanePrivacyDescription* value) { +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if ((*length) == (*size)) { +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *array = g_renew (PublishingFacebookPublishingOptionsPanePrivacyDescription*, *array, (*size) + 1); +#line 7526 "FacebookPublishing.c" + } +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[(*length)++] = value; +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[*length] = NULL; +#line 7532 "FacebookPublishing.c" +} + + +static void _vala_array_add8 (PublishingFacebookPublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingFacebookPublishingOptionsPanePrivacyDescription* value) { +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if ((*length) == (*size)) { +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *array = g_renew (PublishingFacebookPublishingOptionsPanePrivacyDescription*, *array, (*size) + 1); +#line 7543 "FacebookPublishing.c" + } +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[(*length)++] = value; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[*length] = NULL; +#line 7549 "FacebookPublishing.c" +} + + +static void _vala_array_add9 (PublishingFacebookPublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingFacebookPublishingOptionsPanePrivacyDescription* value) { +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if ((*length) == (*size)) { +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *array = g_renew (PublishingFacebookPublishingOptionsPanePrivacyDescription*, *array, (*size) + 1); +#line 7560 "FacebookPublishing.c" + } +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[(*length)++] = value; +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[*length] = NULL; +#line 7566 "FacebookPublishing.c" +} + + +static PublishingFacebookPublishingOptionsPanePrivacyDescription** publishing_facebook_publishing_options_pane_create_privacy_descriptions (PublishingFacebookPublishingOptionsPane* self, int* result_length1) { + PublishingFacebookPublishingOptionsPanePrivacyDescription** result = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _result_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp3_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp6_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription* _tmp9_ = NULL; + PublishingFacebookPublishingOptionsPanePrivacyDescription** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 1190 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = g_new0 (PublishingFacebookPublishingOptionsPanePrivacyDescription*, 0 + 1); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _result_ = _tmp0_; +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _result__length1 = 0; +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __result__size_ = _result__length1; +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _result_; +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1__length1 = _result__length1; +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _ ("Just me"); +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = publishing_facebook_publishing_options_pane_privacy_description_new (_tmp2_, "{ 'value' : 'SELF' }"); +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_array_add7 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = _result_; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4__length1 = _result__length1; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _ ("Friends"); +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_facebook_publishing_options_pane_privacy_description_new (_tmp5_, "{ 'value' : 'ALL_FRIENDS' }"); +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_array_add8 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _result_; +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7__length1 = _result__length1; +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _ ("Everyone"); +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = publishing_facebook_publishing_options_pane_privacy_description_new (_tmp8_, "{ 'value' : 'EVERYONE' }"); +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_array_add9 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _result_; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10__length1 = _result__length1; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (result_length1) { +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *result_length1 = _tmp10__length1; +#line 7638 "FacebookPublishing.c" + } +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp10_; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 7644 "FacebookPublishing.c" +} + + +static void _vala_array_add10 (PublishingFacebookResolution** array, int* length, int* size, PublishingFacebookResolution value) { +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if ((*length) == (*size)) { +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *array = g_renew (PublishingFacebookResolution, *array, *size); +#line 7655 "FacebookPublishing.c" + } +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[(*length)++] = value; +#line 7659 "FacebookPublishing.c" +} + + +static void _vala_array_add11 (PublishingFacebookResolution** array, int* length, int* size, PublishingFacebookResolution value) { +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if ((*length) == (*size)) { +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *array = g_renew (PublishingFacebookResolution, *array, *size); +#line 7670 "FacebookPublishing.c" + } +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + (*array)[(*length)++] = value; +#line 7674 "FacebookPublishing.c" +} + + +static PublishingFacebookResolution* publishing_facebook_publishing_options_pane_create_resolution_list (PublishingFacebookPublishingOptionsPane* self, int* result_length1) { + PublishingFacebookResolution* result = NULL; + PublishingFacebookResolution* _result_ = NULL; + PublishingFacebookResolution* _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingFacebookResolution* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingFacebookResolution* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PublishingFacebookResolution* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = g_new0 (PublishingFacebookResolution, 0); +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _result_ = _tmp0_; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _result__length1 = 0; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __result__size_ = _result__length1; +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _result_; +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1__length1 = _result__length1; +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_array_add10 (&_result_, &_result__length1, &__result__size_, PUBLISHING_FACEBOOK_RESOLUTION_STANDARD); +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _result_; +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2__length1 = _result__length1; +#line 1204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_array_add11 (&_result_, &_result__length1, &__result__size_, PUBLISHING_FACEBOOK_RESOLUTION_HIGH); +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _result_; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3__length1 = _result__length1; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (result_length1) { +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *result_length1 = _tmp3__length1; +#line 7720 "FacebookPublishing.c" + } +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp3_; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 7726 "FacebookPublishing.c" +} + + +void publishing_facebook_publishing_options_pane_installed (PublishingFacebookPublishingOptionsPane* self) { + gboolean _tmp0_ = FALSE; + GtkButton* _tmp24_ = NULL; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishing_facebook_publishing_options_pane_publishing_photos (self); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_) { +#line 7739 "FacebookPublishing.c" + PublishingFacebookAlbum** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->albums; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1__length1 = self->priv->albums_length1; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp1__length1 == 0) { +#line 7748 "FacebookPublishing.c" + GtkRadioButton* _tmp2_ = NULL; + GtkEntry* _tmp3_ = NULL; + GtkComboBoxText* _tmp4_ = NULL; + GtkRadioButton* _tmp5_ = NULL; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->create_new_radio; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->new_album_entry; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_entry_set_text (_tmp3_, PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME); +#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->priv->existing_albums_combo; +#line 1214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = self->priv->use_existing_radio; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 7769 "FacebookPublishing.c" + } else { + gint default_album_seq_num = 0; + gint ticker = 0; + PublishingFacebookAlbum** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp15_ = 0; +#line 1217 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + default_album_seq_num = -1; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ticker = 0; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = self->priv->albums; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6__length1 = self->priv->albums_length1; +#line 7784 "FacebookPublishing.c" + { + PublishingFacebookAlbum** album_collection = NULL; + gint album_collection_length1 = 0; + gint _album_collection_size_ = 0; + gint album_it = 0; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_collection = _tmp6_; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album_collection_length1 = _tmp6__length1; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + for (album_it = 0; album_it < _tmp6__length1; album_it = album_it + 1) { +#line 7796 "FacebookPublishing.c" + PublishingFacebookAlbum* _tmp7_ = NULL; + PublishingFacebookAlbum* album = NULL; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _publishing_facebook_album_ref0 (album_collection[album_it]); +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + album = _tmp7_; +#line 7803 "FacebookPublishing.c" + { + GtkComboBoxText* _tmp8_ = NULL; + PublishingFacebookAlbum* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + PublishingFacebookAlbum* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp14_ = 0; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->existing_albums_combo; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = album; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_->name; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_combo_box_text_append_text (_tmp8_, _tmp10_); +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = album; +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = _tmp11_->name; +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_strcmp0 (_tmp12_, PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME) == 0) { +#line 7825 "FacebookPublishing.c" + gint _tmp13_ = 0; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = ticker; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + default_album_seq_num = _tmp13_; +#line 7831 "FacebookPublishing.c" + } +#line 1223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = ticker; +#line 1223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ticker = _tmp14_ + 1; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_album_unref0 (album); +#line 7839 "FacebookPublishing.c" + } + } + } +#line 1225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = default_album_seq_num; +#line 1225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp15_ != -1) { +#line 7847 "FacebookPublishing.c" + GtkComboBoxText* _tmp16_ = NULL; + gint _tmp17_ = 0; + GtkRadioButton* _tmp18_ = NULL; + GtkEntry* _tmp19_ = NULL; +#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = self->priv->existing_albums_combo; +#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = default_album_seq_num; +#line 1226 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_combo_box_get_type (), GtkComboBox), _tmp17_); +#line 1227 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = self->priv->use_existing_radio; +#line 1227 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = self->priv->new_album_entry; +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 7866 "FacebookPublishing.c" + } else { + GtkRadioButton* _tmp20_ = NULL; + GtkComboBoxText* _tmp21_ = NULL; + GtkComboBoxText* _tmp22_ = NULL; + GtkEntry* _tmp23_ = NULL; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = self->priv->create_new_radio; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = self->priv->existing_albums_combo; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = self->priv->existing_albums_combo; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = self->priv->new_album_entry; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_entry_set_text (_tmp23_, PUBLISHING_FACEBOOK_DEFAULT_ALBUM_NAME); +#line 7888 "FacebookPublishing.c" + } + } + } +#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = self->priv->publish_button; +#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_widget_get_type (), GtkWidget)); +#line 7896 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_notify_logout (PublishingFacebookPublishingOptionsPane* self) { +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 7905 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_notify_publish (PublishingFacebookPublishingOptionsPane* self, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution target_resolution) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingFacebookResolution _tmp2_ = 0; + GtkCheckButton* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (privacy_setting != NULL); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = target_album; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = privacy_setting; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = target_resolution; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->strip_metadata_check; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp0_, _tmp1_, _tmp2_, _tmp4_); +#line 7931 "FacebookPublishing.c" +} + + +static GtkWidget* publishing_facebook_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingFacebookPublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane); +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 7950 "FacebookPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_facebook_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingFacebookPublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 1254 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane); +#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 7963 "FacebookPublishing.c" +} + + +static void _publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout (PublishingFacebookPublishingOptionsPane* _sender, gpointer self) { +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_notify_logout ((PublishingFacebookPublishingOptionsPane*) self); +#line 7970 "FacebookPublishing.c" +} + + +static void _publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish (PublishingFacebookPublishingOptionsPane* _sender, const gchar* target_album, const gchar* privacy_setting, PublishingFacebookResolution target_resolution, gboolean strip_metadata, gpointer self) { +#line 1260 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_notify_publish ((PublishingFacebookPublishingOptionsPane*) self, target_album, privacy_setting, target_resolution); +#line 7977 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingFacebookPublishingOptionsPane * self; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane); +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (self, "logout", (GCallback) _publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout, self, 0); +#line 1260 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect_object (self, "publish", (GCallback) _publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish, self, 0); +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_installed (self); +#line 7991 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingFacebookPublishingOptionsPane * self; + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; +#line 1265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane); +#line 1266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp0_, NULL, FALSE); +#line 1266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_facebook_publishing_options_pane_notify_logout_publishing_facebook_publishing_options_pane_logout, self); +#line 1267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 1267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_publishing_options_pane_notify_publish_publishing_facebook_publishing_options_pane_publish, self); +#line 8009 "FacebookPublishing.c" +} + + +static void g_cclosure_user_marshal_VOID__STRING_STRING_ENUM_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__STRING_STRING_ENUM_BOOLEAN) (gpointer data1, const char* arg_1, const char* arg_2, gint arg_3, gboolean arg_4, gpointer data2); + register GMarshalFunc_VOID__STRING_STRING_ENUM_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (n_param_values == 5); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data1 = closure->data; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 8028 "FacebookPublishing.c" + } else { +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data2 = closure->data; +#line 8034 "FacebookPublishing.c" + } +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + callback = (GMarshalFunc_VOID__STRING_STRING_ENUM_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_enum (param_values + 3), g_value_get_boolean (param_values + 4), data2); +#line 8040 "FacebookPublishing.c" +} + + +static PublishingFacebookPublishingOptionsPanePrivacyDescription* publishing_facebook_publishing_options_pane_privacy_description_construct (GType object_type, const gchar* description, const gchar* privacy_setting) { + PublishingFacebookPublishingOptionsPanePrivacyDescription* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (description != NULL, NULL); +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (privacy_setting != NULL, NULL); +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookPublishingOptionsPanePrivacyDescription*) g_type_create_instance (object_type); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = description; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->description); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->description = _tmp1_; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = privacy_setting; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->privacy_setting); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->privacy_setting = _tmp3_; +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 8074 "FacebookPublishing.c" +} + + +static PublishingFacebookPublishingOptionsPanePrivacyDescription* publishing_facebook_publishing_options_pane_privacy_description_new (const gchar* description, const gchar* privacy_setting) { +#line 1046 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_publishing_options_pane_privacy_description_construct (PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, description, privacy_setting); +#line 8081 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_value_privacy_description_init (GValue* value) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8088 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_value_privacy_description_free_value (GValue* value) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (value->data[0].v_pointer) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_privacy_description_unref (value->data[0].v_pointer); +#line 8097 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_publishing_options_pane_value_privacy_description_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = publishing_facebook_publishing_options_pane_privacy_description_ref (src_value->data[0].v_pointer); +#line 8107 "FacebookPublishing.c" + } else { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 8111 "FacebookPublishing.c" + } +} + + +static gpointer publishing_facebook_publishing_options_pane_value_privacy_description_peek_pointer (const GValue* value) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 8119 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_publishing_options_pane_value_privacy_description_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (collect_values[0].v_pointer) { +#line 8126 "FacebookPublishing.c" + PublishingFacebookPublishingOptionsPanePrivacyDescription* object; + object = collect_values[0].v_pointer; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8133 "FacebookPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 8137 "FacebookPublishing.c" + } +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = publishing_facebook_publishing_options_pane_privacy_description_ref (object); +#line 8141 "FacebookPublishing.c" + } else { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8145 "FacebookPublishing.c" + } +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 8149 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_publishing_options_pane_value_privacy_description_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFacebookPublishingOptionsPanePrivacyDescription** object_p; + object_p = collect_values[0].v_pointer; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!object_p) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8160 "FacebookPublishing.c" + } +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!value->data[0].v_pointer) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = NULL; +#line 8166 "FacebookPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 8170 "FacebookPublishing.c" + } else { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = publishing_facebook_publishing_options_pane_privacy_description_ref (value->data[0].v_pointer); +#line 8174 "FacebookPublishing.c" + } +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 8178 "FacebookPublishing.c" +} + + +static GParamSpec* publishing_facebook_publishing_options_pane_param_spec_privacy_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFacebookPublishingOptionsPaneParamSpecPrivacyDescription* spec; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION), NULL); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return G_PARAM_SPEC (spec); +#line 8192 "FacebookPublishing.c" +} + + +static gpointer publishing_facebook_publishing_options_pane_value_get_privacy_description (const GValue* value) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION), NULL); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 8201 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_value_set_privacy_description (GValue* value, gpointer v_object) { + PublishingFacebookPublishingOptionsPanePrivacyDescription* old; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_privacy_description_ref (value->data[0].v_pointer); +#line 8221 "FacebookPublishing.c" + } else { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8225 "FacebookPublishing.c" + } +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_privacy_description_unref (old); +#line 8231 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_publishing_options_pane_value_take_privacy_description (GValue* value, gpointer v_object) { + PublishingFacebookPublishingOptionsPanePrivacyDescription* old; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 8250 "FacebookPublishing.c" + } else { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8254 "FacebookPublishing.c" + } +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_privacy_description_unref (old); +#line 8260 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_publishing_options_pane_privacy_description_class_init (PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass * klass) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_privacy_description_parent_class = g_type_class_peek_parent (klass); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass *) klass)->finalize = publishing_facebook_publishing_options_pane_privacy_description_finalize; +#line 8270 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_privacy_description_instance_init (PublishingFacebookPublishingOptionsPanePrivacyDescription * self) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->ref_count = 1; +#line 8277 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_privacy_description_finalize (PublishingFacebookPublishingOptionsPanePrivacyDescription* obj) { + PublishingFacebookPublishingOptionsPanePrivacyDescription * self; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingFacebookPublishingOptionsPanePrivacyDescription); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_destroy (self); +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->description); +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->privacy_setting); +#line 8291 "FacebookPublishing.c" +} + + +static GType publishing_facebook_publishing_options_pane_privacy_description_get_type (void) { + static volatile gsize publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_facebook_publishing_options_pane_value_privacy_description_init, publishing_facebook_publishing_options_pane_value_privacy_description_free_value, publishing_facebook_publishing_options_pane_value_privacy_description_copy_value, publishing_facebook_publishing_options_pane_value_privacy_description_peek_pointer, "p", publishing_facebook_publishing_options_pane_value_privacy_description_collect_value, "p", publishing_facebook_publishing_options_pane_value_privacy_description_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookPublishingOptionsPanePrivacyDescriptionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_publishing_options_pane_privacy_description_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookPublishingOptionsPanePrivacyDescription), 0, (GInstanceInitFunc) publishing_facebook_publishing_options_pane_privacy_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 publishing_facebook_publishing_options_pane_privacy_description_type_id; + publishing_facebook_publishing_options_pane_privacy_description_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookPublishingOptionsPanePrivacyDescription", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile, publishing_facebook_publishing_options_pane_privacy_description_type_id); + } + return publishing_facebook_publishing_options_pane_privacy_description_type_id__volatile; +} + + +static gpointer publishing_facebook_publishing_options_pane_privacy_description_ref (gpointer instance) { + PublishingFacebookPublishingOptionsPanePrivacyDescription* self; + self = instance; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return instance; +#line 8316 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_privacy_description_unref (gpointer instance) { + PublishingFacebookPublishingOptionsPanePrivacyDescription* self; + self = instance; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_GET_CLASS (self)->finalize (self); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8329 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_publishing_options_pane_class_init (PublishingFacebookPublishingOptionsPaneClass * klass) { +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFacebookPublishingOptionsPanePrivate)); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_facebook_publishing_options_pane_finalize; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("logout", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("publish", PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_ENUM_BOOLEAN, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, PUBLISHING_FACEBOOK_TYPE_RESOLUTION, G_TYPE_BOOLEAN); +#line 8345 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_facebook_publishing_options_pane_real_get_widget; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_facebook_publishing_options_pane_real_get_preferred_geometry; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_facebook_publishing_options_pane_real_on_pane_installed; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_facebook_publishing_options_pane_real_on_pane_uninstalled; +#line 8360 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_instance_init (PublishingFacebookPublishingOptionsPane * self) { +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv = PUBLISHING_FACEBOOK_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->pane_widget = NULL; +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->use_existing_radio = NULL; +#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->create_new_radio = NULL; +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->existing_albums_combo = NULL; +#line 1017 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->visibility_combo = NULL; +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->new_album_entry = NULL; +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->strip_metadata_check = NULL; +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publish_button = NULL; +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->logout_button = NULL; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->how_to_label = NULL; +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->albums = NULL; +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->albums_length1 = 0; +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 1024 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publisher = NULL; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->resolution_combo = NULL; +#line 8397 "FacebookPublishing.c" +} + + +static void publishing_facebook_publishing_options_pane_finalize (GObject* obj) { + PublishingFacebookPublishingOptionsPane * self; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFacebookPublishingOptionsPane); +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 1015 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 1017 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->visibility_combo); +#line 1018 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1021 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->how_to_label); +#line 1023 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_facebook_album_unref), NULL); +#line 1024 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->privacy_descriptions = (_vala_array_free (self->priv->privacy_descriptions, self->priv->privacy_descriptions_length1, (GDestroyNotify) publishing_facebook_publishing_options_pane_privacy_description_unref), NULL); +#line 1027 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->possible_resolutions = (g_free (self->priv->possible_resolutions), NULL); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->resolution_combo); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_OBJECT_CLASS (publishing_facebook_publishing_options_pane_parent_class)->finalize (obj); +#line 8439 "FacebookPublishing.c" +} + + +GType publishing_facebook_publishing_options_pane_get_type (void) { + static volatile gsize publishing_facebook_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookPublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookPublishingOptionsPane), 0, (GInstanceInitFunc) publishing_facebook_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_facebook_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_facebook_publishing_options_pane_type_id; + publishing_facebook_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFacebookPublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_facebook_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_facebook_publishing_options_pane_type_id__volatile, publishing_facebook_publishing_options_pane_type_id); + } + return publishing_facebook_publishing_options_pane_type_id__volatile; +} + + +gchar* publishing_facebook_endpoint_to_uri (PublishingFacebookEndpoint self) { + gchar* result = NULL; +#line 1277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + switch (self) { +#line 1277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT: +#line 8463 "FacebookPublishing.c" + { + gchar* _tmp0_ = NULL; +#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = g_strdup ("https://graph.facebook.com/"); +#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp0_; +#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 8472 "FacebookPublishing.c" + } +#line 1277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_ENDPOINT_VIDEO: +#line 8476 "FacebookPublishing.c" + { + gchar* _tmp1_ = NULL; +#line 1282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup ("https://graph-video.facebook.com/"); +#line 1282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 1282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 8485 "FacebookPublishing.c" + } +#line 1277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION: +#line 8489 "FacebookPublishing.c" + { + gchar* _tmp2_ = NULL; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = g_strdup ("https://www.facebook.com/"); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp2_; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 8498 "FacebookPublishing.c" + } + default: + { +#line 1288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_assert_not_reached (); +#line 8504 "FacebookPublishing.c" + } + } +} + + +GType publishing_facebook_endpoint_get_type (void) { + static volatile gsize publishing_facebook_endpoint_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_endpoint_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT, "PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT", "default"}, {PUBLISHING_FACEBOOK_ENDPOINT_VIDEO, "PUBLISHING_FACEBOOK_ENDPOINT_VIDEO", "video"}, {PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION, "PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION", "test-connection"}, {0, NULL, NULL}}; + GType publishing_facebook_endpoint_type_id; + publishing_facebook_endpoint_type_id = g_enum_register_static ("PublishingFacebookEndpoint", values); + g_once_init_leave (&publishing_facebook_endpoint_type_id__volatile, publishing_facebook_endpoint_type_id); + } + return publishing_facebook_endpoint_type_id__volatile; +} + + +static gchar* publishing_facebook_graph_message_real_get_uri (PublishingFacebookGraphMessage* self) { +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_facebook_graph_message_get_uri'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 8527 "FacebookPublishing.c" +} + + +gchar* publishing_facebook_graph_message_get_uri (PublishingFacebookGraphMessage* self) { +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (self), NULL); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS (self)->get_uri (self); +#line 8536 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_graph_message_real_get_response_body (PublishingFacebookGraphMessage* self) { +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("Type `%s' does not implement abstract method `publishing_facebook_graph_message_get_response_body'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 8545 "FacebookPublishing.c" +} + + +gchar* publishing_facebook_graph_message_get_response_body (PublishingFacebookGraphMessage* self) { +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (self), NULL); +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS (self)->get_response_body (self); +#line 8554 "FacebookPublishing.c" +} + + +PublishingFacebookGraphMessage* publishing_facebook_graph_message_construct (GType object_type) { + PublishingFacebookGraphMessage* self = NULL; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookGraphMessage*) g_type_create_instance (object_type); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 8564 "FacebookPublishing.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 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (n_param_values == 3); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data1 = closure->data; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 8583 "FacebookPublishing.c" + } else { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + data2 = closure->data; +#line 8589 "FacebookPublishing.c" + } +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + callback (data1, g_value_get_int (param_values + 1), g_value_get_int (param_values + 2), data2); +#line 8595 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_graph_message_init (GValue* value) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8602 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_graph_message_free_value (GValue* value) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (value->data[0].v_pointer) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_message_unref (value->data[0].v_pointer); +#line 8611 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_value_graph_message_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = publishing_facebook_graph_message_ref (src_value->data[0].v_pointer); +#line 8621 "FacebookPublishing.c" + } else { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 8625 "FacebookPublishing.c" + } +} + + +static gpointer publishing_facebook_value_graph_message_peek_pointer (const GValue* value) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 8633 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_graph_message_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (collect_values[0].v_pointer) { +#line 8640 "FacebookPublishing.c" + PublishingFacebookGraphMessage* object; + object = collect_values[0].v_pointer; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8647 "FacebookPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 8651 "FacebookPublishing.c" + } +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = publishing_facebook_graph_message_ref (object); +#line 8655 "FacebookPublishing.c" + } else { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8659 "FacebookPublishing.c" + } +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 8663 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_graph_message_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFacebookGraphMessage** object_p; + object_p = collect_values[0].v_pointer; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!object_p) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8674 "FacebookPublishing.c" + } +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!value->data[0].v_pointer) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = NULL; +#line 8680 "FacebookPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 8684 "FacebookPublishing.c" + } else { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = publishing_facebook_graph_message_ref (value->data[0].v_pointer); +#line 8688 "FacebookPublishing.c" + } +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 8692 "FacebookPublishing.c" +} + + +GParamSpec* publishing_facebook_param_spec_graph_message (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFacebookParamSpecGraphMessage* spec; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE), NULL); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return G_PARAM_SPEC (spec); +#line 8706 "FacebookPublishing.c" +} + + +gpointer publishing_facebook_value_get_graph_message (const GValue* value) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE), NULL); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 8715 "FacebookPublishing.c" +} + + +void publishing_facebook_value_set_graph_message (GValue* value, gpointer v_object) { + PublishingFacebookGraphMessage* old; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE)); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE)); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_message_ref (value->data[0].v_pointer); +#line 8735 "FacebookPublishing.c" + } else { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8739 "FacebookPublishing.c" + } +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_message_unref (old); +#line 8745 "FacebookPublishing.c" + } +} + + +void publishing_facebook_value_take_graph_message (GValue* value, gpointer v_object) { + PublishingFacebookGraphMessage* old; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE)); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE)); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 8764 "FacebookPublishing.c" + } else { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8768 "FacebookPublishing.c" + } +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_message_unref (old); +#line 8774 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_graph_message_class_init (PublishingFacebookGraphMessageClass * klass) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_message_parent_class = g_type_class_peek_parent (klass); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphMessageClass *) klass)->finalize = publishing_facebook_graph_message_finalize; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphMessageClass *) klass)->get_uri = publishing_facebook_graph_message_real_get_uri; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphMessageClass *) klass)->get_response_body = publishing_facebook_graph_message_real_get_response_body; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("data_transmitted", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, 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 8794 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_message_instance_init (PublishingFacebookGraphMessage * self) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->ref_count = 1; +#line 8801 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_message_finalize (PublishingFacebookGraphMessage* obj) { + PublishingFacebookGraphMessage * self; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_destroy (self); +#line 8811 "FacebookPublishing.c" +} + + +GType publishing_facebook_graph_message_get_type (void) { + static volatile gsize publishing_facebook_graph_message_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_graph_message_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_graph_message_init, publishing_facebook_value_graph_message_free_value, publishing_facebook_value_graph_message_copy_value, publishing_facebook_value_graph_message_peek_pointer, "p", publishing_facebook_value_graph_message_collect_value, "p", publishing_facebook_value_graph_message_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_message_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 publishing_facebook_graph_message_type_id; + publishing_facebook_graph_message_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookGraphMessage", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&publishing_facebook_graph_message_type_id__volatile, publishing_facebook_graph_message_type_id); + } + return publishing_facebook_graph_message_type_id__volatile; +} + + +gpointer publishing_facebook_graph_message_ref (gpointer instance) { + PublishingFacebookGraphMessage* self; + self = instance; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return instance; +#line 8836 "FacebookPublishing.c" +} + + +void publishing_facebook_graph_message_unref (gpointer instance) { + PublishingFacebookGraphMessage* self; + self = instance; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_GRAPH_MESSAGE_GET_CLASS (self)->finalize (self); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8849 "FacebookPublishing.c" + } +} + + +static void _publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued (SoupSession* _sender, SoupMessage* msg, gpointer self) { +#line 1478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_on_request_unqueued ((PublishingFacebookGraphSession*) self, msg); +#line 8857 "FacebookPublishing.c" +} + + +PublishingFacebookGraphSession* publishing_facebook_graph_session_construct (GType object_type) { + PublishingFacebookGraphSession* self = NULL; + SoupSessionAsync* _tmp0_ = NULL; + SoupSession* _tmp1_ = NULL; + SoupSession* _tmp2_ = NULL; + SoupSession* _tmp3_ = NULL; +#line 1468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookGraphSession*) g_type_create_instance (object_type); +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = (SoupSessionAsync*) soup_session_async_new (); +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->soup_session); +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->soup_session = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, soup_session_get_type (), SoupSession); +#line 1470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->soup_session; +#line 1470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect (_tmp1_, "request-unqueued", (GCallback) _publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued, self); +#line 1471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = self->priv->soup_session; +#line 1471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_set (_tmp2_, "timeout", (guint) 15, NULL); +#line 1472 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->priv->access_token); +#line 1472 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->access_token = NULL; +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (self->priv->current_message); +#line 1473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->current_message = NULL; +#line 1474 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->soup_session; +#line 1474 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_set (_tmp3_, "ssl-use-system-ca-file", TRUE, NULL); +#line 1468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 8897 "FacebookPublishing.c" +} + + +PublishingFacebookGraphSession* publishing_facebook_graph_session_new (void) { +#line 1468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_graph_session_construct (PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION); +#line 8904 "FacebookPublishing.c" +} + + +static gpointer _publishing_facebook_graph_message_ref0 (gpointer self) { +#line 1484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? publishing_facebook_graph_message_ref (self) : NULL; +#line 8911 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_manage_message (PublishingFacebookGraphSession* self, PublishingFacebookGraphMessage* msg) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + PublishingFacebookGraphMessage* _tmp1_ = NULL; + PublishingFacebookGraphMessage* _tmp2_ = NULL; +#line 1481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self)); +#line 1481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (msg)); +#line 1482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->current_message; +#line 1482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp0_ == NULL, "current_message == null"); +#line 1484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = msg; +#line 1484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _publishing_facebook_graph_message_ref0 (_tmp1_); +#line 1484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (self->priv->current_message); +#line 1484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->current_message = _tmp2_; +#line 8935 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_unmanage_message (PublishingFacebookGraphSession* self, PublishingFacebookGraphMessage* msg) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self)); +#line 1487 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (msg)); +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->current_message; +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp0_ != NULL, "current_message != null"); +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (self->priv->current_message); +#line 1490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->current_message = NULL; +#line 8953 "FacebookPublishing.c" +} + + +static void _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data (SoupMessage* _sender, SoupBuffer* chunk, gpointer self) { +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data ((PublishingFacebookGraphSessionGraphMessageImpl*) self, chunk); +#line 8960 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_on_request_unqueued (PublishingFacebookGraphSession* self, SoupMessage* msg) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* real_message = NULL; + PublishingFacebookGraphMessage* _tmp1_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp2_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp3_ = NULL; + SoupMessage* _tmp4_ = NULL; + SoupMessage* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + SoupMessage* _tmp8_ = NULL; + guint _tmp9_ = 0U; + guint _tmp10_ = 0U; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp21_ = NULL; + SoupMessage* _tmp22_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp23_ = NULL; + guint _tmp24_ = 0U; + GError* _error_ = NULL; + SoupMessage* _tmp25_ = NULL; + guint _tmp26_ = 0U; + guint _tmp27_ = 0U; + GError* _tmp68_ = NULL; + GError* _tmp80_ = NULL; +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self)); +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (SOUP_IS_MESSAGE (msg)); +#line 1494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->current_message; +#line 1494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp0_ != NULL, "current_message != null"); +#line 1495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->current_message; +#line 1495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _publishing_facebook_graph_message_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)); +#line 1495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + real_message = _tmp2_; +#line 1496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = real_message; +#line 1496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = _tmp3_->soup_message; +#line 1496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = msg; +#line 1496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp4_ == _tmp5_, "real_message.soup_message == msg"); +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = msg; +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp8_, "status-code", &_tmp9_, NULL); +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_; +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp10_ == ((guint) SOUP_STATUS_IO_ERROR)) { +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = TRUE; +#line 9019 "FacebookPublishing.c" + } else { + SoupMessage* _tmp11_ = NULL; + guint _tmp12_ = 0U; + guint _tmp13_ = 0U; +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = msg; +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp11_, "status-code", &_tmp12_, NULL); +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = _tmp12_; +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp13_ == ((guint) SOUP_STATUS_MALFORMED); +#line 9032 "FacebookPublishing.c" + } +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp7_) { +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = TRUE; +#line 9038 "FacebookPublishing.c" + } else { + SoupMessage* _tmp14_ = NULL; + guint _tmp15_ = 0U; + guint _tmp16_ = 0U; +#line 1502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = msg; +#line 1502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp14_, "status-code", &_tmp15_, NULL); +#line 1502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = _tmp15_; +#line 1502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp16_ == ((guint) SOUP_STATUS_TRY_AGAIN); +#line 9051 "FacebookPublishing.c" + } +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp6_) { +#line 9055 "FacebookPublishing.c" + PublishingFacebookGraphSessionGraphMessageImpl* _tmp17_ = NULL; + SoupSession* _tmp18_ = NULL; + SoupMessage* _tmp19_ = NULL; + SoupMessage* _tmp20_ = NULL; +#line 1503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = real_message; +#line 1503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_->bytes_so_far = 0; +#line 1504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = self->priv->soup_session; +#line 1504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = msg; +#line 1504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 1504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_session_queue_message (_tmp18_, _tmp20_, NULL, NULL); +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (real_message); +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 9076 "FacebookPublishing.c" + } +#line 1508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = real_message; +#line 1508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_unmanage_message (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage)); +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = msg; +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = real_message; +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("wrote-body-data", soup_message_get_type (), &_tmp24_, NULL, FALSE); +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp22_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp24_, 0, NULL, (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, _tmp23_); +#line 1511 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = NULL; +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = msg; +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp25_, "status-code", &_tmp26_, NULL); +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = _tmp26_; +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + switch (_tmp27_) { +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case SOUP_STATUS_OK: +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case SOUP_STATUS_CREATED: +#line 9104 "FacebookPublishing.c" + { +#line 1517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 9108 "FacebookPublishing.c" + } +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case PUBLISHING_FACEBOOK_EXPIRED_SESSION_STATUS_CODE: +#line 9112 "FacebookPublishing.c" + { + GError* _tmp28_ = NULL; +#line 1520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION, "OAuth Access Token has Expired. Logout user."); +#line 1520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 1520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _tmp28_; +#line 1522 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 9123 "FacebookPublishing.c" + } +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case SOUP_STATUS_CANT_RESOLVE: +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case SOUP_STATUS_CANT_RESOLVE_PROXY: +#line 9129 "FacebookPublishing.c" + { + PublishingFacebookGraphSessionGraphMessageImpl* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + SoupMessage* _tmp32_ = NULL; + guint _tmp33_ = 0U; + guint _tmp34_ = 0U; + GError* _tmp35_ = NULL; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = real_message; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage)); +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = _tmp30_; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = msg; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp32_, "status-code", &_tmp33_, NULL); +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34_ = _tmp33_; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp35_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Unable to resolve %s (error code %u)", _tmp31_, _tmp34_); +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _tmp35_; +#line 1526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp31_); +#line 1528 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 9160 "FacebookPublishing.c" + } +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case SOUP_STATUS_CANT_CONNECT: +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + case SOUP_STATUS_CANT_CONNECT_PROXY: +#line 9166 "FacebookPublishing.c" + { + PublishingFacebookGraphSessionGraphMessageImpl* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + SoupMessage* _tmp39_ = NULL; + guint _tmp40_ = 0U; + guint _tmp41_ = 0U; + GError* _tmp42_ = NULL; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp36_ = real_message; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp37_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage)); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp38_ = _tmp37_; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp39_ = msg; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp39_, "status-code", &_tmp40_, NULL); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp41_ = _tmp40_; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp42_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Unable to connect to %s (error code %u)", _tmp38_, _tmp41_); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _tmp42_; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp38_); +#line 1534 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 9197 "FacebookPublishing.c" + } + default: + { + SoupMessage* _tmp43_ = NULL; + guint _tmp44_ = 0U; + guint _tmp45_ = 0U; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp43_ = msg; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp43_, "status-code", &_tmp44_, NULL); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_ = _tmp44_; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp45_ >= ((guint) 100)) { +#line 9212 "FacebookPublishing.c" + PublishingFacebookGraphSessionGraphMessageImpl* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + SoupMessage* _tmp49_ = NULL; + guint _tmp50_ = 0U; + guint _tmp51_ = 0U; + SoupMessage* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + GError* _tmp56_ = NULL; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp46_ = real_message; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp47_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage)); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp48_ = _tmp47_; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp49_ = msg; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp49_, "status-code", &_tmp50_, NULL); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp51_ = _tmp50_; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp52_ = msg; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp52_, "reason-phrase", &_tmp53_, NULL); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp54_ = _tmp53_; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp55_ = _tmp54_; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp56_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Service %s returned HTTP status code %u %s", _tmp48_, _tmp51_, _tmp55_); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _tmp56_; +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp55_); +#line 1540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp48_); +#line 9254 "FacebookPublishing.c" + } else { + SoupMessage* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + SoupMessage* _tmp64_ = NULL; + guint _tmp65_ = 0U; + guint _tmp66_ = 0U; + GError* _tmp67_ = NULL; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp57_ = msg; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp57_, "reason-phrase", &_tmp58_, NULL); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp59_ = _tmp58_; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp60_ = _tmp59_; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:1544: %s", _tmp60_); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp60_); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp61_ = real_message; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp62_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage)); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp63_ = _tmp62_; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp64_ = msg; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_object_get (_tmp64_, "status-code", &_tmp65_, NULL); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp66_ = _tmp65_; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp67_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, "Failure communicating with %s (error code %u)", _tmp63_, _tmp66_); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _tmp67_; +#line 1545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp63_); +#line 9299 "FacebookPublishing.c" + } +#line 1549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + break; +#line 9303 "FacebookPublishing.c" + } + } +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp68_ = _error_; +#line 1553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp68_ == NULL) { +#line 9310 "FacebookPublishing.c" + gboolean _tmp69_ = FALSE; + SoupMessage* _tmp70_ = NULL; + SoupMessageBody* _tmp71_ = NULL; + guint8* _tmp72_ = NULL; + gint _tmp72__length1 = 0; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp70_ = msg; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp71_ = _tmp70_->response_body; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp72_ = _tmp71_->data; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp72__length1 = (gint) _tmp71_->length; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp72_ == NULL) { +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp69_ = TRUE; +#line 9328 "FacebookPublishing.c" + } else { + SoupMessage* _tmp73_ = NULL; + SoupMessageBody* _tmp74_ = NULL; + guint8* _tmp75_ = NULL; + gint _tmp75__length1 = 0; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp73_ = msg; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp74_ = _tmp73_->response_body; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp75_ = _tmp74_->data; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp75__length1 = (gint) _tmp74_->length; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp69_ = _tmp75__length1 == 0; +#line 9344 "FacebookPublishing.c" + } +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp69_) { +#line 9348 "FacebookPublishing.c" + PublishingFacebookGraphSessionGraphMessageImpl* _tmp76_ = NULL; + gchar* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + GError* _tmp79_ = NULL; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp76_ = real_message; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp77_ = publishing_facebook_graph_message_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage)); +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp78_ = _tmp77_; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp79_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "No response data from %s", _tmp78_); +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _error_ = _tmp79_; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp78_); +#line 9367 "FacebookPublishing.c" + } + } +#line 1558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp80_ = _error_; +#line 1558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp80_ == NULL) { +#line 9374 "FacebookPublishing.c" + PublishingFacebookGraphSessionGraphMessageImpl* _tmp81_ = NULL; +#line 1559 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp81_ = real_message; +#line 1559 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), "completed"); +#line 9380 "FacebookPublishing.c" + } else { + PublishingFacebookGraphSessionGraphMessageImpl* _tmp82_ = NULL; + GError* _tmp83_ = NULL; +#line 1561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp82_ = real_message; +#line 1561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp83_ = _error_; +#line 1561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), "failed", _tmp83_); +#line 9390 "FacebookPublishing.c" + } +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_error_); +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (real_message); +#line 9396 "FacebookPublishing.c" +} + + +void publishing_facebook_graph_session_authenticate (PublishingFacebookGraphSession* self, const gchar* access_token) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1564 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self)); +#line 1564 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (access_token != NULL); +#line 1565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = access_token; +#line 1565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->priv->access_token); +#line 1565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->access_token = _tmp1_; +#line 1566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "authenticated"); +#line 9417 "FacebookPublishing.c" +} + + +gboolean publishing_facebook_graph_session_is_authenticated (PublishingFacebookGraphSession* self) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), FALSE); +#line 1570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->access_token; +#line 1570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp0_ != NULL; +#line 1570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9432 "FacebookPublishing.c" +} + + +gchar* publishing_facebook_graph_session_get_access_token (PublishingFacebookGraphSession* self) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 1573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL); +#line 1574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishing_facebook_graph_session_is_authenticated (self); +#line 1574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp0_, "is_authenticated()"); +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->access_token; +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp2_; +#line 1575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9455 "FacebookPublishing.c" +} + + +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_endpoint_test (PublishingFacebookGraphSession* self) { + PublishingFacebookGraphMessage* result = NULL; + PublishingFacebookGraphSessionGraphEndpointProbeMessage* _tmp0_ = NULL; +#line 1578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishing_facebook_graph_session_graph_endpoint_probe_message_new (self); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9470 "FacebookPublishing.c" +} + + +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_query (PublishingFacebookGraphSession* self, const gchar* resource_path) { + PublishingFacebookGraphMessage* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingFacebookGraphSessionGraphQueryMessage* _tmp2_ = NULL; +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL); +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (resource_path != NULL, NULL); +#line 1583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = resource_path; +#line 1583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->access_token; +#line 1583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = publishing_facebook_graph_session_graph_query_message_new (self, _tmp0_, _tmp1_); +#line 1583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage); +#line 1583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9493 "FacebookPublishing.c" +} + + +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_upload (PublishingFacebookGraphSession* self, const gchar* resource_path, SpitPublishingPublishable* publishable, gboolean suppress_titling, const gchar* resource_privacy) { + PublishingFacebookGraphMessage* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + SpitPublishingPublishable* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + PublishingFacebookGraphSessionGraphUploadMessage* _tmp5_ = NULL; +#line 1586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL); +#line 1586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (resource_path != NULL, NULL); +#line 1586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->access_token; +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = resource_path; +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = publishable; +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = suppress_titling; +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = resource_privacy; +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = publishing_facebook_graph_session_graph_upload_message_new (self, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage); +#line 1588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9527 "FacebookPublishing.c" +} + + +PublishingFacebookGraphMessage* publishing_facebook_graph_session_new_create_album (PublishingFacebookGraphSession* self, const gchar* album_name, const gchar* privacy) { + PublishingFacebookGraphMessage* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingFacebookGraphSessionGraphCreateAlbumMessage* _tmp3_ = NULL; +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self), NULL); +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (album_name != NULL, NULL); +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (privacy != NULL, NULL); +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->access_token; +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = album_name; +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = privacy; +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = publishing_facebook_graph_session_graph_create_album_message_new (self, _tmp0_, _tmp1_, _tmp2_); +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage); +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9555 "FacebookPublishing.c" +} + + +void publishing_facebook_graph_session_send_message (PublishingFacebookGraphSession* self, PublishingFacebookGraphMessage* message) { + PublishingFacebookGraphSessionGraphMessageImpl* real_message = NULL; + PublishingFacebookGraphMessage* _tmp0_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp1_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp2_ = NULL; + SoupMessage* _tmp3_ = NULL; + SoupURI* _tmp4_ = NULL; + SoupURI* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 1596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self)); +#line 1596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 1597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 1597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _publishing_facebook_graph_message_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)); +#line 1597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + real_message = _tmp1_; +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = real_message; +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _tmp2_->soup_message; +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = soup_message_get_uri (_tmp3_); +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_; +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = soup_uri_to_string (_tmp5_, FALSE); +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_; +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = g_strconcat ("making HTTP request to URI: ", _tmp7_, NULL); +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = _tmp8_; +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_debug ("FacebookPublishing.vala:1599: %s", _tmp9_); +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp9_); +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp7_); +#line 1601 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = real_message; +#line 1601 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = publishing_facebook_graph_session_graph_message_impl_prepare_for_transmission (_tmp10_); +#line 1601 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp11_) { +#line 9611 "FacebookPublishing.c" + PublishingFacebookGraphMessage* _tmp12_ = NULL; + SoupSession* _tmp13_ = NULL; + PublishingFacebookGraphSessionGraphMessageImpl* _tmp14_ = NULL; + SoupMessage* _tmp15_ = NULL; + SoupMessage* _tmp16_ = NULL; +#line 1602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = message; +#line 1602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_manage_message (self, _tmp12_); +#line 1603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = self->priv->soup_session; +#line 1603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = real_message; +#line 1603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = _tmp14_->soup_message; +#line 1603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 1603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_session_queue_message (_tmp13_, _tmp16_, NULL, NULL); +#line 9631 "FacebookPublishing.c" + } +#line 1596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (real_message); +#line 9635 "FacebookPublishing.c" +} + + +void publishing_facebook_graph_session_stop_transactions (PublishingFacebookGraphSession* self) { + SoupSession* _tmp0_ = NULL; +#line 1607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (self)); +#line 1608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->soup_session; +#line 1608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_session_abort (_tmp0_); +#line 9647 "FacebookPublishing.c" +} + + +static PublishingFacebookGraphSessionGraphMessageImpl* publishing_facebook_graph_session_graph_message_impl_construct (GType object_type, PublishingFacebookGraphSession* host_session, PublishingRESTSupportHttpMethod method, const gchar* relative_uri, const gchar* access_token, PublishingFacebookEndpoint endpoint) { + PublishingFacebookGraphSessionGraphMessageImpl* self = NULL; + PublishingRESTSupportHttpMethod _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PublishingFacebookGraphSession* _tmp3_ = NULL; + gchar* endpoint_uri = NULL; + PublishingFacebookEndpoint _tmp4_ = 0; + gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (relative_uri != NULL, NULL); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (access_token != NULL, NULL); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookGraphSessionGraphMessageImpl*) publishing_facebook_graph_message_construct (object_type); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = method; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->method = _tmp0_; +#line 1314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = access_token; +#line 1314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->access_token); +#line 1314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->access_token = _tmp2_; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = host_session; +#line 1315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->host_session = _tmp3_; +#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->bytes_so_far = 0; +#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = endpoint; +#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = publishing_facebook_endpoint_to_uri (_tmp4_); +#line 1318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + endpoint_uri = _tmp5_; +#line 9693 "FacebookPublishing.c" + { + GRegex* starting_slashes = NULL; + GRegex* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GRegex* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = g_regex_new ("^/+", 0, 0, &_inner_error_); +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + starting_slashes = _tmp6_; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 9713 "FacebookPublishing.c" + goto __catch5_g_regex_error; + } +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (endpoint_uri); +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 9724 "FacebookPublishing.c" + } +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = starting_slashes; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = relative_uri; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = g_regex_replace (_tmp8_, _tmp9_, (gssize) -1, 0, "", 0, &_inner_error_); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp10_; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_regex_unref0 (starting_slashes); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 9740 "FacebookPublishing.c" + goto __catch5_g_regex_error; + } +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_regex_unref0 (starting_slashes); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (endpoint_uri); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 9753 "FacebookPublishing.c" + } +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = endpoint_uri; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = _tmp7_; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = NULL; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = _tmp12_; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = g_strconcat (_tmp11_, _tmp13_, NULL); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->uri); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->uri = _tmp14_; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp13_); +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp7_); +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_regex_unref0 (starting_slashes); +#line 9775 "FacebookPublishing.c" + } + goto __finally5; + __catch5_g_regex_error: + { + GError* err = NULL; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + err = _inner_error_; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _inner_error_ = NULL; +#line 1323 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_assert_not_reached (); +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (err); +#line 9789 "FacebookPublishing.c" + } + __finally5: +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (endpoint_uri); +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 9802 "FacebookPublishing.c" + } +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (endpoint_uri); +#line 1311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 9808 "FacebookPublishing.c" +} + + +static gboolean publishing_facebook_graph_session_graph_message_impl_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self) { + gboolean result = FALSE; +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = TRUE; +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9818 "FacebookPublishing.c" +} + + +gboolean publishing_facebook_graph_session_graph_message_impl_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* self) { +#line 1327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL (self), FALSE); +#line 1327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_MESSAGE_IMPL_GET_CLASS (self)->prepare_for_transmission (self); +#line 9827 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_graph_session_graph_message_impl_real_get_uri (PublishingFacebookGraphMessage* base) { + PublishingFacebookGraphSessionGraphMessageImpl * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl); +#line 1332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->uri; +#line 1332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp1_; +#line 1332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9846 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_graph_session_graph_message_impl_real_get_response_body (PublishingFacebookGraphMessage* base) { + PublishingFacebookGraphSessionGraphMessageImpl * self; + gchar* result = NULL; + SoupMessage* _tmp0_ = NULL; + SoupMessageBody* _tmp1_ = NULL; + guint8* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gchar* _tmp3_ = NULL; +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl); +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->soup_message; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = _tmp0_->response_body; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_->data; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2__length1 = (gint) _tmp1_->length; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = g_strdup ((const gchar*) _tmp2_); +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = _tmp3_; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 9874 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data (PublishingFacebookGraphSessionGraphMessageImpl* self, SoupBuffer* chunk) { + gint _tmp0_ = 0; + SoupBuffer* _tmp1_ = NULL; + gsize _tmp2_ = 0UL; + gint _tmp3_ = 0; + SoupMessage* _tmp4_ = NULL; + SoupMessageBody* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; +#line 1339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_GRAPH_SESSION_IS_GRAPH_MESSAGE_IMPL (self)); +#line 1339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (chunk != NULL); +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->bytes_so_far; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = chunk; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp1_->length; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->bytes_so_far = _tmp0_ + ((gint) _tmp2_); +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->bytes_so_far; +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = self->soup_message; +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_->request_body; +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp5_->length; +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), "data-transmitted", _tmp3_, (gint) _tmp6_); +#line 9908 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_message_impl_class_init (PublishingFacebookGraphSessionGraphMessageImplClass * klass) { +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_graph_message_impl_parent_class = g_type_class_peek_parent (klass); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphMessageClass *) klass)->finalize = publishing_facebook_graph_session_graph_message_impl_finalize; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphSessionGraphMessageImplClass *) klass)->prepare_for_transmission = publishing_facebook_graph_session_graph_message_impl_real_prepare_for_transmission; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphMessageClass *) klass)->get_uri = publishing_facebook_graph_session_graph_message_impl_real_get_uri; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphMessageClass *) klass)->get_response_body = publishing_facebook_graph_session_graph_message_impl_real_get_response_body; +#line 9923 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_message_impl_instance_init (PublishingFacebookGraphSessionGraphMessageImpl * self) { +} + + +static void publishing_facebook_graph_session_graph_message_impl_finalize (PublishingFacebookGraphMessage* obj) { + PublishingFacebookGraphSessionGraphMessageImpl * self; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl); +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->uri); +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->access_token); +#line 1307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->soup_message); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_GRAPH_MESSAGE_CLASS (publishing_facebook_graph_session_graph_message_impl_parent_class)->finalize (obj); +#line 9943 "FacebookPublishing.c" +} + + +static GType publishing_facebook_graph_session_graph_message_impl_get_type (void) { + static volatile gsize publishing_facebook_graph_session_graph_message_impl_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_graph_session_graph_message_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphMessageImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_message_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphMessageImpl), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_message_impl_instance_init, NULL }; + GType publishing_facebook_graph_session_graph_message_impl_type_id; + publishing_facebook_graph_session_graph_message_impl_type_id = g_type_register_static (PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, "PublishingFacebookGraphSessionGraphMessageImpl", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&publishing_facebook_graph_session_graph_message_impl_type_id__volatile, publishing_facebook_graph_session_graph_message_impl_type_id); + } + return publishing_facebook_graph_session_graph_message_impl_type_id__volatile; +} + + +static void _vala_SoupURI_free (SoupURI* self) { +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_boxed_free (soup_uri_get_type (), self); +#line 9962 "FacebookPublishing.c" +} + + +static PublishingFacebookGraphSessionGraphQueryMessage* publishing_facebook_graph_session_graph_query_message_construct (GType object_type, PublishingFacebookGraphSession* host_session, const gchar* relative_uri, const gchar* access_token) { + PublishingFacebookGraphSessionGraphQueryMessage* self = NULL; + PublishingFacebookGraphSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + SoupURI* destination_uri = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + SoupURI* _tmp9_ = NULL; + SoupURI* _tmp10_ = NULL; + PublishingRESTSupportHttpMethod _tmp11_ = 0; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + SoupMessage* _tmp14_ = NULL; + SoupMessage* _tmp15_ = NULL; +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL); +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (relative_uri != NULL, NULL); +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (access_token != NULL, NULL); +#line 1349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = host_session; +#line 1349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = relative_uri; +#line 1349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = access_token; +#line 1349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookGraphSessionGraphQueryMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, _tmp1_, _tmp2_, PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = g_strconcat (_tmp3_, "?access_token=", NULL); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = access_token; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = g_strconcat (_tmp5_, _tmp6_, NULL); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _tmp7_; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = soup_uri_new (_tmp8_); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp8_); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp5_); +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + destination_uri = _tmp10_; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = publishing_rest_support_http_method_to_string (_tmp11_); +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = _tmp12_; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = soup_message_new_from_uri (_tmp13_, destination_uri); +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message); +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp14_; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp13_); +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message; +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect (_tmp15_, "wrote-body-data", (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)); +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_SoupURI_free0 (destination_uri); +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 10043 "FacebookPublishing.c" +} + + +static PublishingFacebookGraphSessionGraphQueryMessage* publishing_facebook_graph_session_graph_query_message_new (PublishingFacebookGraphSession* host_session, const gchar* relative_uri, const gchar* access_token) { +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_graph_session_graph_query_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_QUERY_MESSAGE, host_session, relative_uri, access_token); +#line 10050 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_query_message_class_init (PublishingFacebookGraphSessionGraphQueryMessageClass * klass) { +#line 1346 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_graph_query_message_parent_class = g_type_class_peek_parent (klass); +#line 10057 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_query_message_instance_init (PublishingFacebookGraphSessionGraphQueryMessage * self) { +} + + +static GType publishing_facebook_graph_session_graph_query_message_get_type (void) { + static volatile gsize publishing_facebook_graph_session_graph_query_message_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_graph_session_graph_query_message_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphQueryMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_query_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphQueryMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_query_message_instance_init, NULL }; + GType publishing_facebook_graph_session_graph_query_message_type_id; + publishing_facebook_graph_session_graph_query_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphQueryMessage", &g_define_type_info, 0); + g_once_init_leave (&publishing_facebook_graph_session_graph_query_message_type_id__volatile, publishing_facebook_graph_session_graph_query_message_type_id); + } + return publishing_facebook_graph_session_graph_query_message_type_id__volatile; +} + + +static PublishingFacebookGraphSessionGraphEndpointProbeMessage* publishing_facebook_graph_session_graph_endpoint_probe_message_construct (GType object_type, PublishingFacebookGraphSession* host_session) { + PublishingFacebookGraphSessionGraphEndpointProbeMessage* self = NULL; + PublishingFacebookGraphSession* _tmp0_ = NULL; + PublishingRESTSupportHttpMethod _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + SoupURI* _tmp5_ = NULL; + SoupURI* _tmp6_ = NULL; + SoupMessage* _tmp7_ = NULL; + SoupMessage* _tmp8_ = NULL; +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL); +#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = host_session; +#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookGraphSessionGraphEndpointProbeMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET, "/", "", PUBLISHING_FACEBOOK_ENDPOINT_TEST_CONNECTION); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method; +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = publishing_rest_support_http_method_to_string (_tmp1_); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _tmp2_; +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri; +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = soup_uri_new (_tmp4_); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp5_; +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = soup_message_new_from_uri (_tmp3_, _tmp6_); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp7_; +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_SoupURI_free0 (_tmp6_); +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp3_); +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect (_tmp8_, "wrote-body-data", (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)); +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 10122 "FacebookPublishing.c" +} + + +static PublishingFacebookGraphSessionGraphEndpointProbeMessage* publishing_facebook_graph_session_graph_endpoint_probe_message_new (PublishingFacebookGraphSession* host_session) { +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_graph_session_graph_endpoint_probe_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_ENDPOINT_PROBE_MESSAGE, host_session); +#line 10129 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_endpoint_probe_message_class_init (PublishingFacebookGraphSessionGraphEndpointProbeMessageClass * klass) { +#line 1357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_graph_endpoint_probe_message_parent_class = g_type_class_peek_parent (klass); +#line 10136 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_endpoint_probe_message_instance_init (PublishingFacebookGraphSessionGraphEndpointProbeMessage * self) { +} + + +static GType publishing_facebook_graph_session_graph_endpoint_probe_message_get_type (void) { + static volatile gsize publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphEndpointProbeMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_endpoint_probe_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphEndpointProbeMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_endpoint_probe_message_instance_init, NULL }; + GType publishing_facebook_graph_session_graph_endpoint_probe_message_type_id; + publishing_facebook_graph_session_graph_endpoint_probe_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphEndpointProbeMessage", &g_define_type_info, 0); + g_once_init_leave (&publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile, publishing_facebook_graph_session_graph_endpoint_probe_message_type_id); + } + return publishing_facebook_graph_session_graph_endpoint_probe_message_type_id__volatile; +} + + +static gchar* g_date_time_to_string (GDateTime* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 2785 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 2786 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_date_time_format (self, "%FT%H:%M:%S%z"); +#line 2786 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp0_; +#line 2786 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 10167 "FacebookPublishing.c" +} + + +static void _vala_SoupMultipart_free (SoupMultipart* self) { +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_boxed_free (soup_multipart_get_type (), self); +#line 10174 "FacebookPublishing.c" +} + + +static void _vala_SoupBuffer_free (SoupBuffer* self) { +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_boxed_free (soup_buffer_get_type (), self); +#line 10181 "FacebookPublishing.c" +} + + +static PublishingFacebookGraphSessionGraphUploadMessage* publishing_facebook_graph_session_graph_upload_message_construct (GType object_type, PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* relative_uri, SpitPublishingPublishable* publishable, gboolean suppress_titling, const gchar* resource_privacy) { + PublishingFacebookGraphSessionGraphUploadMessage* self = NULL; + PublishingFacebookEndpoint _tmp0_ = 0; + SpitPublishingPublishable* _tmp1_ = NULL; + SpitPublishingPublisherMediaType _tmp2_ = 0; + PublishingFacebookGraphSession* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + SpitPublishingPublishable* _tmp7_ = NULL; + SpitPublishingPublisherMediaType _tmp8_ = 0; + SpitPublishingPublishable* _tmp10_ = NULL; + SpitPublishingPublishable* _tmp11_ = NULL; + PublishingRESTSupportHttpMethod _tmp21_ = 0; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + SoupURI* _tmp25_ = NULL; + SoupURI* _tmp26_ = NULL; + SoupMessage* _tmp27_ = NULL; + SoupMessage* _tmp28_ = NULL; + guint8* payload = NULL; + GMappedFile* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gint payload_length1 = 0; + gint _payload_size_ = 0; + GMappedFile* _tmp31_ = NULL; + gsize _tmp32_ = 0UL; + gint _tmp33_ = 0; + SoupBuffer* image_data = NULL; + guint8* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + SoupBuffer* _tmp35_ = NULL; + SoupMultipart* mp_envelope = NULL; + SoupMultipart* _tmp36_ = NULL; + SoupMultipart* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + SpitPublishingPublishable* _tmp39_ = NULL; + SpitPublishingPublisherMediaType _tmp40_ = 0; + gchar* publishable_title = NULL; + SpitPublishingPublishable* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + gboolean _tmp46_ = FALSE; + gchar* publishable_comment = NULL; + SpitPublishingPublishable* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; + gboolean _tmp53_ = FALSE; + gboolean _tmp57_ = FALSE; + const gchar* _tmp64_ = NULL; + SpitPublishingPublishable* _tmp65_ = NULL; + SpitPublishingPublisherMediaType _tmp66_ = 0; + gchar* source_file_mime_type = NULL; + gchar* _tmp67_ = NULL; + SoupMultipart* _tmp68_ = NULL; + SpitPublishingPublishable* _tmp69_ = NULL; + GFile* _tmp70_ = NULL; + GFile* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + SoupBuffer* _tmp75_ = NULL; + SoupMultipart* _tmp76_ = NULL; + SoupMessage* _tmp77_ = NULL; + SoupMessageHeaders* _tmp78_ = NULL; + SoupMessage* _tmp79_ = NULL; + SoupMessageBody* _tmp80_ = NULL; + GError * _inner_error_ = NULL; +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (access_token != NULL, NULL); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (relative_uri != NULL, NULL); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = publishable; +#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = spit_publishing_publishable_get_media_type (_tmp1_); +#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp2_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = PUBLISHING_FACEBOOK_ENDPOINT_VIDEO; +#line 10270 "FacebookPublishing.c" + } else { +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT; +#line 10274 "FacebookPublishing.c" + } +#line 1374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = host_session; +#line 1374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = relative_uri; +#line 1374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = access_token; +#line 1374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookGraphSessionGraphUploadMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, _tmp3_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST, _tmp4_, _tmp5_, _tmp0_); +#line 1381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = publishable; +#line 1381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = spit_publishing_publishable_get_media_type (_tmp7_); +#line 1381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp8_ != SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 1381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = TRUE; +#line 10292 "FacebookPublishing.c" + } else { + const gchar* _tmp9_ = NULL; +#line 1382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = resource_privacy; +#line 1382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _tmp9_ != NULL; +#line 10299 "FacebookPublishing.c" + } +#line 1381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp6_, "publishable.get_media_type() != Spit.Publishing.Publisher.MediaType.VIDEO || resource_privacy != null"); +#line 1384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = publishable; +#line 1384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 1384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publishable); +#line 1384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishable = _tmp11_; +#line 10311 "FacebookPublishing.c" + { + GMappedFile* _tmp12_ = NULL; + SpitPublishingPublishable* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GMappedFile* _tmp18_ = NULL; + GMappedFile* _tmp19_ = NULL; + GMappedFile* _tmp20_ = NULL; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = publishable; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = spit_publishing_publishable_get_serialized_file (_tmp13_); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = _tmp14_; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = g_file_get_path (_tmp15_); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = _tmp16_; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = g_mapped_file_new (_tmp17_, FALSE, &_inner_error_); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = _tmp18_; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp17_); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (_tmp15_); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = _tmp19_; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_inner_error_->domain == G_FILE_ERROR) { +#line 10346 "FacebookPublishing.c" + goto __catch6_g_file_error; + } +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 10355 "FacebookPublishing.c" + } +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = _tmp12_; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = NULL; +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_mapped_file_unref0 (self->priv->mapped_file); +#line 1388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->mapped_file = _tmp20_; +#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_mapped_file_unref0 (_tmp12_); +#line 10367 "FacebookPublishing.c" + } + goto __finally6; + __catch6_g_file_error: + { + GError* e = NULL; +#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + e = _inner_error_; +#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _inner_error_ = NULL; +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (e); +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 10381 "FacebookPublishing.c" + } + __finally6: +#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_clear_error (&_inner_error_); +#line 1387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 10392 "FacebookPublishing.c" + } +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method; +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = publishing_rest_support_http_method_to_string (_tmp21_); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = _tmp22_; +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri; +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = soup_uri_new (_tmp24_); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = _tmp25_; +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = soup_message_new_from_uri (_tmp23_, _tmp26_); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp27_; +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_SoupURI_free0 (_tmp26_); +#line 1394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp23_); +#line 1395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message; +#line 1395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect (_tmp28_, "wrote-body-data", (GCallback) _publishing_facebook_graph_session_graph_message_impl_on_wrote_body_data_soup_message_wrote_body_data, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)); +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = self->priv->mapped_file; +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = g_mapped_file_get_contents (_tmp29_); +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + payload = (guint8*) _tmp30_; +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + payload_length1 = -1; +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _payload_size_ = payload_length1; +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = self->priv->mapped_file; +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = g_mapped_file_get_length (_tmp31_); +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + payload_length1 = (gint) _tmp32_; +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp33_ = payload_length1; +#line 1400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34_ = payload; +#line 1400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34__length1 = payload_length1; +#line 1400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp35_ = soup_buffer_new (SOUP_MEMORY_TEMPORARY, _tmp34_, _tmp34__length1); +#line 1400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + image_data = _tmp35_; +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp36_ = soup_multipart_new ("multipart/form-data"); +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + mp_envelope = _tmp36_; +#line 1404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp37_ = mp_envelope; +#line 1404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp38_ = access_token; +#line 1404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (_tmp37_, "access_token", _tmp38_); +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp39_ = publishable; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp40_ = spit_publishing_publishable_get_media_type (_tmp39_); +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp40_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 10462 "FacebookPublishing.c" + SoupMultipart* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; +#line 1407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp41_ = mp_envelope; +#line 1407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp42_ = resource_privacy; +#line 1407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (_tmp41_, "privacy", _tmp42_); +#line 10471 "FacebookPublishing.c" + } +#line 1410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp43_ = publishable; +#line 1410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp44_ = spit_publishing_publishable_get_param_string (_tmp43_, "title"); +#line 1410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishable_title = _tmp44_; +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp46_ = suppress_titling; +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp46_) { +#line 10483 "FacebookPublishing.c" + const gchar* _tmp47_ = NULL; +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp47_ = publishable_title; +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_ = _tmp47_ != NULL; +#line 10489 "FacebookPublishing.c" + } else { +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp45_ = FALSE; +#line 10493 "FacebookPublishing.c" + } +#line 1411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp45_) { +#line 10497 "FacebookPublishing.c" + SoupMultipart* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; +#line 1412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp48_ = mp_envelope; +#line 1412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp49_ = publishable_title; +#line 1412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (_tmp48_, "name", _tmp49_); +#line 10506 "FacebookPublishing.c" + } +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp50_ = publishable; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp51_ = spit_publishing_publishable_get_param_string (_tmp50_, "comment"); +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishable_comment = _tmp51_; +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp53_ = suppress_titling; +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp53_) { +#line 10518 "FacebookPublishing.c" + const gchar* _tmp54_ = NULL; +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp54_ = publishable_comment; +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp52_ = _tmp54_ != NULL; +#line 10524 "FacebookPublishing.c" + } else { +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp52_ = FALSE; +#line 10528 "FacebookPublishing.c" + } +#line 1416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp52_) { +#line 10532 "FacebookPublishing.c" + SoupMultipart* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp55_ = mp_envelope; +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp56_ = publishable_comment; +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (_tmp55_, "message", _tmp56_); +#line 10541 "FacebookPublishing.c" + } +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp57_ = suppress_titling; +#line 1420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!_tmp57_) { +#line 10547 "FacebookPublishing.c" + SoupMultipart* _tmp58_ = NULL; + SpitPublishingPublishable* _tmp59_ = NULL; + GDateTime* _tmp60_ = NULL; + GDateTime* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp58_ = mp_envelope; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp59_ = publishable; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp60_ = spit_publishing_publishable_get_exposure_date_time (_tmp59_); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp61_ = _tmp60_; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp62_ = g_date_time_to_string (_tmp61_); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp63_ = _tmp62_; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (_tmp58_, "backdated_time", _tmp63_); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp63_); +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_date_time_unref0 (_tmp61_); +#line 10572 "FacebookPublishing.c" + } +#line 1424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp65_ = publishable; +#line 1424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp66_ = spit_publishing_publishable_get_media_type (_tmp65_); +#line 1424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp66_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 1425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp64_ = "video"; +#line 10582 "FacebookPublishing.c" + } else { +#line 1425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp64_ = "image/jpeg"; +#line 10586 "FacebookPublishing.c" + } +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp67_ = g_strdup (_tmp64_); +#line 1423 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + source_file_mime_type = _tmp67_; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp68_ = mp_envelope; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp69_ = publishable; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp70_ = spit_publishing_publishable_get_serialized_file (_tmp69_); +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp71_ = _tmp70_; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp72_ = g_file_get_basename (_tmp71_); +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp73_ = _tmp72_; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp74_ = source_file_mime_type; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp75_ = image_data; +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_file (_tmp68_, "source", _tmp73_, _tmp74_, _tmp75_); +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp73_); +#line 1426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (_tmp71_); +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp76_ = mp_envelope; +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp77_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message; +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp78_ = _tmp77_->request_headers; +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp79_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message; +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp80_ = _tmp79_->request_body; +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_to_message (_tmp76_, _tmp78_, _tmp80_); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (source_file_mime_type); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (publishable_comment); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (publishable_title); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_SoupMultipart_free0 (mp_envelope); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_SoupBuffer_free0 (image_data); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 10638 "FacebookPublishing.c" +} + + +static PublishingFacebookGraphSessionGraphUploadMessage* publishing_facebook_graph_session_graph_upload_message_new (PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* relative_uri, SpitPublishingPublishable* publishable, gboolean suppress_titling, const gchar* resource_privacy) { +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_graph_session_graph_upload_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, host_session, access_token, relative_uri, publishable, suppress_titling, resource_privacy); +#line 10645 "FacebookPublishing.c" +} + + +static gboolean publishing_facebook_graph_session_graph_upload_message_real_prepare_for_transmission (PublishingFacebookGraphSessionGraphMessageImpl* base) { + PublishingFacebookGraphSessionGraphUploadMessage * self; + gboolean result = FALSE; + GMappedFile* _tmp0_ = NULL; +#line 1432 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessage); +#line 1433 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->mapped_file; +#line 1433 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp0_ == NULL) { +#line 10659 "FacebookPublishing.c" + SpitPublishingPublishable* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->publishable; +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = spit_publishing_publishable_get_serialized_file (_tmp1_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _tmp2_; +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _tmp4_; +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = g_strdup_printf ("File %s is unavailable.", _tmp5_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_; +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp7_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = _tmp8_; +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, PublishingFacebookGraphMessage), "failed", _tmp9_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_error_free0 (_tmp9_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp7_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp5_); +#line 1434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (_tmp3_); +#line 1436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = FALSE; +#line 1436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 10701 "FacebookPublishing.c" + } else { +#line 1438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = TRUE; +#line 1438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 10707 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_graph_session_graph_upload_message_class_init (PublishingFacebookGraphSessionGraphUploadMessageClass * klass) { +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_graph_upload_message_parent_class = g_type_class_peek_parent (klass); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphMessageClass *) klass)->finalize = publishing_facebook_graph_session_graph_upload_message_finalize; +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFacebookGraphSessionGraphUploadMessagePrivate)); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphSessionGraphMessageImplClass *) klass)->prepare_for_transmission = publishing_facebook_graph_session_graph_upload_message_real_prepare_for_transmission; +#line 10721 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_upload_message_instance_init (PublishingFacebookGraphSessionGraphUploadMessage * self) { +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv = PUBLISHING_FACEBOOK_GRAPH_SESSION_GRAPH_UPLOAD_MESSAGE_GET_PRIVATE (self); +#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->mapped_file = NULL; +#line 10730 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_upload_message_finalize (PublishingFacebookGraphMessage* obj) { + PublishingFacebookGraphSessionGraphUploadMessage * self; +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_UPLOAD_MESSAGE, PublishingFacebookGraphSessionGraphUploadMessage); +#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_mapped_file_unref0 (self->priv->mapped_file); +#line 1369 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->publishable); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_GRAPH_MESSAGE_CLASS (publishing_facebook_graph_session_graph_upload_message_parent_class)->finalize (obj); +#line 10744 "FacebookPublishing.c" +} + + +static GType publishing_facebook_graph_session_graph_upload_message_get_type (void) { + static volatile gsize publishing_facebook_graph_session_graph_upload_message_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_graph_session_graph_upload_message_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphUploadMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_upload_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphUploadMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_upload_message_instance_init, NULL }; + GType publishing_facebook_graph_session_graph_upload_message_type_id; + publishing_facebook_graph_session_graph_upload_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphUploadMessage", &g_define_type_info, 0); + g_once_init_leave (&publishing_facebook_graph_session_graph_upload_message_type_id__volatile, publishing_facebook_graph_session_graph_upload_message_type_id); + } + return publishing_facebook_graph_session_graph_upload_message_type_id__volatile; +} + + +static PublishingFacebookGraphSessionGraphCreateAlbumMessage* publishing_facebook_graph_session_graph_create_album_message_construct (GType object_type, PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* album_name, const gchar* album_privacy) { + PublishingFacebookGraphSessionGraphCreateAlbumMessage* self = NULL; + PublishingFacebookGraphSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + PublishingRESTSupportHttpMethod _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + SoupURI* _tmp9_ = NULL; + SoupURI* _tmp10_ = NULL; + SoupMessage* _tmp11_ = NULL; + SoupMultipart* mp_envelope = NULL; + SoupMultipart* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + SoupMessage* _tmp16_ = NULL; + SoupMessageHeaders* _tmp17_ = NULL; + SoupMessage* _tmp18_ = NULL; + SoupMessageBody* _tmp19_ = NULL; +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (host_session), NULL); +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (access_token != NULL, NULL); +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (album_name != NULL, NULL); +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (album_privacy != NULL, NULL); +#line 1446 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = host_session; +#line 1446 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = access_token; +#line 1446 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookGraphSessionGraphCreateAlbumMessage*) publishing_facebook_graph_session_graph_message_impl_construct (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST, "/me/albums", _tmp1_, PUBLISHING_FACEBOOK_ENDPOINT_DEFAULT); +#line 1448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = album_privacy; +#line 1448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp3_ != NULL) { +#line 10800 "FacebookPublishing.c" + const gchar* _tmp4_ = NULL; +#line 1448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = album_privacy; +#line 1448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = g_strcmp0 (_tmp4_, "") != 0; +#line 10806 "FacebookPublishing.c" + } else { +#line 1448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = FALSE; +#line 10810 "FacebookPublishing.c" + } +#line 1448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _vala_assert (_tmp2_, "album_privacy != null && album_privacy != \"\""); +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->method; +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = publishing_rest_support_http_method_to_string (_tmp5_); +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = _tmp6_; +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->uri; +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = soup_uri_new (_tmp8_); +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = _tmp9_; +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = soup_message_new_from_uri (_tmp7_, _tmp10_); +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message); +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message = _tmp11_; +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_SoupURI_free0 (_tmp10_); +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp7_); +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = soup_multipart_new ("multipart/form-data"); +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + mp_envelope = _tmp12_; +#line 1454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = access_token; +#line 1454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (mp_envelope, "access_token", _tmp13_); +#line 1455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = album_name; +#line 1455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (mp_envelope, "name", _tmp14_); +#line 1456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = album_privacy; +#line 1456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_append_form_string (mp_envelope, "privacy", _tmp15_); +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message; +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = _tmp16_->request_headers; +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, PublishingFacebookGraphSessionGraphMessageImpl)->soup_message; +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = _tmp18_->request_body; +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + soup_multipart_to_message (mp_envelope, _tmp17_, _tmp19_); +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + __vala_SoupMultipart_free0 (mp_envelope); +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 10866 "FacebookPublishing.c" +} + + +static PublishingFacebookGraphSessionGraphCreateAlbumMessage* publishing_facebook_graph_session_graph_create_album_message_new (PublishingFacebookGraphSession* host_session, const gchar* access_token, const gchar* album_name, const gchar* album_privacy) { +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_graph_session_graph_create_album_message_construct (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_CREATE_ALBUM_MESSAGE, host_session, access_token, album_name, album_privacy); +#line 10873 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_create_album_message_class_init (PublishingFacebookGraphSessionGraphCreateAlbumMessageClass * klass) { +#line 1443 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_graph_create_album_message_parent_class = g_type_class_peek_parent (klass); +#line 10880 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_graph_create_album_message_instance_init (PublishingFacebookGraphSessionGraphCreateAlbumMessage * self) { +} + + +static GType publishing_facebook_graph_session_graph_create_album_message_get_type (void) { + static volatile gsize publishing_facebook_graph_session_graph_create_album_message_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_graph_session_graph_create_album_message_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionGraphCreateAlbumMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_graph_create_album_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSessionGraphCreateAlbumMessage), 0, (GInstanceInitFunc) publishing_facebook_graph_session_graph_create_album_message_instance_init, NULL }; + GType publishing_facebook_graph_session_graph_create_album_message_type_id; + publishing_facebook_graph_session_graph_create_album_message_type_id = g_type_register_static (PUBLISHING_FACEBOOK_GRAPH_SESSION_TYPE_GRAPH_MESSAGE_IMPL, "PublishingFacebookGraphSessionGraphCreateAlbumMessage", &g_define_type_info, 0); + g_once_init_leave (&publishing_facebook_graph_session_graph_create_album_message_type_id__volatile, publishing_facebook_graph_session_graph_create_album_message_type_id); + } + return publishing_facebook_graph_session_graph_create_album_message_type_id__volatile; +} + + +static void publishing_facebook_value_graph_session_init (GValue* value) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 10903 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_graph_session_free_value (GValue* value) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (value->data[0].v_pointer) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_unref (value->data[0].v_pointer); +#line 10912 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_value_graph_session_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = publishing_facebook_graph_session_ref (src_value->data[0].v_pointer); +#line 10922 "FacebookPublishing.c" + } else { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 10926 "FacebookPublishing.c" + } +} + + +static gpointer publishing_facebook_value_graph_session_peek_pointer (const GValue* value) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 10934 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_graph_session_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (collect_values[0].v_pointer) { +#line 10941 "FacebookPublishing.c" + PublishingFacebookGraphSession* object; + object = collect_values[0].v_pointer; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10948 "FacebookPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 10952 "FacebookPublishing.c" + } +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = publishing_facebook_graph_session_ref (object); +#line 10956 "FacebookPublishing.c" + } else { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 10960 "FacebookPublishing.c" + } +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 10964 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_graph_session_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFacebookGraphSession** object_p; + object_p = collect_values[0].v_pointer; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!object_p) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 10975 "FacebookPublishing.c" + } +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!value->data[0].v_pointer) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = NULL; +#line 10981 "FacebookPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 10985 "FacebookPublishing.c" + } else { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = publishing_facebook_graph_session_ref (value->data[0].v_pointer); +#line 10989 "FacebookPublishing.c" + } +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 10993 "FacebookPublishing.c" +} + + +GParamSpec* publishing_facebook_param_spec_graph_session (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFacebookParamSpecGraphSession* spec; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION), NULL); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return G_PARAM_SPEC (spec); +#line 11007 "FacebookPublishing.c" +} + + +gpointer publishing_facebook_value_get_graph_session (const GValue* value) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION), NULL); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 11016 "FacebookPublishing.c" +} + + +void publishing_facebook_value_set_graph_session (GValue* value, gpointer v_object) { + PublishingFacebookGraphSession* old; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION)); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION)); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_ref (value->data[0].v_pointer); +#line 11036 "FacebookPublishing.c" + } else { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 11040 "FacebookPublishing.c" + } +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_unref (old); +#line 11046 "FacebookPublishing.c" + } +} + + +void publishing_facebook_value_take_graph_session (GValue* value, gpointer v_object) { + PublishingFacebookGraphSession* old; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION)); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION)); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 11065 "FacebookPublishing.c" + } else { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 11069 "FacebookPublishing.c" + } +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_unref (old); +#line 11075 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_graph_session_class_init (PublishingFacebookGraphSessionClass * klass) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_parent_class = g_type_class_peek_parent (klass); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookGraphSessionClass *) klass)->finalize = publishing_facebook_graph_session_finalize; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFacebookGraphSessionPrivate)); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("authenticated", PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 11089 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_instance_init (PublishingFacebookGraphSession * self) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv = PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_PRIVATE (self); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->ref_count = 1; +#line 11098 "FacebookPublishing.c" +} + + +static void publishing_facebook_graph_session_finalize (PublishingFacebookGraphSession* obj) { + PublishingFacebookGraphSession * self; + SoupSession* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_GRAPH_SESSION, PublishingFacebookGraphSession); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_destroy (self); +#line 1478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->soup_session; +#line 1478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("request-unqueued", soup_session_get_type (), &_tmp1_, NULL, FALSE); +#line 1478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_graph_session_on_request_unqueued_soup_session_request_unqueued, self); +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (self->priv->soup_session); +#line 1465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (self->priv->access_token); +#line 1466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (self->priv->current_message); +#line 11122 "FacebookPublishing.c" +} + + +GType publishing_facebook_graph_session_get_type (void) { + static volatile gsize publishing_facebook_graph_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_graph_session_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_graph_session_init, publishing_facebook_value_graph_session_free_value, publishing_facebook_value_graph_session_copy_value, publishing_facebook_value_graph_session_peek_pointer, "p", publishing_facebook_value_graph_session_collect_value, "p", publishing_facebook_value_graph_session_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookGraphSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_graph_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookGraphSession), 0, (GInstanceInitFunc) publishing_facebook_graph_session_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 publishing_facebook_graph_session_type_id; + publishing_facebook_graph_session_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookGraphSession", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_facebook_graph_session_type_id__volatile, publishing_facebook_graph_session_type_id); + } + return publishing_facebook_graph_session_type_id__volatile; +} + + +gpointer publishing_facebook_graph_session_ref (gpointer instance) { + PublishingFacebookGraphSession* self; + self = instance; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return instance; +#line 11147 "FacebookPublishing.c" +} + + +void publishing_facebook_graph_session_unref (gpointer instance) { + PublishingFacebookGraphSession* self; + self = instance; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_GRAPH_SESSION_GET_CLASS (self)->finalize (self); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 11160 "FacebookPublishing.c" + } +} + + +static SpitPublishingPublishable** _vala_array_dup3 (SpitPublishingPublishable** self, int length) { + SpitPublishingPublishable** result; + int i; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result = g_new0 (SpitPublishingPublishable*, length + 1); +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + for (i = 0; i < length; i++) { +#line 11172 "FacebookPublishing.c" + SpitPublishingPublishable* _tmp0_ = NULL; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + result[i] = _tmp0_; +#line 11178 "FacebookPublishing.c" + } +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return result; +#line 11182 "FacebookPublishing.c" +} + + +static gpointer _publishing_facebook_graph_session_ref0 (gpointer self) { +#line 1626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? publishing_facebook_graph_session_ref (self) : NULL; +#line 11189 "FacebookPublishing.c" +} + + +static gpointer _publishing_facebook_publishing_parameters_ref0 (gpointer self) { +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self ? publishing_facebook_publishing_parameters_ref (self) : NULL; +#line 11196 "FacebookPublishing.c" +} + + +PublishingFacebookUploader* publishing_facebook_uploader_construct (GType object_type, PublishingFacebookGraphSession* session, PublishingFacebookPublishingParameters* publishing_params, SpitPublishingPublishable** publishables, int publishables_length1) { + PublishingFacebookUploader* self = NULL; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingFacebookGraphSession* _tmp2_ = NULL; + PublishingFacebookGraphSession* _tmp3_ = NULL; + PublishingFacebookPublishingParameters* _tmp4_ = NULL; + PublishingFacebookPublishingParameters* _tmp5_ = NULL; +#line 1622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_SESSION (session), NULL); +#line 1622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (PUBLISHING_FACEBOOK_IS_PUBLISHING_PARAMETERS (publishing_params), NULL); +#line 1622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = (PublishingFacebookUploader*) g_type_create_instance (object_type); +#line 1624 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->current_file = 0; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = publishables; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = publishables_length1; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup3 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1__length1 = _tmp0__length1; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishables = _tmp1_; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishables_length1 = _tmp1__length1; +#line 1625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->_publishables_size_ = self->priv->publishables_length1; +#line 1626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = session; +#line 1626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _publishing_facebook_graph_session_ref0 (_tmp2_); +#line 1626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_session_unref0 (self->priv->session); +#line 1626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->session = _tmp3_; +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = publishing_params; +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = _publishing_facebook_publishing_parameters_ref0 (_tmp4_); +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params); +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishing_params = _tmp5_; +#line 1622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return self; +#line 11252 "FacebookPublishing.c" +} + + +PublishingFacebookUploader* publishing_facebook_uploader_new (PublishingFacebookGraphSession* session, PublishingFacebookPublishingParameters* publishing_params, SpitPublishingPublishable** publishables, int publishables_length1) { +#line 1622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return publishing_facebook_uploader_construct (PUBLISHING_FACEBOOK_TYPE_UPLOADER, session, publishing_params, publishables, publishables_length1); +#line 11259 "FacebookPublishing.c" +} + + +static void _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted (PublishingFacebookGraphMessage* _sender, gint bytes_sent_so_far, gint total_bytes, gpointer self) { +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_on_chunk_transmitted ((PublishingFacebookUploader*) self, bytes_sent_so_far, total_bytes); +#line 11266 "FacebookPublishing.c" +} + + +static void _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed (PublishingFacebookGraphMessage* _sender, gpointer self) { +#line 1650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_on_message_completed ((PublishingFacebookUploader*) self, _sender); +#line 11273 "FacebookPublishing.c" +} + + +static void _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed (PublishingFacebookGraphMessage* _sender, GError* err, gpointer self) { +#line 1651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_on_message_failed ((PublishingFacebookUploader*) self, _sender, err); +#line 11280 "FacebookPublishing.c" +} + + +static void publishing_facebook_uploader_send_current_file (PublishingFacebookUploader* self) { + SpitPublishingPublishable* publishable = NULL; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint _tmp1_ = 0; + SpitPublishingPublishable* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + GFile* file = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp8_ = NULL; + SpitPublishingPublishable* _tmp9_ = NULL; + SpitPublishingPublisherMediaType _tmp10_ = 0; + gchar* resource_uri = NULL; + gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + SpitPublishingPublishable* _tmp18_ = NULL; + SpitPublishingPublisherMediaType _tmp19_ = 0; + gchar* resource_privacy = NULL; + gchar* _tmp22_ = NULL; + PublishingFacebookGraphMessage* upload_message = NULL; + PublishingFacebookGraphSession* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + SpitPublishingPublishable* _tmp25_ = NULL; + PublishingFacebookPublishingParameters* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + const gchar* _tmp28_ = NULL; + PublishingFacebookGraphMessage* _tmp29_ = NULL; + PublishingFacebookGraphMessage* _tmp30_ = NULL; + PublishingFacebookGraphMessage* _tmp31_ = NULL; + PublishingFacebookGraphMessage* _tmp32_ = NULL; + PublishingFacebookGraphSession* _tmp33_ = NULL; + PublishingFacebookGraphMessage* _tmp34_ = NULL; +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self)); +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->publishables; +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = self->priv->publishables_length1; +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->current_file; +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = _tmp0_[_tmp1_]; +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishable = _tmp3_; +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = publishable; +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = spit_publishing_publishable_get_serialized_file (_tmp4_); +#line 1632 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + file = _tmp5_; +#line 1635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = file; +#line 1635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp6_ == NULL) { +#line 11342 "FacebookPublishing.c" + gint _tmp7_ = 0; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->current_file; +#line 1636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->current_file = _tmp7_ + 1; +#line 1637 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (file); +#line 1637 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (publishable); +#line 1637 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return; +#line 11354 "FacebookPublishing.c" + } +#line 1641 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = publishable; +#line 1641 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = spit_publishing_publishable_get_media_type (_tmp9_); +#line 1641 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp10_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) { +#line 11362 "FacebookPublishing.c" + PublishingFacebookPublishingParameters* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp11_ = self->priv->publishing_params; +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp12_ = publishing_facebook_publishing_parameters_get_target_album_id (_tmp11_); +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp13_ = _tmp12_; +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp14_ = g_strdup_printf ("/%s/photos", _tmp13_); +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp8_); +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _tmp14_; +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp13_); +#line 11381 "FacebookPublishing.c" + } else { + gchar* _tmp15_ = NULL; +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp15_ = g_strdup ("/me/videos"); +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp8_); +#line 1642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = _tmp15_; +#line 11390 "FacebookPublishing.c" + } +#line 1640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp16_ = g_strdup (_tmp8_); +#line 1640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + resource_uri = _tmp16_; +#line 1644 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp18_ = publishable; +#line 1644 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp19_ = spit_publishing_publishable_get_media_type (_tmp18_); +#line 1644 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp19_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 11402 "FacebookPublishing.c" + PublishingFacebookPublishingParameters* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp20_ = self->priv->publishing_params; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp21_ = _tmp20_->privacy_object; +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = _tmp21_; +#line 11411 "FacebookPublishing.c" + } else { +#line 1645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp17_ = NULL; +#line 11415 "FacebookPublishing.c" + } +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp22_ = g_strdup (_tmp17_); +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + resource_privacy = _tmp22_; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp23_ = self->priv->session; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp24_ = resource_uri; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp25_ = publishable; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp26_ = self->priv->publishing_params; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp27_ = _tmp26_->strip_metadata; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp28_ = resource_privacy; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp29_ = publishing_facebook_graph_session_new_upload (_tmp23_, _tmp24_, _tmp25_, _tmp27_, _tmp28_); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + upload_message = _tmp29_; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp30_ = upload_message; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect (_tmp30_, "data-transmitted", (GCallback) _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted, self); +#line 1650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp31_ = upload_message; +#line 1650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect (_tmp31_, "completed", (GCallback) _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed, self); +#line 1651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp32_ = upload_message; +#line 1651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_connect (_tmp32_, "failed", (GCallback) _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed, self); +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp33_ = self->priv->session; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp34_ = upload_message; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_graph_session_send_message (_tmp33_, _tmp34_); +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_message_unref0 (upload_message); +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (resource_privacy); +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (resource_uri); +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_free0 (_tmp8_); +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (file); +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _g_object_unref0 (publishable); +#line 11467 "FacebookPublishing.c" +} + + +static void publishing_facebook_uploader_send_files (PublishingFacebookUploader* self) { +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self)); +#line 1657 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->current_file = 0; +#line 1658 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_send_current_file (self); +#line 11478 "FacebookPublishing.c" +} + + +static void publishing_facebook_uploader_on_chunk_transmitted (PublishingFacebookUploader* self, gint bytes_written_so_far, gint total_bytes) { + gdouble file_span = 0.0; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gdouble this_file_fraction_complete = 0.0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gdouble fraction_complete = 0.0; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + SpitPublishingProgressCallback _tmp7_ = NULL; + void* _tmp7__target = NULL; +#line 1661 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self)); +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = self->priv->publishables; +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__length1 = self->priv->publishables_length1; +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + file_span = 1.0 / _tmp0__length1; +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = bytes_written_so_far; +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = total_bytes; +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + this_file_fraction_complete = ((gdouble) _tmp1_) / _tmp2_; +#line 1664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp3_ = self->priv->current_file; +#line 1664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = file_span; +#line 1664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp5_ = this_file_fraction_complete; +#line 1664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = file_span; +#line 1664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + fraction_complete = (_tmp3_ * _tmp4_) + (_tmp5_ * _tmp6_); +#line 1667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->status_updated; +#line 1667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7__target = self->priv->status_updated_target; +#line 1667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp7_ != NULL) { +#line 11526 "FacebookPublishing.c" + SpitPublishingProgressCallback _tmp8_ = NULL; + void* _tmp8__target = NULL; + gint _tmp9_ = 0; + gdouble _tmp10_ = 0.0; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->status_updated; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8__target = self->priv->status_updated_target; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = self->priv->current_file; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp10_ = fraction_complete; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ (_tmp9_ + 1, _tmp10_, _tmp8__target); +#line 11541 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_uploader_on_message_completed (PublishingFacebookUploader* self, PublishingFacebookGraphMessage* message) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingFacebookGraphMessage* _tmp4_ = NULL; + guint _tmp5_ = 0U; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + SpitPublishingPublishable** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 1671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self)); +#line 1671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 1672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 1672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("data-transmitted", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 1672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted, self); +#line 1673 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 1673 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 1673 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed, self); +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = message; +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp5_, NULL, FALSE); +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed, self); +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = self->priv->current_file; +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->current_file = _tmp6_ + 1; +#line 1677 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp7_ = self->priv->current_file; +#line 1677 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8_ = self->priv->publishables; +#line 1677 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp8__length1 = self->priv->publishables_length1; +#line 1677 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp7_ < _tmp8__length1) { +#line 1678 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_send_current_file (self); +#line 11593 "FacebookPublishing.c" + } else { + gint _tmp9_ = 0; +#line 1680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp9_ = self->priv->current_file; +#line 1680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "upload-complete", _tmp9_); +#line 11600 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_uploader_on_message_failed (PublishingFacebookUploader* self, PublishingFacebookGraphMessage* message, GError* _error_) { + PublishingFacebookGraphMessage* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFacebookGraphMessage* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingFacebookGraphMessage* _tmp4_ = NULL; + guint _tmp5_ = 0U; + GError* _tmp6_ = NULL; +#line 1684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self)); +#line 1684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_GRAPH_MESSAGE (message)); +#line 1685 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = message; +#line 1685 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("data-transmitted", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp1_, NULL, FALSE); +#line 1685 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_chunk_transmitted_publishing_facebook_graph_message_data_transmitted, self); +#line 1686 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp2_ = message; +#line 1686 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp3_, NULL, FALSE); +#line 1686 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_completed_publishing_facebook_graph_message_completed, self); +#line 1687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp4_ = message; +#line 1687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_parse_name ("failed", PUBLISHING_FACEBOOK_TYPE_GRAPH_MESSAGE, &_tmp5_, NULL, FALSE); +#line 1687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _publishing_facebook_uploader_on_message_failed_publishing_facebook_graph_message_failed, self); +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp6_ = _error_; +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_emit_by_name (self, "upload-error", _tmp6_); +#line 11639 "FacebookPublishing.c" +} + + +void publishing_facebook_uploader_upload (PublishingFacebookUploader* self, SpitPublishingProgressCallback status_updated, void* status_updated_target) { + SpitPublishingProgressCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 1692 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (PUBLISHING_FACEBOOK_IS_UPLOADER (self)); +#line 1693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0_ = status_updated; +#line 1693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp0__target = status_updated_target; +#line 1693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->status_updated = _tmp0_; +#line 1693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->status_updated_target = _tmp0__target; +#line 1695 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1_ = self->priv->publishables; +#line 1695 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _tmp1__length1 = self->priv->publishables_length1; +#line 1695 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (_tmp1__length1 > 0) { +#line 1696 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_send_files (self); +#line 11666 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_value_uploader_init (GValue* value) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 11674 "FacebookPublishing.c" +} + + +static void publishing_facebook_value_uploader_free_value (GValue* value) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (value->data[0].v_pointer) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_unref (value->data[0].v_pointer); +#line 11683 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_value_uploader_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = publishing_facebook_uploader_ref (src_value->data[0].v_pointer); +#line 11693 "FacebookPublishing.c" + } else { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 11697 "FacebookPublishing.c" + } +} + + +static gpointer publishing_facebook_value_uploader_peek_pointer (const GValue* value) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 11705 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_uploader_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (collect_values[0].v_pointer) { +#line 11712 "FacebookPublishing.c" + PublishingFacebookUploader* object; + object = collect_values[0].v_pointer; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11719 "FacebookPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.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 11723 "FacebookPublishing.c" + } +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = publishing_facebook_uploader_ref (object); +#line 11727 "FacebookPublishing.c" + } else { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 11731 "FacebookPublishing.c" + } +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 11735 "FacebookPublishing.c" +} + + +static gchar* publishing_facebook_value_uploader_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFacebookUploader** object_p; + object_p = collect_values[0].v_pointer; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!object_p) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 11746 "FacebookPublishing.c" + } +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (!value->data[0].v_pointer) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = NULL; +#line 11752 "FacebookPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 11756 "FacebookPublishing.c" + } else { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + *object_p = publishing_facebook_uploader_ref (value->data[0].v_pointer); +#line 11760 "FacebookPublishing.c" + } +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return NULL; +#line 11764 "FacebookPublishing.c" +} + + +GParamSpec* publishing_facebook_param_spec_uploader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFacebookParamSpecUploader* spec; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FACEBOOK_TYPE_UPLOADER), NULL); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return G_PARAM_SPEC (spec); +#line 11778 "FacebookPublishing.c" +} + + +gpointer publishing_facebook_value_get_uploader (const GValue* value) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_UPLOADER), NULL); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return value->data[0].v_pointer; +#line 11787 "FacebookPublishing.c" +} + + +void publishing_facebook_value_set_uploader (GValue* value, gpointer v_object) { + PublishingFacebookUploader* old; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_UPLOADER)); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_UPLOADER)); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_ref (value->data[0].v_pointer); +#line 11807 "FacebookPublishing.c" + } else { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 11811 "FacebookPublishing.c" + } +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_unref (old); +#line 11817 "FacebookPublishing.c" + } +} + + +void publishing_facebook_value_take_uploader (GValue* value, gpointer v_object) { + PublishingFacebookUploader* old; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FACEBOOK_TYPE_UPLOADER)); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + old = value->data[0].v_pointer; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (v_object) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FACEBOOK_TYPE_UPLOADER)); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = v_object; +#line 11836 "FacebookPublishing.c" + } else { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + value->data[0].v_pointer = NULL; +#line 11840 "FacebookPublishing.c" + } +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (old) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_unref (old); +#line 11846 "FacebookPublishing.c" + } +} + + +static void publishing_facebook_uploader_class_init (PublishingFacebookUploaderClass * klass) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + publishing_facebook_uploader_parent_class = g_type_class_peek_parent (klass); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + ((PublishingFacebookUploaderClass *) klass)->finalize = publishing_facebook_uploader_finalize; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFacebookUploaderPrivate)); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("upload_complete", PUBLISHING_FACEBOOK_TYPE_UPLOADER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_new ("upload_error", PUBLISHING_FACEBOOK_TYPE_UPLOADER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); +#line 11862 "FacebookPublishing.c" +} + + +static void publishing_facebook_uploader_instance_init (PublishingFacebookUploader * self) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv = PUBLISHING_FACEBOOK_UPLOADER_GET_PRIVATE (self); +#line 1617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->status_updated = NULL; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->ref_count = 1; +#line 11873 "FacebookPublishing.c" +} + + +static void publishing_facebook_uploader_finalize (PublishingFacebookUploader* obj) { + PublishingFacebookUploader * self; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FACEBOOK_TYPE_UPLOADER, PublishingFacebookUploader); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_signal_handlers_destroy (self); +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 1615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_graph_session_unref0 (self->priv->session); +#line 1616 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + _publishing_facebook_publishing_parameters_unref0 (self->priv->publishing_params); +#line 11889 "FacebookPublishing.c" +} + + +GType publishing_facebook_uploader_get_type (void) { + static volatile gsize publishing_facebook_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_facebook_uploader_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_facebook_value_uploader_init, publishing_facebook_value_uploader_free_value, publishing_facebook_value_uploader_copy_value, publishing_facebook_value_uploader_peek_pointer, "p", publishing_facebook_value_uploader_collect_value, "p", publishing_facebook_value_uploader_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFacebookUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_facebook_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFacebookUploader), 0, (GInstanceInitFunc) publishing_facebook_uploader_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 publishing_facebook_uploader_type_id; + publishing_facebook_uploader_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFacebookUploader", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_facebook_uploader_type_id__volatile, publishing_facebook_uploader_type_id); + } + return publishing_facebook_uploader_type_id__volatile; +} + + +gpointer publishing_facebook_uploader_ref (gpointer instance) { + PublishingFacebookUploader* self; + self = instance; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + return instance; +#line 11914 "FacebookPublishing.c" +} + + +void publishing_facebook_uploader_unref (gpointer instance) { + PublishingFacebookUploader* self; + self = instance; +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + PUBLISHING_FACEBOOK_UPLOADER_GET_CLASS (self)->finalize (self); +#line 1612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FacebookPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 11927 "FacebookPublishing.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/plugins/shotwell-publishing/FacebookPublishing.vala b/plugins/shotwell-publishing/FacebookPublishing.vala index f6cccb6..608e5c5 100644 --- a/plugins/shotwell-publishing/FacebookPublishing.vala +++ b/plugins/shotwell-publishing/FacebookPublishing.vala @@ -11,7 +11,8 @@ public class FacebookService : Object, Spit.Pluggable, Spit.Publishing.Service { public FacebookService(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = Resources.load_from_resource + (Resources.RESOURCE_PATH + "/" + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { @@ -364,9 +365,8 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object { try { // the trailing get_path() is required, since add_from_file can't cope // with File objects directly and expects a pathname instead. - builder.add_from_file( - host.get_module_file().get_parent(). - get_child("facebook_publishing_options_pane.glade").get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + "/" + + "facebook_publishing_options_pane.ui"); } catch (Error e) { warning("Could not parse UI file! Error: %s.", e.message); host.post_error( diff --git a/plugins/shotwell-publishing/FlickrPublishing.c b/plugins/shotwell-publishing/FlickrPublishing.c new file mode 100644 index 0000000..b4d74aa --- /dev/null +++ b/plugins/shotwell-publishing/FlickrPublishing.c @@ -0,0 +1,10304 @@ +/* FlickrPublishing.c generated by valac 0.32.1, the Vala compiler + * generated from FlickrPublishing.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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_FLICKR_SERVICE (flickr_service_get_type ()) +#define FLICKR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLICKR_SERVICE, FlickrService)) +#define FLICKR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLICKR_SERVICE, FlickrServiceClass)) +#define IS_FLICKR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLICKR_SERVICE)) +#define IS_FLICKR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLICKR_SERVICE)) +#define FLICKR_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLICKR_SERVICE, FlickrServiceClass)) + +typedef struct _FlickrService FlickrService; +typedef struct _FlickrServiceClass FlickrServiceClass; +typedef struct _FlickrServicePrivate FlickrServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER (publishing_flickr_flickr_publisher_get_type ()) +#define PUBLISHING_FLICKR_FLICKR_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisher)) +#define PUBLISHING_FLICKR_FLICKR_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisherClass)) +#define PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER)) +#define PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER)) +#define PUBLISHING_FLICKR_FLICKR_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisherClass)) + +typedef struct _PublishingFlickrFlickrPublisher PublishingFlickrFlickrPublisher; +typedef struct _PublishingFlickrFlickrPublisherClass PublishingFlickrFlickrPublisherClass; + +#define PUBLISHING_FLICKR_TYPE_USER_KIND (publishing_flickr_user_kind_get_type ()) + +#define PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION (publishing_flickr_visibility_specification_get_type ()) +#define PUBLISHING_FLICKR_VISIBILITY_SPECIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION, PublishingFlickrVisibilitySpecification)) +#define PUBLISHING_FLICKR_VISIBILITY_SPECIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION, PublishingFlickrVisibilitySpecificationClass)) +#define PUBLISHING_FLICKR_IS_VISIBILITY_SPECIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION)) +#define PUBLISHING_FLICKR_IS_VISIBILITY_SPECIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION)) +#define PUBLISHING_FLICKR_VISIBILITY_SPECIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION, PublishingFlickrVisibilitySpecificationClass)) + +typedef struct _PublishingFlickrVisibilitySpecification PublishingFlickrVisibilitySpecification; +typedef struct _PublishingFlickrVisibilitySpecificationClass PublishingFlickrVisibilitySpecificationClass; +typedef struct _PublishingFlickrVisibilitySpecificationPrivate PublishingFlickrVisibilitySpecificationPrivate; +typedef struct _PublishingFlickrParamSpecVisibilitySpecification PublishingFlickrParamSpecVisibilitySpecification; + +#define PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS (publishing_flickr_publishing_parameters_get_type ()) +#define PUBLISHING_FLICKR_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS, PublishingFlickrPublishingParameters)) +#define PUBLISHING_FLICKR_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS, PublishingFlickrPublishingParametersClass)) +#define PUBLISHING_FLICKR_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_FLICKR_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_FLICKR_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS, PublishingFlickrPublishingParametersClass)) + +typedef struct _PublishingFlickrPublishingParameters PublishingFlickrPublishingParameters; +typedef struct _PublishingFlickrPublishingParametersClass PublishingFlickrPublishingParametersClass; +typedef struct _PublishingFlickrPublishingParametersPrivate PublishingFlickrPublishingParametersPrivate; +#define _publishing_flickr_visibility_specification_unref0(var) ((var == NULL) ? NULL : (var = (publishing_flickr_visibility_specification_unref (var), NULL))) +typedef struct _PublishingFlickrParamSpecPublishingParameters PublishingFlickrParamSpecPublishingParameters; +typedef struct _PublishingFlickrFlickrPublisherPrivate PublishingFlickrFlickrPublisherPrivate; + +#define PUBLISHING_FLICKR_TYPE_SESSION (publishing_flickr_session_get_type ()) +#define PUBLISHING_FLICKR_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSession)) +#define PUBLISHING_FLICKR_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSessionClass)) +#define PUBLISHING_FLICKR_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_SESSION)) +#define PUBLISHING_FLICKR_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_SESSION)) +#define PUBLISHING_FLICKR_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSessionClass)) + +typedef struct _PublishingFlickrSession PublishingFlickrSession; +typedef struct _PublishingFlickrSessionClass PublishingFlickrSessionClass; + +#define PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE (publishing_flickr_publishing_options_pane_get_type ()) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPane)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPaneClass)) +#define PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPaneClass)) + +typedef struct _PublishingFlickrPublishingOptionsPane PublishingFlickrPublishingOptionsPane; +typedef struct _PublishingFlickrPublishingOptionsPaneClass PublishingFlickrPublishingOptionsPaneClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) +#define _publishing_flickr_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_flickr_publishing_parameters_unref (var), NULL))) + +#define PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE (publishing_flickr_pin_entry_pane_get_type ()) +#define PUBLISHING_FLICKR_PIN_ENTRY_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPane)) +#define PUBLISHING_FLICKR_PIN_ENTRY_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPaneClass)) +#define PUBLISHING_FLICKR_IS_PIN_ENTRY_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE)) +#define PUBLISHING_FLICKR_IS_PIN_ENTRY_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE)) +#define PUBLISHING_FLICKR_PIN_ENTRY_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPaneClass)) + +typedef struct _PublishingFlickrPinEntryPane PublishingFlickrPinEntryPane; +typedef struct _PublishingFlickrPinEntryPaneClass PublishingFlickrPinEntryPaneClass; + +#define PUBLISHING_FLICKR_TYPE_TRANSACTION (publishing_flickr_transaction_get_type ()) +#define PUBLISHING_FLICKR_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_TRANSACTION, PublishingFlickrTransaction)) +#define PUBLISHING_FLICKR_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_TRANSACTION, PublishingFlickrTransactionClass)) +#define PUBLISHING_FLICKR_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_TRANSACTION)) +#define PUBLISHING_FLICKR_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_TRANSACTION)) +#define PUBLISHING_FLICKR_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_TRANSACTION, PublishingFlickrTransactionClass)) + +typedef struct _PublishingFlickrTransaction PublishingFlickrTransaction; +typedef struct _PublishingFlickrTransactionClass PublishingFlickrTransactionClass; + +#define PUBLISHING_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION (publishing_flickr_authentication_request_transaction_get_type ()) +#define PUBLISHING_FLICKR_AUTHENTICATION_REQUEST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, PublishingFlickrAuthenticationRequestTransaction)) +#define PUBLISHING_FLICKR_AUTHENTICATION_REQUEST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, PublishingFlickrAuthenticationRequestTransactionClass)) +#define PUBLISHING_FLICKR_IS_AUTHENTICATION_REQUEST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION)) +#define PUBLISHING_FLICKR_IS_AUTHENTICATION_REQUEST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION)) +#define PUBLISHING_FLICKR_AUTHENTICATION_REQUEST_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, PublishingFlickrAuthenticationRequestTransactionClass)) + +typedef struct _PublishingFlickrAuthenticationRequestTransaction PublishingFlickrAuthenticationRequestTransaction; +typedef struct _PublishingFlickrAuthenticationRequestTransactionClass PublishingFlickrAuthenticationRequestTransactionClass; +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define PUBLISHING_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION (publishing_flickr_access_token_fetch_transaction_get_type ()) +#define PUBLISHING_FLICKR_ACCESS_TOKEN_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingFlickrAccessTokenFetchTransaction)) +#define PUBLISHING_FLICKR_ACCESS_TOKEN_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingFlickrAccessTokenFetchTransactionClass)) +#define PUBLISHING_FLICKR_IS_ACCESS_TOKEN_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION)) +#define PUBLISHING_FLICKR_IS_ACCESS_TOKEN_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION)) +#define PUBLISHING_FLICKR_ACCESS_TOKEN_FETCH_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, PublishingFlickrAccessTokenFetchTransactionClass)) + +typedef struct _PublishingFlickrAccessTokenFetchTransaction PublishingFlickrAccessTokenFetchTransaction; +typedef struct _PublishingFlickrAccessTokenFetchTransactionClass PublishingFlickrAccessTokenFetchTransactionClass; + +#define PUBLISHING_FLICKR_TYPE_ACCOUNT_INFO_FETCH_TRANSACTION (publishing_flickr_account_info_fetch_transaction_get_type ()) +#define PUBLISHING_FLICKR_ACCOUNT_INFO_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_ACCOUNT_INFO_FETCH_TRANSACTION, PublishingFlickrAccountInfoFetchTransaction)) +#define PUBLISHING_FLICKR_ACCOUNT_INFO_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_ACCOUNT_INFO_FETCH_TRANSACTION, PublishingFlickrAccountInfoFetchTransactionClass)) +#define PUBLISHING_FLICKR_IS_ACCOUNT_INFO_FETCH_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_ACCOUNT_INFO_FETCH_TRANSACTION)) +#define PUBLISHING_FLICKR_IS_ACCOUNT_INFO_FETCH_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_ACCOUNT_INFO_FETCH_TRANSACTION)) +#define PUBLISHING_FLICKR_ACCOUNT_INFO_FETCH_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_ACCOUNT_INFO_FETCH_TRANSACTION, PublishingFlickrAccountInfoFetchTransactionClass)) + +typedef struct _PublishingFlickrAccountInfoFetchTransaction PublishingFlickrAccountInfoFetchTransaction; +typedef struct _PublishingFlickrAccountInfoFetchTransactionClass PublishingFlickrAccountInfoFetchTransactionClass; +#define _publishing_rest_support_xml_document_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_xml_document_unref (var), NULL))) +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) + +#define PUBLISHING_FLICKR_TYPE_UPLOADER (publishing_flickr_uploader_get_type ()) +#define PUBLISHING_FLICKR_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_UPLOADER, PublishingFlickrUploader)) +#define PUBLISHING_FLICKR_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_UPLOADER, PublishingFlickrUploaderClass)) +#define PUBLISHING_FLICKR_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_UPLOADER)) +#define PUBLISHING_FLICKR_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_UPLOADER)) +#define PUBLISHING_FLICKR_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_UPLOADER, PublishingFlickrUploaderClass)) + +typedef struct _PublishingFlickrUploader PublishingFlickrUploader; +typedef struct _PublishingFlickrUploaderClass PublishingFlickrUploaderClass; +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_unref (var), NULL))) +typedef struct _PublishingFlickrPinEntryPanePrivate PublishingFlickrPinEntryPanePrivate; +#define _g_slist_free0(var) ((var == NULL) ? NULL : (var = (g_slist_free (var), NULL))) +typedef struct _PublishingFlickrTransactionPrivate PublishingFlickrTransactionPrivate; +typedef struct _PublishingFlickrAuthenticationRequestTransactionPrivate PublishingFlickrAuthenticationRequestTransactionPrivate; +typedef struct _PublishingFlickrAccessTokenFetchTransactionPrivate PublishingFlickrAccessTokenFetchTransactionPrivate; +typedef struct _PublishingFlickrAccountInfoFetchTransactionPrivate PublishingFlickrAccountInfoFetchTransactionPrivate; + +#define PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION (publishing_flickr_upload_transaction_get_type ()) +#define PUBLISHING_FLICKR_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION, PublishingFlickrUploadTransaction)) +#define PUBLISHING_FLICKR_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION, PublishingFlickrUploadTransactionClass)) +#define PUBLISHING_FLICKR_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_FLICKR_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_FLICKR_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION, PublishingFlickrUploadTransactionClass)) + +typedef struct _PublishingFlickrUploadTransaction PublishingFlickrUploadTransaction; +typedef struct _PublishingFlickrUploadTransactionClass PublishingFlickrUploadTransactionClass; +typedef struct _PublishingFlickrUploadTransactionPrivate PublishingFlickrUploadTransactionPrivate; +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) +typedef struct _PublishingFlickrSessionPrivate PublishingFlickrSessionPrivate; +#define _publishing_rest_support_argument_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_argument_unref (var), NULL))) +typedef struct _PublishingFlickrPublishingOptionsPanePrivate PublishingFlickrPublishingOptionsPanePrivate; + +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY (publishing_flickr_publishing_options_pane_visibility_entry_get_type ()) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_VISIBILITY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY, PublishingFlickrPublishingOptionsPaneVisibilityEntry)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_VISIBILITY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY, PublishingFlickrPublishingOptionsPaneVisibilityEntryClass)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_IS_VISIBILITY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_IS_VISIBILITY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_VISIBILITY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY, PublishingFlickrPublishingOptionsPaneVisibilityEntryClass)) + +typedef struct _PublishingFlickrPublishingOptionsPaneVisibilityEntry PublishingFlickrPublishingOptionsPaneVisibilityEntry; +typedef struct _PublishingFlickrPublishingOptionsPaneVisibilityEntryClass PublishingFlickrPublishingOptionsPaneVisibilityEntryClass; + +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY (publishing_flickr_publishing_options_pane_size_entry_get_type ()) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_SIZE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY, PublishingFlickrPublishingOptionsPaneSizeEntry)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_SIZE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY, PublishingFlickrPublishingOptionsPaneSizeEntryClass)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_IS_SIZE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_IS_SIZE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY)) +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_SIZE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY, PublishingFlickrPublishingOptionsPaneSizeEntryClass)) + +typedef struct _PublishingFlickrPublishingOptionsPaneSizeEntry PublishingFlickrPublishingOptionsPaneSizeEntry; +typedef struct _PublishingFlickrPublishingOptionsPaneSizeEntryClass PublishingFlickrPublishingOptionsPaneSizeEntryClass; +typedef struct _PublishingFlickrPublishingOptionsPaneVisibilityEntryPrivate PublishingFlickrPublishingOptionsPaneVisibilityEntryPrivate; +typedef struct _PublishingFlickrPublishingOptionsPaneSizeEntryPrivate PublishingFlickrPublishingOptionsPaneSizeEntryPrivate; +#define _publishing_flickr_publishing_options_pane_visibility_entry_unref0(var) ((var == NULL) ? NULL : (var = (publishing_flickr_publishing_options_pane_visibility_entry_unref (var), NULL))) +#define _publishing_flickr_publishing_options_pane_size_entry_unref0(var) ((var == NULL) ? NULL : (var = (publishing_flickr_publishing_options_pane_size_entry_unref (var), NULL))) +typedef struct _PublishingFlickrPublishingOptionsPaneParamSpecSizeEntry PublishingFlickrPublishingOptionsPaneParamSpecSizeEntry; +typedef struct _PublishingFlickrPublishingOptionsPaneParamSpecVisibilityEntry PublishingFlickrPublishingOptionsPaneParamSpecVisibilityEntry; +typedef struct _PublishingFlickrUploaderPrivate PublishingFlickrUploaderPrivate; +#define _gexiv2_metadata_free0(var) ((var == NULL) ? NULL : (var = (gexiv2_metadata_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 _FlickrService { + GObject parent_instance; + FlickrServicePrivate * priv; +}; + +struct _FlickrServiceClass { + GObjectClass parent_class; +}; + +typedef enum { + PUBLISHING_FLICKR_USER_KIND_PRO, + PUBLISHING_FLICKR_USER_KIND_FREE +} PublishingFlickrUserKind; + +struct _PublishingFlickrVisibilitySpecification { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFlickrVisibilitySpecificationPrivate * priv; + gint friends_level; + gint family_level; + gint everyone_level; +}; + +struct _PublishingFlickrVisibilitySpecificationClass { + GTypeClass parent_class; + void (*finalize) (PublishingFlickrVisibilitySpecification *self); +}; + +struct _PublishingFlickrParamSpecVisibilitySpecification { + GParamSpec parent_instance; +}; + +struct _PublishingFlickrPublishingParameters { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFlickrPublishingParametersPrivate * priv; + PublishingFlickrUserKind user_kind; + gint quota_free_mb; + gint photo_major_axis_size; + gchar* username; + PublishingFlickrVisibilitySpecification* visibility_specification; +}; + +struct _PublishingFlickrPublishingParametersClass { + GTypeClass parent_class; + void (*finalize) (PublishingFlickrPublishingParameters *self); +}; + +struct _PublishingFlickrParamSpecPublishingParameters { + GParamSpec parent_instance; +}; + +struct _PublishingFlickrFlickrPublisher { + GObject parent_instance; + PublishingFlickrFlickrPublisherPrivate * priv; +}; + +struct _PublishingFlickrFlickrPublisherClass { + GObjectClass parent_class; +}; + +struct _PublishingFlickrFlickrPublisherPrivate { + SpitPublishingService* service; + SpitPublishingPluginHost* host; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; + gboolean running; + gboolean was_started; + PublishingFlickrSession* session; + PublishingFlickrPublishingOptionsPane* publishing_options_pane; + PublishingFlickrPublishingParameters* parameters; +}; + +struct _PublishingFlickrPinEntryPane { + GObject parent_instance; + PublishingFlickrPinEntryPanePrivate * priv; +}; + +struct _PublishingFlickrPinEntryPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingFlickrPinEntryPanePrivate { + GtkBox* pane_widget; + GtkButton* continue_button; + GtkEntry* pin_entry; + GtkLabel* pin_entry_caption; + GtkLabel* explanatory_text; + GtkBuilder* builder; +}; + +struct _PublishingFlickrTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingFlickrTransactionPrivate * priv; +}; + +struct _PublishingFlickrTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingFlickrAuthenticationRequestTransaction { + PublishingFlickrTransaction parent_instance; + PublishingFlickrAuthenticationRequestTransactionPrivate * priv; +}; + +struct _PublishingFlickrAuthenticationRequestTransactionClass { + PublishingFlickrTransactionClass parent_class; +}; + +struct _PublishingFlickrAccessTokenFetchTransaction { + PublishingFlickrTransaction parent_instance; + PublishingFlickrAccessTokenFetchTransactionPrivate * priv; +}; + +struct _PublishingFlickrAccessTokenFetchTransactionClass { + PublishingFlickrTransactionClass parent_class; +}; + +struct _PublishingFlickrAccountInfoFetchTransaction { + PublishingFlickrTransaction parent_instance; + PublishingFlickrAccountInfoFetchTransactionPrivate * priv; +}; + +struct _PublishingFlickrAccountInfoFetchTransactionClass { + PublishingFlickrTransactionClass parent_class; +}; + +struct _PublishingFlickrUploadTransaction { + PublishingRESTSupportUploadTransaction parent_instance; + PublishingFlickrUploadTransactionPrivate * priv; +}; + +struct _PublishingFlickrUploadTransactionClass { + PublishingRESTSupportUploadTransactionClass parent_class; +}; + +struct _PublishingFlickrUploadTransactionPrivate { + PublishingFlickrPublishingParameters* parameters; + PublishingFlickrSession* session; + PublishingRESTSupportArgument** auth_header_fields; + gint auth_header_fields_length1; + gint _auth_header_fields_size_; +}; + +struct _PublishingFlickrSession { + PublishingRESTSupportSession parent_instance; + PublishingFlickrSessionPrivate * priv; +}; + +struct _PublishingFlickrSessionClass { + PublishingRESTSupportSessionClass parent_class; +}; + +struct _PublishingFlickrSessionPrivate { + gchar* request_phase_token; + gchar* request_phase_token_secret; + gchar* access_phase_token; + gchar* access_phase_token_secret; + gchar* username; +}; + +struct _PublishingFlickrPublishingOptionsPane { + GObject parent_instance; + PublishingFlickrPublishingOptionsPanePrivate * priv; +}; + +struct _PublishingFlickrPublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingFlickrPublishingOptionsPanePrivate { + GtkBuilder* builder; + GtkBox* pane_widget; + GtkLabel* visibility_label; + GtkLabel* upload_info_label; + GtkLabel* size_label; + GtkButton* logout_button; + GtkButton* publish_button; + GtkComboBoxText* visibility_combo; + GtkComboBoxText* size_combo; + GtkCheckButton* strip_metadata_check; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** visibilities; + gint visibilities_length1; + gint _visibilities_size_; + PublishingFlickrPublishingOptionsPaneSizeEntry** sizes; + gint sizes_length1; + gint _sizes_size_; + PublishingFlickrPublishingParameters* parameters; + PublishingFlickrFlickrPublisher* publisher; + SpitPublishingPublisherMediaType media_type; +}; + +struct _PublishingFlickrPublishingOptionsPaneVisibilityEntry { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFlickrPublishingOptionsPaneVisibilityEntryPrivate * priv; + PublishingFlickrVisibilitySpecification* specification; + gchar* title; +}; + +struct _PublishingFlickrPublishingOptionsPaneVisibilityEntryClass { + GTypeClass parent_class; + void (*finalize) (PublishingFlickrPublishingOptionsPaneVisibilityEntry *self); +}; + +struct _PublishingFlickrPublishingOptionsPaneSizeEntry { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingFlickrPublishingOptionsPaneSizeEntryPrivate * priv; + gchar* title; + gint size; +}; + +struct _PublishingFlickrPublishingOptionsPaneSizeEntryClass { + GTypeClass parent_class; + void (*finalize) (PublishingFlickrPublishingOptionsPaneSizeEntry *self); +}; + +struct _PublishingFlickrPublishingOptionsPaneParamSpecSizeEntry { + GParamSpec parent_instance; +}; + +struct _PublishingFlickrPublishingOptionsPaneParamSpecVisibilityEntry { + GParamSpec parent_instance; +}; + +struct _PublishingFlickrUploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingFlickrUploaderPrivate * priv; +}; + +struct _PublishingFlickrUploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingFlickrUploaderPrivate { + PublishingFlickrPublishingParameters* parameters; + gboolean strip_metadata; +}; + + +static gpointer flickr_service_parent_class = NULL; +static GdkPixbuf** flickr_service_icon_pixbuf_set; +static gint flickr_service_icon_pixbuf_set_length1; +static GdkPixbuf** flickr_service_icon_pixbuf_set = NULL; +static gint flickr_service_icon_pixbuf_set_length1 = 0; +static gint _flickr_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* flickr_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* flickr_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_flickr_visibility_specification_parent_class = NULL; +static gpointer publishing_flickr_publishing_parameters_parent_class = NULL; +static gpointer publishing_flickr_flickr_publisher_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_flickr_flickr_publisher_spit_publishing_publisher_parent_iface = NULL; +static gpointer publishing_flickr_pin_entry_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_flickr_pin_entry_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_flickr_transaction_parent_class = NULL; +static gpointer publishing_flickr_authentication_request_transaction_parent_class = NULL; +static gpointer publishing_flickr_access_token_fetch_transaction_parent_class = NULL; +static gpointer publishing_flickr_account_info_fetch_transaction_parent_class = NULL; +static gpointer publishing_flickr_upload_transaction_parent_class = NULL; +static gpointer publishing_flickr_session_parent_class = NULL; +static gpointer publishing_flickr_publishing_options_pane_parent_class = NULL; +static gpointer publishing_flickr_publishing_options_pane_size_entry_parent_class = NULL; +static gpointer publishing_flickr_publishing_options_pane_visibility_entry_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_flickr_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_flickr_uploader_parent_class = NULL; + +GType flickr_service_get_type (void) G_GNUC_CONST; +enum { + FLICKR_SERVICE_DUMMY_PROPERTY +}; +#define FLICKR_SERVICE_ICON_FILENAME "flickr.png" +FlickrService* flickr_service_new (GFile* resource_directory); +FlickrService* flickr_service_construct (GType object_type, GFile* resource_directory); +static gint flickr_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* flickr_service_real_get_id (SpitPluggable* base); +static const gchar* flickr_service_real_get_pluggable_name (SpitPluggable* base); +static void flickr_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup7 (GdkPixbuf** self, int length); +static void flickr_service_real_activation (SpitPluggable* base, gboolean enabled); +static SpitPublishingPublisher* flickr_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingFlickrFlickrPublisher* publishing_flickr_flickr_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingFlickrFlickrPublisher* publishing_flickr_flickr_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_flickr_flickr_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType flickr_service_real_get_supported_media (SpitPublishingService* base); +static void flickr_service_finalize (GObject* obj); +#define PUBLISHING_FLICKR_SERVICE_NAME "Flickr" +#define PUBLISHING_FLICKR_SERVICE_WELCOME_MESSAGE _ ("You are not currently logged into Flickr.\n" \ +"\n" \ +"Click Login to log into Flickr in your Web browser. You will have to " \ +"authorize Shotwell Connect to link to your Flickr account.") +#define PUBLISHING_FLICKR_RESTART_ERROR_MESSAGE _ ("You have already logged in and out of Flickr during this Shotwell sess" \ +"ion.\n" \ +"To continue publishing to Flickr, quit and restart Shotwell, then try " \ +"publishing again.") +#define PUBLISHING_FLICKR_ENDPOINT_URL "https://api.flickr.com/services/rest" +#define PUBLISHING_FLICKR_API_KEY "60dd96d4a2ad04888b09c9e18d82c26f" +#define PUBLISHING_FLICKR_API_SECRET "d0960565e03547c1" +#define PUBLISHING_FLICKR_ORIGINAL_SIZE -1 +#define PUBLISHING_FLICKR_EXPIRED_SESSION_ERROR_CODE "98" +#define PUBLISHING_FLICKR_ENCODE_RFC_3986_EXTRA "!*'();:@&=+$,/?%#[] \\" +GType publishing_flickr_user_kind_get_type (void) G_GNUC_CONST; +gpointer publishing_flickr_visibility_specification_ref (gpointer instance); +void publishing_flickr_visibility_specification_unref (gpointer instance); +GParamSpec* publishing_flickr_param_spec_visibility_specification (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_flickr_value_set_visibility_specification (GValue* value, gpointer v_object); +void publishing_flickr_value_take_visibility_specification (GValue* value, gpointer v_object); +gpointer publishing_flickr_value_get_visibility_specification (const GValue* value); +GType publishing_flickr_visibility_specification_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_FLICKR_VISIBILITY_SPECIFICATION_DUMMY_PROPERTY +}; +PublishingFlickrVisibilitySpecification* publishing_flickr_visibility_specification_new (gint friends_level, gint family_level, gint everyone_level); +PublishingFlickrVisibilitySpecification* publishing_flickr_visibility_specification_construct (GType object_type, gint friends_level, gint family_level, gint everyone_level); +static void publishing_flickr_visibility_specification_finalize (PublishingFlickrVisibilitySpecification* obj); +gpointer publishing_flickr_publishing_parameters_ref (gpointer instance); +void publishing_flickr_publishing_parameters_unref (gpointer instance); +GParamSpec* publishing_flickr_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_flickr_value_set_publishing_parameters (GValue* value, gpointer v_object); +void publishing_flickr_value_take_publishing_parameters (GValue* value, gpointer v_object); +gpointer publishing_flickr_value_get_publishing_parameters (const GValue* value); +GType publishing_flickr_publishing_parameters_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_FLICKR_PUBLISHING_PARAMETERS_DUMMY_PROPERTY +}; +PublishingFlickrPublishingParameters* publishing_flickr_publishing_parameters_new (void); +PublishingFlickrPublishingParameters* publishing_flickr_publishing_parameters_construct (GType object_type); +static void publishing_flickr_publishing_parameters_finalize (PublishingFlickrPublishingParameters* obj); +GType publishing_flickr_session_get_type (void) G_GNUC_CONST; +GType publishing_flickr_publishing_options_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_FLICKR_FLICKR_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisherPrivate)) +enum { + PUBLISHING_FLICKR_FLICKR_PUBLISHER_DUMMY_PROPERTY +}; +static void publishing_flickr_flickr_publisher_on_session_authenticated (PublishingFlickrFlickrPublisher* self); +static void _publishing_flickr_flickr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated (PublishingRESTSupportSession* _sender, gpointer self); +PublishingFlickrSession* publishing_flickr_session_new (void); +PublishingFlickrSession* publishing_flickr_session_construct (GType object_type); +static void publishing_flickr_flickr_publisher_invalidate_persistent_session (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_set_persistent_access_phase_token (PublishingFlickrFlickrPublisher* self, const gchar* token); +static void publishing_flickr_flickr_publisher_set_persistent_access_phase_token_secret (PublishingFlickrFlickrPublisher* self, const gchar* secret); +static void publishing_flickr_flickr_publisher_set_persistent_access_phase_username (PublishingFlickrFlickrPublisher* self, const gchar* username); +static gboolean publishing_flickr_flickr_publisher_is_persistent_session_valid (PublishingFlickrFlickrPublisher* self); +static gchar* publishing_flickr_flickr_publisher_get_persistent_access_phase_username (PublishingFlickrFlickrPublisher* self); +static gchar* publishing_flickr_flickr_publisher_get_persistent_access_phase_token (PublishingFlickrFlickrPublisher* self); +static gchar* publishing_flickr_flickr_publisher_get_persistent_access_phase_token_secret (PublishingFlickrFlickrPublisher* self); +static gboolean publishing_flickr_flickr_publisher_get_persistent_strip_metadata (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_set_persistent_strip_metadata (PublishingFlickrFlickrPublisher* self, gboolean strip_metadata); +static void publishing_flickr_flickr_publisher_on_welcome_pane_login_clicked (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_do_run_authentication_request_transaction (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_on_auth_request_txn_completed (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_flickr_flickr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_flickr_flickr_publisher_on_auth_request_txn_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_flickr_flickr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_flickr_flickr_publisher_do_parse_token_info_from_auth_request (PublishingFlickrFlickrPublisher* self, const gchar* response); +static void publishing_flickr_flickr_publisher_on_authentication_token_available (PublishingFlickrFlickrPublisher* self, const gchar* token, const gchar* token_secret); +void publishing_flickr_session_set_request_phase_credentials (PublishingFlickrSession* self, const gchar* token, const gchar* secret); +static void publishing_flickr_flickr_publisher_do_launch_system_browser (PublishingFlickrFlickrPublisher* self, const gchar* token); +static void publishing_flickr_flickr_publisher_on_system_browser_launched (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_do_show_pin_entry_pane (PublishingFlickrFlickrPublisher* self); +GType publishing_flickr_pin_entry_pane_get_type (void) G_GNUC_CONST; +static void publishing_flickr_flickr_publisher_on_pin_entry_proceed (PublishingFlickrFlickrPublisher* self, PublishingFlickrPinEntryPane* sender, const gchar* pin); +static void _publishing_flickr_flickr_publisher_on_pin_entry_proceed_publishing_flickr_pin_entry_pane_proceed (PublishingFlickrPinEntryPane* _sender, PublishingFlickrPinEntryPane* sender, const gchar* authorization_pin, gpointer self); +static void publishing_flickr_flickr_publisher_do_verify_pin (PublishingFlickrFlickrPublisher* self, const gchar* pin); +static void publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_flickr_flickr_publisher_on_access_token_fetch_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_flickr_flickr_publisher_on_access_token_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_flickr_flickr_publisher_do_extract_access_phase_credentials_from_reponse (PublishingFlickrFlickrPublisher* self, const gchar* response); +gchar* publishing_flickr_session_get_username (PublishingFlickrSession* self); +gchar* publishing_flickr_session_get_access_phase_token (PublishingFlickrSession* self); +gchar* publishing_flickr_session_get_access_phase_token_secret (PublishingFlickrSession* self); +static void publishing_flickr_flickr_publisher_do_fetch_account_info (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_on_account_fetch_txn_completed (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_flickr_flickr_publisher_on_account_fetch_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_flickr_flickr_publisher_on_account_fetch_txn_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err); +static void _publishing_flickr_flickr_publisher_on_account_fetch_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_flickr_flickr_publisher_do_parse_account_info_from_xml (PublishingFlickrFlickrPublisher* self, const gchar* xml); +static void publishing_flickr_flickr_publisher_on_account_info_available (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_do_show_publishing_options_pane (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_on_publishing_options_pane_publish (PublishingFlickrFlickrPublisher* self, gboolean strip_metadata); +static void _publishing_flickr_flickr_publisher_on_publishing_options_pane_publish_publishing_flickr_publishing_options_pane_publish (PublishingFlickrPublishingOptionsPane* _sender, gboolean strip_metadata, gpointer self); +static void publishing_flickr_flickr_publisher_on_publishing_options_pane_logout (PublishingFlickrFlickrPublisher* self); +static void _publishing_flickr_flickr_publisher_on_publishing_options_pane_logout_publishing_flickr_publishing_options_pane_logout (PublishingFlickrPublishingOptionsPane* _sender, gpointer self); +static void publishing_flickr_flickr_publisher_do_publish (PublishingFlickrFlickrPublisher* self, gboolean strip_metadata); +static void publishing_flickr_flickr_publisher_do_logout (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_on_upload_status_updated (PublishingFlickrFlickrPublisher* self, gint file_number, gdouble completed_fraction); +static void publishing_flickr_flickr_publisher_on_upload_complete (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_flickr_flickr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_flickr_flickr_publisher_on_upload_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err); +static void _publishing_flickr_flickr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_flickr_flickr_publisher_do_show_success_pane (PublishingFlickrFlickrPublisher* self); +static void publishing_flickr_flickr_publisher_do_show_login_welcome_pane (PublishingFlickrFlickrPublisher* self); +static void _publishing_flickr_flickr_publisher_on_welcome_pane_login_clicked_spit_publishing_login_callback (gpointer self); +GType publishing_flickr_transaction_get_type (void) G_GNUC_CONST; +GType publishing_flickr_authentication_request_transaction_get_type (void) G_GNUC_CONST; +PublishingFlickrAuthenticationRequestTransaction* publishing_flickr_authentication_request_transaction_new (PublishingFlickrSession* session); +PublishingFlickrAuthenticationRequestTransaction* publishing_flickr_authentication_request_transaction_construct (GType object_type, PublishingFlickrSession* session); +PublishingFlickrPinEntryPane* publishing_flickr_pin_entry_pane_new (GtkBuilder* builder); +PublishingFlickrPinEntryPane* publishing_flickr_pin_entry_pane_construct (GType object_type, GtkBuilder* builder); +GType publishing_flickr_access_token_fetch_transaction_get_type (void) G_GNUC_CONST; +PublishingFlickrAccessTokenFetchTransaction* publishing_flickr_access_token_fetch_transaction_new (PublishingFlickrSession* session, const gchar* user_verifier); +PublishingFlickrAccessTokenFetchTransaction* publishing_flickr_access_token_fetch_transaction_construct (GType object_type, PublishingFlickrSession* session, const gchar* user_verifier); +void publishing_flickr_session_set_access_phase_credentials (PublishingFlickrSession* self, const gchar* token, const gchar* secret, const gchar* username); +GType publishing_flickr_account_info_fetch_transaction_get_type (void) G_GNUC_CONST; +PublishingFlickrAccountInfoFetchTransaction* publishing_flickr_account_info_fetch_transaction_new (PublishingFlickrSession* session); +PublishingFlickrAccountInfoFetchTransaction* publishing_flickr_account_info_fetch_transaction_construct (GType object_type, PublishingFlickrSession* session); +PublishingRESTSupportXmlDocument* publishing_flickr_transaction_parse_flickr_response (const gchar* xml, GError** error); +void publishing_flickr_session_deauthenticate (PublishingFlickrSession* self); +static void publishing_flickr_flickr_publisher_attempt_start (PublishingFlickrFlickrPublisher* self); +PublishingFlickrPublishingOptionsPane* publishing_flickr_publishing_options_pane_new (PublishingFlickrFlickrPublisher* publisher, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublisherMediaType media_type, GtkBuilder* builder, gboolean strip_metadata); +PublishingFlickrPublishingOptionsPane* publishing_flickr_publishing_options_pane_construct (GType object_type, PublishingFlickrFlickrPublisher* publisher, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublisherMediaType media_type, GtkBuilder* builder, gboolean strip_metadata); +gint publishing_flickr_flickr_publisher_flickr_date_time_compare_func (SpitPublishingPublishable* a, SpitPublishingPublishable* b); +static gint _publishing_flickr_flickr_publisher_flickr_date_time_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +GType publishing_flickr_uploader_get_type (void) G_GNUC_CONST; +PublishingFlickrUploader* publishing_flickr_uploader_new (PublishingFlickrSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingFlickrPublishingParameters* parameters, gboolean strip_metadata); +PublishingFlickrUploader* publishing_flickr_uploader_construct (GType object_type, PublishingFlickrSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingFlickrPublishingParameters* parameters, gboolean strip_metadata); +static void _publishing_flickr_flickr_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +gint publishing_flickr_flickr_publisher_get_persistent_visibility (PublishingFlickrFlickrPublisher* self); +void publishing_flickr_flickr_publisher_set_persistent_visibility (PublishingFlickrFlickrPublisher* self, gint vis); +gint publishing_flickr_flickr_publisher_get_persistent_default_size (PublishingFlickrFlickrPublisher* self); +void publishing_flickr_flickr_publisher_set_persistent_default_size (PublishingFlickrFlickrPublisher* self, gint size); +static SpitPublishingService* publishing_flickr_flickr_publisher_real_get_service (SpitPublishingPublisher* base); +static gboolean publishing_flickr_flickr_publisher_real_is_running (SpitPublishingPublisher* base); +void publishing_flickr_session_authenticate_from_persistent_credentials (PublishingFlickrSession* self, const gchar* token, const gchar* secret, const gchar* username); +static void publishing_flickr_flickr_publisher_real_start (SpitPublishingPublisher* base); +static void publishing_flickr_flickr_publisher_real_stop (SpitPublishingPublisher* base); +static void publishing_flickr_flickr_publisher_finalize (GObject* obj); +#define PUBLISHING_FLICKR_PIN_ENTRY_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPanePrivate)) +enum { + PUBLISHING_FLICKR_PIN_ENTRY_PANE_DUMMY_PROPERTY +}; +static void publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed (PublishingFlickrPinEntryPane* self); +static void publishing_flickr_pin_entry_pane_on_continue_clicked (PublishingFlickrPinEntryPane* self); +static GtkWidget* publishing_flickr_pin_entry_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_flickr_pin_entry_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_flickr_pin_entry_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void _publishing_flickr_pin_entry_pane_on_continue_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_flickr_pin_entry_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__OBJECT_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_flickr_pin_entry_pane_finalize (GObject* obj); +enum { + PUBLISHING_FLICKR_TRANSACTION_DUMMY_PROPERTY +}; +PublishingFlickrTransaction* publishing_flickr_transaction_new (PublishingFlickrSession* session, PublishingRESTSupportHttpMethod method); +PublishingFlickrTransaction* publishing_flickr_transaction_construct (GType object_type, PublishingFlickrSession* session, PublishingRESTSupportHttpMethod method); +gchar* publishing_flickr_session_get_oauth_nonce (PublishingFlickrSession* self); +gchar* publishing_flickr_session_get_oauth_timestamp (PublishingFlickrSession* self); +PublishingFlickrTransaction* publishing_flickr_transaction_new_with_uri (PublishingFlickrSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method); +PublishingFlickrTransaction* publishing_flickr_transaction_construct_with_uri (GType object_type, PublishingFlickrSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method); +static void publishing_flickr_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +void publishing_flickr_session_sign_transaction (PublishingFlickrSession* self, PublishingRESTSupportTransaction* txn); +gchar* publishing_flickr_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc); +static gchar* _publishing_flickr_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self); +enum { + PUBLISHING_FLICKR_AUTHENTICATION_REQUEST_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_FLICKR_ACCESS_TOKEN_FETCH_TRANSACTION_DUMMY_PROPERTY +}; +gchar* publishing_flickr_session_get_request_phase_token (PublishingFlickrSession* self); +enum { + PUBLISHING_FLICKR_ACCOUNT_INFO_FETCH_TRANSACTION_DUMMY_PROPERTY +}; +GType publishing_flickr_upload_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_FLICKR_UPLOAD_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION, PublishingFlickrUploadTransactionPrivate)) +enum { + PUBLISHING_FLICKR_UPLOAD_TRANSACTION_DUMMY_PROPERTY +}; +PublishingFlickrUploadTransaction* publishing_flickr_upload_transaction_new (PublishingFlickrSession* session, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublishable* publishable); +PublishingFlickrUploadTransaction* publishing_flickr_upload_transaction_construct (GType object_type, PublishingFlickrSession* session, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublishable* publishable); +void publishing_flickr_upload_transaction_add_authorization_header_field (PublishingFlickrUploadTransaction* self, const gchar* key, const gchar* value); +static void _g_free0_ (gpointer var); +static void _vala_array_add18 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value); +PublishingRESTSupportArgument** publishing_flickr_upload_transaction_get_authorization_header_fields (PublishingFlickrUploadTransaction* self, int* result_length1); +static PublishingRESTSupportArgument** _vala_array_dup8 (PublishingRESTSupportArgument** self, int length); +gchar* publishing_flickr_upload_transaction_get_authorization_header_string (PublishingFlickrUploadTransaction* self); +static void publishing_flickr_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +static void publishing_flickr_upload_transaction_finalize (PublishingRESTSupportTransaction* obj); +#define PUBLISHING_FLICKR_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSessionPrivate)) +enum { + PUBLISHING_FLICKR_SESSION_DUMMY_PROPERTY +}; +static gboolean publishing_flickr_session_real_is_authenticated (PublishingRESTSupportSession* base); +static void _vala_array_add19 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value); +static void publishing_flickr_session_finalize (PublishingRESTSupportSession* obj); +static gpointer publishing_flickr_publishing_options_pane_visibility_entry_ref (gpointer instance); +static void publishing_flickr_publishing_options_pane_visibility_entry_unref (gpointer instance); +static GParamSpec* publishing_flickr_publishing_options_pane_param_spec_visibility_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void publishing_flickr_publishing_options_pane_value_set_visibility_entry (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void publishing_flickr_publishing_options_pane_value_take_visibility_entry (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer publishing_flickr_publishing_options_pane_value_get_visibility_entry (const GValue* value) G_GNUC_UNUSED; +static GType publishing_flickr_publishing_options_pane_visibility_entry_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static gpointer publishing_flickr_publishing_options_pane_size_entry_ref (gpointer instance); +static void publishing_flickr_publishing_options_pane_size_entry_unref (gpointer instance); +static GParamSpec* publishing_flickr_publishing_options_pane_param_spec_size_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void publishing_flickr_publishing_options_pane_value_set_size_entry (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void publishing_flickr_publishing_options_pane_value_take_size_entry (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer publishing_flickr_publishing_options_pane_value_get_size_entry (const GValue* value) G_GNUC_UNUSED; +static GType publishing_flickr_publishing_options_pane_size_entry_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPanePrivate)) +enum { + PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +static PublishingFlickrPublishingOptionsPaneVisibilityEntry** publishing_flickr_publishing_options_pane_create_visibilities (PublishingFlickrPublishingOptionsPane* self, int* result_length1); +static PublishingFlickrPublishingOptionsPaneSizeEntry** publishing_flickr_publishing_options_pane_create_sizes (PublishingFlickrPublishingOptionsPane* self, int* result_length1); +static void publishing_flickr_publishing_options_pane_populate_visibility_combo (PublishingFlickrPublishingOptionsPane* self); +static void publishing_flickr_publishing_options_pane_on_visibility_changed (PublishingFlickrPublishingOptionsPane* self); +static void _publishing_flickr_publishing_options_pane_on_visibility_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void publishing_flickr_publishing_options_pane_populate_size_combo (PublishingFlickrPublishingOptionsPane* self); +static void publishing_flickr_publishing_options_pane_on_size_changed (PublishingFlickrPublishingOptionsPane* self); +static void _publishing_flickr_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void publishing_flickr_publishing_options_pane_on_logout_clicked (PublishingFlickrPublishingOptionsPane* self); +static void _publishing_flickr_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_flickr_publishing_options_pane_on_publish_clicked (PublishingFlickrPublishingOptionsPane* self); +static void _publishing_flickr_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static PublishingFlickrPublishingOptionsPaneVisibilityEntry* publishing_flickr_publishing_options_pane_visibility_entry_new (const gchar* creator_title, PublishingFlickrVisibilitySpecification* creator_specification); +static PublishingFlickrPublishingOptionsPaneVisibilityEntry* publishing_flickr_publishing_options_pane_visibility_entry_construct (GType object_type, const gchar* creator_title, PublishingFlickrVisibilitySpecification* creator_specification); +static void _vala_array_add20 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value); +static void _vala_array_add21 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value); +static void _vala_array_add22 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value); +static void _vala_array_add23 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value); +static void _vala_array_add24 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value); +static PublishingFlickrPublishingOptionsPaneSizeEntry* publishing_flickr_publishing_options_pane_size_entry_new (const gchar* creator_title, gint creator_size); +static PublishingFlickrPublishingOptionsPaneSizeEntry* publishing_flickr_publishing_options_pane_size_entry_construct (GType object_type, const gchar* creator_title, gint creator_size); +static void _vala_array_add25 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value); +static void _vala_array_add26 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value); +static void _vala_array_add27 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value); +static void _vala_array_add28 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value); +static void _vala_array_add29 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value); +void publishing_flickr_publishing_options_pane_notify_publish (PublishingFlickrPublishingOptionsPane* self); +void publishing_flickr_publishing_options_pane_notify_logout (PublishingFlickrPublishingOptionsPane* self); +static GtkWidget* publishing_flickr_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_flickr_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_flickr_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void _publishing_flickr_publishing_options_pane_notify_publish_publishing_flickr_publishing_options_pane_publish (PublishingFlickrPublishingOptionsPane* _sender, gboolean strip_metadata, gpointer self); +static void _publishing_flickr_publishing_options_pane_notify_logout_publishing_flickr_publishing_options_pane_logout (PublishingFlickrPublishingOptionsPane* _sender, gpointer self); +static void publishing_flickr_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +enum { + PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_SIZE_ENTRY_DUMMY_PROPERTY +}; +static void publishing_flickr_publishing_options_pane_size_entry_finalize (PublishingFlickrPublishingOptionsPaneSizeEntry* obj); +enum { + PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_VISIBILITY_ENTRY_DUMMY_PROPERTY +}; +static void publishing_flickr_publishing_options_pane_visibility_entry_finalize (PublishingFlickrPublishingOptionsPaneVisibilityEntry* obj); +static void publishing_flickr_publishing_options_pane_finalize (GObject* obj); +#define PUBLISHING_FLICKR_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_FLICKR_TYPE_UPLOADER, PublishingFlickrUploaderPrivate)) +enum { + PUBLISHING_FLICKR_UPLOADER_DUMMY_PROPERTY +}; +static void publishing_flickr_uploader_preprocess_publishable (PublishingFlickrUploader* self, SpitPublishingPublishable* publishable); +static void _vala_array_add30 (gchar*** array, int* length, int* size, gchar* value); +static PublishingRESTSupportTransaction* publishing_flickr_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +static void publishing_flickr_uploader_finalize (PublishingRESTSupportBatchUploader* 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); + + +FlickrService* flickr_service_construct (GType object_type, GFile* resource_directory) { + FlickrService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (FlickrService*) g_object_new (object_type, NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = flickr_service_icon_pixbuf_set; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0__length1 = flickr_service_icon_pixbuf_set_length1; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp0_ == NULL) { +#line 791 "FlickrPublishing.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" FLICKR_SERVICE_ICON_FILENAME, &_tmp1_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + flickr_service_icon_pixbuf_set = (_vala_array_free (flickr_service_icon_pixbuf_set, flickr_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + flickr_service_icon_pixbuf_set = _tmp2_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + flickr_service_icon_pixbuf_set_length1 = _tmp1_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _flickr_service_icon_pixbuf_set_size_ = flickr_service_icon_pixbuf_set_length1; +#line 804 "FlickrPublishing.c" + } +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 808 "FlickrPublishing.c" +} + + +FlickrService* flickr_service_new (GFile* resource_directory) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return flickr_service_construct (TYPE_FLICKR_SERVICE, resource_directory); +#line 815 "FlickrPublishing.c" +} + + +static gint flickr_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + FlickrService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLICKR_SERVICE, FlickrService); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = min_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = max_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp2_; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 837 "FlickrPublishing.c" +} + + +static const gchar* flickr_service_real_get_id (SpitPluggable* base) { + FlickrService * self; + const gchar* result = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLICKR_SERVICE, FlickrService); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = "org.yorba.shotwell.publishing.flickr"; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 850 "FlickrPublishing.c" +} + + +static const gchar* flickr_service_real_get_pluggable_name (SpitPluggable* base) { + FlickrService * self; + const gchar* result = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLICKR_SERVICE, FlickrService); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = "Flickr"; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 863 "FlickrPublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 870 "FlickrPublishing.c" +} + + +static GdkPixbuf** _vala_array_dup7 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (i = 0; i < length; i++) { +#line 881 "FlickrPublishing.c" + GdkPixbuf* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result[i] = _tmp0_; +#line 887 "FlickrPublishing.c" + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 891 "FlickrPublishing.c" +} + + +static void flickr_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + FlickrService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLICKR_SERVICE, FlickrService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (info != NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = g_strdup ("Lucas Beeler"); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 ((*info).authors); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).authors = _tmp0_; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc."); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 ((*info).copyright); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).copyright = _tmp2_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 ((*info).translators); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).translators = _tmp3_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 ((*info).version); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).version = _tmp4_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 ((*info).website_name); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).website_name = _tmp5_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 ((*info).website_url); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).website_url = _tmp6_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 ((*info).license); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).license = _tmp7_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = flickr_service_icon_pixbuf_set; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8__length1 = flickr_service_icon_pixbuf_set_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup7 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).icons = _tmp9_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*info).icons_length1 = _tmp9__length1; +#line 973 "FlickrPublishing.c" +} + + +static void flickr_service_real_activation (SpitPluggable* base, gboolean enabled) { + FlickrService * self; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLICKR_SERVICE, FlickrService); +#line 981 "FlickrPublishing.c" +} + + +static SpitPublishingPublisher* flickr_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + FlickrService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingFlickrFlickrPublisher* _tmp1_ = NULL; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLICKR_SERVICE, FlickrService); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = host; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = publishing_flickr_flickr_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 1002 "FlickrPublishing.c" +} + + +static SpitPublishingPublisherMediaType flickr_service_real_get_supported_media (SpitPublishingService* base) { + FlickrService * self; + SpitPublishingPublisherMediaType result = 0; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLICKR_SERVICE, FlickrService); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 1015 "FlickrPublishing.c" +} + + +static void flickr_service_class_init (FlickrServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + flickr_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = flickr_service_finalize; +#line 1024 "FlickrPublishing.c" +} + + +static void flickr_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + flickr_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) flickr_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) flickr_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) flickr_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) flickr_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) flickr_service_real_activation; +#line 1041 "FlickrPublishing.c" +} + + +static void flickr_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + flickr_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) flickr_service_real_create_publisher; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) flickr_service_real_get_supported_media; +#line 1052 "FlickrPublishing.c" +} + + +static void flickr_service_instance_init (FlickrService * self) { +} + + +static void flickr_service_finalize (GObject* obj) { + FlickrService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FLICKR_SERVICE, FlickrService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (flickr_service_parent_class)->finalize (obj); +#line 1066 "FlickrPublishing.c" +} + + +GType flickr_service_get_type (void) { + static volatile gsize flickr_service_type_id__volatile = 0; + if (g_once_init_enter (&flickr_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FlickrServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flickr_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlickrService), 0, (GInstanceInitFunc) flickr_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) flickr_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) flickr_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType flickr_service_type_id; + flickr_service_type_id = g_type_register_static (G_TYPE_OBJECT, "FlickrService", &g_define_type_info, 0); + g_type_add_interface_static (flickr_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (flickr_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&flickr_service_type_id__volatile, flickr_service_type_id); + } + return flickr_service_type_id__volatile; +} + + +GType publishing_flickr_user_kind_get_type (void) { + static volatile gsize publishing_flickr_user_kind_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_user_kind_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_FLICKR_USER_KIND_PRO, "PUBLISHING_FLICKR_USER_KIND_PRO", "pro"}, {PUBLISHING_FLICKR_USER_KIND_FREE, "PUBLISHING_FLICKR_USER_KIND_FREE", "free"}, {0, NULL, NULL}}; + GType publishing_flickr_user_kind_type_id; + publishing_flickr_user_kind_type_id = g_enum_register_static ("PublishingFlickrUserKind", values); + g_once_init_leave (&publishing_flickr_user_kind_type_id__volatile, publishing_flickr_user_kind_type_id); + } + return publishing_flickr_user_kind_type_id__volatile; +} + + +PublishingFlickrVisibilitySpecification* publishing_flickr_visibility_specification_construct (GType object_type, gint friends_level, gint family_level, gint everyone_level) { + PublishingFlickrVisibilitySpecification* self = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrVisibilitySpecification*) g_type_create_instance (object_type); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = friends_level; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->friends_level = _tmp0_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = family_level; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->family_level = _tmp1_; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = everyone_level; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->everyone_level = _tmp2_; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 1119 "FlickrPublishing.c" +} + + +PublishingFlickrVisibilitySpecification* publishing_flickr_visibility_specification_new (gint friends_level, gint family_level, gint everyone_level) { +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_visibility_specification_construct (PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION, friends_level, family_level, everyone_level); +#line 1126 "FlickrPublishing.c" +} + + +static void publishing_flickr_value_visibility_specification_init (GValue* value) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1133 "FlickrPublishing.c" +} + + +static void publishing_flickr_value_visibility_specification_free_value (GValue* value) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (value->data[0].v_pointer) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_visibility_specification_unref (value->data[0].v_pointer); +#line 1142 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_value_visibility_specification_copy_value (const GValue* src_value, GValue* dest_value) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = publishing_flickr_visibility_specification_ref (src_value->data[0].v_pointer); +#line 1152 "FlickrPublishing.c" + } else { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1156 "FlickrPublishing.c" + } +} + + +static gpointer publishing_flickr_value_visibility_specification_peek_pointer (const GValue* value) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 1164 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_value_visibility_specification_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1171 "FlickrPublishing.c" + PublishingFlickrVisibilitySpecification* object; + object = collect_values[0].v_pointer; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1178 "FlickrPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 1182 "FlickrPublishing.c" + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = publishing_flickr_visibility_specification_ref (object); +#line 1186 "FlickrPublishing.c" + } else { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1190 "FlickrPublishing.c" + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 1194 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_value_visibility_specification_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFlickrVisibilitySpecification** object_p; + object_p = collect_values[0].v_pointer; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!object_p) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1205 "FlickrPublishing.c" + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!value->data[0].v_pointer) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = NULL; +#line 1211 "FlickrPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1215 "FlickrPublishing.c" + } else { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = publishing_flickr_visibility_specification_ref (value->data[0].v_pointer); +#line 1219 "FlickrPublishing.c" + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 1223 "FlickrPublishing.c" +} + + +GParamSpec* publishing_flickr_param_spec_visibility_specification (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFlickrParamSpecVisibilitySpecification* spec; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION), NULL); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1237 "FlickrPublishing.c" +} + + +gpointer publishing_flickr_value_get_visibility_specification (const GValue* value) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION), NULL); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 1246 "FlickrPublishing.c" +} + + +void publishing_flickr_value_set_visibility_specification (GValue* value, gpointer v_object) { + PublishingFlickrVisibilitySpecification* old; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION)); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION)); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_visibility_specification_ref (value->data[0].v_pointer); +#line 1266 "FlickrPublishing.c" + } else { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1270 "FlickrPublishing.c" + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_visibility_specification_unref (old); +#line 1276 "FlickrPublishing.c" + } +} + + +void publishing_flickr_value_take_visibility_specification (GValue* value, gpointer v_object) { + PublishingFlickrVisibilitySpecification* old; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION)); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION)); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1295 "FlickrPublishing.c" + } else { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1299 "FlickrPublishing.c" + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_visibility_specification_unref (old); +#line 1305 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_visibility_specification_class_init (PublishingFlickrVisibilitySpecificationClass * klass) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_visibility_specification_parent_class = g_type_class_peek_parent (klass); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingFlickrVisibilitySpecificationClass *) klass)->finalize = publishing_flickr_visibility_specification_finalize; +#line 1315 "FlickrPublishing.c" +} + + +static void publishing_flickr_visibility_specification_instance_init (PublishingFlickrVisibilitySpecification * self) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->ref_count = 1; +#line 1322 "FlickrPublishing.c" +} + + +static void publishing_flickr_visibility_specification_finalize (PublishingFlickrVisibilitySpecification* obj) { + PublishingFlickrVisibilitySpecification * self; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_VISIBILITY_SPECIFICATION, PublishingFlickrVisibilitySpecification); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_destroy (self); +#line 1332 "FlickrPublishing.c" +} + + +GType publishing_flickr_visibility_specification_get_type (void) { + static volatile gsize publishing_flickr_visibility_specification_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_visibility_specification_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_flickr_value_visibility_specification_init, publishing_flickr_value_visibility_specification_free_value, publishing_flickr_value_visibility_specification_copy_value, publishing_flickr_value_visibility_specification_peek_pointer, "p", publishing_flickr_value_visibility_specification_collect_value, "p", publishing_flickr_value_visibility_specification_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrVisibilitySpecificationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_visibility_specification_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrVisibilitySpecification), 0, (GInstanceInitFunc) publishing_flickr_visibility_specification_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 publishing_flickr_visibility_specification_type_id; + publishing_flickr_visibility_specification_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFlickrVisibilitySpecification", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_flickr_visibility_specification_type_id__volatile, publishing_flickr_visibility_specification_type_id); + } + return publishing_flickr_visibility_specification_type_id__volatile; +} + + +gpointer publishing_flickr_visibility_specification_ref (gpointer instance) { + PublishingFlickrVisibilitySpecification* self; + self = instance; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return instance; +#line 1357 "FlickrPublishing.c" +} + + +void publishing_flickr_visibility_specification_unref (gpointer instance) { + PublishingFlickrVisibilitySpecification* self; + self = instance; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_FLICKR_VISIBILITY_SPECIFICATION_GET_CLASS (self)->finalize (self); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1370 "FlickrPublishing.c" + } +} + + +PublishingFlickrPublishingParameters* publishing_flickr_publishing_parameters_construct (GType object_type) { + PublishingFlickrPublishingParameters* self = NULL; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrPublishingParameters*) g_type_create_instance (object_type); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 1381 "FlickrPublishing.c" +} + + +PublishingFlickrPublishingParameters* publishing_flickr_publishing_parameters_new (void) { +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_publishing_parameters_construct (PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS); +#line 1388 "FlickrPublishing.c" +} + + +static void publishing_flickr_value_publishing_parameters_init (GValue* value) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1395 "FlickrPublishing.c" +} + + +static void publishing_flickr_value_publishing_parameters_free_value (GValue* value) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (value->data[0].v_pointer) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_parameters_unref (value->data[0].v_pointer); +#line 1404 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_value_publishing_parameters_copy_value (const GValue* src_value, GValue* dest_value) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = publishing_flickr_publishing_parameters_ref (src_value->data[0].v_pointer); +#line 1414 "FlickrPublishing.c" + } else { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1418 "FlickrPublishing.c" + } +} + + +static gpointer publishing_flickr_value_publishing_parameters_peek_pointer (const GValue* value) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 1426 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_value_publishing_parameters_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1433 "FlickrPublishing.c" + PublishingFlickrPublishingParameters* object; + object = collect_values[0].v_pointer; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1440 "FlickrPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 1444 "FlickrPublishing.c" + } +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = publishing_flickr_publishing_parameters_ref (object); +#line 1448 "FlickrPublishing.c" + } else { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1452 "FlickrPublishing.c" + } +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 1456 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_value_publishing_parameters_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFlickrPublishingParameters** object_p; + object_p = collect_values[0].v_pointer; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!object_p) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1467 "FlickrPublishing.c" + } +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!value->data[0].v_pointer) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = NULL; +#line 1473 "FlickrPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1477 "FlickrPublishing.c" + } else { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = publishing_flickr_publishing_parameters_ref (value->data[0].v_pointer); +#line 1481 "FlickrPublishing.c" + } +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 1485 "FlickrPublishing.c" +} + + +GParamSpec* publishing_flickr_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFlickrParamSpecPublishingParameters* spec; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1499 "FlickrPublishing.c" +} + + +gpointer publishing_flickr_value_get_publishing_parameters (const GValue* value) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 1508 "FlickrPublishing.c" +} + + +void publishing_flickr_value_set_publishing_parameters (GValue* value, gpointer v_object) { + PublishingFlickrPublishingParameters* old; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS)); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS)); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_parameters_ref (value->data[0].v_pointer); +#line 1528 "FlickrPublishing.c" + } else { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1532 "FlickrPublishing.c" + } +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_parameters_unref (old); +#line 1538 "FlickrPublishing.c" + } +} + + +void publishing_flickr_value_take_publishing_parameters (GValue* value, gpointer v_object) { + PublishingFlickrPublishingParameters* old; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS)); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS)); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1557 "FlickrPublishing.c" + } else { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1561 "FlickrPublishing.c" + } +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_parameters_unref (old); +#line 1567 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_parameters_class_init (PublishingFlickrPublishingParametersClass * klass) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_parameters_parent_class = g_type_class_peek_parent (klass); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingFlickrPublishingParametersClass *) klass)->finalize = publishing_flickr_publishing_parameters_finalize; +#line 1577 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_parameters_instance_init (PublishingFlickrPublishingParameters * self) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->ref_count = 1; +#line 1584 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_parameters_finalize (PublishingFlickrPublishingParameters* obj) { + PublishingFlickrPublishingParameters * self; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_PUBLISHING_PARAMETERS, PublishingFlickrPublishingParameters); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_destroy (self); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->username); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (self->visibility_specification); +#line 1598 "FlickrPublishing.c" +} + + +GType publishing_flickr_publishing_parameters_get_type (void) { + static volatile gsize publishing_flickr_publishing_parameters_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_publishing_parameters_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_flickr_value_publishing_parameters_init, publishing_flickr_value_publishing_parameters_free_value, publishing_flickr_value_publishing_parameters_copy_value, publishing_flickr_value_publishing_parameters_peek_pointer, "p", publishing_flickr_value_publishing_parameters_collect_value, "p", publishing_flickr_value_publishing_parameters_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrPublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrPublishingParameters), 0, (GInstanceInitFunc) publishing_flickr_publishing_parameters_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 publishing_flickr_publishing_parameters_type_id; + publishing_flickr_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFlickrPublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_flickr_publishing_parameters_type_id__volatile, publishing_flickr_publishing_parameters_type_id); + } + return publishing_flickr_publishing_parameters_type_id__volatile; +} + + +gpointer publishing_flickr_publishing_parameters_ref (gpointer instance) { + PublishingFlickrPublishingParameters* self; + self = instance; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return instance; +#line 1623 "FlickrPublishing.c" +} + + +void publishing_flickr_publishing_parameters_unref (gpointer instance) { + PublishingFlickrPublishingParameters* self; + self = instance; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_FLICKR_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1636 "FlickrPublishing.c" + } +} + + +static void _publishing_flickr_flickr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated (PublishingRESTSupportSession* _sender, gpointer self) { +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_session_authenticated ((PublishingFlickrFlickrPublisher*) self); +#line 1644 "FlickrPublishing.c" +} + + +PublishingFlickrFlickrPublisher* publishing_flickr_flickr_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingFlickrFlickrPublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + PublishingFlickrSession* _tmp4_ = NULL; + PublishingFlickrPublishingParameters* _tmp5_ = NULL; + PublishingFlickrSession* _tmp6_ = NULL; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrFlickrPublisher*) g_object_new (object_type, NULL); +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:112: FlickrPublisher instantiated."); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = service; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->service); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->service = _tmp1_; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = host; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->host); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->host = _tmp3_; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = publishing_flickr_session_new (); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->session = _tmp4_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = publishing_flickr_publishing_parameters_new (); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->parameters = _tmp5_; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = self->priv->session; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), "authenticated", (GCallback) _publishing_flickr_flickr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated, self, 0); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 1699 "FlickrPublishing.c" +} + + +PublishingFlickrFlickrPublisher* publishing_flickr_flickr_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_flickr_publisher_construct (PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, service, host); +#line 1706 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_invalidate_persistent_session (PublishingFlickrFlickrPublisher* self) { +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_access_phase_token (self, ""); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_access_phase_token_secret (self, ""); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_access_phase_username (self, ""); +#line 1719 "FlickrPublishing.c" +} + + +static gboolean publishing_flickr_flickr_publisher_is_persistent_session_valid (PublishingFlickrFlickrPublisher* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self), FALSE); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_flickr_flickr_publisher_get_persistent_access_phase_username (self); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_ != NULL; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp3_); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp4_) { +#line 1742 "FlickrPublishing.c" + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = publishing_flickr_flickr_publisher_get_persistent_access_phase_token (self); +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = _tmp5_; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _tmp6_ != NULL; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp6_); +#line 1753 "FlickrPublishing.c" + } else { +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = FALSE; +#line 1757 "FlickrPublishing.c" + } +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp1_) { +#line 1761 "FlickrPublishing.c" + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = publishing_flickr_flickr_publisher_get_persistent_access_phase_token_secret (self); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp7_; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = _tmp8_ != NULL; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp8_); +#line 1772 "FlickrPublishing.c" + } else { +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = FALSE; +#line 1776 "FlickrPublishing.c" + } +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp0_; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 1782 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_flickr_publisher_get_persistent_access_phase_username (PublishingFlickrFlickrPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self), NULL); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_phase_username", NULL); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 1800 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_set_persistent_access_phase_username (PublishingFlickrFlickrPublisher* self, const gchar* username) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (username != NULL); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = username; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_phase_username", _tmp1_); +#line 1817 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_flickr_publisher_get_persistent_access_phase_token (PublishingFlickrFlickrPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self), NULL); +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_phase_token", NULL); +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 1835 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_set_persistent_access_phase_token (PublishingFlickrFlickrPublisher* self, const gchar* token) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (token != NULL); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = token; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_phase_token", _tmp1_); +#line 1852 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_flickr_publisher_get_persistent_access_phase_token_secret (PublishingFlickrFlickrPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self), NULL); +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_phase_token_secret", NULL); +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 1870 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_set_persistent_access_phase_token_secret (PublishingFlickrFlickrPublisher* self, const gchar* secret) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (secret != NULL); +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = secret; +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "access_phase_token_secret", _tmp1_); +#line 1887 "FlickrPublishing.c" +} + + +static gboolean publishing_flickr_flickr_publisher_get_persistent_strip_metadata (PublishingFlickrFlickrPublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self), FALSE); +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", FALSE); +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 1905 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_set_persistent_strip_metadata (PublishingFlickrFlickrPublisher* self, gboolean strip_metadata) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = strip_metadata; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", _tmp1_); +#line 1920 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_welcome_pane_login_clicked (PublishingFlickrFlickrPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->running; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp0_) { +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 1934 "FlickrPublishing.c" + } +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:173: EVENT: user clicked 'Login' button in the w" \ +"elcome pane"); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_run_authentication_request_transaction (self); +#line 1940 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_auth_request_txn_completed ((PublishingFlickrFlickrPublisher*) self, _sender); +#line 1947 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_auth_request_txn_error ((PublishingFlickrFlickrPublisher*) self, _sender, err); +#line 1954 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_auth_request_txn_completed (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + PublishingRESTSupportTransaction* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = txn; +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self); +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = txn; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 1992 "FlickrPublishing.c" + } +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = txn; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:185: EVENT: OAuth authentication request transac" \ +"tion completed; response = '%s'", _tmp7_); +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp7_); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = txn; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = publishing_rest_support_transaction_get_response (_tmp8_); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = _tmp9_; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_parse_token_info_from_auth_request (self, _tmp10_); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp10_); +#line 2014 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_auth_request_txn_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = txn; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = txn; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2048 "FlickrPublishing.c" + } +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:199: EVENT: OAuth authentication request transac" \ +"tion caused a network error"); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = self->priv->host; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = err; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp6_); +#line 2058 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_authentication_token_available (PublishingFlickrFlickrPublisher* self, const gchar* token, const gchar* token_secret) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingFlickrSession* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (token != NULL); +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (token_secret != NULL); +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = token; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = token_secret; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:204: EVENT: OAuth authentication token (%s) and " \ +"token secret (%s) available", _tmp0_, _tmp1_); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->session; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = token; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = token_secret; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_session_set_request_phase_credentials (_tmp2_, _tmp3_, _tmp4_); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = token; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_launch_system_browser (self, _tmp5_); +#line 2093 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_system_browser_launched (PublishingFlickrFlickrPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp0_) { +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2107 "FlickrPublishing.c" + } +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:216: EVENT: system browser launched."); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_show_pin_entry_pane (self); +#line 2113 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_pin_entry_proceed_publishing_flickr_pin_entry_pane_proceed (PublishingFlickrPinEntryPane* _sender, PublishingFlickrPinEntryPane* sender, const gchar* authorization_pin, gpointer self) { +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_pin_entry_proceed ((PublishingFlickrFlickrPublisher*) self, sender, authorization_pin); +#line 2120 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_pin_entry_proceed (PublishingFlickrFlickrPublisher* self, PublishingFlickrPinEntryPane* sender, const gchar* pin) { + PublishingFlickrPinEntryPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PIN_ENTRY_PANE (sender)); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (pin != NULL); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = sender; +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("proceed", PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, &_tmp1_, NULL, FALSE); +#line 222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_pin_entry_proceed_publishing_flickr_pin_entry_pane_proceed, self); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp2_) { +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2147 "FlickrPublishing.c" + } +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:227: EVENT: user clicked 'Continue' in PIN entry" \ +" pane."); +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = pin; +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_verify_pin (self, _tmp3_); +#line 2155 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed ((PublishingFlickrFlickrPublisher*) self, _sender); +#line 2162 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_access_token_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_access_token_fetch_error ((PublishingFlickrFlickrPublisher*) self, _sender, err); +#line 2169 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = txn; +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed, self); +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = txn; +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_access_token_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2204 "FlickrPublishing.c" + } +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:239: EVENT: fetching OAuth access token over the" \ +" network succeeded"); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = txn; +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_extract_access_phase_credentials_from_reponse (self, _tmp7_); +#line 241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp7_); +#line 2218 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_access_token_fetch_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = txn; +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed, self); +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = txn; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_access_token_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2252 "FlickrPublishing.c" + } +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:252: EVENT: fetching OAuth access token over the" \ +" network caused an error."); +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = self->priv->host; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = err; +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp6_); +#line 2262 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_session_authenticated (PublishingFlickrFlickrPublisher* self) { + gboolean _tmp0_ = FALSE; + PublishingFlickrPublishingParameters* _tmp1_ = NULL; + PublishingFlickrSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingFlickrSession* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingFlickrSession* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingFlickrSession* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 257 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp0_) { +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2288 "FlickrPublishing.c" + } +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:261: EVENT: a fully authenticated session has be" \ +"come available"); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->parameters; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->session; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishing_flickr_session_get_username (_tmp2_); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp1_->username); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_->username = _tmp3_; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = self->priv->session; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = publishing_flickr_session_get_access_phase_token (_tmp4_); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = _tmp5_; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_access_phase_token (self, _tmp6_); +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp6_); +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = self->priv->session; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = publishing_flickr_session_get_access_phase_token_secret (_tmp7_); +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _tmp8_; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_access_phase_token_secret (self, _tmp9_); +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp9_); +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = self->priv->session; +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = publishing_flickr_session_get_username (_tmp10_); +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = _tmp11_; +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_access_phase_username (self, _tmp12_); +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp12_); +#line 269 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_fetch_account_info (self); +#line 2334 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_account_fetch_txn_completed_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_account_fetch_txn_completed ((PublishingFlickrFlickrPublisher*) self, _sender); +#line 2341 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_account_fetch_txn_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_account_fetch_txn_error ((PublishingFlickrFlickrPublisher*) self, _sender, err); +#line 2348 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_account_fetch_txn_completed (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = txn; +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_account_fetch_txn_completed_publishing_rest_support_transaction_completed, self); +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = txn; +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_account_fetch_txn_error_publishing_rest_support_transaction_network_error, self); +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2383 "FlickrPublishing.c" + } +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:279: EVENT: account fetch transaction response r" \ +"eceived over the network"); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = txn; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_parse_account_info_from_xml (self, _tmp7_); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp7_); +#line 2397 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_account_fetch_txn_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportTransaction* txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = txn; +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_account_fetch_txn_completed_publishing_rest_support_transaction_completed, self); +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = txn; +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_account_fetch_txn_error_publishing_rest_support_transaction_network_error, self); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2431 "FlickrPublishing.c" + } +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:291: EVENT: account fetch transaction caused a n" \ +"etwork error"); +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = self->priv->host; +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = err; +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp6_); +#line 2441 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_account_info_available (PublishingFlickrFlickrPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp0_) { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2455 "FlickrPublishing.c" + } +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:299: EVENT: account information has become avail" \ +"able"); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_show_publishing_options_pane (self); +#line 2461 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_publishing_options_pane_publish_publishing_flickr_publishing_options_pane_publish (PublishingFlickrPublishingOptionsPane* _sender, gboolean strip_metadata, gpointer self) { +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_publishing_options_pane_publish ((PublishingFlickrFlickrPublisher*) self, strip_metadata); +#line 2468 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_publishing_options_pane_logout_publishing_flickr_publishing_options_pane_logout (PublishingFlickrPublishingOptionsPane* _sender, gpointer self) { +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_publishing_options_pane_logout ((PublishingFlickrFlickrPublisher*) self); +#line 2475 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_publishing_options_pane_publish (PublishingFlickrFlickrPublisher* self, gboolean strip_metadata) { + PublishingFlickrPublishingOptionsPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFlickrPublishingOptionsPane* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_publishing_options_pane_publish_publishing_flickr_publishing_options_pane_publish, self); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->publishing_options_pane; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_publishing_options_pane_logout_publishing_flickr_publishing_options_pane_logout, self); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2506 "FlickrPublishing.c" + } +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:310: EVENT: user clicked the 'Publish' button in" \ +" the publishing options pane"); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = strip_metadata; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_publish (self, _tmp5_); +#line 2514 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_publishing_options_pane_logout (PublishingFlickrFlickrPublisher* self) { + PublishingFlickrPublishingOptionsPane* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingFlickrPublishingOptionsPane* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->publishing_options_pane; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_publishing_options_pane_publish_publishing_flickr_publishing_options_pane_publish, self); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->publishing_options_pane; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp3_, NULL, FALSE); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_publishing_options_pane_logout_publishing_flickr_publishing_options_pane_logout, self); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp4_) { +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2544 "FlickrPublishing.c" + } +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:321: EVENT: user clicked the 'Logout' button in " \ +"the publishing options pane"); +#line 323 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_logout (self); +#line 2550 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_upload_status_updated (PublishingFlickrFlickrPublisher* self, gint file_number, gdouble completed_fraction) { + gboolean _tmp0_ = FALSE; + gdouble _tmp1_ = 0.0; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp0_) { +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2571 "FlickrPublishing.c" + } +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = completed_fraction; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:330: EVENT: uploader reports upload %.2f percent" \ +" complete.", 100.0 * _tmp1_); +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->progress_reporter; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp2_ != NULL, "progress_reporter != null"); +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = self->priv->progress_reporter; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = file_number; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = completed_fraction; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 2593 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_upload_complete ((PublishingFlickrFlickrPublisher*) self, _sender, num_photos_published); +#line 2600 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_upload_error ((PublishingFlickrFlickrPublisher*) self, _sender, err); +#line 2607 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_upload_complete (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportBatchUploader* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp0_) { +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2628 "FlickrPublishing.c" + } +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = num_published; +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:342: EVENT: uploader reports upload complete; %d" \ +" items published.", _tmp1_); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = uploader; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = uploader; +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp5_, NULL, FALSE); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_show_success_pane (self); +#line 2648 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_on_upload_error (PublishingFlickrFlickrPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err) { + gboolean _tmp0_ = FALSE; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportBatchUploader* _tmp3_ = NULL; + guint _tmp4_ = 0U; + PublishingRESTSupportBatchUploader* _tmp5_ = NULL; + guint _tmp6_ = 0U; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp0_) { +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2672 "FlickrPublishing.c" + } +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = err; +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _tmp1_->message; +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:355: EVENT: uploader reports upload error = '%s'" \ +".", _tmp2_); +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = uploader; +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp4_, NULL, FALSE); +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = uploader; +#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp6_, NULL, FALSE); +#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = self->priv->host; +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = err; +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 2698 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_welcome_pane_login_clicked_spit_publishing_login_callback (gpointer self) { +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_welcome_pane_login_clicked ((PublishingFlickrFlickrPublisher*) self); +#line 2705 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_show_login_welcome_pane (PublishingFlickrFlickrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:364: ACTION: installing login welcome pane"); +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->host; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_install_welcome_pane (_tmp1_, PUBLISHING_FLICKR_SERVICE_WELCOME_MESSAGE, _publishing_flickr_flickr_publisher_on_welcome_pane_login_clicked_spit_publishing_login_callback, self); +#line 2724 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_run_authentication_request_transaction (PublishingFlickrFlickrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingFlickrAuthenticationRequestTransaction* txn = NULL; + PublishingFlickrSession* _tmp3_ = NULL; + PublishingFlickrAuthenticationRequestTransaction* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:371: ACTION: running authentication request tran" \ +"saction"); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->host; +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _ ("Preparing for login..."); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp1_, _tmp2_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = self->priv->session; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = publishing_flickr_authentication_request_transaction_new (_tmp3_); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + txn = _tmp4_; +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_flickr_flickr_publisher_on_auth_request_txn_completed_publishing_rest_support_transaction_completed, self, 0); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_flickr_flickr_publisher_on_auth_request_txn_error_publishing_rest_support_transaction_network_error, self, 0); +#line 2760 "FlickrPublishing.c" + { +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2768 "FlickrPublishing.c" + goto __catch16_spit_publishing_publishing_error; + } +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2779 "FlickrPublishing.c" + } + } + goto __finally16; + __catch16_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + err = _inner_error_; +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = self->priv->host; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = err; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp6_); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 2800 "FlickrPublishing.c" + } + __finally16: +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 2813 "FlickrPublishing.c" + } +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 2817 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_parse_token_info_from_auth_request (PublishingFlickrFlickrPublisher* self, const gchar* response) { + const gchar* _tmp0_ = NULL; + gchar* oauth_token = NULL; + gchar* oauth_token_secret = NULL; + gchar** key_value_pairs = NULL; + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint key_value_pairs_length1 = 0; + gint _key_value_pairs_size_ = 0; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gboolean _tmp24_ = FALSE; + const gchar* _tmp25_ = NULL; + const gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (response != NULL); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = response; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:388: ACTION: parsing authorization request respo" \ +"nse '%s' into token and secret", _tmp0_); +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + oauth_token = NULL; +#line 391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + oauth_token_secret = NULL; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = response; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_ = g_strsplit (_tmp1_, "&", 0); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pairs = _tmp3_; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pairs_length1 = _vala_array_length (_tmp2_); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _key_value_pairs_size_ = key_value_pairs_length1; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = key_value_pairs; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4__length1 = key_value_pairs_length1; +#line 2863 "FlickrPublishing.c" + { + gchar** pair_collection = NULL; + gint pair_collection_length1 = 0; + gint _pair_collection_size_ = 0; + gint pair_it = 0; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + pair_collection = _tmp4_; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + pair_collection_length1 = _tmp4__length1; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (pair_it = 0; pair_it < _tmp4__length1; pair_it = pair_it + 1) { +#line 2875 "FlickrPublishing.c" + gchar* _tmp5_ = NULL; + gchar* pair = NULL; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = g_strdup (pair_collection[pair_it]); +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + pair = _tmp5_; +#line 2882 "FlickrPublishing.c" + { + gchar** split_pair = NULL; + const gchar* _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint split_pair_length1 = 0; + gint _split_pair_size_ = 0; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + const gchar* _tmp15_ = NULL; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = pair; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp7_ = g_strsplit (_tmp6_, "=", 0); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + split_pair = _tmp8_; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + split_pair_length1 = _vala_array_length (_tmp7_); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _split_pair_size_ = split_pair_length1; +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = split_pair; +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9__length1 = split_pair_length1; +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp9__length1 != 2) { +#line 2911 "FlickrPublishing.c" + SpitPublishingPluginHost* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = self->priv->host; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = response; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "'%s' isn't a valid response to an OAuth authentication request", _tmp11_); +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = _tmp12_; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp10_, _tmp13_); +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (_tmp13_); +#line 2928 "FlickrPublishing.c" + } +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = split_pair; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14__length1 = split_pair_length1; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = _tmp14_[0]; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp15_, "oauth_token") == 0) { +#line 2938 "FlickrPublishing.c" + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = split_pair; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16__length1 = split_pair_length1; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = _tmp16_[1]; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (oauth_token); +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + oauth_token = _tmp18_; +#line 2955 "FlickrPublishing.c" + } else { + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + const gchar* _tmp20_ = NULL; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = split_pair; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19__length1 = split_pair_length1; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = _tmp19_[0]; +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp20_, "oauth_token_secret") == 0) { +#line 2968 "FlickrPublishing.c" + gchar** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = split_pair; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21__length1 = split_pair_length1; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = _tmp21_[1]; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (oauth_token_secret); +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + oauth_token_secret = _tmp23_; +#line 2985 "FlickrPublishing.c" + } + } +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + split_pair = (_vala_array_free (split_pair, split_pair_length1, (GDestroyNotify) g_free), NULL); +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (pair); +#line 2992 "FlickrPublishing.c" + } + } + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = oauth_token; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp25_ == NULL) { +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = TRUE; +#line 3002 "FlickrPublishing.c" + } else { + const gchar* _tmp26_ = NULL; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = oauth_token_secret; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = _tmp26_ == NULL; +#line 3009 "FlickrPublishing.c" + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp24_) { +#line 3013 "FlickrPublishing.c" + SpitPublishingPluginHost* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GError* _tmp29_ = NULL; + GError* _tmp30_ = NULL; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = self->priv->host; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = response; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "'%s' isn't a valid response to an OAuth authentication request", _tmp28_); +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp30_ = _tmp29_; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp27_, _tmp30_); +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (_tmp30_); +#line 3030 "FlickrPublishing.c" + } +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp31_ = oauth_token; +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp32_ = oauth_token_secret; +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_authentication_token_available (self, _tmp31_, _tmp32_); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pairs = (_vala_array_free (key_value_pairs, key_value_pairs_length1, (GDestroyNotify) g_free), NULL); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (oauth_token_secret); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (oauth_token); +#line 3044 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_launch_system_browser (PublishingFlickrFlickrPublisher* self, const gchar* token) { + gchar* login_uri = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (token != NULL); +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = token; +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = g_strconcat ("https://www.flickr.com/services/oauth/authorize?oauth_token=", _tmp0_, NULL); +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _tmp1_; +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = g_strconcat (_tmp2_, "&perms=write", NULL); +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_; +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp2_); +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + login_uri = _tmp4_; +#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = login_uri; +#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:419: ACTION: launching system browser with uri =" \ +" '%s'", _tmp5_); +#line 3079 "FlickrPublishing.c" + { + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = login_uri; +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = g_strconcat ("xdg-open ", _tmp6_, NULL); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp7_; +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_spawn_command_line_async (_tmp8_, &_inner_error_); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp8_); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == G_SPAWN_ERROR) { +#line 3098 "FlickrPublishing.c" + goto __catch17_g_spawn_error; + } +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (login_uri); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3109 "FlickrPublishing.c" + } + } + goto __finally17; + __catch17_g_spawn_error: + { + GError* e = NULL; + SpitPublishingPluginHost* _tmp9_ = NULL; + GError* _tmp10_ = NULL; + GError* _tmp11_ = NULL; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + e = _inner_error_; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = self->priv->host; +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, "couldn't launch system web browser to complete Flickr login"); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _tmp10_; +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp9_, _tmp11_); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (_tmp11_); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (e); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (login_uri); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3139 "FlickrPublishing.c" + } + __finally17: +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (login_uri); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3152 "FlickrPublishing.c" + } +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_system_browser_launched (self); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (login_uri); +#line 3158 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_show_pin_entry_pane (PublishingFlickrFlickrPublisher* self) { + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + PublishingFlickrPinEntryPane* pin_entry_pane = NULL; + GtkBuilder* _tmp8_ = NULL; + PublishingFlickrPinEntryPane* _tmp9_ = NULL; + PublishingFlickrPinEntryPane* _tmp10_ = NULL; + SpitPublishingPluginHost* _tmp11_ = NULL; + PublishingFlickrPinEntryPane* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:433: ACTION: showing PIN entry pane"); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = gtk_builder_new (); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + builder = _tmp0_; +#line 3180 "FlickrPublishing.c" + { + GtkBuilder* _tmp1_ = NULL; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = builder; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_builder_add_from_resource (_tmp1_, PLUGIN_RESOURCE_PATH "/" "flickr_pin_entry_pane.ui", &_inner_error_); +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3189 "FlickrPublishing.c" + goto __catch18_g_error; + } + } + goto __finally18; + __catch18_g_error: + { + GError* e = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + e = _inner_error_; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = e; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_->message; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_warning ("FlickrPublishing.vala:441: Could not parse UI file! Error: %s.", _tmp3_); +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = self->priv->host; +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _ ("A file required for publishing is unavailable. Publishing to Flickr ca" \ +"n't continue."); +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp5_); +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp7_); +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (_tmp7_); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (e); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (builder); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3231 "FlickrPublishing.c" + } + __finally18: +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (builder); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3244 "FlickrPublishing.c" + } +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = builder; +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = publishing_flickr_pin_entry_pane_new (_tmp8_); +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + pin_entry_pane = _tmp9_; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = pin_entry_pane; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (_tmp10_, "proceed", (GCallback) _publishing_flickr_flickr_publisher_on_pin_entry_proceed_publishing_flickr_pin_entry_pane_proceed, self, 0); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = self->priv->host; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = pin_entry_pane; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (pin_entry_pane); +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (builder); +#line 3266 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_verify_pin (PublishingFlickrFlickrPublisher* self, const gchar* pin) { + const gchar* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + PublishingFlickrAccessTokenFetchTransaction* txn = NULL; + PublishingFlickrSession* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PublishingFlickrAccessTokenFetchTransaction* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (pin != NULL); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = pin; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:454: ACTION: validating authorization PIN %s", _tmp0_); +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->host; +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, TRUE); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->host; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _ ("Verifying authorization..."); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp2_, _tmp3_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = self->priv->session; +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = pin; +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = publishing_flickr_access_token_fetch_transaction_new (_tmp4_, _tmp5_); +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + txn = _tmp6_; +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_flickr_flickr_publisher_on_access_token_fetch_txn_completed_publishing_rest_support_transaction_completed, self, 0); +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_flickr_flickr_publisher_on_access_token_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 3310 "FlickrPublishing.c" + { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3318 "FlickrPublishing.c" + goto __catch19_spit_publishing_publishing_error; + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3329 "FlickrPublishing.c" + } + } + goto __finally19; + __catch19_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + err = _inner_error_; +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = self->priv->host; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = err; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 3350 "FlickrPublishing.c" + } + __finally19: +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3363 "FlickrPublishing.c" + } +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 3367 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_extract_access_phase_credentials_from_reponse (PublishingFlickrFlickrPublisher* self, const gchar* response) { + const gchar* _tmp0_ = NULL; + gchar** key_value_pairs = NULL; + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint key_value_pairs_length1 = 0; + gint _key_value_pairs_size_ = 0; + gchar* token = NULL; + gchar* token_secret = NULL; + gchar* username = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + const gchar* _tmp30_ = NULL; + PublishingFlickrSession* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (response != NULL); +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = response; +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:471: ACTION: extracting access phase credentials" \ +" from '%s'", _tmp0_); +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = response; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_ = g_strsplit (_tmp1_, "&", 0); +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pairs = _tmp3_; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pairs_length1 = _vala_array_length (_tmp2_); +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _key_value_pairs_size_ = key_value_pairs_length1; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + token = NULL; +#line 476 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + token_secret = NULL; +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + username = NULL; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = key_value_pairs; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4__length1 = key_value_pairs_length1; +#line 3422 "FlickrPublishing.c" + { + gchar** key_value_pair_collection = NULL; + gint key_value_pair_collection_length1 = 0; + gint _key_value_pair_collection_size_ = 0; + gint key_value_pair_it = 0; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pair_collection = _tmp4_; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pair_collection_length1 = _tmp4__length1; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (key_value_pair_it = 0; key_value_pair_it < _tmp4__length1; key_value_pair_it = key_value_pair_it + 1) { +#line 3434 "FlickrPublishing.c" + gchar* _tmp5_ = NULL; + gchar* key_value_pair = NULL; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = g_strdup (key_value_pair_collection[key_value_pair_it]); +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pair = _tmp5_; +#line 3441 "FlickrPublishing.c" + { + gchar** split_pair = NULL; + const gchar* _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint split_pair_length1 = 0; + gint _split_pair_size_ = 0; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar* key = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* value = NULL; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = key_value_pair; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp7_ = g_strsplit (_tmp6_, "=", 0); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + split_pair = _tmp8_; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + split_pair_length1 = _vala_array_length (_tmp7_); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _split_pair_size_ = split_pair_length1; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = split_pair; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9__length1 = split_pair_length1; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp9__length1 != 2) { +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + split_pair = (_vala_array_free (split_pair, split_pair_length1, (GDestroyNotify) g_free), NULL); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (key_value_pair); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + continue; +#line 3484 "FlickrPublishing.c" + } +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = split_pair; +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10__length1 = split_pair_length1; +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _tmp10_[0]; +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key = _tmp12_; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = split_pair; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13__length1 = split_pair_length1; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = _tmp13_[1]; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value = _tmp15_; +#line 487 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = key; +#line 487 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp16_, "oauth_token") == 0) { +#line 3510 "FlickrPublishing.c" + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = value; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (token); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + token = _tmp18_; +#line 3521 "FlickrPublishing.c" + } else { + const gchar* _tmp19_ = NULL; +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = key; +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp19_, "oauth_token_secret") == 0) { +#line 3528 "FlickrPublishing.c" + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = value; +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (token_secret); +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + token_secret = _tmp21_; +#line 3539 "FlickrPublishing.c" + } else { + const gchar* _tmp22_ = NULL; +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = key; +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp22_, "username") == 0) { +#line 3546 "FlickrPublishing.c" + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = value; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = g_strdup (_tmp23_); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (username); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + username = _tmp24_; +#line 3557 "FlickrPublishing.c" + } + } + } +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (value); +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (key); +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + split_pair = (_vala_array_free (split_pair, split_pair_length1, (GDestroyNotify) g_free), NULL); +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (key_value_pair); +#line 3569 "FlickrPublishing.c" + } + } + } +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = token; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = token_secret; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = username; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:495: access phase credentials: { token = '%s'; t" \ +"oken_secret = '%s'; username = '%s' }", _tmp25_, _tmp26_, _tmp27_); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp30_ = token; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp30_ == NULL) { +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = TRUE; +#line 3587 "FlickrPublishing.c" + } else { + const gchar* _tmp31_ = NULL; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp31_ = token_secret; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = _tmp31_ == NULL; +#line 3594 "FlickrPublishing.c" + } +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp29_) { +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = TRUE; +#line 3600 "FlickrPublishing.c" + } else { + const gchar* _tmp32_ = NULL; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp32_ = username; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = _tmp32_ == NULL; +#line 3607 "FlickrPublishing.c" + } +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp28_) { +#line 3611 "FlickrPublishing.c" + SpitPublishingPluginHost* _tmp33_ = NULL; + GError* _tmp34_ = NULL; + GError* _tmp35_ = NULL; +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp33_ = self->priv->host; +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp34_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "expected " "access phase credentials to contain token, token secret, and username " \ +"but at " "least one of these is absent"); +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp35_ = _tmp34_; +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp33_, _tmp35_); +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (_tmp35_); +#line 3625 "FlickrPublishing.c" + } +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp36_ = self->priv->session; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp37_ = token; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp38_ = token_secret; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp39_ = username; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_session_set_access_phase_credentials (_tmp36_, _tmp37_, _tmp38_, _tmp39_); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (username); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (token_secret); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (token); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + key_value_pairs = (_vala_array_free (key_value_pairs, key_value_pairs_length1, (GDestroyNotify) g_free), NULL); +#line 3645 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_fetch_account_info (PublishingFlickrFlickrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingFlickrAccountInfoFetchTransaction* txn = NULL; + PublishingFlickrSession* _tmp2_ = NULL; + PublishingFlickrAccountInfoFetchTransaction* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:507: ACTION: running network transaction to fetc" \ +"h account information"); +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->host; +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_); +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->session; +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishing_flickr_account_info_fetch_transaction_new (_tmp2_); +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + txn = _tmp3_; +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_flickr_flickr_publisher_on_account_fetch_txn_completed_publishing_rest_support_transaction_completed, self, 0); +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_flickr_flickr_publisher_on_account_fetch_txn_error_publishing_rest_support_transaction_network_error, self, 0); +#line 3678 "FlickrPublishing.c" + { +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (txn, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3686 "FlickrPublishing.c" + goto __catch20_spit_publishing_publishing_error; + } +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3697 "FlickrPublishing.c" + } + } + goto __finally20; + __catch20_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + err = _inner_error_; +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = self->priv->host; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = err; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp5_); +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 3718 "FlickrPublishing.c" + } + __finally20: +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3731 "FlickrPublishing.c" + } +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (txn); +#line 3735 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_parse_account_info_from_xml (PublishingFlickrFlickrPublisher* self, const gchar* xml) { + const gchar* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 523 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 523 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (xml != NULL); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = xml; +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:524: ACTION: parsing account information from xm" \ +"l = '%s'", _tmp0_); +#line 3750 "FlickrPublishing.c" + { + PublishingRESTSupportXmlDocument* response_doc = NULL; + const gchar* _tmp1_ = NULL; + PublishingRESTSupportXmlDocument* _tmp2_ = NULL; + xmlNode* root_node = NULL; + PublishingRESTSupportXmlDocument* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; + xmlNode* user_node = NULL; + PublishingRESTSupportXmlDocument* _tmp5_ = NULL; + xmlNode* _tmp6_ = NULL; + xmlNode* _tmp7_ = NULL; + gchar* is_pro_str = NULL; + PublishingRESTSupportXmlDocument* _tmp8_ = NULL; + xmlNode* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + xmlNode* bandwidth_node = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + xmlNode* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + gchar* remaining_kb_str = NULL; + PublishingRESTSupportXmlDocument* _tmp14_ = NULL; + xmlNode* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + PublishingFlickrUserKind user_kind = 0; + const gchar* _tmp17_ = NULL; + gint quota_mb_left = 0; + const gchar* _tmp20_ = NULL; + gint _tmp21_ = 0; + PublishingFlickrPublishingParameters* _tmp22_ = NULL; + gint _tmp23_ = 0; + PublishingFlickrPublishingParameters* _tmp24_ = NULL; + PublishingFlickrUserKind _tmp25_ = 0; +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = xml; +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_flickr_transaction_parse_flickr_response (_tmp1_, &_inner_error_); +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + response_doc = _tmp2_; +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3793 "FlickrPublishing.c" + goto __catch21_spit_publishing_publishing_error; + } +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3802 "FlickrPublishing.c" + } +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = response_doc; +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = publishing_rest_support_xml_document_get_root_node (_tmp3_); +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + root_node = _tmp4_; +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = response_doc; +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = root_node; +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = publishing_rest_support_xml_document_get_named_child (_tmp5_, _tmp6_, "user", &_inner_error_); +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + user_node = _tmp7_; +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3824 "FlickrPublishing.c" + goto __catch21_spit_publishing_publishing_error; + } +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3835 "FlickrPublishing.c" + } +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = response_doc; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = user_node; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_get_property_value (_tmp8_, _tmp9_, "ispro", &_inner_error_); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + is_pro_str = _tmp10_; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3851 "FlickrPublishing.c" + goto __catch21_spit_publishing_publishing_error; + } +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3862 "FlickrPublishing.c" + } +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = response_doc; +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = user_node; +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = publishing_rest_support_xml_document_get_named_child (_tmp11_, _tmp12_, "bandwidth", &_inner_error_); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + bandwidth_node = _tmp13_; +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (is_pro_str); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3880 "FlickrPublishing.c" + goto __catch21_spit_publishing_publishing_error; + } +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (is_pro_str); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3893 "FlickrPublishing.c" + } +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = response_doc; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = bandwidth_node; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = publishing_rest_support_xml_document_get_property_value (_tmp14_, _tmp15_, "remainingkb", &_inner_error_); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + remaining_kb_str = _tmp16_; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (is_pro_str); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3911 "FlickrPublishing.c" + goto __catch21_spit_publishing_publishing_error; + } +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (is_pro_str); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3924 "FlickrPublishing.c" + } +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = is_pro_str; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp17_, "0") == 0) { +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + user_kind = PUBLISHING_FLICKR_USER_KIND_FREE; +#line 3932 "FlickrPublishing.c" + } else { + const gchar* _tmp18_ = NULL; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = is_pro_str; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp18_, "1") == 0) { +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + user_kind = PUBLISHING_FLICKR_USER_KIND_PRO; +#line 3941 "FlickrPublishing.c" + } else { + GError* _tmp19_ = NULL; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "Unable to determine if user has free or pro account"); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = _tmp19_; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (remaining_kb_str); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (is_pro_str); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3956 "FlickrPublishing.c" + goto __catch21_spit_publishing_publishing_error; + } +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (remaining_kb_str); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (is_pro_str); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 3971 "FlickrPublishing.c" + } + } +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = remaining_kb_str; +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = atoi (_tmp20_); +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + quota_mb_left = _tmp21_ / 1024; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = self->priv->parameters; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = quota_mb_left; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_->quota_free_mb = _tmp23_; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = self->priv->parameters; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = user_kind; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_->user_kind = _tmp25_; +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (remaining_kb_str); +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (is_pro_str); +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 3998 "FlickrPublishing.c" + } + goto __finally21; + __catch21_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp26_ = NULL; + SpitPublishingPluginHost* _tmp27_ = NULL; + GError* _tmp28_ = NULL; +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + err = _inner_error_; +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = err; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_error_matches (_tmp26_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION)) { +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_logout (self); +#line 557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 4021 "FlickrPublishing.c" + } +#line 560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = self->priv->host; +#line 560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = err; +#line 560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp27_, _tmp28_); +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 4033 "FlickrPublishing.c" + } + __finally21: +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 4044 "FlickrPublishing.c" + } +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_account_info_available (self); +#line 4048 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_logout (PublishingFlickrFlickrPublisher* self) { + PublishingFlickrSession* _tmp0_ = NULL; +#line 567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:568: ACTION: logging user out, deauthenticating " \ +"session, and erasing stored credentials"); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->session; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_session_deauthenticate (_tmp0_); +#line 571 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_invalidate_persistent_session (self); +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->running = FALSE; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_attempt_start (self); +#line 4068 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_show_publishing_options_pane (PublishingFlickrFlickrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp1_ = NULL; + PublishingFlickrPublishingParameters* _tmp9_ = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + SpitPublishingPublisherMediaType _tmp11_ = 0; + GtkBuilder* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + PublishingFlickrPublishingOptionsPane* _tmp14_ = NULL; + PublishingFlickrPublishingOptionsPane* _tmp15_ = NULL; + PublishingFlickrPublishingOptionsPane* _tmp16_ = NULL; + SpitPublishingPluginHost* _tmp17_ = NULL; + PublishingFlickrPublishingOptionsPane* _tmp18_ = NULL; + GError * _inner_error_ = NULL; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:579: ACTION: displaying publishing options pane"); +#line 581 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 581 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = gtk_builder_new (); +#line 583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + builder = _tmp1_; +#line 4099 "FlickrPublishing.c" + { + GtkBuilder* _tmp2_ = NULL; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = builder; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_builder_add_from_resource (_tmp2_, PLUGIN_RESOURCE_PATH "/" "flickr_publishing_options_pane.ui", &_inner_error_); +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4108 "FlickrPublishing.c" + goto __catch22_g_error; + } + } + goto __finally22; + __catch22_g_error: + { + GError* e = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + SpitPublishingPluginHost* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + e = _inner_error_; +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = e; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_->message; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_warning ("FlickrPublishing.vala:591: Could not parse UI file! Error: %s.", _tmp4_); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = self->priv->host; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = _ ("A file required for publishing is unavailable. Publishing to Flickr ca" \ +"n't continue."); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp6_); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp7_; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp5_, _tmp8_); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (_tmp8_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (e); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (builder); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 4150 "FlickrPublishing.c" + } + __finally22: +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (builder); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 4163 "FlickrPublishing.c" + } +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = self->priv->parameters; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = self->priv->host; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = spit_publishing_plugin_host_get_publishable_media_type (_tmp10_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = builder; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = publishing_flickr_flickr_publisher_get_persistent_strip_metadata (self); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = publishing_flickr_publishing_options_pane_new (self, _tmp9_, _tmp11_, _tmp12_, _tmp13_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->publishing_options_pane); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->publishing_options_pane = _tmp14_; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = self->priv->publishing_options_pane; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (_tmp15_, "publish", (GCallback) _publishing_flickr_flickr_publisher_on_publishing_options_pane_publish_publishing_flickr_publishing_options_pane_publish, self, 0); +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = self->priv->publishing_options_pane; +#line 601 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (_tmp16_, "logout", (GCallback) _publishing_flickr_flickr_publisher_on_publishing_options_pane_logout_publishing_flickr_publishing_options_pane_logout, self, 0); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = self->priv->host; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = self->priv->publishing_options_pane; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (builder); +#line 4197 "FlickrPublishing.c" +} + + +gint publishing_flickr_flickr_publisher_flickr_date_time_compare_func (SpitPublishingPublishable* a, SpitPublishingPublishable* b) { + gint result = 0; + SpitPublishingPublishable* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; + GDateTime* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + GDateTime* _tmp4_ = NULL; + GDateTime* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (a), 0); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (b), 0); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = a; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_publishing_publishable_get_exposure_date_time (_tmp0_); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _tmp1_; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = b; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = spit_publishing_publishable_get_exposure_date_time (_tmp3_); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_date_time_compare (_tmp2_, _tmp5_); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_date_time_unref0 (_tmp5_); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_date_time_unref0 (_tmp2_); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp7_; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4239 "FlickrPublishing.c" +} + + +static gint _publishing_flickr_flickr_publisher_flickr_date_time_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = publishing_flickr_flickr_publisher_flickr_date_time_compare_func ((SpitPublishingPublishable*) a, (SpitPublishingPublishable*) b); +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4248 "FlickrPublishing.c" +} + + +static void _publishing_flickr_flickr_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_on_upload_status_updated ((PublishingFlickrFlickrPublisher*) self, file_number, fraction_complete); +#line 4255 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_publish (PublishingFlickrFlickrPublisher* self, gboolean strip_metadata) { + gboolean _tmp0_ = FALSE; + SpitPublishingPluginHost* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + PublishingFlickrPublishingParameters* _tmp3_ = NULL; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + void* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + SpitPublishingProgressCallback _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + gint _tmp11_ = 0; + SpitPublishingPublishable** _tmp12_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + GeeArrayList* sorted_list = NULL; + GeeArrayList* _tmp13_ = NULL; + SpitPublishingPublishable** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + GeeArrayList* _tmp18_ = NULL; + PublishingFlickrUploader* uploader = NULL; + PublishingFlickrSession* _tmp19_ = NULL; + GeeArrayList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gpointer* _tmp22_ = NULL; + SpitPublishingPublishable** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + PublishingFlickrPublishingParameters* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + PublishingFlickrUploader* _tmp26_ = NULL; + PublishingFlickrUploader* _tmp27_ = NULL; + PublishingFlickrUploader* _tmp28_ = NULL; + PublishingFlickrUploader* _tmp29_ = NULL; + PublishingFlickrUploader* _tmp30_ = NULL; +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = strip_metadata; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_strip_metadata (self, _tmp0_); +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:612: ACTION: uploading media items to remote ser" \ +"ver."); +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->host; +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, TRUE); +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->host; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = self->priv->parameters; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_->photo_major_axis_size; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = strip_metadata; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = spit_publishing_plugin_host_serialize_publishables (_tmp2_, _tmp4_, _tmp5_, &_tmp6_, &_tmp7_); +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter = NULL; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter = _tmp8_; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter_target = _tmp6_; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp7_; +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp9_) { +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 4337 "FlickrPublishing.c" + } +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = self->priv->host; +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = spit_publishing_plugin_host_get_publishables (_tmp10_, &_tmp11_); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishables = _tmp12_; +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishables_length1 = _tmp11_; +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishables_size_ = publishables_length1; +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = gee_array_list_new (SPIT_PUBLISHING_TYPE_PUBLISHABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + sorted_list = _tmp13_; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = publishables; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14__length1 = publishables_length1; +#line 4357 "FlickrPublishing.c" + { + SpitPublishingPublishable** p_collection = NULL; + gint p_collection_length1 = 0; + gint _p_collection_size_ = 0; + gint p_it = 0; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + p_collection = _tmp14_; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + p_collection_length1 = _tmp14__length1; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (p_it = 0; p_it < _tmp14__length1; p_it = p_it + 1) { +#line 4369 "FlickrPublishing.c" + SpitPublishingPublishable* _tmp15_ = NULL; + SpitPublishingPublishable* p = NULL; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = _g_object_ref0 (p_collection[p_it]); +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + p = _tmp15_; +#line 4376 "FlickrPublishing.c" + { + GeeArrayList* _tmp16_ = NULL; + SpitPublishingPublishable* _tmp17_ = NULL; +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = sorted_list; +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = p; +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (p); +#line 4388 "FlickrPublishing.c" + } + } + } +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = sorted_list; +#line 631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gee_list_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_LIST, GeeList), _publishing_flickr_flickr_publisher_flickr_date_time_compare_func_gcompare_data_func, NULL, NULL); +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = self->priv->session; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = sorted_list; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp21_); +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = _tmp22_; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23__length1 = _tmp21_; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = self->priv->parameters; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = strip_metadata; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = publishing_flickr_uploader_new (_tmp19_, _tmp23_, _tmp21_, _tmp24_, _tmp25_); +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = _tmp26_; +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = (_vala_array_free (_tmp23_, _tmp23__length1, (GDestroyNotify) g_object_unref), NULL); +#line 633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + uploader = _tmp27_; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = uploader; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_flickr_flickr_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = uploader; +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_flickr_flickr_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp30_ = uploader; +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_flickr_flickr_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (sorted_list); +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 4436 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_do_show_success_pane (PublishingFlickrFlickrPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:640: ACTION: showing success pane."); +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->host; +#line 643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp1_); +#line 4455 "FlickrPublishing.c" +} + + +gint publishing_flickr_flickr_publisher_get_persistent_visibility (PublishingFlickrFlickrPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self), 0); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "visibility", 0); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4473 "FlickrPublishing.c" +} + + +void publishing_flickr_flickr_publisher_set_persistent_visibility (PublishingFlickrFlickrPublisher* self, gint vis) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = vis; +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "visibility", _tmp1_); +#line 4488 "FlickrPublishing.c" +} + + +gint publishing_flickr_flickr_publisher_get_persistent_default_size (PublishingFlickrFlickrPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self), 0); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", 1); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4506 "FlickrPublishing.c" +} + + +void publishing_flickr_flickr_publisher_set_persistent_default_size (PublishingFlickrFlickrPublisher* self, gint size) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->host; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = size; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default_size", _tmp1_); +#line 4521 "FlickrPublishing.c" +} + + +static SpitPublishingService* publishing_flickr_flickr_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingFlickrFlickrPublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisher); +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->service; +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4540 "FlickrPublishing.c" +} + + +static gboolean publishing_flickr_flickr_publisher_real_is_running (SpitPublishingPublisher* base) { + PublishingFlickrFlickrPublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisher); +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->running; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp0_; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4556 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_attempt_start (PublishingFlickrFlickrPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (self)); +#line 673 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->running = TRUE; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->was_started = TRUE; +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = publishing_flickr_flickr_publisher_is_persistent_session_valid (self); +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp0_) { +#line 4572 "FlickrPublishing.c" + PublishingFlickrSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 677 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:677: attempt start: a persistent session is avai" \ +"lable; using it"); +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->session; +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_flickr_flickr_publisher_get_persistent_access_phase_token (self); +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_; +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = publishing_flickr_flickr_publisher_get_persistent_access_phase_token_secret (self); +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_; +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = publishing_flickr_flickr_publisher_get_persistent_access_phase_username (self); +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_session_authenticate_from_persistent_credentials (_tmp1_, _tmp3_, _tmp5_, _tmp7_); +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp7_); +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp5_); +#line 679 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp3_); +#line 4604 "FlickrPublishing.c" + } else { +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:682: attempt start: no persistent session availa" \ +"ble; showing login welcome pane"); +#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_do_show_login_welcome_pane (self); +#line 4610 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_flickr_publisher_real_start (SpitPublishingPublisher* base) { + PublishingFlickrFlickrPublisher * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 688 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisher); +#line 689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp0_) { +#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 4627 "FlickrPublishing.c" + } +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->was_started; +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp1_) { +#line 693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_error ("FlickrPublishing.vala:693: FlickrPublisher: start( ): can't start; thi" \ +"s publisher is not restartable."); +#line 4635 "FlickrPublishing.c" + } +#line 695 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:695: FlickrPublisher: starting interaction."); +#line 697 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_attempt_start (self); +#line 4641 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_real_stop (SpitPublishingPublisher* base) { + PublishingFlickrFlickrPublisher * self; + PublishingFlickrSession* _tmp0_ = NULL; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisher); +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:701: FlickrPublisher: stop( ) invoked."); +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->session; +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp0_ != NULL) { +#line 4656 "FlickrPublishing.c" + PublishingFlickrSession* _tmp1_ = NULL; +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->session; +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_session_stop_transactions (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 4662 "FlickrPublishing.c" + } +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->running = FALSE; +#line 4666 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_class_init (PublishingFlickrFlickrPublisherClass * klass) { +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_parent_class = g_type_class_peek_parent (klass); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFlickrFlickrPublisherPrivate)); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_flickr_flickr_publisher_finalize; +#line 4677 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_flickr_flickr_publisher_real_get_service; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_flickr_flickr_publisher_real_is_running; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_flickr_flickr_publisher_real_start; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_flickr_flickr_publisher_real_stop; +#line 4692 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_instance_init (PublishingFlickrFlickrPublisher * self) { +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv = PUBLISHING_FLICKR_FLICKR_PUBLISHER_GET_PRIVATE (self); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter = NULL; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->running = FALSE; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->was_started = FALSE; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->session = NULL; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->publishing_options_pane = NULL; +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->parameters = NULL; +#line 4711 "FlickrPublishing.c" +} + + +static void publishing_flickr_flickr_publisher_finalize (GObject* obj) { + PublishingFlickrFlickrPublisher * self; + PublishingFlickrSession* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_FLICKR_PUBLISHER, PublishingFlickrFlickrPublisher); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->session; +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("authenticated", PUBLISHING_REST_SUPPORT_TYPE_SESSION, &_tmp1_, NULL, FALSE); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_flickr_publisher_on_session_authenticated_publishing_rest_support_session_authenticated, self); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->service); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->host); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter = NULL; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->publishing_options_pane); +#line 108 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (publishing_flickr_flickr_publisher_parent_class)->finalize (obj); +#line 4747 "FlickrPublishing.c" +} + + +GType publishing_flickr_flickr_publisher_get_type (void) { + static volatile gsize publishing_flickr_flickr_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_flickr_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrFlickrPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_flickr_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrFlickrPublisher), 0, (GInstanceInitFunc) publishing_flickr_flickr_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_flickr_flickr_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_flickr_flickr_publisher_type_id; + publishing_flickr_flickr_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFlickrFlickrPublisher", &g_define_type_info, 0); + g_type_add_interface_static (publishing_flickr_flickr_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_flickr_flickr_publisher_type_id__volatile, publishing_flickr_flickr_publisher_type_id); + } + return publishing_flickr_flickr_publisher_type_id__volatile; +} + + +PublishingFlickrPinEntryPane* publishing_flickr_pin_entry_pane_construct (GType object_type, GtkBuilder* builder) { + PublishingFlickrPinEntryPane * self = NULL; + GtkBuilder* _tmp0_ = NULL; + GtkBuilder* _tmp1_ = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GSList* _tmp4_ = NULL; + GSList* _tmp5_ = NULL; + guint _tmp6_ = 0U; + GtkBuilder* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + GtkBuilder* _tmp10_ = NULL; + GObject* _tmp11_ = NULL; + GtkLabel* _tmp12_ = NULL; + GtkBuilder* _tmp13_ = NULL; + GObject* _tmp14_ = NULL; + GtkEntry* _tmp15_ = NULL; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkButton* _tmp18_ = NULL; + GtkBuilder* _tmp19_ = NULL; + GObject* _tmp20_ = NULL; + GtkBox* _tmp21_ = NULL; + GtkBox* _tmp22_ = NULL; +#line 720 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 720 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrPinEntryPane*) g_object_new (object_type, NULL); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = builder; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->builder = _tmp1_; +#line 722 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = builder; +#line 722 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp2_ != NULL, "builder != null"); +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = builder; +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = gtk_builder_get_objects (_tmp3_); +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_; +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_slist_length (_tmp5_); +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp6_ > ((guint) 0), "builder.get_objects().length() > 0"); +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_slist_free0 (_tmp5_); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = builder; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = gtk_builder_get_object (_tmp7_, "explanatory_text"); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp8_) : NULL); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->explanatory_text); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->explanatory_text = _tmp9_; +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = builder; +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = gtk_builder_get_object (_tmp10_, "pin_entry_caption"); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp11_) : NULL); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pin_entry_caption); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pin_entry_caption = _tmp12_; +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = builder; +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = gtk_builder_get_object (_tmp13_, "pin_entry"); +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp14_) : NULL); +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pin_entry); +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pin_entry = _tmp15_; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = builder; +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "continue_button"); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, gtk_button_get_type ()) ? ((GtkButton*) _tmp17_) : NULL); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->continue_button); +#line 728 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->continue_button = _tmp18_; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = builder; +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = gtk_builder_get_object (_tmp19_, "pane_widget"); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, gtk_box_get_type ()) ? ((GtkBox*) _tmp20_) : NULL); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pane_widget = _tmp21_; +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = self->priv->pane_widget; +#line 732 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget)); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed (self); +#line 720 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 4876 "FlickrPublishing.c" +} + + +PublishingFlickrPinEntryPane* publishing_flickr_pin_entry_pane_new (GtkBuilder* builder) { +#line 720 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_pin_entry_pane_construct (PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, builder); +#line 4883 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_on_continue_clicked (PublishingFlickrPinEntryPane* self) { + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 737 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PIN_ENTRY_PANE (self)); +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->pin_entry; +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 738 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_emit_by_name (self, "proceed", self, _tmp1_); +#line 4898 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed (PublishingFlickrPinEntryPane* self) { + GtkButton* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; +#line 741 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PIN_ENTRY_PANE (self)); +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->continue_button; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->pin_entry; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = gtk_entry_get_text_length (_tmp1_); +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp3_ > ((guint) 0)); +#line 4919 "FlickrPublishing.c" +} + + +static GtkWidget* publishing_flickr_pin_entry_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingFlickrPinEntryPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 745 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPane); +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4938 "FlickrPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_flickr_pin_entry_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingFlickrPinEntryPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPane); +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 4951 "FlickrPublishing.c" +} + + +static void _publishing_flickr_pin_entry_pane_on_continue_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_pin_entry_pane_on_continue_clicked ((PublishingFlickrPinEntryPane*) self); +#line 4958 "FlickrPublishing.c" +} + + +static void _publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed ((PublishingFlickrPinEntryPane*) self); +#line 4965 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingFlickrPinEntryPane * self; + GtkButton* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; +#line 753 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPane); +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->continue_button; +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (_tmp0_, "clicked", (GCallback) _publishing_flickr_pin_entry_pane_on_continue_clicked_gtk_button_clicked, self, 0); +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->pin_entry; +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed_gtk_editable_changed, self, 0); +#line 4983 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingFlickrPinEntryPane * self; + GtkButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkEntry* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPane); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->continue_button; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp1_, NULL, FALSE); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_pin_entry_pane_on_continue_clicked_gtk_button_clicked, self); +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->pin_entry; +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("changed", GTK_TYPE_EDITABLE, &_tmp3_, NULL, FALSE); +#line 760 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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) _publishing_flickr_pin_entry_pane_on_pin_entry_contents_changed_gtk_editable_changed, self); +#line 5007 "FlickrPublishing.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_STRING) (gpointer data1, gpointer arg_1, const char* arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_STRING callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (n_param_values == 3); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + data1 = closure->data; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 5026 "FlickrPublishing.c" + } else { +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + data2 = closure->data; +#line 5032 "FlickrPublishing.c" + } +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + callback = (GMarshalFunc_VOID__OBJECT_STRING) (marshal_data ? marshal_data : cc->callback); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_string (param_values + 2), data2); +#line 5038 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_class_init (PublishingFlickrPinEntryPaneClass * klass) { +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_pin_entry_pane_parent_class = g_type_class_peek_parent (klass); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFlickrPinEntryPanePrivate)); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_flickr_pin_entry_pane_finalize; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_new ("proceed", PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_STRING, G_TYPE_NONE, 2, PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, G_TYPE_STRING); +#line 5051 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_pin_entry_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_flickr_pin_entry_pane_real_get_widget; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_flickr_pin_entry_pane_real_get_preferred_geometry; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_flickr_pin_entry_pane_real_on_pane_installed; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_flickr_pin_entry_pane_real_on_pane_uninstalled; +#line 5066 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_instance_init (PublishingFlickrPinEntryPane * self) { +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv = PUBLISHING_FLICKR_PIN_ENTRY_PANE_GET_PRIVATE (self); +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pane_widget = NULL; +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->continue_button = NULL; +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pin_entry = NULL; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pin_entry_caption = NULL; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->explanatory_text = NULL; +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->builder = NULL; +#line 5085 "FlickrPublishing.c" +} + + +static void publishing_flickr_pin_entry_pane_finalize (GObject* obj) { + PublishingFlickrPinEntryPane * self; +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_PIN_ENTRY_PANE, PublishingFlickrPinEntryPane); +#line 711 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 712 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->continue_button); +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pin_entry); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pin_entry_caption); +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->explanatory_text); +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (publishing_flickr_pin_entry_pane_parent_class)->finalize (obj); +#line 5107 "FlickrPublishing.c" +} + + +GType publishing_flickr_pin_entry_pane_get_type (void) { + static volatile gsize publishing_flickr_pin_entry_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_pin_entry_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrPinEntryPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_pin_entry_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrPinEntryPane), 0, (GInstanceInitFunc) publishing_flickr_pin_entry_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_flickr_pin_entry_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_flickr_pin_entry_pane_type_id; + publishing_flickr_pin_entry_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFlickrPinEntryPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_flickr_pin_entry_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_flickr_pin_entry_pane_type_id__volatile, publishing_flickr_pin_entry_pane_type_id); + } + return publishing_flickr_pin_entry_pane_type_id__volatile; +} + + +PublishingFlickrTransaction* publishing_flickr_transaction_construct (GType object_type, PublishingFlickrSession* session, PublishingRESTSupportHttpMethod method) { + PublishingFlickrTransaction* self = NULL; + PublishingFlickrSession* _tmp0_ = NULL; + PublishingRESTSupportHttpMethod _tmp1_ = 0; + PublishingFlickrSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + PublishingFlickrSession* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (session), NULL); +#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = session; +#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = method; +#line 767 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrTransaction*) publishing_rest_support_transaction_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_); +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = session; +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishing_flickr_session_get_oauth_nonce (_tmp2_); +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_; +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_nonce", _tmp4_); +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp4_); +#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_signature_method", "HMAC-SHA1"); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_version", "1.0"); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_callback", "oob"); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = session; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = publishing_flickr_session_get_oauth_timestamp (_tmp5_); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_timestamp", _tmp7_); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp7_); +#line 774 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_consumer_key", PUBLISHING_FLICKR_API_KEY); +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 5173 "FlickrPublishing.c" +} + + +PublishingFlickrTransaction* publishing_flickr_transaction_new (PublishingFlickrSession* session, PublishingRESTSupportHttpMethod method) { +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_transaction_construct (PUBLISHING_FLICKR_TYPE_TRANSACTION, session, method); +#line 5180 "FlickrPublishing.c" +} + + +PublishingFlickrTransaction* publishing_flickr_transaction_construct_with_uri (GType object_type, PublishingFlickrSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method) { + PublishingFlickrTransaction* self = NULL; + PublishingFlickrSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRESTSupportHttpMethod _tmp2_ = 0; + PublishingFlickrSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingFlickrSession* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (session), NULL); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (uri != NULL, NULL); +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = session; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = uri; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = method; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp2_); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = session; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = publishing_flickr_session_get_oauth_nonce (_tmp3_); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_nonce", _tmp5_); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp5_); +#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_signature_method", "HMAC-SHA1"); +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_version", "1.0"); +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_callback", "oob"); +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = session; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = publishing_flickr_session_get_oauth_timestamp (_tmp6_); +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp7_; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_timestamp", _tmp8_); +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp8_); +#line 786 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_consumer_key", PUBLISHING_FLICKR_API_KEY); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 5237 "FlickrPublishing.c" +} + + +PublishingFlickrTransaction* publishing_flickr_transaction_new_with_uri (PublishingFlickrSession* session, const gchar* uri, PublishingRESTSupportHttpMethod method) { +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_transaction_construct_with_uri (PUBLISHING_FLICKR_TYPE_TRANSACTION, session, uri, method); +#line 5244 "FlickrPublishing.c" +} + + +static void publishing_flickr_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingFlickrTransaction * self; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingFlickrSession* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 789 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_TRANSACTION, PublishingFlickrTransaction); +#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = publishing_rest_support_transaction_get_parent_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSession); +#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_session_sign_transaction (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 790 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_flickr_transaction_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 5273 "FlickrPublishing.c" + } else { +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 5281 "FlickrPublishing.c" + } + } +} + + +gchar* publishing_flickr_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc) { + gchar* result = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; + gchar* status = NULL; + xmlNode* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp6_ = NULL; + xmlNode* errcode = NULL; + xmlNode* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + xmlNode* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GError * _inner_error_ = NULL; +#line 795 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (doc), NULL); +#line 796 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = doc; +#line 796 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_get_root_node (_tmp0_); +#line 796 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + root = _tmp1_; +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = root; +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = (gchar*) xmlGetProp (_tmp2_, (xmlChar*) "stat"); +#line 797 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + status = _tmp3_; +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = status; +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp4_ == NULL) { +#line 5325 "FlickrPublishing.c" + gchar* _tmp5_ = NULL; +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = g_strdup ("No status property in root node"); +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp5_; +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (status); +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 5335 "FlickrPublishing.c" + } +#line 803 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = status; +#line 803 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_strcmp0 (_tmp6_, "ok") == 0) { +#line 804 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = NULL; +#line 804 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (status); +#line 804 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 5347 "FlickrPublishing.c" + } + { + xmlNode* _tmp7_ = NULL; + PublishingRESTSupportXmlDocument* _tmp8_ = NULL; + xmlNode* _tmp9_ = NULL; + xmlNode* _tmp10_ = NULL; +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = doc; +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = root; +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_get_named_child (_tmp8_, _tmp9_, "err", &_inner_error_); +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp10_; +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5366 "FlickrPublishing.c" + goto __catch23_spit_publishing_publishing_error; + } +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (status); +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 5377 "FlickrPublishing.c" + } +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + errcode = _tmp7_; +#line 5381 "FlickrPublishing.c" + } + goto __finally23; + __catch23_spit_publishing_publishing_error: + { + GError* err = NULL; + gchar* _tmp11_ = NULL; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + err = _inner_error_; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = g_strdup ("No error code specified"); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp11_; +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (status); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 5402 "FlickrPublishing.c" + } + __finally23: +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (status); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 5415 "FlickrPublishing.c" + } +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = errcode; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = (gchar*) xmlGetProp (_tmp12_, (xmlChar*) "msg"); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = _tmp13_; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = errcode; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = (gchar*) xmlGetProp (_tmp15_, (xmlChar*) "code"); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = _tmp16_; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = g_strdup_printf ("%s (error code %s)", _tmp14_, _tmp17_); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = _tmp18_; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp17_); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp14_); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp19_; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (status); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 5443 "FlickrPublishing.c" +} + + +static gchar* _publishing_flickr_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self) { + gchar* result; + result = publishing_flickr_transaction_validate_xml (doc); +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 5452 "FlickrPublishing.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 5472 "FlickrPublishing.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? g_error_copy (self) : NULL; +#line 5479 "FlickrPublishing.c" +} + + +PublishingRESTSupportXmlDocument* publishing_flickr_transaction_parse_flickr_response (const gchar* xml, GError** error) { + PublishingRESTSupportXmlDocument* result = NULL; + PublishingRESTSupportXmlDocument* _result_ = NULL; + GError * _inner_error_ = NULL; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (xml != NULL, NULL); +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = NULL; +#line 5491 "FlickrPublishing.c" + { + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingRESTSupportXmlDocument* _tmp2_ = NULL; + PublishingRESTSupportXmlDocument* _tmp3_ = NULL; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = xml; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_rest_support_xml_document_parse_string (_tmp1_, _publishing_flickr_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = _tmp2_; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5507 "FlickrPublishing.c" + goto __catch24_spit_publishing_publishing_error; + } +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_result_); +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 5518 "FlickrPublishing.c" + } +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp0_; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = NULL; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_result_); +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp3_; +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_tmp0_); +#line 5530 "FlickrPublishing.c" + } + goto __finally24; + __catch24_spit_publishing_publishing_error: + { + GError* e = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + e = _inner_error_; +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = e; +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_->message; +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_strdup_printf ("(error code %s)", PUBLISHING_FLICKR_EXPIRED_SESSION_ERROR_CODE); +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = string_contains (_tmp5_, _tmp7_); +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _tmp8_; +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp7_); +#line 833 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp9_) { +#line 5562 "FlickrPublishing.c" + GError* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = e; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _tmp10_->message; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION, _tmp11_); +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = _tmp12_; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (e); +#line 5576 "FlickrPublishing.c" + goto __finally24; + } else { + GError* _tmp13_ = NULL; + GError* _tmp14_ = NULL; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = e; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = _g_error_copy0 (_tmp13_); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = _tmp14_; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (e); +#line 5589 "FlickrPublishing.c" + goto __finally24; + } +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (e); +#line 5594 "FlickrPublishing.c" + } + __finally24: +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_result_); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 5607 "FlickrPublishing.c" + } else { +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_result_); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 5617 "FlickrPublishing.c" + } + } +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _result_; +#line 840 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 5624 "FlickrPublishing.c" +} + + +static void publishing_flickr_transaction_class_init (PublishingFlickrTransactionClass * klass) { +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_transaction_parent_class = g_type_class_peek_parent (klass); +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_flickr_transaction_real_execute; +#line 5633 "FlickrPublishing.c" +} + + +static void publishing_flickr_transaction_instance_init (PublishingFlickrTransaction * self) { +} + + +GType publishing_flickr_transaction_get_type (void) { + static volatile gsize publishing_flickr_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrTransaction), 0, (GInstanceInitFunc) publishing_flickr_transaction_instance_init, NULL }; + GType publishing_flickr_transaction_type_id; + publishing_flickr_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingFlickrTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_flickr_transaction_type_id__volatile, publishing_flickr_transaction_type_id); + } + return publishing_flickr_transaction_type_id__volatile; +} + + +PublishingFlickrAuthenticationRequestTransaction* publishing_flickr_authentication_request_transaction_construct (GType object_type, PublishingFlickrSession* session) { + PublishingFlickrAuthenticationRequestTransaction* self = NULL; + PublishingFlickrSession* _tmp0_ = NULL; +#line 845 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (session), NULL); +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = session; +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrAuthenticationRequestTransaction*) publishing_flickr_transaction_construct_with_uri (object_type, _tmp0_, "https://www.flickr.com/services/oauth/request_token", PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 845 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 5664 "FlickrPublishing.c" +} + + +PublishingFlickrAuthenticationRequestTransaction* publishing_flickr_authentication_request_transaction_new (PublishingFlickrSession* session) { +#line 845 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_authentication_request_transaction_construct (PUBLISHING_FLICKR_TYPE_AUTHENTICATION_REQUEST_TRANSACTION, session); +#line 5671 "FlickrPublishing.c" +} + + +static void publishing_flickr_authentication_request_transaction_class_init (PublishingFlickrAuthenticationRequestTransactionClass * klass) { +#line 844 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_authentication_request_transaction_parent_class = g_type_class_peek_parent (klass); +#line 5678 "FlickrPublishing.c" +} + + +static void publishing_flickr_authentication_request_transaction_instance_init (PublishingFlickrAuthenticationRequestTransaction * self) { +} + + +GType publishing_flickr_authentication_request_transaction_get_type (void) { + static volatile gsize publishing_flickr_authentication_request_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_authentication_request_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrAuthenticationRequestTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_authentication_request_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrAuthenticationRequestTransaction), 0, (GInstanceInitFunc) publishing_flickr_authentication_request_transaction_instance_init, NULL }; + GType publishing_flickr_authentication_request_transaction_type_id; + publishing_flickr_authentication_request_transaction_type_id = g_type_register_static (PUBLISHING_FLICKR_TYPE_TRANSACTION, "PublishingFlickrAuthenticationRequestTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_flickr_authentication_request_transaction_type_id__volatile, publishing_flickr_authentication_request_transaction_type_id); + } + return publishing_flickr_authentication_request_transaction_type_id__volatile; +} + + +PublishingFlickrAccessTokenFetchTransaction* publishing_flickr_access_token_fetch_transaction_construct (GType object_type, PublishingFlickrSession* session, const gchar* user_verifier) { + PublishingFlickrAccessTokenFetchTransaction* self = NULL; + PublishingFlickrSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingFlickrSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (session), NULL); +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (user_verifier != NULL, NULL); +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = session; +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrAccessTokenFetchTransaction*) publishing_flickr_transaction_construct_with_uri (object_type, _tmp0_, "https://www.flickr.com/services/oauth/access_token", PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = user_verifier; +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_verifier", _tmp1_); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = session; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishing_flickr_session_get_request_phase_token (_tmp2_); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_token", _tmp4_); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp4_); +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 5729 "FlickrPublishing.c" +} + + +PublishingFlickrAccessTokenFetchTransaction* publishing_flickr_access_token_fetch_transaction_new (PublishingFlickrSession* session, const gchar* user_verifier) { +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_access_token_fetch_transaction_construct (PUBLISHING_FLICKR_TYPE_ACCESS_TOKEN_FETCH_TRANSACTION, session, user_verifier); +#line 5736 "FlickrPublishing.c" +} + + +static void publishing_flickr_access_token_fetch_transaction_class_init (PublishingFlickrAccessTokenFetchTransactionClass * klass) { +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_access_token_fetch_transaction_parent_class = g_type_class_peek_parent (klass); +#line 5743 "FlickrPublishing.c" +} + + +static void publishing_flickr_access_token_fetch_transaction_instance_init (PublishingFlickrAccessTokenFetchTransaction * self) { +} + + +GType publishing_flickr_access_token_fetch_transaction_get_type (void) { + static volatile gsize publishing_flickr_access_token_fetch_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_access_token_fetch_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrAccessTokenFetchTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_access_token_fetch_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrAccessTokenFetchTransaction), 0, (GInstanceInitFunc) publishing_flickr_access_token_fetch_transaction_instance_init, NULL }; + GType publishing_flickr_access_token_fetch_transaction_type_id; + publishing_flickr_access_token_fetch_transaction_type_id = g_type_register_static (PUBLISHING_FLICKR_TYPE_TRANSACTION, "PublishingFlickrAccessTokenFetchTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_flickr_access_token_fetch_transaction_type_id__volatile, publishing_flickr_access_token_fetch_transaction_type_id); + } + return publishing_flickr_access_token_fetch_transaction_type_id__volatile; +} + + +PublishingFlickrAccountInfoFetchTransaction* publishing_flickr_account_info_fetch_transaction_construct (GType object_type, PublishingFlickrSession* session) { + PublishingFlickrAccountInfoFetchTransaction* self = NULL; + PublishingFlickrSession* _tmp0_ = NULL; + PublishingFlickrSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (session), NULL); +#line 862 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = session; +#line 862 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrAccountInfoFetchTransaction*) publishing_flickr_transaction_construct (object_type, _tmp0_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "flickr.people.getUploadStatus"); +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = session; +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_flickr_session_get_access_phase_token (_tmp1_); +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_; +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "oauth_token", _tmp3_); +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp3_); +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 5789 "FlickrPublishing.c" +} + + +PublishingFlickrAccountInfoFetchTransaction* publishing_flickr_account_info_fetch_transaction_new (PublishingFlickrSession* session) { +#line 861 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_account_info_fetch_transaction_construct (PUBLISHING_FLICKR_TYPE_ACCOUNT_INFO_FETCH_TRANSACTION, session); +#line 5796 "FlickrPublishing.c" +} + + +static void publishing_flickr_account_info_fetch_transaction_class_init (PublishingFlickrAccountInfoFetchTransactionClass * klass) { +#line 860 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_account_info_fetch_transaction_parent_class = g_type_class_peek_parent (klass); +#line 5803 "FlickrPublishing.c" +} + + +static void publishing_flickr_account_info_fetch_transaction_instance_init (PublishingFlickrAccountInfoFetchTransaction * self) { +} + + +GType publishing_flickr_account_info_fetch_transaction_get_type (void) { + static volatile gsize publishing_flickr_account_info_fetch_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_account_info_fetch_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrAccountInfoFetchTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_account_info_fetch_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrAccountInfoFetchTransaction), 0, (GInstanceInitFunc) publishing_flickr_account_info_fetch_transaction_instance_init, NULL }; + GType publishing_flickr_account_info_fetch_transaction_type_id; + publishing_flickr_account_info_fetch_transaction_type_id = g_type_register_static (PUBLISHING_FLICKR_TYPE_TRANSACTION, "PublishingFlickrAccountInfoFetchTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_flickr_account_info_fetch_transaction_type_id__volatile, publishing_flickr_account_info_fetch_transaction_type_id); + } + return publishing_flickr_account_info_fetch_transaction_type_id__volatile; +} + + +static gpointer _publishing_flickr_publishing_parameters_ref0 (gpointer self) { +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? publishing_flickr_publishing_parameters_ref (self) : NULL; +#line 5826 "FlickrPublishing.c" +} + + +static gpointer _publishing_rest_support_session_ref0 (gpointer self) { +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? publishing_rest_support_session_ref (self) : NULL; +#line 5833 "FlickrPublishing.c" +} + + +static void _g_free0_ (gpointer var) { +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + var = (g_free (var), NULL); +#line 5840 "FlickrPublishing.c" +} + + +PublishingFlickrUploadTransaction* publishing_flickr_upload_transaction_construct (GType object_type, PublishingFlickrSession* session, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublishable* publishable) { + PublishingFlickrUploadTransaction* self = NULL; + PublishingFlickrSession* _tmp0_ = NULL; + SpitPublishingPublishable* _tmp1_ = NULL; + PublishingFlickrPublishingParameters* _tmp2_ = NULL; + PublishingFlickrPublishingParameters* _tmp3_ = NULL; + PublishingFlickrSession* _tmp4_ = NULL; + PublishingFlickrSession* _tmp5_ = NULL; + PublishingRESTSupportArgument** _tmp6_ = NULL; + PublishingFlickrSession* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PublishingFlickrSession* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PublishingFlickrSession* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + PublishingFlickrPublishingParameters* _tmp16_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + PublishingFlickrPublishingParameters* _tmp21_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp22_ = NULL; + gint _tmp23_ = 0; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + PublishingFlickrPublishingParameters* _tmp26_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp27_ = NULL; + gint _tmp28_ = 0; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + GHashTable* disposition_table = NULL; + GHashFunc _tmp31_ = NULL; + GEqualFunc _tmp32_ = NULL; + GHashTable* _tmp33_ = NULL; + gchar* filename = NULL; + SpitPublishingPublishable* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + const gchar* _tmp37_ = NULL; + GHashTable* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + SpitPublishingPublishable* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + GHashTable* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + GHashTable* _tmp50_ = NULL; +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (session), NULL); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = session; +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = publishable; +#line 875 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrUploadTransaction*) publishing_rest_support_upload_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, "https://api.flickr.com/services/upload"); +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = parameters; +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _publishing_flickr_publishing_parameters_ref0 (_tmp2_); +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->parameters = _tmp3_; +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = session; +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _publishing_rest_support_session_ref0 (_tmp4_); +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->session = _tmp5_; +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_new0 (PublishingRESTSupportArgument*, 0 + 1); +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->auth_header_fields = (_vala_array_free (self->priv->auth_header_fields, self->priv->auth_header_fields_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->auth_header_fields = _tmp6_; +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->auth_header_fields_length1 = 0; +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->_auth_header_fields_size_ = self->priv->auth_header_fields_length1; +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = session; +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = publishing_flickr_session_get_oauth_nonce (_tmp7_); +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _tmp8_; +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (self, "oauth_nonce", _tmp9_); +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp9_); +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (self, "oauth_signature_method", "HMAC-SHA1"); +#line 883 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (self, "oauth_version", "1.0"); +#line 884 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (self, "oauth_callback", "oob"); +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = session; +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = publishing_flickr_session_get_oauth_timestamp (_tmp10_); +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = _tmp11_; +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (self, "oauth_timestamp", _tmp12_); +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp12_); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (self, "oauth_consumer_key", PUBLISHING_FLICKR_API_KEY); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = session; +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = publishing_flickr_session_get_access_phase_token (_tmp13_); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = _tmp14_; +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (self, "oauth_token", _tmp15_); +#line 887 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp15_); +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = parameters; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = _tmp16_->visibility_specification; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = _tmp17_->everyone_level; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = g_strdup_printf ("%d", _tmp18_); +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = _tmp19_; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "is_public", _tmp20_); +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp20_); +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = parameters; +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = _tmp21_->visibility_specification; +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = _tmp22_->friends_level; +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = g_strdup_printf ("%d", _tmp23_); +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = _tmp24_; +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "is_friend", _tmp25_); +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp25_); +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = parameters; +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = _tmp26_->visibility_specification; +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = _tmp27_->family_level; +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = g_strdup_printf ("%d", _tmp28_); +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp30_ = _tmp29_; +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "is_family", _tmp30_); +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp30_); +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp31_ = g_str_hash; +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp32_ = g_str_equal; +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp33_ = g_hash_table_new_full (_tmp31_, _tmp32_, _g_free0_, _g_free0_); +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + disposition_table = _tmp33_; +#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp34_ = publishable; +#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp35_ = spit_publishing_publishable_get_publishing_name (_tmp34_); +#line 895 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + filename = _tmp35_; +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp37_ = filename; +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp37_ == NULL) { +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp36_ = TRUE; +#line 6034 "FlickrPublishing.c" + } else { + const gchar* _tmp38_ = NULL; +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp38_ = filename; +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp36_ = g_strcmp0 (_tmp38_, "") == 0; +#line 6041 "FlickrPublishing.c" + } +#line 896 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp36_) { +#line 6045 "FlickrPublishing.c" + SpitPublishingPublishable* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp39_ = publishable; +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp40_ = spit_publishing_publishable_get_param_string (_tmp39_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (filename); +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + filename = _tmp40_; +#line 6056 "FlickrPublishing.c" + } +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp41_ = disposition_table; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp42_ = g_strdup ("filename"); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp43_ = publishable; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp44_ = spit_publishing_publishable_get_param_string (_tmp43_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp45_ = _tmp44_; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp46_ = soup_uri_encode (_tmp45_, NULL); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_hash_table_insert (_tmp41_, _tmp42_, _tmp46_); +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp45_); +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp47_ = disposition_table; +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp48_ = g_strdup ("name"); +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp49_ = g_strdup ("photo"); +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_hash_table_insert (_tmp47_, _tmp48_, _tmp49_); +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp50_ = disposition_table; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_upload_transaction_set_binary_disposition_table (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction), _tmp50_); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (filename); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_hash_table_unref0 (disposition_table); +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 6092 "FlickrPublishing.c" +} + + +PublishingFlickrUploadTransaction* publishing_flickr_upload_transaction_new (PublishingFlickrSession* session, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublishable* publishable) { +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_upload_transaction_construct (PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION, session, parameters, publishable); +#line 6099 "FlickrPublishing.c" +} + + +static void _vala_array_add18 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value) { +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingRESTSupportArgument*, *array, (*size) + 1); +#line 6110 "FlickrPublishing.c" + } +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 6116 "FlickrPublishing.c" +} + + +void publishing_flickr_upload_transaction_add_authorization_header_field (PublishingFlickrUploadTransaction* self, const gchar* key, const gchar* value) { + PublishingRESTSupportArgument** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportArgument* _tmp3_ = NULL; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_UPLOAD_TRANSACTION (self)); +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (key != NULL); +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (value != NULL); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->auth_header_fields; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0__length1 = self->priv->auth_header_fields_length1; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = key; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = value; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishing_rest_support_argument_new (_tmp1_, _tmp2_); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add18 (&self->priv->auth_header_fields, &self->priv->auth_header_fields_length1, &self->priv->_auth_header_fields_size_, _tmp3_); +#line 6144 "FlickrPublishing.c" +} + + +static gpointer _publishing_rest_support_argument_ref0 (gpointer self) { +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? publishing_rest_support_argument_ref (self) : NULL; +#line 6151 "FlickrPublishing.c" +} + + +static PublishingRESTSupportArgument** _vala_array_dup8 (PublishingRESTSupportArgument** self, int length) { + PublishingRESTSupportArgument** result; + int i; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = g_new0 (PublishingRESTSupportArgument*, length + 1); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (i = 0; i < length; i++) { +#line 6162 "FlickrPublishing.c" + PublishingRESTSupportArgument* _tmp0_ = NULL; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = _publishing_rest_support_argument_ref0 (self[i]); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result[i] = _tmp0_; +#line 6168 "FlickrPublishing.c" + } +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 6172 "FlickrPublishing.c" +} + + +PublishingRESTSupportArgument** publishing_flickr_upload_transaction_get_authorization_header_fields (PublishingFlickrUploadTransaction* self, int* result_length1) { + PublishingRESTSupportArgument** result = NULL; + PublishingRESTSupportArgument** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingRESTSupportArgument** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingRESTSupportArgument** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_UPLOAD_TRANSACTION (self), NULL); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->auth_header_fields; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0__length1 = self->priv->auth_header_fields_length1; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup8 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1__length1 = _tmp0__length1; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _tmp1_; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2__length1 = _tmp1__length1; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (result_length1) { +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *result_length1 = _tmp2__length1; +#line 6202 "FlickrPublishing.c" + } +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp2_; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 6208 "FlickrPublishing.c" +} + + +gchar* publishing_flickr_upload_transaction_get_authorization_header_string (PublishingFlickrUploadTransaction* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_UPLOAD_TRANSACTION (self), NULL); +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = g_strdup ("OAuth "); +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp0_; +#line 6222 "FlickrPublishing.c" + { + gint i = 0; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + i = 0; +#line 6227 "FlickrPublishing.c" + { + gboolean _tmp1_ = FALSE; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = TRUE; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + while (TRUE) { +#line 6234 "FlickrPublishing.c" + gint _tmp3_ = 0; + PublishingRESTSupportArgument** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingRESTSupportArgument** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + PublishingRESTSupportArgument* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + PublishingRESTSupportArgument** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + PublishingRESTSupportArgument* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + PublishingRESTSupportArgument** _tmp24_ = NULL; + gint _tmp24__length1 = 0; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp1_) { +#line 6263 "FlickrPublishing.c" + gint _tmp2_ = 0; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = i; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + i = _tmp2_ + 1; +#line 6269 "FlickrPublishing.c" + } +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = FALSE; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = i; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = self->priv->auth_header_fields; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4__length1 = self->priv->auth_header_fields_length1; +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + break; +#line 6283 "FlickrPublishing.c" + } +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _result_; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = self->priv->auth_header_fields; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6__length1 = self->priv->auth_header_fields_length1; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = i; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp6_[_tmp7_]; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _tmp8_->key; +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = g_strconcat (_tmp5_, _tmp9_, NULL); +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_result_); +#line 921 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp10_; +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _result_; +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = g_strconcat (_tmp11_, "=", NULL); +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_result_); +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp12_; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = _result_; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = self->priv->auth_header_fields; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14__length1 = self->priv->auth_header_fields_length1; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = i; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = _tmp14_[_tmp15_]; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = _tmp16_->value; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = g_strconcat ("\"", _tmp17_, NULL); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = _tmp18_; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = g_strconcat (_tmp19_, "\"", NULL); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = _tmp20_; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = g_strconcat (_tmp13_, _tmp21_, NULL); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_result_); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp22_; +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp21_); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp19_); +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = i; +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = self->priv->auth_header_fields; +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24__length1 = self->priv->auth_header_fields_length1; +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp23_ < (_tmp24__length1 - 1)) { +#line 6349 "FlickrPublishing.c" + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = _result_; +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = g_strconcat (_tmp25_, ", ", NULL); +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_result_); +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp26_; +#line 6360 "FlickrPublishing.c" + } + } + } + } +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _result_; +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 6369 "FlickrPublishing.c" +} + + +static void publishing_flickr_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingFlickrUploadTransaction * self; + PublishingFlickrSession* _tmp0_ = NULL; + gchar* authorization_header = NULL; + gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION, PublishingFlickrUploadTransaction); +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->session; +#line 933 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_session_sign_transaction (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 935 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = publishing_flickr_upload_transaction_get_authorization_header_string (self); +#line 935 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + authorization_header = _tmp1_; +#line 937 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:937: executing upload transaction: authorization" \ +" header string = '%s'", authorization_header); +#line 939 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Authorization", authorization_header); +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_flickr_upload_transaction_parent_class)->execute (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction), PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (authorization_header); +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 6405 "FlickrPublishing.c" + } else { +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (authorization_header); +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 941 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 6415 "FlickrPublishing.c" + } + } +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (authorization_header); +#line 6420 "FlickrPublishing.c" +} + + +static void publishing_flickr_upload_transaction_class_init (PublishingFlickrUploadTransactionClass * klass) { +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_parent_class = g_type_class_peek_parent (klass); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_flickr_upload_transaction_finalize; +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFlickrUploadTransactionPrivate)); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_flickr_upload_transaction_real_execute; +#line 6433 "FlickrPublishing.c" +} + + +static void publishing_flickr_upload_transaction_instance_init (PublishingFlickrUploadTransaction * self) { +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv = PUBLISHING_FLICKR_UPLOAD_TRANSACTION_GET_PRIVATE (self); +#line 6440 "FlickrPublishing.c" +} + + +static void publishing_flickr_upload_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingFlickrUploadTransaction * self; +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION, PublishingFlickrUploadTransaction); +#line 869 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 871 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->auth_header_fields = (_vala_array_free (self->priv->auth_header_fields, self->priv->auth_header_fields_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_flickr_upload_transaction_parent_class)->finalize (obj); +#line 6456 "FlickrPublishing.c" +} + + +GType publishing_flickr_upload_transaction_get_type (void) { + static volatile gsize publishing_flickr_upload_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_upload_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrUploadTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_upload_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrUploadTransaction), 0, (GInstanceInitFunc) publishing_flickr_upload_transaction_instance_init, NULL }; + GType publishing_flickr_upload_transaction_type_id; + publishing_flickr_upload_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, "PublishingFlickrUploadTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_flickr_upload_transaction_type_id__volatile, publishing_flickr_upload_transaction_type_id); + } + return publishing_flickr_upload_transaction_type_id__volatile; +} + + +PublishingFlickrSession* publishing_flickr_session_construct (GType object_type) { + PublishingFlickrSession* self = NULL; +#line 953 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrSession*) publishing_rest_support_session_construct (object_type, PUBLISHING_FLICKR_ENDPOINT_URL); +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 6478 "FlickrPublishing.c" +} + + +PublishingFlickrSession* publishing_flickr_session_new (void) { +#line 952 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_session_construct (PUBLISHING_FLICKR_TYPE_SESSION); +#line 6485 "FlickrPublishing.c" +} + + +static gboolean publishing_flickr_session_real_is_authenticated (PublishingRESTSupportSession* base) { + PublishingFlickrSession * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; +#line 956 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSession); +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->access_phase_token; +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp2_ != NULL) { +#line 6501 "FlickrPublishing.c" + const gchar* _tmp3_ = NULL; +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = self->priv->access_phase_token_secret; +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _tmp3_ != NULL; +#line 6507 "FlickrPublishing.c" + } else { +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = FALSE; +#line 6511 "FlickrPublishing.c" + } +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp1_) { +#line 6515 "FlickrPublishing.c" + const gchar* _tmp4_ = NULL; +#line 958 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = self->priv->username; +#line 958 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = _tmp4_ != NULL; +#line 6521 "FlickrPublishing.c" + } else { +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = FALSE; +#line 6525 "FlickrPublishing.c" + } +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp0_; +#line 957 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 6531 "FlickrPublishing.c" +} + + +void publishing_flickr_session_authenticate_from_persistent_credentials (PublishingFlickrSession* self, const gchar* token, const gchar* secret, const gchar* username) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_SESSION (self)); +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (token != NULL); +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (secret != NULL); +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (username != NULL); +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = token; +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 963 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token = _tmp1_; +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = secret; +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token_secret = _tmp3_; +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = username; +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->username); +#line 965 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->username = _tmp5_; +#line 967 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), "authenticated"); +#line 6576 "FlickrPublishing.c" +} + + +void publishing_flickr_session_deauthenticate (PublishingFlickrSession* self) { +#line 970 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_SESSION (self)); +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token = NULL; +#line 972 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 972 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token_secret = NULL; +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->username); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->username = NULL; +#line 6595 "FlickrPublishing.c" +} + + +static gpointer _publishing_rest_support_transaction_ref0 (gpointer self) { +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? publishing_rest_support_transaction_ref (self) : NULL; +#line 6602 "FlickrPublishing.c" +} + + +static void _vala_array_add19 (PublishingRESTSupportArgument*** array, int* length, int* size, PublishingRESTSupportArgument* value) { +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingRESTSupportArgument*, *array, (*size) + 1); +#line 6613 "FlickrPublishing.c" + } +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 6619 "FlickrPublishing.c" +} + + +void publishing_flickr_session_sign_transaction (PublishingFlickrSession* self, PublishingRESTSupportTransaction* txn) { + gchar* http_method = NULL; + PublishingRESTSupportTransaction* _tmp0_ = NULL; + PublishingRESTSupportHttpMethod _tmp1_ = 0; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PublishingRESTSupportArgument** base_string_arguments = NULL; + PublishingRESTSupportTransaction* _tmp6_ = NULL; + gint _tmp7_ = 0; + PublishingRESTSupportArgument** _tmp8_ = NULL; + gint base_string_arguments_length1 = 0; + gint _base_string_arguments_size_ = 0; + PublishingFlickrUploadTransaction* upload_txn = NULL; + PublishingRESTSupportTransaction* _tmp9_ = NULL; + PublishingFlickrUploadTransaction* _tmp10_ = NULL; + PublishingFlickrUploadTransaction* _tmp11_ = NULL; + PublishingRESTSupportArgument** sorted_args = NULL; + PublishingRESTSupportArgument** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + PublishingRESTSupportArgument** _tmp22_ = NULL; + gint sorted_args_length1 = 0; + gint _sorted_args_size_ = 0; + gchar* arguments_string = NULL; + gchar* _tmp23_ = NULL; + gchar* signing_key = NULL; + const gchar* _tmp46_ = NULL; + gchar* signature_base_string = NULL; + const gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + PublishingRESTSupportTransaction* _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; + const gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; + gchar* signature = NULL; + const gchar* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + const gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + PublishingFlickrUploadTransaction* _tmp78_ = NULL; +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_SESSION (self)); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = txn; +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = publishing_rest_support_transaction_get_method (_tmp0_); +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_rest_support_http_method_to_string (_tmp1_); +#line 977 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + http_method = _tmp2_; +#line 979 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:979: signing transaction with parameters:"); +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = http_method; +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = g_strconcat ("HTTP method = ", _tmp3_, NULL); +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_; +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:980: %s", _tmp5_); +#line 980 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp5_); +#line 982 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = txn; +#line 982 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = publishing_rest_support_transaction_get_arguments (_tmp6_, &_tmp7_); +#line 982 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + base_string_arguments = _tmp8_; +#line 982 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + base_string_arguments_length1 = _tmp7_; +#line 982 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _base_string_arguments_size_ = base_string_arguments_length1; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = txn; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = _publishing_rest_support_transaction_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, PUBLISHING_FLICKR_TYPE_UPLOAD_TRANSACTION) ? ((PublishingFlickrUploadTransaction*) _tmp9_) : NULL); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + upload_txn = _tmp10_; +#line 985 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = upload_txn; +#line 985 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp11_ != NULL) { +#line 6724 "FlickrPublishing.c" + PublishingRESTSupportArgument** auth_header_args = NULL; + PublishingFlickrUploadTransaction* _tmp12_ = NULL; + gint _tmp13_ = 0; + PublishingRESTSupportArgument** _tmp14_ = NULL; + gint auth_header_args_length1 = 0; + gint _auth_header_args_size_ = 0; + PublishingRESTSupportArgument** _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 986 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:986: %s", "this transaction is an UploadTransaction; including Authorization head" \ +"er " "fields in signature base string"); +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = upload_txn; +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = publishing_flickr_upload_transaction_get_authorization_header_fields (_tmp12_, &_tmp13_); +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + auth_header_args = _tmp14_; +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + auth_header_args_length1 = _tmp13_; +#line 989 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _auth_header_args_size_ = auth_header_args_length1; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = auth_header_args; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15__length1 = auth_header_args_length1; +#line 6749 "FlickrPublishing.c" + { + PublishingRESTSupportArgument** arg_collection = NULL; + gint arg_collection_length1 = 0; + gint _arg_collection_size_ = 0; + gint arg_it = 0; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + arg_collection = _tmp15_; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + arg_collection_length1 = _tmp15__length1; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (arg_it = 0; arg_it < _tmp15__length1; arg_it = arg_it + 1) { +#line 6761 "FlickrPublishing.c" + PublishingRESTSupportArgument* _tmp16_ = NULL; + PublishingRESTSupportArgument* arg = NULL; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = _publishing_rest_support_argument_ref0 (arg_collection[arg_it]); +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + arg = _tmp16_; +#line 6768 "FlickrPublishing.c" + { + PublishingRESTSupportArgument** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + PublishingRESTSupportArgument* _tmp18_ = NULL; + PublishingRESTSupportArgument* _tmp19_ = NULL; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = base_string_arguments; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17__length1 = base_string_arguments_length1; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = arg; +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = _publishing_rest_support_argument_ref0 (_tmp18_); +#line 993 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add19 (&base_string_arguments, &base_string_arguments_length1, &_base_string_arguments_size_, _tmp19_); +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_argument_unref0 (arg); +#line 6786 "FlickrPublishing.c" + } + } + } +#line 985 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + auth_header_args = (_vala_array_free (auth_header_args, auth_header_args_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 6792 "FlickrPublishing.c" + } +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = base_string_arguments; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20__length1 = base_string_arguments_length1; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = publishing_rest_support_argument_sort (_tmp20_, _tmp20__length1, &_tmp21_); +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + sorted_args = _tmp22_; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + sorted_args_length1 = _tmp21_; +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _sorted_args_size_ = sorted_args_length1; +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = g_strdup (""); +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + arguments_string = _tmp23_; +#line 6810 "FlickrPublishing.c" + { + gint i = 0; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + i = 0; +#line 6815 "FlickrPublishing.c" + { + gboolean _tmp24_ = FALSE; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = TRUE; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + while (TRUE) { +#line 6822 "FlickrPublishing.c" + gint _tmp26_ = 0; + PublishingRESTSupportArgument** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + const gchar* _tmp28_ = NULL; + PublishingRESTSupportArgument** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + PublishingRESTSupportArgument* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + PublishingRESTSupportArgument** _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gint _tmp36_ = 0; + PublishingRESTSupportArgument* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gint _tmp42_ = 0; + PublishingRESTSupportArgument** _tmp43_ = NULL; + gint _tmp43__length1 = 0; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp24_) { +#line 6847 "FlickrPublishing.c" + gint _tmp25_ = 0; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = i; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + i = _tmp25_ + 1; +#line 6853 "FlickrPublishing.c" + } +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = FALSE; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = i; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = sorted_args; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27__length1 = sorted_args_length1; +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!(_tmp26_ < _tmp27__length1)) { +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + break; +#line 6867 "FlickrPublishing.c" + } +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = arguments_string; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = sorted_args; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29__length1 = sorted_args_length1; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp30_ = i; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp31_ = _tmp29_[_tmp30_]; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp32_ = _tmp31_->key; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp33_ = g_strconcat (_tmp32_, "=", NULL); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp34_ = _tmp33_; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp35_ = sorted_args; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp35__length1 = sorted_args_length1; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp36_ = i; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp37_ = _tmp35_[_tmp36_]; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp38_ = _tmp37_->value; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp39_ = g_strconcat (_tmp34_, _tmp38_, NULL); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp40_ = _tmp39_; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp41_ = g_strconcat (_tmp28_, _tmp40_, NULL); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (arguments_string); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + arguments_string = _tmp41_; +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp40_); +#line 1001 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp34_); +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp42_ = i; +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp43_ = sorted_args; +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp43__length1 = sorted_args_length1; +#line 1002 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp42_ < (_tmp43__length1 - 1)) { +#line 6917 "FlickrPublishing.c" + const gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp44_ = arguments_string; +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp45_ = g_strconcat (_tmp44_, "&", NULL); +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (arguments_string); +#line 1003 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + arguments_string = _tmp45_; +#line 6928 "FlickrPublishing.c" + } + } + } + } +#line 1006 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + signing_key = NULL; +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp46_ = self->priv->access_phase_token_secret; +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp46_ != NULL) { +#line 6939 "FlickrPublishing.c" + const gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:1008: access phase token secret available; using" \ +" it as signing key"); +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp47_ = self->priv->access_phase_token_secret; +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp48_ = g_strconcat (PUBLISHING_FLICKR_API_SECRET "&", _tmp47_, NULL); +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (signing_key); +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + signing_key = _tmp48_; +#line 6952 "FlickrPublishing.c" + } else { + const gchar* _tmp49_ = NULL; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp49_ = self->priv->request_phase_token_secret; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp49_ != NULL) { +#line 6959 "FlickrPublishing.c" + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; +#line 1012 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:1012: request phase token secret available; usin" \ +"g it as signing key"); +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp50_ = self->priv->request_phase_token_secret; +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp51_ = g_strconcat (PUBLISHING_FLICKR_API_SECRET "&", _tmp50_, NULL); +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (signing_key); +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + signing_key = _tmp51_; +#line 6972 "FlickrPublishing.c" + } else { + gchar* _tmp52_ = NULL; +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:1016: %s", "neither access phase nor request phase token secrets available; using " \ +"API " "key as signing key"); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp52_ = g_strdup (PUBLISHING_FLICKR_API_SECRET "&"); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (signing_key); +#line 1019 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + signing_key = _tmp52_; +#line 6983 "FlickrPublishing.c" + } + } +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp53_ = http_method; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp54_ = g_strconcat (_tmp53_, "&", NULL); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp55_ = _tmp54_; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp56_ = txn; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp57_ = publishing_rest_support_transaction_get_endpoint_url (_tmp56_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp58_ = _tmp57_; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp59_ = soup_uri_encode (_tmp58_, PUBLISHING_FLICKR_ENCODE_RFC_3986_EXTRA); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp60_ = _tmp59_; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp61_ = g_strconcat (_tmp55_, _tmp60_, NULL); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp62_ = _tmp61_; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp63_ = g_strconcat (_tmp62_, "&", NULL); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp64_ = _tmp63_; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp65_ = arguments_string; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp66_ = soup_uri_encode (_tmp65_, PUBLISHING_FLICKR_ENCODE_RFC_3986_EXTRA); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp67_ = _tmp66_; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp68_ = g_strconcat (_tmp64_, _tmp67_, NULL); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp69_ = _tmp68_; +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp67_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp64_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp62_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp60_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp58_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp55_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + signature_base_string = _tmp69_; +#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp70_ = signature_base_string; +#line 1026 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:1026: signature base string = '%s'", _tmp70_); +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp71_ = signing_key; +#line 1028 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:1028: signing key = '%s'", _tmp71_); +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp72_ = signing_key; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp73_ = signature_base_string; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp74_ = publishing_rest_support_hmac_sha1 (_tmp72_, _tmp73_); +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + signature = _tmp74_; +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp75_ = signature; +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp76_ = soup_uri_encode (_tmp75_, PUBLISHING_FLICKR_ENCODE_RFC_3986_EXTRA); +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (signature); +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + signature = _tmp76_; +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp77_ = signature; +#line 1034 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_debug ("FlickrPublishing.vala:1034: signature = '%s'", _tmp77_); +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp78_ = upload_txn; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp78_ != NULL) { +#line 7066 "FlickrPublishing.c" + PublishingFlickrUploadTransaction* _tmp79_ = NULL; + const gchar* _tmp80_ = NULL; +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp79_ = upload_txn; +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp80_ = signature; +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_upload_transaction_add_authorization_header_field (_tmp79_, "oauth_signature", _tmp80_); +#line 7075 "FlickrPublishing.c" + } else { + PublishingRESTSupportTransaction* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp81_ = txn; +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp82_ = signature; +#line 1039 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_rest_support_transaction_add_argument (_tmp81_, "oauth_signature", _tmp82_); +#line 7085 "FlickrPublishing.c" + } +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (signature); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (signature_base_string); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (signing_key); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (arguments_string); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + sorted_args = (_vala_array_free (sorted_args, sorted_args_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_transaction_unref0 (upload_txn); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + base_string_arguments = (_vala_array_free (base_string_arguments, base_string_arguments_length1, (GDestroyNotify) publishing_rest_support_argument_unref), NULL); +#line 976 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (http_method); +#line 7103 "FlickrPublishing.c" +} + + +void publishing_flickr_session_set_request_phase_credentials (PublishingFlickrSession* self, const gchar* token, const gchar* secret) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_SESSION (self)); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (token != NULL); +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (secret != NULL); +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = token; +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->request_phase_token); +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->request_phase_token = _tmp1_; +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = secret; +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->request_phase_token_secret); +#line 1044 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->request_phase_token_secret = _tmp3_; +#line 7134 "FlickrPublishing.c" +} + + +void publishing_flickr_session_set_access_phase_credentials (PublishingFlickrSession* self, const gchar* token, const gchar* secret, const gchar* username) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_SESSION (self)); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (token != NULL); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (secret != NULL); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (username != NULL); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = token; +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 1048 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token = _tmp1_; +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = secret; +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token_secret = _tmp3_; +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = username; +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->username); +#line 1050 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->username = _tmp5_; +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), "authenticated"); +#line 7179 "FlickrPublishing.c" +} + + +gchar* publishing_flickr_session_get_oauth_nonce (PublishingFlickrSession* self) { + gchar* result = NULL; + GTimeVal currtime = {0}; + GTimeVal _tmp0_ = {0}; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GTimeVal _tmp4_ = {0}; + glong _tmp5_ = 0L; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 1055 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (self), NULL); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_get_current_time (&currtime); +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_get_current_time (&currtime); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = currtime; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _tmp0_.tv_sec; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = g_strdup_printf ("%li", _tmp1_); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _tmp2_; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = currtime; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_.tv_usec; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_strdup_printf ("%li", _tmp5_); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = g_strconcat (_tmp3_, _tmp7_, NULL); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _tmp8_; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = g_compute_checksum_for_string (G_CHECKSUM_MD5, _tmp9_, (gsize) -1); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _tmp10_; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp9_); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp7_); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp3_); +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp11_; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 7238 "FlickrPublishing.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 7261 "FlickrPublishing.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 7269 "FlickrPublishing.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 7281 "FlickrPublishing.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 7305 "FlickrPublishing.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 7311 "FlickrPublishing.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 7315 "FlickrPublishing.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 7319 "FlickrPublishing.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 7331 "FlickrPublishing.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 7341 "FlickrPublishing.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 7347 "FlickrPublishing.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 7361 "FlickrPublishing.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 7371 "FlickrPublishing.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 7377 "FlickrPublishing.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 7386 "FlickrPublishing.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 7406 "FlickrPublishing.c" +} + + +gchar* publishing_flickr_session_get_oauth_timestamp (PublishingFlickrSession* self) { + gchar* result = NULL; + gint64 _tmp0_ = 0LL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (self), NULL); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = g_get_real_time (); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp0_); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _tmp1_; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = string_substring (_tmp2_, (glong) 0, (glong) 10); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp2_); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp4_; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 7435 "FlickrPublishing.c" +} + + +gchar* publishing_flickr_session_get_request_phase_token (PublishingFlickrSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (self), NULL); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->request_phase_token; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp0_ != NULL, "request_phase_token != null"); +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->request_phase_token; +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp2_; +#line 1069 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 7458 "FlickrPublishing.c" +} + + +gchar* publishing_flickr_session_get_access_phase_token (PublishingFlickrSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (self), NULL); +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->access_phase_token; +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp0_ != NULL, "access_phase_token != null"); +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->access_phase_token; +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp2_; +#line 1074 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 7481 "FlickrPublishing.c" +} + + +gchar* publishing_flickr_session_get_access_phase_token_secret (PublishingFlickrSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (self), NULL); +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->access_phase_token_secret; +#line 1078 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp0_ != NULL, "access_phase_token_secret != null"); +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->access_phase_token_secret; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp2_; +#line 1079 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 7504 "FlickrPublishing.c" +} + + +gchar* publishing_flickr_session_get_username (PublishingFlickrSession* self) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 1082 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (self), NULL); +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1083 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp0_, "is_authenticated()"); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->username; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp2_; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 7527 "FlickrPublishing.c" +} + + +static void publishing_flickr_session_class_init (PublishingFlickrSessionClass * klass) { +#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_session_parent_class = g_type_class_peek_parent (klass); +#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_flickr_session_finalize; +#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFlickrSessionPrivate)); +#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_flickr_session_real_is_authenticated; +#line 7540 "FlickrPublishing.c" +} + + +static void publishing_flickr_session_instance_init (PublishingFlickrSession * self) { +#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv = PUBLISHING_FLICKR_SESSION_GET_PRIVATE (self); +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->request_phase_token = NULL; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->request_phase_token_secret = NULL; +#line 948 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token = NULL; +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->access_phase_token_secret = NULL; +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->username = NULL; +#line 7557 "FlickrPublishing.c" +} + + +static void publishing_flickr_session_finalize (PublishingRESTSupportSession* obj) { + PublishingFlickrSession * self; +#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSession); +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->request_phase_token); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->request_phase_token_secret); +#line 948 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token); +#line 949 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->access_phase_token_secret); +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->priv->username); +#line 945 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_REST_SUPPORT_SESSION_CLASS (publishing_flickr_session_parent_class)->finalize (obj); +#line 7577 "FlickrPublishing.c" +} + + +GType publishing_flickr_session_get_type (void) { + static volatile gsize publishing_flickr_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_session_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrSession), 0, (GInstanceInitFunc) publishing_flickr_session_instance_init, NULL }; + GType publishing_flickr_session_type_id; + publishing_flickr_session_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_SESSION, "PublishingFlickrSession", &g_define_type_info, 0); + g_once_init_leave (&publishing_flickr_session_type_id__volatile, publishing_flickr_session_type_id); + } + return publishing_flickr_session_type_id__volatile; +} + + +static void _publishing_flickr_publishing_options_pane_on_visibility_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_on_visibility_changed ((PublishingFlickrPublishingOptionsPane*) self); +#line 7596 "FlickrPublishing.c" +} + + +static void _publishing_flickr_publishing_options_pane_on_size_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_on_size_changed ((PublishingFlickrPublishingOptionsPane*) self); +#line 7603 "FlickrPublishing.c" +} + + +static void _publishing_flickr_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_on_logout_clicked ((PublishingFlickrPublishingOptionsPane*) self); +#line 7610 "FlickrPublishing.c" +} + + +static void _publishing_flickr_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_on_publish_clicked ((PublishingFlickrPublishingOptionsPane*) self); +#line 7617 "FlickrPublishing.c" +} + + +PublishingFlickrPublishingOptionsPane* publishing_flickr_publishing_options_pane_construct (GType object_type, PublishingFlickrFlickrPublisher* publisher, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublisherMediaType media_type, GtkBuilder* builder, gboolean strip_metadata) { + PublishingFlickrPublishingOptionsPane * self = NULL; + GtkBuilder* _tmp0_ = NULL; + GtkBuilder* _tmp1_ = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GSList* _tmp4_ = NULL; + GSList* _tmp5_ = NULL; + guint _tmp6_ = 0U; + GtkBuilder* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + GtkBox* _tmp9_ = NULL; + GtkBuilder* _tmp10_ = NULL; + GObject* _tmp11_ = NULL; + GtkLabel* _tmp12_ = NULL; + GtkBuilder* _tmp13_ = NULL; + GObject* _tmp14_ = NULL; + GtkLabel* _tmp15_ = NULL; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkButton* _tmp18_ = NULL; + GtkBuilder* _tmp19_ = NULL; + GObject* _tmp20_ = NULL; + GtkButton* _tmp21_ = NULL; + GtkBuilder* _tmp22_ = NULL; + GObject* _tmp23_ = NULL; + GtkComboBoxText* _tmp24_ = NULL; + GtkBuilder* _tmp25_ = NULL; + GObject* _tmp26_ = NULL; + GtkComboBoxText* _tmp27_ = NULL; + GtkBuilder* _tmp28_ = NULL; + GObject* _tmp29_ = NULL; + GtkLabel* _tmp30_ = NULL; + GtkBuilder* _tmp31_ = NULL; + GObject* _tmp32_ = NULL; + GtkCheckButton* _tmp33_ = NULL; + PublishingFlickrPublishingParameters* _tmp34_ = NULL; + PublishingFlickrPublishingParameters* _tmp35_ = NULL; + PublishingFlickrFlickrPublisher* _tmp36_ = NULL; + PublishingFlickrFlickrPublisher* _tmp37_ = NULL; + SpitPublishingPublisherMediaType _tmp38_ = 0; + gint _tmp39_ = 0; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp40_ = NULL; + gint _tmp41_ = 0; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp42_ = NULL; + gchar* upload_label_text = NULL; + const gchar* _tmp43_ = NULL; + PublishingFlickrPublishingParameters* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + PublishingFlickrPublishingParameters* _tmp47_ = NULL; + PublishingFlickrUserKind _tmp48_ = 0; + GtkLabel* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + gchar* visibility_label_text = NULL; + const gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + SpitPublishingPublisherMediaType _tmp65_ = 0; + GtkLabel* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + GtkComboBoxText* _tmp73_ = NULL; + SpitPublishingPublisherMediaType _tmp74_ = 0; + GtkCheckButton* _tmp78_ = NULL; + gboolean _tmp79_ = FALSE; + GtkButton* _tmp80_ = NULL; + GtkButton* _tmp81_ = NULL; +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_FLICKR_PUBLISHER (publisher), NULL); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrPublishingOptionsPane*) g_object_new (object_type, NULL); +#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = builder; +#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->builder = _tmp1_; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = builder; +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp2_ != NULL, "builder != null"); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = builder; +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = gtk_builder_get_objects (_tmp3_); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_; +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = g_slist_length (_tmp5_); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_assert (_tmp6_ > ((guint) 0), "builder.get_objects().length() > 0"); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_slist_free0 (_tmp5_); +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = self->priv->builder; +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = gtk_builder_get_object (_tmp7_, "flickr_pane"); +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_box_get_type (), GtkBox)); +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pane_widget = _tmp9_; +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = self->priv->builder; +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = gtk_builder_get_object (_tmp10_, "visibility_label"); +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_label_get_type (), GtkLabel)); +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->visibility_label); +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibility_label = _tmp12_; +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = self->priv->builder; +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = gtk_builder_get_object (_tmp13_, "upload_info_label"); +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_label_get_type (), GtkLabel)); +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->upload_info_label); +#line 1137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->upload_info_label = _tmp15_; +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = self->priv->builder; +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "logout_button"); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_button_get_type (), GtkButton)); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->logout_button = _tmp18_; +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = self->priv->builder; +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = gtk_builder_get_object (_tmp19_, "publish_button"); +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_button_get_type (), GtkButton)); +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->publish_button = _tmp21_; +#line 1140 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = self->priv->builder; +#line 1140 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = gtk_builder_get_object (_tmp22_, "visibility_combo"); +#line 1140 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 1140 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->visibility_combo); +#line 1140 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibility_combo = _tmp24_; +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = self->priv->builder; +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = gtk_builder_get_object (_tmp25_, "size_combo"); +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 1141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->size_combo = _tmp27_; +#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = self->priv->builder; +#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = gtk_builder_get_object (_tmp28_, "size_label"); +#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_label_get_type (), GtkLabel)); +#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->size_label); +#line 1142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->size_label = _tmp30_; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp31_ = self->priv->builder; +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp32_ = gtk_builder_get_object (_tmp31_, "strip_metadata_check"); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_check_button_get_type (), GtkCheckButton)); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->strip_metadata_check = _tmp33_; +#line 1145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp34_ = parameters; +#line 1145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp35_ = _publishing_flickr_publishing_parameters_ref0 (_tmp34_); +#line 1145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 1145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->parameters = _tmp35_; +#line 1146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp36_ = publisher; +#line 1146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp37_ = _g_object_ref0 (_tmp36_); +#line 1146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 1146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->publisher = _tmp37_; +#line 1147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp38_ = media_type; +#line 1147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->media_type = _tmp38_; +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp40_ = publishing_flickr_publishing_options_pane_create_visibilities (self, &_tmp39_); +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities = (_vala_array_free (self->priv->visibilities, self->priv->visibilities_length1, (GDestroyNotify) publishing_flickr_publishing_options_pane_visibility_entry_unref), NULL); +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities = _tmp40_; +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities_length1 = _tmp39_; +#line 1149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->_visibilities_size_ = self->priv->visibilities_length1; +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp42_ = publishing_flickr_publishing_options_pane_create_sizes (self, &_tmp41_); +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes = (_vala_array_free (self->priv->sizes, self->priv->sizes_length1, (GDestroyNotify) publishing_flickr_publishing_options_pane_size_entry_unref), NULL); +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes = _tmp42_; +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes_length1 = _tmp41_; +#line 1150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->_sizes_size_ = self->priv->sizes_length1; +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp43_ = _ ("You are logged into Flickr as %s.\n\n"); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp44_ = parameters; +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp45_ = _tmp44_->username; +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp46_ = g_strdup_printf (_tmp43_, _tmp45_); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + upload_label_text = _tmp46_; +#line 1153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp47_ = parameters; +#line 1153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp48_ = _tmp47_->user_kind; +#line 1153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp48_ == PUBLISHING_FLICKR_USER_KIND_FREE) { +#line 7865 "FlickrPublishing.c" + const gchar* _tmp49_ = NULL; + PublishingFlickrPublishingParameters* _tmp50_ = NULL; + gint _tmp51_ = 0; + const gchar* _tmp52_ = NULL; + PublishingFlickrPublishingParameters* _tmp53_ = NULL; + gint _tmp54_ = 0; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp49_ = upload_label_text; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp50_ = parameters; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp51_ = _tmp50_->quota_free_mb; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp52_ = ngettext ("Your free Flickr account limits how much data you can upload per month" \ +".\n" \ +"This month you have %d megabyte remaining in your upload quota.", "Your free Flickr account limits how much data you can upload per month" \ +".\n" \ +"This month you have %d megabytes remaining in your upload quota.", (gulong) _tmp51_); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp53_ = parameters; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp54_ = _tmp53_->quota_free_mb; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp55_ = g_strdup_printf (_tmp52_, _tmp54_); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp56_ = _tmp55_; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp57_ = g_strconcat (_tmp49_, _tmp56_, NULL); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (upload_label_text); +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + upload_label_text = _tmp57_; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp56_); +#line 7899 "FlickrPublishing.c" + } else { + const gchar* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp58_ = upload_label_text; +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp59_ = _ ("Your Flickr Pro account entitles you to unlimited uploads."); +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp60_ = g_strconcat (_tmp58_, _tmp59_, NULL); +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (upload_label_text); +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + upload_label_text = _tmp60_; +#line 7914 "FlickrPublishing.c" + } +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp61_ = self->priv->upload_info_label; +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp62_ = upload_label_text; +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_label_set_label (_tmp61_, _tmp62_); +#line 1164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp63_ = _ ("Photos _visible to:"); +#line 1164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp64_ = g_strdup (_tmp63_); +#line 1164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + visibility_label_text = _tmp64_; +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp65_ = media_type; +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp65_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 7932 "FlickrPublishing.c" + const gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp66_ = _ ("Videos _visible to:"); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp67_ = g_strdup (_tmp66_); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (visibility_label_text); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + visibility_label_text = _tmp67_; +#line 7943 "FlickrPublishing.c" + } else { + SpitPublishingPublisherMediaType _tmp68_ = 0; +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp68_ = media_type; +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp68_ == (SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO)) { +#line 7950 "FlickrPublishing.c" + const gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp69_ = _ ("Photos and videos _visible to:"); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp70_ = g_strdup (_tmp69_); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (visibility_label_text); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + visibility_label_text = _tmp70_; +#line 7961 "FlickrPublishing.c" + } + } +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp71_ = self->priv->visibility_label; +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp72_ = visibility_label_text; +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_label_set_label (_tmp71_, _tmp72_); +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_populate_visibility_combo (self); +#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp73_ = self->priv->visibility_combo; +#line 1175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_flickr_publishing_options_pane_on_visibility_changed_gtk_combo_box_changed, self, 0); +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp74_ = media_type; +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp74_ != SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 7980 "FlickrPublishing.c" + GtkComboBoxText* _tmp75_ = NULL; +#line 1178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_populate_size_combo (self); +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp75_ = self->priv->size_combo; +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_flickr_publishing_options_pane_on_size_changed_gtk_combo_box_changed, self, 0); +#line 7988 "FlickrPublishing.c" + } else { + GtkComboBoxText* _tmp76_ = NULL; + GtkLabel* _tmp77_ = NULL; +#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp76_ = self->priv->size_combo; +#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp77_ = self->priv->size_label; +#line 1183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 8000 "FlickrPublishing.c" + } +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp78_ = self->priv->strip_metadata_check; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp79_ = strip_metadata; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp79_); +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp80_ = self->priv->logout_button; +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (_tmp80_, "clicked", (GCallback) _publishing_flickr_publishing_options_pane_on_logout_clicked_gtk_button_clicked, self, 0); +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp81_ = self->priv->publish_button; +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (_tmp81_, "clicked", (GCallback) _publishing_flickr_publishing_options_pane_on_publish_clicked_gtk_button_clicked, self, 0); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (visibility_label_text); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (upload_label_text); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 8022 "FlickrPublishing.c" +} + + +PublishingFlickrPublishingOptionsPane* publishing_flickr_publishing_options_pane_new (PublishingFlickrFlickrPublisher* publisher, PublishingFlickrPublishingParameters* parameters, SpitPublishingPublisherMediaType media_type, GtkBuilder* builder, gboolean strip_metadata) { +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_publishing_options_pane_construct (PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, publisher, parameters, media_type, builder, strip_metadata); +#line 8029 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_on_logout_clicked (PublishingFlickrPublishingOptionsPane* self) { +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1193 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 8038 "FlickrPublishing.c" +} + + +static gpointer _publishing_flickr_visibility_specification_ref0 (gpointer self) { +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? publishing_flickr_visibility_specification_ref (self) : NULL; +#line 8045 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_on_publish_clicked (PublishingFlickrPublishingOptionsPane* self) { + PublishingFlickrPublishingParameters* _tmp0_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp4_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp5_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp6_ = NULL; + SpitPublishingPublisherMediaType _tmp7_ = 0; + GtkCheckButton* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->parameters; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->visibilities; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1__length1 = self->priv->visibilities_length1; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = self->priv->visibility_combo; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp1_[_tmp3_]; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _tmp4_->specification; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = _publishing_flickr_visibility_specification_ref0 (_tmp5_); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (_tmp0_->visibility_specification); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_->visibility_specification = _tmp6_; +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = self->priv->media_type; +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((_tmp7_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) != 0) { +#line 8087 "FlickrPublishing.c" + PublishingFlickrPublishingParameters* _tmp8_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkComboBoxText* _tmp10_ = NULL; + gint _tmp11_ = 0; + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = self->priv->parameters; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = self->priv->sizes; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9__length1 = self->priv->sizes_length1; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = self->priv->size_combo; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = _tmp9_[_tmp11_]; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = _tmp12_->size; +#line 1201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_->photo_major_axis_size = _tmp13_; +#line 8111 "FlickrPublishing.c" + } +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = self->priv->strip_metadata_check; +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp15_); +#line 8119 "FlickrPublishing.c" +} + + +static void _vala_array_add20 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value) { +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneVisibilityEntry*, *array, (*size) + 1); +#line 8130 "FlickrPublishing.c" + } +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8136 "FlickrPublishing.c" +} + + +static void _vala_array_add21 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value) { +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneVisibilityEntry*, *array, (*size) + 1); +#line 8147 "FlickrPublishing.c" + } +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8153 "FlickrPublishing.c" +} + + +static void _vala_array_add22 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value) { +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneVisibilityEntry*, *array, (*size) + 1); +#line 8164 "FlickrPublishing.c" + } +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8170 "FlickrPublishing.c" +} + + +static void _vala_array_add23 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value) { +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneVisibilityEntry*, *array, (*size) + 1); +#line 8181 "FlickrPublishing.c" + } +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8187 "FlickrPublishing.c" +} + + +static void _vala_array_add24 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneVisibilityEntry* value) { +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneVisibilityEntry*, *array, (*size) + 1); +#line 8198 "FlickrPublishing.c" + } +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8204 "FlickrPublishing.c" +} + + +static PublishingFlickrPublishingOptionsPaneVisibilityEntry** publishing_flickr_publishing_options_pane_create_visibilities (PublishingFlickrPublishingOptionsPane* self, int* result_length1) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry** result = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _result_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp3_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp4_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp5_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + const gchar* _tmp7_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp8_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp9_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp10_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + const gchar* _tmp12_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp13_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp14_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp15_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + const gchar* _tmp17_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp18_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp19_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp20_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + const gchar* _tmp22_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp23_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp24_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp25_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp26_ = NULL; + gint _tmp26__length1 = 0; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = g_new0 (PublishingFlickrPublishingOptionsPaneVisibilityEntry*, 0 + 1); +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp0_; +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result__length1 = 0; +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + __result__size_ = _result__length1; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _result_; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1__length1 = _result__length1; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _ ("Everyone"); +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishing_flickr_visibility_specification_new (1, 1, 1); +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _tmp3_; +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = publishing_flickr_publishing_options_pane_visibility_entry_new (_tmp2_, _tmp4_); +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add20 (&_result_, &_result__length1, &__result__size_, _tmp5_); +#line 1209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (_tmp4_); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = _result_; +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6__length1 = _result__length1; +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _ ("Friends & family only"); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = publishing_flickr_visibility_specification_new (1, 1, 0); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = _tmp8_; +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = publishing_flickr_publishing_options_pane_visibility_entry_new (_tmp7_, _tmp9_); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add21 (&_result_, &_result__length1, &__result__size_, _tmp10_); +#line 1210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (_tmp9_); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _result_; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11__length1 = _result__length1; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = _ ("Family only"); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = publishing_flickr_visibility_specification_new (0, 1, 0); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = _tmp13_; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = publishing_flickr_publishing_options_pane_visibility_entry_new (_tmp12_, _tmp14_); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add22 (&_result_, &_result__length1, &__result__size_, _tmp15_); +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (_tmp14_); +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = _result_; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16__length1 = _result__length1; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = _ ("Friends only"); +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = publishing_flickr_visibility_specification_new (1, 0, 0); +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = _tmp18_; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = publishing_flickr_publishing_options_pane_visibility_entry_new (_tmp17_, _tmp19_); +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add23 (&_result_, &_result__length1, &__result__size_, _tmp20_); +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (_tmp19_); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = _result_; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21__length1 = _result__length1; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = _ ("Just me"); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = publishing_flickr_visibility_specification_new (0, 0, 0); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = _tmp23_; +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = publishing_flickr_publishing_options_pane_visibility_entry_new (_tmp22_, _tmp24_); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add24 (&_result_, &_result__length1, &__result__size_, _tmp25_); +#line 1213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (_tmp24_); +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = _result_; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26__length1 = _result__length1; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (result_length1) { +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *result_length1 = _tmp26__length1; +#line 8344 "FlickrPublishing.c" + } +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp26_; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 8350 "FlickrPublishing.c" +} + + +static gpointer _publishing_flickr_publishing_options_pane_visibility_entry_ref0 (gpointer self) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? publishing_flickr_publishing_options_pane_visibility_entry_ref (self) : NULL; +#line 8357 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_populate_visibility_combo (PublishingFlickrPublishingOptionsPane* self) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkComboBoxText* _tmp8_ = NULL; + PublishingFlickrFlickrPublisher* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->visibilities; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0__length1 = self->priv->visibilities_length1; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp0_ == NULL) { +#line 8377 "FlickrPublishing.c" + gint _tmp1_ = 0; + PublishingFlickrPublishingOptionsPaneVisibilityEntry** _tmp2_ = NULL; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_flickr_publishing_options_pane_create_visibilities (self, &_tmp1_); +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities = (_vala_array_free (self->priv->visibilities, self->priv->visibilities_length1, (GDestroyNotify) publishing_flickr_publishing_options_pane_visibility_entry_unref), NULL); +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities = _tmp2_; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities_length1 = _tmp1_; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->_visibilities_size_ = self->priv->visibilities_length1; +#line 8390 "FlickrPublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = self->priv->visibilities; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3__length1 = self->priv->visibilities_length1; +#line 8396 "FlickrPublishing.c" + { + PublishingFlickrPublishingOptionsPaneVisibilityEntry** v_collection = NULL; + gint v_collection_length1 = 0; + gint _v_collection_size_ = 0; + gint v_it = 0; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + v_collection = _tmp3_; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + v_collection_length1 = _tmp3__length1; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (v_it = 0; v_it < _tmp3__length1; v_it = v_it + 1) { +#line 8408 "FlickrPublishing.c" + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp4_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* v = NULL; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _publishing_flickr_publishing_options_pane_visibility_entry_ref0 (v_collection[v_it]); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + v = _tmp4_; +#line 8415 "FlickrPublishing.c" + { + GtkComboBoxText* _tmp5_ = NULL; + PublishingFlickrPublishingOptionsPaneVisibilityEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 1223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = self->priv->visibility_combo; +#line 1223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = v; +#line 1223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_->title; +#line 1223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp7_); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_options_pane_visibility_entry_unref0 (v); +#line 8430 "FlickrPublishing.c" + } + } + } +#line 1225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = self->priv->visibility_combo; +#line 1225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = self->priv->publisher; +#line 1225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = publishing_flickr_flickr_publisher_get_persistent_visibility (_tmp9_); +#line 1225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), _tmp10_); +#line 8442 "FlickrPublishing.c" +} + + +static void _vala_array_add25 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value) { +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneSizeEntry*, *array, (*size) + 1); +#line 8453 "FlickrPublishing.c" + } +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8459 "FlickrPublishing.c" +} + + +static void _vala_array_add26 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value) { +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneSizeEntry*, *array, (*size) + 1); +#line 8470 "FlickrPublishing.c" + } +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8476 "FlickrPublishing.c" +} + + +static void _vala_array_add27 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value) { +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneSizeEntry*, *array, (*size) + 1); +#line 8487 "FlickrPublishing.c" + } +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8493 "FlickrPublishing.c" +} + + +static void _vala_array_add28 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value) { +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneSizeEntry*, *array, (*size) + 1); +#line 8504 "FlickrPublishing.c" + } +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8510 "FlickrPublishing.c" +} + + +static void _vala_array_add29 (PublishingFlickrPublishingOptionsPaneSizeEntry*** array, int* length, int* size, PublishingFlickrPublishingOptionsPaneSizeEntry* value) { +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (PublishingFlickrPublishingOptionsPaneSizeEntry*, *array, (*size) + 1); +#line 8521 "FlickrPublishing.c" + } +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 8527 "FlickrPublishing.c" +} + + +static PublishingFlickrPublishingOptionsPaneSizeEntry** publishing_flickr_publishing_options_pane_create_sizes (PublishingFlickrPublishingOptionsPane* self, int* result_length1) { + PublishingFlickrPublishingOptionsPaneSizeEntry** result = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _result_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp3_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp6_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp9_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp12_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp14_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp15_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = g_new0 (PublishingFlickrPublishingOptionsPaneSizeEntry*, 0 + 1); +#line 1229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result_ = _tmp0_; +#line 1229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _result__length1 = 0; +#line 1229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + __result__size_ = _result__length1; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _result_; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1__length1 = _result__length1; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = _ ("500 x 375 pixels"); +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishing_flickr_publishing_options_pane_size_entry_new (_tmp2_, 500); +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add25 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _result_; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4__length1 = _result__length1; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = _ ("1024 x 768 pixels"); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = publishing_flickr_publishing_options_pane_size_entry_new (_tmp5_, 1024); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add26 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _result_; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7__length1 = _result__length1; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _ ("2048 x 1536 pixels"); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = publishing_flickr_publishing_options_pane_size_entry_new (_tmp8_, 2048); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add27 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = _result_; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10__length1 = _result__length1; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _ ("4096 x 3072 pixels"); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = publishing_flickr_publishing_options_pane_size_entry_new (_tmp11_, 4096); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add28 (&_result_, &_result__length1, &__result__size_, _tmp12_); +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = _result_; +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13__length1 = _result__length1; +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = _ ("Original size"); +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = publishing_flickr_publishing_options_pane_size_entry_new (_tmp14_, PUBLISHING_FLICKR_ORIGINAL_SIZE); +#line 1235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add29 (&_result_, &_result__length1, &__result__size_, _tmp15_); +#line 1237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = _result_; +#line 1237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16__length1 = _result__length1; +#line 1237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (result_length1) { +#line 1237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *result_length1 = _tmp16__length1; +#line 8627 "FlickrPublishing.c" + } +#line 1237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp16_; +#line 1237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 8633 "FlickrPublishing.c" +} + + +static gpointer _publishing_flickr_publishing_options_pane_size_entry_ref0 (gpointer self) { +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self ? publishing_flickr_publishing_options_pane_size_entry_ref (self) : NULL; +#line 8640 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_populate_size_combo (PublishingFlickrPublishingOptionsPane* self) { + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkComboBoxText* _tmp8_ = NULL; + PublishingFlickrFlickrPublisher* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->sizes; +#line 1241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0__length1 = self->priv->sizes_length1; +#line 1241 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp0_ == NULL) { +#line 8660 "FlickrPublishing.c" + gint _tmp1_ = 0; + PublishingFlickrPublishingOptionsPaneSizeEntry** _tmp2_ = NULL; +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_flickr_publishing_options_pane_create_sizes (self, &_tmp1_); +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes = (_vala_array_free (self->priv->sizes, self->priv->sizes_length1, (GDestroyNotify) publishing_flickr_publishing_options_pane_size_entry_unref), NULL); +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes = _tmp2_; +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes_length1 = _tmp1_; +#line 1242 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->_sizes_size_ = self->priv->sizes_length1; +#line 8673 "FlickrPublishing.c" + } +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = self->priv->sizes; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3__length1 = self->priv->sizes_length1; +#line 8679 "FlickrPublishing.c" + { + PublishingFlickrPublishingOptionsPaneSizeEntry** e_collection = NULL; + gint e_collection_length1 = 0; + gint _e_collection_size_ = 0; + gint e_it = 0; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + e_collection = _tmp3_; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + e_collection_length1 = _tmp3__length1; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (e_it = 0; e_it < _tmp3__length1; e_it = e_it + 1) { +#line 8691 "FlickrPublishing.c" + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp4_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry* e = NULL; +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = _publishing_flickr_publishing_options_pane_size_entry_ref0 (e_collection[e_it]); +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + e = _tmp4_; +#line 8698 "FlickrPublishing.c" + { + GtkComboBoxText* _tmp5_ = NULL; + PublishingFlickrPublishingOptionsPaneSizeEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = self->priv->size_combo; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = e; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = _tmp6_->title; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp7_); +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_options_pane_size_entry_unref0 (e); +#line 8713 "FlickrPublishing.c" + } + } + } +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = self->priv->size_combo; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = self->priv->publisher; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = publishing_flickr_flickr_publisher_get_persistent_default_size (_tmp9_); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), _tmp10_); +#line 8725 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_on_size_changed (PublishingFlickrPublishingOptionsPane* self) { + PublishingFlickrFlickrPublisher* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->publisher; +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->size_combo; +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_default_size (_tmp0_, _tmp2_); +#line 8743 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_on_visibility_changed (PublishingFlickrPublishingOptionsPane* self) { + PublishingFlickrFlickrPublisher* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1254 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->publisher; +#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = self->priv->visibility_combo; +#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_flickr_publisher_set_persistent_visibility (_tmp0_, _tmp2_); +#line 8761 "FlickrPublishing.c" +} + + +void publishing_flickr_publishing_options_pane_notify_publish (PublishingFlickrPublishingOptionsPane* self) { + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->strip_metadata_check; +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp1_); +#line 8776 "FlickrPublishing.c" +} + + +void publishing_flickr_publishing_options_pane_notify_logout (PublishingFlickrPublishingOptionsPane* self) { +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 8785 "FlickrPublishing.c" +} + + +static GtkWidget* publishing_flickr_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingFlickrPublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPane); +#line 1267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 1267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp1_; +#line 1267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 8804 "FlickrPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_flickr_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingFlickrPublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 1270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPane); +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 8817 "FlickrPublishing.c" +} + + +static void _publishing_flickr_publishing_options_pane_notify_publish_publishing_flickr_publishing_options_pane_publish (PublishingFlickrPublishingOptionsPane* _sender, gboolean strip_metadata, gpointer self) { +#line 1275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_notify_publish ((PublishingFlickrPublishingOptionsPane*) self); +#line 8824 "FlickrPublishing.c" +} + + +static void _publishing_flickr_publishing_options_pane_notify_logout_publishing_flickr_publishing_options_pane_logout (PublishingFlickrPublishingOptionsPane* _sender, gpointer self) { +#line 1276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_notify_logout ((PublishingFlickrPublishingOptionsPane*) self); +#line 8831 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingFlickrPublishingOptionsPane * self; +#line 1274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPane); +#line 1275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (self, "publish", (GCallback) _publishing_flickr_publishing_options_pane_notify_publish_publishing_flickr_publishing_options_pane_publish, self, 0); +#line 1276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_connect_object (self, "logout", (GCallback) _publishing_flickr_publishing_options_pane_notify_logout_publishing_flickr_publishing_options_pane_logout, self, 0); +#line 8843 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingFlickrPublishingOptionsPane * self; + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; +#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPane); +#line 1280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("publish", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp0_, NULL, FALSE); +#line 1280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _publishing_flickr_publishing_options_pane_notify_publish_publishing_flickr_publishing_options_pane_publish, self); +#line 1281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_parse_name ("logout", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, &_tmp1_, NULL, FALSE); +#line 1281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_disconnect_matched (self, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_flickr_publishing_options_pane_notify_logout_publishing_flickr_publishing_options_pane_logout, self); +#line 8861 "FlickrPublishing.c" +} + + +static PublishingFlickrPublishingOptionsPaneSizeEntry* publishing_flickr_publishing_options_pane_size_entry_construct (GType object_type, const gchar* creator_title, gint creator_size) { + PublishingFlickrPublishingOptionsPaneSizeEntry* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (creator_title != NULL, NULL); +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrPublishingOptionsPaneSizeEntry*) g_type_create_instance (object_type); +#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = creator_title; +#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->title); +#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->title = _tmp1_; +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = creator_size; +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->size = _tmp2_; +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 8888 "FlickrPublishing.c" +} + + +static PublishingFlickrPublishingOptionsPaneSizeEntry* publishing_flickr_publishing_options_pane_size_entry_new (const gchar* creator_title, gint creator_size) { +#line 1093 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_publishing_options_pane_size_entry_construct (PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY, creator_title, creator_size); +#line 8895 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_value_size_entry_init (GValue* value) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8902 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_value_size_entry_free_value (GValue* value) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (value->data[0].v_pointer) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_size_entry_unref (value->data[0].v_pointer); +#line 8911 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_options_pane_value_size_entry_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = publishing_flickr_publishing_options_pane_size_entry_ref (src_value->data[0].v_pointer); +#line 8921 "FlickrPublishing.c" + } else { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 8925 "FlickrPublishing.c" + } +} + + +static gpointer publishing_flickr_publishing_options_pane_value_size_entry_peek_pointer (const GValue* value) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 8933 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_publishing_options_pane_value_size_entry_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (collect_values[0].v_pointer) { +#line 8940 "FlickrPublishing.c" + PublishingFlickrPublishingOptionsPaneSizeEntry* object; + object = collect_values[0].v_pointer; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8947 "FlickrPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 8951 "FlickrPublishing.c" + } +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = publishing_flickr_publishing_options_pane_size_entry_ref (object); +#line 8955 "FlickrPublishing.c" + } else { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 8959 "FlickrPublishing.c" + } +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 8963 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_publishing_options_pane_value_size_entry_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFlickrPublishingOptionsPaneSizeEntry** object_p; + object_p = collect_values[0].v_pointer; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!object_p) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8974 "FlickrPublishing.c" + } +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!value->data[0].v_pointer) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = NULL; +#line 8980 "FlickrPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 8984 "FlickrPublishing.c" + } else { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = publishing_flickr_publishing_options_pane_size_entry_ref (value->data[0].v_pointer); +#line 8988 "FlickrPublishing.c" + } +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 8992 "FlickrPublishing.c" +} + + +static GParamSpec* publishing_flickr_publishing_options_pane_param_spec_size_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFlickrPublishingOptionsPaneParamSpecSizeEntry* spec; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY), NULL); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return G_PARAM_SPEC (spec); +#line 9006 "FlickrPublishing.c" +} + + +static gpointer publishing_flickr_publishing_options_pane_value_get_size_entry (const GValue* value) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY), NULL); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 9015 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_value_set_size_entry (GValue* value, gpointer v_object) { + PublishingFlickrPublishingOptionsPaneSizeEntry* old; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY)); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY)); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_size_entry_ref (value->data[0].v_pointer); +#line 9035 "FlickrPublishing.c" + } else { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 9039 "FlickrPublishing.c" + } +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_size_entry_unref (old); +#line 9045 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_options_pane_value_take_size_entry (GValue* value, gpointer v_object) { + PublishingFlickrPublishingOptionsPaneSizeEntry* old; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY)); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY)); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 9064 "FlickrPublishing.c" + } else { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 9068 "FlickrPublishing.c" + } +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_size_entry_unref (old); +#line 9074 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_options_pane_size_entry_class_init (PublishingFlickrPublishingOptionsPaneSizeEntryClass * klass) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_size_entry_parent_class = g_type_class_peek_parent (klass); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingFlickrPublishingOptionsPaneSizeEntryClass *) klass)->finalize = publishing_flickr_publishing_options_pane_size_entry_finalize; +#line 9084 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_size_entry_instance_init (PublishingFlickrPublishingOptionsPaneSizeEntry * self) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->ref_count = 1; +#line 9091 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_size_entry_finalize (PublishingFlickrPublishingOptionsPaneSizeEntry* obj) { + PublishingFlickrPublishingOptionsPaneSizeEntry * self; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_ENTRY, PublishingFlickrPublishingOptionsPaneSizeEntry); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_destroy (self); +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->title); +#line 9103 "FlickrPublishing.c" +} + + +static GType publishing_flickr_publishing_options_pane_size_entry_get_type (void) { + static volatile gsize publishing_flickr_publishing_options_pane_size_entry_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_publishing_options_pane_size_entry_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_flickr_publishing_options_pane_value_size_entry_init, publishing_flickr_publishing_options_pane_value_size_entry_free_value, publishing_flickr_publishing_options_pane_value_size_entry_copy_value, publishing_flickr_publishing_options_pane_value_size_entry_peek_pointer, "p", publishing_flickr_publishing_options_pane_value_size_entry_collect_value, "p", publishing_flickr_publishing_options_pane_value_size_entry_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrPublishingOptionsPaneSizeEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_publishing_options_pane_size_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrPublishingOptionsPaneSizeEntry), 0, (GInstanceInitFunc) publishing_flickr_publishing_options_pane_size_entry_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 publishing_flickr_publishing_options_pane_size_entry_type_id; + publishing_flickr_publishing_options_pane_size_entry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFlickrPublishingOptionsPaneSizeEntry", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_flickr_publishing_options_pane_size_entry_type_id__volatile, publishing_flickr_publishing_options_pane_size_entry_type_id); + } + return publishing_flickr_publishing_options_pane_size_entry_type_id__volatile; +} + + +static gpointer publishing_flickr_publishing_options_pane_size_entry_ref (gpointer instance) { + PublishingFlickrPublishingOptionsPaneSizeEntry* self; + self = instance; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return instance; +#line 9128 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_size_entry_unref (gpointer instance) { + PublishingFlickrPublishingOptionsPaneSizeEntry* self; + self = instance; +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_SIZE_ENTRY_GET_CLASS (self)->finalize (self); +#line 1089 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9141 "FlickrPublishing.c" + } +} + + +static PublishingFlickrPublishingOptionsPaneVisibilityEntry* publishing_flickr_publishing_options_pane_visibility_entry_construct (GType object_type, const gchar* creator_title, PublishingFlickrVisibilitySpecification* creator_specification) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry* self = NULL; + PublishingFlickrVisibilitySpecification* _tmp0_ = NULL; + PublishingFlickrVisibilitySpecification* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (creator_title != NULL, NULL); +#line 1103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_VISIBILITY_SPECIFICATION (creator_specification), NULL); +#line 1103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrPublishingOptionsPaneVisibilityEntry*) g_type_create_instance (object_type); +#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = creator_specification; +#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _publishing_flickr_visibility_specification_ref0 (_tmp0_); +#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (self->specification); +#line 1104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->specification = _tmp1_; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = creator_title; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->title); +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->title = _tmp3_; +#line 1103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 9176 "FlickrPublishing.c" +} + + +static PublishingFlickrPublishingOptionsPaneVisibilityEntry* publishing_flickr_publishing_options_pane_visibility_entry_new (const gchar* creator_title, PublishingFlickrVisibilitySpecification* creator_specification) { +#line 1103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_publishing_options_pane_visibility_entry_construct (PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY, creator_title, creator_specification); +#line 9183 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_value_visibility_entry_init (GValue* value) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 9190 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_value_visibility_entry_free_value (GValue* value) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (value->data[0].v_pointer) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_visibility_entry_unref (value->data[0].v_pointer); +#line 9199 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_options_pane_value_visibility_entry_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = publishing_flickr_publishing_options_pane_visibility_entry_ref (src_value->data[0].v_pointer); +#line 9209 "FlickrPublishing.c" + } else { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 9213 "FlickrPublishing.c" + } +} + + +static gpointer publishing_flickr_publishing_options_pane_value_visibility_entry_peek_pointer (const GValue* value) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 9221 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_publishing_options_pane_value_visibility_entry_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (collect_values[0].v_pointer) { +#line 9228 "FlickrPublishing.c" + PublishingFlickrPublishingOptionsPaneVisibilityEntry* object; + object = collect_values[0].v_pointer; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9235 "FlickrPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.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 9239 "FlickrPublishing.c" + } +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = publishing_flickr_publishing_options_pane_visibility_entry_ref (object); +#line 9243 "FlickrPublishing.c" + } else { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 9247 "FlickrPublishing.c" + } +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 9251 "FlickrPublishing.c" +} + + +static gchar* publishing_flickr_publishing_options_pane_value_visibility_entry_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry** object_p; + object_p = collect_values[0].v_pointer; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!object_p) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 9262 "FlickrPublishing.c" + } +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!value->data[0].v_pointer) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = NULL; +#line 9268 "FlickrPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 9272 "FlickrPublishing.c" + } else { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *object_p = publishing_flickr_publishing_options_pane_visibility_entry_ref (value->data[0].v_pointer); +#line 9276 "FlickrPublishing.c" + } +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return NULL; +#line 9280 "FlickrPublishing.c" +} + + +static GParamSpec* publishing_flickr_publishing_options_pane_param_spec_visibility_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingFlickrPublishingOptionsPaneParamSpecVisibilityEntry* spec; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY), NULL); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return G_PARAM_SPEC (spec); +#line 9294 "FlickrPublishing.c" +} + + +static gpointer publishing_flickr_publishing_options_pane_value_get_visibility_entry (const GValue* value) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY), NULL); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return value->data[0].v_pointer; +#line 9303 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_value_set_visibility_entry (GValue* value, gpointer v_object) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry* old; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY)); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY)); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_visibility_entry_ref (value->data[0].v_pointer); +#line 9323 "FlickrPublishing.c" + } else { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 9327 "FlickrPublishing.c" + } +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_visibility_entry_unref (old); +#line 9333 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_options_pane_value_take_visibility_entry (GValue* value, gpointer v_object) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry* old; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY)); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + old = value->data[0].v_pointer; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (v_object) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY)); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = v_object; +#line 9352 "FlickrPublishing.c" + } else { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + value->data[0].v_pointer = NULL; +#line 9356 "FlickrPublishing.c" + } +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (old) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_visibility_entry_unref (old); +#line 9362 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_options_pane_visibility_entry_class_init (PublishingFlickrPublishingOptionsPaneVisibilityEntryClass * klass) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_visibility_entry_parent_class = g_type_class_peek_parent (klass); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingFlickrPublishingOptionsPaneVisibilityEntryClass *) klass)->finalize = publishing_flickr_publishing_options_pane_visibility_entry_finalize; +#line 9372 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_visibility_entry_instance_init (PublishingFlickrPublishingOptionsPaneVisibilityEntry * self) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->ref_count = 1; +#line 9379 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_visibility_entry_finalize (PublishingFlickrPublishingOptionsPaneVisibilityEntry* obj) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry * self; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_TYPE_VISIBILITY_ENTRY, PublishingFlickrPublishingOptionsPaneVisibilityEntry); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_handlers_destroy (self); +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_visibility_specification_unref0 (self->specification); +#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (self->title); +#line 9393 "FlickrPublishing.c" +} + + +static GType publishing_flickr_publishing_options_pane_visibility_entry_get_type (void) { + static volatile gsize publishing_flickr_publishing_options_pane_visibility_entry_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_publishing_options_pane_visibility_entry_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_flickr_publishing_options_pane_value_visibility_entry_init, publishing_flickr_publishing_options_pane_value_visibility_entry_free_value, publishing_flickr_publishing_options_pane_value_visibility_entry_copy_value, publishing_flickr_publishing_options_pane_value_visibility_entry_peek_pointer, "p", publishing_flickr_publishing_options_pane_value_visibility_entry_collect_value, "p", publishing_flickr_publishing_options_pane_value_visibility_entry_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrPublishingOptionsPaneVisibilityEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_publishing_options_pane_visibility_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrPublishingOptionsPaneVisibilityEntry), 0, (GInstanceInitFunc) publishing_flickr_publishing_options_pane_visibility_entry_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 publishing_flickr_publishing_options_pane_visibility_entry_type_id; + publishing_flickr_publishing_options_pane_visibility_entry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingFlickrPublishingOptionsPaneVisibilityEntry", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_flickr_publishing_options_pane_visibility_entry_type_id__volatile, publishing_flickr_publishing_options_pane_visibility_entry_type_id); + } + return publishing_flickr_publishing_options_pane_visibility_entry_type_id__volatile; +} + + +static gpointer publishing_flickr_publishing_options_pane_visibility_entry_ref (gpointer instance) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry* self; + self = instance; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return instance; +#line 9418 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_visibility_entry_unref (gpointer instance) { + PublishingFlickrPublishingOptionsPaneVisibilityEntry* self; + self = instance; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_VISIBILITY_ENTRY_GET_CLASS (self)->finalize (self); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9431 "FlickrPublishing.c" + } +} + + +static void publishing_flickr_publishing_options_pane_class_init (PublishingFlickrPublishingOptionsPaneClass * klass) { +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFlickrPublishingOptionsPanePrivate)); +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_flickr_publishing_options_pane_finalize; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_new ("publish", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_signal_new ("logout", PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 9447 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_flickr_publishing_options_pane_real_get_widget; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_flickr_publishing_options_pane_real_get_preferred_geometry; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_flickr_publishing_options_pane_real_on_pane_installed; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_flickr_publishing_options_pane_real_on_pane_uninstalled; +#line 9462 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_instance_init (PublishingFlickrPublishingOptionsPane * self) { +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv = PUBLISHING_FLICKR_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->pane_widget = NULL; +#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibility_label = NULL; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->upload_info_label = NULL; +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->size_label = NULL; +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->logout_button = NULL; +#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->publish_button = NULL; +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibility_combo = NULL; +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->size_combo = NULL; +#line 1118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->strip_metadata_check = NULL; +#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities = NULL; +#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities_length1 = 0; +#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->_visibilities_size_ = self->priv->visibilities_length1; +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes = NULL; +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes_length1 = 0; +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->_sizes_size_ = self->priv->sizes_length1; +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->parameters = NULL; +#line 1122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->publisher = NULL; +#line 9503 "FlickrPublishing.c" +} + + +static void publishing_flickr_publishing_options_pane_finalize (GObject* obj) { + PublishingFlickrPublishingOptionsPane * self; +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_PUBLISHING_OPTIONS_PANE, PublishingFlickrPublishingOptionsPane); +#line 1109 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 1110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->visibility_label); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->upload_info_label); +#line 1113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->size_label); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->visibility_combo); +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 1118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->visibilities = (_vala_array_free (self->priv->visibilities, self->priv->visibilities_length1, (GDestroyNotify) publishing_flickr_publishing_options_pane_visibility_entry_unref), NULL); +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->sizes = (_vala_array_free (self->priv->sizes, self->priv->sizes_length1, (GDestroyNotify) publishing_flickr_publishing_options_pane_size_entry_unref), NULL); +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 1122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (self->priv->publisher); +#line 1088 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + G_OBJECT_CLASS (publishing_flickr_publishing_options_pane_parent_class)->finalize (obj); +#line 9541 "FlickrPublishing.c" +} + + +GType publishing_flickr_publishing_options_pane_get_type (void) { + static volatile gsize publishing_flickr_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrPublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrPublishingOptionsPane), 0, (GInstanceInitFunc) publishing_flickr_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_flickr_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_flickr_publishing_options_pane_type_id; + publishing_flickr_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingFlickrPublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_flickr_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_flickr_publishing_options_pane_type_id__volatile, publishing_flickr_publishing_options_pane_type_id); + } + return publishing_flickr_publishing_options_pane_type_id__volatile; +} + + +PublishingFlickrUploader* publishing_flickr_uploader_construct (GType object_type, PublishingFlickrSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingFlickrPublishingParameters* parameters, gboolean strip_metadata) { + PublishingFlickrUploader* self = NULL; + PublishingFlickrSession* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingFlickrPublishingParameters* _tmp2_ = NULL; + PublishingFlickrPublishingParameters* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 1289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_SESSION (session), NULL); +#line 1289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (PUBLISHING_FLICKR_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = session; +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = publishables; +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1__length1 = publishables_length1; +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = (PublishingFlickrUploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = parameters; +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = _publishing_flickr_publishing_parameters_ref0 (_tmp2_); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 1293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->parameters = _tmp3_; +#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = strip_metadata; +#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv->strip_metadata = _tmp4_; +#line 1289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return self; +#line 9593 "FlickrPublishing.c" +} + + +PublishingFlickrUploader* publishing_flickr_uploader_new (PublishingFlickrSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingFlickrPublishingParameters* parameters, gboolean strip_metadata) { +#line 1289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return publishing_flickr_uploader_construct (PUBLISHING_FLICKR_TYPE_UPLOADER, session, publishables, publishables_length1, parameters, strip_metadata); +#line 9600 "FlickrPublishing.c" +} + + +static void _vala_array_add30 (gchar*** array, int* length, int* size, gchar* value) { +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if ((*length) == (*size)) { +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 9611 "FlickrPublishing.c" + } +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[(*length)++] = value; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + (*array)[*length] = NULL; +#line 9617 "FlickrPublishing.c" +} + + +static void publishing_flickr_uploader_preprocess_publishable (PublishingFlickrUploader* self, SpitPublishingPublishable* publishable) { + SpitPublishingPublishable* _tmp0_ = NULL; + SpitPublishingPublisherMediaType _tmp1_ = 0; + GExiv2Metadata* publishable_metadata = NULL; + GExiv2Metadata* _tmp2_ = NULL; + GExiv2Metadata* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + GExiv2Metadata* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + GExiv2Metadata* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + GExiv2Metadata* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + GError * _inner_error_ = NULL; +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (PUBLISHING_FLICKR_IS_UPLOADER (self)); +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable)); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = publishable; +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = spit_publishing_publishable_get_media_type (_tmp0_); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp1_ != SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) { +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 9647 "FlickrPublishing.c" + } +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = gexiv2_metadata_new (); +#line 1301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishable_metadata = _tmp2_; +#line 9653 "FlickrPublishing.c" + { + GExiv2Metadata* _tmp3_ = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = publishable_metadata; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = publishable; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = spit_publishing_publishable_get_serialized_file (_tmp4_); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = _tmp5_; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = _tmp7_; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gexiv2_metadata_open_path (_tmp3_, _tmp8_, &_inner_error_); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp8_); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (_tmp6_); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9681 "FlickrPublishing.c" + goto __catch25_g_error; + } + } + goto __finally25; + __catch25_g_error: + { + GError* err = NULL; + SpitPublishingPublishable* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + err = _inner_error_; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp9_ = publishable; +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp10_ = spit_publishing_publishable_get_serialized_file (_tmp9_); +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp11_ = _tmp10_; +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp13_ = _tmp12_; +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_warning ("FlickrPublishing.vala:1305: couldn't read metadata from file '%s' for " \ +"upload preprocessing.", _tmp13_); +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp13_); +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (_tmp11_); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 9716 "FlickrPublishing.c" + } + __finally25: +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _gexiv2_metadata_free0 (publishable_metadata); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 9729 "FlickrPublishing.c" + } +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp14_ = publishable_metadata; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp15_ = gexiv2_metadata_has_iptc (_tmp14_); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (!_tmp15_) { +#line 1314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _gexiv2_metadata_free0 (publishable_metadata); +#line 1314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 9741 "FlickrPublishing.c" + } +#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp16_ = publishable_metadata; +#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp17_ = gexiv2_metadata_has_tag (_tmp16_, "Iptc.Application2.Caption"); +#line 1316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp17_) { +#line 9749 "FlickrPublishing.c" + GExiv2Metadata* _tmp18_ = NULL; + GExiv2Metadata* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp18_ = publishable_metadata; +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp19_ = publishable_metadata; +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp20_ = gexiv2_metadata_get_tag_string (_tmp19_, "Iptc.Application2.Caption"); +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp21_ = _tmp20_; +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp22_ = publishing_rest_support_asciify_string (_tmp21_); +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp23_ = _tmp22_; +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gexiv2_metadata_set_tag_string (_tmp18_, "Iptc.Application2.Caption", _tmp23_); +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp23_); +#line 1317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp21_); +#line 9774 "FlickrPublishing.c" + } +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp24_ = publishable_metadata; +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp25_ = gexiv2_metadata_has_tag (_tmp24_, "Iptc.Application2.Headline"); +#line 1321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp25_) { +#line 9782 "FlickrPublishing.c" + GExiv2Metadata* _tmp26_ = NULL; + GExiv2Metadata* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp26_ = publishable_metadata; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp27_ = publishable_metadata; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp28_ = gexiv2_metadata_get_tag_string (_tmp27_, "Iptc.Application2.Headline"); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp29_ = _tmp28_; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp30_ = publishing_rest_support_asciify_string (_tmp29_); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp31_ = _tmp30_; +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gexiv2_metadata_set_tag_string (_tmp26_, "Iptc.Application2.Headline", _tmp31_); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp31_); +#line 1322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp29_); +#line 9807 "FlickrPublishing.c" + } +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp32_ = publishable_metadata; +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp33_ = gexiv2_metadata_has_tag (_tmp32_, "Iptc.Application2.Keywords"); +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp33_) { +#line 9815 "FlickrPublishing.c" + GeeSet* keyword_set = NULL; + GeeHashSet* _tmp34_ = NULL; + gchar** iptc_keywords = NULL; + GExiv2Metadata* _tmp35_ = NULL; + gchar** _tmp36_ = NULL; + gchar** _tmp37_ = NULL; + gint iptc_keywords_length1 = 0; + gint _iptc_keywords_size_ = 0; + gchar** _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gchar** xmp_keywords = NULL; + GExiv2Metadata* _tmp43_ = NULL; + gchar** _tmp44_ = NULL; + gchar** _tmp45_ = NULL; + gint xmp_keywords_length1 = 0; + gint _xmp_keywords_size_ = 0; + gchar** _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gchar** all_keywords = NULL; + GeeSet* _tmp51_ = NULL; + gint _tmp52_ = 0; + gpointer* _tmp53_ = NULL; + gint all_keywords_length1 = 0; + gint _all_keywords_size_ = 0; + gchar** _tmp54_ = NULL; + gint _tmp54__length1 = 0; + gchar** no_keywords = NULL; + gchar** _tmp55_ = NULL; + gint no_keywords_length1 = 0; + gint _no_keywords_size_ = 0; + gchar** _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gchar* _tmp57_ = NULL; + GExiv2Metadata* _tmp58_ = NULL; + gchar** _tmp59_ = NULL; + gint _tmp59__length1 = 0; + GExiv2Metadata* _tmp60_ = NULL; + gchar** _tmp61_ = NULL; + gint _tmp61__length1 = 0; +#line 1327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp34_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + keyword_set = G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_SET, GeeSet); +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp35_ = publishable_metadata; +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp37_ = _tmp36_ = gexiv2_metadata_get_tag_multiple (_tmp35_, "Iptc.Application2.Keywords"); +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iptc_keywords = _tmp37_; +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iptc_keywords_length1 = _vala_array_length (_tmp36_); +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _iptc_keywords_size_ = iptc_keywords_length1; +#line 1329 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp38_ = iptc_keywords; +#line 1329 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp38__length1 = iptc_keywords_length1; +#line 1329 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp38_ != NULL) { +#line 9875 "FlickrPublishing.c" + gchar** _tmp39_ = NULL; + gint _tmp39__length1 = 0; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp39_ = iptc_keywords; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp39__length1 = iptc_keywords_length1; +#line 9882 "FlickrPublishing.c" + { + gchar** keyword_collection = NULL; + gint keyword_collection_length1 = 0; + gint _keyword_collection_size_ = 0; + gint keyword_it = 0; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + keyword_collection = _tmp39_; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + keyword_collection_length1 = _tmp39__length1; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (keyword_it = 0; keyword_it < _tmp39__length1; keyword_it = keyword_it + 1) { +#line 9894 "FlickrPublishing.c" + gchar* _tmp40_ = NULL; + gchar* keyword = NULL; +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp40_ = g_strdup (keyword_collection[keyword_it]); +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + keyword = _tmp40_; +#line 9901 "FlickrPublishing.c" + { + GeeSet* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp41_ = keyword_set; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp42_ = keyword; +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_COLLECTION, GeeCollection), _tmp42_); +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (keyword); +#line 9913 "FlickrPublishing.c" + } + } + } + } +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp43_ = publishable_metadata; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp45_ = _tmp44_ = gexiv2_metadata_get_tag_multiple (_tmp43_, "Xmp.dc.subject"); +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + xmp_keywords = _tmp45_; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + xmp_keywords_length1 = _vala_array_length (_tmp44_); +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _xmp_keywords_size_ = xmp_keywords_length1; +#line 1334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp46_ = xmp_keywords; +#line 1334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp46__length1 = xmp_keywords_length1; +#line 1334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (_tmp46_ != NULL) { +#line 9934 "FlickrPublishing.c" + gchar** _tmp47_ = NULL; + gint _tmp47__length1 = 0; +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp47_ = xmp_keywords; +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp47__length1 = xmp_keywords_length1; +#line 9941 "FlickrPublishing.c" + { + gchar** keyword_collection = NULL; + gint keyword_collection_length1 = 0; + gint _keyword_collection_size_ = 0; + gint keyword_it = 0; +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + keyword_collection = _tmp47_; +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + keyword_collection_length1 = _tmp47__length1; +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + for (keyword_it = 0; keyword_it < _tmp47__length1; keyword_it = keyword_it + 1) { +#line 9953 "FlickrPublishing.c" + gchar* _tmp48_ = NULL; + gchar* keyword = NULL; +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp48_ = g_strdup (keyword_collection[keyword_it]); +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + keyword = _tmp48_; +#line 9960 "FlickrPublishing.c" + { + GeeSet* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp49_ = keyword_set; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp50_ = keyword; +#line 1336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_COLLECTION, GeeCollection), _tmp50_); +#line 1335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (keyword); +#line 9972 "FlickrPublishing.c" + } + } + } + } +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp51_ = keyword_set; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp53_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp52_); +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + all_keywords = _tmp53_; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + all_keywords_length1 = _tmp52_; +#line 1338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _all_keywords_size_ = all_keywords_length1; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp54_ = all_keywords; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp54__length1 = all_keywords_length1; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _vala_array_add30 (&all_keywords, &all_keywords_length1, &_all_keywords_size_, NULL); +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp55_ = g_new0 (gchar*, 1 + 1); +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + no_keywords = _tmp55_; +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + no_keywords_length1 = 1; +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _no_keywords_size_ = no_keywords_length1; +#line 1350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp56_ = no_keywords; +#line 1350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp56__length1 = no_keywords_length1; +#line 1350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp56_[0]); +#line 1350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp56_[0] = NULL; +#line 1350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp57_ = _tmp56_[0]; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp58_ = publishable_metadata; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp59_ = all_keywords; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp59__length1 = all_keywords_length1; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gexiv2_metadata_set_tag_multiple (_tmp58_, "Xmp.dc.subject", _tmp59_); +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp60_ = publishable_metadata; +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp61_ = no_keywords; +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp61__length1 = no_keywords_length1; +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gexiv2_metadata_set_tag_multiple (_tmp60_, "Iptc.Application2.Keywords", _tmp61_); +#line 10027 "FlickrPublishing.c" + { + GExiv2Metadata* _tmp62_ = NULL; + SpitPublishingPublishable* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + GFile* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp62_ = publishable_metadata; +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp63_ = publishable; +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp64_ = spit_publishing_publishable_get_serialized_file (_tmp63_); +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp65_ = _tmp64_; +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp66_ = g_file_get_path (_tmp65_); +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp67_ = _tmp66_; +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + gexiv2_metadata_save_file (_tmp62_, _tmp67_, &_inner_error_); +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp67_); +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (_tmp65_); +#line 1356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10055 "FlickrPublishing.c" + goto __catch26_g_error; + } + } + goto __finally26; + __catch26_g_error: + { + GError* err = NULL; + SpitPublishingPublishable* _tmp68_ = NULL; + GFile* _tmp69_ = NULL; + GFile* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + err = _inner_error_; +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _inner_error_ = NULL; +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp68_ = publishable; +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp69_ = spit_publishing_publishable_get_serialized_file (_tmp68_); +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp70_ = _tmp69_; +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp71_ = g_file_get_path (_tmp70_); +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp72_ = _tmp71_; +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_warning ("FlickrPublishing.vala:1358: couldn't write metadata to file '%s' for u" \ +"pload preprocessing.", _tmp72_); +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_free0 (_tmp72_); +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (_tmp70_); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_error_free0 (err); +#line 10090 "FlickrPublishing.c" + } + __finally26: +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + no_keywords = (_vala_array_free (no_keywords, no_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + all_keywords = (_vala_array_free (all_keywords, all_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + xmp_keywords = (_vala_array_free (xmp_keywords, xmp_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iptc_keywords = (_vala_array_free (iptc_keywords, iptc_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (keyword_set); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _gexiv2_metadata_free0 (publishable_metadata); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_clear_error (&_inner_error_); +#line 1355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return; +#line 10113 "FlickrPublishing.c" + } +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + no_keywords = (_vala_array_free (no_keywords, no_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + all_keywords = (_vala_array_free (all_keywords, all_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + xmp_keywords = (_vala_array_free (xmp_keywords, xmp_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + iptc_keywords = (_vala_array_free (iptc_keywords, iptc_keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (keyword_set); +#line 10125 "FlickrPublishing.c" + } +#line 1297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _gexiv2_metadata_free0 (publishable_metadata); +#line 10129 "FlickrPublishing.c" +} + + +static PublishingRESTSupportTransaction* publishing_flickr_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingFlickrUploader * self; + PublishingRESTSupportTransaction* result = NULL; + SpitPublishingPublishable* _tmp0_ = NULL; + SpitPublishingPublishable* _tmp1_ = NULL; + PublishingRESTSupportSession* _tmp2_ = NULL; + PublishingFlickrSession* _tmp3_ = NULL; + PublishingFlickrPublishingParameters* _tmp4_ = NULL; + SpitPublishingPublishable* _tmp5_ = NULL; + SpitPublishingPublishable* _tmp6_ = NULL; + PublishingFlickrUploadTransaction* _tmp7_ = NULL; + PublishingRESTSupportTransaction* _tmp8_ = NULL; +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_FLICKR_TYPE_UPLOADER, PublishingFlickrUploader); +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 1366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_current_publishable (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 1366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp1_ = _tmp0_; +#line 1366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_uploader_preprocess_publishable (self, _tmp1_); +#line 1366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (_tmp1_); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp2_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, PUBLISHING_FLICKR_TYPE_SESSION, PublishingFlickrSession); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp4_ = self->priv->parameters; +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp5_ = publishing_rest_support_batch_uploader_get_current_publishable (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp6_ = _tmp5_; +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp7_ = publishing_flickr_upload_transaction_new (_tmp3_, _tmp4_, _tmp6_); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _g_object_unref0 (_tmp6_); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp3_); +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + result = _tmp8_; +#line 1367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + return result; +#line 10179 "FlickrPublishing.c" +} + + +static void publishing_flickr_uploader_class_init (PublishingFlickrUploaderClass * klass) { +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + publishing_flickr_uploader_parent_class = g_type_class_peek_parent (klass); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_flickr_uploader_finalize; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingFlickrUploaderPrivate)); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_flickr_uploader_real_create_transaction; +#line 10192 "FlickrPublishing.c" +} + + +static void publishing_flickr_uploader_instance_init (PublishingFlickrUploader * self) { +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self->priv = PUBLISHING_FLICKR_UPLOADER_GET_PRIVATE (self); +#line 10199 "FlickrPublishing.c" +} + + +static void publishing_flickr_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingFlickrUploader * self; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_FLICKR_TYPE_UPLOADER, PublishingFlickrUploader); +#line 1286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + _publishing_flickr_publishing_parameters_unref0 (self->priv->parameters); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/FlickrPublishing.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_flickr_uploader_parent_class)->finalize (obj); +#line 10211 "FlickrPublishing.c" +} + + +GType publishing_flickr_uploader_get_type (void) { + static volatile gsize publishing_flickr_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_flickr_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingFlickrUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_flickr_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingFlickrUploader), 0, (GInstanceInitFunc) publishing_flickr_uploader_instance_init, NULL }; + GType publishing_flickr_uploader_type_id; + publishing_flickr_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingFlickrUploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_flickr_uploader_type_id__volatile, publishing_flickr_uploader_type_id); + } + return publishing_flickr_uploader_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/plugins/shotwell-publishing/FlickrPublishing.vala b/plugins/shotwell-publishing/FlickrPublishing.vala index e6c1104..415e36a 100644 --- a/plugins/shotwell-publishing/FlickrPublishing.vala +++ b/plugins/shotwell-publishing/FlickrPublishing.vala @@ -4,8 +4,6 @@ * (version 2.1 or later). See the COPYING file in this distribution. */ -extern string hmac_sha1(string key, string message); - public class FlickrService : Object, Spit.Pluggable, Spit.Publishing.Service { private const string ICON_FILENAME = "flickr.png"; @@ -13,7 +11,8 @@ public class FlickrService : Object, Spit.Pluggable, Spit.Publishing.Service { public FlickrService(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = Resources.load_from_resource + (Resources.RESOURCE_PATH + "/" + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { @@ -436,7 +435,8 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object { Gtk.Builder builder = new Gtk.Builder(); try { - builder.add_from_file(host.get_module_file().get_parent().get_child("flickr_pin_entry_pane.glade").get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + "/" + + "flickr_pin_entry_pane.ui"); } catch (Error e) { warning("Could not parse UI file! Error: %s.", e.message); host.post_error( @@ -585,9 +585,8 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object { try { // the trailing get_path() is required, since add_from_file can't cope // with File objects directly and expects a pathname instead. - builder.add_from_file( - host.get_module_file().get_parent(). - get_child("flickr_publishing_options_pane.glade").get_path()); + builder.add_from_resource(Resources.RESOURCE_PATH + "/" + + "flickr_publishing_options_pane.ui"); } catch (Error e) { warning("Could not parse UI file! Error: %s.", e.message); host.post_error( @@ -1029,7 +1028,7 @@ internal class Session : Publishing.RESTSupport.Session { debug("signing key = '%s'", signing_key); // compute the signature - string signature = hmac_sha1(signing_key, signature_base_string); + string signature = RESTSupport.hmac_sha1(signing_key, signature_base_string); signature = Soup.URI.encode(signature, ENCODE_RFC_3986_EXTRA); debug("signature = '%s'", signature); diff --git a/plugins/shotwell-publishing/Makefile b/plugins/shotwell-publishing/Makefile deleted file mode 100644 index 607bc6b..0000000 --- a/plugins/shotwell-publishing/Makefile +++ /dev/null @@ -1,37 +0,0 @@ - -PLUGIN := shotwell-publishing - -PLUGIN_PKGS := \ - gtk+-3.0 \ - libsoup-2.4 \ - libxml-2.0 \ - webkit2gtk-4.0 \ - gexiv2 \ - rest-0.7 \ - gee-0.8 \ - json-glib-1.0 - -SRC_FILES := \ - shotwell-publishing.vala \ - FacebookPublishing.vala \ - PicasaPublishing.vala \ - FlickrPublishing.vala \ - YouTubePublishing.vala \ - PiwigoPublishing.vala - -RC_FILES := \ - facebook.png \ - facebook_publishing_options_pane.glade \ - flickr.png \ - flickr_publishing_options_pane.glade \ - flickr_pin_entry_pane.glade \ - picasa.png \ - picasa_publishing_options_pane.glade \ - piwigo.png \ - piwigo_authentication_pane.glade \ - piwigo_publishing_options_pane.glade \ - youtube.png \ - youtube_publishing_options_pane.glade - -include ../Makefile.plugin.mk - diff --git a/plugins/shotwell-publishing/PicasaPublishing.c b/plugins/shotwell-publishing/PicasaPublishing.c new file mode 100644 index 0000000..cda058e --- /dev/null +++ b/plugins/shotwell-publishing/PicasaPublishing.c @@ -0,0 +1,7773 @@ +/* PicasaPublishing.c generated by valac 0.32.1, the Vala compiler + * generated from PicasaPublishing.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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PICASA_SERVICE (picasa_service_get_type ()) +#define PICASA_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PICASA_SERVICE, PicasaService)) +#define PICASA_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PICASA_SERVICE, PicasaServiceClass)) +#define IS_PICASA_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PICASA_SERVICE)) +#define IS_PICASA_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PICASA_SERVICE)) +#define PICASA_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PICASA_SERVICE, PicasaServiceClass)) + +typedef struct _PicasaService PicasaService; +typedef struct _PicasaServiceClass PicasaServiceClass; +typedef struct _PicasaServicePrivate PicasaServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER (publishing_picasa_picasa_publisher_get_type ()) +#define PUBLISHING_PICASA_PICASA_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisher)) +#define PUBLISHING_PICASA_PICASA_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisherClass)) +#define PUBLISHING_PICASA_IS_PICASA_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER)) +#define PUBLISHING_PICASA_IS_PICASA_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER)) +#define PUBLISHING_PICASA_PICASA_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisherClass)) + +typedef struct _PublishingPicasaPicasaPublisher PublishingPicasaPicasaPublisher; +typedef struct _PublishingPicasaPicasaPublisherClass PublishingPicasaPicasaPublisherClass; +typedef struct _PublishingPicasaPicasaPublisherPrivate PublishingPicasaPicasaPublisherPrivate; + +#define PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS (publishing_picasa_publishing_parameters_get_type ()) +#define PUBLISHING_PICASA_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS, PublishingPicasaPublishingParameters)) +#define PUBLISHING_PICASA_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS, PublishingPicasaPublishingParametersClass)) +#define PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_PICASA_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS, PublishingPicasaPublishingParametersClass)) + +typedef struct _PublishingPicasaPublishingParameters PublishingPicasaPublishingParameters; +typedef struct _PublishingPicasaPublishingParametersClass PublishingPicasaPublishingParametersClass; +#define _publishing_picasa_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_picasa_publishing_parameters_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define PUBLISHING_PICASA_TYPE_ALBUM (publishing_picasa_album_get_type ()) +#define PUBLISHING_PICASA_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_ALBUM, PublishingPicasaAlbum)) +#define PUBLISHING_PICASA_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_ALBUM, PublishingPicasaAlbumClass)) +#define PUBLISHING_PICASA_IS_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_ALBUM)) +#define PUBLISHING_PICASA_IS_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_ALBUM)) +#define PUBLISHING_PICASA_ALBUM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_ALBUM, PublishingPicasaAlbumClass)) + +typedef struct _PublishingPicasaAlbum PublishingPicasaAlbum; +typedef struct _PublishingPicasaAlbumClass PublishingPicasaAlbumClass; +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) + +#define PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION (publishing_picasa_album_directory_transaction_get_type ()) +#define PUBLISHING_PICASA_ALBUM_DIRECTORY_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION, PublishingPicasaAlbumDirectoryTransaction)) +#define PUBLISHING_PICASA_ALBUM_DIRECTORY_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION, PublishingPicasaAlbumDirectoryTransactionClass)) +#define PUBLISHING_PICASA_IS_ALBUM_DIRECTORY_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION)) +#define PUBLISHING_PICASA_IS_ALBUM_DIRECTORY_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION)) +#define PUBLISHING_PICASA_ALBUM_DIRECTORY_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION, PublishingPicasaAlbumDirectoryTransactionClass)) + +typedef struct _PublishingPicasaAlbumDirectoryTransaction PublishingPicasaAlbumDirectoryTransaction; +typedef struct _PublishingPicasaAlbumDirectoryTransactionClass PublishingPicasaAlbumDirectoryTransactionClass; + +#define PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION (publishing_picasa_album_creation_transaction_get_type ()) +#define PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION, PublishingPicasaAlbumCreationTransaction)) +#define PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION, PublishingPicasaAlbumCreationTransactionClass)) +#define PUBLISHING_PICASA_IS_ALBUM_CREATION_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION)) +#define PUBLISHING_PICASA_IS_ALBUM_CREATION_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION)) +#define PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION, PublishingPicasaAlbumCreationTransactionClass)) + +typedef struct _PublishingPicasaAlbumCreationTransaction PublishingPicasaAlbumCreationTransaction; +typedef struct _PublishingPicasaAlbumCreationTransactionClass PublishingPicasaAlbumCreationTransactionClass; +#define _publishing_rest_support_xml_document_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_xml_document_unref (var), NULL))) +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _PublishingPicasaAlbumPrivate PublishingPicasaAlbumPrivate; + +#define PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE (publishing_picasa_publishing_options_pane_get_type ()) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPane)) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPaneClass)) +#define PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPaneClass)) + +typedef struct _PublishingPicasaPublishingOptionsPane PublishingPicasaPublishingOptionsPane; +typedef struct _PublishingPicasaPublishingOptionsPaneClass PublishingPicasaPublishingOptionsPaneClass; + +#define PUBLISHING_PICASA_TYPE_UPLOADER (publishing_picasa_uploader_get_type ()) +#define PUBLISHING_PICASA_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_UPLOADER, PublishingPicasaUploader)) +#define PUBLISHING_PICASA_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_UPLOADER, PublishingPicasaUploaderClass)) +#define PUBLISHING_PICASA_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_UPLOADER)) +#define PUBLISHING_PICASA_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_UPLOADER)) +#define PUBLISHING_PICASA_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_UPLOADER, PublishingPicasaUploaderClass)) + +typedef struct _PublishingPicasaUploader PublishingPicasaUploader; +typedef struct _PublishingPicasaUploaderClass PublishingPicasaUploaderClass; +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_unref (var), NULL))) +typedef struct _PublishingPicasaParamSpecAlbum PublishingPicasaParamSpecAlbum; +typedef struct _PublishingPicasaAlbumDirectoryTransactionPrivate PublishingPicasaAlbumDirectoryTransactionPrivate; +typedef struct _PublishingPicasaAlbumCreationTransactionPrivate PublishingPicasaAlbumCreationTransactionPrivate; + +#define PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION (publishing_picasa_upload_transaction_get_type ()) +#define PUBLISHING_PICASA_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION, PublishingPicasaUploadTransaction)) +#define PUBLISHING_PICASA_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION, PublishingPicasaUploadTransactionClass)) +#define PUBLISHING_PICASA_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_PICASA_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_PICASA_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION, PublishingPicasaUploadTransactionClass)) + +typedef struct _PublishingPicasaUploadTransaction PublishingPicasaUploadTransaction; +typedef struct _PublishingPicasaUploadTransactionClass PublishingPicasaUploadTransactionClass; +typedef struct _PublishingPicasaUploadTransactionPrivate PublishingPicasaUploadTransactionPrivate; +#define _g_mapped_file_unref0(var) ((var == NULL) ? NULL : (var = (g_mapped_file_unref (var), NULL))) +#define __vala_SoupBuffer_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupBuffer_free (var), NULL))) +#define __vala_SoupMultipart_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupMultipart_free (var), NULL))) +typedef struct _PublishingPicasaPublishingOptionsPanePrivate PublishingPicasaPublishingOptionsPanePrivate; + +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION (publishing_picasa_publishing_options_pane_size_description_get_type ()) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_SIZE_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION, PublishingPicasaPublishingOptionsPaneSizeDescription)) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_SIZE_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION, PublishingPicasaPublishingOptionsPaneSizeDescriptionClass)) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_IS_SIZE_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION)) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_IS_SIZE_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION)) +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_SIZE_DESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION, PublishingPicasaPublishingOptionsPaneSizeDescriptionClass)) + +typedef struct _PublishingPicasaPublishingOptionsPaneSizeDescription PublishingPicasaPublishingOptionsPaneSizeDescription; +typedef struct _PublishingPicasaPublishingOptionsPaneSizeDescriptionClass PublishingPicasaPublishingOptionsPaneSizeDescriptionClass; +#define _g_slist_free0(var) ((var == NULL) ? NULL : (var = (g_slist_free (var), NULL))) +typedef struct _PublishingPicasaPublishingOptionsPaneSizeDescriptionPrivate PublishingPicasaPublishingOptionsPaneSizeDescriptionPrivate; +#define _publishing_picasa_publishing_options_pane_size_description_unref0(var) ((var == NULL) ? NULL : (var = (publishing_picasa_publishing_options_pane_size_description_unref (var), NULL))) +typedef struct _PublishingPicasaPublishingOptionsPaneParamSpecSizeDescription PublishingPicasaPublishingOptionsPaneParamSpecSizeDescription; +typedef struct _PublishingPicasaPublishingParametersPrivate PublishingPicasaPublishingParametersPrivate; +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +typedef struct _PublishingPicasaParamSpecPublishingParameters PublishingPicasaParamSpecPublishingParameters; +typedef struct _PublishingPicasaUploaderPrivate PublishingPicasaUploaderPrivate; +#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 _PicasaService { + GObject parent_instance; + PicasaServicePrivate * priv; +}; + +struct _PicasaServiceClass { + GObjectClass parent_class; +}; + +struct _PublishingPicasaPicasaPublisher { + PublishingRESTSupportGooglePublisher parent_instance; + PublishingPicasaPicasaPublisherPrivate * priv; +}; + +struct _PublishingPicasaPicasaPublisherClass { + PublishingRESTSupportGooglePublisherClass parent_class; +}; + +struct _PublishingPicasaPicasaPublisherPrivate { + gboolean running; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; + PublishingPicasaPublishingParameters* publishing_parameters; + gchar* refresh_token; +}; + +struct _PublishingPicasaAlbum { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingPicasaAlbumPrivate * priv; + gchar* name; + gchar* url; +}; + +struct _PublishingPicasaAlbumClass { + GTypeClass parent_class; + void (*finalize) (PublishingPicasaAlbum *self); +}; + +struct _PublishingPicasaParamSpecAlbum { + GParamSpec parent_instance; +}; + +struct _PublishingPicasaAlbumDirectoryTransaction { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction parent_instance; + PublishingPicasaAlbumDirectoryTransactionPrivate * priv; +}; + +struct _PublishingPicasaAlbumDirectoryTransactionClass { + PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass parent_class; +}; + +struct _PublishingPicasaAlbumCreationTransaction { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction parent_instance; + PublishingPicasaAlbumCreationTransactionPrivate * priv; +}; + +struct _PublishingPicasaAlbumCreationTransactionClass { + PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass parent_class; +}; + +struct _PublishingPicasaUploadTransaction { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction parent_instance; + PublishingPicasaUploadTransactionPrivate * priv; +}; + +struct _PublishingPicasaUploadTransactionClass { + PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass parent_class; +}; + +struct _PublishingPicasaUploadTransactionPrivate { + PublishingPicasaPublishingParameters* parameters; + PublishingRESTSupportGoogleSession* session; + gchar* mime_type; + SpitPublishingPublishable* publishable; + GMappedFile* mapped_file; +}; + +struct _PublishingPicasaPublishingOptionsPane { + GObject parent_instance; + PublishingPicasaPublishingOptionsPanePrivate * priv; +}; + +struct _PublishingPicasaPublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingPicasaPublishingOptionsPanePrivate { + GtkBuilder* builder; + GtkBox* pane_widget; + GtkLabel* login_identity_label; + GtkLabel* publish_to_label; + GtkRadioButton* use_existing_radio; + GtkComboBoxText* existing_albums_combo; + GtkRadioButton* create_new_radio; + GtkEntry* new_album_entry; + GtkCheckButton* public_check; + GtkComboBoxText* size_combo; + GtkCheckButton* strip_metadata_check; + GtkButton* publish_button; + GtkButton* logout_button; + PublishingPicasaPublishingOptionsPaneSizeDescription** size_descriptions; + gint size_descriptions_length1; + gint _size_descriptions_size_; + PublishingPicasaPublishingParameters* parameters; +}; + +struct _PublishingPicasaPublishingOptionsPaneSizeDescription { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingPicasaPublishingOptionsPaneSizeDescriptionPrivate * priv; + gchar* name; + gint major_axis_pixels; +}; + +struct _PublishingPicasaPublishingOptionsPaneSizeDescriptionClass { + GTypeClass parent_class; + void (*finalize) (PublishingPicasaPublishingOptionsPaneSizeDescription *self); +}; + +struct _PublishingPicasaPublishingOptionsPaneParamSpecSizeDescription { + GParamSpec parent_instance; +}; + +struct _PublishingPicasaPublishingParameters { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingPicasaPublishingParametersPrivate * priv; +}; + +struct _PublishingPicasaPublishingParametersClass { + GTypeClass parent_class; + void (*finalize) (PublishingPicasaPublishingParameters *self); +}; + +struct _PublishingPicasaPublishingParametersPrivate { + gchar* target_album_name; + gchar* target_album_url; + gboolean album_public; + gboolean strip_metadata; + gint major_axis_size_pixels; + gint major_axis_size_selection_id; + gchar* user_name; + PublishingPicasaAlbum** albums; + gint albums_length1; + gint _albums_size_; + SpitPublishingPublisherMediaType media_type; + gboolean to_new_album; +}; + +struct _PublishingPicasaParamSpecPublishingParameters { + GParamSpec parent_instance; +}; + +struct _PublishingPicasaUploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingPicasaUploaderPrivate * priv; +}; + +struct _PublishingPicasaUploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingPicasaUploaderPrivate { + PublishingPicasaPublishingParameters* parameters; +}; + + +static gpointer picasa_service_parent_class = NULL; +static GdkPixbuf** picasa_service_icon_pixbuf_set; +static gint picasa_service_icon_pixbuf_set_length1; +static GdkPixbuf** picasa_service_icon_pixbuf_set = NULL; +static gint picasa_service_icon_pixbuf_set_length1 = 0; +static gint _picasa_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* picasa_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* picasa_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_picasa_picasa_publisher_parent_class = NULL; +static gpointer publishing_picasa_album_parent_class = NULL; +static gpointer publishing_picasa_album_directory_transaction_parent_class = NULL; +static gpointer publishing_picasa_album_creation_transaction_parent_class = NULL; +static gpointer publishing_picasa_upload_transaction_parent_class = NULL; +static gpointer publishing_picasa_publishing_options_pane_parent_class = NULL; +static gpointer publishing_picasa_publishing_options_pane_size_description_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_picasa_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_picasa_publishing_parameters_parent_class = NULL; +static gpointer publishing_picasa_uploader_parent_class = NULL; + +GType picasa_service_get_type (void) G_GNUC_CONST; +enum { + PICASA_SERVICE_DUMMY_PROPERTY +}; +#define PICASA_SERVICE_ICON_FILENAME "picasa.png" +PicasaService* picasa_service_new (GFile* resource_directory); +PicasaService* picasa_service_construct (GType object_type, GFile* resource_directory); +static gint picasa_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* picasa_service_real_get_id (SpitPluggable* base); +static const gchar* picasa_service_real_get_pluggable_name (SpitPluggable* base); +static void picasa_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup4 (GdkPixbuf** self, int length); +static SpitPublishingPublisher* picasa_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingPicasaPicasaPublisher* publishing_picasa_picasa_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingPicasaPicasaPublisher* publishing_picasa_picasa_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_picasa_picasa_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType picasa_service_real_get_supported_media (SpitPublishingService* base); +static void picasa_service_real_activation (SpitPluggable* base, gboolean enabled); +static void picasa_service_finalize (GObject* obj); +#define PUBLISHING_PICASA_SERVICE_WELCOME_MESSAGE _ ("You are not currently logged into Picasa Web Albums.\n" \ +"\n" \ +"Click Login to log into Picasa Web Albums in your Web browser. You wil" \ +"l have to authorize Shotwell Connect to link to your Picasa Web Albums" \ +" account.") +#define PUBLISHING_PICASA_DEFAULT_ALBUM_NAME _ ("Shotwell Connect") +gpointer publishing_picasa_publishing_parameters_ref (gpointer instance); +void publishing_picasa_publishing_parameters_unref (gpointer instance); +GParamSpec* publishing_picasa_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_picasa_value_set_publishing_parameters (GValue* value, gpointer v_object); +void publishing_picasa_value_take_publishing_parameters (GValue* value, gpointer v_object); +gpointer publishing_picasa_value_get_publishing_parameters (const GValue* value); +GType publishing_picasa_publishing_parameters_get_type (void) G_GNUC_CONST; +#define PUBLISHING_PICASA_PICASA_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisherPrivate)) +enum { + PUBLISHING_PICASA_PICASA_PUBLISHER_DUMMY_PROPERTY +}; +PublishingPicasaPublishingParameters* publishing_picasa_publishing_parameters_new (void); +PublishingPicasaPublishingParameters* publishing_picasa_publishing_parameters_construct (GType object_type); +static void publishing_picasa_picasa_publisher_load_parameters_from_configuration_system (PublishingPicasaPicasaPublisher* self, PublishingPicasaPublishingParameters* parameters); +void publishing_picasa_publishing_parameters_set_media_type (PublishingPicasaPublishingParameters* self, SpitPublishingPublisherMediaType media_type); +gpointer publishing_picasa_album_ref (gpointer instance); +void publishing_picasa_album_unref (gpointer instance); +GParamSpec* publishing_picasa_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_picasa_value_set_album (GValue* value, gpointer v_object); +void publishing_picasa_value_take_album (GValue* value, gpointer v_object); +gpointer publishing_picasa_value_get_album (const GValue* value); +GType publishing_picasa_album_get_type (void) G_GNUC_CONST; +static PublishingPicasaAlbum** publishing_picasa_picasa_publisher_extract_albums_helper (PublishingPicasaPicasaPublisher* self, xmlNode* document_root, int* result_length1, GError** error); +PublishingPicasaAlbum* publishing_picasa_album_new (const gchar* name, const gchar* url); +PublishingPicasaAlbum* publishing_picasa_album_construct (GType object_type, const gchar* name, const gchar* url); +static void _vala_array_add12 (PublishingPicasaAlbum*** array, int* length, int* size, PublishingPicasaAlbum* value); +void publishing_picasa_publishing_parameters_set_major_axis_size_selection_id (PublishingPicasaPublishingParameters* self, gint selection_id); +void publishing_picasa_publishing_parameters_set_strip_metadata (PublishingPicasaPublishingParameters* self, gboolean strip_metadata); +void publishing_picasa_publishing_parameters_set_target_album_name (PublishingPicasaPublishingParameters* self, const gchar* target_album_name); +static void publishing_picasa_picasa_publisher_save_parameters_to_configuration_system (PublishingPicasaPicasaPublisher* self, PublishingPicasaPublishingParameters* parameters); +gint publishing_picasa_publishing_parameters_get_major_axis_size_selection_id (PublishingPicasaPublishingParameters* self); +gboolean publishing_picasa_publishing_parameters_get_strip_metadata (PublishingPicasaPublishingParameters* self); +gchar* publishing_picasa_publishing_parameters_get_target_album_name (PublishingPicasaPublishingParameters* self); +static void publishing_picasa_picasa_publisher_on_service_welcome_login (PublishingPicasaPicasaPublisher* self); +static void publishing_picasa_picasa_publisher_real_on_login_flow_complete (PublishingRESTSupportGooglePublisher* base); +void publishing_picasa_publishing_parameters_set_user_name (PublishingPicasaPublishingParameters* self, const gchar* user_name); +static void publishing_picasa_picasa_publisher_do_fetch_account_information (PublishingPicasaPicasaPublisher* self); +static void publishing_picasa_picasa_publisher_on_initial_album_fetch_complete (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_picasa_picasa_publisher_on_initial_album_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_picasa_picasa_publisher_on_initial_album_fetch_error (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_picasa_picasa_publisher_on_initial_album_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +GType publishing_picasa_album_directory_transaction_get_type (void) G_GNUC_CONST; +static void publishing_picasa_picasa_publisher_do_parse_and_display_account_information (PublishingPicasaPicasaPublisher* self, PublishingPicasaAlbumDirectoryTransaction* transaction); +static void publishing_picasa_picasa_publisher_on_publishing_options_logout (PublishingPicasaPicasaPublisher* self); +static void publishing_picasa_picasa_publisher_on_publishing_options_publish (PublishingPicasaPicasaPublisher* self); +gboolean publishing_picasa_publishing_parameters_is_to_new_album (PublishingPicasaPublishingParameters* self); +static void publishing_picasa_picasa_publisher_do_create_album (PublishingPicasaPicasaPublisher* self); +static void publishing_picasa_picasa_publisher_do_upload (PublishingPicasaPicasaPublisher* self); +static void publishing_picasa_picasa_publisher_on_album_creation_complete (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_picasa_picasa_publisher_on_album_creation_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_picasa_picasa_publisher_on_album_creation_error (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_picasa_picasa_publisher_on_album_creation_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +GType publishing_picasa_album_creation_transaction_get_type (void) G_GNUC_CONST; +gchar* publishing_picasa_album_directory_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc); +static gchar* _publishing_picasa_album_directory_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self); +void publishing_picasa_publishing_parameters_set_target_album_entry_url (PublishingPicasaPublishingParameters* self, const gchar* target_album_url); +static void publishing_picasa_picasa_publisher_on_upload_status_updated (PublishingPicasaPicasaPublisher* self, gint file_number, gdouble completed_fraction); +static void publishing_picasa_picasa_publisher_on_upload_complete (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_picasa_picasa_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_picasa_picasa_publisher_on_upload_error (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err); +static void _publishing_picasa_picasa_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_picasa_picasa_publisher_do_show_success_pane (PublishingPicasaPicasaPublisher* self); +static void publishing_picasa_picasa_publisher_do_show_service_welcome_pane (PublishingPicasaPicasaPublisher* self); +static void _publishing_picasa_picasa_publisher_on_service_welcome_login_spit_publishing_login_callback (gpointer self); +PublishingPicasaAlbumDirectoryTransaction* publishing_picasa_album_directory_transaction_new (PublishingRESTSupportGoogleSession* session); +PublishingPicasaAlbumDirectoryTransaction* publishing_picasa_album_directory_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session); +void publishing_picasa_publishing_parameters_set_albums (PublishingPicasaPublishingParameters* self, PublishingPicasaAlbum** albums, int albums_length1); +static void publishing_picasa_picasa_publisher_do_show_publishing_options_pane (PublishingPicasaPicasaPublisher* self); +GType publishing_picasa_publishing_options_pane_get_type (void) G_GNUC_CONST; +PublishingPicasaPublishingOptionsPane* publishing_picasa_publishing_options_pane_new (GtkBuilder* builder, PublishingPicasaPublishingParameters* parameters); +PublishingPicasaPublishingOptionsPane* publishing_picasa_publishing_options_pane_construct (GType object_type, GtkBuilder* builder, PublishingPicasaPublishingParameters* parameters); +static void _publishing_picasa_picasa_publisher_on_publishing_options_publish_publishing_picasa_publishing_options_pane_publish (PublishingPicasaPublishingOptionsPane* _sender, gpointer self); +static void _publishing_picasa_picasa_publisher_on_publishing_options_logout_publishing_picasa_publishing_options_pane_logout (PublishingPicasaPublishingOptionsPane* _sender, gpointer self); +PublishingPicasaAlbumCreationTransaction* publishing_picasa_album_creation_transaction_new (PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters); +PublishingPicasaAlbumCreationTransaction* publishing_picasa_album_creation_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters); +gint publishing_picasa_publishing_parameters_get_major_axis_size_pixels (PublishingPicasaPublishingParameters* self); +GType publishing_picasa_uploader_get_type (void) G_GNUC_CONST; +PublishingPicasaUploader* publishing_picasa_uploader_new (PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPicasaPublishingParameters* parameters); +PublishingPicasaUploader* publishing_picasa_uploader_construct (GType object_type, PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPicasaPublishingParameters* parameters); +static void _publishing_picasa_picasa_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_picasa_picasa_publisher_real_do_logout (PublishingRESTSupportGooglePublisher* base); +static gboolean publishing_picasa_picasa_publisher_real_is_running (PublishingRESTSupportGooglePublisher* base); +static void publishing_picasa_picasa_publisher_real_start (PublishingRESTSupportGooglePublisher* base); +static void publishing_picasa_picasa_publisher_real_stop (PublishingRESTSupportGooglePublisher* base); +static void publishing_picasa_picasa_publisher_finalize (GObject* obj); +enum { + PUBLISHING_PICASA_ALBUM_DUMMY_PROPERTY +}; +static void publishing_picasa_album_finalize (PublishingPicasaAlbum* obj); +enum { + PUBLISHING_PICASA_ALBUM_DIRECTORY_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_PICASA_ALBUM_DIRECTORY_TRANSACTION_ENDPOINT_URL "http://picasaweb.google.com/data/feed/api/user/" "default" +enum { + PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION_ENDPOINT_URL "http://picasaweb.google.com/data/feed/api/user/" "default" +#define PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION_ALBUM_ENTRY_TEMPLATE "%s%s" +gboolean publishing_picasa_publishing_parameters_is_new_album_public (PublishingPicasaPublishingParameters* self); +GType publishing_picasa_upload_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_PICASA_UPLOAD_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION, PublishingPicasaUploadTransactionPrivate)) +enum { + PUBLISHING_PICASA_UPLOAD_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_PICASA_UPLOAD_TRANSACTION_METADATA_TEMPLATE " %s %s %s " +PublishingPicasaUploadTransaction* publishing_picasa_upload_transaction_new (PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters, SpitPublishingPublishable* publishable); +PublishingPicasaUploadTransaction* publishing_picasa_upload_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters, SpitPublishingPublishable* publishable); +gchar* publishing_picasa_publishing_parameters_get_target_album_feed_url (PublishingPicasaPublishingParameters* self); +static void publishing_picasa_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +static void _vala_SoupBuffer_free (SoupBuffer* self); +static void _vala_SoupMultipart_free (SoupMultipart* self); +static void publishing_picasa_upload_transaction_finalize (PublishingRESTSupportTransaction* obj); +static gpointer publishing_picasa_publishing_options_pane_size_description_ref (gpointer instance); +static void publishing_picasa_publishing_options_pane_size_description_unref (gpointer instance); +static GParamSpec* publishing_picasa_publishing_options_pane_param_spec_size_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void publishing_picasa_publishing_options_pane_value_set_size_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void publishing_picasa_publishing_options_pane_value_take_size_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer publishing_picasa_publishing_options_pane_value_get_size_description (const GValue* value) G_GNUC_UNUSED; +static GType publishing_picasa_publishing_options_pane_size_description_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPanePrivate)) +enum { + PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_DEFAULT_SIZE_CONFIG_KEY "default_size" +#define PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_LAST_ALBUM_CONFIG_KEY "last_album" +static PublishingPicasaPublishingOptionsPaneSizeDescription** publishing_picasa_publishing_options_pane_create_size_descriptions (PublishingPicasaPublishingOptionsPane* self, int* result_length1); +gchar* publishing_picasa_publishing_parameters_get_user_name (PublishingPicasaPublishingParameters* self); +SpitPublishingPublisherMediaType publishing_picasa_publishing_parameters_get_media_type (PublishingPicasaPublishingParameters* self); +static void publishing_picasa_publishing_options_pane_on_use_existing_radio_clicked (PublishingPicasaPublishingOptionsPane* self); +static void _publishing_picasa_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_picasa_publishing_options_pane_on_create_new_radio_clicked (PublishingPicasaPublishingOptionsPane* self); +static void _publishing_picasa_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_picasa_publishing_options_pane_on_new_album_entry_changed (PublishingPicasaPublishingOptionsPane* self); +static void _publishing_picasa_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_picasa_publishing_options_pane_on_logout_clicked (PublishingPicasaPublishingOptionsPane* self); +static void _publishing_picasa_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_picasa_publishing_options_pane_on_publish_clicked (PublishingPicasaPublishingOptionsPane* self); +static void _publishing_picasa_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +void publishing_picasa_publishing_parameters_set_major_axis_size_pixels (PublishingPicasaPublishingParameters* self, gint pixels); +PublishingPicasaAlbum** publishing_picasa_publishing_parameters_get_albums (PublishingPicasaPublishingParameters* self, int* result_length1); +void publishing_picasa_publishing_parameters_set_is_to_new_album (PublishingPicasaPublishingParameters* self, gboolean to_new_album); +void publishing_picasa_publishing_parameters_set_is_new_album_public (PublishingPicasaPublishingParameters* self, gboolean album_public); +static void publishing_picasa_publishing_options_pane_update_publish_button_sensitivity (PublishingPicasaPublishingOptionsPane* self); +static PublishingPicasaPublishingOptionsPaneSizeDescription* publishing_picasa_publishing_options_pane_size_description_new (const gchar* name, gint major_axis_pixels); +static PublishingPicasaPublishingOptionsPaneSizeDescription* publishing_picasa_publishing_options_pane_size_description_construct (GType object_type, const gchar* name, gint major_axis_pixels); +static void _vala_array_add13 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value); +static void _vala_array_add14 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value); +static void _vala_array_add15 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value); +static void _vala_array_add16 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value); +#define PUBLISHING_PICASA_PUBLISHING_PARAMETERS_ORIGINAL_SIZE -1 +static void _vala_array_add17 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value); +void publishing_picasa_publishing_options_pane_installed (PublishingPicasaPublishingOptionsPane* self); +static GtkWidget* publishing_picasa_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_picasa_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_picasa_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_picasa_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +enum { + PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_SIZE_DESCRIPTION_DUMMY_PROPERTY +}; +static void publishing_picasa_publishing_options_pane_size_description_finalize (PublishingPicasaPublishingOptionsPaneSizeDescription* obj); +static void publishing_picasa_publishing_options_pane_finalize (GObject* obj); +#define PUBLISHING_PICASA_PUBLISHING_PARAMETERS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS, PublishingPicasaPublishingParametersPrivate)) +enum { + PUBLISHING_PICASA_PUBLISHING_PARAMETERS_DUMMY_PROPERTY +}; +gchar* publishing_picasa_publishing_parameters_get_target_album_entry_url (PublishingPicasaPublishingParameters* self); +static PublishingPicasaAlbum** _vala_array_dup5 (PublishingPicasaAlbum** self, int length); +static PublishingPicasaAlbum** _vala_array_dup6 (PublishingPicasaAlbum** self, int length); +static void publishing_picasa_publishing_parameters_finalize (PublishingPicasaPublishingParameters* obj); +#define PUBLISHING_PICASA_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PICASA_TYPE_UPLOADER, PublishingPicasaUploaderPrivate)) +enum { + PUBLISHING_PICASA_UPLOADER_DUMMY_PROPERTY +}; +static PublishingRESTSupportTransaction* publishing_picasa_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +static void publishing_picasa_uploader_finalize (PublishingRESTSupportBatchUploader* 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); + + +PicasaService* picasa_service_construct (GType object_type, GFile* resource_directory) { + PicasaService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PicasaService*) g_object_new (object_type, NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = picasa_service_icon_pixbuf_set; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0__length1 = picasa_service_icon_pixbuf_set_length1; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp0_ == NULL) { +#line 562 "PicasaPublishing.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" PICASA_SERVICE_ICON_FILENAME, &_tmp1_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + picasa_service_icon_pixbuf_set = (_vala_array_free (picasa_service_icon_pixbuf_set, picasa_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + picasa_service_icon_pixbuf_set = _tmp2_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + picasa_service_icon_pixbuf_set_length1 = _tmp1_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _picasa_service_icon_pixbuf_set_size_ = picasa_service_icon_pixbuf_set_length1; +#line 575 "PicasaPublishing.c" + } +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 579 "PicasaPublishing.c" +} + + +PicasaService* picasa_service_new (GFile* resource_directory) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return picasa_service_construct (TYPE_PICASA_SERVICE, resource_directory); +#line 586 "PicasaPublishing.c" +} + + +static gint picasa_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + PicasaService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PICASA_SERVICE, PicasaService); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = min_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = max_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp2_; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 608 "PicasaPublishing.c" +} + + +static const gchar* picasa_service_real_get_id (SpitPluggable* base) { + PicasaService * self; + const gchar* result = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PICASA_SERVICE, PicasaService); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = "org.yorba.shotwell.publishing.picasa"; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 621 "PicasaPublishing.c" +} + + +static const gchar* picasa_service_real_get_pluggable_name (SpitPluggable* base) { + PicasaService * self; + const gchar* result = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PICASA_SERVICE, PicasaService); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = "Picasa Web Albums"; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 634 "PicasaPublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 641 "PicasaPublishing.c" +} + + +static GdkPixbuf** _vala_array_dup4 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + for (i = 0; i < length; i++) { +#line 652 "PicasaPublishing.c" + GdkPixbuf* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result[i] = _tmp0_; +#line 658 "PicasaPublishing.c" + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 662 "PicasaPublishing.c" +} + + +static void picasa_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + PicasaService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PICASA_SERVICE, PicasaService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (info != NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = g_strdup ("Lucas Beeler"); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 ((*info).authors); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).authors = _tmp0_; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc."); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 ((*info).copyright); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).copyright = _tmp2_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 ((*info).translators); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).translators = _tmp3_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 ((*info).version); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).version = _tmp4_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 ((*info).website_name); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).website_name = _tmp5_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 ((*info).website_url); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).website_url = _tmp6_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 ((*info).license); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).license = _tmp7_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = picasa_service_icon_pixbuf_set; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8__length1 = picasa_service_icon_pixbuf_set_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup4 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).icons = _tmp9_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*info).icons_length1 = _tmp9__length1; +#line 744 "PicasaPublishing.c" +} + + +static SpitPublishingPublisher* picasa_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + PicasaService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingPicasaPicasaPublisher* _tmp1_ = NULL; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PICASA_SERVICE, PicasaService); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = host; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_picasa_picasa_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 765 "PicasaPublishing.c" +} + + +static SpitPublishingPublisherMediaType picasa_service_real_get_supported_media (SpitPublishingService* base) { + PicasaService * self; + SpitPublishingPublisherMediaType result = 0; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PICASA_SERVICE, PicasaService); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 778 "PicasaPublishing.c" +} + + +static void picasa_service_real_activation (SpitPluggable* base, gboolean enabled) { + PicasaService * self; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PICASA_SERVICE, PicasaService); +#line 786 "PicasaPublishing.c" +} + + +static void picasa_service_class_init (PicasaServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + picasa_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = picasa_service_finalize; +#line 795 "PicasaPublishing.c" +} + + +static void picasa_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + picasa_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) picasa_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) picasa_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) picasa_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) picasa_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) picasa_service_real_activation; +#line 812 "PicasaPublishing.c" +} + + +static void picasa_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + picasa_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) picasa_service_real_create_publisher; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) picasa_service_real_get_supported_media; +#line 823 "PicasaPublishing.c" +} + + +static void picasa_service_instance_init (PicasaService * self) { +} + + +static void picasa_service_finalize (GObject* obj) { + PicasaService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PICASA_SERVICE, PicasaService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_OBJECT_CLASS (picasa_service_parent_class)->finalize (obj); +#line 837 "PicasaPublishing.c" +} + + +GType picasa_service_get_type (void) { + static volatile gsize picasa_service_type_id__volatile = 0; + if (g_once_init_enter (&picasa_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PicasaServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) picasa_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PicasaService), 0, (GInstanceInitFunc) picasa_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) picasa_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) picasa_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType picasa_service_type_id; + picasa_service_type_id = g_type_register_static (G_TYPE_OBJECT, "PicasaService", &g_define_type_info, 0); + g_type_add_interface_static (picasa_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (picasa_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&picasa_service_type_id__volatile, picasa_service_type_id); + } + return picasa_service_type_id__volatile; +} + + +PublishingPicasaPicasaPublisher* publishing_picasa_picasa_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingPicasaPicasaPublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + PublishingPicasaPublishingParameters* _tmp3_ = NULL; + SpitPublishingPublisherMediaType media_type = 0; + SpitPublishingPluginHost* _tmp4_ = NULL; + gint _tmp5_ = 0; + SpitPublishingPublishable** _tmp6_ = NULL; + PublishingPicasaPublishingParameters* _tmp11_ = NULL; + SpitPublishingPublisherMediaType _tmp12_ = 0; + SpitPublishingPluginHost* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = service; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = host; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaPicasaPublisher*) publishing_rest_support_google_publisher_construct (object_type, _tmp0_, _tmp1_, "http://picasaweb.google.com/data/"); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = publishing_picasa_publishing_parameters_new (); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->publishing_parameters); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->publishing_parameters = _tmp2_; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = self->priv->publishing_parameters; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_load_parameters_from_configuration_system (self, _tmp3_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + media_type = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = host; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = spit_publishing_plugin_host_get_publishables (_tmp4_, &_tmp5_); +#line 897 "PicasaPublishing.c" + { + SpitPublishingPublishable** p_collection = NULL; + gint p_collection_length1 = 0; + gint _p_collection_size_ = 0; + gint p_it = 0; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + p_collection = _tmp6_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + p_collection_length1 = _tmp5_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + for (p_it = 0; p_it < _tmp5_; p_it = p_it + 1) { +#line 909 "PicasaPublishing.c" + SpitPublishingPublishable* _tmp7_ = NULL; + SpitPublishingPublishable* p = NULL; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _g_object_ref0 (p_collection[p_it]); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + p = _tmp7_; +#line 916 "PicasaPublishing.c" + { + SpitPublishingPublisherMediaType _tmp8_ = 0; + SpitPublishingPublishable* _tmp9_ = NULL; + SpitPublishingPublisherMediaType _tmp10_ = 0; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = media_type; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = p; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = spit_publishing_publishable_get_media_type (_tmp9_); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + media_type = _tmp8_ | _tmp10_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (p); +#line 931 "PicasaPublishing.c" + } + } +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + p_collection = (_vala_array_free (p_collection, p_collection_length1, (GDestroyNotify) g_object_unref), NULL); +#line 936 "PicasaPublishing.c" + } +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = self->priv->publishing_parameters; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = media_type; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_media_type (_tmp11_, _tmp12_); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = host; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "refresh_token", NULL); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->refresh_token); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->refresh_token = _tmp14_; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 968 "PicasaPublishing.c" +} + + +PublishingPicasaPicasaPublisher* publishing_picasa_picasa_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_picasa_publisher_construct (PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, service, host); +#line 975 "PicasaPublishing.c" +} + + +static void _vala_array_add12 (PublishingPicasaAlbum*** array, int* length, int* size, PublishingPicasaAlbum* value) { +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if ((*length) == (*size)) { +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *array = g_renew (PublishingPicasaAlbum*, *array, (*size) + 1); +#line 986 "PicasaPublishing.c" + } +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[(*length)++] = value; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[*length] = NULL; +#line 992 "PicasaPublishing.c" +} + + +static PublishingPicasaAlbum** publishing_picasa_picasa_publisher_extract_albums_helper (PublishingPicasaPicasaPublisher* self, xmlNode* document_root, int* result_length1, GError** error) { + PublishingPicasaAlbum** result = NULL; + PublishingPicasaAlbum** _result_ = NULL; + PublishingPicasaAlbum** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + xmlNode* doc_node_iter = NULL; + xmlNode* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingPicasaAlbum** _tmp36_ = NULL; + gint _tmp36__length1 = 0; + GError * _inner_error_ = NULL; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self), NULL); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = g_new0 (PublishingPicasaAlbum*, 0 + 1); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _result_ = _tmp0_; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _result__length1 = 0; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __result__size_ = _result__length1; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + doc_node_iter = NULL; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = document_root; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = _tmp1_->name; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp2_, "feed") == 0) { +#line 1026 "PicasaPublishing.c" + xmlNode* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = document_root; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = _tmp3_->children; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + doc_node_iter = _tmp4_; +#line 1035 "PicasaPublishing.c" + } else { + xmlNode* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = document_root; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = _tmp5_->name; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp6_, "entry") == 0) { +#line 1045 "PicasaPublishing.c" + xmlNode* _tmp7_ = NULL; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = document_root; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + doc_node_iter = _tmp7_; +#line 1051 "PicasaPublishing.c" + } else { + GError* _tmp8_ = NULL; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "response root node " "isn't a or "); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = _tmp8_; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _result_ = (_vala_array_free (_result_, _result__length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 1066 "PicasaPublishing.c" + } else { +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _result_ = (_vala_array_free (_result_, _result__length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 1076 "PicasaPublishing.c" + } + } + } + { + gboolean _tmp9_ = FALSE; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = TRUE; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + while (TRUE) { +#line 1086 "PicasaPublishing.c" + xmlNode* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* name_val = NULL; + gchar* url_val = NULL; + xmlNode* album_node_iter = NULL; + xmlNode* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + PublishingPicasaAlbum** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + const gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + PublishingPicasaAlbum* _tmp35_ = NULL; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp9_) { +#line 1102 "PicasaPublishing.c" + xmlNode* _tmp10_ = NULL; + xmlNode* _tmp11_ = NULL; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = doc_node_iter; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = _tmp10_->next; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + doc_node_iter = _tmp11_; +#line 1111 "PicasaPublishing.c" + } +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = FALSE; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = doc_node_iter; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!(_tmp12_ != NULL)) { +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + break; +#line 1121 "PicasaPublishing.c" + } +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = doc_node_iter; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = _tmp13_->name; +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp14_, "entry") != 0) { +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + continue; +#line 1131 "PicasaPublishing.c" + } +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + name_val = NULL; +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + url_val = NULL; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = doc_node_iter; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = _tmp15_->children; +#line 103 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + album_node_iter = _tmp16_; +#line 1143 "PicasaPublishing.c" + { + gboolean _tmp17_ = FALSE; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = TRUE; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + while (TRUE) { +#line 1150 "PicasaPublishing.c" + xmlNode* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp17_) { +#line 1156 "PicasaPublishing.c" + xmlNode* _tmp18_ = NULL; + xmlNode* _tmp19_ = NULL; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp18_ = album_node_iter; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp19_ = _tmp18_->next; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + album_node_iter = _tmp19_; +#line 1165 "PicasaPublishing.c" + } +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = FALSE; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = album_node_iter; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!(_tmp20_ != NULL)) { +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + break; +#line 1175 "PicasaPublishing.c" + } +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21_ = album_node_iter; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp22_ = _tmp21_->name; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp22_, "title") == 0) { +#line 1183 "PicasaPublishing.c" + xmlNode* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp23_ = album_node_iter; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp24_ = (gchar*) xmlNodeGetContent (_tmp23_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (name_val); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + name_val = _tmp24_; +#line 1194 "PicasaPublishing.c" + } else { + xmlNode* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp25_ = album_node_iter; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp26_ = _tmp25_->name; +#line 107 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp26_, "id") == 0) { +#line 1204 "PicasaPublishing.c" + xmlNode* _tmp27_ = NULL; + xmlNs* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + xmlNode* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp27_ = album_node_iter; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp28_ = _tmp27_->ns; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp29_ = _tmp28_->prefix; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp29_ != NULL) { +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + continue; +#line 1220 "PicasaPublishing.c" + } +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp30_ = album_node_iter; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp31_ = (gchar*) xmlNodeGetContent (_tmp30_); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (url_val); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + url_val = _tmp31_; +#line 1230 "PicasaPublishing.c" + } + } + } + } +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp32_ = _result_; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp32__length1 = _result__length1; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp33_ = name_val; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp34_ = url_val; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp35_ = publishing_picasa_album_new (_tmp33_, _tmp34_); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_array_add12 (&_result_, &_result__length1, &__result__size_, _tmp35_); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (url_val); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (name_val); +#line 1251 "PicasaPublishing.c" + } + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp36_ = _result_; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp36__length1 = _result__length1; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (result_length1) { +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *result_length1 = _tmp36__length1; +#line 1262 "PicasaPublishing.c" + } +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp36_; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 1268 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_load_parameters_from_configuration_system (PublishingPicasaPicasaPublisher* self, PublishingPicasaPublishingParameters* parameters) { + PublishingPicasaPublishingParameters* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + gint _tmp2_ = 0; + PublishingPicasaPublishingParameters* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PublishingPicasaPublishingParameters* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (parameters)); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = parameters; +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default-size", 0); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_major_axis_size_selection_id (_tmp0_, _tmp2_); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = parameters; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip-metadata", FALSE); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_strip_metadata (_tmp3_, _tmp5_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = parameters; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-album", NULL); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = _tmp8_; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_target_album_name (_tmp6_, _tmp9_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp9_); +#line 1315 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_save_parameters_to_configuration_system (PublishingPicasaPicasaPublisher* self, PublishingPicasaPublishingParameters* parameters) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingPicasaPublishingParameters* _tmp1_ = NULL; + gint _tmp2_ = 0; + SpitPublishingPluginHost* _tmp3_ = NULL; + PublishingPicasaPublishingParameters* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + SpitPublishingPluginHost* _tmp6_ = NULL; + PublishingPicasaPublishingParameters* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (parameters)); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = parameters; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = publishing_picasa_publishing_parameters_get_major_axis_size_selection_id (_tmp1_); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "default-size", _tmp2_); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = parameters; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = publishing_picasa_publishing_parameters_get_strip_metadata (_tmp4_); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", _tmp5_); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = parameters; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = publishing_picasa_publishing_parameters_get_target_album_name (_tmp7_); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = _tmp8_; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-album", _tmp9_); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp9_); +#line 1362 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_service_welcome_login (PublishingPicasaPicasaPublisher* self) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:136: EVENT: user clicked 'Login' in welcome pane" \ +"."); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 138 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp0_) { +#line 139 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1379 "PicasaPublishing.c" + } +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = self->priv->refresh_token; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_google_publisher_start_oauth_flow (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher), _tmp1_); +#line 1385 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_real_on_login_flow_complete (PublishingRESTSupportGooglePublisher* base) { + PublishingPicasaPicasaPublisher * self; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; + PublishingRESTSupportGoogleSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + PublishingPicasaPublishingParameters* _tmp5_ = NULL; + PublishingRESTSupportGoogleSession* _tmp6_ = NULL; + PublishingRESTSupportGoogleSession* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisher); +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:145: EVENT: OAuth login flow complete."); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = _tmp1_; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_rest_support_google_session_get_refresh_token (_tmp2_); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = _tmp3_; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "refresh_token", _tmp4_); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp4_); +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp2_); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = self->priv->publishing_parameters; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _tmp6_; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = publishing_rest_support_google_session_get_user_name (_tmp7_); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = _tmp8_; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_user_name (_tmp5_, _tmp9_); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp9_); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp7_); +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_fetch_account_information (self); +#line 1439 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_initial_album_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_initial_album_fetch_complete ((PublishingPicasaPicasaPublisher*) self, _sender); +#line 1446 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_initial_album_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_initial_album_fetch_error ((PublishingPicasaPicasaPublisher*) self, _sender, err); +#line 1453 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_initial_album_fetch_complete (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = txn; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_initial_album_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = txn; +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 156 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_initial_album_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp4_) { +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1486 "PicasaPublishing.c" + } +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:161: EVENT: finished fetching account and album " \ +"information."); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = txn; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_parse_and_display_account_information (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION, PublishingPicasaAlbumDirectoryTransaction)); +#line 1494 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_initial_album_fetch_error (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + PublishingRESTSupportTransaction* _tmp9_ = NULL; + guint _tmp10_ = 0U; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = bad_txn; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_initial_album_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = bad_txn; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_initial_album_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp4_) { +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1532 "PicasaPublishing.c" + } +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = bad_txn; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _tmp6_; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:174: EVENT: fetching account and album informati" \ +"on failed; response = '%s'.", _tmp7_); +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp7_); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = bad_txn; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = publishing_rest_support_transaction_get_status_code (_tmp9_); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp10_ == ((guint) 403)) { +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = TRUE; +#line 1552 "PicasaPublishing.c" + } else { + PublishingRESTSupportTransaction* _tmp11_ = NULL; + guint _tmp12_ = 0U; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = bad_txn; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = publishing_rest_support_transaction_get_status_code (_tmp11_); +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = _tmp12_ == ((guint) 404); +#line 1562 "PicasaPublishing.c" + } +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp8_) { +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_google_publisher_do_logout (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 1568 "PicasaPublishing.c" + } else { + SpitPublishingPluginHost* _tmp13_ = NULL; + GError* _tmp14_ = NULL; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = err; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp13_, _tmp14_); +#line 1578 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_picasa_publisher_on_publishing_options_logout (PublishingPicasaPicasaPublisher* self) { + gboolean _tmp0_ = FALSE; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp0_) { +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1593 "PicasaPublishing.c" + } +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:189: EVENT: user clicked 'Logout' in the publish" \ +"ing options pane."); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_google_publisher_do_logout (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 1599 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_publishing_options_publish (PublishingPicasaPicasaPublisher* self) { + gboolean _tmp0_ = FALSE; + PublishingPicasaPublishingParameters* _tmp1_ = NULL; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp0_) { +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1616 "PicasaPublishing.c" + } +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:198: EVENT: user clicked 'Publish' in the publis" \ +"hing options pane."); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = self->priv->publishing_parameters; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_save_parameters_to_configuration_system (self, _tmp1_); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->publishing_parameters; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_picasa_publishing_parameters_is_to_new_album (_tmp2_); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp3_) { +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_create_album (self); +#line 1632 "PicasaPublishing.c" + } else { +#line 205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_upload (self); +#line 1636 "PicasaPublishing.c" + } +} + + +static void _publishing_picasa_picasa_publisher_on_album_creation_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_album_creation_complete ((PublishingPicasaPicasaPublisher*) self, _sender); +#line 1644 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_album_creation_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_album_creation_error ((PublishingPicasaPicasaPublisher*) self, _sender, err); +#line 1651 "PicasaPublishing.c" +} + + +static gpointer _publishing_rest_support_transaction_ref0 (gpointer self) { +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self ? publishing_rest_support_transaction_ref (self) : NULL; +#line 1658 "PicasaPublishing.c" +} + + +static gchar* _publishing_picasa_album_directory_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self) { + gchar* result; + result = publishing_picasa_album_directory_transaction_validate_xml (doc); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 1667 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_album_creation_complete (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingPicasaAlbumCreationTransaction* downcast_txn = NULL; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + PublishingPicasaAlbumCreationTransaction* _tmp6_ = NULL; + PublishingRESTSupportXmlDocument* response_doc = NULL; + PublishingPicasaAlbum** response_albums = NULL; + gint response_albums_length1 = 0; + gint _response_albums_size_ = 0; + PublishingPicasaAlbum** _tmp24_ = NULL; + gint _tmp24__length1 = 0; + PublishingPicasaPublishingParameters* _tmp28_ = NULL; + PublishingPicasaAlbum** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + PublishingPicasaAlbum* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GError * _inner_error_ = NULL; +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = txn; +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_album_creation_complete_publishing_rest_support_transaction_completed, self); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = txn; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_album_creation_error_publishing_rest_support_transaction_network_error, self); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp4_) { +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1714 "PicasaPublishing.c" + } +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:216: EVENT: finished creating album on remote se" \ +"rver."); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = txn; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = _publishing_rest_support_transaction_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION, PublishingPicasaAlbumCreationTransaction)); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + downcast_txn = _tmp6_; +#line 1724 "PicasaPublishing.c" + { + PublishingRESTSupportXmlDocument* _tmp7_ = NULL; + PublishingPicasaAlbumCreationTransaction* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + PublishingRESTSupportXmlDocument* _tmp13_ = NULL; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = downcast_txn; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = publishing_rest_support_transaction_get_response (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = _tmp9_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = publishing_rest_support_xml_document_parse_string (_tmp10_, _publishing_picasa_album_directory_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = _tmp11_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp10_); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _tmp12_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 1751 "PicasaPublishing.c" + goto __catch7_spit_publishing_publishing_error; + } +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1764 "PicasaPublishing.c" + } +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = _tmp7_; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = NULL; +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_doc = _tmp13_; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_tmp7_); +#line 1776 "PicasaPublishing.c" + } + goto __finally7; + __catch7_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + err = _inner_error_; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = err; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp14_, _tmp15_); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (err); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1802 "PicasaPublishing.c" + } + __finally7: +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1817 "PicasaPublishing.c" + } + { + PublishingPicasaAlbum** _tmp16_ = NULL; + PublishingRESTSupportXmlDocument* _tmp17_ = NULL; + xmlNode* _tmp18_ = NULL; + gint _tmp19_ = 0; + PublishingPicasaAlbum** _tmp20_ = NULL; + gint _tmp16__length1 = 0; + gint __tmp16__size_ = 0; + PublishingPicasaAlbum** _tmp21_ = NULL; + gint _tmp21__length1 = 0; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = response_doc; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp18_ = publishing_rest_support_xml_document_get_root_node (_tmp17_); +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = publishing_picasa_picasa_publisher_extract_albums_helper (self, _tmp18_, &_tmp19_, &_inner_error_); +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = _tmp20_; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16__length1 = _tmp19_; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __tmp16__size_ = _tmp16__length1; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 1845 "PicasaPublishing.c" + goto __catch8_spit_publishing_publishing_error; + } +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums = (_vala_array_free (response_albums, response_albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1860 "PicasaPublishing.c" + } +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21_ = _tmp16_; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21__length1 = _tmp16__length1; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = NULL; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16__length1 = 0; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums = (_vala_array_free (response_albums, response_albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums = _tmp21_; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums_length1 = _tmp21__length1; +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _response_albums_size_ = response_albums_length1; +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = (_vala_array_free (_tmp16_, _tmp16__length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 1880 "PicasaPublishing.c" + } + goto __finally8; + __catch8_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp22_ = NULL; + GError* _tmp23_ = NULL; +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + err = _inner_error_; +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp22_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp23_ = err; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp22_, _tmp23_); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (err); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums = (_vala_array_free (response_albums, response_albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1908 "PicasaPublishing.c" + } + __finally8: +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums = (_vala_array_free (response_albums, response_albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1925 "PicasaPublishing.c" + } +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp24_ = response_albums; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp24__length1 = response_albums_length1; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp24__length1 != 1) { +#line 1933 "PicasaPublishing.c" + SpitPublishingPluginHost* _tmp25_ = NULL; + GError* _tmp26_ = NULL; + GError* _tmp27_ = NULL; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp25_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp26_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "album " "creation transaction responses must contain one and only one album dir" \ +"ectory " "entry"); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp27_ = _tmp26_; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp25_, _tmp27_); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (_tmp27_); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums = (_vala_array_free (response_albums, response_albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 1955 "PicasaPublishing.c" + } +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp28_ = self->priv->publishing_parameters; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp29_ = response_albums; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp29__length1 = response_albums_length1; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp30_ = _tmp29_[0]; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp31_ = _tmp30_->url; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_target_album_entry_url (_tmp28_, _tmp31_); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_upload (self); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_albums = (_vala_array_free (response_albums, response_albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 209 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (downcast_txn); +#line 1977 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_album_creation_error (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + SpitPublishingPluginHost* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = bad_txn; +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_album_creation_complete_publishing_rest_support_transaction_completed, self); +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = bad_txn; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_album_creation_error_publishing_rest_support_transaction_network_error, self); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp4_) { +#line 254 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2014 "PicasaPublishing.c" + } +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = bad_txn; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = publishing_rest_support_transaction_get_response (_tmp5_); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _tmp6_; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:256: EVENT: creating album on remote server fail" \ +"ed; response = '%s'.", _tmp7_); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp7_); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = err; +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp8_, _tmp9_); +#line 2032 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_upload_status_updated (PublishingPicasaPicasaPublisher* self, gint file_number, gdouble completed_fraction) { + gboolean _tmp0_ = FALSE; + gdouble _tmp1_ = 0.0; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp0_) { +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2053 "PicasaPublishing.c" + } +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = completed_fraction; +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:266: EVENT: uploader reports upload %.2f percent" \ +" complete.", 100.0 * _tmp1_); +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->progress_reporter; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_assert (_tmp2_ != NULL, "progress_reporter != null"); +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = self->priv->progress_reporter; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = file_number; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = completed_fraction; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 2075 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_upload_complete ((PublishingPicasaPicasaPublisher*) self, _sender, num_photos_published); +#line 2082 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_upload_error ((PublishingPicasaPicasaPublisher*) self, _sender, err); +#line 2089 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_upload_complete (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportBatchUploader* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp0_) { +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2110 "PicasaPublishing.c" + } +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = num_published; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:278: EVENT: uploader reports upload complete; %d" \ +" items published.", _tmp1_); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = uploader; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = uploader; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp5_, NULL, FALSE); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_show_success_pane (self); +#line 2130 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_on_upload_error (PublishingPicasaPicasaPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err) { + gboolean _tmp0_ = FALSE; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingRESTSupportBatchUploader* _tmp3_ = NULL; + guint _tmp4_ = 0U; + PublishingRESTSupportBatchUploader* _tmp5_ = NULL; + guint _tmp6_ = 0U; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp0_) { +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2154 "PicasaPublishing.c" + } +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = err; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = _tmp1_->message; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:291: EVENT: uploader reports upload error = '%s'" \ +".", _tmp2_); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = uploader; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp4_, NULL, FALSE); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = uploader; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp6_, NULL, FALSE); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _publishing_picasa_picasa_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = err; +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 2180 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_service_welcome_login_spit_publishing_login_callback (gpointer self) { +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_service_welcome_login ((PublishingPicasaPicasaPublisher*) self); +#line 2187 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_do_show_service_welcome_pane (PublishingPicasaPicasaPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:300: ACTION: showing service welcome pane."); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_install_welcome_pane (_tmp0_, PUBLISHING_PICASA_SERVICE_WELCOME_MESSAGE, _publishing_picasa_picasa_publisher_on_service_welcome_login_spit_publishing_login_callback, self); +#line 2201 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_do_fetch_account_information (PublishingPicasaPicasaPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingPicasaAlbumDirectoryTransaction* directory_trans = NULL; + PublishingRESTSupportGoogleSession* _tmp2_ = NULL; + PublishingRESTSupportGoogleSession* _tmp3_ = NULL; + PublishingPicasaAlbumDirectoryTransaction* _tmp4_ = NULL; + PublishingPicasaAlbumDirectoryTransaction* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:306: ACTION: fetching account and album informat" \ +"ion."); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp0_); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, TRUE); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = _tmp2_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_picasa_album_directory_transaction_new (_tmp3_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = _tmp4_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp3_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + directory_trans = _tmp5_; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_picasa_picasa_publisher_on_initial_album_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_picasa_picasa_publisher_on_initial_album_fetch_complete_publishing_rest_support_transaction_completed, self, 0); +#line 2242 "PicasaPublishing.c" + { +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2250 "PicasaPublishing.c" + goto __catch9_spit_publishing_publishing_error; + } +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (directory_trans); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 317 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2261 "PicasaPublishing.c" + } + } + goto __finally9; + __catch9_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + err = _inner_error_; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = err; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_initial_album_fetch_error (self, G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp6_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (err); +#line 2279 "PicasaPublishing.c" + } + __finally9: +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (directory_trans); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2292 "PicasaPublishing.c" + } +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (directory_trans); +#line 2296 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_do_parse_and_display_account_information (PublishingPicasaPicasaPublisher* self, PublishingPicasaAlbumDirectoryTransaction* transaction) { + PublishingRESTSupportXmlDocument* response_doc = NULL; + GError * _inner_error_ = NULL; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_ALBUM_DIRECTORY_TRANSACTION (transaction)); +#line 327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:327: ACTION: parsing account and album informati" \ +"on from server response XML"); +#line 2309 "PicasaPublishing.c" + { + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + PublishingPicasaAlbumDirectoryTransaction* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRESTSupportXmlDocument* _tmp4_ = NULL; + PublishingRESTSupportXmlDocument* _tmp5_ = NULL; + PublishingRESTSupportXmlDocument* _tmp6_ = NULL; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = transaction; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = publishing_rest_support_transaction_get_response (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = _tmp2_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_rest_support_xml_document_parse_string (_tmp3_, _publishing_picasa_album_directory_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = _tmp4_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp3_); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = _tmp5_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2336 "PicasaPublishing.c" + goto __catch10_spit_publishing_publishing_error; + } +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2347 "PicasaPublishing.c" + } +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = _tmp0_; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = NULL; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + response_doc = _tmp6_; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_tmp0_); +#line 2359 "PicasaPublishing.c" + } + goto __finally10; + __catch10_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + err = _inner_error_; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = err; +#line 334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (err); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2383 "PicasaPublishing.c" + } + __finally10: +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2396 "PicasaPublishing.c" + } + { + PublishingPicasaAlbum** _tmp9_ = NULL; + PublishingRESTSupportXmlDocument* _tmp10_ = NULL; + xmlNode* _tmp11_ = NULL; + gint _tmp12_ = 0; + PublishingPicasaAlbum** _tmp13_ = NULL; + gint _tmp9__length1 = 0; + gint __tmp9__size_ = 0; + PublishingPicasaPublishingParameters* _tmp14_ = NULL; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = response_doc; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = publishing_rest_support_xml_document_get_root_node (_tmp10_); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = publishing_picasa_picasa_publisher_extract_albums_helper (self, _tmp11_, &_tmp12_, &_inner_error_); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = _tmp13_; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9__length1 = _tmp12_; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __tmp9__size_ = _tmp9__length1; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2423 "PicasaPublishing.c" + goto __catch11_spit_publishing_publishing_error; + } +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2434 "PicasaPublishing.c" + } +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = self->priv->publishing_parameters; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_albums (_tmp14_, _tmp9_, _tmp9__length1); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 2442 "PicasaPublishing.c" + } + goto __finally11; + __catch11_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp15_ = NULL; + GError* _tmp16_ = NULL; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + err = _inner_error_; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = err; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp15_, _tmp16_); +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (err); +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2466 "PicasaPublishing.c" + } + __finally11: +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2479 "PicasaPublishing.c" + } +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_show_publishing_options_pane (self); +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 2485 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_publishing_options_publish_publishing_picasa_publishing_options_pane_publish (PublishingPicasaPublishingOptionsPane* _sender, gpointer self) { +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_publishing_options_publish ((PublishingPicasaPicasaPublisher*) self); +#line 2492 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_publishing_options_logout_publishing_picasa_publishing_options_pane_logout (PublishingPicasaPublishingOptionsPane* _sender, gpointer self) { +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_publishing_options_logout ((PublishingPicasaPicasaPublisher*) self); +#line 2499 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_do_show_publishing_options_pane (PublishingPicasaPicasaPublisher* self) { + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + PublishingPicasaPublishingOptionsPane* opts_pane = NULL; + GtkBuilder* _tmp8_ = NULL; + PublishingPicasaPublishingParameters* _tmp9_ = NULL; + PublishingPicasaPublishingOptionsPane* _tmp10_ = NULL; + PublishingPicasaPublishingOptionsPane* _tmp11_ = NULL; + PublishingPicasaPublishingOptionsPane* _tmp12_ = NULL; + SpitPublishingPluginHost* _tmp13_ = NULL; + PublishingPicasaPublishingOptionsPane* _tmp14_ = NULL; + SpitPublishingPluginHost* _tmp15_ = NULL; + GError * _inner_error_ = NULL; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:349: ACTION: showing publishing options pane."); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = gtk_builder_new (); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + builder = _tmp0_; +#line 2524 "PicasaPublishing.c" + { + GtkBuilder* _tmp1_ = NULL; +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = builder; +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_builder_add_from_resource (_tmp1_, PLUGIN_RESOURCE_PATH "/" "picasa_publishing_options_pane.ui", &_inner_error_); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2533 "PicasaPublishing.c" + goto __catch12_g_error; + } + } + goto __finally12; + __catch12_g_error: + { + GError* e = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + e = _inner_error_; +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = e; +#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = _tmp2_->message; +#line 358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_warning ("PicasaPublishing.vala:358: Could not parse UI file! Error: %s.", _tmp3_); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = _ ("A file required for publishing is unavailable. Publishing to Picasa ca" \ +"n't continue."); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp5_); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _tmp6_; +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp7_); +#line 359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (_tmp7_); +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (e); +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (builder); +#line 362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2575 "PicasaPublishing.c" + } + __finally12: +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (builder); +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2588 "PicasaPublishing.c" + } +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = builder; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = self->priv->publishing_parameters; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = publishing_picasa_publishing_options_pane_new (_tmp8_, _tmp9_); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + opts_pane = _tmp10_; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = opts_pane; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (_tmp11_, "publish", (GCallback) _publishing_picasa_picasa_publisher_on_publishing_options_publish_publishing_picasa_publishing_options_pane_publish, self, 0); +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = opts_pane; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (_tmp12_, "logout", (GCallback) _publishing_picasa_picasa_publisher_on_publishing_options_logout_publishing_picasa_publishing_options_pane_logout, self, 0); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = opts_pane; +#line 368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp15_, FALSE); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (opts_pane); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (builder); +#line 2620 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_do_create_album (PublishingPicasaPicasaPublisher* self) { + PublishingPicasaPublishingParameters* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SpitPublishingPluginHost* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + PublishingPicasaAlbumCreationTransaction* creation_trans = NULL; + PublishingRESTSupportGoogleSession* _tmp8_ = NULL; + PublishingRESTSupportGoogleSession* _tmp9_ = NULL; + PublishingPicasaPublishingParameters* _tmp10_ = NULL; + PublishingPicasaAlbumCreationTransaction* _tmp11_ = NULL; + PublishingPicasaAlbumCreationTransaction* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->publishing_parameters; +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_picasa_publishing_parameters_is_to_new_album (_tmp0_); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_assert (_tmp1_, "publishing_parameters.is_to_new_album()"); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->publishing_parameters; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_picasa_publishing_parameters_get_target_album_name (_tmp2_); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = _tmp3_; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:376: ACTION: creating new album '%s' on remote s" \ +"erver.", _tmp4_); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp4_); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = _ ("Creating album..."); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp5_, _tmp6_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp7_, TRUE); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = _tmp8_; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = self->priv->publishing_parameters; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = publishing_picasa_album_creation_transaction_new (_tmp9_, _tmp10_); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = _tmp11_; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp9_); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + creation_trans = _tmp12_; +#line 385 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (creation_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_picasa_picasa_publisher_on_album_creation_error_publishing_rest_support_transaction_network_error, self, 0); +#line 386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (creation_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_picasa_picasa_publisher_on_album_creation_complete_publishing_rest_support_transaction_completed, self, 0); +#line 2686 "PicasaPublishing.c" + { +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (creation_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2694 "PicasaPublishing.c" + goto __catch13_spit_publishing_publishing_error; + } +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (creation_trans); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2705 "PicasaPublishing.c" + } + } + goto __finally13; + __catch13_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp13_ = NULL; + GError* _tmp14_ = NULL; +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + err = _inner_error_; +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = err; +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_post_error (_tmp13_, _tmp14_); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (err); +#line 2726 "PicasaPublishing.c" + } + __finally13: +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (creation_trans); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2739 "PicasaPublishing.c" + } +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_transaction_unref0 (creation_trans); +#line 2743 "PicasaPublishing.c" +} + + +static void _publishing_picasa_picasa_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_on_upload_status_updated ((PublishingPicasaPicasaPublisher*) self, file_number, fraction_complete); +#line 2750 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_do_upload (PublishingPicasaPicasaPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + gint _tmp3_ = 0; + PublishingPicasaPublishingParameters* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + void* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + SpitPublishingProgressCallback _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + gint _tmp11_ = 0; + SpitPublishingPublishable** _tmp12_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + PublishingPicasaUploader* uploader = NULL; + PublishingRESTSupportGoogleSession* _tmp13_ = NULL; + PublishingRESTSupportGoogleSession* _tmp14_ = NULL; + SpitPublishingPublishable** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + PublishingPicasaPublishingParameters* _tmp16_ = NULL; + PublishingPicasaUploader* _tmp17_ = NULL; + PublishingPicasaUploader* _tmp18_ = NULL; + PublishingPicasaUploader* _tmp19_ = NULL; + PublishingPicasaUploader* _tmp20_ = NULL; + PublishingPicasaUploader* _tmp21_ = NULL; +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:395: ACTION: uploading media items to remote ser" \ +"ver."); +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->publishing_parameters; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_picasa_publishing_parameters_get_major_axis_size_pixels (_tmp2_); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = self->priv->publishing_parameters; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = publishing_picasa_publishing_parameters_get_strip_metadata (_tmp4_); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = spit_publishing_plugin_host_serialize_publishables (_tmp1_, _tmp3_, _tmp5_, &_tmp6_, &_tmp7_); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter = NULL; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter = _tmp8_; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target = _tmp6_; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp7_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp9_) { +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2822 "PicasaPublishing.c" + } +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = spit_publishing_plugin_host_get_publishables (_tmp10_, &_tmp11_); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishables = _tmp12_; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishables_length1 = _tmp11_; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishables_size_ = publishables_length1; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = _tmp13_; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = publishables; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15__length1 = publishables_length1; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = self->priv->publishing_parameters; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = publishing_picasa_uploader_new (_tmp14_, _tmp15_, _tmp15__length1, _tmp16_); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp18_ = _tmp17_; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp14_); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + uploader = _tmp18_; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp19_ = uploader; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_picasa_picasa_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = uploader; +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_picasa_picasa_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21_ = uploader; +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_picasa_picasa_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 394 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2868 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_do_show_success_pane (PublishingPicasaPicasaPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PICASA_PUBLISHER (self)); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:420: ACTION: showing success pane."); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 423 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 423 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp1_); +#line 2887 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_real_do_logout (PublishingRESTSupportGooglePublisher* base) { + PublishingPicasaPicasaPublisher * self; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisher); +#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:427: ACTION: logging out user."); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = _tmp0_; +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_google_session_deauthenticate (_tmp1_); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->refresh_token); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->refresh_token = NULL; +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spit_host_interface_unset_config_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "refresh_token"); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_show_service_welcome_pane (self); +#line 2918 "PicasaPublishing.c" +} + + +static gboolean publishing_picasa_picasa_publisher_real_is_running (PublishingRESTSupportGooglePublisher* base) { + PublishingPicasaPicasaPublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisher); +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->running; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp0_; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 2934 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_real_start (PublishingRESTSupportGooglePublisher* base) { + PublishingPicasaPicasaPublisher * self; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisher); +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:442: PicasaPublisher: start( ) invoked."); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp0_) { +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 2952 "PicasaPublishing.c" + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->running = TRUE; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = self->priv->refresh_token; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp1_ == NULL) { +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_do_show_service_welcome_pane (self); +#line 2962 "PicasaPublishing.c" + } else { + const gchar* _tmp2_ = NULL; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->refresh_token; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_google_publisher_start_oauth_flow (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher), _tmp2_); +#line 2969 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_picasa_publisher_real_stop (PublishingRESTSupportGooglePublisher* base) { + PublishingPicasaPicasaPublisher * self; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisher); +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_debug ("PicasaPublishing.vala:456: PicasaPublisher: stop( ) invoked."); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = _tmp0_; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_session_stop_transactions (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->running = FALSE; +#line 2992 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_class_init (PublishingPicasaPicasaPublisherClass * klass) { +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_picasa_publisher_parent_class = g_type_class_peek_parent (klass); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPicasaPicasaPublisherPrivate)); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->on_login_flow_complete = publishing_picasa_picasa_publisher_real_on_login_flow_complete; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->do_logout = publishing_picasa_picasa_publisher_real_do_logout; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->is_running = publishing_picasa_picasa_publisher_real_is_running; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->start = publishing_picasa_picasa_publisher_real_start; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->stop = publishing_picasa_picasa_publisher_real_stop; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_picasa_picasa_publisher_finalize; +#line 3013 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_instance_init (PublishingPicasaPicasaPublisher * self) { +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv = PUBLISHING_PICASA_PICASA_PUBLISHER_GET_PRIVATE (self); +#line 3020 "PicasaPublishing.c" +} + + +static void publishing_picasa_picasa_publisher_finalize (GObject* obj) { + PublishingPicasaPicasaPublisher * self; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PICASA_TYPE_PICASA_PUBLISHER, PublishingPicasaPicasaPublisher); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter = NULL; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->publishing_parameters); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->refresh_token); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_OBJECT_CLASS (publishing_picasa_picasa_publisher_parent_class)->finalize (obj); +#line 3042 "PicasaPublishing.c" +} + + +GType publishing_picasa_picasa_publisher_get_type (void) { + static volatile gsize publishing_picasa_picasa_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_picasa_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaPicasaPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_picasa_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaPicasaPublisher), 0, (GInstanceInitFunc) publishing_picasa_picasa_publisher_instance_init, NULL }; + GType publishing_picasa_picasa_publisher_type_id; + publishing_picasa_picasa_publisher_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, "PublishingPicasaPicasaPublisher", &g_define_type_info, 0); + g_once_init_leave (&publishing_picasa_picasa_publisher_type_id__volatile, publishing_picasa_picasa_publisher_type_id); + } + return publishing_picasa_picasa_publisher_type_id__volatile; +} + + +PublishingPicasaAlbum* publishing_picasa_album_construct (GType object_type, const gchar* name, const gchar* url) { + PublishingPicasaAlbum* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaAlbum*) g_type_create_instance (object_type); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = name; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->name); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->name = _tmp1_; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = url; +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->url); +#line 470 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->url = _tmp3_; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 3088 "PicasaPublishing.c" +} + + +PublishingPicasaAlbum* publishing_picasa_album_new (const gchar* name, const gchar* url) { +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_album_construct (PUBLISHING_PICASA_TYPE_ALBUM, name, url); +#line 3095 "PicasaPublishing.c" +} + + +static void publishing_picasa_value_album_init (GValue* value) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 3102 "PicasaPublishing.c" +} + + +static void publishing_picasa_value_album_free_value (GValue* value) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (value->data[0].v_pointer) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_album_unref (value->data[0].v_pointer); +#line 3111 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_value_album_copy_value (const GValue* src_value, GValue* dest_value) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + dest_value->data[0].v_pointer = publishing_picasa_album_ref (src_value->data[0].v_pointer); +#line 3121 "PicasaPublishing.c" + } else { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 3125 "PicasaPublishing.c" + } +} + + +static gpointer publishing_picasa_value_album_peek_pointer (const GValue* value) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return value->data[0].v_pointer; +#line 3133 "PicasaPublishing.c" +} + + +static gchar* publishing_picasa_value_album_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (collect_values[0].v_pointer) { +#line 3140 "PicasaPublishing.c" + PublishingPicasaAlbum* object; + object = collect_values[0].v_pointer; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3147 "PicasaPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 3151 "PicasaPublishing.c" + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = publishing_picasa_album_ref (object); +#line 3155 "PicasaPublishing.c" + } else { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 3159 "PicasaPublishing.c" + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 3163 "PicasaPublishing.c" +} + + +static gchar* publishing_picasa_value_album_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingPicasaAlbum** object_p; + object_p = collect_values[0].v_pointer; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!object_p) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3174 "PicasaPublishing.c" + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!value->data[0].v_pointer) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = NULL; +#line 3180 "PicasaPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 3184 "PicasaPublishing.c" + } else { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = publishing_picasa_album_ref (value->data[0].v_pointer); +#line 3188 "PicasaPublishing.c" + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 3192 "PicasaPublishing.c" +} + + +GParamSpec* publishing_picasa_param_spec_album (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingPicasaParamSpecAlbum* spec; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_PICASA_TYPE_ALBUM), NULL); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return G_PARAM_SPEC (spec); +#line 3206 "PicasaPublishing.c" +} + + +gpointer publishing_picasa_value_get_album (const GValue* value) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_TYPE_ALBUM), NULL); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return value->data[0].v_pointer; +#line 3215 "PicasaPublishing.c" +} + + +void publishing_picasa_value_set_album (GValue* value, gpointer v_object) { + PublishingPicasaAlbum* old; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_TYPE_ALBUM)); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + old = value->data[0].v_pointer; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (v_object) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PICASA_TYPE_ALBUM)); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = v_object; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_album_ref (value->data[0].v_pointer); +#line 3235 "PicasaPublishing.c" + } else { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 3239 "PicasaPublishing.c" + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (old) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_album_unref (old); +#line 3245 "PicasaPublishing.c" + } +} + + +void publishing_picasa_value_take_album (GValue* value, gpointer v_object) { + PublishingPicasaAlbum* old; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_TYPE_ALBUM)); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + old = value->data[0].v_pointer; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (v_object) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PICASA_TYPE_ALBUM)); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = v_object; +#line 3264 "PicasaPublishing.c" + } else { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 3268 "PicasaPublishing.c" + } +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (old) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_album_unref (old); +#line 3274 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_album_class_init (PublishingPicasaAlbumClass * klass) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_album_parent_class = g_type_class_peek_parent (klass); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingPicasaAlbumClass *) klass)->finalize = publishing_picasa_album_finalize; +#line 3284 "PicasaPublishing.c" +} + + +static void publishing_picasa_album_instance_init (PublishingPicasaAlbum * self) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->ref_count = 1; +#line 3291 "PicasaPublishing.c" +} + + +static void publishing_picasa_album_finalize (PublishingPicasaAlbum* obj) { + PublishingPicasaAlbum * self; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PICASA_TYPE_ALBUM, PublishingPicasaAlbum); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_destroy (self); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->name); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->url); +#line 3305 "PicasaPublishing.c" +} + + +GType publishing_picasa_album_get_type (void) { + static volatile gsize publishing_picasa_album_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_album_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_picasa_value_album_init, publishing_picasa_value_album_free_value, publishing_picasa_value_album_copy_value, publishing_picasa_value_album_peek_pointer, "p", publishing_picasa_value_album_collect_value, "p", publishing_picasa_value_album_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaAlbumClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_album_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaAlbum), 0, (GInstanceInitFunc) publishing_picasa_album_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 publishing_picasa_album_type_id; + publishing_picasa_album_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingPicasaAlbum", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_picasa_album_type_id__volatile, publishing_picasa_album_type_id); + } + return publishing_picasa_album_type_id__volatile; +} + + +gpointer publishing_picasa_album_ref (gpointer instance) { + PublishingPicasaAlbum* self; + self = instance; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return instance; +#line 3330 "PicasaPublishing.c" +} + + +void publishing_picasa_album_unref (gpointer instance) { + PublishingPicasaAlbum* self; + self = instance; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + PUBLISHING_PICASA_ALBUM_GET_CLASS (self)->finalize (self); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3343 "PicasaPublishing.c" + } +} + + +PublishingPicasaAlbumDirectoryTransaction* publishing_picasa_album_directory_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session) { + PublishingPicasaAlbumDirectoryTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = session; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaAlbumDirectoryTransaction*) publishing_rest_support_google_publisher_authenticated_transaction_construct (object_type, _tmp0_, PUBLISHING_PICASA_ALBUM_DIRECTORY_TRANSACTION_ENDPOINT_URL, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 3359 "PicasaPublishing.c" +} + + +PublishingPicasaAlbumDirectoryTransaction* publishing_picasa_album_directory_transaction_new (PublishingRESTSupportGoogleSession* session) { +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_album_directory_transaction_construct (PUBLISHING_PICASA_TYPE_ALBUM_DIRECTORY_TRANSACTION, session); +#line 3366 "PicasaPublishing.c" +} + + +gchar* publishing_picasa_album_directory_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc) { + gchar* result = NULL; + xmlNode* document_root = NULL; + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + xmlNode* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (doc), NULL); +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = doc; +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_get_root_node (_tmp0_); +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + document_root = _tmp1_; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = document_root; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = _tmp3_->name; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp4_, "feed") == 0) { +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = TRUE; +#line 3394 "PicasaPublishing.c" + } else { + xmlNode* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = document_root; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = _tmp5_->name; +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = g_strcmp0 (_tmp6_, "entry") == 0; +#line 3404 "PicasaPublishing.c" + } +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp2_) { +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = NULL; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 3412 "PicasaPublishing.c" + } else { + gchar* _tmp7_ = NULL; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = g_strdup ("response root node isn't a or "); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp7_; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 3421 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_album_directory_transaction_class_init (PublishingPicasaAlbumDirectoryTransactionClass * klass) { +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_album_directory_transaction_parent_class = g_type_class_peek_parent (klass); +#line 3429 "PicasaPublishing.c" +} + + +static void publishing_picasa_album_directory_transaction_instance_init (PublishingPicasaAlbumDirectoryTransaction * self) { +} + + +GType publishing_picasa_album_directory_transaction_get_type (void) { + static volatile gsize publishing_picasa_album_directory_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_album_directory_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaAlbumDirectoryTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_album_directory_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaAlbumDirectoryTransaction), 0, (GInstanceInitFunc) publishing_picasa_album_directory_transaction_instance_init, NULL }; + GType publishing_picasa_album_directory_transaction_type_id; + publishing_picasa_album_directory_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, "PublishingPicasaAlbumDirectoryTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_picasa_album_directory_transaction_type_id__volatile, publishing_picasa_album_directory_transaction_type_id); + } + return publishing_picasa_album_directory_transaction_type_id__volatile; +} + + +PublishingPicasaAlbumCreationTransaction* publishing_picasa_album_creation_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters) { + PublishingPicasaAlbumCreationTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gchar* post_body = NULL; + PublishingPicasaPublishingParameters* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = session; +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaAlbumCreationTransaction*) publishing_rest_support_google_publisher_authenticated_transaction_construct (object_type, _tmp0_, PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION_ENDPOINT_URL, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = parameters; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_picasa_publishing_parameters_is_new_album_public (_tmp2_); +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp3_) { +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = "public"; +#line 3479 "PicasaPublishing.c" + } else { +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = "private"; +#line 3483 "PicasaPublishing.c" + } +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = parameters; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = publishing_picasa_publishing_parameters_get_target_album_name (_tmp4_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = _tmp5_; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = publishing_rest_support_decimal_entity_encode (_tmp6_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = _tmp7_; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = g_strdup_printf (PUBLISHING_PICASA_ALBUM_CREATION_TRANSACTION_ALBUM_ENTRY_TEMPLATE, _tmp8_, _tmp1_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = _tmp9_; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp8_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp6_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + post_body = _tmp10_; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_transaction_set_custom_payload (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), post_body, "application/atom+xml", (gulong) 0); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (post_body); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 3511 "PicasaPublishing.c" +} + + +PublishingPicasaAlbumCreationTransaction* publishing_picasa_album_creation_transaction_new (PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters) { +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_album_creation_transaction_construct (PUBLISHING_PICASA_TYPE_ALBUM_CREATION_TRANSACTION, session, parameters); +#line 3518 "PicasaPublishing.c" +} + + +static void publishing_picasa_album_creation_transaction_class_init (PublishingPicasaAlbumCreationTransactionClass * klass) { +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_album_creation_transaction_parent_class = g_type_class_peek_parent (klass); +#line 3525 "PicasaPublishing.c" +} + + +static void publishing_picasa_album_creation_transaction_instance_init (PublishingPicasaAlbumCreationTransaction * self) { +} + + +GType publishing_picasa_album_creation_transaction_get_type (void) { + static volatile gsize publishing_picasa_album_creation_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_album_creation_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaAlbumCreationTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_album_creation_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaAlbumCreationTransaction), 0, (GInstanceInitFunc) publishing_picasa_album_creation_transaction_instance_init, NULL }; + GType publishing_picasa_album_creation_transaction_type_id; + publishing_picasa_album_creation_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, "PublishingPicasaAlbumCreationTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_picasa_album_creation_transaction_type_id__volatile, publishing_picasa_album_creation_transaction_type_id); + } + return publishing_picasa_album_creation_transaction_type_id__volatile; +} + + +static gpointer _publishing_rest_support_session_ref0 (gpointer self) { +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self ? publishing_rest_support_session_ref (self) : NULL; +#line 3548 "PicasaPublishing.c" +} + + +static gpointer _publishing_picasa_publishing_parameters_ref0 (gpointer self) { +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self ? publishing_picasa_publishing_parameters_ref (self) : NULL; +#line 3555 "PicasaPublishing.c" +} + + +PublishingPicasaUploadTransaction* publishing_picasa_upload_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters, SpitPublishingPublishable* publishable) { + PublishingPicasaUploadTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + PublishingPicasaPublishingParameters* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRESTSupportGoogleSession* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PublishingRESTSupportGoogleSession* _tmp6_ = NULL; + PublishingRESTSupportGoogleSession* _tmp7_ = NULL; + PublishingPicasaPublishingParameters* _tmp8_ = NULL; + PublishingPicasaPublishingParameters* _tmp9_ = NULL; + SpitPublishingPublishable* _tmp10_ = NULL; + SpitPublishingPublishable* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + SpitPublishingPublishable* _tmp13_ = NULL; + SpitPublishingPublisherMediaType _tmp14_ = 0; + gchar* _tmp15_ = NULL; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = session; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = parameters; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = publishing_picasa_publishing_parameters_get_target_album_feed_url (_tmp1_); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = _tmp2_; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaUploadTransaction*) publishing_rest_support_google_publisher_authenticated_transaction_construct (object_type, _tmp0_, _tmp3_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp3_); +#line 523 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = session; +#line 523 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 523 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_assert (_tmp5_, "session.is_authenticated()"); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = session; +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _publishing_rest_support_session_ref0 (_tmp6_); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->session = _tmp7_; +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = parameters; +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = _publishing_picasa_publishing_parameters_ref0 (_tmp8_); +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->parameters); +#line 525 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->parameters = _tmp9_; +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = publishable; +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->publishable); +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->publishable = _tmp11_; +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = publishable; +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = spit_publishing_publishable_get_media_type (_tmp13_); +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp14_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 528 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = "video/mpeg"; +#line 3633 "PicasaPublishing.c" + } else { +#line 528 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = "image/jpeg"; +#line 3637 "PicasaPublishing.c" + } +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = g_strdup (_tmp12_); +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->mime_type); +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->mime_type = _tmp15_; +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 3647 "PicasaPublishing.c" +} + + +PublishingPicasaUploadTransaction* publishing_picasa_upload_transaction_new (PublishingRESTSupportGoogleSession* session, PublishingPicasaPublishingParameters* parameters, SpitPublishingPublishable* publishable) { +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_upload_transaction_construct (PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION, session, parameters, publishable); +#line 3654 "PicasaPublishing.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 3677 "PicasaPublishing.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 3685 "PicasaPublishing.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 3697 "PicasaPublishing.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 3721 "PicasaPublishing.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 3727 "PicasaPublishing.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 3731 "PicasaPublishing.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 3735 "PicasaPublishing.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 3747 "PicasaPublishing.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 3757 "PicasaPublishing.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 3763 "PicasaPublishing.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 3777 "PicasaPublishing.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 3787 "PicasaPublishing.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 3793 "PicasaPublishing.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 3802 "PicasaPublishing.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 3822 "PicasaPublishing.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 3839 "PicasaPublishing.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 3849 "PicasaPublishing.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 3859 "PicasaPublishing.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 3865 "PicasaPublishing.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 3876 "PicasaPublishing.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 3888 "PicasaPublishing.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 3892 "PicasaPublishing.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 3896 "PicasaPublishing.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 3900 "PicasaPublishing.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 3923 "PicasaPublishing.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 3932 "PicasaPublishing.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 3945 "PicasaPublishing.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 3951 "PicasaPublishing.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 3961 "PicasaPublishing.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 3973 "PicasaPublishing.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 3977 "PicasaPublishing.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 3983 "PicasaPublishing.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 3994 "PicasaPublishing.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 4009 "PicasaPublishing.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 4013 "PicasaPublishing.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 4017 "PicasaPublishing.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 4023 "PicasaPublishing.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 4035 "PicasaPublishing.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 4056 "PicasaPublishing.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 4060 "PicasaPublishing.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 4066 "PicasaPublishing.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 4073 "PicasaPublishing.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 4081 "PicasaPublishing.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 4119 "PicasaPublishing.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 4128 "PicasaPublishing.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 4144 "PicasaPublishing.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 4150 "PicasaPublishing.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 4164 "PicasaPublishing.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 4184 "PicasaPublishing.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 4199 "PicasaPublishing.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 4203 "PicasaPublishing.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 4211 "PicasaPublishing.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 4222 "PicasaPublishing.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 4231 "PicasaPublishing.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 4276 "PicasaPublishing.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 4282 "PicasaPublishing.c" +} + + +static void _vala_SoupBuffer_free (SoupBuffer* self) { +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_boxed_free (soup_buffer_get_type (), self); +#line 4289 "PicasaPublishing.c" +} + + +static void _vala_SoupMultipart_free (SoupMultipart* self) { +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_boxed_free (soup_multipart_get_type (), self); +#line 4296 "PicasaPublishing.c" +} + + +static void publishing_picasa_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingPicasaUploadTransaction * self; + SoupMultipart* message_parts = NULL; + SoupMultipart* _tmp0_ = NULL; + gchar* summary = NULL; + gchar* _tmp1_ = NULL; + SpitPublishingPublishable* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gchar** keywords = NULL; + SpitPublishingPublishable* _tmp12_ = NULL; + gint _tmp13_ = 0; + gchar** _tmp14_ = NULL; + gint keywords_length1 = 0; + gint _keywords_size_ = 0; + gchar* keywords_string = NULL; + gchar* _tmp15_ = NULL; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gchar* metadata = NULL; + SpitPublishingPublishable* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + SoupBuffer* metadata_buffer = NULL; + const gchar* _tmp60_ = NULL; + guint8* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + guint8* _tmp62_ = NULL; + gint _tmp62__length1 = 0; + SoupBuffer* _tmp63_ = NULL; + SoupMultipart* _tmp64_ = NULL; + SoupBuffer* _tmp65_ = NULL; + guint8* photo_data = NULL; + GMappedFile* _tmp87_ = NULL; + gchar* _tmp88_ = NULL; + gint photo_data_length1 = 0; + gint _photo_data_size_ = 0; + GMappedFile* _tmp89_ = NULL; + gsize _tmp90_ = 0UL; + gint _tmp91_ = 0; + SoupBuffer* bindable_data = NULL; + SoupBuffer* _tmp92_ = NULL; + SoupMultipart* _tmp93_ = NULL; + SpitPublishingPublishable* _tmp94_ = NULL; + GFile* _tmp95_ = NULL; + GFile* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + gchar* _tmp98_ = NULL; + const gchar* _tmp99_ = NULL; + SoupMessage* outbound_message = NULL; + gchar* _tmp100_ = NULL; + gchar* _tmp101_ = NULL; + SoupMultipart* _tmp102_ = NULL; + SoupMessage* _tmp103_ = NULL; + SoupMessage* _tmp104_ = NULL; + SoupMessageHeaders* _tmp105_ = NULL; + PublishingRESTSupportGoogleSession* _tmp106_ = NULL; + gchar* _tmp107_ = NULL; + gchar* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; + gchar* _tmp110_ = NULL; + GError * _inner_error_ = NULL; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION, PublishingPicasaUploadTransaction); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = soup_multipart_new ("multipart/related"); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + message_parts = _tmp0_; +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (""); +#line 535 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + summary = _tmp1_; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->publishable; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = spit_publishing_publishable_get_publishing_name (_tmp2_); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = _tmp3_; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = g_strcmp0 (_tmp4_, "") != 0; +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp4_); +#line 536 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp5_) { +#line 4391 "PicasaPublishing.c" + SpitPublishingPublishable* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = self->priv->publishable; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = spit_publishing_publishable_get_publishing_name (_tmp6_); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = _tmp7_; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = publishing_rest_support_decimal_entity_encode (_tmp8_); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = _tmp9_; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = g_strdup_printf ("%s", _tmp10_); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (summary); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + summary = _tmp11_; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp10_); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp8_); +#line 4418 "PicasaPublishing.c" + } +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = self->priv->publishable; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = spit_publishing_publishable_get_publishing_keywords (_tmp12_, &_tmp13_); +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords = _tmp14_; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords_length1 = _tmp13_; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _keywords_size_ = keywords_length1; +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = g_strdup (""); +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords_string = _tmp15_; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = keywords; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16__length1 = keywords_length1; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp16__length1 > 0) { +#line 4440 "PicasaPublishing.c" + const gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + { + gint i = 0; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + i = 0; +#line 4449 "PicasaPublishing.c" + { + gboolean _tmp17_ = FALSE; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = TRUE; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + while (TRUE) { +#line 4456 "PicasaPublishing.c" + gint _tmp19_ = 0; + gchar** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gchar** tmp = NULL; + gint tmp_length1 = 0; + gint _tmp_size_ = 0; + gchar** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + const gchar* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp17_) { +#line 4473 "PicasaPublishing.c" + gint _tmp18_ = 0; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp18_ = i; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + i = _tmp18_ + 1; +#line 4479 "PicasaPublishing.c" + } +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = FALSE; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp19_ = i; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = keywords; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20__length1 = keywords_length1; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!(_tmp19_ < _tmp20__length1)) { +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + break; +#line 4493 "PicasaPublishing.c" + } +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21_ = keywords; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21__length1 = keywords_length1; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp22_ = i; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp23_ = _tmp21_[_tmp22_]; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp24_ = g_str_has_prefix (_tmp23_, "/"); +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp24_) { +#line 4507 "PicasaPublishing.c" + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gint _tmp26_ = 0; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar** _tmp30_ = NULL; + gchar** _tmp31_ = NULL; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp25_ = keywords; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp25__length1 = keywords_length1; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp26_ = i; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp27_ = _tmp25_[_tmp26_]; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp28_ = string_substring (_tmp27_, (glong) 1, (glong) -1); +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp29_ = _tmp28_; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp31_ = _tmp30_ = g_strsplit (_tmp29_, "/", 0); +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + tmp = (_vala_array_free (tmp, tmp_length1, (GDestroyNotify) g_free), NULL); +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + tmp = _tmp31_; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + tmp_length1 = _vala_array_length (_tmp30_); +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp_size_ = tmp_length1; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp29_); +#line 4540 "PicasaPublishing.c" + } else { + gchar** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + const gchar* _tmp34_ = NULL; + gchar** _tmp35_ = NULL; + gchar** _tmp36_ = NULL; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp32_ = keywords; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp32__length1 = keywords_length1; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp33_ = i; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp34_ = _tmp32_[_tmp33_]; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp36_ = _tmp35_ = g_strsplit (_tmp34_, "/", 0); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + tmp = (_vala_array_free (tmp, tmp_length1, (GDestroyNotify) g_free), NULL); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + tmp = _tmp36_; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + tmp_length1 = _vala_array_length (_tmp35_); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp_size_ = tmp_length1; +#line 4566 "PicasaPublishing.c" + } +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp37_ = keywords_string; +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp38_ = strlen (_tmp37_); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp39_ = _tmp38_; +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp39_ > 0) { +#line 4576 "PicasaPublishing.c" + const gchar* _tmp40_ = NULL; + gchar** _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp40_ = keywords_string; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp41_ = tmp; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp41__length1 = tmp_length1; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp42_ = _vala_g_strjoinv (", ", _tmp41_, _tmp41__length1); +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp43_ = _tmp42_; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp44_ = g_strjoin (", ", _tmp40_, _tmp43_, NULL); +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords_string = _tmp44_; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp43_); +#line 4601 "PicasaPublishing.c" + } else { + gchar** _tmp45_ = NULL; + gint _tmp45__length1 = 0; + gchar* _tmp46_ = NULL; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp45_ = tmp; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp45__length1 = tmp_length1; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp46_ = _vala_g_strjoinv (", ", _tmp45_, _tmp45__length1); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords_string = _tmp46_; +#line 4616 "PicasaPublishing.c" + } +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + tmp = (_vala_array_free (tmp, tmp_length1, (GDestroyNotify) g_free), NULL); +#line 4620 "PicasaPublishing.c" + } + } + } +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp47_ = keywords_string; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp48_ = publishing_rest_support_decimal_entity_encode (_tmp47_); +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords_string = _tmp48_; +#line 559 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp49_ = keywords_string; +#line 559 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp50_ = g_strdup_printf ("%s", _tmp49_); +#line 559 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 559 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords_string = _tmp50_; +#line 4640 "PicasaPublishing.c" + } +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp51_ = self->priv->publishable; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp52_ = spit_publishing_publishable_get_param_string (_tmp51_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp53_ = _tmp52_; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp54_ = publishing_rest_support_decimal_entity_encode (_tmp53_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp55_ = _tmp54_; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp56_ = summary; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp57_ = keywords_string; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp58_ = g_strdup_printf (PUBLISHING_PICASA_UPLOAD_TRANSACTION_METADATA_TEMPLATE, _tmp55_, _tmp56_, _tmp57_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp59_ = _tmp58_; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp55_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp53_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + metadata = _tmp59_; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp60_ = metadata; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp61_ = string_get_data (_tmp60_, &_tmp61__length1); +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp62_ = _tmp61_; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp62__length1 = _tmp61__length1; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp63_ = soup_buffer_new (SOUP_MEMORY_COPY, _tmp62_, _tmp62__length1); +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + metadata_buffer = _tmp63_; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp64_ = message_parts; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp65_ = metadata_buffer; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + soup_multipart_append_form_file (_tmp64_, "", "", "application/atom+xml", _tmp65_); +#line 4684 "PicasaPublishing.c" + { + GMappedFile* _tmp66_ = NULL; + SpitPublishingPublishable* _tmp67_ = NULL; + GFile* _tmp68_ = NULL; + GFile* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + GMappedFile* _tmp72_ = NULL; + GMappedFile* _tmp73_ = NULL; + GMappedFile* _tmp74_ = NULL; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp67_ = self->priv->publishable; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp68_ = spit_publishing_publishable_get_serialized_file (_tmp67_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp69_ = _tmp68_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp70_ = g_file_get_path (_tmp69_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp71_ = _tmp70_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp72_ = g_mapped_file_new (_tmp71_, FALSE, &_inner_error_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp73_ = _tmp72_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp71_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (_tmp69_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp66_ = _tmp73_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == G_FILE_ERROR) { +#line 4719 "PicasaPublishing.c" + goto __catch14_g_file_error; + } +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (metadata); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (summary); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 4740 "PicasaPublishing.c" + } +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp74_ = _tmp66_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp66_ = NULL; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_mapped_file_unref0 (self->priv->mapped_file); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->mapped_file = _tmp74_; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_mapped_file_unref0 (_tmp66_); +#line 4752 "PicasaPublishing.c" + } + goto __finally14; + __catch14_g_file_error: + { + GError* e = NULL; + gchar* msg = NULL; + SpitPublishingPublishable* _tmp75_ = NULL; + GFile* _tmp76_ = NULL; + GFile* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + GError* _tmp80_ = NULL; + const gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + const gchar* _tmp84_ = NULL; + const gchar* _tmp85_ = NULL; + GError* _tmp86_ = NULL; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + e = _inner_error_; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = NULL; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp75_ = self->priv->publishable; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp76_ = spit_publishing_publishable_get_serialized_file (_tmp75_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp77_ = _tmp76_; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp78_ = g_file_get_path (_tmp77_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp79_ = _tmp78_; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp80_ = e; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp81_ = _tmp80_->message; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp82_ = g_strdup_printf ("Picasa: couldn't read data from %s: %s", _tmp79_, _tmp81_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp83_ = _tmp82_; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp79_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (_tmp77_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + msg = _tmp83_; +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp84_ = msg; +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_warning ("PicasaPublishing.vala:574: %s", _tmp84_); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp85_ = msg; +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp86_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp85_); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _inner_error_ = _tmp86_; +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (msg); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_error_free0 (e); +#line 4813 "PicasaPublishing.c" + goto __finally14; + } + __finally14: +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (metadata); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (summary); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 4837 "PicasaPublishing.c" + } else { +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (metadata); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (summary); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 4857 "PicasaPublishing.c" + } + } +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp87_ = self->priv->mapped_file; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp88_ = g_mapped_file_get_contents (_tmp87_); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + photo_data = (guint8*) _tmp88_; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + photo_data_length1 = -1; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _photo_data_size_ = photo_data_length1; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp89_ = self->priv->mapped_file; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp90_ = g_mapped_file_get_length (_tmp89_); +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + photo_data_length1 = (gint) _tmp90_; +#line 579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp91_ = photo_data_length1; +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp92_ = soup_buffer_new (SOUP_MEMORY_TEMPORARY, photo_data, photo_data_length1); +#line 584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + bindable_data = _tmp92_; +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp93_ = message_parts; +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp94_ = self->priv->publishable; +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp95_ = spit_publishing_publishable_get_serialized_file (_tmp94_); +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp96_ = _tmp95_; +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp97_ = g_file_get_path (_tmp96_); +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp98_ = _tmp97_; +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp99_ = self->priv->mime_type; +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + soup_multipart_append_form_file (_tmp93_, "", _tmp98_, _tmp99_, bindable_data); +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp98_); +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (_tmp96_); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp100_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp101_ = _tmp100_; +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp102_ = message_parts; +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp103_ = soup_form_request_new_from_multipart (_tmp101_, _tmp102_); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp104_ = _tmp103_; +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp101_); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + outbound_message = _tmp104_; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp105_ = outbound_message->request_headers; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp106_ = self->priv->session; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp107_ = publishing_rest_support_google_session_get_access_token (_tmp106_); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp108_ = _tmp107_; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp109_ = g_strconcat ("Bearer ", _tmp108_, NULL); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp110_ = _tmp109_; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + soup_message_headers_append (_tmp105_, "Authorization", _tmp110_); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp110_); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp108_); +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_transaction_set_message (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), outbound_message); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_transaction_set_is_executed (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), TRUE); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_rest_support_transaction_send (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_propagate_error (error, _inner_error_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (outbound_message); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (metadata); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (summary); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 4964 "PicasaPublishing.c" + } else { +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (outbound_message); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (metadata); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (summary); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PicasaPublishing.vala" + g_clear_error (&_inner_error_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return; +#line 4988 "PicasaPublishing.c" + } + } +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (outbound_message); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (metadata); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (keywords_string); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (summary); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 5007 "PicasaPublishing.c" +} + + +static void publishing_picasa_upload_transaction_class_init (PublishingPicasaUploadTransactionClass * klass) { +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_upload_transaction_parent_class = g_type_class_peek_parent (klass); +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_picasa_upload_transaction_finalize; +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPicasaUploadTransactionPrivate)); +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_picasa_upload_transaction_real_execute; +#line 5020 "PicasaPublishing.c" +} + + +static void publishing_picasa_upload_transaction_instance_init (PublishingPicasaUploadTransaction * self) { +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv = PUBLISHING_PICASA_UPLOAD_TRANSACTION_GET_PRIVATE (self); +#line 5027 "PicasaPublishing.c" +} + + +static void publishing_picasa_upload_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingPicasaUploadTransaction * self; +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PICASA_TYPE_UPLOAD_TRANSACTION, PublishingPicasaUploadTransaction); +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->parameters); +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->mime_type); +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->publishable); +#line 517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_mapped_file_unref0 (self->priv->mapped_file); +#line 510 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_picasa_upload_transaction_parent_class)->finalize (obj); +#line 5047 "PicasaPublishing.c" +} + + +GType publishing_picasa_upload_transaction_get_type (void) { + static volatile gsize publishing_picasa_upload_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_upload_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaUploadTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_upload_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaUploadTransaction), 0, (GInstanceInitFunc) publishing_picasa_upload_transaction_instance_init, NULL }; + GType publishing_picasa_upload_transaction_type_id; + publishing_picasa_upload_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, "PublishingPicasaUploadTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_picasa_upload_transaction_type_id__volatile, publishing_picasa_upload_transaction_type_id); + } + return publishing_picasa_upload_transaction_type_id__volatile; +} + + +static gpointer _publishing_picasa_publishing_options_pane_size_description_ref0 (gpointer self) { +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self ? publishing_picasa_publishing_options_pane_size_description_ref (self) : NULL; +#line 5066 "PicasaPublishing.c" +} + + +static void _publishing_picasa_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_on_use_existing_radio_clicked ((PublishingPicasaPublishingOptionsPane*) self); +#line 5073 "PicasaPublishing.c" +} + + +static void _publishing_picasa_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 681 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_on_create_new_radio_clicked ((PublishingPicasaPublishingOptionsPane*) self); +#line 5080 "PicasaPublishing.c" +} + + +static void _publishing_picasa_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_on_new_album_entry_changed ((PublishingPicasaPublishingOptionsPane*) self); +#line 5087 "PicasaPublishing.c" +} + + +static void _publishing_picasa_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_on_logout_clicked ((PublishingPicasaPublishingOptionsPane*) self); +#line 5094 "PicasaPublishing.c" +} + + +static void _publishing_picasa_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_on_publish_clicked ((PublishingPicasaPublishingOptionsPane*) self); +#line 5101 "PicasaPublishing.c" +} + + +PublishingPicasaPublishingOptionsPane* publishing_picasa_publishing_options_pane_construct (GType object_type, GtkBuilder* builder, PublishingPicasaPublishingParameters* parameters) { + PublishingPicasaPublishingOptionsPane * self = NULL; + gint _tmp0_ = 0; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp1_ = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GtkBuilder* _tmp4_ = NULL; + GtkBuilder* _tmp5_ = NULL; + GSList* _tmp6_ = NULL; + GSList* _tmp7_ = NULL; + guint _tmp8_ = 0U; + PublishingPicasaPublishingParameters* _tmp9_ = NULL; + PublishingPicasaPublishingParameters* _tmp10_ = NULL; + GtkBuilder* _tmp11_ = NULL; + GObject* _tmp12_ = NULL; + GtkBox* _tmp13_ = NULL; + GtkBuilder* _tmp14_ = NULL; + GObject* _tmp15_ = NULL; + GtkLabel* _tmp16_ = NULL; + GtkBuilder* _tmp17_ = NULL; + GObject* _tmp18_ = NULL; + GtkLabel* _tmp19_ = NULL; + GtkBuilder* _tmp20_ = NULL; + GObject* _tmp21_ = NULL; + GtkRadioButton* _tmp22_ = NULL; + GtkBuilder* _tmp23_ = NULL; + GObject* _tmp24_ = NULL; + GtkComboBoxText* _tmp25_ = NULL; + GtkBuilder* _tmp26_ = NULL; + GObject* _tmp27_ = NULL; + GtkRadioButton* _tmp28_ = NULL; + GtkBuilder* _tmp29_ = NULL; + GObject* _tmp30_ = NULL; + GtkEntry* _tmp31_ = NULL; + GtkBuilder* _tmp32_ = NULL; + GObject* _tmp33_ = NULL; + GtkCheckButton* _tmp34_ = NULL; + GtkBuilder* _tmp35_ = NULL; + GObject* _tmp36_ = NULL; + GtkComboBoxText* _tmp37_ = NULL; + GtkBuilder* _tmp38_ = NULL; + GObject* _tmp39_ = NULL; + GtkCheckButton* _tmp40_ = NULL; + GtkBuilder* _tmp41_ = NULL; + GObject* _tmp42_ = NULL; + GtkButton* _tmp43_ = NULL; + GtkBuilder* _tmp44_ = NULL; + GObject* _tmp45_ = NULL; + GtkButton* _tmp46_ = NULL; + GtkLabel* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + PublishingPicasaPublishingParameters* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + GtkCheckButton* _tmp54_ = NULL; + PublishingPicasaPublishingParameters* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + PublishingPicasaPublishingParameters* _tmp57_ = NULL; + SpitPublishingPublisherMediaType _tmp58_ = 0; + GtkRadioButton* _tmp75_ = NULL; + GtkRadioButton* _tmp76_ = NULL; + GtkEntry* _tmp77_ = NULL; + GtkButton* _tmp78_ = NULL; + GtkButton* _tmp79_ = NULL; +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaPublishingOptionsPane*) g_object_new (object_type, NULL); +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_picasa_publishing_options_pane_create_size_descriptions (self, &_tmp0_); +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->size_descriptions = (_vala_array_free (self->priv->size_descriptions, self->priv->size_descriptions_length1, (GDestroyNotify) publishing_picasa_publishing_options_pane_size_description_unref), NULL); +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->size_descriptions = _tmp1_; +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->size_descriptions_length1 = _tmp0_; +#line 636 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->_size_descriptions_size_ = self->priv->size_descriptions_length1; +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = builder; +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->builder = _tmp3_; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = builder; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_assert (_tmp4_ != NULL, "builder != null"); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = builder; +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = gtk_builder_get_objects (_tmp5_); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _tmp6_; +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = g_slist_length (_tmp7_); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_assert (_tmp8_ > ((guint) 0), "builder.get_objects().length() > 0"); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_slist_free0 (_tmp7_); +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = parameters; +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = _publishing_picasa_publishing_parameters_ref0 (_tmp9_); +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->parameters); +#line 642 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->parameters = _tmp10_; +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = builder; +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = gtk_builder_get_object (_tmp11_, "picasa_pane_widget"); +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_box_get_type (), GtkBox)); +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 645 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->pane_widget = _tmp13_; +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = builder; +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = gtk_builder_get_object (_tmp14_, "login_identity_label"); +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_label_get_type (), GtkLabel)); +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->login_identity_label); +#line 646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->login_identity_label = _tmp16_; +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = builder; +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp18_ = gtk_builder_get_object (_tmp17_, "publish_to_label"); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp19_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_label_get_type (), GtkLabel)); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->publish_to_label); +#line 647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->publish_to_label = _tmp19_; +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = builder; +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21_ = gtk_builder_get_object (_tmp20_, "use_existing_radio"); +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_radio_button_get_type (), GtkRadioButton)); +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->use_existing_radio = _tmp22_; +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp23_ = builder; +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp24_ = gtk_builder_get_object (_tmp23_, "existing_albums_combo"); +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp25_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->existing_albums_combo = _tmp25_; +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp26_ = builder; +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp27_ = gtk_builder_get_object (_tmp26_, "create_new_radio"); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_radio_button_get_type (), GtkRadioButton)); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->create_new_radio = _tmp28_; +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp29_ = builder; +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp30_ = gtk_builder_get_object (_tmp29_, "new_album_entry"); +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_entry_get_type (), GtkEntry)); +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->new_album_entry = _tmp31_; +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp32_ = builder; +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp33_ = gtk_builder_get_object (_tmp32_, "public_check"); +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp34_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_check_button_get_type (), GtkCheckButton)); +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->public_check); +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->public_check = _tmp34_; +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp35_ = builder; +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp36_ = gtk_builder_get_object (_tmp35_, "size_combo"); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp37_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_combo_box_text_get_type (), GtkComboBoxText)); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->size_combo = _tmp37_; +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp38_ = self->priv->builder; +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp39_ = gtk_builder_get_object (_tmp38_, "strip_metadata_check"); +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp40_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_check_button_get_type (), GtkCheckButton)); +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->strip_metadata_check = _tmp40_; +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp41_ = builder; +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp42_ = gtk_builder_get_object (_tmp41_, "publish_button"); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp43_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_button_get_type (), GtkButton)); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->publish_button = _tmp43_; +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp44_ = builder; +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp45_ = gtk_builder_get_object (_tmp44_, "logout_button"); +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp46_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_button_get_type (), GtkButton)); +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->logout_button = _tmp46_; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp47_ = self->priv->login_identity_label; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp48_ = _ ("You are logged into Picasa Web Albums as %s."); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp49_ = parameters; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp50_ = publishing_picasa_publishing_parameters_get_user_name (_tmp49_); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp51_ = _tmp50_; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp52_ = g_strdup_printf (_tmp48_, _tmp51_); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp53_ = _tmp52_; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_label_set_label (_tmp47_, _tmp53_); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp53_); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp51_); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp54_ = self->priv->strip_metadata_check; +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp55_ = parameters; +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp56_ = publishing_picasa_publishing_parameters_get_strip_metadata (_tmp55_); +#line 661 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp56_); +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp57_ = parameters; +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp58_ = publishing_picasa_publishing_parameters_get_media_type (_tmp57_); +#line 664 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if ((_tmp58_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) == 0) { +#line 5373 "PicasaPublishing.c" + GtkLabel* _tmp59_ = NULL; + const gchar* _tmp60_ = NULL; + GtkComboBoxText* _tmp61_ = NULL; + GtkComboBoxText* _tmp62_ = NULL; +#line 665 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp59_ = self->priv->publish_to_label; +#line 665 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp60_ = _ ("Videos will appear in:"); +#line 665 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_label_set_label (_tmp59_, _tmp60_); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp61_ = self->priv->size_combo; +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp62_ = self->priv->size_combo; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 5392 "PicasaPublishing.c" + } else { + GtkLabel* _tmp63_ = NULL; + const gchar* _tmp64_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp65_ = NULL; + gint _tmp65__length1 = 0; + GtkComboBoxText* _tmp70_ = NULL; + GtkComboBoxText* _tmp71_ = NULL; + GtkComboBoxText* _tmp72_ = NULL; + PublishingPicasaPublishingParameters* _tmp73_ = NULL; + gint _tmp74_ = 0; +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp63_ = self->priv->publish_to_label; +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp64_ = _ ("Photos will appear in:"); +#line 670 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_label_set_label (_tmp63_, _tmp64_); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp65_ = self->priv->size_descriptions; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp65__length1 = self->priv->size_descriptions_length1; +#line 5413 "PicasaPublishing.c" + { + PublishingPicasaPublishingOptionsPaneSizeDescription** desc_collection = NULL; + gint desc_collection_length1 = 0; + gint _desc_collection_size_ = 0; + gint desc_it = 0; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + desc_collection = _tmp65_; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + desc_collection_length1 = _tmp65__length1; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + for (desc_it = 0; desc_it < _tmp65__length1; desc_it = desc_it + 1) { +#line 5425 "PicasaPublishing.c" + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp66_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription* desc = NULL; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp66_ = _publishing_picasa_publishing_options_pane_size_description_ref0 (desc_collection[desc_it]); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + desc = _tmp66_; +#line 5432 "PicasaPublishing.c" + { + GtkComboBoxText* _tmp67_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp67_ = self->priv->size_combo; +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp68_ = desc; +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp69_ = _tmp68_->name; +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_combo_box_text_append_text (_tmp67_, _tmp69_); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_options_pane_size_description_unref0 (desc); +#line 5447 "PicasaPublishing.c" + } + } + } +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp70_ = self->priv->size_combo; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp71_ = self->priv->size_combo; +#line 675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp72_ = self->priv->size_combo; +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp73_ = parameters; +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp74_ = publishing_picasa_publishing_parameters_get_major_axis_size_selection_id (_tmp73_); +#line 676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_combo_box_get_type (), GtkComboBox), _tmp74_); +#line 5467 "PicasaPublishing.c" + } +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp75_ = self->priv->use_existing_radio; +#line 680 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_picasa_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked, self, 0); +#line 681 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp76_ = self->priv->create_new_radio; +#line 681 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_picasa_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked, self, 0); +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp77_ = self->priv->new_album_entry; +#line 682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_picasa_publishing_options_pane_on_new_album_entry_changed_gtk_editable_changed, self, 0); +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp78_ = self->priv->logout_button; +#line 683 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (_tmp78_, "clicked", (GCallback) _publishing_picasa_publishing_options_pane_on_logout_clicked_gtk_button_clicked, self, 0); +#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp79_ = self->priv->publish_button; +#line 684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_connect_object (_tmp79_, "clicked", (GCallback) _publishing_picasa_publishing_options_pane_on_publish_clicked_gtk_button_clicked, self, 0); +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 5491 "PicasaPublishing.c" +} + + +PublishingPicasaPublishingOptionsPane* publishing_picasa_publishing_options_pane_new (GtkBuilder* builder, PublishingPicasaPublishingParameters* parameters) { +#line 635 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_publishing_options_pane_construct (PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, builder, parameters); +#line 5498 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_on_publish_clicked (PublishingPicasaPublishingOptionsPane* self) { + gint _tmp0_ = 0; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint size_combo_last_active = 0; + PublishingPicasaPublishingParameters* _tmp5_ = NULL; + gint _tmp6_ = 0; + PublishingPicasaPublishingParameters* _tmp7_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp10_ = NULL; + gint _tmp11_ = 0; + PublishingPicasaPublishingParameters* _tmp12_ = NULL; + GtkCheckButton* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + PublishingPicasaAlbum** albums = NULL; + PublishingPicasaPublishingParameters* _tmp15_ = NULL; + gint _tmp16_ = 0; + PublishingPicasaAlbum** _tmp17_ = NULL; + gint albums_length1 = 0; + gint _albums_size_ = 0; + GtkRadioButton* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = self->priv->size_combo; +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp2_ >= 0) { +#line 5534 "PicasaPublishing.c" + GtkComboBoxText* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = self->priv->size_combo; +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_combo_box_get_type (), GtkComboBox)); +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = _tmp4_; +#line 5543 "PicasaPublishing.c" + } else { +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = 0; +#line 5547 "PicasaPublishing.c" + } +#line 691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + size_combo_last_active = _tmp0_; +#line 693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = self->priv->parameters; +#line 693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = size_combo_last_active; +#line 693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_major_axis_size_selection_id (_tmp5_, _tmp6_); +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = self->priv->parameters; +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = self->priv->size_descriptions; +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8__length1 = self->priv->size_descriptions_length1; +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = size_combo_last_active; +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = _tmp10_->major_axis_pixels; +#line 694 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_major_axis_size_pixels (_tmp7_, _tmp11_); +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = self->priv->parameters; +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = self->priv->strip_metadata_check; +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 696 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_strip_metadata (_tmp12_, _tmp14_); +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = self->priv->parameters; +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = publishing_picasa_publishing_parameters_get_albums (_tmp15_, &_tmp16_); +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + albums = _tmp17_; +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + albums_length1 = _tmp16_; +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _albums_size_ = albums_length1; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp18_ = self->priv->create_new_radio; +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp19_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 700 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp19_) { +#line 5595 "PicasaPublishing.c" + PublishingPicasaPublishingParameters* _tmp20_ = NULL; + GtkEntry* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + PublishingPicasaPublishingParameters* _tmp23_ = NULL; + PublishingPicasaPublishingParameters* _tmp24_ = NULL; + GtkCheckButton* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = self->priv->parameters; +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21_ = self->priv->new_album_entry; +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp22_ = gtk_entry_get_text (_tmp21_); +#line 701 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_target_album_name (_tmp20_, _tmp22_); +#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp23_ = self->priv->parameters; +#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_is_to_new_album (_tmp23_, TRUE); +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp24_ = self->priv->parameters; +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp25_ = self->priv->public_check; +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp26_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_is_new_album_public (_tmp24_, _tmp26_); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_emit_by_name (self, "publish"); +#line 5625 "PicasaPublishing.c" + } else { + PublishingPicasaPublishingParameters* _tmp27_ = NULL; + PublishingPicasaAlbum** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + GtkComboBoxText* _tmp29_ = NULL; + gint _tmp30_ = 0; + PublishingPicasaAlbum* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + PublishingPicasaPublishingParameters* _tmp33_ = NULL; + PublishingPicasaPublishingParameters* _tmp34_ = NULL; + PublishingPicasaAlbum** _tmp35_ = NULL; + gint _tmp35__length1 = 0; + GtkComboBoxText* _tmp36_ = NULL; + gint _tmp37_ = 0; + PublishingPicasaAlbum* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp27_ = self->priv->parameters; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp28_ = albums; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp28__length1 = albums_length1; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp29_ = self->priv->existing_albums_combo; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp30_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_combo_box_get_type (), GtkComboBox)); +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp31_ = _tmp28_[_tmp30_]; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp32_ = _tmp31_->name; +#line 706 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_target_album_name (_tmp27_, _tmp32_); +#line 707 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp33_ = self->priv->parameters; +#line 707 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_is_to_new_album (_tmp33_, FALSE); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp34_ = self->priv->parameters; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp35_ = albums; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp35__length1 = albums_length1; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp36_ = self->priv->existing_albums_combo; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp37_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_combo_box_get_type (), GtkComboBox)); +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp38_ = _tmp35_[_tmp37_]; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp39_ = _tmp38_->url; +#line 708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_set_target_album_entry_url (_tmp34_, _tmp39_); +#line 709 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_emit_by_name (self, "publish"); +#line 5680 "PicasaPublishing.c" + } +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + albums = (_vala_array_free (albums, albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 5684 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_on_use_existing_radio_clicked (PublishingPicasaPublishingOptionsPane* self) { + GtkComboBoxText* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkCheckButton* _tmp3_ = NULL; +#line 713 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->existing_albums_combo; +#line 714 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = self->priv->new_album_entry; +#line 715 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->existing_albums_combo; +#line 716 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 717 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_update_publish_button_sensitivity (self); +#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = self->priv->public_check; +#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 5713 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_on_create_new_radio_clicked (PublishingPicasaPublishingOptionsPane* self) { + GtkEntry* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + GtkCheckButton* _tmp3_ = NULL; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 722 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->new_album_entry; +#line 722 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = self->priv->existing_albums_combo; +#line 723 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->new_album_entry; +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_update_publish_button_sensitivity (self); +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = self->priv->public_check; +#line 726 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 5742 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_on_logout_clicked (PublishingPicasaPublishingOptionsPane* self) { +#line 729 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 730 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 5751 "PicasaPublishing.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 5774 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_update_publish_button_sensitivity (PublishingPicasaPublishingOptionsPane* self) { + gchar* album_name = NULL; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GtkButton* _tmp10_ = NULL; +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->new_album_entry; +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 734 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + album_name = _tmp2_; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = album_name; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = string_strip (_tmp4_); +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = _tmp5_; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = g_strcmp0 (_tmp6_, "") == 0; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (_tmp6_); +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp7_) { +#line 5811 "PicasaPublishing.c" + GtkRadioButton* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = self->priv->create_new_radio; +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 736 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = _tmp9_; +#line 5820 "PicasaPublishing.c" + } else { +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = FALSE; +#line 5824 "PicasaPublishing.c" + } +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = self->priv->publish_button; +#line 735 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), !_tmp3_); +#line 733 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (album_name); +#line 5832 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_on_new_album_entry_changed (PublishingPicasaPublishingOptionsPane* self) { +#line 739 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 740 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_update_publish_button_sensitivity (self); +#line 5841 "PicasaPublishing.c" +} + + +static void _vala_array_add13 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value) { +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if ((*length) == (*size)) { +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *array = g_renew (PublishingPicasaPublishingOptionsPaneSizeDescription*, *array, (*size) + 1); +#line 5852 "PicasaPublishing.c" + } +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[(*length)++] = value; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[*length] = NULL; +#line 5858 "PicasaPublishing.c" +} + + +static void _vala_array_add14 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value) { +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if ((*length) == (*size)) { +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *array = g_renew (PublishingPicasaPublishingOptionsPaneSizeDescription*, *array, (*size) + 1); +#line 5869 "PicasaPublishing.c" + } +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[(*length)++] = value; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[*length] = NULL; +#line 5875 "PicasaPublishing.c" +} + + +static void _vala_array_add15 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value) { +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if ((*length) == (*size)) { +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *array = g_renew (PublishingPicasaPublishingOptionsPaneSizeDescription*, *array, (*size) + 1); +#line 5886 "PicasaPublishing.c" + } +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[(*length)++] = value; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[*length] = NULL; +#line 5892 "PicasaPublishing.c" +} + + +static void _vala_array_add16 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value) { +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if ((*length) == (*size)) { +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *array = g_renew (PublishingPicasaPublishingOptionsPaneSizeDescription*, *array, (*size) + 1); +#line 5903 "PicasaPublishing.c" + } +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[(*length)++] = value; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[*length] = NULL; +#line 5909 "PicasaPublishing.c" +} + + +static void _vala_array_add17 (PublishingPicasaPublishingOptionsPaneSizeDescription*** array, int* length, int* size, PublishingPicasaPublishingOptionsPaneSizeDescription* value) { +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if ((*length) == (*size)) { +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *array = g_renew (PublishingPicasaPublishingOptionsPaneSizeDescription*, *array, (*size) + 1); +#line 5920 "PicasaPublishing.c" + } +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[(*length)++] = value; +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + (*array)[*length] = NULL; +#line 5926 "PicasaPublishing.c" +} + + +static PublishingPicasaPublishingOptionsPaneSizeDescription** publishing_picasa_publishing_options_pane_create_size_descriptions (PublishingPicasaPublishingOptionsPane* self, int* result_length1) { + PublishingPicasaPublishingOptionsPaneSizeDescription** result = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _result_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp3_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp6_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp9_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp12_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp14_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription* _tmp15_ = NULL; + PublishingPicasaPublishingOptionsPaneSizeDescription** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = g_new0 (PublishingPicasaPublishingOptionsPaneSizeDescription*, 0 + 1); +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _result_ = _tmp0_; +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _result__length1 = 0; +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + __result__size_ = _result__length1; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = _result_; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1__length1 = _result__length1; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = _ ("Small (640 x 480 pixels)"); +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_picasa_publishing_options_pane_size_description_new (_tmp2_, 640); +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_array_add13 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = _result_; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4__length1 = _result__length1; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = _ ("Medium (1024 x 768 pixels)"); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = publishing_picasa_publishing_options_pane_size_description_new (_tmp5_, 1024); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_array_add14 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = _result_; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7__length1 = _result__length1; +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = _ ("Recommended (1600 x 1200 pixels)"); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = publishing_picasa_publishing_options_pane_size_description_new (_tmp8_, 1600); +#line 748 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_array_add15 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = _result_; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10__length1 = _result__length1; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = _ ("Google+ (2048 x 1536 pixels)"); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = publishing_picasa_publishing_options_pane_size_description_new (_tmp11_, 2048); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_array_add16 (&_result_, &_result__length1, &__result__size_, _tmp12_); +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = _result_; +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13__length1 = _result__length1; +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = _ ("Original Size"); +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = publishing_picasa_publishing_options_pane_size_description_new (_tmp14_, PUBLISHING_PICASA_PUBLISHING_PARAMETERS_ORIGINAL_SIZE); +#line 750 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _vala_array_add17 (&_result_, &_result__length1, &__result__size_, _tmp15_); +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = _result_; +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16__length1 = _result__length1; +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (result_length1) { +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *result_length1 = _tmp16__length1; +#line 6026 "PicasaPublishing.c" + } +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp16_; +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 6032 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_options_pane_installed (PublishingPicasaPublishingOptionsPane* self) { + gint default_album_id = 0; + gchar* last_album = NULL; + PublishingPicasaPublishingParameters* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PublishingPicasaAlbum** albums = NULL; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + gint _tmp3_ = 0; + PublishingPicasaAlbum** _tmp4_ = NULL; + gint albums_length1 = 0; + gint _albums_size_ = 0; + PublishingPicasaAlbum** _tmp27_ = NULL; + gint _tmp27__length1 = 0; +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 756 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + default_album_id = -1; +#line 757 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->parameters; +#line 757 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishing_picasa_publishing_parameters_get_target_album_name (_tmp0_); +#line 757 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + last_album = _tmp1_; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->parameters; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = publishing_picasa_publishing_parameters_get_albums (_tmp2_, &_tmp3_); +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + albums = _tmp4_; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + albums_length1 = _tmp3_; +#line 759 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _albums_size_ = albums_length1; +#line 6069 "PicasaPublishing.c" + { + gint i = 0; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + i = 0; +#line 6074 "PicasaPublishing.c" + { + gboolean _tmp5_ = FALSE; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = TRUE; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + while (TRUE) { +#line 6081 "PicasaPublishing.c" + gint _tmp7_ = 0; + PublishingPicasaAlbum** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GtkComboBoxText* _tmp9_ = NULL; + PublishingPicasaAlbum** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + PublishingPicasaAlbum* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + PublishingPicasaAlbum** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + PublishingPicasaAlbum* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!_tmp5_) { +#line 6100 "PicasaPublishing.c" + gint _tmp6_ = 0; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = i; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + i = _tmp6_ + 1; +#line 6106 "PicasaPublishing.c" + } +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = FALSE; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp7_ = i; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8_ = albums; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp8__length1 = albums_length1; +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!(_tmp7_ < _tmp8__length1)) { +#line 761 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + break; +#line 6120 "PicasaPublishing.c" + } +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp9_ = self->priv->existing_albums_combo; +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10_ = albums; +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp10__length1 = albums_length1; +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp11_ = i; +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp12_ = _tmp10_[_tmp11_]; +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp13_ = _tmp12_->name; +#line 762 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_combo_box_text_append_text (_tmp9_, _tmp13_); +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15_ = albums; +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp15__length1 = albums_length1; +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp16_ = i; +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp17_ = _tmp15_[_tmp16_]; +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp18_ = _tmp17_->name; +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp19_ = last_album; +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp18_, _tmp19_) == 0) { +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = TRUE; +#line 6152 "PicasaPublishing.c" + } else { + gboolean _tmp20_ = FALSE; + PublishingPicasaAlbum** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + PublishingPicasaAlbum* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21_ = albums; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp21__length1 = albums_length1; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp22_ = i; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp23_ = _tmp21_[_tmp22_]; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp24_ = _tmp23_->name; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_strcmp0 (_tmp24_, PUBLISHING_PICASA_DEFAULT_ALBUM_NAME) == 0) { +#line 6172 "PicasaPublishing.c" + gint _tmp25_ = 0; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp25_ = default_album_id; +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = _tmp25_ == -1; +#line 6178 "PicasaPublishing.c" + } else { +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp20_ = FALSE; +#line 6182 "PicasaPublishing.c" + } +#line 764 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp14_ = _tmp20_; +#line 6186 "PicasaPublishing.c" + } +#line 763 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp14_) { +#line 6190 "PicasaPublishing.c" + gint _tmp26_ = 0; +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp26_ = i; +#line 765 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + default_album_id = _tmp26_; +#line 6196 "PicasaPublishing.c" + } + } + } + } +#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp27_ = albums; +#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp27__length1 = albums_length1; +#line 768 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp27__length1 == 0) { +#line 6207 "PicasaPublishing.c" + GtkComboBoxText* _tmp28_ = NULL; + GtkRadioButton* _tmp29_ = NULL; + GtkRadioButton* _tmp30_ = NULL; + GtkEntry* _tmp31_ = NULL; + GtkEntry* _tmp32_ = NULL; +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp28_ = self->priv->existing_albums_combo; +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp29_ = self->priv->use_existing_radio; +#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp30_ = self->priv->create_new_radio; +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp31_ = self->priv->new_album_entry; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget)); +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp32_ = self->priv->new_album_entry; +#line 773 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_entry_set_text (_tmp32_, PUBLISHING_PICASA_DEFAULT_ALBUM_NAME); +#line 6233 "PicasaPublishing.c" + } else { + gint _tmp33_ = 0; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp33_ = default_album_id; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (_tmp33_ >= 0) { +#line 6240 "PicasaPublishing.c" + GtkRadioButton* _tmp34_ = NULL; + GtkComboBoxText* _tmp35_ = NULL; + gint _tmp36_ = 0; + GtkEntry* _tmp37_ = NULL; + GtkCheckButton* _tmp38_ = NULL; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp34_ = self->priv->use_existing_radio; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp35_ = self->priv->existing_albums_combo; +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp36_ = default_album_id; +#line 777 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_combo_box_get_type (), GtkComboBox), _tmp36_); +#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp37_ = self->priv->new_album_entry; +#line 778 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp38_ = self->priv->public_check; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 6264 "PicasaPublishing.c" + } else { + GtkRadioButton* _tmp39_ = NULL; + GtkComboBoxText* _tmp40_ = NULL; + GtkEntry* _tmp41_ = NULL; + GtkEntry* _tmp42_ = NULL; + GtkCheckButton* _tmp43_ = NULL; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp39_ = self->priv->create_new_radio; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp40_ = self->priv->existing_albums_combo; +#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp41_ = self->priv->new_album_entry; +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_entry_set_text (_tmp41_, PUBLISHING_PICASA_DEFAULT_ALBUM_NAME); +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp42_ = self->priv->new_album_entry; +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_widget_get_type (), GtkWidget)); +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp43_ = self->priv->public_check; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 6291 "PicasaPublishing.c" + } + } +#line 788 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_update_publish_button_sensitivity (self); +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + albums = (_vala_array_free (albums, albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (last_album); +#line 6300 "PicasaPublishing.c" +} + + +static GtkWidget* publishing_picasa_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingPicasaPublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 791 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPane); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp1_; +#line 792 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 6319 "PicasaPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_picasa_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingPicasaPublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 795 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPane); +#line 796 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 796 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 6332 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingPicasaPublishingOptionsPane * self; +#line 799 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPane); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_installed (self); +#line 6342 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingPicasaPublishingOptionsPane * self; +#line 803 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPane); +#line 6350 "PicasaPublishing.c" +} + + +static PublishingPicasaPublishingOptionsPaneSizeDescription* publishing_picasa_publishing_options_pane_size_description_construct (GType object_type, const gchar* name, gint major_axis_pixels) { + PublishingPicasaPublishingOptionsPaneSizeDescription* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaPublishingOptionsPaneSizeDescription*) g_type_create_instance (object_type); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = name; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->name); +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->name = _tmp1_; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = major_axis_pixels; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->major_axis_pixels = _tmp2_; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 6377 "PicasaPublishing.c" +} + + +static PublishingPicasaPublishingOptionsPaneSizeDescription* publishing_picasa_publishing_options_pane_size_description_new (const gchar* name, gint major_axis_pixels) { +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_publishing_options_pane_size_description_construct (PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION, name, major_axis_pixels); +#line 6384 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_value_size_description_init (GValue* value) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6391 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_value_size_description_free_value (GValue* value) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (value->data[0].v_pointer) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_size_description_unref (value->data[0].v_pointer); +#line 6400 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_publishing_options_pane_value_size_description_copy_value (const GValue* src_value, GValue* dest_value) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + dest_value->data[0].v_pointer = publishing_picasa_publishing_options_pane_size_description_ref (src_value->data[0].v_pointer); +#line 6410 "PicasaPublishing.c" + } else { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 6414 "PicasaPublishing.c" + } +} + + +static gpointer publishing_picasa_publishing_options_pane_value_size_description_peek_pointer (const GValue* value) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return value->data[0].v_pointer; +#line 6422 "PicasaPublishing.c" +} + + +static gchar* publishing_picasa_publishing_options_pane_value_size_description_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (collect_values[0].v_pointer) { +#line 6429 "PicasaPublishing.c" + PublishingPicasaPublishingOptionsPaneSizeDescription* object; + object = collect_values[0].v_pointer; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 6436 "PicasaPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 6440 "PicasaPublishing.c" + } +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = publishing_picasa_publishing_options_pane_size_description_ref (object); +#line 6444 "PicasaPublishing.c" + } else { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6448 "PicasaPublishing.c" + } +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 6452 "PicasaPublishing.c" +} + + +static gchar* publishing_picasa_publishing_options_pane_value_size_description_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingPicasaPublishingOptionsPaneSizeDescription** object_p; + object_p = collect_values[0].v_pointer; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!object_p) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 6463 "PicasaPublishing.c" + } +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!value->data[0].v_pointer) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = NULL; +#line 6469 "PicasaPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 6473 "PicasaPublishing.c" + } else { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = publishing_picasa_publishing_options_pane_size_description_ref (value->data[0].v_pointer); +#line 6477 "PicasaPublishing.c" + } +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 6481 "PicasaPublishing.c" +} + + +static GParamSpec* publishing_picasa_publishing_options_pane_param_spec_size_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingPicasaPublishingOptionsPaneParamSpecSizeDescription* spec; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION), NULL); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return G_PARAM_SPEC (spec); +#line 6495 "PicasaPublishing.c" +} + + +static gpointer publishing_picasa_publishing_options_pane_value_get_size_description (const GValue* value) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION), NULL); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return value->data[0].v_pointer; +#line 6504 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_value_set_size_description (GValue* value, gpointer v_object) { + PublishingPicasaPublishingOptionsPaneSizeDescription* old; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION)); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + old = value->data[0].v_pointer; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (v_object) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION)); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = v_object; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_size_description_ref (value->data[0].v_pointer); +#line 6524 "PicasaPublishing.c" + } else { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6528 "PicasaPublishing.c" + } +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (old) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_size_description_unref (old); +#line 6534 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_publishing_options_pane_value_take_size_description (GValue* value, gpointer v_object) { + PublishingPicasaPublishingOptionsPaneSizeDescription* old; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION)); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + old = value->data[0].v_pointer; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (v_object) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION)); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = v_object; +#line 6553 "PicasaPublishing.c" + } else { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 6557 "PicasaPublishing.c" + } +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (old) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_size_description_unref (old); +#line 6563 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_publishing_options_pane_size_description_class_init (PublishingPicasaPublishingOptionsPaneSizeDescriptionClass * klass) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_size_description_parent_class = g_type_class_peek_parent (klass); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingPicasaPublishingOptionsPaneSizeDescriptionClass *) klass)->finalize = publishing_picasa_publishing_options_pane_size_description_finalize; +#line 6573 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_size_description_instance_init (PublishingPicasaPublishingOptionsPaneSizeDescription * self) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->ref_count = 1; +#line 6580 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_size_description_finalize (PublishingPicasaPublishingOptionsPaneSizeDescription* obj) { + PublishingPicasaPublishingOptionsPaneSizeDescription * self; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_TYPE_SIZE_DESCRIPTION, PublishingPicasaPublishingOptionsPaneSizeDescription); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_destroy (self); +#line 604 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->name); +#line 6592 "PicasaPublishing.c" +} + + +static GType publishing_picasa_publishing_options_pane_size_description_get_type (void) { + static volatile gsize publishing_picasa_publishing_options_pane_size_description_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_publishing_options_pane_size_description_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_picasa_publishing_options_pane_value_size_description_init, publishing_picasa_publishing_options_pane_value_size_description_free_value, publishing_picasa_publishing_options_pane_value_size_description_copy_value, publishing_picasa_publishing_options_pane_value_size_description_peek_pointer, "p", publishing_picasa_publishing_options_pane_value_size_description_collect_value, "p", publishing_picasa_publishing_options_pane_value_size_description_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaPublishingOptionsPaneSizeDescriptionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_publishing_options_pane_size_description_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaPublishingOptionsPaneSizeDescription), 0, (GInstanceInitFunc) publishing_picasa_publishing_options_pane_size_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 publishing_picasa_publishing_options_pane_size_description_type_id; + publishing_picasa_publishing_options_pane_size_description_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingPicasaPublishingOptionsPaneSizeDescription", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_picasa_publishing_options_pane_size_description_type_id__volatile, publishing_picasa_publishing_options_pane_size_description_type_id); + } + return publishing_picasa_publishing_options_pane_size_description_type_id__volatile; +} + + +static gpointer publishing_picasa_publishing_options_pane_size_description_ref (gpointer instance) { + PublishingPicasaPublishingOptionsPaneSizeDescription* self; + self = instance; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return instance; +#line 6617 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_size_description_unref (gpointer instance) { + PublishingPicasaPublishingOptionsPaneSizeDescription* self; + self = instance; +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_SIZE_DESCRIPTION_GET_CLASS (self)->finalize (self); +#line 603 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 6630 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_publishing_options_pane_class_init (PublishingPicasaPublishingOptionsPaneClass * klass) { +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPicasaPublishingOptionsPanePrivate)); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_picasa_publishing_options_pane_finalize; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_new ("publish", PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_new ("logout", PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 6646 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_picasa_publishing_options_pane_real_get_widget; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_picasa_publishing_options_pane_real_get_preferred_geometry; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_picasa_publishing_options_pane_real_on_pane_installed; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_picasa_publishing_options_pane_real_on_pane_uninstalled; +#line 6661 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_instance_init (PublishingPicasaPublishingOptionsPane * self) { +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv = PUBLISHING_PICASA_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->builder = NULL; +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->pane_widget = NULL; +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->login_identity_label = NULL; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->publish_to_label = NULL; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->use_existing_radio = NULL; +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->existing_albums_combo = NULL; +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->create_new_radio = NULL; +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->new_album_entry = NULL; +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->public_check = NULL; +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->size_combo = NULL; +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->strip_metadata_check = NULL; +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->publish_button = NULL; +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->logout_button = NULL; +#line 6694 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_options_pane_finalize (GObject* obj) { + PublishingPicasaPublishingOptionsPane * self; +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PICASA_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPicasaPublishingOptionsPane); +#line 616 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 618 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->login_identity_label); +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->publish_to_label); +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 621 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->existing_albums_combo); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->new_album_entry); +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->public_check); +#line 625 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 629 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->size_descriptions = (_vala_array_free (self->priv->size_descriptions, self->priv->size_descriptions_length1, (GDestroyNotify) publishing_picasa_publishing_options_pane_size_description_unref), NULL); +#line 630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->parameters); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_OBJECT_CLASS (publishing_picasa_publishing_options_pane_parent_class)->finalize (obj); +#line 6734 "PicasaPublishing.c" +} + + +GType publishing_picasa_publishing_options_pane_get_type (void) { + static volatile gsize publishing_picasa_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaPublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaPublishingOptionsPane), 0, (GInstanceInitFunc) publishing_picasa_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_picasa_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_picasa_publishing_options_pane_type_id; + publishing_picasa_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingPicasaPublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_picasa_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_picasa_publishing_options_pane_type_id__volatile, publishing_picasa_publishing_options_pane_type_id); + } + return publishing_picasa_publishing_options_pane_type_id__volatile; +} + + +PublishingPicasaPublishingParameters* publishing_picasa_publishing_parameters_construct (GType object_type) { + PublishingPicasaPublishingParameters* self = NULL; + gchar* _tmp0_ = NULL; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaPublishingParameters*) g_type_create_instance (object_type); +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = g_strdup ("[unknown]"); +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->user_name); +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->user_name = _tmp0_; +#line 823 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->target_album_name); +#line 823 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->target_album_name = NULL; +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->major_axis_size_selection_id = 0; +#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->major_axis_size_pixels = PUBLISHING_PICASA_PUBLISHING_PARAMETERS_ORIGINAL_SIZE; +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->target_album_url); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->target_album_url = NULL; +#line 827 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->album_public = FALSE; +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->albums = NULL; +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->albums_length1 = 0; +#line 828 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 829 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->strip_metadata = FALSE; +#line 830 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->media_type = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO; +#line 831 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->to_new_album = TRUE; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 6793 "PicasaPublishing.c" +} + + +PublishingPicasaPublishingParameters* publishing_picasa_publishing_parameters_new (void) { +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_publishing_parameters_construct (PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS); +#line 6800 "PicasaPublishing.c" +} + + +gboolean publishing_picasa_publishing_parameters_is_to_new_album (PublishingPicasaPublishingParameters* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), FALSE); +#line 835 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->to_new_album; +#line 835 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp0_; +#line 835 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 6815 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_is_to_new_album (PublishingPicasaPublishingParameters* self, gboolean to_new_album) { + gboolean _tmp0_ = FALSE; +#line 838 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = to_new_album; +#line 839 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->to_new_album = _tmp0_; +#line 6827 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_is_new_album_public (PublishingPicasaPublishingParameters* self, gboolean album_public) { + gboolean _tmp0_ = FALSE; +#line 842 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = album_public; +#line 843 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->album_public = _tmp0_; +#line 6839 "PicasaPublishing.c" +} + + +gboolean publishing_picasa_publishing_parameters_is_new_album_public (PublishingPicasaPublishingParameters* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 846 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), FALSE); +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->album_public; +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp0_; +#line 847 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 6854 "PicasaPublishing.c" +} + + +gchar* publishing_picasa_publishing_parameters_get_target_album_name (PublishingPicasaPublishingParameters* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 850 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->target_album_name; +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp1_; +#line 851 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 6872 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_target_album_name (PublishingPicasaPublishingParameters* self, const gchar* target_album_name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (target_album_name != NULL); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = target_album_name; +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->target_album_name); +#line 855 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->target_album_name = _tmp1_; +#line 6891 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_target_album_entry_url (PublishingPicasaPublishingParameters* self, const gchar* target_album_url) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 858 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 858 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (target_album_url != NULL); +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = target_album_url; +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->target_album_url); +#line 859 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->target_album_url = _tmp1_; +#line 6910 "PicasaPublishing.c" +} + + +gchar* publishing_picasa_publishing_parameters_get_target_album_entry_url (PublishingPicasaPublishingParameters* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 862 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->target_album_url; +#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp1_; +#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 6928 "PicasaPublishing.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 6941 "PicasaPublishing.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 6972 "PicasaPublishing.c" + goto __catch15_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 6981 "PicasaPublishing.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 6997 "PicasaPublishing.c" + goto __catch15_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 7008 "PicasaPublishing.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 7022 "PicasaPublishing.c" + } + goto __finally15; + __catch15_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 7036 "PicasaPublishing.c" + } + __finally15: +#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 7047 "PicasaPublishing.c" + } +} + + +gchar* publishing_picasa_publishing_parameters_get_target_album_feed_url (PublishingPicasaPublishingParameters* self) { + gchar* result = NULL; + gchar* entry_url = NULL; + gchar* _tmp0_ = NULL; + gchar* feed_url = NULL; + gchar* _tmp1_ = NULL; +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 867 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_picasa_publishing_parameters_get_target_album_entry_url (self); +#line 867 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + entry_url = _tmp0_; +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = string_replace (entry_url, "entry", "feed"); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + feed_url = _tmp1_; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = feed_url; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (entry_url); +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7074 "PicasaPublishing.c" +} + + +gchar* publishing_picasa_publishing_parameters_get_user_name (PublishingPicasaPublishingParameters* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 873 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->user_name; +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp1_; +#line 874 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7092 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_user_name (PublishingPicasaPublishingParameters* self, const gchar* user_name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (user_name != NULL); +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = user_name; +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->user_name); +#line 878 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->user_name = _tmp1_; +#line 7111 "PicasaPublishing.c" +} + + +static gpointer _publishing_picasa_album_ref0 (gpointer self) { +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self ? publishing_picasa_album_ref (self) : NULL; +#line 7118 "PicasaPublishing.c" +} + + +static PublishingPicasaAlbum** _vala_array_dup5 (PublishingPicasaAlbum** self, int length) { + PublishingPicasaAlbum** result; + int i; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = g_new0 (PublishingPicasaAlbum*, length + 1); +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + for (i = 0; i < length; i++) { +#line 7129 "PicasaPublishing.c" + PublishingPicasaAlbum* _tmp0_ = NULL; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = _publishing_picasa_album_ref0 (self[i]); +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result[i] = _tmp0_; +#line 7135 "PicasaPublishing.c" + } +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7139 "PicasaPublishing.c" +} + + +PublishingPicasaAlbum** publishing_picasa_publishing_parameters_get_albums (PublishingPicasaPublishingParameters* self, int* result_length1) { + PublishingPicasaAlbum** result = NULL; + PublishingPicasaAlbum** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingPicasaAlbum** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingPicasaAlbum** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 881 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->albums; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0__length1 = self->priv->albums_length1; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup5 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1__length1 = _tmp0__length1; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = _tmp1_; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2__length1 = _tmp1__length1; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (result_length1) { +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *result_length1 = _tmp2__length1; +#line 7169 "PicasaPublishing.c" + } +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp2_; +#line 882 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7175 "PicasaPublishing.c" +} + + +static PublishingPicasaAlbum** _vala_array_dup6 (PublishingPicasaAlbum** self, int length) { + PublishingPicasaAlbum** result; + int i; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = g_new0 (PublishingPicasaAlbum*, length + 1); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + for (i = 0; i < length; i++) { +#line 7186 "PicasaPublishing.c" + PublishingPicasaAlbum* _tmp0_ = NULL; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = _publishing_picasa_album_ref0 (self[i]); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result[i] = _tmp0_; +#line 7192 "PicasaPublishing.c" + } +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7196 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_albums (PublishingPicasaPublishingParameters* self, PublishingPicasaAlbum** albums, int albums_length1) { + PublishingPicasaAlbum** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingPicasaAlbum** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 885 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = albums; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0__length1 = albums_length1; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup6 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1__length1 = _tmp0__length1; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->albums = _tmp1_; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->albums_length1 = _tmp1__length1; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->_albums_size_ = self->priv->albums_length1; +#line 7223 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_major_axis_size_pixels (PublishingPicasaPublishingParameters* self, gint pixels) { + gint _tmp0_ = 0; +#line 889 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = pixels; +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->major_axis_size_pixels = _tmp0_; +#line 7235 "PicasaPublishing.c" +} + + +gint publishing_picasa_publishing_parameters_get_major_axis_size_pixels (PublishingPicasaPublishingParameters* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 893 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), 0); +#line 894 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->major_axis_size_pixels; +#line 894 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp0_; +#line 894 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7250 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_major_axis_size_selection_id (PublishingPicasaPublishingParameters* self, gint selection_id) { + gint _tmp0_ = 0; +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = selection_id; +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->major_axis_size_selection_id = _tmp0_; +#line 7262 "PicasaPublishing.c" +} + + +gint publishing_picasa_publishing_parameters_get_major_axis_size_selection_id (PublishingPicasaPublishingParameters* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), 0); +#line 902 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->major_axis_size_selection_id; +#line 902 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp0_; +#line 902 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7277 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_strip_metadata (PublishingPicasaPublishingParameters* self, gboolean strip_metadata) { + gboolean _tmp0_ = FALSE; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = strip_metadata; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->strip_metadata = _tmp0_; +#line 7289 "PicasaPublishing.c" +} + + +gboolean publishing_picasa_publishing_parameters_get_strip_metadata (PublishingPicasaPublishingParameters* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), FALSE); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->strip_metadata; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp0_; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7304 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_set_media_type (PublishingPicasaPublishingParameters* self, SpitPublishingPublisherMediaType media_type) { + SpitPublishingPublisherMediaType _tmp0_ = 0; +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self)); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = media_type; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->media_type = _tmp0_; +#line 7316 "PicasaPublishing.c" +} + + +SpitPublishingPublisherMediaType publishing_picasa_publishing_parameters_get_media_type (PublishingPicasaPublishingParameters* self) { + SpitPublishingPublisherMediaType result = 0; + SpitPublishingPublisherMediaType _tmp0_ = 0; +#line 917 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (self), 0); +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = self->priv->media_type; +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp0_; +#line 918 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7331 "PicasaPublishing.c" +} + + +static void publishing_picasa_value_publishing_parameters_init (GValue* value) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 7338 "PicasaPublishing.c" +} + + +static void publishing_picasa_value_publishing_parameters_free_value (GValue* value) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (value->data[0].v_pointer) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_unref (value->data[0].v_pointer); +#line 7347 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_value_publishing_parameters_copy_value (const GValue* src_value, GValue* dest_value) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + dest_value->data[0].v_pointer = publishing_picasa_publishing_parameters_ref (src_value->data[0].v_pointer); +#line 7357 "PicasaPublishing.c" + } else { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 7361 "PicasaPublishing.c" + } +} + + +static gpointer publishing_picasa_value_publishing_parameters_peek_pointer (const GValue* value) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return value->data[0].v_pointer; +#line 7369 "PicasaPublishing.c" +} + + +static gchar* publishing_picasa_value_publishing_parameters_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (collect_values[0].v_pointer) { +#line 7376 "PicasaPublishing.c" + PublishingPicasaPublishingParameters* object; + object = collect_values[0].v_pointer; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7383 "PicasaPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.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 7387 "PicasaPublishing.c" + } +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = publishing_picasa_publishing_parameters_ref (object); +#line 7391 "PicasaPublishing.c" + } else { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 7395 "PicasaPublishing.c" + } +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 7399 "PicasaPublishing.c" +} + + +static gchar* publishing_picasa_value_publishing_parameters_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingPicasaPublishingParameters** object_p; + object_p = collect_values[0].v_pointer; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!object_p) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 7410 "PicasaPublishing.c" + } +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (!value->data[0].v_pointer) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = NULL; +#line 7416 "PicasaPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 7420 "PicasaPublishing.c" + } else { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + *object_p = publishing_picasa_publishing_parameters_ref (value->data[0].v_pointer); +#line 7424 "PicasaPublishing.c" + } +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return NULL; +#line 7428 "PicasaPublishing.c" +} + + +GParamSpec* publishing_picasa_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingPicasaParamSpecPublishingParameters* spec; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return G_PARAM_SPEC (spec); +#line 7442 "PicasaPublishing.c" +} + + +gpointer publishing_picasa_value_get_publishing_parameters (const GValue* value) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return value->data[0].v_pointer; +#line 7451 "PicasaPublishing.c" +} + + +void publishing_picasa_value_set_publishing_parameters (GValue* value, gpointer v_object) { + PublishingPicasaPublishingParameters* old; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS)); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + old = value->data[0].v_pointer; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (v_object) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS)); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = v_object; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_ref (value->data[0].v_pointer); +#line 7471 "PicasaPublishing.c" + } else { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 7475 "PicasaPublishing.c" + } +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (old) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_unref (old); +#line 7481 "PicasaPublishing.c" + } +} + + +void publishing_picasa_value_take_publishing_parameters (GValue* value, gpointer v_object) { + PublishingPicasaPublishingParameters* old; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS)); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + old = value->data[0].v_pointer; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (v_object) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS)); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = v_object; +#line 7500 "PicasaPublishing.c" + } else { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + value->data[0].v_pointer = NULL; +#line 7504 "PicasaPublishing.c" + } +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (old) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_unref (old); +#line 7510 "PicasaPublishing.c" + } +} + + +static void publishing_picasa_publishing_parameters_class_init (PublishingPicasaPublishingParametersClass * klass) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_publishing_parameters_parent_class = g_type_class_peek_parent (klass); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingPicasaPublishingParametersClass *) klass)->finalize = publishing_picasa_publishing_parameters_finalize; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPicasaPublishingParametersPrivate)); +#line 7522 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_parameters_instance_init (PublishingPicasaPublishingParameters * self) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv = PUBLISHING_PICASA_PUBLISHING_PARAMETERS_GET_PRIVATE (self); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->ref_count = 1; +#line 7531 "PicasaPublishing.c" +} + + +static void publishing_picasa_publishing_parameters_finalize (PublishingPicasaPublishingParameters* obj) { + PublishingPicasaPublishingParameters * self; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PICASA_TYPE_PUBLISHING_PARAMETERS, PublishingPicasaPublishingParameters); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_signal_handlers_destroy (self); +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->target_album_name); +#line 811 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->target_album_url); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_free0 (self->priv->user_name); +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->albums = (_vala_array_free (self->priv->albums, self->priv->albums_length1, (GDestroyNotify) publishing_picasa_album_unref), NULL); +#line 7549 "PicasaPublishing.c" +} + + +GType publishing_picasa_publishing_parameters_get_type (void) { + static volatile gsize publishing_picasa_publishing_parameters_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_publishing_parameters_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_picasa_value_publishing_parameters_init, publishing_picasa_value_publishing_parameters_free_value, publishing_picasa_value_publishing_parameters_copy_value, publishing_picasa_value_publishing_parameters_peek_pointer, "p", publishing_picasa_value_publishing_parameters_collect_value, "p", publishing_picasa_value_publishing_parameters_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaPublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaPublishingParameters), 0, (GInstanceInitFunc) publishing_picasa_publishing_parameters_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 publishing_picasa_publishing_parameters_type_id; + publishing_picasa_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingPicasaPublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_picasa_publishing_parameters_type_id__volatile, publishing_picasa_publishing_parameters_type_id); + } + return publishing_picasa_publishing_parameters_type_id__volatile; +} + + +gpointer publishing_picasa_publishing_parameters_ref (gpointer instance) { + PublishingPicasaPublishingParameters* self; + self = instance; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return instance; +#line 7574 "PicasaPublishing.c" +} + + +void publishing_picasa_publishing_parameters_unref (gpointer instance) { + PublishingPicasaPublishingParameters* self; + self = instance; +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + PUBLISHING_PICASA_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self); +#line 807 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 7587 "PicasaPublishing.c" + } +} + + +PublishingPicasaUploader* publishing_picasa_uploader_construct (GType object_type, PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPicasaPublishingParameters* parameters) { + PublishingPicasaUploader* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + PublishingPicasaPublishingParameters* _tmp3_ = NULL; +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (PUBLISHING_PICASA_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = session; +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = publishables; +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1__length1 = publishables_length1; +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = (PublishingPicasaUploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = parameters; +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = _publishing_picasa_publishing_parameters_ref0 (_tmp2_); +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->parameters); +#line 929 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv->parameters = _tmp3_; +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return self; +#line 7621 "PicasaPublishing.c" +} + + +PublishingPicasaUploader* publishing_picasa_uploader_new (PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPicasaPublishingParameters* parameters) { +#line 925 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return publishing_picasa_uploader_construct (PUBLISHING_PICASA_TYPE_UPLOADER, session, publishables, publishables_length1, parameters); +#line 7628 "PicasaPublishing.c" +} + + +static PublishingRESTSupportTransaction* publishing_picasa_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingPicasaUploader * self; + PublishingRESTSupportTransaction* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; + PublishingPicasaPublishingParameters* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + PublishingPicasaUploadTransaction* _tmp5_ = NULL; + PublishingRESTSupportTransaction* _tmp6_ = NULL; +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PICASA_TYPE_UPLOADER, PublishingPicasaUploader); +#line 932 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp2_ = self->priv->parameters; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp3_ = publishing_rest_support_batch_uploader_get_current_publishable (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp4_ = _tmp3_; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp5_ = publishing_picasa_upload_transaction_new (_tmp1_, _tmp2_, _tmp4_); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _g_object_unref0 (_tmp4_); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + result = _tmp6_; +#line 934 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + return result; +#line 7668 "PicasaPublishing.c" +} + + +static void publishing_picasa_uploader_class_init (PublishingPicasaUploaderClass * klass) { +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + publishing_picasa_uploader_parent_class = g_type_class_peek_parent (klass); +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_picasa_uploader_finalize; +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPicasaUploaderPrivate)); +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_picasa_uploader_real_create_transaction; +#line 7681 "PicasaPublishing.c" +} + + +static void publishing_picasa_uploader_instance_init (PublishingPicasaUploader * self) { +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self->priv = PUBLISHING_PICASA_UPLOADER_GET_PRIVATE (self); +#line 7688 "PicasaPublishing.c" +} + + +static void publishing_picasa_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingPicasaUploader * self; +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PICASA_TYPE_UPLOADER, PublishingPicasaUploader); +#line 923 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + _publishing_picasa_publishing_parameters_unref0 (self->priv->parameters); +#line 922 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PicasaPublishing.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_picasa_uploader_parent_class)->finalize (obj); +#line 7700 "PicasaPublishing.c" +} + + +GType publishing_picasa_uploader_get_type (void) { + static volatile gsize publishing_picasa_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_picasa_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPicasaUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_picasa_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPicasaUploader), 0, (GInstanceInitFunc) publishing_picasa_uploader_instance_init, NULL }; + GType publishing_picasa_uploader_type_id; + publishing_picasa_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingPicasaUploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_picasa_uploader_type_id__volatile, publishing_picasa_uploader_type_id); + } + return publishing_picasa_uploader_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/plugins/shotwell-publishing/PicasaPublishing.vala b/plugins/shotwell-publishing/PicasaPublishing.vala index cb6352c..a393c08 100644 --- a/plugins/shotwell-publishing/PicasaPublishing.vala +++ b/plugins/shotwell-publishing/PicasaPublishing.vala @@ -11,7 +11,8 @@ public class PicasaService : Object, Spit.Pluggable, Spit.Publishing.Service { public PicasaService(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = + Resources.load_from_resource(Resources.RESOURCE_PATH + "/" + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { @@ -351,9 +352,8 @@ public class PicasaPublisher : Publishing.RESTSupport.GooglePublisher { try { // the trailing get_path() is required, since add_from_file can't cope // with File objects directly and expects a pathname instead. - builder.add_from_file( - get_host().get_module_file().get_parent(). - get_child("picasa_publishing_options_pane.glade").get_path()); + builder.add_from_resource(Resources.RESOURCE_PATH + "/" + + "picasa_publishing_options_pane.ui"); } catch (Error e) { warning("Could not parse UI file! Error: %s.", e.message); get_host().post_error( diff --git a/plugins/shotwell-publishing/PiwigoPublishing.c b/plugins/shotwell-publishing/PiwigoPublishing.c new file mode 100644 index 0000000..6b684ba --- /dev/null +++ b/plugins/shotwell-publishing/PiwigoPublishing.c @@ -0,0 +1,11929 @@ +/* PiwigoPublishing.c generated by valac 0.32.1, the Vala compiler + * generated from PiwigoPublishing.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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PIWIGO_SERVICE (piwigo_service_get_type ()) +#define PIWIGO_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIWIGO_SERVICE, PiwigoService)) +#define PIWIGO_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIWIGO_SERVICE, PiwigoServiceClass)) +#define IS_PIWIGO_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIWIGO_SERVICE)) +#define IS_PIWIGO_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIWIGO_SERVICE)) +#define PIWIGO_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIWIGO_SERVICE, PiwigoServiceClass)) + +typedef struct _PiwigoService PiwigoService; +typedef struct _PiwigoServiceClass PiwigoServiceClass; +typedef struct _PiwigoServicePrivate PiwigoServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER (publishing_piwigo_piwigo_publisher_get_type ()) +#define PUBLISHING_PIWIGO_PIWIGO_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisher)) +#define PUBLISHING_PIWIGO_PIWIGO_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisherClass)) +#define PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER)) +#define PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER)) +#define PUBLISHING_PIWIGO_PIWIGO_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisherClass)) + +typedef struct _PublishingPiwigoPiwigoPublisher PublishingPiwigoPiwigoPublisher; +typedef struct _PublishingPiwigoPiwigoPublisherClass PublishingPiwigoPiwigoPublisherClass; + +#define PUBLISHING_PIWIGO_TYPE_CATEGORY (publishing_piwigo_category_get_type ()) +#define PUBLISHING_PIWIGO_CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORY, PublishingPiwigoCategory)) +#define PUBLISHING_PIWIGO_CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_CATEGORY, PublishingPiwigoCategoryClass)) +#define PUBLISHING_PIWIGO_IS_CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORY)) +#define PUBLISHING_PIWIGO_IS_CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_CATEGORY)) +#define PUBLISHING_PIWIGO_CATEGORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORY, PublishingPiwigoCategoryClass)) + +typedef struct _PublishingPiwigoCategory PublishingPiwigoCategory; +typedef struct _PublishingPiwigoCategoryClass PublishingPiwigoCategoryClass; +typedef struct _PublishingPiwigoCategoryPrivate PublishingPiwigoCategoryPrivate; +typedef struct _PublishingPiwigoParamSpecCategory PublishingPiwigoParamSpecCategory; + +#define PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL (publishing_piwigo_permission_level_get_type ()) +#define PUBLISHING_PIWIGO_PERMISSION_LEVEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL, PublishingPiwigoPermissionLevel)) +#define PUBLISHING_PIWIGO_PERMISSION_LEVEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL, PublishingPiwigoPermissionLevelClass)) +#define PUBLISHING_PIWIGO_IS_PERMISSION_LEVEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL)) +#define PUBLISHING_PIWIGO_IS_PERMISSION_LEVEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL)) +#define PUBLISHING_PIWIGO_PERMISSION_LEVEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL, PublishingPiwigoPermissionLevelClass)) + +typedef struct _PublishingPiwigoPermissionLevel PublishingPiwigoPermissionLevel; +typedef struct _PublishingPiwigoPermissionLevelClass PublishingPiwigoPermissionLevelClass; +typedef struct _PublishingPiwigoPermissionLevelPrivate PublishingPiwigoPermissionLevelPrivate; +typedef struct _PublishingPiwigoParamSpecPermissionLevel PublishingPiwigoParamSpecPermissionLevel; + +#define PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY (publishing_piwigo_size_entry_get_type ()) +#define PUBLISHING_PIWIGO_SIZE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY, PublishingPiwigoSizeEntry)) +#define PUBLISHING_PIWIGO_SIZE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY, PublishingPiwigoSizeEntryClass)) +#define PUBLISHING_PIWIGO_IS_SIZE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY)) +#define PUBLISHING_PIWIGO_IS_SIZE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY)) +#define PUBLISHING_PIWIGO_SIZE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY, PublishingPiwigoSizeEntryClass)) + +typedef struct _PublishingPiwigoSizeEntry PublishingPiwigoSizeEntry; +typedef struct _PublishingPiwigoSizeEntryClass PublishingPiwigoSizeEntryClass; +typedef struct _PublishingPiwigoSizeEntryPrivate PublishingPiwigoSizeEntryPrivate; +typedef struct _PublishingPiwigoParamSpecSizeEntry PublishingPiwigoParamSpecSizeEntry; + +#define PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS (publishing_piwigo_publishing_parameters_get_type ()) +#define PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS, PublishingPiwigoPublishingParameters)) +#define PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS, PublishingPiwigoPublishingParametersClass)) +#define PUBLISHING_PIWIGO_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_PIWIGO_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS, PublishingPiwigoPublishingParametersClass)) + +typedef struct _PublishingPiwigoPublishingParameters PublishingPiwigoPublishingParameters; +typedef struct _PublishingPiwigoPublishingParametersClass PublishingPiwigoPublishingParametersClass; +typedef struct _PublishingPiwigoPublishingParametersPrivate PublishingPiwigoPublishingParametersPrivate; +#define _publishing_piwigo_category_unref0(var) ((var == NULL) ? NULL : (var = (publishing_piwigo_category_unref (var), NULL))) +#define _publishing_piwigo_permission_level_unref0(var) ((var == NULL) ? NULL : (var = (publishing_piwigo_permission_level_unref (var), NULL))) +#define _publishing_piwigo_size_entry_unref0(var) ((var == NULL) ? NULL : (var = (publishing_piwigo_size_entry_unref (var), NULL))) +typedef struct _PublishingPiwigoParamSpecPublishingParameters PublishingPiwigoParamSpecPublishingParameters; +typedef struct _PublishingPiwigoPiwigoPublisherPrivate PublishingPiwigoPiwigoPublisherPrivate; + +#define PUBLISHING_PIWIGO_TYPE_SESSION (publishing_piwigo_session_get_type ()) +#define PUBLISHING_PIWIGO_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_SESSION, PublishingPiwigoSession)) +#define PUBLISHING_PIWIGO_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_SESSION, PublishingPiwigoSessionClass)) +#define PUBLISHING_PIWIGO_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_SESSION)) +#define PUBLISHING_PIWIGO_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_SESSION)) +#define PUBLISHING_PIWIGO_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_SESSION, PublishingPiwigoSessionClass)) + +typedef struct _PublishingPiwigoSession PublishingPiwigoSession; +typedef struct _PublishingPiwigoSessionClass PublishingPiwigoSessionClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) +#define _publishing_piwigo_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_piwigo_publishing_parameters_unref (var), NULL))) + +#define PUBLISHING_PIWIGO_AUTHENTICATION_PANE_TYPE_MODE (publishing_piwigo_authentication_pane_mode_get_type ()) + +#define PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE (publishing_piwigo_authentication_pane_get_type ()) +#define PUBLISHING_PIWIGO_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPane)) +#define PUBLISHING_PIWIGO_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPaneClass)) +#define PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE)) +#define PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE)) +#define PUBLISHING_PIWIGO_AUTHENTICATION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPaneClass)) + +typedef struct _PublishingPiwigoAuthenticationPane PublishingPiwigoAuthenticationPane; +typedef struct _PublishingPiwigoAuthenticationPaneClass PublishingPiwigoAuthenticationPaneClass; + +#define PUBLISHING_PIWIGO_TYPE_TRANSACTION (publishing_piwigo_transaction_get_type ()) +#define PUBLISHING_PIWIGO_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_TRANSACTION, PublishingPiwigoTransaction)) +#define PUBLISHING_PIWIGO_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_TRANSACTION, PublishingPiwigoTransactionClass)) +#define PUBLISHING_PIWIGO_IS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_TRANSACTION)) +#define PUBLISHING_PIWIGO_IS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_TRANSACTION)) +#define PUBLISHING_PIWIGO_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_TRANSACTION, PublishingPiwigoTransactionClass)) + +typedef struct _PublishingPiwigoTransaction PublishingPiwigoTransaction; +typedef struct _PublishingPiwigoTransactionClass PublishingPiwigoTransactionClass; + +#define PUBLISHING_PIWIGO_TYPE_SESSION_LOGIN_TRANSACTION (publishing_piwigo_session_login_transaction_get_type ()) +#define PUBLISHING_PIWIGO_SESSION_LOGIN_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_LOGIN_TRANSACTION, PublishingPiwigoSessionLoginTransaction)) +#define PUBLISHING_PIWIGO_SESSION_LOGIN_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_SESSION_LOGIN_TRANSACTION, PublishingPiwigoSessionLoginTransactionClass)) +#define PUBLISHING_PIWIGO_IS_SESSION_LOGIN_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_LOGIN_TRANSACTION)) +#define PUBLISHING_PIWIGO_IS_SESSION_LOGIN_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_SESSION_LOGIN_TRANSACTION)) +#define PUBLISHING_PIWIGO_SESSION_LOGIN_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_LOGIN_TRANSACTION, PublishingPiwigoSessionLoginTransactionClass)) + +typedef struct _PublishingPiwigoSessionLoginTransaction PublishingPiwigoSessionLoginTransaction; +typedef struct _PublishingPiwigoSessionLoginTransactionClass PublishingPiwigoSessionLoginTransactionClass; +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _publishing_rest_support_xml_document_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_xml_document_unref (var), NULL))) + +#define PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION (publishing_piwigo_session_get_status_transaction_get_type ()) +#define PUBLISHING_PIWIGO_SESSION_GET_STATUS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION, PublishingPiwigoSessionGetStatusTransaction)) +#define PUBLISHING_PIWIGO_SESSION_GET_STATUS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION, PublishingPiwigoSessionGetStatusTransactionClass)) +#define PUBLISHING_PIWIGO_IS_SESSION_GET_STATUS_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION)) +#define PUBLISHING_PIWIGO_IS_SESSION_GET_STATUS_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION)) +#define PUBLISHING_PIWIGO_SESSION_GET_STATUS_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION, PublishingPiwigoSessionGetStatusTransactionClass)) + +typedef struct _PublishingPiwigoSessionGetStatusTransaction PublishingPiwigoSessionGetStatusTransaction; +typedef struct _PublishingPiwigoSessionGetStatusTransactionClass PublishingPiwigoSessionGetStatusTransactionClass; + +#define PUBLISHING_PIWIGO_TYPE_CATEGORIES_GET_LIST_TRANSACTION (publishing_piwigo_categories_get_list_transaction_get_type ()) +#define PUBLISHING_PIWIGO_CATEGORIES_GET_LIST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORIES_GET_LIST_TRANSACTION, PublishingPiwigoCategoriesGetListTransaction)) +#define PUBLISHING_PIWIGO_CATEGORIES_GET_LIST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_CATEGORIES_GET_LIST_TRANSACTION, PublishingPiwigoCategoriesGetListTransactionClass)) +#define PUBLISHING_PIWIGO_IS_CATEGORIES_GET_LIST_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORIES_GET_LIST_TRANSACTION)) +#define PUBLISHING_PIWIGO_IS_CATEGORIES_GET_LIST_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_CATEGORIES_GET_LIST_TRANSACTION)) +#define PUBLISHING_PIWIGO_CATEGORIES_GET_LIST_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORIES_GET_LIST_TRANSACTION, PublishingPiwigoCategoriesGetListTransactionClass)) + +typedef struct _PublishingPiwigoCategoriesGetListTransaction PublishingPiwigoCategoriesGetListTransaction; +typedef struct _PublishingPiwigoCategoriesGetListTransactionClass PublishingPiwigoCategoriesGetListTransactionClass; +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) + +#define PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE (publishing_piwigo_publishing_options_pane_get_type ()) +#define PUBLISHING_PIWIGO_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPane)) +#define PUBLISHING_PIWIGO_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPaneClass)) +#define PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_PIWIGO_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPaneClass)) + +typedef struct _PublishingPiwigoPublishingOptionsPane PublishingPiwigoPublishingOptionsPane; +typedef struct _PublishingPiwigoPublishingOptionsPaneClass PublishingPiwigoPublishingOptionsPaneClass; + +#define PUBLISHING_PIWIGO_TYPE_SESSION_LOGOUT_TRANSACTION (publishing_piwigo_session_logout_transaction_get_type ()) +#define PUBLISHING_PIWIGO_SESSION_LOGOUT_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_LOGOUT_TRANSACTION, PublishingPiwigoSessionLogoutTransaction)) +#define PUBLISHING_PIWIGO_SESSION_LOGOUT_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_SESSION_LOGOUT_TRANSACTION, PublishingPiwigoSessionLogoutTransactionClass)) +#define PUBLISHING_PIWIGO_IS_SESSION_LOGOUT_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_LOGOUT_TRANSACTION)) +#define PUBLISHING_PIWIGO_IS_SESSION_LOGOUT_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_SESSION_LOGOUT_TRANSACTION)) +#define PUBLISHING_PIWIGO_SESSION_LOGOUT_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_SESSION_LOGOUT_TRANSACTION, PublishingPiwigoSessionLogoutTransactionClass)) + +typedef struct _PublishingPiwigoSessionLogoutTransaction PublishingPiwigoSessionLogoutTransaction; +typedef struct _PublishingPiwigoSessionLogoutTransactionClass PublishingPiwigoSessionLogoutTransactionClass; + +#define PUBLISHING_PIWIGO_TYPE_CATEGORIES_ADD_TRANSACTION (publishing_piwigo_categories_add_transaction_get_type ()) +#define PUBLISHING_PIWIGO_CATEGORIES_ADD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORIES_ADD_TRANSACTION, PublishingPiwigoCategoriesAddTransaction)) +#define PUBLISHING_PIWIGO_CATEGORIES_ADD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_CATEGORIES_ADD_TRANSACTION, PublishingPiwigoCategoriesAddTransactionClass)) +#define PUBLISHING_PIWIGO_IS_CATEGORIES_ADD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORIES_ADD_TRANSACTION)) +#define PUBLISHING_PIWIGO_IS_CATEGORIES_ADD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_CATEGORIES_ADD_TRANSACTION)) +#define PUBLISHING_PIWIGO_CATEGORIES_ADD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_CATEGORIES_ADD_TRANSACTION, PublishingPiwigoCategoriesAddTransactionClass)) + +typedef struct _PublishingPiwigoCategoriesAddTransaction PublishingPiwigoCategoriesAddTransaction; +typedef struct _PublishingPiwigoCategoriesAddTransactionClass PublishingPiwigoCategoriesAddTransactionClass; + +#define PUBLISHING_PIWIGO_TYPE_UPLOADER (publishing_piwigo_uploader_get_type ()) +#define PUBLISHING_PIWIGO_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_UPLOADER, PublishingPiwigoUploader)) +#define PUBLISHING_PIWIGO_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_UPLOADER, PublishingPiwigoUploaderClass)) +#define PUBLISHING_PIWIGO_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_UPLOADER)) +#define PUBLISHING_PIWIGO_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_UPLOADER)) +#define PUBLISHING_PIWIGO_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_UPLOADER, PublishingPiwigoUploaderClass)) + +typedef struct _PublishingPiwigoUploader PublishingPiwigoUploader; +typedef struct _PublishingPiwigoUploaderClass PublishingPiwigoUploaderClass; +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_unref (var), NULL))) +#define __vala_SoupCookie_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupCookie_free (var), NULL))) +#define __g_slist_free___vala_SoupCookie_free0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free___vala_SoupCookie_free0_ (var), NULL))) +typedef struct _PublishingPiwigoUploaderPrivate PublishingPiwigoUploaderPrivate; + +#define PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION (publishing_piwigo_images_add_transaction_get_type ()) +#define PUBLISHING_PIWIGO_IMAGES_ADD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION, PublishingPiwigoImagesAddTransaction)) +#define PUBLISHING_PIWIGO_IMAGES_ADD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION, PublishingPiwigoImagesAddTransactionClass)) +#define PUBLISHING_PIWIGO_IS_IMAGES_ADD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION)) +#define PUBLISHING_PIWIGO_IS_IMAGES_ADD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION)) +#define PUBLISHING_PIWIGO_IMAGES_ADD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION, PublishingPiwigoImagesAddTransactionClass)) + +typedef struct _PublishingPiwigoImagesAddTransaction PublishingPiwigoImagesAddTransaction; +typedef struct _PublishingPiwigoImagesAddTransactionClass PublishingPiwigoImagesAddTransactionClass; +typedef struct _PublishingPiwigoAuthenticationPanePrivate PublishingPiwigoAuthenticationPanePrivate; +typedef struct _PublishingPiwigoPublishingOptionsPanePrivate PublishingPiwigoPublishingOptionsPanePrivate; +typedef struct _PublishingPiwigoSessionPrivate PublishingPiwigoSessionPrivate; +typedef struct _PublishingPiwigoTransactionPrivate PublishingPiwigoTransactionPrivate; +typedef struct _PublishingPiwigoSessionLoginTransactionPrivate PublishingPiwigoSessionLoginTransactionPrivate; +typedef struct _PublishingPiwigoSessionGetStatusTransactionPrivate PublishingPiwigoSessionGetStatusTransactionPrivate; +typedef struct _PublishingPiwigoCategoriesGetListTransactionPrivate PublishingPiwigoCategoriesGetListTransactionPrivate; +typedef struct _PublishingPiwigoSessionLogoutTransactionPrivate PublishingPiwigoSessionLogoutTransactionPrivate; +typedef struct _PublishingPiwigoCategoriesAddTransactionPrivate PublishingPiwigoCategoriesAddTransactionPrivate; +typedef struct _PublishingPiwigoImagesAddTransactionPrivate PublishingPiwigoImagesAddTransactionPrivate; +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_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 _PiwigoService { + GObject parent_instance; + PiwigoServicePrivate * priv; +}; + +struct _PiwigoServiceClass { + GObjectClass parent_class; +}; + +struct _PublishingPiwigoCategory { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingPiwigoCategoryPrivate * priv; + gint id; + gchar* name; + gchar* comment; + gchar* display_name; + gchar* uppercats; +}; + +struct _PublishingPiwigoCategoryClass { + GTypeClass parent_class; + void (*finalize) (PublishingPiwigoCategory *self); +}; + +struct _PublishingPiwigoParamSpecCategory { + GParamSpec parent_instance; +}; + +struct _PublishingPiwigoPermissionLevel { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingPiwigoPermissionLevelPrivate * priv; + gint id; + gchar* name; +}; + +struct _PublishingPiwigoPermissionLevelClass { + GTypeClass parent_class; + void (*finalize) (PublishingPiwigoPermissionLevel *self); +}; + +struct _PublishingPiwigoParamSpecPermissionLevel { + GParamSpec parent_instance; +}; + +struct _PublishingPiwigoSizeEntry { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingPiwigoSizeEntryPrivate * priv; + gint id; + gchar* name; +}; + +struct _PublishingPiwigoSizeEntryClass { + GTypeClass parent_class; + void (*finalize) (PublishingPiwigoSizeEntry *self); +}; + +struct _PublishingPiwigoParamSpecSizeEntry { + GParamSpec parent_instance; +}; + +struct _PublishingPiwigoPublishingParameters { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingPiwigoPublishingParametersPrivate * priv; + PublishingPiwigoCategory* category; + PublishingPiwigoPermissionLevel* perm_level; + PublishingPiwigoSizeEntry* photo_size; + gboolean title_as_comment; + gboolean no_upload_tags; +}; + +struct _PublishingPiwigoPublishingParametersClass { + GTypeClass parent_class; + void (*finalize) (PublishingPiwigoPublishingParameters *self); +}; + +struct _PublishingPiwigoParamSpecPublishingParameters { + GParamSpec parent_instance; +}; + +struct _PublishingPiwigoPiwigoPublisher { + GObject parent_instance; + PublishingPiwigoPiwigoPublisherPrivate * priv; +}; + +struct _PublishingPiwigoPiwigoPublisherClass { + GObjectClass parent_class; +}; + +struct _PublishingPiwigoPiwigoPublisherPrivate { + SpitPublishingService* service; + SpitPublishingPluginHost* host; + gboolean running; + gboolean strip_metadata; + PublishingPiwigoSession* session; + PublishingPiwigoCategory** categories; + gint categories_length1; + gint _categories_size_; + PublishingPiwigoPublishingParameters* parameters; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; +}; + +typedef enum { + PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_INTRO, + PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_URL, + PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER +} PublishingPiwigoAuthenticationPaneMode; + +struct _PublishingPiwigoUploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingPiwigoUploaderPrivate * priv; +}; + +struct _PublishingPiwigoUploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingPiwigoUploaderPrivate { + PublishingPiwigoPublishingParameters* parameters; +}; + +struct _PublishingPiwigoAuthenticationPane { + GObject parent_instance; + PublishingPiwigoAuthenticationPanePrivate * priv; +}; + +struct _PublishingPiwigoAuthenticationPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingPiwigoAuthenticationPanePrivate { + GtkBox* pane_widget; + GtkBuilder* builder; + GtkEntry* url_entry; + GtkEntry* username_entry; + GtkEntry* password_entry; + GtkCheckButton* remember_password_checkbutton; + GtkButton* login_button; +}; + +struct _PublishingPiwigoPublishingOptionsPane { + GObject parent_instance; + PublishingPiwigoPublishingOptionsPanePrivate * priv; +}; + +struct _PublishingPiwigoPublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingPiwigoPublishingOptionsPanePrivate { + GtkBox* pane_widget; + GtkBuilder* builder; + GtkRadioButton* use_existing_radio; + GtkRadioButton* create_new_radio; + GtkComboBoxText* existing_categories_combo; + GtkEntry* new_category_entry; + GtkLabel* within_existing_label; + GtkComboBoxText* within_existing_combo; + GtkComboBoxText* perms_combo; + GtkComboBoxText* size_combo; + GtkCheckButton* strip_metadata_check; + GtkCheckButton* title_as_comment_check; + GtkCheckButton* no_upload_tags_check; + GtkButton* logout_button; + GtkButton* publish_button; + GtkTextView* album_comment; + GtkLabel* album_comment_label; + PublishingPiwigoCategory** existing_categories; + gint existing_categories_length1; + gint _existing_categories_size_; + PublishingPiwigoPermissionLevel** perm_levels; + gint perm_levels_length1; + gint _perm_levels_size_; + PublishingPiwigoSizeEntry** photo_sizes; + gint photo_sizes_length1; + gint _photo_sizes_size_; + gint last_category; + gint last_permission_level; + gint last_photo_size; + gboolean last_title_as_comment; + gboolean last_no_upload_tags; +}; + +struct _PublishingPiwigoSession { + PublishingRESTSupportSession parent_instance; + PublishingPiwigoSessionPrivate * priv; +}; + +struct _PublishingPiwigoSessionClass { + PublishingRESTSupportSessionClass parent_class; +}; + +struct _PublishingPiwigoSessionPrivate { + gchar* pwg_url; + gchar* pwg_id; + gchar* username; +}; + +struct _PublishingPiwigoTransaction { + PublishingRESTSupportTransaction parent_instance; + PublishingPiwigoTransactionPrivate * priv; +}; + +struct _PublishingPiwigoTransactionClass { + PublishingRESTSupportTransactionClass parent_class; +}; + +struct _PublishingPiwigoSessionLoginTransaction { + PublishingPiwigoTransaction parent_instance; + PublishingPiwigoSessionLoginTransactionPrivate * priv; +}; + +struct _PublishingPiwigoSessionLoginTransactionClass { + PublishingPiwigoTransactionClass parent_class; +}; + +struct _PublishingPiwigoSessionGetStatusTransaction { + PublishingPiwigoTransaction parent_instance; + PublishingPiwigoSessionGetStatusTransactionPrivate * priv; +}; + +struct _PublishingPiwigoSessionGetStatusTransactionClass { + PublishingPiwigoTransactionClass parent_class; +}; + +struct _PublishingPiwigoCategoriesGetListTransaction { + PublishingPiwigoTransaction parent_instance; + PublishingPiwigoCategoriesGetListTransactionPrivate * priv; +}; + +struct _PublishingPiwigoCategoriesGetListTransactionClass { + PublishingPiwigoTransactionClass parent_class; +}; + +struct _PublishingPiwigoSessionLogoutTransaction { + PublishingPiwigoTransaction parent_instance; + PublishingPiwigoSessionLogoutTransactionPrivate * priv; +}; + +struct _PublishingPiwigoSessionLogoutTransactionClass { + PublishingPiwigoTransactionClass parent_class; +}; + +struct _PublishingPiwigoCategoriesAddTransaction { + PublishingPiwigoTransaction parent_instance; + PublishingPiwigoCategoriesAddTransactionPrivate * priv; +}; + +struct _PublishingPiwigoCategoriesAddTransactionClass { + PublishingPiwigoTransactionClass parent_class; +}; + +struct _PublishingPiwigoImagesAddTransaction { + PublishingRESTSupportUploadTransaction parent_instance; + PublishingPiwigoImagesAddTransactionPrivate * priv; +}; + +struct _PublishingPiwigoImagesAddTransactionClass { + PublishingRESTSupportUploadTransactionClass parent_class; +}; + +struct _PublishingPiwigoImagesAddTransactionPrivate { + PublishingPiwigoPublishingParameters* parameters; +}; + + +static gpointer piwigo_service_parent_class = NULL; +static GdkPixbuf** piwigo_service_icon_pixbuf_set; +static gint piwigo_service_icon_pixbuf_set_length1; +static GdkPixbuf** piwigo_service_icon_pixbuf_set = NULL; +static gint piwigo_service_icon_pixbuf_set_length1 = 0; +static gint _piwigo_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* piwigo_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* piwigo_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_piwigo_category_parent_class = NULL; +static gpointer publishing_piwigo_permission_level_parent_class = NULL; +static gpointer publishing_piwigo_size_entry_parent_class = NULL; +static gpointer publishing_piwigo_publishing_parameters_parent_class = NULL; +static gpointer publishing_piwigo_piwigo_publisher_parent_class = NULL; +static SpitPublishingPublisherIface* publishing_piwigo_piwigo_publisher_spit_publishing_publisher_parent_iface = NULL; +static gpointer publishing_piwigo_uploader_parent_class = NULL; +static gpointer publishing_piwigo_authentication_pane_parent_class = NULL; +static gchar* publishing_piwigo_authentication_pane_INTRO_MESSAGE; +static gchar* publishing_piwigo_authentication_pane_INTRO_MESSAGE = NULL; +static gchar* publishing_piwigo_authentication_pane_FAILED_RETRY_URL_MESSAGE; +static gchar* publishing_piwigo_authentication_pane_FAILED_RETRY_URL_MESSAGE = NULL; +static gchar* publishing_piwigo_authentication_pane_FAILED_RETRY_USER_MESSAGE; +static gchar* publishing_piwigo_authentication_pane_FAILED_RETRY_USER_MESSAGE = NULL; +static SpitPublishingDialogPaneIface* publishing_piwigo_authentication_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_piwigo_publishing_options_pane_parent_class = NULL; +static gchar* publishing_piwigo_publishing_options_pane_DEFAULT_CATEGORY_NAME; +static gchar* publishing_piwigo_publishing_options_pane_DEFAULT_CATEGORY_NAME = NULL; +static SpitPublishingDialogPaneIface* publishing_piwigo_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_piwigo_session_parent_class = NULL; +static gpointer publishing_piwigo_transaction_parent_class = NULL; +static gpointer publishing_piwigo_session_login_transaction_parent_class = NULL; +static gpointer publishing_piwigo_session_get_status_transaction_parent_class = NULL; +static gpointer publishing_piwigo_categories_get_list_transaction_parent_class = NULL; +static gpointer publishing_piwigo_session_logout_transaction_parent_class = NULL; +static gpointer publishing_piwigo_categories_add_transaction_parent_class = NULL; +static gpointer publishing_piwigo_images_add_transaction_parent_class = NULL; + +GType piwigo_service_get_type (void) G_GNUC_CONST; +enum { + PIWIGO_SERVICE_DUMMY_PROPERTY +}; +#define PIWIGO_SERVICE_ICON_FILENAME "piwigo.png" +PiwigoService* piwigo_service_new (GFile* resource_directory); +PiwigoService* piwigo_service_construct (GType object_type, GFile* resource_directory); +static gint piwigo_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* piwigo_service_real_get_id (SpitPluggable* base); +static const gchar* piwigo_service_real_get_pluggable_name (SpitPluggable* base); +static void piwigo_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup10 (GdkPixbuf** self, int length); +static void piwigo_service_real_activation (SpitPluggable* base, gboolean enabled); +static SpitPublishingPublisher* piwigo_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingPiwigoPiwigoPublisher* publishing_piwigo_piwigo_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingPiwigoPiwigoPublisher* publishing_piwigo_piwigo_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_piwigo_piwigo_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType piwigo_service_real_get_supported_media (SpitPublishingService* base); +static void piwigo_service_finalize (GObject* obj); +#define PUBLISHING_PIWIGO_SERVICE_NAME "Piwigo" +#define PUBLISHING_PIWIGO_PIWIGO_WS "ws.php" +#define PUBLISHING_PIWIGO_ORIGINAL_SIZE -1 +gpointer publishing_piwigo_category_ref (gpointer instance); +void publishing_piwigo_category_unref (gpointer instance); +GParamSpec* publishing_piwigo_param_spec_category (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_piwigo_value_set_category (GValue* value, gpointer v_object); +void publishing_piwigo_value_take_category (GValue* value, gpointer v_object); +gpointer publishing_piwigo_value_get_category (const GValue* value); +GType publishing_piwigo_category_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_PIWIGO_CATEGORY_DUMMY_PROPERTY +}; +#define PUBLISHING_PIWIGO_CATEGORY_NO_ID -1 +PublishingPiwigoCategory* publishing_piwigo_category_new (gint id, const gchar* name, const gchar* uppercats, const gchar* comment); +PublishingPiwigoCategory* publishing_piwigo_category_construct (GType object_type, gint id, const gchar* name, const gchar* uppercats, const gchar* comment); +PublishingPiwigoCategory* publishing_piwigo_category_new_local (const gchar* name, gint parent_id, const gchar* comment); +PublishingPiwigoCategory* publishing_piwigo_category_construct_local (GType object_type, const gchar* name, gint parent_id, const gchar* comment); +gboolean publishing_piwigo_category_is_local (PublishingPiwigoCategory* self); +static void publishing_piwigo_category_finalize (PublishingPiwigoCategory* obj); +gpointer publishing_piwigo_permission_level_ref (gpointer instance); +void publishing_piwigo_permission_level_unref (gpointer instance); +GParamSpec* publishing_piwigo_param_spec_permission_level (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_piwigo_value_set_permission_level (GValue* value, gpointer v_object); +void publishing_piwigo_value_take_permission_level (GValue* value, gpointer v_object); +gpointer publishing_piwigo_value_get_permission_level (const GValue* value); +GType publishing_piwigo_permission_level_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_PIWIGO_PERMISSION_LEVEL_DUMMY_PROPERTY +}; +PublishingPiwigoPermissionLevel* publishing_piwigo_permission_level_new (gint id, const gchar* name); +PublishingPiwigoPermissionLevel* publishing_piwigo_permission_level_construct (GType object_type, gint id, const gchar* name); +static void publishing_piwigo_permission_level_finalize (PublishingPiwigoPermissionLevel* obj); +gpointer publishing_piwigo_size_entry_ref (gpointer instance); +void publishing_piwigo_size_entry_unref (gpointer instance); +GParamSpec* publishing_piwigo_param_spec_size_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_piwigo_value_set_size_entry (GValue* value, gpointer v_object); +void publishing_piwigo_value_take_size_entry (GValue* value, gpointer v_object); +gpointer publishing_piwigo_value_get_size_entry (const GValue* value); +GType publishing_piwigo_size_entry_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_PIWIGO_SIZE_ENTRY_DUMMY_PROPERTY +}; +PublishingPiwigoSizeEntry* publishing_piwigo_size_entry_new (gint id, const gchar* name); +PublishingPiwigoSizeEntry* publishing_piwigo_size_entry_construct (GType object_type, gint id, const gchar* name); +static void publishing_piwigo_size_entry_finalize (PublishingPiwigoSizeEntry* obj); +gpointer publishing_piwigo_publishing_parameters_ref (gpointer instance); +void publishing_piwigo_publishing_parameters_unref (gpointer instance); +GParamSpec* publishing_piwigo_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_piwigo_value_set_publishing_parameters (GValue* value, gpointer v_object); +void publishing_piwigo_value_take_publishing_parameters (GValue* value, gpointer v_object); +gpointer publishing_piwigo_value_get_publishing_parameters (const GValue* value); +GType publishing_piwigo_publishing_parameters_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_DUMMY_PROPERTY +}; +PublishingPiwigoPublishingParameters* publishing_piwigo_publishing_parameters_new (void); +PublishingPiwigoPublishingParameters* publishing_piwigo_publishing_parameters_construct (GType object_type); +static void publishing_piwigo_publishing_parameters_finalize (PublishingPiwigoPublishingParameters* obj); +GType publishing_piwigo_session_get_type (void) G_GNUC_CONST; +#define PUBLISHING_PIWIGO_PIWIGO_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisherPrivate)) +enum { + PUBLISHING_PIWIGO_PIWIGO_PUBLISHER_DUMMY_PROPERTY +}; +PublishingPiwigoSession* publishing_piwigo_session_new (void); +PublishingPiwigoSession* publishing_piwigo_session_construct (GType object_type); +static SpitPublishingService* publishing_piwigo_piwigo_publisher_real_get_service (SpitPublishingPublisher* base); +SpitPublishingPluginHost* publishing_piwigo_piwigo_publisher_get_host (PublishingPiwigoPiwigoPublisher* self); +static gboolean publishing_piwigo_piwigo_publisher_real_is_running (SpitPublishingPublisher* base); +static void publishing_piwigo_piwigo_publisher_real_start (SpitPublishingPublisher* base); +static void publishing_piwigo_piwigo_publisher_do_fetch_categories (PublishingPiwigoPiwigoPublisher* self); +gchar* publishing_piwigo_piwigo_publisher_get_persistent_url (PublishingPiwigoPiwigoPublisher* self); +gchar* publishing_piwigo_piwigo_publisher_get_persistent_username (PublishingPiwigoPiwigoPublisher* self); +gchar* publishing_piwigo_piwigo_publisher_get_persistent_password (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_do_network_login (PublishingPiwigoPiwigoPublisher* self, const gchar* url, const gchar* username, const gchar* password, gboolean remember_password); +gboolean publishing_piwigo_piwigo_publisher_get_remember_password (PublishingPiwigoPiwigoPublisher* self); +GType publishing_piwigo_authentication_pane_mode_get_type (void) G_GNUC_CONST; +static void publishing_piwigo_piwigo_publisher_do_show_authentication_pane (PublishingPiwigoPiwigoPublisher* self, PublishingPiwigoAuthenticationPaneMode mode); +static void publishing_piwigo_piwigo_publisher_real_stop (SpitPublishingPublisher* base); +static void publishing_piwigo_piwigo_publisher_set_persistent_url (PublishingPiwigoPiwigoPublisher* self, const gchar* url); +static void publishing_piwigo_piwigo_publisher_set_persistent_username (PublishingPiwigoPiwigoPublisher* self, const gchar* username); +static void publishing_piwigo_piwigo_publisher_set_persistent_password (PublishingPiwigoPiwigoPublisher* self, const gchar* password); +static void publishing_piwigo_piwigo_publisher_set_remember_password (PublishingPiwigoPiwigoPublisher* self, gboolean remember_password); +gint publishing_piwigo_piwigo_publisher_get_last_category (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_set_last_category (PublishingPiwigoPiwigoPublisher* self, gint last_category); +gint publishing_piwigo_piwigo_publisher_get_last_permission_level (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_set_last_permission_level (PublishingPiwigoPiwigoPublisher* self, gint last_permission_level); +gint publishing_piwigo_piwigo_publisher_get_last_photo_size (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_set_last_photo_size (PublishingPiwigoPiwigoPublisher* self, gint last_photo_size); +static gboolean publishing_piwigo_piwigo_publisher_get_last_title_as_comment (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_set_last_title_as_comment (PublishingPiwigoPiwigoPublisher* self, gboolean title_as_comment); +static gboolean publishing_piwigo_piwigo_publisher_get_last_no_upload_tags (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_set_last_no_upload_tags (PublishingPiwigoPiwigoPublisher* self, gboolean no_upload_tags); +static gboolean publishing_piwigo_piwigo_publisher_get_metadata_removal_choice (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_set_metadata_removal_choice (PublishingPiwigoPiwigoPublisher* self, gboolean strip_metadata); +GType publishing_piwigo_authentication_pane_get_type (void) G_GNUC_CONST; +PublishingPiwigoAuthenticationPane* publishing_piwigo_authentication_pane_new (PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoAuthenticationPaneMode mode); +PublishingPiwigoAuthenticationPane* publishing_piwigo_authentication_pane_construct (GType object_type, PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoAuthenticationPaneMode mode); +static void publishing_piwigo_piwigo_publisher_on_authentication_pane_login_clicked (PublishingPiwigoPiwigoPublisher* self, const gchar* url, const gchar* username, const gchar* password, gboolean remember_password); +static void _publishing_piwigo_piwigo_publisher_on_authentication_pane_login_clicked_publishing_piwigo_authentication_pane_login (PublishingPiwigoAuthenticationPane* _sender, const gchar* url, const gchar* user, const gchar* password, gboolean remember_password, gpointer self); +GtkWidget* publishing_piwigo_authentication_pane_get_default_widget (PublishingPiwigoAuthenticationPane* self); +GType publishing_piwigo_transaction_get_type (void) G_GNUC_CONST; +GType publishing_piwigo_session_login_transaction_get_type (void) G_GNUC_CONST; +gchar* publishing_piwigo_piwigo_publisher_normalise_url (const gchar* url); +PublishingPiwigoSessionLoginTransaction* publishing_piwigo_session_login_transaction_new (PublishingPiwigoSession* session, const gchar* url, const gchar* username, const gchar* password); +PublishingPiwigoSessionLoginTransaction* publishing_piwigo_session_login_transaction_construct (GType object_type, PublishingPiwigoSession* session, const gchar* url, const gchar* username, const gchar* password); +static void publishing_piwigo_piwigo_publisher_on_login_network_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_piwigo_piwigo_publisher_on_login_network_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_login_network_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_piwigo_piwigo_publisher_on_login_network_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_piwigo_piwigo_publisher_do_show_error (PublishingPiwigoPiwigoPublisher* self, GError* e); +gchar* publishing_piwigo_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc); +static gchar* _publishing_piwigo_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self); +gchar* publishing_piwigo_transaction_get_error_code (PublishingRESTSupportXmlDocument* doc); +static gchar* _publishing_piwigo_transaction_get_error_code_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self); +static gchar* publishing_piwigo_piwigo_publisher_get_pwg_id_from_transaction (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn); +void publishing_piwigo_session_set_pwg_id (PublishingPiwigoSession* self, const gchar* id); +static void publishing_piwigo_piwigo_publisher_do_fetch_session_status (PublishingPiwigoPiwigoPublisher* self, const gchar* url, const gchar* pwg_id); +GType publishing_piwigo_session_get_status_transaction_get_type (void) G_GNUC_CONST; +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_new_unauthenticated (PublishingPiwigoSession* session, const gchar* url, const gchar* pwg_id); +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_construct_unauthenticated (GType object_type, PublishingPiwigoSession* session, const gchar* url, const gchar* pwg_id); +static void publishing_piwigo_piwigo_publisher_on_session_get_status_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_piwigo_piwigo_publisher_on_session_get_status_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_session_get_status_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_piwigo_piwigo_publisher_on_session_get_status_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_new (PublishingPiwigoSession* session); +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_construct (GType object_type, PublishingPiwigoSession* session); +gchar* publishing_piwigo_session_get_pwg_id (PublishingPiwigoSession* self); +void publishing_piwigo_session_authenticate (PublishingPiwigoSession* self, const gchar* url, const gchar* username, const gchar* id); +gchar* publishing_piwigo_session_get_pwg_url (PublishingPiwigoSession* self); +gchar* publishing_piwigo_session_get_username (PublishingPiwigoSession* self); +static void publishing_piwigo_piwigo_publisher_on_network_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +GType publishing_piwigo_categories_get_list_transaction_get_type (void) G_GNUC_CONST; +PublishingPiwigoCategoriesGetListTransaction* publishing_piwigo_categories_get_list_transaction_new (PublishingPiwigoSession* session); +PublishingPiwigoCategoriesGetListTransaction* publishing_piwigo_categories_get_list_transaction_construct (GType object_type, PublishingPiwigoSession* session); +static void publishing_piwigo_piwigo_publisher_on_category_fetch_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_piwigo_piwigo_publisher_on_category_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_category_fetch_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_piwigo_piwigo_publisher_on_category_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void _vala_array_add34 (PublishingPiwigoCategory*** array, int* length, int* size, PublishingPiwigoCategory* value); +static void publishing_piwigo_piwigo_publisher_do_show_publishing_options_pane (PublishingPiwigoPiwigoPublisher* self); +GType publishing_piwigo_publishing_options_pane_get_type (void) G_GNUC_CONST; +PublishingPiwigoPublishingOptionsPane* publishing_piwigo_publishing_options_pane_new (PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoCategory** categories, int categories_length1, gint last_category, gint last_permission_level, gint last_photo_size, gboolean last_title_as_comment, gboolean last_no_upload_tags, gboolean strip_metadata_enabled); +PublishingPiwigoPublishingOptionsPane* publishing_piwigo_publishing_options_pane_construct (GType object_type, PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoCategory** categories, int categories_length1, gint last_category, gint last_permission_level, gint last_photo_size, gboolean last_title_as_comment, gboolean last_no_upload_tags, gboolean strip_metadata_enabled); +static void publishing_piwigo_piwigo_publisher_on_publishing_options_pane_logout_clicked (PublishingPiwigoPiwigoPublisher* self); +static void _publishing_piwigo_piwigo_publisher_on_publishing_options_pane_logout_clicked_publishing_piwigo_publishing_options_pane_logout (PublishingPiwigoPublishingOptionsPane* _sender, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_publishing_options_pane_publish_clicked (PublishingPiwigoPiwigoPublisher* self, PublishingPiwigoPublishingParameters* parameters, gboolean strip_metadata); +static void _publishing_piwigo_piwigo_publisher_on_publishing_options_pane_publish_clicked_publishing_piwigo_publishing_options_pane_publish (PublishingPiwigoPublishingOptionsPane* _sender, PublishingPiwigoPublishingParameters* parameters, gboolean strip_metadata, gpointer self); +GtkWidget* publishing_piwigo_publishing_options_pane_get_default_widget (PublishingPiwigoPublishingOptionsPane* self); +GType publishing_piwigo_session_logout_transaction_get_type (void) G_GNUC_CONST; +PublishingPiwigoSessionLogoutTransaction* publishing_piwigo_session_logout_transaction_new (PublishingPiwigoSession* session); +PublishingPiwigoSessionLogoutTransaction* publishing_piwigo_session_logout_transaction_construct (GType object_type, PublishingPiwigoSession* session); +static void publishing_piwigo_piwigo_publisher_on_logout_network_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_piwigo_piwigo_publisher_on_logout_network_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_logout_network_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_piwigo_piwigo_publisher_on_logout_network_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +void publishing_piwigo_session_deauthenticate (PublishingPiwigoSession* self); +static void publishing_piwigo_piwigo_publisher_do_create_category (PublishingPiwigoPiwigoPublisher* self, PublishingPiwigoCategory* category); +static void publishing_piwigo_piwigo_publisher_do_upload (PublishingPiwigoPiwigoPublisher* self, gboolean strip_metadata); +GType publishing_piwigo_categories_add_transaction_get_type (void) G_GNUC_CONST; +PublishingPiwigoCategoriesAddTransaction* publishing_piwigo_categories_add_transaction_new (PublishingPiwigoSession* session, const gchar* category, gint parent_id, const gchar* comment); +PublishingPiwigoCategoriesAddTransaction* publishing_piwigo_categories_add_transaction_construct (GType object_type, PublishingPiwigoSession* session, const gchar* category, gint parent_id, const gchar* comment); +static void publishing_piwigo_piwigo_publisher_on_category_add_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_piwigo_piwigo_publisher_on_category_add_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_category_add_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_piwigo_piwigo_publisher_on_category_add_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +GType publishing_piwigo_uploader_get_type (void) G_GNUC_CONST; +PublishingPiwigoUploader* publishing_piwigo_uploader_new (PublishingPiwigoSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPiwigoPublishingParameters* parameters); +PublishingPiwigoUploader* publishing_piwigo_uploader_construct (GType object_type, PublishingPiwigoSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPiwigoPublishingParameters* parameters); +static void publishing_piwigo_piwigo_publisher_on_upload_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_piwigo_piwigo_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_upload_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err); +static void _publishing_piwigo_piwigo_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_piwigo_piwigo_publisher_on_upload_status_updated (PublishingPiwigoPiwigoPublisher* self, gint file_number, gdouble completed_fraction); +static void _publishing_piwigo_piwigo_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_piwigo_piwigo_publisher_do_show_success_pane (PublishingPiwigoPiwigoPublisher* self); +static void publishing_piwigo_piwigo_publisher_do_show_error_message (PublishingPiwigoPiwigoPublisher* self, const gchar* message); +static SoupCookie* _vala_SoupCookie_copy (SoupCookie* self); +static void _vala_SoupCookie_free (SoupCookie* self); +static void __vala_SoupCookie_free0_ (gpointer var); +static void _g_slist_free___vala_SoupCookie_free0_ (GSList* self); +static void publishing_piwigo_piwigo_publisher_finalize (GObject* obj); +#define PUBLISHING_PIWIGO_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PIWIGO_TYPE_UPLOADER, PublishingPiwigoUploaderPrivate)) +enum { + PUBLISHING_PIWIGO_UPLOADER_DUMMY_PROPERTY +}; +static PublishingRESTSupportTransaction* publishing_piwigo_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +PublishingPiwigoImagesAddTransaction* publishing_piwigo_images_add_transaction_new (PublishingPiwigoSession* session, PublishingPiwigoPublishingParameters* parameters, SpitPublishingPublishable* publishable); +PublishingPiwigoImagesAddTransaction* publishing_piwigo_images_add_transaction_construct (GType object_type, PublishingPiwigoSession* session, PublishingPiwigoPublishingParameters* parameters, SpitPublishingPublishable* publishable); +GType publishing_piwigo_images_add_transaction_get_type (void) G_GNUC_CONST; +static void publishing_piwigo_uploader_finalize (PublishingRESTSupportBatchUploader* obj); +#define PUBLISHING_PIWIGO_AUTHENTICATION_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPanePrivate)) +enum { + PUBLISHING_PIWIGO_AUTHENTICATION_PANE_DUMMY_PROPERTY +}; +static void publishing_piwigo_authentication_pane_on_user_changed (PublishingPiwigoAuthenticationPane* self); +static void _publishing_piwigo_authentication_pane_on_user_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_piwigo_authentication_pane_on_url_changed (PublishingPiwigoAuthenticationPane* self); +static void _publishing_piwigo_authentication_pane_on_url_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_piwigo_authentication_pane_on_password_changed (PublishingPiwigoAuthenticationPane* self); +static void _publishing_piwigo_authentication_pane_on_password_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_piwigo_authentication_pane_on_login_button_clicked (PublishingPiwigoAuthenticationPane* self); +static void _publishing_piwigo_authentication_pane_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_piwigo_authentication_pane_update_login_button_sensitivity (PublishingPiwigoAuthenticationPane* self); +static GtkWidget* publishing_piwigo_authentication_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_piwigo_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_piwigo_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_piwigo_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_piwigo_authentication_pane_finalize (GObject* obj); +#define PUBLISHING_PIWIGO_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPanePrivate)) +enum { + PUBLISHING_PIWIGO_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +static void publishing_piwigo_publishing_options_pane_on_logout_button_clicked (PublishingPiwigoPublishingOptionsPane* self); +static void _publishing_piwigo_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_piwigo_publishing_options_pane_on_publish_button_clicked (PublishingPiwigoPublishingOptionsPane* self); +static void _publishing_piwigo_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_piwigo_publishing_options_pane_on_use_existing_radio_clicked (PublishingPiwigoPublishingOptionsPane* self); +static void _publishing_piwigo_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_piwigo_publishing_options_pane_on_create_new_radio_clicked (PublishingPiwigoPublishingOptionsPane* self); +static void _publishing_piwigo_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_piwigo_publishing_options_pane_on_new_category_entry_changed (PublishingPiwigoPublishingOptionsPane* self); +static void _publishing_piwigo_publishing_options_pane_on_new_category_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void publishing_piwigo_publishing_options_pane_on_existing_combo_changed (PublishingPiwigoPublishingOptionsPane* self); +static void _publishing_piwigo_publishing_options_pane_on_existing_combo_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static PublishingPiwigoCategory** _vala_array_dup11 (PublishingPiwigoCategory** self, int length); +static PublishingPiwigoPermissionLevel** publishing_piwigo_publishing_options_pane_create_perm_levels (PublishingPiwigoPublishingOptionsPane* self, int* result_length1); +static PublishingPiwigoSizeEntry** publishing_piwigo_publishing_options_pane_create_sizes (PublishingPiwigoPublishingOptionsPane* self, int* result_length1); +static gchar* publishing_piwigo_publishing_options_pane_get_common_comment_if_possible (PublishingPiwigoPublishingOptionsPane* self, PublishingPiwigoPiwigoPublisher* publisher); +static void _vala_array_add35 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value); +static void _vala_array_add36 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value); +static void _vala_array_add37 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value); +static void _vala_array_add38 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value); +static void _vala_array_add39 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value); +static void _vala_array_add40 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value); +static void _vala_array_add41 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value); +static void _vala_array_add42 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value); +static void _vala_array_add43 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value); +static void _vala_array_add44 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value); +static void publishing_piwigo_publishing_options_pane_update_publish_button_sensitivity (PublishingPiwigoPublishingOptionsPane* self); +static gboolean publishing_piwigo_publishing_options_pane_category_already_exists (PublishingPiwigoPublishingOptionsPane* self, const gchar* category_name); +static GtkWidget* publishing_piwigo_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_piwigo_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_piwigo_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_piwigo_publishing_options_pane_create_categories_combo (PublishingPiwigoPublishingOptionsPane* self); +static void publishing_piwigo_publishing_options_pane_create_within_categories_combo (PublishingPiwigoPublishingOptionsPane* self); +static void publishing_piwigo_publishing_options_pane_create_permissions_combo (PublishingPiwigoPublishingOptionsPane* self); +static void publishing_piwigo_publishing_options_pane_create_size_combo (PublishingPiwigoPublishingOptionsPane* self); +static gint publishing_piwigo_publishing_options_pane_find_category_index (PublishingPiwigoPublishingOptionsPane* self, gint category_id); +static gint publishing_piwigo_publishing_options_pane_find_permission_level_index (PublishingPiwigoPublishingOptionsPane* self, gint permission_level_id); +static gint publishing_piwigo_publishing_options_pane_find_size_index (PublishingPiwigoPublishingOptionsPane* self, gint size_id); +static void publishing_piwigo_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void g_cclosure_user_marshal_VOID__PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void publishing_piwigo_publishing_options_pane_finalize (GObject* obj); +#define PUBLISHING_PIWIGO_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PIWIGO_TYPE_SESSION, PublishingPiwigoSessionPrivate)) +enum { + PUBLISHING_PIWIGO_SESSION_DUMMY_PROPERTY +}; +static gboolean publishing_piwigo_session_real_is_authenticated (PublishingRESTSupportSession* base); +static void publishing_piwigo_session_finalize (PublishingRESTSupportSession* obj); +enum { + PUBLISHING_PIWIGO_TRANSACTION_DUMMY_PROPERTY +}; +PublishingPiwigoTransaction* publishing_piwigo_transaction_new (PublishingPiwigoSession* session); +PublishingPiwigoTransaction* publishing_piwigo_transaction_construct (GType object_type, PublishingPiwigoSession* session); +PublishingPiwigoTransaction* publishing_piwigo_transaction_new_authenticated (PublishingPiwigoSession* session); +PublishingPiwigoTransaction* publishing_piwigo_transaction_construct_authenticated (GType object_type, PublishingPiwigoSession* session); +enum { + PUBLISHING_PIWIGO_SESSION_LOGIN_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_PIWIGO_SESSION_GET_STATUS_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_PIWIGO_CATEGORIES_GET_LIST_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_PIWIGO_SESSION_LOGOUT_TRANSACTION_DUMMY_PROPERTY +}; +enum { + PUBLISHING_PIWIGO_CATEGORIES_ADD_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_PIWIGO_IMAGES_ADD_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION, PublishingPiwigoImagesAddTransactionPrivate)) +enum { + PUBLISHING_PIWIGO_IMAGES_ADD_TRANSACTION_DUMMY_PROPERTY +}; +static void _g_free0_ (gpointer var); +static void publishing_piwigo_images_add_transaction_finalize (PublishingRESTSupportTransaction* 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); + + +PiwigoService* piwigo_service_construct (GType object_type, GFile* resource_directory) { + PiwigoService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PiwigoService*) g_object_new (object_type, NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = piwigo_service_icon_pixbuf_set; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0__length1 = piwigo_service_icon_pixbuf_set_length1; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp0_ == NULL) { +#line 874 "PiwigoPublishing.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" PIWIGO_SERVICE_ICON_FILENAME, &_tmp1_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + piwigo_service_icon_pixbuf_set = (_vala_array_free (piwigo_service_icon_pixbuf_set, piwigo_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + piwigo_service_icon_pixbuf_set = _tmp2_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + piwigo_service_icon_pixbuf_set_length1 = _tmp1_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _piwigo_service_icon_pixbuf_set_size_ = piwigo_service_icon_pixbuf_set_length1; +#line 887 "PiwigoPublishing.c" + } +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 891 "PiwigoPublishing.c" +} + + +PiwigoService* piwigo_service_new (GFile* resource_directory) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return piwigo_service_construct (TYPE_PIWIGO_SERVICE, resource_directory); +#line 898 "PiwigoPublishing.c" +} + + +static gint piwigo_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + PiwigoService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = min_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = max_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp2_; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 920 "PiwigoPublishing.c" +} + + +static const gchar* piwigo_service_real_get_id (SpitPluggable* base) { + PiwigoService * self; + const gchar* result = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = "org.yorba.shotwell.publishing.piwigo"; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 933 "PiwigoPublishing.c" +} + + +static const gchar* piwigo_service_real_get_pluggable_name (SpitPluggable* base) { + PiwigoService * self; + const gchar* result = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = "Piwigo"; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 946 "PiwigoPublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 953 "PiwigoPublishing.c" +} + + +static GdkPixbuf** _vala_array_dup10 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (i = 0; i < length; i++) { +#line 964 "PiwigoPublishing.c" + GdkPixbuf* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result[i] = _tmp0_; +#line 970 "PiwigoPublishing.c" + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 974 "PiwigoPublishing.c" +} + + +static void piwigo_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + PiwigoService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (info != NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = g_strdup ("Bruno Girin"); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 ((*info).authors); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).authors = _tmp0_; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc."); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 ((*info).copyright); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).copyright = _tmp2_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 ((*info).translators); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).translators = _tmp3_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 ((*info).version); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).version = _tmp4_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 ((*info).website_name); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).website_name = _tmp5_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 ((*info).website_url); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).website_url = _tmp6_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 ((*info).license); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).license = _tmp7_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = piwigo_service_icon_pixbuf_set; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8__length1 = piwigo_service_icon_pixbuf_set_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup10 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).icons = _tmp9_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*info).icons_length1 = _tmp9__length1; +#line 1056 "PiwigoPublishing.c" +} + + +static void piwigo_service_real_activation (SpitPluggable* base, gboolean enabled) { + PiwigoService * self; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 1064 "PiwigoPublishing.c" +} + + +static SpitPublishingPublisher* piwigo_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + PiwigoService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingPiwigoPiwigoPublisher* _tmp1_ = NULL; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = host; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishing_piwigo_piwigo_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 1085 "PiwigoPublishing.c" +} + + +static SpitPublishingPublisherMediaType piwigo_service_real_get_supported_media (SpitPublishingService* base) { + PiwigoService * self; + SpitPublishingPublisherMediaType result = 0; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 1098 "PiwigoPublishing.c" +} + + +static void piwigo_service_class_init (PiwigoServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + piwigo_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = piwigo_service_finalize; +#line 1107 "PiwigoPublishing.c" +} + + +static void piwigo_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + piwigo_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) piwigo_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) piwigo_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) piwigo_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) piwigo_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) piwigo_service_real_activation; +#line 1124 "PiwigoPublishing.c" +} + + +static void piwigo_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + piwigo_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) piwigo_service_real_create_publisher; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) piwigo_service_real_get_supported_media; +#line 1135 "PiwigoPublishing.c" +} + + +static void piwigo_service_instance_init (PiwigoService * self) { +} + + +static void piwigo_service_finalize (GObject* obj) { + PiwigoService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIWIGO_SERVICE, PiwigoService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (piwigo_service_parent_class)->finalize (obj); +#line 1149 "PiwigoPublishing.c" +} + + +GType piwigo_service_get_type (void) { + static volatile gsize piwigo_service_type_id__volatile = 0; + if (g_once_init_enter (&piwigo_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PiwigoServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) piwigo_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PiwigoService), 0, (GInstanceInitFunc) piwigo_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) piwigo_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) piwigo_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType piwigo_service_type_id; + piwigo_service_type_id = g_type_register_static (G_TYPE_OBJECT, "PiwigoService", &g_define_type_info, 0); + g_type_add_interface_static (piwigo_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (piwigo_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&piwigo_service_type_id__volatile, piwigo_service_type_id); + } + return piwigo_service_type_id__volatile; +} + + +PublishingPiwigoCategory* publishing_piwigo_category_construct (GType object_type, gint id, const gchar* name, const gchar* uppercats, const gchar* comment) { + PublishingPiwigoCategory* self = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (uppercats != NULL, NULL); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoCategory*) g_type_create_instance (object_type); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = id; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->id = _tmp0_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = name; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->name); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->name = _tmp2_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = uppercats; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->uppercats); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->uppercats = _tmp4_; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = comment; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->comment); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->comment = _tmp6_; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 1214 "PiwigoPublishing.c" +} + + +PublishingPiwigoCategory* publishing_piwigo_category_new (gint id, const gchar* name, const gchar* uppercats, const gchar* comment) { +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_category_construct (PUBLISHING_PIWIGO_TYPE_CATEGORY, id, name, uppercats, comment); +#line 1221 "PiwigoPublishing.c" +} + + +PublishingPiwigoCategory* publishing_piwigo_category_construct_local (GType object_type, const gchar* name, gint parent_id, const gchar* comment) { + PublishingPiwigoCategory* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoCategory*) g_type_create_instance (object_type); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->id = PUBLISHING_PIWIGO_CATEGORY_NO_ID; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = name; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->name); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->name = _tmp1_; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = parent_id; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = g_strdup_printf ("%i", _tmp2_); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->uppercats); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->uppercats = _tmp3_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = comment; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->comment); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->comment = _tmp5_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 1265 "PiwigoPublishing.c" +} + + +PublishingPiwigoCategory* publishing_piwigo_category_new_local (const gchar* name, gint parent_id, const gchar* comment) { +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_category_construct_local (PUBLISHING_PIWIGO_TYPE_CATEGORY, name, parent_id, comment); +#line 1272 "PiwigoPublishing.c" +} + + +gboolean publishing_piwigo_category_is_local (PublishingPiwigoCategory* self) { + gboolean result = FALSE; + gint _tmp0_ = 0; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_CATEGORY (self), FALSE); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->id; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp0_ == PUBLISHING_PIWIGO_CATEGORY_NO_ID; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 1287 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_category_init (GValue* value) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1294 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_category_free_value (GValue* value) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_category_unref (value->data[0].v_pointer); +#line 1303 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_value_category_copy_value (const GValue* src_value, GValue* dest_value) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = publishing_piwigo_category_ref (src_value->data[0].v_pointer); +#line 1313 "PiwigoPublishing.c" + } else { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1317 "PiwigoPublishing.c" + } +} + + +static gpointer publishing_piwigo_value_category_peek_pointer (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 1325 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_category_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1332 "PiwigoPublishing.c" + PublishingPiwigoCategory* object; + object = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1339 "PiwigoPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 1343 "PiwigoPublishing.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = publishing_piwigo_category_ref (object); +#line 1347 "PiwigoPublishing.c" + } else { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1351 "PiwigoPublishing.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 1355 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_category_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingPiwigoCategory** object_p; + object_p = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!object_p) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1366 "PiwigoPublishing.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = NULL; +#line 1372 "PiwigoPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1376 "PiwigoPublishing.c" + } else { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = publishing_piwigo_category_ref (value->data[0].v_pointer); +#line 1380 "PiwigoPublishing.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 1384 "PiwigoPublishing.c" +} + + +GParamSpec* publishing_piwigo_param_spec_category (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingPiwigoParamSpecCategory* spec; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_PIWIGO_TYPE_CATEGORY), NULL); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1398 "PiwigoPublishing.c" +} + + +gpointer publishing_piwigo_value_get_category (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_CATEGORY), NULL); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 1407 "PiwigoPublishing.c" +} + + +void publishing_piwigo_value_set_category (GValue* value, gpointer v_object) { + PublishingPiwigoCategory* old; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_CATEGORY)); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_CATEGORY)); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_category_ref (value->data[0].v_pointer); +#line 1427 "PiwigoPublishing.c" + } else { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1431 "PiwigoPublishing.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_category_unref (old); +#line 1437 "PiwigoPublishing.c" + } +} + + +void publishing_piwigo_value_take_category (GValue* value, gpointer v_object) { + PublishingPiwigoCategory* old; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_CATEGORY)); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_CATEGORY)); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1456 "PiwigoPublishing.c" + } else { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1460 "PiwigoPublishing.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_category_unref (old); +#line 1466 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_category_class_init (PublishingPiwigoCategoryClass * klass) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_category_parent_class = g_type_class_peek_parent (klass); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingPiwigoCategoryClass *) klass)->finalize = publishing_piwigo_category_finalize; +#line 1476 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_category_instance_init (PublishingPiwigoCategory * self) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->ref_count = 1; +#line 1483 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_category_finalize (PublishingPiwigoCategory* obj) { + PublishingPiwigoCategory * self; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_CATEGORY, PublishingPiwigoCategory); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_destroy (self); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->name); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->comment); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->display_name); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->uppercats); +#line 1501 "PiwigoPublishing.c" +} + + +GType publishing_piwigo_category_get_type (void) { + static volatile gsize publishing_piwigo_category_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_category_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_piwigo_value_category_init, publishing_piwigo_value_category_free_value, publishing_piwigo_value_category_copy_value, publishing_piwigo_value_category_peek_pointer, "p", publishing_piwigo_value_category_collect_value, "p", publishing_piwigo_value_category_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoCategoryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_category_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoCategory), 0, (GInstanceInitFunc) publishing_piwigo_category_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 publishing_piwigo_category_type_id; + publishing_piwigo_category_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingPiwigoCategory", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_piwigo_category_type_id__volatile, publishing_piwigo_category_type_id); + } + return publishing_piwigo_category_type_id__volatile; +} + + +gpointer publishing_piwigo_category_ref (gpointer instance) { + PublishingPiwigoCategory* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return instance; +#line 1526 "PiwigoPublishing.c" +} + + +void publishing_piwigo_category_unref (gpointer instance) { + PublishingPiwigoCategory* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + PUBLISHING_PIWIGO_CATEGORY_GET_CLASS (self)->finalize (self); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1539 "PiwigoPublishing.c" + } +} + + +PublishingPiwigoPermissionLevel* publishing_piwigo_permission_level_construct (GType object_type, gint id, const gchar* name) { + PublishingPiwigoPermissionLevel* self = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoPermissionLevel*) g_type_create_instance (object_type); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = id; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->id = _tmp0_; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = name; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->name); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->name = _tmp2_; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 1567 "PiwigoPublishing.c" +} + + +PublishingPiwigoPermissionLevel* publishing_piwigo_permission_level_new (gint id, const gchar* name) { +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_permission_level_construct (PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL, id, name); +#line 1574 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_permission_level_init (GValue* value) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1581 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_permission_level_free_value (GValue* value) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (value->data[0].v_pointer) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_permission_level_unref (value->data[0].v_pointer); +#line 1590 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_value_permission_level_copy_value (const GValue* src_value, GValue* dest_value) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = publishing_piwigo_permission_level_ref (src_value->data[0].v_pointer); +#line 1600 "PiwigoPublishing.c" + } else { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1604 "PiwigoPublishing.c" + } +} + + +static gpointer publishing_piwigo_value_permission_level_peek_pointer (const GValue* value) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 1612 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_permission_level_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1619 "PiwigoPublishing.c" + PublishingPiwigoPermissionLevel* object; + object = collect_values[0].v_pointer; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1626 "PiwigoPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 1630 "PiwigoPublishing.c" + } +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = publishing_piwigo_permission_level_ref (object); +#line 1634 "PiwigoPublishing.c" + } else { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1638 "PiwigoPublishing.c" + } +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 1642 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_permission_level_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingPiwigoPermissionLevel** object_p; + object_p = collect_values[0].v_pointer; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!object_p) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1653 "PiwigoPublishing.c" + } +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!value->data[0].v_pointer) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = NULL; +#line 1659 "PiwigoPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1663 "PiwigoPublishing.c" + } else { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = publishing_piwigo_permission_level_ref (value->data[0].v_pointer); +#line 1667 "PiwigoPublishing.c" + } +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 1671 "PiwigoPublishing.c" +} + + +GParamSpec* publishing_piwigo_param_spec_permission_level (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingPiwigoParamSpecPermissionLevel* spec; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL), NULL); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1685 "PiwigoPublishing.c" +} + + +gpointer publishing_piwigo_value_get_permission_level (const GValue* value) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL), NULL); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 1694 "PiwigoPublishing.c" +} + + +void publishing_piwigo_value_set_permission_level (GValue* value, gpointer v_object) { + PublishingPiwigoPermissionLevel* old; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL)); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL)); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_permission_level_ref (value->data[0].v_pointer); +#line 1714 "PiwigoPublishing.c" + } else { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1718 "PiwigoPublishing.c" + } +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_permission_level_unref (old); +#line 1724 "PiwigoPublishing.c" + } +} + + +void publishing_piwigo_value_take_permission_level (GValue* value, gpointer v_object) { + PublishingPiwigoPermissionLevel* old; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL)); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL)); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 1743 "PiwigoPublishing.c" + } else { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1747 "PiwigoPublishing.c" + } +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_permission_level_unref (old); +#line 1753 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_permission_level_class_init (PublishingPiwigoPermissionLevelClass * klass) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_permission_level_parent_class = g_type_class_peek_parent (klass); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingPiwigoPermissionLevelClass *) klass)->finalize = publishing_piwigo_permission_level_finalize; +#line 1763 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_permission_level_instance_init (PublishingPiwigoPermissionLevel * self) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->ref_count = 1; +#line 1770 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_permission_level_finalize (PublishingPiwigoPermissionLevel* obj) { + PublishingPiwigoPermissionLevel * self; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_PERMISSION_LEVEL, PublishingPiwigoPermissionLevel); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_destroy (self); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->name); +#line 1782 "PiwigoPublishing.c" +} + + +GType publishing_piwigo_permission_level_get_type (void) { + static volatile gsize publishing_piwigo_permission_level_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_permission_level_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_piwigo_value_permission_level_init, publishing_piwigo_value_permission_level_free_value, publishing_piwigo_value_permission_level_copy_value, publishing_piwigo_value_permission_level_peek_pointer, "p", publishing_piwigo_value_permission_level_collect_value, "p", publishing_piwigo_value_permission_level_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoPermissionLevelClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_permission_level_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoPermissionLevel), 0, (GInstanceInitFunc) publishing_piwigo_permission_level_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 publishing_piwigo_permission_level_type_id; + publishing_piwigo_permission_level_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingPiwigoPermissionLevel", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_piwigo_permission_level_type_id__volatile, publishing_piwigo_permission_level_type_id); + } + return publishing_piwigo_permission_level_type_id__volatile; +} + + +gpointer publishing_piwigo_permission_level_ref (gpointer instance) { + PublishingPiwigoPermissionLevel* self; + self = instance; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return instance; +#line 1807 "PiwigoPublishing.c" +} + + +void publishing_piwigo_permission_level_unref (gpointer instance) { + PublishingPiwigoPermissionLevel* self; + self = instance; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + PUBLISHING_PIWIGO_PERMISSION_LEVEL_GET_CLASS (self)->finalize (self); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1820 "PiwigoPublishing.c" + } +} + + +PublishingPiwigoSizeEntry* publishing_piwigo_size_entry_construct (GType object_type, gint id, const gchar* name) { + PublishingPiwigoSizeEntry* self = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoSizeEntry*) g_type_create_instance (object_type); +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = id; +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->id = _tmp0_; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = name; +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->name); +#line 106 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->name = _tmp2_; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 1848 "PiwigoPublishing.c" +} + + +PublishingPiwigoSizeEntry* publishing_piwigo_size_entry_new (gint id, const gchar* name) { +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_size_entry_construct (PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY, id, name); +#line 1855 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_size_entry_init (GValue* value) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1862 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_size_entry_free_value (GValue* value) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (value->data[0].v_pointer) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_size_entry_unref (value->data[0].v_pointer); +#line 1871 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_value_size_entry_copy_value (const GValue* src_value, GValue* dest_value) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = publishing_piwigo_size_entry_ref (src_value->data[0].v_pointer); +#line 1881 "PiwigoPublishing.c" + } else { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1885 "PiwigoPublishing.c" + } +} + + +static gpointer publishing_piwigo_value_size_entry_peek_pointer (const GValue* value) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 1893 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_size_entry_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (collect_values[0].v_pointer) { +#line 1900 "PiwigoPublishing.c" + PublishingPiwigoSizeEntry* object; + object = collect_values[0].v_pointer; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1907 "PiwigoPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 1911 "PiwigoPublishing.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = publishing_piwigo_size_entry_ref (object); +#line 1915 "PiwigoPublishing.c" + } else { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1919 "PiwigoPublishing.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 1923 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_size_entry_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingPiwigoSizeEntry** object_p; + object_p = collect_values[0].v_pointer; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!object_p) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1934 "PiwigoPublishing.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!value->data[0].v_pointer) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = NULL; +#line 1940 "PiwigoPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 1944 "PiwigoPublishing.c" + } else { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = publishing_piwigo_size_entry_ref (value->data[0].v_pointer); +#line 1948 "PiwigoPublishing.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 1952 "PiwigoPublishing.c" +} + + +GParamSpec* publishing_piwigo_param_spec_size_entry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingPiwigoParamSpecSizeEntry* spec; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY), NULL); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return G_PARAM_SPEC (spec); +#line 1966 "PiwigoPublishing.c" +} + + +gpointer publishing_piwigo_value_get_size_entry (const GValue* value) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY), NULL); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 1975 "PiwigoPublishing.c" +} + + +void publishing_piwigo_value_set_size_entry (GValue* value, gpointer v_object) { + PublishingPiwigoSizeEntry* old; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY)); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY)); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_size_entry_ref (value->data[0].v_pointer); +#line 1995 "PiwigoPublishing.c" + } else { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 1999 "PiwigoPublishing.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_size_entry_unref (old); +#line 2005 "PiwigoPublishing.c" + } +} + + +void publishing_piwigo_value_take_size_entry (GValue* value, gpointer v_object) { + PublishingPiwigoSizeEntry* old; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY)); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY)); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 2024 "PiwigoPublishing.c" + } else { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 2028 "PiwigoPublishing.c" + } +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_size_entry_unref (old); +#line 2034 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_size_entry_class_init (PublishingPiwigoSizeEntryClass * klass) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_size_entry_parent_class = g_type_class_peek_parent (klass); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingPiwigoSizeEntryClass *) klass)->finalize = publishing_piwigo_size_entry_finalize; +#line 2044 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_size_entry_instance_init (PublishingPiwigoSizeEntry * self) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->ref_count = 1; +#line 2051 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_size_entry_finalize (PublishingPiwigoSizeEntry* obj) { + PublishingPiwigoSizeEntry * self; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_SIZE_ENTRY, PublishingPiwigoSizeEntry); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_destroy (self); +#line 102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->name); +#line 2063 "PiwigoPublishing.c" +} + + +GType publishing_piwigo_size_entry_get_type (void) { + static volatile gsize publishing_piwigo_size_entry_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_size_entry_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_piwigo_value_size_entry_init, publishing_piwigo_value_size_entry_free_value, publishing_piwigo_value_size_entry_copy_value, publishing_piwigo_value_size_entry_peek_pointer, "p", publishing_piwigo_value_size_entry_collect_value, "p", publishing_piwigo_value_size_entry_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoSizeEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_size_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoSizeEntry), 0, (GInstanceInitFunc) publishing_piwigo_size_entry_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 publishing_piwigo_size_entry_type_id; + publishing_piwigo_size_entry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingPiwigoSizeEntry", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_piwigo_size_entry_type_id__volatile, publishing_piwigo_size_entry_type_id); + } + return publishing_piwigo_size_entry_type_id__volatile; +} + + +gpointer publishing_piwigo_size_entry_ref (gpointer instance) { + PublishingPiwigoSizeEntry* self; + self = instance; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return instance; +#line 2088 "PiwigoPublishing.c" +} + + +void publishing_piwigo_size_entry_unref (gpointer instance) { + PublishingPiwigoSizeEntry* self; + self = instance; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + PUBLISHING_PIWIGO_SIZE_ENTRY_GET_CLASS (self)->finalize (self); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2101 "PiwigoPublishing.c" + } +} + + +PublishingPiwigoPublishingParameters* publishing_piwigo_publishing_parameters_construct (GType object_type) { + PublishingPiwigoPublishingParameters* self = NULL; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoPublishingParameters*) g_type_create_instance (object_type); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 2112 "PiwigoPublishing.c" +} + + +PublishingPiwigoPublishingParameters* publishing_piwigo_publishing_parameters_new (void) { +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_publishing_parameters_construct (PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS); +#line 2119 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_publishing_parameters_init (GValue* value) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 2126 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_value_publishing_parameters_free_value (GValue* value) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (value->data[0].v_pointer) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_parameters_unref (value->data[0].v_pointer); +#line 2135 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_value_publishing_parameters_copy_value (const GValue* src_value, GValue* dest_value) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (src_value->data[0].v_pointer) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = publishing_piwigo_publishing_parameters_ref (src_value->data[0].v_pointer); +#line 2145 "PiwigoPublishing.c" + } else { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 2149 "PiwigoPublishing.c" + } +} + + +static gpointer publishing_piwigo_value_publishing_parameters_peek_pointer (const GValue* value) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 2157 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_publishing_parameters_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (collect_values[0].v_pointer) { +#line 2164 "PiwigoPublishing.c" + PublishingPiwigoPublishingParameters* object; + object = collect_values[0].v_pointer; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2171 "PiwigoPublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 2175 "PiwigoPublishing.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = publishing_piwigo_publishing_parameters_ref (object); +#line 2179 "PiwigoPublishing.c" + } else { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 2183 "PiwigoPublishing.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 2187 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_value_publishing_parameters_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingPiwigoPublishingParameters** object_p; + object_p = collect_values[0].v_pointer; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!object_p) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2198 "PiwigoPublishing.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!value->data[0].v_pointer) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = NULL; +#line 2204 "PiwigoPublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = value->data[0].v_pointer; +#line 2208 "PiwigoPublishing.c" + } else { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *object_p = publishing_piwigo_publishing_parameters_ref (value->data[0].v_pointer); +#line 2212 "PiwigoPublishing.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 2216 "PiwigoPublishing.c" +} + + +GParamSpec* publishing_piwigo_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingPiwigoParamSpecPublishingParameters* spec; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return G_PARAM_SPEC (spec); +#line 2230 "PiwigoPublishing.c" +} + + +gpointer publishing_piwigo_value_get_publishing_parameters (const GValue* value) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return value->data[0].v_pointer; +#line 2239 "PiwigoPublishing.c" +} + + +void publishing_piwigo_value_set_publishing_parameters (GValue* value, gpointer v_object) { + PublishingPiwigoPublishingParameters* old; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS)); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS)); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_parameters_ref (value->data[0].v_pointer); +#line 2259 "PiwigoPublishing.c" + } else { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 2263 "PiwigoPublishing.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_parameters_unref (old); +#line 2269 "PiwigoPublishing.c" + } +} + + +void publishing_piwigo_value_take_publishing_parameters (GValue* value, gpointer v_object) { + PublishingPiwigoPublishingParameters* old; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS)); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + old = value->data[0].v_pointer; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (v_object) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS)); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = v_object; +#line 2288 "PiwigoPublishing.c" + } else { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + value->data[0].v_pointer = NULL; +#line 2292 "PiwigoPublishing.c" + } +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (old) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_parameters_unref (old); +#line 2298 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_publishing_parameters_class_init (PublishingPiwigoPublishingParametersClass * klass) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_parameters_parent_class = g_type_class_peek_parent (klass); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingPiwigoPublishingParametersClass *) klass)->finalize = publishing_piwigo_publishing_parameters_finalize; +#line 2308 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_parameters_instance_init (PublishingPiwigoPublishingParameters * self) { +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->category = NULL; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->perm_level = NULL; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->photo_size = NULL; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->title_as_comment = FALSE; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->no_upload_tags = FALSE; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->ref_count = 1; +#line 2325 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_parameters_finalize (PublishingPiwigoPublishingParameters* obj) { + PublishingPiwigoPublishingParameters * self; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS, PublishingPiwigoPublishingParameters); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_destroy (self); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (self->category); +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_permission_level_unref0 (self->perm_level); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_size_entry_unref0 (self->photo_size); +#line 2341 "PiwigoPublishing.c" +} + + +GType publishing_piwigo_publishing_parameters_get_type (void) { + static volatile gsize publishing_piwigo_publishing_parameters_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_publishing_parameters_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_piwigo_value_publishing_parameters_init, publishing_piwigo_value_publishing_parameters_free_value, publishing_piwigo_value_publishing_parameters_copy_value, publishing_piwigo_value_publishing_parameters_peek_pointer, "p", publishing_piwigo_value_publishing_parameters_collect_value, "p", publishing_piwigo_value_publishing_parameters_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoPublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoPublishingParameters), 0, (GInstanceInitFunc) publishing_piwigo_publishing_parameters_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 publishing_piwigo_publishing_parameters_type_id; + publishing_piwigo_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingPiwigoPublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_piwigo_publishing_parameters_type_id__volatile, publishing_piwigo_publishing_parameters_type_id); + } + return publishing_piwigo_publishing_parameters_type_id__volatile; +} + + +gpointer publishing_piwigo_publishing_parameters_ref (gpointer instance) { + PublishingPiwigoPublishingParameters* self; + self = instance; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return instance; +#line 2366 "PiwigoPublishing.c" +} + + +void publishing_piwigo_publishing_parameters_unref (gpointer instance) { + PublishingPiwigoPublishingParameters* self; + self = instance; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2379 "PiwigoPublishing.c" + } +} + + +PublishingPiwigoPiwigoPublisher* publishing_piwigo_piwigo_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingPiwigoPiwigoPublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + PublishingPiwigoSession* _tmp4_ = NULL; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoPiwigoPublisher*) g_object_new (object_type, NULL); +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:133: PiwigoPublisher instantiated."); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = service; +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->service); +#line 134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->service = _tmp1_; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = host; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->host); +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->host = _tmp3_; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = publishing_piwigo_session_new (); +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->session = _tmp4_; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 2423 "PiwigoPublishing.c" +} + + +PublishingPiwigoPiwigoPublisher* publishing_piwigo_piwigo_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_piwigo_publisher_construct (PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, service, host); +#line 2430 "PiwigoPublishing.c" +} + + +static SpitPublishingService* publishing_piwigo_piwigo_publisher_real_get_service (SpitPublishingPublisher* base) { + PublishingPiwigoPiwigoPublisher * self; + SpitPublishingService* result = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingService* _tmp1_ = NULL; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisher); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->service; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2449 "PiwigoPublishing.c" +} + + +SpitPublishingPluginHost* publishing_piwigo_piwigo_publisher_get_host (PublishingPiwigoPiwigoPublisher* self) { + SpitPublishingPluginHost* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 145 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), NULL); +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2467 "PiwigoPublishing.c" +} + + +static gboolean publishing_piwigo_piwigo_publisher_real_is_running (SpitPublishingPublisher* base) { + PublishingPiwigoPiwigoPublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisher); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->running; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp0_; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2483 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_real_start (SpitPublishingPublisher* base) { + PublishingPiwigoPiwigoPublisher * self; + gboolean _tmp0_ = FALSE; + PublishingPiwigoSession* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisher); +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp0_) { +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 2500 "PiwigoPublishing.c" + } +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:157: PiwigoPublisher: starting interaction."); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->running = TRUE; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->session; +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp2_) { +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:162: PiwigoPublisher: session is authenticated."); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_fetch_categories (self); +#line 2516 "PiwigoPublishing.c" + } else { + gchar* persistent_url = NULL; + gchar* _tmp3_ = NULL; + gchar* persistent_username = NULL; + gchar* _tmp4_ = NULL; + gchar* persistent_password = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; +#line 165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:165: PiwigoPublisher: session is not authenticat" \ +"ed."); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_piwigo_piwigo_publisher_get_persistent_url (self); +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + persistent_url = _tmp3_; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = publishing_piwigo_piwigo_publisher_get_persistent_username (self); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + persistent_username = _tmp4_; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_piwigo_piwigo_publisher_get_persistent_password (self); +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + persistent_password = _tmp5_; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = persistent_url; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp8_ != NULL) { +#line 2545 "PiwigoPublishing.c" + const gchar* _tmp9_ = NULL; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = persistent_username; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp9_ != NULL; +#line 2551 "PiwigoPublishing.c" + } else { +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = FALSE; +#line 2555 "PiwigoPublishing.c" + } +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_) { +#line 2559 "PiwigoPublishing.c" + const gchar* _tmp10_ = NULL; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = persistent_password; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp10_ != NULL; +#line 2565 "PiwigoPublishing.c" + } else { +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = FALSE; +#line 2569 "PiwigoPublishing.c" + } +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp6_) { +#line 2573 "PiwigoPublishing.c" + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = persistent_url; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = persistent_username; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = persistent_password; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = publishing_piwigo_piwigo_publisher_get_remember_password (self); +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_network_login (self, _tmp11_, _tmp12_, _tmp13_, _tmp14_); +#line 2588 "PiwigoPublishing.c" + } else { +#line 173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_authentication_pane (self, PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_INTRO); +#line 2592 "PiwigoPublishing.c" + } +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (persistent_password); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (persistent_username); +#line 161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (persistent_url); +#line 2600 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_piwigo_publisher_real_stop (SpitPublishingPublisher* base) { + PublishingPiwigoPiwigoPublisher * self; +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisher); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->running = FALSE; +#line 2611 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_piwigo_publisher_get_persistent_url (PublishingPiwigoPiwigoPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), NULL); +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "url", NULL); +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2629 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_persistent_url (PublishingPiwigoPiwigoPublisher* self, const gchar* url) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (url != NULL); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = url; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "url", _tmp1_); +#line 2646 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_piwigo_publisher_get_persistent_username (PublishingPiwigoPiwigoPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), NULL); +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "username", NULL); +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2664 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_persistent_username (PublishingPiwigoPiwigoPublisher* self, const gchar* username) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (username != NULL); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = username; +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "username", _tmp1_); +#line 2681 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_piwigo_publisher_get_persistent_password (PublishingPiwigoPiwigoPublisher* self) { + gchar* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), NULL); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "password", NULL); +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2699 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_persistent_password (PublishingPiwigoPiwigoPublisher* self, const gchar* password) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 203 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = password; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "password", _tmp1_); +#line 2714 "PiwigoPublishing.c" +} + + +gboolean publishing_piwigo_piwigo_publisher_get_remember_password (PublishingPiwigoPiwigoPublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), FALSE); +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "remember-password", FALSE); +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2732 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_remember_password (PublishingPiwigoPiwigoPublisher* self, gboolean remember_password) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = remember_password; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "remember-password", _tmp1_); +#line 2747 "PiwigoPublishing.c" +} + + +gint publishing_piwigo_piwigo_publisher_get_last_category (PublishingPiwigoPiwigoPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), 0); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-category", -1); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2765 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_last_category (PublishingPiwigoPiwigoPublisher* self, gint last_category) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = last_category; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-category", _tmp1_); +#line 2780 "PiwigoPublishing.c" +} + + +gint publishing_piwigo_piwigo_publisher_get_last_permission_level (PublishingPiwigoPiwigoPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), 0); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-permission-level", -1); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2798 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_last_permission_level (PublishingPiwigoPiwigoPublisher* self, gint last_permission_level) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = last_permission_level; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-permission-level", _tmp1_); +#line 2813 "PiwigoPublishing.c" +} + + +gint publishing_piwigo_piwigo_publisher_get_last_photo_size (PublishingPiwigoPiwigoPublisher* self) { + gint result = 0; + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), 0); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-photo-size", -1); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2831 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_last_photo_size (PublishingPiwigoPiwigoPublisher* self, gint last_photo_size) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = last_photo_size; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-photo-size", _tmp1_); +#line 2846 "PiwigoPublishing.c" +} + + +static gboolean publishing_piwigo_piwigo_publisher_get_last_title_as_comment (PublishingPiwigoPiwigoPublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), FALSE); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-title-as-comment", FALSE); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2864 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_last_title_as_comment (PublishingPiwigoPiwigoPublisher* self, gboolean title_as_comment) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = title_as_comment; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-title-as-comment", _tmp1_); +#line 2879 "PiwigoPublishing.c" +} + + +static gboolean publishing_piwigo_piwigo_publisher_get_last_no_upload_tags (PublishingPiwigoPiwigoPublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), FALSE); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-no-upload-tags", FALSE); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2897 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_last_no_upload_tags (PublishingPiwigoPiwigoPublisher* self, gboolean no_upload_tags) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = no_upload_tags; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "last-no-upload-tags", _tmp1_); +#line 2912 "PiwigoPublishing.c" +} + + +static gboolean publishing_piwigo_piwigo_publisher_get_metadata_removal_choice (PublishingPiwigoPiwigoPublisher* self) { + gboolean result = FALSE; + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), FALSE); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = spit_host_interface_get_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", FALSE); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 2930 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_set_metadata_removal_choice (PublishingPiwigoPiwigoPublisher* self, gboolean strip_metadata) { + SpitPublishingPluginHost* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = strip_metadata; +#line 260 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_host_interface_set_config_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "strip_metadata", _tmp1_); +#line 2945 "PiwigoPublishing.c" +} + + +/** + * Action that shows the authentication pane. + * + * This action method shows the authentication pane. It is shown at the + * very beginning of the interaction when no persistent parameters are found + * or after a failed login attempt using persisted parameters. It can be + * given a mode flag to specify whether it should be displayed in initial + * mode or in any of the error modes that it supports. + * + * @param mode the mode for the authentication pane + */ +static void _publishing_piwigo_piwigo_publisher_on_authentication_pane_login_clicked_publishing_piwigo_authentication_pane_login (PublishingPiwigoAuthenticationPane* _sender, const gchar* url, const gchar* user, const gchar* password, gboolean remember_password, gpointer self) { +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_authentication_pane_login_clicked ((PublishingPiwigoPiwigoPublisher*) self, url, user, password, remember_password); +#line 2963 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_do_show_authentication_pane (PublishingPiwigoPiwigoPublisher* self, PublishingPiwigoAuthenticationPaneMode mode) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingPiwigoAuthenticationPane* authentication_pane = NULL; + PublishingPiwigoAuthenticationPaneMode _tmp1_ = 0; + PublishingPiwigoAuthenticationPane* _tmp2_ = NULL; + SpitPublishingPluginHost* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + GtkWidget* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 277 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:277: ACTION: installing authentication pane"); +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = mode; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = publishing_piwigo_authentication_pane_new (self, _tmp1_); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + authentication_pane = _tmp2_; +#line 282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (authentication_pane, "login", (GCallback) _publishing_piwigo_piwigo_publisher_on_authentication_pane_login_clicked_publishing_piwigo_authentication_pane_login, self, 0); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->host; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (authentication_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->host; +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_piwigo_authentication_pane_get_default_widget (authentication_pane); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp5_; +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp4_, _tmp6_); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (_tmp6_); +#line 276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (authentication_pane); +#line 3008 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the login button in the authentication panel is + * clicked. + * + * This event is triggered when the login button in the authentication + * panel is clicked. It then triggers a network login interaction. + * + * @param url the URL of the Piwigo service as entered in the dialog + * @param username the name of the Piwigo user as entered in the dialog + * @param password the password of the Piwigo as entered in the dialog + */ +static void publishing_piwigo_piwigo_publisher_on_authentication_pane_login_clicked (PublishingPiwigoPiwigoPublisher* self, const gchar* url, const gchar* username, const gchar* password, gboolean remember_password) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (url != NULL); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (username != NULL); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (password != NULL); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:301: EVENT: on_authentication_pane_login_clicked"); +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->running; +#line 302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp0_) { +#line 303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3045 "PiwigoPublishing.c" + } +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = url; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = username; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = password; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = remember_password; +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_network_login (self, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 3057 "PiwigoPublishing.c" +} + + +/** + * Action to perform a network login to a Piwigo service. + * + * This action performs a network login a Piwigo service specified by a + * URL and using the given user name and password as credentials. + * + * @param url the URL of the Piwigo service; this URL will be normalised + * before being used + * @param username the name of the Piwigo user used to login + * @param password the password of the Piwigo user used to login + */ +static void _publishing_piwigo_piwigo_publisher_on_login_network_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_login_network_error ((PublishingPiwigoPiwigoPublisher*) self, _sender, err); +#line 3075 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_login_network_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_login_network_complete ((PublishingPiwigoPiwigoPublisher*) self, _sender); +#line 3082 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_do_network_login (PublishingPiwigoPiwigoPublisher* self, const gchar* url, const gchar* username, const gchar* password, gboolean remember_password) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + PublishingPiwigoSessionLoginTransaction* login_trans = NULL; + PublishingPiwigoSession* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + PublishingPiwigoSessionLoginTransaction* _tmp11_ = NULL; + PublishingPiwigoSessionLoginTransaction* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (url != NULL); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (username != NULL); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (password != NULL); +#line 320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:320: ACTION: logging in"); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->host; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_login_wait_pane (_tmp1_); +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = remember_password; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_remember_password (self, _tmp2_); +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = remember_password; +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp3_) { +#line 3127 "PiwigoPublishing.c" + const gchar* _tmp4_ = NULL; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = password; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_persistent_password (self, _tmp4_); +#line 3133 "PiwigoPublishing.c" + } else { +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_persistent_password (self, NULL); +#line 3137 "PiwigoPublishing.c" + } +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->session; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = url; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = publishing_piwigo_piwigo_publisher_normalise_url (_tmp6_); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = _tmp7_; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = username; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = password; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = publishing_piwigo_session_login_transaction_new (_tmp5_, _tmp8_, _tmp9_, _tmp10_); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = _tmp11_; +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp8_); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + login_trans = _tmp12_; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (login_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_piwigo_piwigo_publisher_on_login_network_error_publishing_rest_support_transaction_network_error, self, 0); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (login_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_piwigo_piwigo_publisher_on_login_network_complete_publishing_rest_support_transaction_completed, self, 0); +#line 3163 "PiwigoPublishing.c" + { +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (login_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3171 "PiwigoPublishing.c" + goto __catch32_spit_publishing_publishing_error; + } +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (login_trans); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3182 "PiwigoPublishing.c" + } + } + goto __finally32; + __catch32_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp13_ = NULL; +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 338 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:338: ERROR: do_network_login"); +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = err; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp13_); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 3202 "PiwigoPublishing.c" + } + __finally32: +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (login_trans); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3215 "PiwigoPublishing.c" + } +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (login_trans); +#line 3219 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_piwigo_publisher_normalise_url (const gchar* url) { + gchar* result = NULL; + gchar* norm_url = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = url; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + norm_url = _tmp1_; +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = norm_url; +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = g_str_has_suffix (_tmp2_, ".php"); +#line 346 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp3_) { +#line 3247 "PiwigoPublishing.c" + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = norm_url; +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_str_has_suffix (_tmp4_, "/"); +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp5_) { +#line 3258 "PiwigoPublishing.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = norm_url; +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = g_strconcat (_tmp6_, "/", NULL); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (norm_url); +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + norm_url = _tmp7_; +#line 3269 "PiwigoPublishing.c" + } +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = norm_url; +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = g_strconcat (_tmp8_, PUBLISHING_PIWIGO_PIWIGO_WS, NULL); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (norm_url); +#line 350 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + norm_url = _tmp9_; +#line 3279 "PiwigoPublishing.c" + } +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = norm_url; +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = g_str_has_prefix (_tmp11_, "http://"); +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp12_) { +#line 3287 "PiwigoPublishing.c" + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = norm_url; +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = g_str_has_prefix (_tmp13_, "https://"); +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = !_tmp14_; +#line 3296 "PiwigoPublishing.c" + } else { +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = FALSE; +#line 3300 "PiwigoPublishing.c" + } +#line 353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp10_) { +#line 3304 "PiwigoPublishing.c" + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = norm_url; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = g_strconcat ("http://", _tmp15_, NULL); +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (norm_url); +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + norm_url = _tmp16_; +#line 3315 "PiwigoPublishing.c" + } +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = norm_url; +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 3321 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the network login action is complete and successful. + * + * This event is triggered on successful completion of a network login. + * Calling this event implies that the URL, user name and password provided + * in the authentication pane are valid and that the transaction should + * contain a Set-Cookie header that includes the value pwg_id for that + * user. As a result, this event will also authenticate the session and + * persist all values so that they can be re-used during the next publishing + * interaction. + * + * @param txn the received REST transaction + */ +static gchar* _publishing_piwigo_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self) { + gchar* result; + result = publishing_piwigo_transaction_validate_xml (doc); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 3343 "PiwigoPublishing.c" +} + + +static gchar* _publishing_piwigo_transaction_get_error_code_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self) { + gchar* result; + result = publishing_piwigo_transaction_get_error_code (doc); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 3352 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_on_login_network_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gchar* endpoint_url = NULL; + PublishingRESTSupportTransaction* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* pwg_id = NULL; + PublishingRESTSupportTransaction* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + PublishingPiwigoSession* _tmp25_ = NULL; + PublishingPiwigoSession* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + GError * _inner_error_ = NULL; +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 374 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:374: EVENT: on_login_network_complete"); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = txn; +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_login_network_complete_publishing_rest_support_transaction_completed, self); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = txn; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_login_network_error_publishing_rest_support_transaction_network_error, self); +#line 3393 "PiwigoPublishing.c" + { + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingRESTSupportXmlDocument* _tmp7_ = NULL; + PublishingRESTSupportXmlDocument* _tmp8_ = NULL; +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = txn; +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp5_; +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = publishing_rest_support_xml_document_parse_string (_tmp6_, _publishing_piwigo_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = _tmp7_; +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_tmp8_); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp6_); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3418 "PiwigoPublishing.c" + goto __catch33_spit_publishing_publishing_error; + } +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3427 "PiwigoPublishing.c" + } + } + goto __finally33; + __catch33_spit_publishing_publishing_error: + { + GError* err = NULL; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 3438 "PiwigoPublishing.c" + { + PublishingRESTSupportTransaction* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + PublishingRESTSupportXmlDocument* _tmp13_ = NULL; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = txn; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = publishing_rest_support_transaction_get_response (_tmp9_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _tmp10_; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = publishing_rest_support_xml_document_parse_string (_tmp11_, _publishing_piwigo_transaction_get_error_code_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = _tmp12_; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (_tmp13_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp11_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3463 "PiwigoPublishing.c" + goto __catch34_spit_publishing_publishing_error; + } +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3474 "PiwigoPublishing.c" + } + } + goto __finally34; + __catch34_spit_publishing_publishing_error: + { + GError* code = NULL; + gint code_int = 0; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + code = _inner_error_; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = code; +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = _tmp14_->message; +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = atoi (_tmp15_); +#line 387 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + code_int = _tmp16_; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = code_int; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp17_ == 999) { +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:389: ERROR: on_login_network_complete, code 999"); +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_authentication_pane (self, PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER); +#line 3506 "PiwigoPublishing.c" + } else { + GError* _tmp18_ = NULL; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:392: ERROR: on_login_network_complete"); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = err; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp18_); +#line 3515 "PiwigoPublishing.c" + } +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (code); +#line 3519 "PiwigoPublishing.c" + } + __finally34: +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3534 "PiwigoPublishing.c" + } +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3540 "PiwigoPublishing.c" + } + __finally33: +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 378 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3551 "PiwigoPublishing.c" + } +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = txn; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = publishing_rest_support_transaction_get_endpoint_url (_tmp19_); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + endpoint_url = _tmp20_; +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = endpoint_url; +#line 400 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:400: Setting endpoint URL to %s", _tmp21_); +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = txn; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = publishing_piwigo_piwigo_publisher_get_pwg_id_from_transaction (self, _tmp22_); +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + pwg_id = _tmp23_; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = pwg_id; +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:402: Setting session pwg_id to %s", _tmp24_); +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = publishing_piwigo_session_new (); +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->session = _tmp25_; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = self->priv->session; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = pwg_id; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_session_set_pwg_id (_tmp26_, _tmp27_); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = endpoint_url; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = pwg_id; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_fetch_session_status (self, _tmp28_, _tmp29_); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 3595 "PiwigoPublishing.c" +} + + +/** + * Event triggered when a network login action fails due to a network error. + * + * This event triggered as a result of a network error during the login + * transaction. As a result, it assumes that the service URL entered in the + * authentication dialog is incorrect and re-presents the authentication + * dialog with FAILED_RETRY_URL mode. + * + * @param bad_txn the received REST transaction + * @param err the received error + */ +static void publishing_piwigo_piwigo_publisher_on_login_network_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingPiwigoSession* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:424: EVENT: on_login_network_error"); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = bad_txn; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_login_network_complete_publishing_rest_support_transaction_completed, self); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = bad_txn; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_login_network_error_publishing_rest_support_transaction_network_error, self); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->session; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp5_) { +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3643 "PiwigoPublishing.c" + } +#line 431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_authentication_pane (self, PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_URL); +#line 3647 "PiwigoPublishing.c" +} + + +/** + * Action to fetch the session status for a known Piwigo user. + * + * This action fetches the session status for a Piwigo user for whom the + * pwg_id is known. If triggered after a network login, it should just + * confirm that the session is OK. It can also be triggered as the first + * action of the interaction for users for who the pwg_id was previously + * persisted. In this case, it will log the user in and confirm the + * identity. + */ +static void _publishing_piwigo_piwigo_publisher_on_session_get_status_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_session_get_status_error ((PublishingPiwigoPiwigoPublisher*) self, _sender, err); +#line 3664 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_session_get_status_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_session_get_status_complete ((PublishingPiwigoPiwigoPublisher*) self, _sender); +#line 3671 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_do_fetch_session_status (PublishingPiwigoPiwigoPublisher* self, const gchar* url, const gchar* pwg_id) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingPiwigoSession* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GError * _inner_error_ = NULL; +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (url != NULL); +#line 444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (pwg_id != NULL); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:445: ACTION: fetching session status"); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->host; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->session; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp3_) { +#line 3703 "PiwigoPublishing.c" + PublishingPiwigoSessionGetStatusTransaction* status_txn = NULL; + PublishingPiwigoSession* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + PublishingPiwigoSessionGetStatusTransaction* _tmp7_ = NULL; + PublishingPiwigoSessionGetStatusTransaction* _tmp8_ = NULL; + PublishingPiwigoSessionGetStatusTransaction* _tmp9_ = NULL; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->session; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = url; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = pwg_id; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = publishing_piwigo_session_get_status_transaction_new_unauthenticated (_tmp4_, _tmp5_, _tmp6_); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + status_txn = _tmp7_; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = status_txn; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_error_publishing_rest_support_transaction_network_error, self, 0); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = status_txn; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_complete_publishing_rest_support_transaction_completed, self, 0); +#line 3729 "PiwigoPublishing.c" + { + PublishingPiwigoSessionGetStatusTransaction* _tmp10_ = NULL; +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = status_txn; +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3740 "PiwigoPublishing.c" + goto __catch35_spit_publishing_publishing_error; + } +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (status_txn); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3751 "PiwigoPublishing.c" + } + } + goto __finally35; + __catch35_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp11_ = NULL; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:457: ERROR: do_fetch_session_status, not authent" \ +"icated"); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = err; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp11_); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 3771 "PiwigoPublishing.c" + } + __finally35: +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (status_txn); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3784 "PiwigoPublishing.c" + } +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (status_txn); +#line 3788 "PiwigoPublishing.c" + } else { + PublishingPiwigoSessionGetStatusTransaction* status_txn = NULL; + PublishingPiwigoSession* _tmp12_ = NULL; + PublishingPiwigoSessionGetStatusTransaction* _tmp13_ = NULL; + PublishingPiwigoSessionGetStatusTransaction* _tmp14_ = NULL; + PublishingPiwigoSessionGetStatusTransaction* _tmp15_ = NULL; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = self->priv->session; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = publishing_piwigo_session_get_status_transaction_new (_tmp12_); +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + status_txn = _tmp13_; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = status_txn; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_error_publishing_rest_support_transaction_network_error, self, 0); +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = status_txn; +#line 463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_complete_publishing_rest_support_transaction_completed, self, 0); +#line 3809 "PiwigoPublishing.c" + { + PublishingPiwigoSessionGetStatusTransaction* _tmp16_ = NULL; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = status_txn; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3820 "PiwigoPublishing.c" + goto __catch36_spit_publishing_publishing_error; + } +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (status_txn); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3831 "PiwigoPublishing.c" + } + } + goto __finally36; + __catch36_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp17_ = NULL; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:468: ERROR: do_fetch_session_status, authenticat" \ +"ed"); +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = err; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp17_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 3851 "PiwigoPublishing.c" + } + __finally36: +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (status_txn); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3864 "PiwigoPublishing.c" + } +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (status_txn); +#line 3868 "PiwigoPublishing.c" + } +} + + +/** + * Event triggered when the get session status action completes successfully. + * + * This event being triggered confirms that the session is valid and can becyclonic enema + * used. If the session is not fully authenticated yet, this event finalises + * session authentication. It then triggers the fetch categories action. + */ +static void publishing_piwigo_piwigo_publisher_on_session_get_status_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingPiwigoSession* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GError * _inner_error_ = NULL; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:482: EVENT: on_session_get_status_complete"); +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = txn; +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 483 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_complete_publishing_rest_support_transaction_completed, self); +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = txn; +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_error_publishing_rest_support_transaction_network_error, self); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->session; +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp5_) { +#line 3912 "PiwigoPublishing.c" + gchar* endpoint_url = NULL; + PublishingRESTSupportTransaction* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* pwg_id = NULL; + PublishingPiwigoSession* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 487 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = txn; +#line 487 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = publishing_rest_support_transaction_get_endpoint_url (_tmp6_); +#line 487 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + endpoint_url = _tmp7_; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->session; +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = publishing_piwigo_session_get_pwg_id (_tmp8_); +#line 488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + pwg_id = _tmp9_; +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = pwg_id; +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:489: Fetching session status for pwg_id %s", _tmp10_); +#line 3936 "PiwigoPublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + PublishingRESTSupportXmlDocument* _tmp14_ = NULL; + PublishingRESTSupportXmlDocument* _tmp15_ = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp16_ = NULL; + xmlNode* _tmp17_ = NULL; + xmlNode* username_node = NULL; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = txn; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = publishing_rest_support_transaction_get_response (_tmp11_); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = _tmp12_; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = publishing_rest_support_xml_document_parse_string (_tmp13_, _publishing_piwigo_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = _tmp14_; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp13_); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + doc = _tmp15_; +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 3966 "PiwigoPublishing.c" + goto __catch37_spit_publishing_publishing_error; + } +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 3979 "PiwigoPublishing.c" + } +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = doc; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = publishing_rest_support_xml_document_get_root_node (_tmp16_); +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + root = _tmp17_; +#line 3987 "PiwigoPublishing.c" + { + xmlNode* _tmp18_ = NULL; + PublishingRESTSupportXmlDocument* _tmp19_ = NULL; + xmlNode* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + gchar* username = NULL; + xmlNode* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + PublishingPiwigoSession* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + PublishingPiwigoSession* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + PublishingPiwigoSession* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = doc; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = root; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = publishing_rest_support_xml_document_get_named_child (_tmp19_, _tmp20_, "username", &_inner_error_); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = _tmp21_; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4019 "PiwigoPublishing.c" + goto __catch38_spit_publishing_publishing_error; + } +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4034 "PiwigoPublishing.c" + } +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + username_node = _tmp18_; +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = username_node; +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = (gchar*) xmlNodeGetContent (_tmp22_); +#line 499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + username = _tmp23_; +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = username; +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:500: Returned username is %s", _tmp24_); +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = self->priv->session; +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = endpoint_url; +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = username; +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = pwg_id; +#line 501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_session_authenticate (_tmp25_, _tmp26_, _tmp27_, _tmp28_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = self->priv->session; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp30_ = publishing_piwigo_session_get_pwg_url (_tmp29_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp31_ = _tmp30_; +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_persistent_url (self, _tmp31_); +#line 502 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp31_); +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp32_ = self->priv->session; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp33_ = publishing_piwigo_session_get_username (_tmp32_); +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp34_ = _tmp33_; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_persistent_username (self, _tmp34_); +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp34_); +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_fetch_categories (self); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (username); +#line 4082 "PiwigoPublishing.c" + } + goto __finally38; + __catch38_spit_publishing_publishing_error: + { + GError* err2 = NULL; + GError* _tmp35_ = NULL; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err2 = _inner_error_; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:506: ERROR: on_session_get_status_complete, inne" \ +"r"); +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp35_ = err2; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp35_); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err2); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4109 "PiwigoPublishing.c" + } + __finally38: +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4118 "PiwigoPublishing.c" + goto __catch37_spit_publishing_publishing_error; + } +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4133 "PiwigoPublishing.c" + } +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 4137 "PiwigoPublishing.c" + } + goto __finally37; + __catch37_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp36_ = NULL; +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 511 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:511: ERROR: on_session_get_status_complete, oute" \ +"r"); +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp36_ = err; +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp36_); +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4162 "PiwigoPublishing.c" + } + __finally37: +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 491 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4177 "PiwigoPublishing.c" + } +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (endpoint_url); +#line 4183 "PiwigoPublishing.c" + } else { +#line 519 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_fetch_categories (self); +#line 4187 "PiwigoPublishing.c" + } +} + + +/** + * Event triggered when the get session status fails due to a network error. + */ +static void publishing_piwigo_piwigo_publisher_on_session_get_status_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 526 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 530 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:530: EVENT: on_session_get_status_error"); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = bad_txn; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_complete_publishing_rest_support_transaction_completed, self); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = bad_txn; +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_session_get_status_error_publishing_rest_support_transaction_network_error, self); +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = bad_txn; +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = err; +#line 533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_network_error (self, _tmp4_, _tmp5_); +#line 4226 "PiwigoPublishing.c" +} + + +/** + * Action that fetches all available categories from the Piwigo service. + * + * This action fetches all categories from the Piwigo service in order + * to populate the publishing pane presented to the user. + */ +static void _publishing_piwigo_piwigo_publisher_on_category_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_category_fetch_error ((PublishingPiwigoPiwigoPublisher*) self, _sender, err); +#line 4239 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_category_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_category_fetch_complete ((PublishingPiwigoPiwigoPublisher*) self, _sender); +#line 4246 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_do_fetch_categories (PublishingPiwigoPiwigoPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingPiwigoCategoriesGetListTransaction* cat_trans = NULL; + PublishingPiwigoSession* _tmp2_ = NULL; + PublishingPiwigoCategoriesGetListTransaction* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:543: ACTION: fetching categories"); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->host; +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_); +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->session; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_piwigo_categories_get_list_transaction_new (_tmp2_); +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cat_trans = _tmp3_; +#line 548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (cat_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_piwigo_piwigo_publisher_on_category_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (cat_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_piwigo_piwigo_publisher_on_category_fetch_complete_publishing_rest_support_transaction_completed, self, 0); +#line 4279 "PiwigoPublishing.c" + { +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (cat_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4287 "PiwigoPublishing.c" + goto __catch39_spit_publishing_publishing_error; + } +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (cat_trans); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4298 "PiwigoPublishing.c" + } + } + goto __finally39; + __catch39_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:554: ERROR: do_fetch_categories"); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = err; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp4_); +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 4318 "PiwigoPublishing.c" + } + __finally39: +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (cat_trans); +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4331 "PiwigoPublishing.c" + } +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (cat_trans); +#line 4335 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the fetch categories action completes successfully. + * + * This event retrieves all categories from the received transaction and + * populates the categories list. It then triggers the display of the + * publishing options pane. + */ +static void _vala_array_add34 (PublishingPiwigoCategory*** array, int* length, int* size, PublishingPiwigoCategory* value) { +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoCategory*, *array, (*size) + 1); +#line 4353 "PiwigoPublishing.c" + } +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 4359 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_on_category_fetch_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingPiwigoCategory** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GError * _inner_error_ = NULL; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:567: EVENT: on_category_fetch_complete"); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = txn; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = txn; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = txn; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp5_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:570: PiwigoConnector: list of categories: %s", _tmp6_); +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp6_); +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = self->priv->categories; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7__length1 = self->priv->categories_length1; +#line 572 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_ != NULL) { +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories = (_vala_array_free (self->priv->categories, self->priv->categories_length1, (GDestroyNotify) publishing_piwigo_category_unref), NULL); +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories = NULL; +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories_length1 = 0; +#line 573 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->_categories_size_ = self->priv->categories_length1; +#line 4416 "PiwigoPublishing.c" + } + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + PublishingRESTSupportXmlDocument* _tmp11_ = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp13_ = NULL; + xmlNode* _tmp14_ = NULL; + xmlNode* categories_node = NULL; + xmlNode* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + xmlNode* category_node_iter = NULL; + xmlNode* _tmp17_ = NULL; + xmlNode* _tmp18_ = NULL; + xmlNode* name_node = NULL; + xmlNode* uppercats_node = NULL; + gchar* name = NULL; + gchar* _tmp19_ = NULL; + gchar* id_string = NULL; + gchar* _tmp20_ = NULL; + gchar* uppercats = NULL; + gchar* _tmp21_ = NULL; +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = txn; +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = publishing_rest_support_transaction_get_response (_tmp8_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = _tmp9_; +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = publishing_rest_support_xml_document_parse_string (_tmp10_, _publishing_piwigo_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = _tmp11_; +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp10_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + doc = _tmp12_; +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4460 "PiwigoPublishing.c" + goto __catch40_spit_publishing_publishing_error; + } +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 577 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4469 "PiwigoPublishing.c" + } +#line 580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = doc; +#line 580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = publishing_rest_support_xml_document_get_root_node (_tmp13_); +#line 580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + root = _tmp14_; +#line 581 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = root; +#line 581 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = xmlFirstElementChild (_tmp15_); +#line 581 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + categories_node = _tmp16_; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = categories_node; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = _tmp17_->children; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + category_node_iter = _tmp18_; +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = g_strdup (""); +#line 585 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + name = _tmp19_; +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = g_strdup (""); +#line 586 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + id_string = _tmp20_; +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = g_strdup (""); +#line 587 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + uppercats = _tmp21_; +#line 4501 "PiwigoPublishing.c" + { + gboolean _tmp22_ = FALSE; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = TRUE; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + while (TRUE) { +#line 4508 "PiwigoPublishing.c" + xmlNode* _tmp25_ = NULL; + xmlNode* _tmp26_ = NULL; + PublishingRESTSupportXmlDocument* _tmp27_ = NULL; + xmlNode* _tmp28_ = NULL; + xmlNode* _tmp29_ = NULL; + xmlNode* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + xmlNode* _tmp32_ = NULL; + PublishingRESTSupportXmlDocument* _tmp33_ = NULL; + xmlNode* _tmp34_ = NULL; + xmlNode* _tmp35_ = NULL; + xmlNode* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + xmlNode* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + PublishingPiwigoCategory** _tmp40_ = NULL; + gint _tmp40__length1 = 0; + PublishingPiwigoCategory** _tmp42_ = NULL; + gint _tmp42__length1 = 0; + const gchar* _tmp43_ = NULL; + gint _tmp44_ = 0; + const gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + PublishingPiwigoCategory* _tmp47_ = NULL; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp22_) { +#line 4535 "PiwigoPublishing.c" + xmlNode* _tmp23_ = NULL; + xmlNode* _tmp24_ = NULL; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = category_node_iter; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = _tmp23_->next; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + category_node_iter = _tmp24_; +#line 4544 "PiwigoPublishing.c" + } +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = FALSE; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = category_node_iter; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!(_tmp25_ != NULL)) { +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 4554 "PiwigoPublishing.c" + } +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = doc; +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = category_node_iter; +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = publishing_rest_support_xml_document_get_named_child (_tmp27_, _tmp28_, "name", &_inner_error_); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = _tmp29_; +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (uppercats); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (id_string); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4576 "PiwigoPublishing.c" + goto __catch40_spit_publishing_publishing_error; + } +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (uppercats); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (id_string); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4593 "PiwigoPublishing.c" + } +#line 589 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + name_node = _tmp26_; +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp30_ = name_node; +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp31_ = (gchar*) xmlNodeGetContent (_tmp30_); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 590 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + name = _tmp31_; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp33_ = doc; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp34_ = category_node_iter; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp35_ = publishing_rest_support_xml_document_get_named_child (_tmp33_, _tmp34_, "uppercats", &_inner_error_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp32_ = _tmp35_; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (uppercats); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (id_string); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 4625 "PiwigoPublishing.c" + goto __catch40_spit_publishing_publishing_error; + } +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (uppercats); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (id_string); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4642 "PiwigoPublishing.c" + } +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + uppercats_node = _tmp32_; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp36_ = uppercats_node; +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp37_ = (gchar*) xmlNodeGetContent (_tmp36_); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (uppercats); +#line 592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + uppercats = (gchar*) _tmp37_; +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp38_ = category_node_iter; +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp39_ = (gchar*) xmlGetProp (_tmp38_, (xmlChar*) "id"); +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (id_string); +#line 593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + id_string = _tmp39_; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp40_ = self->priv->categories; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp40__length1 = self->priv->categories_length1; +#line 594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp40_ == NULL) { +#line 4668 "PiwigoPublishing.c" + PublishingPiwigoCategory** _tmp41_ = NULL; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp41_ = g_new0 (PublishingPiwigoCategory*, 0 + 1); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories = (_vala_array_free (self->priv->categories, self->priv->categories_length1, (GDestroyNotify) publishing_piwigo_category_unref), NULL); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories = _tmp41_; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories_length1 = 0; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->_categories_size_ = self->priv->categories_length1; +#line 4680 "PiwigoPublishing.c" + } +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp42_ = self->priv->categories; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp42__length1 = self->priv->categories_length1; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp43_ = id_string; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp44_ = atoi (_tmp43_); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp45_ = name; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp46_ = uppercats; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp47_ = publishing_piwigo_category_new (_tmp44_, _tmp45_, _tmp46_, ""); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add34 (&self->priv->categories, &self->priv->categories_length1, &self->priv->_categories_size_, _tmp47_); +#line 4698 "PiwigoPublishing.c" + } + } + { + gint i = 0; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = 0; +#line 4705 "PiwigoPublishing.c" + { + gboolean _tmp48_ = FALSE; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp48_ = TRUE; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + while (TRUE) { +#line 4712 "PiwigoPublishing.c" + gint _tmp50_ = 0; + PublishingPiwigoCategory** _tmp51_ = NULL; + gint _tmp51__length1 = 0; + gchar** upcatids = NULL; + PublishingPiwigoCategory** _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + PublishingPiwigoCategory* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + gchar** _tmp56_ = NULL; + gchar** _tmp57_ = NULL; + gint upcatids_length1 = 0; + gint _upcatids_size_ = 0; + GString* builder = NULL; + GString* _tmp58_ = NULL; + PublishingPiwigoCategory** _tmp84_ = NULL; + gint _tmp84__length1 = 0; + gint _tmp85_ = 0; + PublishingPiwigoCategory* _tmp86_ = NULL; + GString* _tmp87_ = NULL; + const gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp48_) { +#line 4737 "PiwigoPublishing.c" + gint _tmp49_ = 0; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp49_ = i; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = _tmp49_ + 1; +#line 4743 "PiwigoPublishing.c" + } +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp48_ = FALSE; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp50_ = i; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp51_ = self->priv->categories; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp51__length1 = self->priv->categories_length1; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!(_tmp50_ < _tmp51__length1)) { +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 4757 "PiwigoPublishing.c" + } +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp52_ = self->priv->categories; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp52__length1 = self->priv->categories_length1; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp53_ = i; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp54_ = _tmp52_[_tmp53_]; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp55_ = _tmp54_->uppercats; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp57_ = _tmp56_ = g_strsplit (_tmp55_, ",", 0); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + upcatids = _tmp57_; +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + upcatids_length1 = _vala_array_length (_tmp56_); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _upcatids_size_ = upcatids_length1; +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp58_ = g_string_new (""); +#line 607 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + builder = _tmp58_; +#line 4781 "PiwigoPublishing.c" + { + gint j = 0; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + j = 0; +#line 4786 "PiwigoPublishing.c" + { + gboolean _tmp59_ = FALSE; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp59_ = TRUE; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + while (TRUE) { +#line 4793 "PiwigoPublishing.c" + gint _tmp61_ = 0; + gchar** _tmp62_ = NULL; + gint _tmp62__length1 = 0; + GString* _tmp63_ = NULL; + GString* _tmp83_ = NULL; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp59_) { +#line 4801 "PiwigoPublishing.c" + gint _tmp60_ = 0; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp60_ = j; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + j = _tmp60_ + 1; +#line 4807 "PiwigoPublishing.c" + } +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp59_ = FALSE; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp61_ = j; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp62_ = upcatids; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp62__length1 = upcatids_length1; +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!(_tmp61_ < _tmp62__length1)) { +#line 608 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 4821 "PiwigoPublishing.c" + } +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp63_ = builder; +#line 609 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_string_append (_tmp63_, "/ "); +#line 4827 "PiwigoPublishing.c" + { + gint k = 0; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + k = 0; +#line 4832 "PiwigoPublishing.c" + { + gboolean _tmp64_ = FALSE; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp64_ = TRUE; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + while (TRUE) { +#line 4839 "PiwigoPublishing.c" + gint _tmp66_ = 0; + PublishingPiwigoCategory** _tmp67_ = NULL; + gint _tmp67__length1 = 0; + gchar** _tmp68_ = NULL; + gint _tmp68__length1 = 0; + gint _tmp69_ = 0; + const gchar* _tmp70_ = NULL; + PublishingPiwigoCategory** _tmp71_ = NULL; + gint _tmp71__length1 = 0; + gint _tmp72_ = 0; + PublishingPiwigoCategory* _tmp73_ = NULL; + gint _tmp74_ = 0; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp64_) { +#line 4857 "PiwigoPublishing.c" + gint _tmp65_ = 0; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp65_ = k; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + k = _tmp65_ + 1; +#line 4863 "PiwigoPublishing.c" + } +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp64_ = FALSE; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp66_ = k; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp67_ = self->priv->categories; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp67__length1 = self->priv->categories_length1; +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!(_tmp66_ < _tmp67__length1)) { +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 4877 "PiwigoPublishing.c" + } +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp68_ = upcatids; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp68__length1 = upcatids_length1; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp69_ = j; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp70_ = _tmp68_[_tmp69_]; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp71_ = self->priv->categories; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp71__length1 = self->priv->categories_length1; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp72_ = k; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp73_ = _tmp71_[_tmp72_]; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp74_ = _tmp73_->id; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp75_ = g_strdup_printf ("%i", _tmp74_); +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp76_ = _tmp75_; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp77_ = g_strcmp0 (_tmp70_, _tmp76_) == 0; +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp76_); +#line 612 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp77_) { +#line 4907 "PiwigoPublishing.c" + GString* _tmp78_ = NULL; + PublishingPiwigoCategory** _tmp79_ = NULL; + gint _tmp79__length1 = 0; + gint _tmp80_ = 0; + PublishingPiwigoCategory* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp78_ = builder; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp79_ = self->priv->categories; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp79__length1 = self->priv->categories_length1; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp80_ = k; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp81_ = _tmp79_[_tmp80_]; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp82_ = _tmp81_->name; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_string_append (_tmp78_, _tmp82_); +#line 614 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 4930 "PiwigoPublishing.c" + } + } + } + } +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp83_ = builder; +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_string_append (_tmp83_, " "); +#line 4939 "PiwigoPublishing.c" + } + } + } +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp84_ = self->priv->categories; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp84__length1 = self->priv->categories_length1; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp85_ = i; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp86_ = _tmp84_[_tmp85_]; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp87_ = builder; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp88_ = _tmp87_->str; +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp89_ = g_strdup (_tmp88_); +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp86_->display_name); +#line 619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp86_->display_name = _tmp89_; +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_string_free0 (builder); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + upcatids = (_vala_array_free (upcatids, upcatids_length1, (GDestroyNotify) g_free), NULL); +#line 4965 "PiwigoPublishing.c" + } + } + } +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (uppercats); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (id_string); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 4977 "PiwigoPublishing.c" + } + goto __finally40; + __catch40_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp90_ = NULL; +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:622: ERROR: on_category_fetch_complete"); +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp90_ = err; +#line 623 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp90_); +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 624 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 4998 "PiwigoPublishing.c" + } + __finally40: +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 576 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5009 "PiwigoPublishing.c" + } +#line 627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_publishing_options_pane (self); +#line 5013 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the fetch categories transaction fails due to a + * network error. + */ +static void publishing_piwigo_piwigo_publisher_on_category_fetch_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:638: EVENT: on_category_fetch_error"); +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = bad_txn; +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 639 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = bad_txn; +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 640 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 641 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = bad_txn; +#line 641 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = err; +#line 641 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_network_error (self, _tmp4_, _tmp5_); +#line 5052 "PiwigoPublishing.c" +} + + +/** + * Action that shows the publishing options pane. + * + * This action method shows the publishing options pane. + */ +static void _publishing_piwigo_piwigo_publisher_on_publishing_options_pane_logout_clicked_publishing_piwigo_publishing_options_pane_logout (PublishingPiwigoPublishingOptionsPane* _sender, gpointer self) { +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_publishing_options_pane_logout_clicked ((PublishingPiwigoPiwigoPublisher*) self); +#line 5064 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_publishing_options_pane_publish_clicked_publishing_piwigo_publishing_options_pane_publish (PublishingPiwigoPublishingOptionsPane* _sender, PublishingPiwigoPublishingParameters* parameters, gboolean strip_metadata, gpointer self) { +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_publishing_options_pane_publish_clicked ((PublishingPiwigoPiwigoPublisher*) self, parameters, strip_metadata); +#line 5071 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_do_show_publishing_options_pane (PublishingPiwigoPiwigoPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingPiwigoPublishingOptionsPane* opts_pane = NULL; + PublishingPiwigoCategory** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + PublishingPiwigoPublishingOptionsPane* _tmp8_ = NULL; + SpitPublishingPluginHost* _tmp9_ = NULL; + SpitPublishingPluginHost* _tmp10_ = NULL; + GtkWidget* _tmp11_ = NULL; + GtkWidget* _tmp12_ = NULL; +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 650 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:650: ACTION: installing publishing options pane"); +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 652 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->categories; +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1__length1 = self->priv->categories_length1; +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = publishing_piwigo_piwigo_publisher_get_last_category (self); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_piwigo_piwigo_publisher_get_last_permission_level (self); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = publishing_piwigo_piwigo_publisher_get_last_photo_size (self); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_piwigo_piwigo_publisher_get_last_title_as_comment (self); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = publishing_piwigo_piwigo_publisher_get_last_no_upload_tags (self); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = publishing_piwigo_piwigo_publisher_get_metadata_removal_choice (self); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = publishing_piwigo_publishing_options_pane_new (self, _tmp1_, _tmp1__length1, _tmp2_, _tmp3_, _tmp4_, _tmp5_, _tmp6_, _tmp7_); +#line 653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + opts_pane = _tmp8_; +#line 656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (opts_pane, "logout", (GCallback) _publishing_piwigo_piwigo_publisher_on_publishing_options_pane_logout_clicked_publishing_piwigo_publishing_options_pane_logout, self, 0); +#line 657 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (opts_pane, "publish", (GCallback) _publishing_piwigo_piwigo_publisher_on_publishing_options_pane_publish_clicked_publishing_piwigo_publishing_options_pane_publish, self, 0); +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = self->priv->host; +#line 658 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (opts_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = self->priv->host; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = publishing_piwigo_publishing_options_pane_get_default_widget (opts_pane); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = _tmp11_; +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp10_, _tmp12_); +#line 659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (_tmp12_); +#line 649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (opts_pane); +#line 5139 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the user clicks logout in the publishing options pane. + */ +static void _publishing_piwigo_piwigo_publisher_on_logout_network_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_logout_network_error ((PublishingPiwigoPiwigoPublisher*) self, _sender, err); +#line 5149 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_logout_network_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_logout_network_complete ((PublishingPiwigoPiwigoPublisher*) self, _sender); +#line 5156 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_on_publishing_options_pane_logout_clicked (PublishingPiwigoPiwigoPublisher* self) { + PublishingPiwigoSessionLogoutTransaction* logout_trans = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + PublishingPiwigoSessionLogoutTransaction* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 665 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:666: EVENT: on_publishing_options_pane_logout_cl" \ +"icked"); +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->session; +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishing_piwigo_session_logout_transaction_new (_tmp0_); +#line 667 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + logout_trans = _tmp1_; +#line 668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (logout_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_piwigo_piwigo_publisher_on_logout_network_error_publishing_rest_support_transaction_network_error, self, 0); +#line 669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (logout_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_piwigo_piwigo_publisher_on_logout_network_complete_publishing_rest_support_transaction_completed, self, 0); +#line 5179 "PiwigoPublishing.c" + { +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (logout_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5187 "PiwigoPublishing.c" + goto __catch41_spit_publishing_publishing_error; + } +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (logout_trans); +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 672 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5198 "PiwigoPublishing.c" + } + } + goto __finally41; + __catch41_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:674: ERROR: on_publishing_options_pane_logout_cl" \ +"icked"); +#line 675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = err; +#line 675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp2_); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 5218 "PiwigoPublishing.c" + } + __finally41: +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (logout_trans); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 671 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5231 "PiwigoPublishing.c" + } +#line 665 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (logout_trans); +#line 5235 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the logout action completes successfully. + * + * This event de-authenticates the session and shows the authentication + * pane again. + */ +static void publishing_piwigo_piwigo_publisher_on_logout_network_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingPiwigoSession* _tmp4_ = NULL; +#line 685 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 685 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 686 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:686: EVENT: on_logout_network_complete"); +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = txn; +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 687 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_logout_network_complete_publishing_rest_support_transaction_completed, self); +#line 688 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = txn; +#line 688 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 688 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_logout_network_error_publishing_rest_support_transaction_network_error, self); +#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->session; +#line 690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_session_deauthenticate (_tmp4_); +#line 692 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_authentication_pane (self, PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_INTRO); +#line 5275 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the logout action fails due to a network error. + */ +static void publishing_piwigo_piwigo_publisher_on_logout_network_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 698 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 702 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:702: EVENT: on_logout_network_error"); +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = bad_txn; +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_logout_network_complete_publishing_rest_support_transaction_completed, self); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = bad_txn; +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 704 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_logout_network_error_publishing_rest_support_transaction_network_error, self); +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = bad_txn; +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = err; +#line 705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_network_error (self, _tmp4_, _tmp5_); +#line 5313 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the user clicks publish in the publishing options pane. + * + * This event first saves the parameters so that they can re-used later. + * If the publishing parameters indicate that the user wants to create a new + * category, the create category action is called. Otherwise, the upload + * action is called. + * + * @param parameters the publishing parameters + */ +static gpointer _publishing_piwigo_publishing_parameters_ref0 (gpointer self) { +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self ? publishing_piwigo_publishing_parameters_ref (self) : NULL; +#line 5330 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_on_publishing_options_pane_publish_clicked (PublishingPiwigoPiwigoPublisher* self, PublishingPiwigoPublishingParameters* parameters, gboolean strip_metadata) { + PublishingPiwigoPublishingParameters* _tmp0_ = NULL; + PublishingPiwigoPublishingParameters* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + PublishingPiwigoPublishingParameters* _tmp3_ = NULL; + PublishingPiwigoCategory* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 718 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_PARAMETERS (parameters)); +#line 720 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:720: EVENT: on_publishing_options_pane_publish_c" \ +"licked"); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = parameters; +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _publishing_piwigo_publishing_parameters_ref0 (_tmp0_); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_publishing_parameters_unref0 (self->priv->parameters); +#line 721 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->parameters = _tmp1_; +#line 722 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = strip_metadata; +#line 722 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->strip_metadata = _tmp2_; +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = parameters; +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_->category; +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_piwigo_category_is_local (_tmp4_); +#line 724 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp5_) { +#line 5367 "PiwigoPublishing.c" + PublishingPiwigoPublishingParameters* _tmp6_ = NULL; + PublishingPiwigoCategory* _tmp7_ = NULL; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = parameters; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp6_->category; +#line 725 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_create_category (self, _tmp7_); +#line 5376 "PiwigoPublishing.c" + } else { + gboolean _tmp8_ = FALSE; +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->strip_metadata; +#line 727 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_upload (self, _tmp8_); +#line 5383 "PiwigoPublishing.c" + } +} + + +/** + * Action that creates a new category in the Piwigo library. + * + * This actions runs a REST transaction to create a new category in the + * Piwigo library. It displays a wait pane with an information message + * while the transaction is running. This action should only be called with + * a local cateogory, i.e. one that does not exist on the server and does + * not yet have an ID. + * + * @param category the new category to create on the server + */ +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 5418 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_category_add_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_category_add_error ((PublishingPiwigoPiwigoPublisher*) self, _sender, err); +#line 5425 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_category_add_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_category_add_complete ((PublishingPiwigoPiwigoPublisher*) self, _sender); +#line 5432 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_do_create_category (PublishingPiwigoPiwigoPublisher* self, PublishingPiwigoCategory* category) { + PublishingPiwigoCategory* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingPiwigoCategory* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + SpitPublishingPluginHost* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + PublishingPiwigoCategory* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PublishingPiwigoCategoriesAddTransaction* creation_trans = NULL; + PublishingPiwigoSession* _tmp13_ = NULL; + PublishingPiwigoCategory* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + PublishingPiwigoCategory* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; + PublishingPiwigoCategory* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + PublishingPiwigoCategoriesAddTransaction* _tmp23_ = NULL; + PublishingPiwigoCategoriesAddTransaction* _tmp24_ = NULL; + GError * _inner_error_ = NULL; +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_CATEGORY (category)); +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = category; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _tmp0_->name; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = g_strdup_printf ("ACTION: creating a new category: %s", _tmp1_); +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = _tmp2_; +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:743: %s", _tmp3_); +#line 743 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp3_); +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = category; +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_piwigo_category_is_local (_tmp4_); +#line 744 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_assert (_tmp5_, "category.is_local()"); +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = self->priv->host; +#line 746 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp6_, TRUE); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = self->priv->host; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = _ ("Creating album %s..."); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = category; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = _tmp9_->name; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = g_strdup_printf (_tmp8_, _tmp10_); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = _tmp11_; +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp7_, _tmp12_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 747 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp12_); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = self->priv->session; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = category; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = _tmp14_->name; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = string_strip (_tmp15_); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = _tmp16_; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = category; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = _tmp18_->uppercats; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = atoi (_tmp19_); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = category; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = _tmp21_->comment; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = publishing_piwigo_categories_add_transaction_new (_tmp13_, _tmp17_, _tmp20_, _tmp22_); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = _tmp23_; +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp17_); +#line 749 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + creation_trans = _tmp24_; +#line 751 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (creation_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_piwigo_piwigo_publisher_on_category_add_error_publishing_rest_support_transaction_network_error, self, 0); +#line 752 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (creation_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_piwigo_piwigo_publisher_on_category_add_complete_publishing_rest_support_transaction_completed, self, 0); +#line 5538 "PiwigoPublishing.c" + { +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (creation_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5546 "PiwigoPublishing.c" + goto __catch42_spit_publishing_publishing_error; + } +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (creation_trans); +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 755 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5557 "PiwigoPublishing.c" + } + } + goto __finally42; + __catch42_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp25_ = NULL; +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 757 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:757: ERROR: do_create_category"); +#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = err; +#line 758 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp25_); +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 5577 "PiwigoPublishing.c" + } + __finally42: +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (creation_trans); +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 754 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5590 "PiwigoPublishing.c" + } +#line 742 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_transaction_unref0 (creation_trans); +#line 5594 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the add category action completes successfully. + * + * This event parses the ID assigned to new category out of the received + * transaction and assigns that ID to the category currently held in + * the publishing parameters. It then calls the upload action. + */ +static void publishing_piwigo_piwigo_publisher_on_category_add_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError * _inner_error_ = NULL; +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 769 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 770 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:770: EVENT: on_category_add_complete"); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = txn; +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 771 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_add_complete_publishing_rest_support_transaction_completed, self); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = txn; +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 772 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_add_error_publishing_rest_support_transaction_network_error, self); +#line 5629 "PiwigoPublishing.c" + { + PublishingRESTSupportXmlDocument* doc = NULL; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + PublishingRESTSupportXmlDocument* _tmp7_ = NULL; + PublishingRESTSupportXmlDocument* _tmp8_ = NULL; + xmlNode* rsp = NULL; + PublishingRESTSupportXmlDocument* _tmp9_ = NULL; + xmlNode* _tmp10_ = NULL; + xmlNode* id_node = NULL; + xmlNode* _tmp11_ = NULL; + PublishingRESTSupportXmlDocument* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + xmlNode* _tmp14_ = NULL; + gchar* id_string = NULL; + xmlNode* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gint id = 0; + const gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + PublishingPiwigoPublishingParameters* _tmp19_ = NULL; + PublishingPiwigoCategory* _tmp20_ = NULL; + gint _tmp21_ = 0; + gboolean _tmp22_ = FALSE; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = txn; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp5_; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = publishing_rest_support_xml_document_parse_string (_tmp6_, _publishing_piwigo_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = _tmp7_; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp6_); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + doc = _tmp8_; +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5673 "PiwigoPublishing.c" + goto __catch43_spit_publishing_publishing_error; + } +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 776 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5682 "PiwigoPublishing.c" + } +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = doc; +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_get_root_node (_tmp9_); +#line 779 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + rsp = _tmp10_; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = doc; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = rsp; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = publishing_rest_support_xml_document_get_named_child (_tmp12_, _tmp13_, "id", &_inner_error_); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _tmp14_; +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 5704 "PiwigoPublishing.c" + goto __catch43_spit_publishing_publishing_error; + } +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5715 "PiwigoPublishing.c" + } +#line 781 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + id_node = _tmp11_; +#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = id_node; +#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = (gchar*) xmlNodeGetContent (_tmp15_); +#line 782 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + id_string = _tmp16_; +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = id_string; +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = atoi (_tmp17_); +#line 783 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + id = _tmp18_; +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = self->priv->parameters; +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = _tmp19_->category; +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = id; +#line 784 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_->id = _tmp21_; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = self->priv->strip_metadata; +#line 785 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_upload (self, _tmp22_); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (id_string); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_xml_document_unref0 (doc); +#line 5747 "PiwigoPublishing.c" + } + goto __finally43; + __catch43_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp23_ = NULL; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 787 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:787: ERROR: on_category_add_complete"); +#line 788 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = err; +#line 788 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp23_); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 5766 "PiwigoPublishing.c" + } + __finally43: +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 775 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 5777 "PiwigoPublishing.c" + } +} + + +/** + * Event triggered when the add category action fails due to a network error. + */ +static void publishing_piwigo_piwigo_publisher_on_category_add_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 795 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 795 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 799 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:799: EVENT: on_category_add_error"); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = bad_txn; +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 800 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_add_complete_publishing_rest_support_transaction_completed, self); +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = bad_txn; +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 801 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_category_add_error_publishing_rest_support_transaction_network_error, self); +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = bad_txn; +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = err; +#line 802 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_network_error (self, _tmp4_, _tmp5_); +#line 5816 "PiwigoPublishing.c" +} + + +/** + * Upload action: the big one, the one we've been waiting for! + */ +static void _publishing_piwigo_piwigo_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_upload_complete ((PublishingPiwigoPiwigoPublisher*) self, _sender, num_photos_published); +#line 5826 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_upload_error ((PublishingPiwigoPiwigoPublisher*) self, _sender, err); +#line 5833 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_piwigo_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 827 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_on_upload_status_updated ((PublishingPiwigoPiwigoPublisher*) self, file_number, fraction_complete); +#line 5840 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_do_upload (PublishingPiwigoPiwigoPublisher* self, gboolean strip_metadata) { + gboolean _tmp0_ = FALSE; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingPiwigoPublishingParameters* _tmp2_ = NULL; + PublishingPiwigoCategory* _tmp3_ = NULL; + gint _tmp4_ = 0; + PublishingPiwigoPublishingParameters* _tmp5_ = NULL; + PublishingPiwigoPermissionLevel* _tmp6_ = NULL; + gint _tmp7_ = 0; + PublishingPiwigoPublishingParameters* _tmp8_ = NULL; + PublishingPiwigoSizeEntry* _tmp9_ = NULL; + gint _tmp10_ = 0; + PublishingPiwigoPublishingParameters* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + PublishingPiwigoPublishingParameters* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + SpitPublishingPluginHost* _tmp16_ = NULL; + PublishingPiwigoPublishingParameters* _tmp17_ = NULL; + PublishingPiwigoSizeEntry* _tmp18_ = NULL; + gint _tmp19_ = 0; + gboolean _tmp20_ = FALSE; + void* _tmp21_ = NULL; + GDestroyNotify _tmp22_ = NULL; + SpitPublishingProgressCallback _tmp23_ = NULL; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp24_ = NULL; + gint _tmp25_ = 0; + SpitPublishingPublishable** _tmp26_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + PublishingPiwigoUploader* uploader = NULL; + PublishingPiwigoSession* _tmp27_ = NULL; + PublishingPiwigoPublishingParameters* _tmp28_ = NULL; + PublishingPiwigoUploader* _tmp29_ = NULL; +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = strip_metadata; +#line 809 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->strip_metadata = _tmp0_; +#line 810 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:810: ACTION: uploading pictures"); +#line 812 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->host; +#line 812 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, TRUE); +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->parameters; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = _tmp2_->category; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_->id; +#line 814 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_last_category (self, _tmp4_); +#line 815 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->parameters; +#line 815 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp5_->perm_level; +#line 815 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp6_->id; +#line 815 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_last_permission_level (self, _tmp7_); +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->parameters; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = _tmp8_->photo_size; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = _tmp9_->id; +#line 816 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_last_photo_size (self, _tmp10_); +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = self->priv->parameters; +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = _tmp11_->title_as_comment; +#line 817 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_last_title_as_comment (self, _tmp12_); +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = self->priv->parameters; +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = _tmp13_->no_upload_tags; +#line 818 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_last_no_upload_tags (self, _tmp14_); +#line 819 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = strip_metadata; +#line 819 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_set_metadata_removal_choice (self, _tmp15_); +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = self->priv->host; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = self->priv->parameters; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = _tmp17_->photo_size; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = _tmp18_->id; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = self->priv->strip_metadata; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = spit_publishing_plugin_host_serialize_publishables (_tmp16_, _tmp19_, _tmp20_, &_tmp21_, &_tmp22_); +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter = NULL; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter = _tmp23_; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter_target = _tmp21_; +#line 821 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp22_; +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = self->priv->host; +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = spit_publishing_plugin_host_get_publishables (_tmp24_, &_tmp25_); +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishables = _tmp26_; +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishables_length1 = _tmp25_; +#line 822 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishables_size_ = publishables_length1; +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = self->priv->session; +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = self->priv->parameters; +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = publishing_piwigo_uploader_new (_tmp27_, publishables, publishables_length1, _tmp28_); +#line 824 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + uploader = _tmp29_; +#line 825 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_piwigo_piwigo_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 826 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_piwigo_piwigo_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 827 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (uploader, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_piwigo_piwigo_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 808 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 5985 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the batch uploader reports that at least one of the + * network transactions encapsulating uploads has completed successfully + */ +static void publishing_piwigo_piwigo_publisher_on_upload_complete (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 834 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 835 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:835: EVENT: on_upload_complete"); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = uploader; +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 836 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = uploader; +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 837 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 841 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_success_pane (self); +#line 6018 "PiwigoPublishing.c" +} + + +/** + * Event triggered when the batch uploader reports that at least one of the + * network transactions encapsulating uploads has caused a network error + */ +static void publishing_piwigo_piwigo_publisher_on_upload_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GError* _tmp4_ = NULL; +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 848 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 852 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:852: EVENT: on_upload_error"); +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = uploader; +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 853 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = uploader; +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 854 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_piwigo_piwigo_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = err; +#line 856 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp4_); +#line 6054 "PiwigoPublishing.c" +} + + +/** + * Event triggered when upload progresses and the status needs to be updated. + */ +static void publishing_piwigo_piwigo_publisher_on_upload_status_updated (PublishingPiwigoPiwigoPublisher* self, gint file_number, gdouble completed_fraction) { + gboolean _tmp0_ = FALSE; + gdouble _tmp1_ = 0.0; + SpitPublishingProgressCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 862 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = spit_publishing_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)); +#line 863 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp0_) { +#line 864 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 6078 "PiwigoPublishing.c" + } +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = completed_fraction; +#line 866 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:866: EVENT: uploader reports upload %.2f percent" \ +" complete.", 100.0 * _tmp1_); +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->progress_reporter; +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2__target = self->priv->progress_reporter_target; +#line 868 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_assert (_tmp2_ != NULL, "progress_reporter != null"); +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->progress_reporter; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = file_number; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = completed_fraction; +#line 870 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 6100 "PiwigoPublishing.c" +} + + +/** + * Action to display the success pane in the publishing dialog. + */ +static void publishing_piwigo_piwigo_publisher_do_show_success_pane (PublishingPiwigoPiwigoPublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 876 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 877 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:877: ACTION: installing success pane"); +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 879 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 880 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->host; +#line 880 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp1_); +#line 6122 "PiwigoPublishing.c" +} + + +/** + * Helper event to handle network errors. + */ +static void publishing_piwigo_piwigo_publisher_on_network_error (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + GError* _tmp0_ = NULL; +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 886 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 890 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:890: EVENT: on_network_error"); +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = err; +#line 891 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error (self, _tmp0_); +#line 6141 "PiwigoPublishing.c" +} + + +/** + * Action to display an error to the user. + */ +static void publishing_piwigo_piwigo_publisher_do_show_error (PublishingPiwigoPiwigoPublisher* self, GError* e) { + gchar* error_type = NULL; + gchar* _tmp0_ = NULL; + GError* _tmp1_ = NULL; + const gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 898 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:898: ACTION: do_show_error"); +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = g_strdup ("UNKNOWN"); +#line 899 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp0_; +#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = e; +#line 900 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp1_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER)) { +#line 901 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_authentication_pane (self, PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_URL); +#line 902 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 902 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return; +#line 6176 "PiwigoPublishing.c" + } else { + GError* _tmp2_ = NULL; +#line 903 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = e; +#line 903 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp2_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_COMMUNICATION_FAILED)) { +#line 6183 "PiwigoPublishing.c" + gchar* _tmp3_ = NULL; +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = g_strdup ("COMMUNICATION_FAILED"); +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 904 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp3_; +#line 6191 "PiwigoPublishing.c" + } else { + GError* _tmp4_ = NULL; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = e; +#line 905 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp4_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_PROTOCOL_ERROR)) { +#line 6198 "PiwigoPublishing.c" + gchar* _tmp5_ = NULL; +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_strdup ("PROTOCOL_ERROR"); +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 906 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp5_; +#line 6206 "PiwigoPublishing.c" + } else { + GError* _tmp6_ = NULL; +#line 907 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = e; +#line 907 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp6_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_SERVICE_ERROR)) { +#line 6213 "PiwigoPublishing.c" + gchar* _tmp7_ = NULL; +#line 908 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = g_strdup ("SERVICE_ERROR"); +#line 908 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 908 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp7_; +#line 6221 "PiwigoPublishing.c" + } else { + GError* _tmp8_ = NULL; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = e; +#line 909 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp8_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE)) { +#line 6228 "PiwigoPublishing.c" + gchar* _tmp9_ = NULL; +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = g_strdup ("MALFORMED_RESPONSE"); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 910 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp9_; +#line 6236 "PiwigoPublishing.c" + } else { + GError* _tmp10_ = NULL; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = e; +#line 911 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp10_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR)) { +#line 6243 "PiwigoPublishing.c" + gchar* _tmp11_ = NULL; +#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = g_strdup ("LOCAL_FILE_ERROR"); +#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 912 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp11_; +#line 6251 "PiwigoPublishing.c" + } else { + GError* _tmp12_ = NULL; +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = e; +#line 913 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp12_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION)) { +#line 6258 "PiwigoPublishing.c" + gchar* _tmp13_ = NULL; +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = g_strdup ("EXPIRED_SESSION"); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 914 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp13_; +#line 6266 "PiwigoPublishing.c" + } else { + GError* _tmp14_ = NULL; +#line 915 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = e; +#line 915 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_error_matches (_tmp14_, SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_SSL_FAILED)) { +#line 6273 "PiwigoPublishing.c" + gchar* _tmp15_ = NULL; +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = g_strdup ("SECURE_CONNECTION_FAILED"); +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 916 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + error_type = _tmp15_; +#line 6281 "PiwigoPublishing.c" + } + } + } + } + } + } + } + } +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = error_type; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = e; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = _tmp17_->message; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = g_strdup_printf ("Unhandled error: type=%s; message='%s'", _tmp16_, _tmp18_); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = _tmp19_; +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:919: %s", _tmp20_); +#line 919 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp20_); +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = _ ("An error message occurred when publishing to Piwigo. Please try again."); +#line 920 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_do_show_error_message (self, _tmp21_); +#line 897 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (error_type); +#line 6310 "PiwigoPublishing.c" +} + + +/** + * Action to display an error message to the user. + */ +static void publishing_piwigo_piwigo_publisher_do_show_error_message (PublishingPiwigoPiwigoPublisher* self, const gchar* message) { + SpitPublishingPluginHost* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self)); +#line 926 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (message != NULL); +#line 927 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:927: ACTION: do_show_error_message"); +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->host; +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = message; +#line 928 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_install_static_message_pane (_tmp0_, _tmp1_, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 6332 "PiwigoPublishing.c" +} + + +/** + * Retrieves session ID from a REST Transaction received + * + * This helper method extracts the pwg_id out of the Set-Cookie header if + * present in the received transaction. + * + * @param txn the received transaction + * @return the value of pwg_id if present or null if not found + */ +static SoupCookie* _vala_SoupCookie_copy (SoupCookie* self) { +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return g_boxed_copy (soup_cookie_get_type (), self); +#line 6348 "PiwigoPublishing.c" +} + + +static gpointer __vala_SoupCookie_copy0 (gpointer self) { +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self ? _vala_SoupCookie_copy (self) : NULL; +#line 6355 "PiwigoPublishing.c" +} + + +static void _vala_SoupCookie_free (SoupCookie* self) { +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_boxed_free (soup_cookie_get_type (), self); +#line 6362 "PiwigoPublishing.c" +} + + +static void __vala_SoupCookie_free0_ (gpointer var) { +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (var == NULL) ? NULL : (var = (_vala_SoupCookie_free (var), NULL)); +#line 6369 "PiwigoPublishing.c" +} + + +static void _g_slist_free___vala_SoupCookie_free0_ (GSList* self) { +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_slist_foreach (self, (GFunc) __vala_SoupCookie_free0_, NULL); +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_slist_free (self); +#line 6378 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_piwigo_publisher_get_pwg_id_from_transaction (PublishingPiwigoPiwigoPublisher* self, PublishingRESTSupportTransaction* txn) { + gchar* result = NULL; + gchar* pwg_id = NULL; + PublishingRESTSupportTransaction* _tmp0_ = NULL; + SoupMessage* _tmp1_ = NULL; + SoupMessage* _tmp2_ = NULL; + GSList* _tmp3_ = NULL; + GSList* _tmp4_ = NULL; +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (self), NULL); +#line 943 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn), NULL); +#line 944 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + pwg_id = NULL; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = txn; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishing_rest_support_transaction_get_message (_tmp0_); +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = _tmp1_; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = soup_cookies_from_response (_tmp2_); +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (_tmp2_); +#line 6408 "PiwigoPublishing.c" + { + GSList* cookie_collection = NULL; + GSList* cookie_it = NULL; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cookie_collection = _tmp4_; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (cookie_it = cookie_collection; cookie_it != NULL; cookie_it = cookie_it->next) { +#line 6416 "PiwigoPublishing.c" + SoupCookie* _tmp5_ = NULL; + SoupCookie* cookie = NULL; +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = __vala_SoupCookie_copy0 ((SoupCookie*) cookie_it->data); +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cookie = _tmp5_; +#line 6423 "PiwigoPublishing.c" + { + SoupCookie* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = cookie; +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = soup_cookie_get_name (_tmp6_); +#line 947 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_strcmp0 (_tmp7_, "pwg_id") == 0) { +#line 6433 "PiwigoPublishing.c" + SoupCookie* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = cookie; +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = soup_cookie_get_value (_tmp8_); +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (pwg_id); +#line 950 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + pwg_id = _tmp10_; +#line 951 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = pwg_id; +#line 951 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:951: Found pwg_id %s", _tmp11_); +#line 6452 "PiwigoPublishing.c" + } +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + __vala_SoupCookie_free0 (cookie); +#line 6456 "PiwigoPublishing.c" + } + } +#line 946 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + __g_slist_free___vala_SoupCookie_free0_0 (cookie_collection); +#line 6461 "PiwigoPublishing.c" + } +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = pwg_id; +#line 955 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 6467 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_class_init (PublishingPiwigoPiwigoPublisherClass * klass) { +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_parent_class = g_type_class_peek_parent (klass); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPiwigoPiwigoPublisherPrivate)); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_piwigo_piwigo_publisher_finalize; +#line 6478 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_spit_publishing_publisher_interface_init (SpitPublishingPublisherIface * iface) { +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_piwigo_publisher_spit_publishing_publisher_parent_iface = g_type_interface_peek_parent (iface); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_service = (SpitPublishingService* (*)(SpitPublishingPublisher*)) publishing_piwigo_piwigo_publisher_real_get_service; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->is_running = (gboolean (*)(SpitPublishingPublisher*)) publishing_piwigo_piwigo_publisher_real_is_running; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->start = (void (*)(SpitPublishingPublisher*)) publishing_piwigo_piwigo_publisher_real_start; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->stop = (void (*)(SpitPublishingPublisher*)) publishing_piwigo_piwigo_publisher_real_stop; +#line 6493 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_instance_init (PublishingPiwigoPiwigoPublisher * self) { +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv = PUBLISHING_PIWIGO_PIWIGO_PUBLISHER_GET_PRIVATE (self); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->running = FALSE; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->strip_metadata = FALSE; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories = NULL; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories_length1 = 0; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->_categories_size_ = self->priv->categories_length1; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->parameters = NULL; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter = NULL; +#line 6514 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_piwigo_publisher_finalize (GObject* obj) { + PublishingPiwigoPiwigoPublisher * self; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_PIWIGO_PUBLISHER, PublishingPiwigoPiwigoPublisher); +#line 122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->service); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->host); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->categories = (_vala_array_free (self->priv->categories, self->priv->categories_length1, (GDestroyNotify) publishing_piwigo_category_unref), NULL); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_publishing_parameters_unref0 (self->priv->parameters); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter = NULL; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (publishing_piwigo_piwigo_publisher_parent_class)->finalize (obj); +#line 6542 "PiwigoPublishing.c" +} + + +GType publishing_piwigo_piwigo_publisher_get_type (void) { + static volatile gsize publishing_piwigo_piwigo_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_piwigo_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoPiwigoPublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_piwigo_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoPiwigoPublisher), 0, (GInstanceInitFunc) publishing_piwigo_piwigo_publisher_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publisher_info = { (GInterfaceInitFunc) publishing_piwigo_piwigo_publisher_spit_publishing_publisher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_piwigo_piwigo_publisher_type_id; + publishing_piwigo_piwigo_publisher_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingPiwigoPiwigoPublisher", &g_define_type_info, 0); + g_type_add_interface_static (publishing_piwigo_piwigo_publisher_type_id, SPIT_PUBLISHING_TYPE_PUBLISHER, &spit_publishing_publisher_info); + g_once_init_leave (&publishing_piwigo_piwigo_publisher_type_id__volatile, publishing_piwigo_piwigo_publisher_type_id); + } + return publishing_piwigo_piwigo_publisher_type_id__volatile; +} + + +PublishingPiwigoUploader* publishing_piwigo_uploader_construct (GType object_type, PublishingPiwigoSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPiwigoPublishingParameters* parameters) { + PublishingPiwigoUploader* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingPiwigoPublishingParameters* _tmp2_ = NULL; + PublishingPiwigoPublishingParameters* _tmp3_ = NULL; +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 966 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 966 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishables; +#line 966 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1__length1 = publishables_length1; +#line 966 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoUploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 968 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = parameters; +#line 968 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = _publishing_piwigo_publishing_parameters_ref0 (_tmp2_); +#line 968 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_publishing_parameters_unref0 (self->priv->parameters); +#line 968 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->parameters = _tmp3_; +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 6589 "PiwigoPublishing.c" +} + + +PublishingPiwigoUploader* publishing_piwigo_uploader_new (PublishingPiwigoSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingPiwigoPublishingParameters* parameters) { +#line 964 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_uploader_construct (PUBLISHING_PIWIGO_TYPE_UPLOADER, session, publishables, publishables_length1, parameters); +#line 6596 "PiwigoPublishing.c" +} + + +static PublishingRESTSupportTransaction* publishing_piwigo_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingPiwigoUploader * self; + PublishingRESTSupportTransaction* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingPiwigoSession* _tmp1_ = NULL; + PublishingPiwigoPublishingParameters* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + PublishingPiwigoImagesAddTransaction* _tmp4_ = NULL; + PublishingRESTSupportTransaction* _tmp5_ = NULL; +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_UPLOADER, PublishingPiwigoUploader); +#line 971 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_PIWIGO_TYPE_SESSION, PublishingPiwigoSession); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->parameters; +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishable; +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = publishing_piwigo_images_add_transaction_new (_tmp1_, _tmp2_, _tmp3_); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp5_; +#line 973 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 6631 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_uploader_class_init (PublishingPiwigoUploaderClass * klass) { +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_uploader_parent_class = g_type_class_peek_parent (klass); +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_piwigo_uploader_finalize; +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPiwigoUploaderPrivate)); +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_piwigo_uploader_real_create_transaction; +#line 6644 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_uploader_instance_init (PublishingPiwigoUploader * self) { +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv = PUBLISHING_PIWIGO_UPLOADER_GET_PRIVATE (self); +#line 6651 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingPiwigoUploader * self; +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_UPLOADER, PublishingPiwigoUploader); +#line 962 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_publishing_parameters_unref0 (self->priv->parameters); +#line 961 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_piwigo_uploader_parent_class)->finalize (obj); +#line 6663 "PiwigoPublishing.c" +} + + +GType publishing_piwigo_uploader_get_type (void) { + static volatile gsize publishing_piwigo_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoUploader), 0, (GInstanceInitFunc) publishing_piwigo_uploader_instance_init, NULL }; + GType publishing_piwigo_uploader_type_id; + publishing_piwigo_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingPiwigoUploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_uploader_type_id__volatile, publishing_piwigo_uploader_type_id); + } + return publishing_piwigo_uploader_type_id__volatile; +} + + +GType publishing_piwigo_authentication_pane_mode_get_type (void) { + static volatile gsize publishing_piwigo_authentication_pane_mode_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_authentication_pane_mode_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_INTRO, "PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_INTRO", "intro"}, {PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_URL, "PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_URL", "failed-retry-url"}, {PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER, "PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER", "failed-retry-user"}, {0, NULL, NULL}}; + GType publishing_piwigo_authentication_pane_mode_type_id; + publishing_piwigo_authentication_pane_mode_type_id = g_enum_register_static ("PublishingPiwigoAuthenticationPaneMode", values); + g_once_init_leave (&publishing_piwigo_authentication_pane_mode_type_id__volatile, publishing_piwigo_authentication_pane_mode_type_id); + } + return publishing_piwigo_authentication_pane_mode_type_id__volatile; +} + + +static void _publishing_piwigo_authentication_pane_on_user_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_on_user_changed ((PublishingPiwigoAuthenticationPane*) self); +#line 6694 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_authentication_pane_on_url_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_on_url_changed ((PublishingPiwigoAuthenticationPane*) self); +#line 6701 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_authentication_pane_on_password_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1053 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_on_password_changed ((PublishingPiwigoAuthenticationPane*) self); +#line 6708 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_authentication_pane_on_login_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_on_login_button_clicked ((PublishingPiwigoAuthenticationPane*) self); +#line 6715 "PiwigoPublishing.c" +} + + +PublishingPiwigoAuthenticationPane* publishing_piwigo_authentication_pane_construct (GType object_type, PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoAuthenticationPaneMode mode) { + PublishingPiwigoAuthenticationPane * self = NULL; + GtkBox* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (publisher), NULL); +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoAuthenticationPane*) g_object_new (object_type, NULL); +#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_object_ref_sink (_tmp0_); +#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1005 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pane_widget = _tmp0_; +#line 6735 "PiwigoPublishing.c" + { + GtkBuilder* _tmp1_ = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GtkAlignment* align = NULL; + GtkBuilder* _tmp4_ = NULL; + GObject* _tmp5_ = NULL; + GtkAlignment* _tmp6_ = NULL; + GtkLabel* message_label = NULL; + GtkBuilder* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + PublishingPiwigoAuthenticationPaneMode _tmp10_ = 0; + GtkBuilder* _tmp23_ = NULL; + GObject* _tmp24_ = NULL; + GtkEntry* _tmp25_ = NULL; + gchar* persistent_url = NULL; + PublishingPiwigoPiwigoPublisher* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GtkBuilder* _tmp31_ = NULL; + GObject* _tmp32_ = NULL; + GtkEntry* _tmp33_ = NULL; + gchar* persistent_username = NULL; + PublishingPiwigoPiwigoPublisher* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GtkBuilder* _tmp39_ = NULL; + GObject* _tmp40_ = NULL; + GtkEntry* _tmp41_ = NULL; + gchar* persistent_password = NULL; + PublishingPiwigoPiwigoPublisher* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + GtkBuilder* _tmp47_ = NULL; + GObject* _tmp48_ = NULL; + GtkCheckButton* _tmp49_ = NULL; + GtkCheckButton* _tmp50_ = NULL; + PublishingPiwigoPiwigoPublisher* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; + GtkBuilder* _tmp53_ = NULL; + GObject* _tmp54_ = NULL; + GtkButton* _tmp55_ = NULL; + GtkEntry* _tmp56_ = NULL; + GtkEntry* _tmp57_ = NULL; + GtkEntry* _tmp58_ = NULL; + GtkButton* _tmp59_ = NULL; + GtkAlignment* _tmp60_ = NULL; + GtkBox* _tmp61_ = NULL; + PublishingPiwigoPiwigoPublisher* _tmp62_ = NULL; + SpitPublishingPluginHost* _tmp63_ = NULL; + SpitPublishingPluginHost* _tmp64_ = NULL; + GtkButton* _tmp65_ = NULL; +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = gtk_builder_new (); +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 1008 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->builder = _tmp1_; +#line 1009 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->builder; +#line 1009 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_builder_add_from_resource (_tmp2_, PLUGIN_RESOURCE_PATH "/piwigo_authentication_pane.ui", &_inner_error_); +#line 1009 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6801 "PiwigoPublishing.c" + goto __catch44_g_error; + } +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->builder; +#line 1010 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_builder_connect_signals (_tmp3_, NULL); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->builder; +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = gtk_builder_get_object (_tmp4_, "alignment"); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, gtk_alignment_get_type ()) ? ((GtkAlignment*) _tmp5_) : NULL); +#line 1011 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + align = _tmp6_; +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = self->priv->builder; +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = gtk_builder_get_object (_tmp7_, "message_label"); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp8_) : NULL); +#line 1013 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + message_label = _tmp9_; +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = mode; +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + switch (_tmp10_) { +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + case PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_INTRO: +#line 6830 "PiwigoPublishing.c" + { + GtkLabel* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = message_label; +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = publishing_piwigo_authentication_pane_INTRO_MESSAGE; +#line 1016 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_label_set_text (_tmp11_, _tmp12_); +#line 1017 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 6842 "PiwigoPublishing.c" + } +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + case PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_URL: +#line 6846 "PiwigoPublishing.c" + { + GtkLabel* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = message_label; +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = _ ("Invalid URL"); +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = publishing_piwigo_authentication_pane_FAILED_RETRY_URL_MESSAGE; +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = g_strdup_printf ("%s\n\n%s", _tmp14_, _tmp15_); +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = _tmp16_; +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_label_set_markup (_tmp13_, _tmp17_); +#line 1020 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp17_); +#line 1022 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 6869 "PiwigoPublishing.c" + } +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + case PUBLISHING_PIWIGO_AUTHENTICATION_PANE_MODE_FAILED_RETRY_USER: +#line 6873 "PiwigoPublishing.c" + { + GtkLabel* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = message_label; +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = _ ("Invalid User Name or Password"); +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = publishing_piwigo_authentication_pane_FAILED_RETRY_USER_MESSAGE; +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = g_strdup_printf ("%s\n\n%s", _tmp19_, _tmp20_); +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = _tmp21_; +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_label_set_markup (_tmp18_, _tmp22_); +#line 1025 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp22_); +#line 1027 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 6896 "PiwigoPublishing.c" + } + default: +#line 1014 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 6901 "PiwigoPublishing.c" + } +#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = self->priv->builder; +#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = gtk_builder_get_object (_tmp23_, "url_entry"); +#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp24_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp24_) : NULL); +#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->url_entry); +#line 1030 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->url_entry = _tmp25_; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = publisher; +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = publishing_piwigo_piwigo_publisher_get_persistent_url (_tmp26_); +#line 1031 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + persistent_url = _tmp27_; +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = persistent_url; +#line 1032 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp28_ != NULL) { +#line 6923 "PiwigoPublishing.c" + GtkEntry* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; +#line 1033 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = self->priv->url_entry; +#line 1033 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp30_ = persistent_url; +#line 1033 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_entry_set_text (_tmp29_, _tmp30_); +#line 6932 "PiwigoPublishing.c" + } +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp31_ = self->priv->builder; +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp32_ = gtk_builder_get_object (_tmp31_, "username_entry"); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp32_) : NULL); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->username_entry); +#line 1035 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->username_entry = _tmp33_; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp34_ = publisher; +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp35_ = publishing_piwigo_piwigo_publisher_get_persistent_username (_tmp34_); +#line 1036 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + persistent_username = _tmp35_; +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp36_ = persistent_username; +#line 1037 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp36_ != NULL) { +#line 6954 "PiwigoPublishing.c" + GtkEntry* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 1038 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp37_ = self->priv->username_entry; +#line 1038 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp38_ = persistent_username; +#line 1038 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_entry_set_text (_tmp37_, _tmp38_); +#line 6963 "PiwigoPublishing.c" + } +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp39_ = self->priv->builder; +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp40_ = gtk_builder_get_object (_tmp39_, "password_entry"); +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp40_) : NULL); +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->password_entry); +#line 1040 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->password_entry = _tmp41_; +#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp42_ = publisher; +#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp43_ = publishing_piwigo_piwigo_publisher_get_persistent_password (_tmp42_); +#line 1041 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + persistent_password = _tmp43_; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp44_ = persistent_password; +#line 1042 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp44_ != NULL) { +#line 6985 "PiwigoPublishing.c" + GtkEntry* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp45_ = self->priv->password_entry; +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp46_ = persistent_password; +#line 1043 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_entry_set_text (_tmp45_, _tmp46_); +#line 6994 "PiwigoPublishing.c" + } +#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp47_ = self->priv->builder; +#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp48_ = gtk_builder_get_object (_tmp47_, "remember_password_checkbutton"); +#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp49_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp48_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp48_) : NULL); +#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->remember_password_checkbutton); +#line 1045 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->remember_password_checkbutton = _tmp49_; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp50_ = self->priv->remember_password_checkbutton; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp51_ = publisher; +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp52_ = publishing_piwigo_piwigo_publisher_get_remember_password (_tmp51_); +#line 1047 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp52_); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp53_ = self->priv->builder; +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp54_ = gtk_builder_get_object (_tmp53_, "login_button"); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp55_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp54_, gtk_button_get_type ()) ? ((GtkButton*) _tmp54_) : NULL); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->login_button); +#line 1049 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->login_button = _tmp55_; +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp56_ = self->priv->username_entry; +#line 1051 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_piwigo_authentication_pane_on_user_changed_gtk_editable_changed, self, 0); +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp57_ = self->priv->url_entry; +#line 1052 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_piwigo_authentication_pane_on_url_changed_gtk_editable_changed, self, 0); +#line 1053 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp58_ = self->priv->password_entry; +#line 1053 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_piwigo_authentication_pane_on_password_changed_gtk_editable_changed, self, 0); +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp59_ = self->priv->login_button; +#line 1054 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (_tmp59_, "clicked", (GCallback) _publishing_piwigo_authentication_pane_on_login_button_clicked_gtk_button_clicked, self, 0); +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp60_ = align; +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp61_ = self->priv->pane_widget; +#line 1056 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_reparent (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_widget_get_type (), GtkWidget), G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget)); +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp62_ = publisher; +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp63_ = publishing_piwigo_piwigo_publisher_get_host (_tmp62_); +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp64_ = _tmp63_; +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp65_ = self->priv->login_button; +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + spit_publishing_plugin_host_set_dialog_default_widget (_tmp64_, G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, gtk_widget_get_type (), GtkWidget)); +#line 1057 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (_tmp64_); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (persistent_password); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (persistent_username); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (persistent_url); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (message_label); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (align); +#line 7068 "PiwigoPublishing.c" + } + goto __finally44; + __catch44_g_error: + { + GError* e = NULL; + GError* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + e = _inner_error_; +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp66_ = e; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp67_ = _tmp66_->message; +#line 1059 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_warning ("PiwigoPublishing.vala:1059: Could not load UI: %s", _tmp67_); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (e); +#line 7088 "PiwigoPublishing.c" + } + __finally44: +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught 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/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 1007 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 7099 "PiwigoPublishing.c" + } +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 7103 "PiwigoPublishing.c" +} + + +PublishingPiwigoAuthenticationPane* publishing_piwigo_authentication_pane_new (PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoAuthenticationPaneMode mode) { +#line 1004 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_authentication_pane_construct (PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, publisher, mode); +#line 7110 "PiwigoPublishing.c" +} + + +GtkWidget* publishing_piwigo_authentication_pane_get_default_widget (PublishingPiwigoAuthenticationPane* self) { + GtkWidget* result = NULL; + GtkButton* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1063 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE (self), NULL); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->login_button; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 1064 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 7128 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_on_login_button_clicked (PublishingPiwigoAuthenticationPane* self) { + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GtkCheckButton* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 1067 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE (self)); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->url_entry; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->username_entry; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = gtk_entry_get_text (_tmp2_); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->password_entry; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = gtk_entry_get_text (_tmp4_); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = self->priv->remember_password_checkbutton; +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1068 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_emit_by_name (self, "login", _tmp1_, _tmp3_, _tmp5_, _tmp7_); +#line 7161 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_on_url_changed (PublishingPiwigoAuthenticationPane* self) { +#line 1072 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE (self)); +#line 1073 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_update_login_button_sensitivity (self); +#line 7170 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_on_user_changed (PublishingPiwigoAuthenticationPane* self) { +#line 1076 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE (self)); +#line 1077 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_update_login_button_sensitivity (self); +#line 7179 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_on_password_changed (PublishingPiwigoAuthenticationPane* self) { +#line 1080 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE (self)); +#line 1081 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_update_login_button_sensitivity (self); +#line 7188 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_update_login_button_sensitivity (PublishingPiwigoAuthenticationPane* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GtkEntry* _tmp2_ = NULL; + guint _tmp3_ = 0U; + guint _tmp4_ = 0U; + GtkButton* _tmp11_ = NULL; +#line 1084 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_AUTHENTICATION_PANE (self)); +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->url_entry; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = gtk_entry_get_text_length (_tmp2_); +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp4_ != ((guint) 0)) { +#line 7209 "PiwigoPublishing.c" + GtkEntry* _tmp5_ = NULL; + guint _tmp6_ = 0U; + guint _tmp7_ = 0U; +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->username_entry; +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = gtk_entry_get_text_length (_tmp5_); +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp6_; +#line 1086 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _tmp7_ != ((guint) 0); +#line 7221 "PiwigoPublishing.c" + } else { +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = FALSE; +#line 7225 "PiwigoPublishing.c" + } +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp1_) { +#line 7229 "PiwigoPublishing.c" + GtkEntry* _tmp8_ = NULL; + guint _tmp9_ = 0U; + guint _tmp10_ = 0U; +#line 1087 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->password_entry; +#line 1087 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = gtk_entry_get_text_length (_tmp8_); +#line 1087 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = _tmp9_; +#line 1087 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = _tmp10_ != ((guint) 0); +#line 7241 "PiwigoPublishing.c" + } else { +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = FALSE; +#line 7245 "PiwigoPublishing.c" + } +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = self->priv->login_button; +#line 1085 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 7251 "PiwigoPublishing.c" +} + + +static GtkWidget* publishing_piwigo_authentication_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingPiwigoAuthenticationPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1090 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPane); +#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 1091 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 7270 "PiwigoPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_piwigo_authentication_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingPiwigoAuthenticationPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 1094 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPane); +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1095 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 7283 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingPiwigoAuthenticationPane * self; + GtkEntry* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; +#line 1098 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPane); +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->url_entry; +#line 1099 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->password_entry; +#line 1100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_entry_set_activates_default (_tmp1_, TRUE); +#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->login_button; +#line 1101 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_can_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1102 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_update_login_button_sensitivity (self); +#line 7308 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingPiwigoAuthenticationPane * self; +#line 1105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPane); +#line 7316 "PiwigoPublishing.c" +} + + +static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING_BOOLEAN) (gpointer data1, const char* arg_1, const char* arg_2, const char* arg_3, gboolean arg_4, gpointer data2); + register GMarshalFunc_VOID__STRING_STRING_STRING_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (n_param_values == 5); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data1 = closure->data; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 7335 "PiwigoPublishing.c" + } else { +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data2 = closure->data; +#line 7341 "PiwigoPublishing.c" + } +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + callback = (GMarshalFunc_VOID__STRING_STRING_STRING_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_string (param_values + 3), g_value_get_boolean (param_values + 4), data2); +#line 7347 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_class_init (PublishingPiwigoAuthenticationPaneClass * klass) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_parent_class = g_type_class_peek_parent (klass); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPiwigoAuthenticationPanePrivate)); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_piwigo_authentication_pane_finalize; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_new ("login", PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_STRING_BOOLEAN, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); +#line 990 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = _ ("Enter the URL of your Piwigo photo library as well as the username and" \ +" password associated with your Piwigo account for that library."); +#line 990 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 990 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_INTRO_MESSAGE = _tmp1_; +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = _ ("Shotwell cannot contact your Piwigo photo library. Please verify the U" \ +"RL you entered"); +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 991 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_FAILED_RETRY_URL_MESSAGE = _tmp3_; +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _ ("Username and/or password invalid. Please try again"); +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 992 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_FAILED_RETRY_USER_MESSAGE = _tmp5_; +#line 7384 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_authentication_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_piwigo_authentication_pane_real_get_widget; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_piwigo_authentication_pane_real_get_preferred_geometry; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_piwigo_authentication_pane_real_on_pane_installed; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_piwigo_authentication_pane_real_on_pane_uninstalled; +#line 7399 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_instance_init (PublishingPiwigoAuthenticationPane * self) { +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv = PUBLISHING_PIWIGO_AUTHENTICATION_PANE_GET_PRIVATE (self); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pane_widget = NULL; +#line 7408 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_authentication_pane_finalize (GObject* obj) { + PublishingPiwigoAuthenticationPane * self; +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_AUTHENTICATION_PANE, PublishingPiwigoAuthenticationPane); +#line 994 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 995 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 996 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->url_entry); +#line 997 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->username_entry); +#line 998 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->password_entry); +#line 999 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->remember_password_checkbutton); +#line 1000 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->login_button); +#line 984 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (publishing_piwigo_authentication_pane_parent_class)->finalize (obj); +#line 7432 "PiwigoPublishing.c" +} + + +/** + * The authentication pane used when asking service URL, user name and password + * from the user. + */ +GType publishing_piwigo_authentication_pane_get_type (void) { + static volatile gsize publishing_piwigo_authentication_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_authentication_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoAuthenticationPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_authentication_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoAuthenticationPane), 0, (GInstanceInitFunc) publishing_piwigo_authentication_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_piwigo_authentication_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_piwigo_authentication_pane_type_id; + publishing_piwigo_authentication_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingPiwigoAuthenticationPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_piwigo_authentication_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_piwigo_authentication_pane_type_id__volatile, publishing_piwigo_authentication_pane_type_id); + } + return publishing_piwigo_authentication_pane_type_id__volatile; +} + + +static void _publishing_piwigo_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_on_logout_button_clicked ((PublishingPiwigoPublishingOptionsPane*) self); +#line 7457 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_on_publish_button_clicked ((PublishingPiwigoPublishingOptionsPane*) self); +#line 7464 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_on_use_existing_radio_clicked ((PublishingPiwigoPublishingOptionsPane*) self); +#line 7471 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_on_create_new_radio_clicked ((PublishingPiwigoPublishingOptionsPane*) self); +#line 7478 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_publishing_options_pane_on_new_category_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_on_new_category_entry_changed ((PublishingPiwigoPublishingOptionsPane*) self); +#line 7485 "PiwigoPublishing.c" +} + + +static void _publishing_piwigo_publishing_options_pane_on_existing_combo_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_on_existing_combo_changed ((PublishingPiwigoPublishingOptionsPane*) self); +#line 7492 "PiwigoPublishing.c" +} + + +static gpointer _publishing_piwigo_category_ref0 (gpointer self) { +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self ? publishing_piwigo_category_ref (self) : NULL; +#line 7499 "PiwigoPublishing.c" +} + + +static PublishingPiwigoCategory** _vala_array_dup11 (PublishingPiwigoCategory** self, int length) { + PublishingPiwigoCategory** result; + int i; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = g_new0 (PublishingPiwigoCategory*, length + 1); +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (i = 0; i < length; i++) { +#line 7510 "PiwigoPublishing.c" + PublishingPiwigoCategory* _tmp0_ = NULL; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = _publishing_piwigo_category_ref0 (self[i]); +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result[i] = _tmp0_; +#line 7516 "PiwigoPublishing.c" + } +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 7520 "PiwigoPublishing.c" +} + + +PublishingPiwigoPublishingOptionsPane* publishing_piwigo_publishing_options_pane_construct (GType object_type, PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoCategory** categories, int categories_length1, gint last_category, gint last_permission_level, gint last_photo_size, gboolean last_title_as_comment, gboolean last_no_upload_tags, gboolean strip_metadata_enabled) { + PublishingPiwigoPublishingOptionsPane * self = NULL; + GtkBox* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + PublishingPiwigoCategory** _tmp78_ = NULL; + gint _tmp78__length1 = 0; + PublishingPiwigoCategory** _tmp79_ = NULL; + gint _tmp79__length1 = 0; + gint _tmp80_ = 0; + PublishingPiwigoPermissionLevel** _tmp81_ = NULL; + gint _tmp82_ = 0; + PublishingPiwigoSizeEntry** _tmp83_ = NULL; + GtkTextView* _tmp84_ = NULL; + GtkTextBuffer* _tmp85_ = NULL; + GtkTextBuffer* _tmp86_ = NULL; + PublishingPiwigoPiwigoPublisher* _tmp87_ = NULL; + gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + GError * _inner_error_ = NULL; +#line 1147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (publisher), NULL); +#line 1147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoPublishingOptionsPane*) g_object_new (object_type, NULL); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_object_ref_sink (_tmp0_); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1152 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pane_widget = _tmp0_; +#line 1153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = last_category; +#line 1153 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->last_category = _tmp1_; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = last_permission_level; +#line 1154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->last_permission_level = _tmp2_; +#line 1155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = last_photo_size; +#line 1155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->last_photo_size = _tmp3_; +#line 1156 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = last_title_as_comment; +#line 1156 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->last_title_as_comment = _tmp4_; +#line 1157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = last_no_upload_tags; +#line 1157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->last_no_upload_tags = _tmp5_; +#line 7579 "PiwigoPublishing.c" + { + GtkBuilder* _tmp6_ = NULL; + GtkBuilder* _tmp7_ = NULL; + GtkBuilder* _tmp8_ = NULL; + GtkAlignment* align = NULL; + GtkBuilder* _tmp9_ = NULL; + GObject* _tmp10_ = NULL; + GtkAlignment* _tmp11_ = NULL; + GtkBuilder* _tmp12_ = NULL; + GObject* _tmp13_ = NULL; + GtkRadioButton* _tmp14_ = NULL; + GtkBuilder* _tmp15_ = NULL; + GObject* _tmp16_ = NULL; + GtkRadioButton* _tmp17_ = NULL; + GtkBuilder* _tmp18_ = NULL; + GObject* _tmp19_ = NULL; + GtkComboBoxText* _tmp20_ = NULL; + GtkBuilder* _tmp21_ = NULL; + GObject* _tmp22_ = NULL; + GtkEntry* _tmp23_ = NULL; + GtkBuilder* _tmp24_ = NULL; + GObject* _tmp25_ = NULL; + GtkLabel* _tmp26_ = NULL; + GtkBuilder* _tmp27_ = NULL; + GObject* _tmp28_ = NULL; + GtkComboBoxText* _tmp29_ = NULL; + GtkBuilder* _tmp30_ = NULL; + GObject* _tmp31_ = NULL; + GtkTextView* _tmp32_ = NULL; + GtkTextView* _tmp33_ = NULL; + GtkTextBuffer* _tmp34_ = NULL; + GtkTextBuffer* _tmp35_ = NULL; + GtkBuilder* _tmp36_ = NULL; + GObject* _tmp37_ = NULL; + GtkLabel* _tmp38_ = NULL; + GtkBuilder* _tmp39_ = NULL; + GObject* _tmp40_ = NULL; + GtkComboBoxText* _tmp41_ = NULL; + GtkBuilder* _tmp42_ = NULL; + GObject* _tmp43_ = NULL; + GtkComboBoxText* _tmp44_ = NULL; + GtkBuilder* _tmp45_ = NULL; + GObject* _tmp46_ = NULL; + GtkCheckButton* _tmp47_ = NULL; + GtkCheckButton* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; + GtkBuilder* _tmp50_ = NULL; + GObject* _tmp51_ = NULL; + GtkCheckButton* _tmp52_ = NULL; + GtkCheckButton* _tmp53_ = NULL; + gboolean _tmp54_ = FALSE; + GtkBuilder* _tmp55_ = NULL; + GObject* _tmp56_ = NULL; + GtkCheckButton* _tmp57_ = NULL; + GtkCheckButton* _tmp58_ = NULL; + gboolean _tmp59_ = FALSE; + GtkBuilder* _tmp60_ = NULL; + GObject* _tmp61_ = NULL; + GtkButton* _tmp62_ = NULL; + GtkButton* _tmp63_ = NULL; + GtkBuilder* _tmp64_ = NULL; + GObject* _tmp65_ = NULL; + GtkButton* _tmp66_ = NULL; + GtkButton* _tmp67_ = NULL; + GtkRadioButton* _tmp68_ = NULL; + GtkRadioButton* _tmp69_ = NULL; + GtkEntry* _tmp70_ = NULL; + GtkComboBoxText* _tmp71_ = NULL; + GtkAlignment* _tmp72_ = NULL; + GtkBox* _tmp73_ = NULL; + GtkBox* _tmp74_ = NULL; + GtkAlignment* _tmp75_ = NULL; +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = gtk_builder_new (); +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 1160 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->builder = _tmp6_; +#line 1161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = self->priv->builder; +#line 1161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_builder_add_from_resource (_tmp7_, PLUGIN_RESOURCE_PATH "/piwigo_publishing_options_pane.ui", &_inner_error_); +#line 1161 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7664 "PiwigoPublishing.c" + goto __catch45_g_error; + } +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->builder; +#line 1162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_builder_connect_signals (_tmp8_, NULL); +#line 1163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = self->priv->builder; +#line 1163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = gtk_builder_get_object (_tmp9_, "alignment"); +#line 1163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, gtk_alignment_get_type ()) ? ((GtkAlignment*) _tmp10_) : NULL); +#line 1163 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + align = _tmp11_; +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = self->priv->builder; +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = gtk_builder_get_object (_tmp12_, "use_existing_radio"); +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, gtk_radio_button_get_type ()) ? ((GtkRadioButton*) _tmp13_) : NULL); +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 1165 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->use_existing_radio = _tmp14_; +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = self->priv->builder; +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = gtk_builder_get_object (_tmp15_, "create_new_radio"); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, gtk_radio_button_get_type ()) ? ((GtkRadioButton*) _tmp16_) : NULL); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 1166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->create_new_radio = _tmp17_; +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = self->priv->builder; +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = gtk_builder_get_object (_tmp18_, "existing_categories_combo"); +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp19_) : NULL); +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->existing_categories_combo); +#line 1167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->existing_categories_combo = _tmp20_; +#line 1168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = self->priv->builder; +#line 1168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = gtk_builder_get_object (_tmp21_, "new_category_entry"); +#line 1168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp22_) : NULL); +#line 1168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->new_category_entry); +#line 1168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->new_category_entry = _tmp23_; +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = self->priv->builder; +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = gtk_builder_get_object (_tmp24_, "within_existing_label"); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp25_) : NULL); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->within_existing_label); +#line 1169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->within_existing_label = _tmp26_; +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = self->priv->builder; +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = gtk_builder_get_object (_tmp27_, "within_existing_combo"); +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp28_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp28_) : NULL); +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->within_existing_combo); +#line 1170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->within_existing_combo = _tmp29_; +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp30_ = self->priv->builder; +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp31_ = gtk_builder_get_object (_tmp30_, "album_comment"); +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp31_, gtk_text_view_get_type ()) ? ((GtkTextView*) _tmp31_) : NULL); +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->album_comment); +#line 1172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->album_comment = _tmp32_; +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp33_ = self->priv->album_comment; +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp34_ = gtk_text_buffer_new (NULL); +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp35_ = _tmp34_; +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_text_view_set_buffer (_tmp33_, _tmp35_); +#line 1173 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (_tmp35_); +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp36_ = self->priv->builder; +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp37_ = gtk_builder_get_object (_tmp36_, "album_comment_label"); +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp38_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp37_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp37_) : NULL); +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->album_comment_label); +#line 1174 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->album_comment_label = _tmp38_; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp39_ = self->priv->builder; +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp40_ = gtk_builder_get_object (_tmp39_, "perms_combo"); +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp40_) : NULL); +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->perms_combo); +#line 1176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->perms_combo = _tmp41_; +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp42_ = self->priv->builder; +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp43_ = gtk_builder_get_object (_tmp42_, "size_combo"); +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp44_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp43_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp43_) : NULL); +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 1177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->size_combo = _tmp44_; +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp45_ = self->priv->builder; +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp46_ = gtk_builder_get_object (_tmp45_, "strip_metadata_check"); +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp47_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp46_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp46_) : NULL); +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->strip_metadata_check = _tmp47_; +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp48_ = self->priv->strip_metadata_check; +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp49_ = strip_metadata_enabled; +#line 1180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp49_); +#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp50_ = self->priv->builder; +#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp51_ = gtk_builder_get_object (_tmp50_, "title_as_comment_check"); +#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp52_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp51_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp51_) : NULL); +#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->title_as_comment_check); +#line 1182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->title_as_comment_check = _tmp52_; +#line 1183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp53_ = self->priv->title_as_comment_check; +#line 1183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp54_ = last_title_as_comment; +#line 1183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp54_); +#line 1185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp55_ = self->priv->builder; +#line 1185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp56_ = gtk_builder_get_object (_tmp55_, "no_upload_tags_check"); +#line 1185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp57_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp56_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp56_) : NULL); +#line 1185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->no_upload_tags_check); +#line 1185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->no_upload_tags_check = _tmp57_; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp58_ = self->priv->no_upload_tags_check; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp59_ = last_no_upload_tags; +#line 1186 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp59_); +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp60_ = self->priv->builder; +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp61_ = gtk_builder_get_object (_tmp60_, "logout_button"); +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp62_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp61_, gtk_button_get_type ()) ? ((GtkButton*) _tmp61_) : NULL); +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1188 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->logout_button = _tmp62_; +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp63_ = self->priv->logout_button; +#line 1189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (_tmp63_, "clicked", (GCallback) _publishing_piwigo_publishing_options_pane_on_logout_button_clicked_gtk_button_clicked, self, 0); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp64_ = self->priv->builder; +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp65_ = gtk_builder_get_object (_tmp64_, "publish_button"); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp66_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp65_, gtk_button_get_type ()) ? ((GtkButton*) _tmp65_) : NULL); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->publish_button = _tmp66_; +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp67_ = self->priv->publish_button; +#line 1192 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (_tmp67_, "clicked", (GCallback) _publishing_piwigo_publishing_options_pane_on_publish_button_clicked_gtk_button_clicked, self, 0); +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp68_ = self->priv->use_existing_radio; +#line 1194 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_piwigo_publishing_options_pane_on_use_existing_radio_clicked_gtk_button_clicked, self, 0); +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp69_ = self->priv->create_new_radio; +#line 1195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _publishing_piwigo_publishing_options_pane_on_create_new_radio_clicked_gtk_button_clicked, self, 0); +#line 1196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp70_ = self->priv->new_category_entry; +#line 1196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _publishing_piwigo_publishing_options_pane_on_new_category_entry_changed_gtk_editable_changed, self, 0); +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp71_ = self->priv->within_existing_combo; +#line 1197 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _publishing_piwigo_publishing_options_pane_on_existing_combo_changed_gtk_combo_box_changed, self, 0); +#line 1199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp72_ = align; +#line 1199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp73_ = self->priv->pane_widget; +#line 1199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_reparent (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_widget_get_type (), GtkWidget), G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, gtk_widget_get_type (), GtkWidget)); +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp74_ = self->priv->pane_widget; +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp75_ = align; +#line 1200 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_box_set_child_packing (_tmp74_, G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0, GTK_PACK_START); +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (align); +#line 7895 "PiwigoPublishing.c" + } + goto __finally45; + __catch45_g_error: + { + GError* e = NULL; + GError* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + e = _inner_error_; +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 1202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp76_ = e; +#line 1202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp77_ = _tmp76_->message; +#line 1202 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_warning ("PiwigoPublishing.vala:1202: Could not load UI: %s", _tmp77_); +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (e); +#line 7915 "PiwigoPublishing.c" + } + __finally45: +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 1159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 7926 "PiwigoPublishing.c" + } +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp78_ = categories; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp78__length1 = categories_length1; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp79_ = (_tmp78_ != NULL) ? _vala_array_dup11 (_tmp78_, _tmp78__length1) : ((gpointer) _tmp78_); +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp79__length1 = _tmp78__length1; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->existing_categories = (_vala_array_free (self->priv->existing_categories, self->priv->existing_categories_length1, (GDestroyNotify) publishing_piwigo_category_unref), NULL); +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->existing_categories = _tmp79_; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->existing_categories_length1 = _tmp79__length1; +#line 1205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->_existing_categories_size_ = self->priv->existing_categories_length1; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp81_ = publishing_piwigo_publishing_options_pane_create_perm_levels (self, &_tmp80_); +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->perm_levels = (_vala_array_free (self->priv->perm_levels, self->priv->perm_levels_length1, (GDestroyNotify) publishing_piwigo_permission_level_unref), NULL); +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->perm_levels = _tmp81_; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->perm_levels_length1 = _tmp80_; +#line 1206 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->_perm_levels_size_ = self->priv->perm_levels_length1; +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp83_ = publishing_piwigo_publishing_options_pane_create_sizes (self, &_tmp82_); +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->photo_sizes = (_vala_array_free (self->priv->photo_sizes, self->priv->photo_sizes_length1, (GDestroyNotify) publishing_piwigo_size_entry_unref), NULL); +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->photo_sizes = _tmp83_; +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->photo_sizes_length1 = _tmp82_; +#line 1207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->_photo_sizes_size_ = self->priv->photo_sizes_length1; +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp84_ = self->priv->album_comment; +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp85_ = gtk_text_view_get_buffer (_tmp84_); +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp86_ = _tmp85_; +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp87_ = publisher; +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp88_ = publishing_piwigo_publishing_options_pane_get_common_comment_if_possible (self, _tmp87_); +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp89_ = _tmp88_; +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_text_buffer_set_text (_tmp86_, _tmp89_, -1); +#line 1208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp89_); +#line 1147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 7982 "PiwigoPublishing.c" +} + + +PublishingPiwigoPublishingOptionsPane* publishing_piwigo_publishing_options_pane_new (PublishingPiwigoPiwigoPublisher* publisher, PublishingPiwigoCategory** categories, int categories_length1, gint last_category, gint last_permission_level, gint last_photo_size, gboolean last_title_as_comment, gboolean last_no_upload_tags, gboolean strip_metadata_enabled) { +#line 1147 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_publishing_options_pane_construct (PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, publisher, categories, categories_length1, last_category, last_permission_level, last_photo_size, last_title_as_comment, last_no_upload_tags, strip_metadata_enabled); +#line 7989 "PiwigoPublishing.c" +} + + +GtkWidget* publishing_piwigo_publishing_options_pane_get_default_widget (PublishingPiwigoPublishingOptionsPane* self) { + GtkWidget* result = NULL; + GtkButton* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1211 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->publish_button; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 1212 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 8007 "PiwigoPublishing.c" +} + + +static void _vala_array_add35 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value) { +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoPermissionLevel*, *array, (*size) + 1); +#line 8018 "PiwigoPublishing.c" + } +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8024 "PiwigoPublishing.c" +} + + +static void _vala_array_add36 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value) { +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoPermissionLevel*, *array, (*size) + 1); +#line 8035 "PiwigoPublishing.c" + } +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8041 "PiwigoPublishing.c" +} + + +static void _vala_array_add37 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value) { +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoPermissionLevel*, *array, (*size) + 1); +#line 8052 "PiwigoPublishing.c" + } +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8058 "PiwigoPublishing.c" +} + + +static void _vala_array_add38 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value) { +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoPermissionLevel*, *array, (*size) + 1); +#line 8069 "PiwigoPublishing.c" + } +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8075 "PiwigoPublishing.c" +} + + +static void _vala_array_add39 (PublishingPiwigoPermissionLevel*** array, int* length, int* size, PublishingPiwigoPermissionLevel* value) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoPermissionLevel*, *array, (*size) + 1); +#line 8086 "PiwigoPublishing.c" + } +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8092 "PiwigoPublishing.c" +} + + +static PublishingPiwigoPermissionLevel** publishing_piwigo_publishing_options_pane_create_perm_levels (PublishingPiwigoPublishingOptionsPane* self, int* result_length1) { + PublishingPiwigoPermissionLevel** result = NULL; + PublishingPiwigoPermissionLevel** _result_ = NULL; + PublishingPiwigoPermissionLevel** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingPiwigoPermissionLevel** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingPiwigoPermissionLevel* _tmp3_ = NULL; + PublishingPiwigoPermissionLevel** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingPiwigoPermissionLevel* _tmp6_ = NULL; + PublishingPiwigoPermissionLevel** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingPiwigoPermissionLevel* _tmp9_ = NULL; + PublishingPiwigoPermissionLevel** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + PublishingPiwigoPermissionLevel* _tmp12_ = NULL; + PublishingPiwigoPermissionLevel** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp14_ = NULL; + PublishingPiwigoPermissionLevel* _tmp15_ = NULL; + PublishingPiwigoPermissionLevel** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 1215 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = g_new0 (PublishingPiwigoPermissionLevel*, 0 + 1); +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = _tmp0_; +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result__length1 = 0; +#line 1216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + __result__size_ = _result__length1; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _result_; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1__length1 = _result__length1; +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = _ ("Everyone"); +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_piwigo_permission_level_new (0, _tmp2_); +#line 1218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add35 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _result_; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4__length1 = _result__length1; +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _ ("Admins, Family, Friends, Contacts"); +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = publishing_piwigo_permission_level_new (1, _tmp5_); +#line 1219 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add36 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _result_; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7__length1 = _result__length1; +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = _ ("Admins, Family, Friends"); +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = publishing_piwigo_permission_level_new (2, _tmp8_); +#line 1220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add37 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = _result_; +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10__length1 = _result__length1; +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _ ("Admins, Family"); +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = publishing_piwigo_permission_level_new (4, _tmp11_); +#line 1221 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add38 (&_result_, &_result__length1, &__result__size_, _tmp12_); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = _result_; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13__length1 = _result__length1; +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = _ ("Admins"); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = publishing_piwigo_permission_level_new (8, _tmp14_); +#line 1222 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add39 (&_result_, &_result__length1, &__result__size_, _tmp15_); +#line 1224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = _result_; +#line 1224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16__length1 = _result__length1; +#line 1224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (result_length1) { +#line 1224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *result_length1 = _tmp16__length1; +#line 8192 "PiwigoPublishing.c" + } +#line 1224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp16_; +#line 1224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 8198 "PiwigoPublishing.c" +} + + +static void _vala_array_add40 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value) { +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoSizeEntry*, *array, (*size) + 1); +#line 8209 "PiwigoPublishing.c" + } +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8215 "PiwigoPublishing.c" +} + + +static void _vala_array_add41 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value) { +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoSizeEntry*, *array, (*size) + 1); +#line 8226 "PiwigoPublishing.c" + } +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8232 "PiwigoPublishing.c" +} + + +static void _vala_array_add42 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value) { +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoSizeEntry*, *array, (*size) + 1); +#line 8243 "PiwigoPublishing.c" + } +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8249 "PiwigoPublishing.c" +} + + +static void _vala_array_add43 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value) { +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoSizeEntry*, *array, (*size) + 1); +#line 8260 "PiwigoPublishing.c" + } +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8266 "PiwigoPublishing.c" +} + + +static void _vala_array_add44 (PublishingPiwigoSizeEntry*** array, int* length, int* size, PublishingPiwigoSizeEntry* value) { +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if ((*length) == (*size)) { +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *array = g_renew (PublishingPiwigoSizeEntry*, *array, (*size) + 1); +#line 8277 "PiwigoPublishing.c" + } +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[(*length)++] = value; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + (*array)[*length] = NULL; +#line 8283 "PiwigoPublishing.c" +} + + +static PublishingPiwigoSizeEntry** publishing_piwigo_publishing_options_pane_create_sizes (PublishingPiwigoPublishingOptionsPane* self, int* result_length1) { + PublishingPiwigoSizeEntry** result = NULL; + PublishingPiwigoSizeEntry** _result_ = NULL; + PublishingPiwigoSizeEntry** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingPiwigoSizeEntry** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingPiwigoSizeEntry* _tmp3_ = NULL; + PublishingPiwigoSizeEntry** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingPiwigoSizeEntry* _tmp6_ = NULL; + PublishingPiwigoSizeEntry** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingPiwigoSizeEntry* _tmp9_ = NULL; + PublishingPiwigoSizeEntry** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + PublishingPiwigoSizeEntry* _tmp12_ = NULL; + PublishingPiwigoSizeEntry** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp14_ = NULL; + PublishingPiwigoSizeEntry* _tmp15_ = NULL; + PublishingPiwigoSizeEntry** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 1227 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = g_new0 (PublishingPiwigoSizeEntry*, 0 + 1); +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = _tmp0_; +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result__length1 = 0; +#line 1228 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + __result__size_ = _result__length1; +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _result_; +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1__length1 = _result__length1; +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = _ ("500 x 375 pixels"); +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_piwigo_size_entry_new (500, _tmp2_); +#line 1230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add40 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _result_; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4__length1 = _result__length1; +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _ ("1024 x 768 pixels"); +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = publishing_piwigo_size_entry_new (1024, _tmp5_); +#line 1231 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add41 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _result_; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7__length1 = _result__length1; +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = _ ("2048 x 1536 pixels"); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = publishing_piwigo_size_entry_new (2048, _tmp8_); +#line 1232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add42 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = _result_; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10__length1 = _result__length1; +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _ ("4096 x 3072 pixels"); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = publishing_piwigo_size_entry_new (4096, _tmp11_); +#line 1233 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add43 (&_result_, &_result__length1, &__result__size_, _tmp12_); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = _result_; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13__length1 = _result__length1; +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = _ ("Original size"); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = publishing_piwigo_size_entry_new (PUBLISHING_PIWIGO_ORIGINAL_SIZE, _tmp14_); +#line 1234 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _vala_array_add44 (&_result_, &_result__length1, &__result__size_, _tmp15_); +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = _result_; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16__length1 = _result__length1; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (result_length1) { +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + *result_length1 = _tmp16__length1; +#line 8383 "PiwigoPublishing.c" + } +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp16_; +#line 1236 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 8389 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_on_logout_button_clicked (PublishingPiwigoPublishingOptionsPane* self) { +#line 1239 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 8398 "PiwigoPublishing.c" +} + + +static gpointer _publishing_piwigo_permission_level_ref0 (gpointer self) { +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self ? publishing_piwigo_permission_level_ref (self) : NULL; +#line 8405 "PiwigoPublishing.c" +} + + +static gpointer _publishing_piwigo_size_entry_ref0 (gpointer self) { +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self ? publishing_piwigo_size_entry_ref (self) : NULL; +#line 8412 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_on_publish_button_clicked (PublishingPiwigoPublishingOptionsPane* self) { + PublishingPiwigoPublishingParameters* params = NULL; + PublishingPiwigoPublishingParameters* _tmp0_ = NULL; + PublishingPiwigoPublishingParameters* _tmp1_ = NULL; + PublishingPiwigoPermissionLevel** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + GtkComboBoxText* _tmp3_ = NULL; + gint _tmp4_ = 0; + PublishingPiwigoPermissionLevel* _tmp5_ = NULL; + PublishingPiwigoPermissionLevel* _tmp6_ = NULL; + PublishingPiwigoPublishingParameters* _tmp7_ = NULL; + PublishingPiwigoSizeEntry** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GtkComboBoxText* _tmp9_ = NULL; + gint _tmp10_ = 0; + PublishingPiwigoSizeEntry* _tmp11_ = NULL; + PublishingPiwigoSizeEntry* _tmp12_ = NULL; + PublishingPiwigoPublishingParameters* _tmp13_ = NULL; + GtkCheckButton* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + PublishingPiwigoPublishingParameters* _tmp16_ = NULL; + GtkCheckButton* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + GtkRadioButton* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + PublishingPiwigoPublishingParameters* _tmp53_ = NULL; + GtkCheckButton* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; +#line 1243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = publishing_piwigo_publishing_parameters_new (); +#line 1244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + params = _tmp0_; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = params; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->perm_levels; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2__length1 = self->priv->perm_levels_length1; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->perms_combo; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _tmp2_[_tmp4_]; +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _publishing_piwigo_permission_level_ref0 (_tmp5_); +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_permission_level_unref0 (_tmp1_->perm_level); +#line 1245 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_->perm_level = _tmp6_; +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = params; +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->photo_sizes; +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8__length1 = self->priv->photo_sizes_length1; +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = self->priv->size_combo; +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _tmp8_[_tmp10_]; +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = _publishing_piwigo_size_entry_ref0 (_tmp11_); +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_size_entry_unref0 (_tmp7_->photo_size); +#line 1246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_->photo_size = _tmp12_; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = params; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = self->priv->title_as_comment_check; +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1247 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_->title_as_comment = _tmp15_; +#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = params; +#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = self->priv->no_upload_tags_check; +#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1248 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_->no_upload_tags = _tmp18_; +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = self->priv->create_new_radio; +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp20_) { +#line 8508 "PiwigoPublishing.c" + gchar* uploadcomment = NULL; + GtkTextView* _tmp21_ = NULL; + GtkTextBuffer* _tmp22_ = NULL; + GtkTextBuffer* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gint a = 0; + GtkComboBoxText* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = self->priv->album_comment; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = gtk_text_view_get_buffer (_tmp21_); +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = _tmp22_; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_object_get (_tmp23_, "text", &_tmp24_, NULL); +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = _tmp24_; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = _tmp25_; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = string_strip (_tmp26_); +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = _tmp27_; +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp26_); +#line 1250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + uploadcomment = _tmp28_; +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = self->priv->within_existing_combo; +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp30_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1251 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + a = _tmp30_; +#line 1252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp31_ = a; +#line 1252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp31_ == 0) { +#line 8552 "PiwigoPublishing.c" + PublishingPiwigoPublishingParameters* _tmp32_ = NULL; + GtkEntry* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + PublishingPiwigoCategory* _tmp36_ = NULL; +#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp32_ = params; +#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp33_ = self->priv->new_category_entry; +#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp34_ = gtk_entry_get_text (_tmp33_); +#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp35_ = uploadcomment; +#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp36_ = publishing_piwigo_category_new_local (_tmp34_, 0, _tmp35_); +#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (_tmp32_->category); +#line 1253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp32_->category = _tmp36_; +#line 8572 "PiwigoPublishing.c" + } else { + gint _tmp37_ = 0; + PublishingPiwigoPublishingParameters* _tmp38_ = NULL; + GtkEntry* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + PublishingPiwigoCategory** _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gint _tmp42_ = 0; + PublishingPiwigoCategory* _tmp43_ = NULL; + gint _tmp44_ = 0; + const gchar* _tmp45_ = NULL; + PublishingPiwigoCategory* _tmp46_ = NULL; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp37_ = a; +#line 1257 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + a = _tmp37_ - 1; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp38_ = params; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp39_ = self->priv->new_category_entry; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp40_ = gtk_entry_get_text (_tmp39_); +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp41_ = self->priv->existing_categories; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp41__length1 = self->priv->existing_categories_length1; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp42_ = a; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp43_ = _tmp41_[_tmp42_]; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp44_ = _tmp43_->id; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp45_ = uploadcomment; +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp46_ = publishing_piwigo_category_new_local (_tmp40_, _tmp44_, _tmp45_); +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (_tmp38_->category); +#line 1258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp38_->category = _tmp46_; +#line 8613 "PiwigoPublishing.c" + } +#line 1249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (uploadcomment); +#line 8617 "PiwigoPublishing.c" + } else { + PublishingPiwigoPublishingParameters* _tmp47_ = NULL; + PublishingPiwigoCategory** _tmp48_ = NULL; + gint _tmp48__length1 = 0; + GtkComboBoxText* _tmp49_ = NULL; + gint _tmp50_ = 0; + PublishingPiwigoCategory* _tmp51_ = NULL; + PublishingPiwigoCategory* _tmp52_ = NULL; +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp47_ = params; +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp48_ = self->priv->existing_categories; +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp48__length1 = self->priv->existing_categories_length1; +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp49_ = self->priv->existing_categories_combo; +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp50_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp51_ = _tmp48_[_tmp50_]; +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp52_ = _publishing_piwigo_category_ref0 (_tmp51_); +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (_tmp47_->category); +#line 1262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp47_->category = _tmp52_; +#line 8644 "PiwigoPublishing.c" + } +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp53_ = params; +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp54_ = self->priv->strip_metadata_check; +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp55_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_emit_by_name (self, "publish", _tmp53_, _tmp55_); +#line 1243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_publishing_parameters_unref0 (params); +#line 8656 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_on_use_existing_radio_clicked (PublishingPiwigoPublishingOptionsPane* self) { + GtkComboBoxText* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + GtkLabel* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + GtkComboBoxText* _tmp4_ = NULL; + GtkLabel* _tmp5_ = NULL; + GtkTextView* _tmp6_ = NULL; +#line 1268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->existing_categories_combo; +#line 1269 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->new_category_entry; +#line 1270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->within_existing_label; +#line 1271 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->within_existing_combo; +#line 1272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->existing_categories_combo; +#line 1273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 1274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->album_comment_label; +#line 1274 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = self->priv->album_comment; +#line 1275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1276 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_update_publish_button_sensitivity (self); +#line 8700 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_on_create_new_radio_clicked (PublishingPiwigoPublishingOptionsPane* self) { + GtkEntry* _tmp0_ = NULL; + GtkLabel* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkLabel* _tmp3_ = NULL; + GtkTextView* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + GtkEntry* _tmp6_ = NULL; +#line 1279 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->new_category_entry; +#line 1280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->within_existing_label; +#line 1281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->within_existing_combo; +#line 1282 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->album_comment_label; +#line 1283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->album_comment; +#line 1284 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->existing_categories_combo; +#line 1285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = self->priv->new_category_entry; +#line 1286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 1287 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_update_publish_button_sensitivity (self); +#line 8744 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_on_new_category_entry_changed (PublishingPiwigoPublishingOptionsPane* self) { +#line 1290 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_update_publish_button_sensitivity (self); +#line 8753 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_on_existing_combo_changed (PublishingPiwigoPublishingOptionsPane* self) { +#line 1294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1295 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_update_publish_button_sensitivity (self); +#line 8762 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_update_publish_button_sensitivity (PublishingPiwigoPublishingOptionsPane* self) { + gchar* category_name = NULL; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gint a = 0; + GtkComboBoxText* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar* search_name = NULL; + gint _tmp5_ = 0; + gboolean _tmp17_ = FALSE; + GtkRadioButton* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + GtkButton* _tmp24_ = NULL; +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->new_category_entry; +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = string_strip (_tmp1_); +#line 1299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + category_name = _tmp2_; +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->within_existing_combo; +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1300 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + a = _tmp4_; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = a; +#line 1302 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp5_ <= 0) { +#line 8800 "PiwigoPublishing.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = category_name; +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = g_strconcat ("/ ", _tmp6_, NULL); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (search_name); +#line 1303 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + search_name = _tmp7_; +#line 8811 "PiwigoPublishing.c" + } else { + gint _tmp8_ = 0; + PublishingPiwigoCategory** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint _tmp10_ = 0; + PublishingPiwigoCategory* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = a; +#line 1305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + a = _tmp8_ - 1; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = self->priv->existing_categories; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9__length1 = self->priv->existing_categories_length1; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = a; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _tmp9_[_tmp10_]; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = _tmp11_->display_name; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = g_strconcat (_tmp12_, "/ ", NULL); +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = _tmp13_; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = category_name; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = g_strconcat (_tmp14_, _tmp15_, NULL); +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (search_name); +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + search_name = _tmp16_; +#line 1306 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp14_); +#line 8851 "PiwigoPublishing.c" + } +#line 1310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = self->priv->create_new_radio; +#line 1310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp19_) { +#line 8859 "PiwigoPublishing.c" + gboolean _tmp20_ = FALSE; + const gchar* _tmp21_ = NULL; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = category_name; +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_strcmp0 (_tmp21_, "") != 0) { +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = TRUE; +#line 8868 "PiwigoPublishing.c" + } else { + const gchar* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = search_name; +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = publishing_piwigo_publishing_options_pane_category_already_exists (self, _tmp22_); +#line 1313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = _tmp23_; +#line 8878 "PiwigoPublishing.c" + } +#line 1312 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = _tmp20_; +#line 8882 "PiwigoPublishing.c" + } else { +#line 1310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = FALSE; +#line 8886 "PiwigoPublishing.c" + } +#line 1308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = self->priv->publish_button; +#line 1308 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_widget_get_type (), GtkWidget), !_tmp17_); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (search_name); +#line 1298 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (category_name); +#line 8896 "PiwigoPublishing.c" +} + + +static GtkWidget* publishing_piwigo_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingPiwigoPublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 1319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPane); +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 1320 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 8915 "PiwigoPublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_piwigo_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingPiwigoPublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 1323 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPane); +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 1324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 8928 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingPiwigoPublishingOptionsPane * self; + GtkButton* _tmp0_ = NULL; +#line 1327 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPane); +#line 1328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_create_categories_combo (self); +#line 1329 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_create_within_categories_combo (self); +#line 1330 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_create_permissions_combo (self); +#line 1331 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_create_size_combo (self); +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->publish_button; +#line 1333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_can_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1334 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_update_publish_button_sensitivity (self); +#line 8951 "PiwigoPublishing.c" +} + + +static gchar* publishing_piwigo_publishing_options_pane_get_common_comment_if_possible (PublishingPiwigoPublishingOptionsPane* self, PublishingPiwigoPiwigoPublisher* publisher) { + gchar* result = NULL; + SpitPublishingPublishable** publishables = NULL; + PublishingPiwigoPiwigoPublisher* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + gint _tmp3_ = 0; + SpitPublishingPublishable** _tmp4_ = NULL; + SpitPublishingPublishable** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + gchar* common = NULL; + gchar* _tmp6_ = NULL; + gboolean isfirst = FALSE; + SpitPublishingPublishable** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp18_ = NULL; +#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 1337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PIWIGO_PUBLISHER (publisher), NULL); +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = publisher; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishing_piwigo_piwigo_publisher_get_host (_tmp0_); +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = _tmp1_; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = spit_publishing_plugin_host_get_publishables (_tmp2_, &_tmp3_); +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _tmp4_; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5__length1 = _tmp3_; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (_tmp2_); +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishables = _tmp5_; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishables_length1 = _tmp5__length1; +#line 1340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishables_size_ = publishables_length1; +#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = g_strdup (""); +#line 1341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + common = _tmp6_; +#line 1342 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + isfirst = TRUE; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = publishables; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7__length1 = publishables_length1; +#line 1343 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_ != NULL) { +#line 9009 "PiwigoPublishing.c" + SpitPublishingPublishable** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = publishables; +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8__length1 = publishables_length1; +#line 9016 "PiwigoPublishing.c" + { + SpitPublishingPublishable** pub_collection = NULL; + gint pub_collection_length1 = 0; + gint _pub_collection_size_ = 0; + gint pub_it = 0; +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + pub_collection = _tmp8_; +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + pub_collection_length1 = _tmp8__length1; +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (pub_it = 0; pub_it < _tmp8__length1; pub_it = pub_it + 1) { +#line 9028 "PiwigoPublishing.c" + SpitPublishingPublishable* _tmp9_ = NULL; + SpitPublishingPublishable* pub = NULL; +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = _g_object_ref0 (pub_collection[pub_it]); +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + pub = _tmp9_; +#line 9035 "PiwigoPublishing.c" + { + gchar* cur = NULL; + SpitPublishingPublishable* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = pub; +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = spit_publishing_publishable_get_param_string (_tmp10_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_EVENTCOMMENT); +#line 1345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cur = _tmp11_; +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = isfirst; +#line 1347 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp12_) { +#line 9051 "PiwigoPublishing.c" + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = cur; +#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (common); +#line 1348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + common = _tmp14_; +#line 1349 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + isfirst = FALSE; +#line 9064 "PiwigoPublishing.c" + } else { + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = cur; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = common; +#line 1351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_strcmp0 (_tmp15_, _tmp16_) != 0) { +#line 9074 "PiwigoPublishing.c" + gchar* _tmp17_ = NULL; +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = g_strdup (""); +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (common); +#line 1352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + common = _tmp17_; +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (cur); +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (pub); +#line 1353 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9088 "PiwigoPublishing.c" + } + } +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (cur); +#line 1344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (pub); +#line 9095 "PiwigoPublishing.c" + } + } + } + } +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = common; +#line 1358 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:1358: PiwigoConnector: found common event commen" \ +"t %s\n", _tmp18_); +#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = common; +#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 1359 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 9110 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_create_categories_combo (PublishingPiwigoPublishingOptionsPane* self) { + PublishingPiwigoCategory** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PublishingPiwigoCategory** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + const gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 1362 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->existing_categories; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0__length1 = self->priv->existing_categories_length1; +#line 9127 "PiwigoPublishing.c" + { + PublishingPiwigoCategory** cat_collection = NULL; + gint cat_collection_length1 = 0; + gint _cat_collection_size_ = 0; + gint cat_it = 0; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cat_collection = _tmp0_; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cat_collection_length1 = _tmp0__length1; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (cat_it = 0; cat_it < _tmp0__length1; cat_it = cat_it + 1) { +#line 9139 "PiwigoPublishing.c" + PublishingPiwigoCategory* _tmp1_ = NULL; + PublishingPiwigoCategory* cat = NULL; +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _publishing_piwigo_category_ref0 (cat_collection[cat_it]); +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cat = _tmp1_; +#line 9146 "PiwigoPublishing.c" + { + GtkComboBoxText* _tmp2_ = NULL; + PublishingPiwigoCategory* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->existing_categories_combo; +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = cat; +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_->display_name; +#line 1364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_text_append_text (_tmp2_, _tmp4_); +#line 1363 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (cat); +#line 9161 "PiwigoPublishing.c" + } + } + } +#line 1366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->existing_categories; +#line 1366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5__length1 = self->priv->existing_categories_length1; +#line 1366 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp5__length1 == 0) { +#line 9171 "PiwigoPublishing.c" + GtkComboBoxText* _tmp6_ = NULL; + GtkRadioButton* _tmp7_ = NULL; + GtkRadioButton* _tmp8_ = NULL; + GtkTextView* _tmp9_ = NULL; + GtkLabel* _tmp10_ = NULL; + GtkEntry* _tmp11_ = NULL; +#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = self->priv->existing_categories_combo; +#line 1368 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1369 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = self->priv->use_existing_radio; +#line 1369 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->create_new_radio; +#line 1370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = self->priv->album_comment; +#line 1371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = self->priv->album_comment_label; +#line 1372 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = self->priv->new_category_entry; +#line 1373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 9202 "PiwigoPublishing.c" + } else { + gint last_category_index = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GtkEntry* _tmp18_ = NULL; + GtkTextView* _tmp19_ = NULL; + GtkLabel* _tmp20_ = NULL; +#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = self->priv->last_category; +#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = publishing_piwigo_publishing_options_pane_find_category_index (self, _tmp12_); +#line 1375 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + last_category_index = _tmp13_; +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = last_category_index; +#line 1376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp14_ < 0) { +#line 9221 "PiwigoPublishing.c" + GtkComboBoxText* _tmp15_ = NULL; +#line 1377 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = self->priv->existing_categories_combo; +#line 1377 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 9227 "PiwigoPublishing.c" + } else { + GtkComboBoxText* _tmp16_ = NULL; + gint _tmp17_ = 0; +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = self->priv->existing_categories_combo; +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = last_category_index; +#line 1379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_combo_box_get_type (), GtkComboBox), _tmp17_); +#line 9237 "PiwigoPublishing.c" + } +#line 1381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = self->priv->new_category_entry; +#line 1381 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = self->priv->album_comment; +#line 1382 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = self->priv->album_comment_label; +#line 1383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 9251 "PiwigoPublishing.c" + } +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = publishing_piwigo_publishing_options_pane_DEFAULT_CATEGORY_NAME; +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = publishing_piwigo_publishing_options_pane_category_already_exists (self, _tmp21_); +#line 1385 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp22_) { +#line 9259 "PiwigoPublishing.c" + GtkEntry* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = self->priv->new_category_entry; +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = publishing_piwigo_publishing_options_pane_DEFAULT_CATEGORY_NAME; +#line 1386 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_entry_set_text (_tmp23_, _tmp24_); +#line 9268 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_publishing_options_pane_create_within_categories_combo (PublishingPiwigoPublishingOptionsPane* self) { + GtkComboBoxText* _tmp0_ = NULL; + PublishingPiwigoCategory** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GtkLabel* _tmp6_ = NULL; + GtkComboBoxText* _tmp7_ = NULL; + GtkComboBoxText* _tmp8_ = NULL; +#line 1389 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->within_existing_combo; +#line 1391 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_text_append_text (_tmp0_, "/ "); +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = self->priv->existing_categories; +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1__length1 = self->priv->existing_categories_length1; +#line 9290 "PiwigoPublishing.c" + { + PublishingPiwigoCategory** cat_collection = NULL; + gint cat_collection_length1 = 0; + gint _cat_collection_size_ = 0; + gint cat_it = 0; +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cat_collection = _tmp1_; +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cat_collection_length1 = _tmp1__length1; +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (cat_it = 0; cat_it < _tmp1__length1; cat_it = cat_it + 1) { +#line 9302 "PiwigoPublishing.c" + PublishingPiwigoCategory* _tmp2_ = NULL; + PublishingPiwigoCategory* cat = NULL; +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = _publishing_piwigo_category_ref0 (cat_collection[cat_it]); +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + cat = _tmp2_; +#line 9309 "PiwigoPublishing.c" + { + GtkComboBoxText* _tmp3_ = NULL; + PublishingPiwigoCategory* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 1393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->within_existing_combo; +#line 1393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = cat; +#line 1393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _tmp4_->display_name; +#line 1393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp5_); +#line 1392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (cat); +#line 9324 "PiwigoPublishing.c" + } + } + } +#line 1396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = self->priv->within_existing_label; +#line 1396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = self->priv->within_existing_combo; +#line 1397 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->within_existing_combo; +#line 1398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 9340 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_create_permissions_combo (PublishingPiwigoPublishingOptionsPane* self) { + PublishingPiwigoPermissionLevel** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint last_permission_level_index = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->perm_levels; +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0__length1 = self->priv->perm_levels_length1; +#line 9357 "PiwigoPublishing.c" + { + PublishingPiwigoPermissionLevel** perm_collection = NULL; + gint perm_collection_length1 = 0; + gint _perm_collection_size_ = 0; + gint perm_it = 0; +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + perm_collection = _tmp0_; +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + perm_collection_length1 = _tmp0__length1; +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (perm_it = 0; perm_it < _tmp0__length1; perm_it = perm_it + 1) { +#line 9369 "PiwigoPublishing.c" + PublishingPiwigoPermissionLevel* _tmp1_ = NULL; + PublishingPiwigoPermissionLevel* perm = NULL; +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _publishing_piwigo_permission_level_ref0 (perm_collection[perm_it]); +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + perm = _tmp1_; +#line 9376 "PiwigoPublishing.c" + { + GtkComboBoxText* _tmp2_ = NULL; + PublishingPiwigoPermissionLevel* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->perms_combo; +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = perm; +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_->name; +#line 1403 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_text_append_text (_tmp2_, _tmp4_); +#line 1402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_permission_level_unref0 (perm); +#line 9391 "PiwigoPublishing.c" + } + } + } +#line 1405 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->last_permission_level; +#line 1405 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = publishing_piwigo_publishing_options_pane_find_permission_level_index (self, _tmp5_); +#line 1405 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + last_permission_level_index = _tmp6_; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = last_permission_level_index; +#line 1406 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_ < 0) { +#line 9405 "PiwigoPublishing.c" + GtkComboBoxText* _tmp8_ = NULL; +#line 1407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->perms_combo; +#line 1407 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 9411 "PiwigoPublishing.c" + } else { + GtkComboBoxText* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 1409 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = self->priv->perms_combo; +#line 1409 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = last_permission_level_index; +#line 1409 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_combo_box_get_type (), GtkComboBox), _tmp10_); +#line 9421 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_publishing_options_pane_create_size_combo (PublishingPiwigoPublishingOptionsPane* self) { + PublishingPiwigoSizeEntry** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint last_size_index = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1413 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->photo_sizes; +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0__length1 = self->priv->photo_sizes_length1; +#line 9439 "PiwigoPublishing.c" + { + PublishingPiwigoSizeEntry** size_collection = NULL; + gint size_collection_length1 = 0; + gint _size_collection_size_ = 0; + gint size_it = 0; +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + size_collection = _tmp0_; +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + size_collection_length1 = _tmp0__length1; +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (size_it = 0; size_it < _tmp0__length1; size_it = size_it + 1) { +#line 9451 "PiwigoPublishing.c" + PublishingPiwigoSizeEntry* _tmp1_ = NULL; + PublishingPiwigoSizeEntry* size = NULL; +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _publishing_piwigo_size_entry_ref0 (size_collection[size_it]); +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + size = _tmp1_; +#line 9458 "PiwigoPublishing.c" + { + GtkComboBoxText* _tmp2_ = NULL; + PublishingPiwigoSizeEntry* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->size_combo; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = size; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_->name; +#line 1415 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_text_append_text (_tmp2_, _tmp4_); +#line 1414 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_size_entry_unref0 (size); +#line 9473 "PiwigoPublishing.c" + } + } + } +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = self->priv->last_photo_size; +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = publishing_piwigo_publishing_options_pane_find_size_index (self, _tmp5_); +#line 1417 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + last_size_index = _tmp6_; +#line 1418 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = last_size_index; +#line 1418 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_ < 0) { +#line 9487 "PiwigoPublishing.c" + GtkComboBoxText* _tmp8_ = NULL; + gint _tmp9_ = 0; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = self->priv->size_combo; +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = publishing_piwigo_publishing_options_pane_find_size_index (self, PUBLISHING_PIWIGO_ORIGINAL_SIZE); +#line 1419 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), _tmp9_); +#line 9496 "PiwigoPublishing.c" + } else { + GtkComboBoxText* _tmp10_ = NULL; + gint _tmp11_ = 0; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = self->priv->size_combo; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = last_size_index; +#line 1421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_combo_box_get_type (), GtkComboBox), _tmp11_); +#line 9506 "PiwigoPublishing.c" + } +} + + +static void publishing_piwigo_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingPiwigoPublishingOptionsPane * self; +#line 1425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPane); +#line 9515 "PiwigoPublishing.c" +} + + +static gint publishing_piwigo_publishing_options_pane_find_category_index (PublishingPiwigoPublishingOptionsPane* self, gint category_id) { + gint result = 0; + gint _result_ = 0; +#line 1428 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), 0); +#line 1429 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = -1; +#line 9526 "PiwigoPublishing.c" + { + gint i = 0; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = 0; +#line 9531 "PiwigoPublishing.c" + { + gboolean _tmp0_ = FALSE; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = TRUE; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + while (TRUE) { +#line 9538 "PiwigoPublishing.c" + gint _tmp2_ = 0; + PublishingPiwigoCategory** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PublishingPiwigoCategory** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint _tmp5_ = 0; + PublishingPiwigoCategory* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp0_) { +#line 9550 "PiwigoPublishing.c" + gint _tmp1_ = 0; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = i; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = _tmp1_ + 1; +#line 9556 "PiwigoPublishing.c" + } +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = FALSE; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = i; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->existing_categories; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3__length1 = self->priv->existing_categories_length1; +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!(_tmp2_ < _tmp3__length1)) { +#line 1430 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9570 "PiwigoPublishing.c" + } +#line 1431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->existing_categories; +#line 1431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4__length1 = self->priv->existing_categories_length1; +#line 1431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = i; +#line 1431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 1431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp6_->id; +#line 1431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = category_id; +#line 1431 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_ == _tmp8_) { +#line 9586 "PiwigoPublishing.c" + gint _tmp9_ = 0; +#line 1432 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = i; +#line 1432 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = _tmp9_; +#line 1433 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9594 "PiwigoPublishing.c" + } + } + } + } +#line 1436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _result_; +#line 1436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 9603 "PiwigoPublishing.c" +} + + +static gint publishing_piwigo_publishing_options_pane_find_permission_level_index (PublishingPiwigoPublishingOptionsPane* self, gint permission_level_id) { + gint result = 0; + gint _result_ = 0; +#line 1439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), 0); +#line 1440 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = -1; +#line 9614 "PiwigoPublishing.c" + { + gint i = 0; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = 0; +#line 9619 "PiwigoPublishing.c" + { + gboolean _tmp0_ = FALSE; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = TRUE; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + while (TRUE) { +#line 9626 "PiwigoPublishing.c" + gint _tmp2_ = 0; + PublishingPiwigoPermissionLevel** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PublishingPiwigoPermissionLevel** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint _tmp5_ = 0; + PublishingPiwigoPermissionLevel* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp0_) { +#line 9638 "PiwigoPublishing.c" + gint _tmp1_ = 0; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = i; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = _tmp1_ + 1; +#line 9644 "PiwigoPublishing.c" + } +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = FALSE; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = i; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->perm_levels; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3__length1 = self->priv->perm_levels_length1; +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!(_tmp2_ < _tmp3__length1)) { +#line 1441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9658 "PiwigoPublishing.c" + } +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->perm_levels; +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4__length1 = self->priv->perm_levels_length1; +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = i; +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp6_->id; +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = permission_level_id; +#line 1442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_ == _tmp8_) { +#line 9674 "PiwigoPublishing.c" + gint _tmp9_ = 0; +#line 1443 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = i; +#line 1443 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = _tmp9_; +#line 1444 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9682 "PiwigoPublishing.c" + } + } + } + } +#line 1447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _result_; +#line 1447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 9691 "PiwigoPublishing.c" +} + + +static gint publishing_piwigo_publishing_options_pane_find_size_index (PublishingPiwigoPublishingOptionsPane* self, gint size_id) { + gint result = 0; + gint _result_ = 0; +#line 1450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), 0); +#line 1451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = -1; +#line 9702 "PiwigoPublishing.c" + { + gint i = 0; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = 0; +#line 9707 "PiwigoPublishing.c" + { + gboolean _tmp0_ = FALSE; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = TRUE; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + while (TRUE) { +#line 9714 "PiwigoPublishing.c" + gint _tmp2_ = 0; + PublishingPiwigoSizeEntry** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PublishingPiwigoSizeEntry** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint _tmp5_ = 0; + PublishingPiwigoSizeEntry* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp0_) { +#line 9726 "PiwigoPublishing.c" + gint _tmp1_ = 0; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = i; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + i = _tmp1_ + 1; +#line 9732 "PiwigoPublishing.c" + } +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = FALSE; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = i; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->photo_sizes; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3__length1 = self->priv->photo_sizes_length1; +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!(_tmp2_ < _tmp3__length1)) { +#line 1452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9746 "PiwigoPublishing.c" + } +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->photo_sizes; +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4__length1 = self->priv->photo_sizes_length1; +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = i; +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp6_->id; +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = size_id; +#line 1453 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_ == _tmp8_) { +#line 9762 "PiwigoPublishing.c" + gint _tmp9_ = 0; +#line 1454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = i; +#line 1454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = _tmp9_; +#line 1455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9770 "PiwigoPublishing.c" + } + } + } + } +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _result_; +#line 1458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 9779 "PiwigoPublishing.c" +} + + +static gboolean publishing_piwigo_publishing_options_pane_category_already_exists (PublishingPiwigoPublishingOptionsPane* self, const gchar* category_name) { + gboolean result = FALSE; + gboolean _result_ = FALSE; + PublishingPiwigoCategory** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 1461 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_OPTIONS_PANE (self), FALSE); +#line 1461 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (category_name != NULL, FALSE); +#line 1462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = FALSE; +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->existing_categories; +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0__length1 = self->priv->existing_categories_length1; +#line 9798 "PiwigoPublishing.c" + { + PublishingPiwigoCategory** category_collection = NULL; + gint category_collection_length1 = 0; + gint _category_collection_size_ = 0; + gint category_it = 0; +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + category_collection = _tmp0_; +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + category_collection_length1 = _tmp0__length1; +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + for (category_it = 0; category_it < _tmp0__length1; category_it = category_it + 1) { +#line 9810 "PiwigoPublishing.c" + PublishingPiwigoCategory* _tmp1_ = NULL; + PublishingPiwigoCategory* category = NULL; +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _publishing_piwigo_category_ref0 (category_collection[category_it]); +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + category = _tmp1_; +#line 9817 "PiwigoPublishing.c" + { + PublishingPiwigoCategory* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = category; +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = _tmp2_->display_name; +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = string_strip (_tmp3_); +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _tmp4_; +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = category_name; +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = g_strcmp0 (_tmp5_, _tmp6_) == 0; +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp5_); +#line 1464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp7_) { +#line 1465 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _result_ = TRUE; +#line 1466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (category); +#line 1466 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + break; +#line 9847 "PiwigoPublishing.c" + } +#line 1463 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_category_unref0 (category); +#line 9851 "PiwigoPublishing.c" + } + } + } +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _result_; +#line 1469 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 9859 "PiwigoPublishing.c" +} + + +static void g_cclosure_user_marshal_VOID__PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_BOOLEAN) (gpointer data1, gpointer arg_1, gboolean arg_2, gpointer data2); + register GMarshalFunc_VOID__PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (n_param_values == 3); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data1 = closure->data; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data2 = param_values->data[0].v_pointer; +#line 9878 "PiwigoPublishing.c" + } else { +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data1 = param_values->data[0].v_pointer; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + data2 = closure->data; +#line 9884 "PiwigoPublishing.c" + } +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + callback = (GMarshalFunc_VOID__PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + callback (data1, publishing_piwigo_value_get_publishing_parameters (param_values + 1), g_value_get_boolean (param_values + 2), data2); +#line 9890 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_class_init (PublishingPiwigoPublishingOptionsPaneClass * klass) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPiwigoPublishingOptionsPanePrivate)); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_piwigo_publishing_options_pane_finalize; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_new ("publish", PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__PUBLISHING_PIWIGO_PUBLISHING_PARAMETERS_BOOLEAN, G_TYPE_NONE, 2, PUBLISHING_PIWIGO_TYPE_PUBLISHING_PARAMETERS, G_TYPE_BOOLEAN); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_signal_new ("logout", PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = _ ("Shotwell Connect"); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_DEFAULT_CATEGORY_NAME = _tmp1_; +#line 9913 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_piwigo_publishing_options_pane_real_get_widget; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_piwigo_publishing_options_pane_real_get_preferred_geometry; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_piwigo_publishing_options_pane_real_on_pane_installed; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_piwigo_publishing_options_pane_real_on_pane_uninstalled; +#line 9928 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_instance_init (PublishingPiwigoPublishingOptionsPane * self) { +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv = PUBLISHING_PIWIGO_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pane_widget = NULL; +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->strip_metadata_check = NULL; +#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->title_as_comment_check = NULL; +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->no_upload_tags_check = NULL; +#line 9943 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_publishing_options_pane_finalize (GObject* obj) { + PublishingPiwigoPublishingOptionsPane * self; +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_PUBLISHING_OPTIONS_PANE, PublishingPiwigoPublishingOptionsPane); +#line 1116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 1117 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 1118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->use_existing_radio); +#line 1119 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->create_new_radio); +#line 1120 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->existing_categories_combo); +#line 1121 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->new_category_entry); +#line 1122 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->within_existing_label); +#line 1123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->within_existing_combo); +#line 1124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->perms_combo); +#line 1125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->size_combo); +#line 1126 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->strip_metadata_check); +#line 1127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->title_as_comment_check); +#line 1128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->no_upload_tags_check); +#line 1129 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 1130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 1131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->album_comment); +#line 1132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (self->priv->album_comment_label); +#line 1134 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->existing_categories = (_vala_array_free (self->priv->existing_categories, self->priv->existing_categories_length1, (GDestroyNotify) publishing_piwigo_category_unref), NULL); +#line 1135 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->perm_levels = (_vala_array_free (self->priv->perm_levels, self->priv->perm_levels_length1, (GDestroyNotify) publishing_piwigo_permission_level_unref), NULL); +#line 1136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->photo_sizes = (_vala_array_free (self->priv->photo_sizes, self->priv->photo_sizes_length1, (GDestroyNotify) publishing_piwigo_size_entry_unref), NULL); +#line 1112 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + G_OBJECT_CLASS (publishing_piwigo_publishing_options_pane_parent_class)->finalize (obj); +#line 9993 "PiwigoPublishing.c" +} + + +/** + * The publishing options pane. + */ +GType publishing_piwigo_publishing_options_pane_get_type (void) { + static volatile gsize publishing_piwigo_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoPublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoPublishingOptionsPane), 0, (GInstanceInitFunc) publishing_piwigo_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_piwigo_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_piwigo_publishing_options_pane_type_id; + publishing_piwigo_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingPiwigoPublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_piwigo_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_piwigo_publishing_options_pane_type_id__volatile, publishing_piwigo_publishing_options_pane_type_id); + } + return publishing_piwigo_publishing_options_pane_type_id__volatile; +} + + +PublishingPiwigoSession* publishing_piwigo_session_construct (GType object_type) { + PublishingPiwigoSession* self = NULL; +#line 1485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoSession*) publishing_rest_support_session_construct (object_type, ""); +#line 1484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10020 "PiwigoPublishing.c" +} + + +PublishingPiwigoSession* publishing_piwigo_session_new (void) { +#line 1484 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_session_construct (PUBLISHING_PIWIGO_TYPE_SESSION); +#line 10027 "PiwigoPublishing.c" +} + + +static gboolean publishing_piwigo_session_real_is_authenticated (PublishingRESTSupportSession* base) { + PublishingPiwigoSession * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; +#line 1488 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_PIWIGO_TYPE_SESSION, PublishingPiwigoSession); +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = self->priv->pwg_id; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp2_ != NULL) { +#line 10043 "PiwigoPublishing.c" + const gchar* _tmp3_ = NULL; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = self->priv->pwg_url; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = _tmp3_ != NULL; +#line 10049 "PiwigoPublishing.c" + } else { +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = FALSE; +#line 10053 "PiwigoPublishing.c" + } +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp1_) { +#line 10057 "PiwigoPublishing.c" + const gchar* _tmp4_ = NULL; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = self->priv->username; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = _tmp4_ != NULL; +#line 10063 "PiwigoPublishing.c" + } else { +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = FALSE; +#line 10067 "PiwigoPublishing.c" + } +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp0_; +#line 1489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10073 "PiwigoPublishing.c" +} + + +void publishing_piwigo_session_authenticate (PublishingPiwigoSession* self, const gchar* url, const gchar* username, const gchar* id) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_SESSION (self)); +#line 1492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (url != NULL); +#line 1492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (username != NULL); +#line 1492 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (id != NULL); +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = url; +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->pwg_url); +#line 1493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pwg_url = _tmp1_; +#line 1494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = username; +#line 1494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->username); +#line 1494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->username = _tmp3_; +#line 1495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = id; +#line 1495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 1495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->pwg_id); +#line 1495 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pwg_id = _tmp5_; +#line 10116 "PiwigoPublishing.c" +} + + +void publishing_piwigo_session_deauthenticate (PublishingPiwigoSession* self) { +#line 1498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_SESSION (self)); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->pwg_url); +#line 1499 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pwg_url = NULL; +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->pwg_id); +#line 1500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pwg_id = NULL; +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->username); +#line 1501 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->username = NULL; +#line 10135 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_session_get_username (PublishingPiwigoSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (self), NULL); +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->username; +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 1505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10153 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_session_get_pwg_url (PublishingPiwigoSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (self), NULL); +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->pwg_url; +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 1509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10171 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_session_get_pwg_id (PublishingPiwigoSession* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (self), NULL); +#line 1513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = self->priv->pwg_id; +#line 1513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp1_; +#line 1513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10189 "PiwigoPublishing.c" +} + + +void publishing_piwigo_session_set_pwg_id (PublishingPiwigoSession* self, const gchar* id) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (PUBLISHING_PIWIGO_IS_SESSION (self)); +#line 1516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_if_fail (id != NULL); +#line 1517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = id; +#line 1517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->pwg_id); +#line 1517 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pwg_id = _tmp1_; +#line 10208 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_class_init (PublishingPiwigoSessionClass * klass) { +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_session_parent_class = g_type_class_peek_parent (klass); +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->finalize = publishing_piwigo_session_finalize; +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPiwigoSessionPrivate)); +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingRESTSupportSessionClass *) klass)->is_authenticated = publishing_piwigo_session_real_is_authenticated; +#line 10221 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_instance_init (PublishingPiwigoSession * self) { +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv = PUBLISHING_PIWIGO_SESSION_GET_PRIVATE (self); +#line 1480 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pwg_url = NULL; +#line 1481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->pwg_id = NULL; +#line 1482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->username = NULL; +#line 10234 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_finalize (PublishingRESTSupportSession* obj) { + PublishingPiwigoSession * self; +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_SESSION, PublishingPiwigoSession); +#line 1480 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->pwg_url); +#line 1481 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->pwg_id); +#line 1482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (self->priv->username); +#line 1479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + PUBLISHING_REST_SUPPORT_SESSION_CLASS (publishing_piwigo_session_parent_class)->finalize (obj); +#line 10250 "PiwigoPublishing.c" +} + + +/** + * Session class that keeps track of the authentication status and of the + * user token pwg_id. + */ +GType publishing_piwigo_session_get_type (void) { + static volatile gsize publishing_piwigo_session_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_session_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoSessionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_session_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoSession), 0, (GInstanceInitFunc) publishing_piwigo_session_instance_init, NULL }; + GType publishing_piwigo_session_type_id; + publishing_piwigo_session_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_SESSION, "PublishingPiwigoSession", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_session_type_id__volatile, publishing_piwigo_session_type_id); + } + return publishing_piwigo_session_type_id__volatile; +} + + +PublishingPiwigoTransaction* publishing_piwigo_transaction_construct (GType object_type, PublishingPiwigoSession* session) { + PublishingPiwigoTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + PublishingPiwigoSession* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1531 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoTransaction*) publishing_rest_support_transaction_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = session; +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1532 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp2_) { +#line 10287 "PiwigoPublishing.c" + PublishingPiwigoSession* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = session; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = publishing_piwigo_session_get_pwg_id (_tmp3_); +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _tmp4_; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = g_strconcat ("pwg_id=", _tmp5_, NULL); +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp6_; +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Cookie", _tmp7_); +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp7_); +#line 1533 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp5_); +#line 10309 "PiwigoPublishing.c" + } +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10313 "PiwigoPublishing.c" +} + + +PublishingPiwigoTransaction* publishing_piwigo_transaction_new (PublishingPiwigoSession* session) { +#line 1530 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_transaction_construct (PUBLISHING_PIWIGO_TYPE_TRANSACTION, session); +#line 10320 "PiwigoPublishing.c" +} + + +PublishingPiwigoTransaction* publishing_piwigo_transaction_construct_authenticated (GType object_type, PublishingPiwigoSession* session) { + PublishingPiwigoTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + PublishingPiwigoSession* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingPiwigoSession* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = session; +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = publishing_piwigo_session_get_pwg_url (_tmp1_); +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = _tmp2_; +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp3_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp3_); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = session; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_piwigo_session_get_pwg_id (_tmp4_); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp5_; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = g_strconcat ("pwg_id=", _tmp6_, NULL); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = _tmp7_; +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Cookie", _tmp8_); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp8_); +#line 1539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp6_); +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10367 "PiwigoPublishing.c" +} + + +PublishingPiwigoTransaction* publishing_piwigo_transaction_new_authenticated (PublishingPiwigoSession* session) { +#line 1537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_transaction_construct_authenticated (PUBLISHING_PIWIGO_TYPE_TRANSACTION, session); +#line 10374 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc) { + gchar* result = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; + gchar* status = NULL; + xmlNode* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp6_ = NULL; + xmlNode* errcode = NULL; + xmlNode* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + xmlNode* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GError * _inner_error_ = NULL; +#line 1542 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (doc), NULL); +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = doc; +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_get_root_node (_tmp0_); +#line 1543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + root = _tmp1_; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = root; +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = (gchar*) xmlGetProp (_tmp2_, (xmlChar*) "stat"); +#line 1544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + status = _tmp3_; +#line 1547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = status; +#line 1547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp4_ == NULL) { +#line 10416 "PiwigoPublishing.c" + gchar* _tmp5_ = NULL; +#line 1548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_strdup ("No status property in root node"); +#line 1548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp5_; +#line 1548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (status); +#line 1548 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10426 "PiwigoPublishing.c" + } +#line 1550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = status; +#line 1550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_strcmp0 (_tmp6_, "ok") == 0) { +#line 1551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = NULL; +#line 1551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (status); +#line 1551 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10438 "PiwigoPublishing.c" + } + { + xmlNode* _tmp7_ = NULL; + PublishingRESTSupportXmlDocument* _tmp8_ = NULL; + xmlNode* _tmp9_ = NULL; + xmlNode* _tmp10_ = NULL; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = doc; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = root; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = publishing_rest_support_xml_document_get_named_child (_tmp8_, _tmp9_, "err", &_inner_error_); +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = _tmp10_; +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 10457 "PiwigoPublishing.c" + goto __catch46_spit_publishing_publishing_error; + } +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (status); +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 10468 "PiwigoPublishing.c" + } +#line 1555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + errcode = _tmp7_; +#line 10472 "PiwigoPublishing.c" + } + goto __finally46; + __catch46_spit_publishing_publishing_error: + { + GError* err = NULL; + gchar* _tmp11_ = NULL; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = g_strdup ("No error code specified"); +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp11_; +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (status); +#line 1557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10493 "PiwigoPublishing.c" + } + __finally46: +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (status); +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 1554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 10506 "PiwigoPublishing.c" + } +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = errcode; +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = (gchar*) xmlGetProp (_tmp12_, (xmlChar*) "msg"); +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = _tmp13_; +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp15_ = errcode; +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = (gchar*) xmlGetProp (_tmp15_, (xmlChar*) "code"); +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = _tmp16_; +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = g_strdup_printf ("%s (error code %s)", _tmp14_, _tmp17_); +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = _tmp18_; +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp17_); +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp14_); +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp19_; +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (status); +#line 1560 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10534 "PiwigoPublishing.c" +} + + +gchar* publishing_piwigo_transaction_get_error_code (PublishingRESTSupportXmlDocument* doc) { + gchar* result = NULL; + xmlNode* root = NULL; + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; + xmlNode* errcode = NULL; + xmlNode* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 1563 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (doc), NULL); +#line 1564 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = doc; +#line 1564 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_get_root_node (_tmp0_); +#line 1564 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + root = _tmp1_; +#line 10555 "PiwigoPublishing.c" + { + xmlNode* _tmp2_ = NULL; + PublishingRESTSupportXmlDocument* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; + xmlNode* _tmp5_ = NULL; +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = doc; +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = root; +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = publishing_rest_support_xml_document_get_named_child (_tmp3_, _tmp4_, "err", &_inner_error_); +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = _tmp5_; +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 10573 "PiwigoPublishing.c" + goto __catch47_spit_publishing_publishing_error; + } +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.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 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 10582 "PiwigoPublishing.c" + } +#line 1567 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + errcode = _tmp2_; +#line 10586 "PiwigoPublishing.c" + } + goto __finally47; + __catch47_spit_publishing_publishing_error: + { + GError* err = NULL; + gchar* _tmp6_ = NULL; +#line 1566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + err = _inner_error_; +#line 1566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _inner_error_ = NULL; +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = g_strdup ("0"); +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp6_; +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_error_free0 (err); +#line 1569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10605 "PiwigoPublishing.c" + } + __finally47: +#line 1566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_clear_error (&_inner_error_); +#line 1566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return NULL; +#line 10616 "PiwigoPublishing.c" + } +#line 1571 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = errcode; +#line 1571 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = (gchar*) xmlGetProp (_tmp7_, (xmlChar*) "code"); +#line 1571 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + result = _tmp8_; +#line 1571 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return result; +#line 10626 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_transaction_class_init (PublishingPiwigoTransactionClass * klass) { +#line 1529 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10633 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_transaction_instance_init (PublishingPiwigoTransaction * self) { +} + + +/** + * Generic REST transaction class. + * + * This class implements the generic logic for all REST transactions used + * by the Piwigo publishing plugin. In particular, it ensures that if the + * session has been authenticated, the pwg_id token is included in the + * transaction header. + */ +GType publishing_piwigo_transaction_get_type (void) { + static volatile gsize publishing_piwigo_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoTransaction), 0, (GInstanceInitFunc) publishing_piwigo_transaction_instance_init, NULL }; + GType publishing_piwigo_transaction_type_id; + publishing_piwigo_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, "PublishingPiwigoTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_transaction_type_id__volatile, publishing_piwigo_transaction_type_id); + } + return publishing_piwigo_transaction_type_id__volatile; +} + + +PublishingPiwigoSessionLoginTransaction* publishing_piwigo_session_login_transaction_construct (GType object_type, PublishingPiwigoSession* session, const gchar* url, const gchar* username, const gchar* password) { + PublishingPiwigoSessionLoginTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (username != NULL, NULL); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (password != NULL, NULL); +#line 1580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = url; +#line 1580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoSessionLoginTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "pwg.session.login"); +#line 1583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = username; +#line 1583 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "username", _tmp2_); +#line 1584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = password; +#line 1584 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "password", _tmp3_); +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10693 "PiwigoPublishing.c" +} + + +PublishingPiwigoSessionLoginTransaction* publishing_piwigo_session_login_transaction_new (PublishingPiwigoSession* session, const gchar* url, const gchar* username, const gchar* password) { +#line 1579 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_session_login_transaction_construct (PUBLISHING_PIWIGO_TYPE_SESSION_LOGIN_TRANSACTION, session, url, username, password); +#line 10700 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_login_transaction_class_init (PublishingPiwigoSessionLoginTransactionClass * klass) { +#line 1578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_session_login_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10707 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_login_transaction_instance_init (PublishingPiwigoSessionLoginTransaction * self) { +} + + +/** + * Transaction used to implement the network login interaction. + */ +GType publishing_piwigo_session_login_transaction_get_type (void) { + static volatile gsize publishing_piwigo_session_login_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_session_login_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoSessionLoginTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_session_login_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoSessionLoginTransaction), 0, (GInstanceInitFunc) publishing_piwigo_session_login_transaction_instance_init, NULL }; + GType publishing_piwigo_session_login_transaction_type_id; + publishing_piwigo_session_login_transaction_type_id = g_type_register_static (PUBLISHING_PIWIGO_TYPE_TRANSACTION, "PublishingPiwigoSessionLoginTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_session_login_transaction_type_id__volatile, publishing_piwigo_session_login_transaction_type_id); + } + return publishing_piwigo_session_login_transaction_type_id__volatile; +} + + +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_construct_unauthenticated (GType object_type, PublishingPiwigoSession* session, const gchar* url, const gchar* pwg_id) { + PublishingPiwigoSessionGetStatusTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingPiwigoSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (pwg_id != NULL, NULL); +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = url; +#line 1593 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoSessionGetStatusTransaction*) publishing_rest_support_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = session; +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_piwigo_session_get_pwg_id (_tmp2_); +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_; +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = g_strconcat ("pwg_id=", _tmp4_, NULL); +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = _tmp5_; +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Cookie", _tmp6_); +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp6_); +#line 1594 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp4_); +#line 1596 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "pwg.session.getStatus"); +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10771 "PiwigoPublishing.c" +} + + +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_new_unauthenticated (PublishingPiwigoSession* session, const gchar* url, const gchar* pwg_id) { +#line 1592 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_session_get_status_transaction_construct_unauthenticated (PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION, session, url, pwg_id); +#line 10778 "PiwigoPublishing.c" +} + + +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_construct (GType object_type, PublishingPiwigoSession* session) { + PublishingPiwigoSessionGetStatusTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoSessionGetStatusTransaction*) publishing_piwigo_transaction_construct_authenticated (object_type, _tmp0_); +#line 1602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "pwg.session.getStatus"); +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10795 "PiwigoPublishing.c" +} + + +PublishingPiwigoSessionGetStatusTransaction* publishing_piwigo_session_get_status_transaction_new (PublishingPiwigoSession* session) { +#line 1599 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_session_get_status_transaction_construct (PUBLISHING_PIWIGO_TYPE_SESSION_GET_STATUS_TRANSACTION, session); +#line 10802 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_get_status_transaction_class_init (PublishingPiwigoSessionGetStatusTransactionClass * klass) { +#line 1591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_session_get_status_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10809 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_get_status_transaction_instance_init (PublishingPiwigoSessionGetStatusTransaction * self) { +} + + +/** + * Transaction used to implement the get status interaction. + */ +GType publishing_piwigo_session_get_status_transaction_get_type (void) { + static volatile gsize publishing_piwigo_session_get_status_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_session_get_status_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoSessionGetStatusTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_session_get_status_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoSessionGetStatusTransaction), 0, (GInstanceInitFunc) publishing_piwigo_session_get_status_transaction_instance_init, NULL }; + GType publishing_piwigo_session_get_status_transaction_type_id; + publishing_piwigo_session_get_status_transaction_type_id = g_type_register_static (PUBLISHING_PIWIGO_TYPE_TRANSACTION, "PublishingPiwigoSessionGetStatusTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_session_get_status_transaction_type_id__volatile, publishing_piwigo_session_get_status_transaction_type_id); + } + return publishing_piwigo_session_get_status_transaction_type_id__volatile; +} + + +PublishingPiwigoCategoriesGetListTransaction* publishing_piwigo_categories_get_list_transaction_construct (GType object_type, PublishingPiwigoSession* session) { + PublishingPiwigoCategoriesGetListTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; +#line 1610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoCategoriesGetListTransaction*) publishing_piwigo_transaction_construct_authenticated (object_type, _tmp0_); +#line 1613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "pwg.categories.getList"); +#line 1614 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "recursive", "true"); +#line 1610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10847 "PiwigoPublishing.c" +} + + +PublishingPiwigoCategoriesGetListTransaction* publishing_piwigo_categories_get_list_transaction_new (PublishingPiwigoSession* session) { +#line 1610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_categories_get_list_transaction_construct (PUBLISHING_PIWIGO_TYPE_CATEGORIES_GET_LIST_TRANSACTION, session); +#line 10854 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_categories_get_list_transaction_class_init (PublishingPiwigoCategoriesGetListTransactionClass * klass) { +#line 1609 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_categories_get_list_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10861 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_categories_get_list_transaction_instance_init (PublishingPiwigoCategoriesGetListTransaction * self) { +} + + +/** + * Transaction used to implement the fetch categories interaction. + */ +GType publishing_piwigo_categories_get_list_transaction_get_type (void) { + static volatile gsize publishing_piwigo_categories_get_list_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_categories_get_list_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoCategoriesGetListTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_categories_get_list_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoCategoriesGetListTransaction), 0, (GInstanceInitFunc) publishing_piwigo_categories_get_list_transaction_instance_init, NULL }; + GType publishing_piwigo_categories_get_list_transaction_type_id; + publishing_piwigo_categories_get_list_transaction_type_id = g_type_register_static (PUBLISHING_PIWIGO_TYPE_TRANSACTION, "PublishingPiwigoCategoriesGetListTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_categories_get_list_transaction_type_id__volatile, publishing_piwigo_categories_get_list_transaction_type_id); + } + return publishing_piwigo_categories_get_list_transaction_type_id__volatile; +} + + +PublishingPiwigoSessionLogoutTransaction* publishing_piwigo_session_logout_transaction_construct (GType object_type, PublishingPiwigoSession* session) { + PublishingPiwigoSessionLogoutTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; +#line 1619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoSessionLogoutTransaction*) publishing_piwigo_transaction_construct_authenticated (object_type, _tmp0_); +#line 1622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "pwg.session.logout"); +#line 1619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10897 "PiwigoPublishing.c" +} + + +PublishingPiwigoSessionLogoutTransaction* publishing_piwigo_session_logout_transaction_new (PublishingPiwigoSession* session) { +#line 1619 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_session_logout_transaction_construct (PUBLISHING_PIWIGO_TYPE_SESSION_LOGOUT_TRANSACTION, session); +#line 10904 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_logout_transaction_class_init (PublishingPiwigoSessionLogoutTransactionClass * klass) { +#line 1618 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_session_logout_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10911 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_session_logout_transaction_instance_init (PublishingPiwigoSessionLogoutTransaction * self) { +} + + +GType publishing_piwigo_session_logout_transaction_get_type (void) { + static volatile gsize publishing_piwigo_session_logout_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_session_logout_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoSessionLogoutTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_session_logout_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoSessionLogoutTransaction), 0, (GInstanceInitFunc) publishing_piwigo_session_logout_transaction_instance_init, NULL }; + GType publishing_piwigo_session_logout_transaction_type_id; + publishing_piwigo_session_logout_transaction_type_id = g_type_register_static (PUBLISHING_PIWIGO_TYPE_TRANSACTION, "PublishingPiwigoSessionLogoutTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_session_logout_transaction_type_id__volatile, publishing_piwigo_session_logout_transaction_type_id); + } + return publishing_piwigo_session_logout_transaction_type_id__volatile; +} + + +PublishingPiwigoCategoriesAddTransaction* publishing_piwigo_categories_add_transaction_construct (GType object_type, PublishingPiwigoSession* session, const gchar* category, gint parent_id, const gchar* comment) { + PublishingPiwigoCategoriesAddTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp6_ = NULL; +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (category != NULL, NULL); +#line 1628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1628 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoCategoriesAddTransaction*) publishing_piwigo_transaction_construct_authenticated (object_type, _tmp0_); +#line 1630 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "pwg.categories.add"); +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = category; +#line 1631 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "name", _tmp1_); +#line 1633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = parent_id; +#line 1633 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp2_ != 0) { +#line 10955 "PiwigoPublishing.c" + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = parent_id; +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = g_strdup_printf ("%i", _tmp3_); +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = _tmp4_; +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "parent", _tmp5_); +#line 1634 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp5_); +#line 10969 "PiwigoPublishing.c" + } +#line 1637 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = comment; +#line 1637 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_strcmp0 (_tmp6_, "") != 0) { +#line 10975 "PiwigoPublishing.c" + const gchar* _tmp7_ = NULL; +#line 1638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = comment; +#line 1638 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "comment", _tmp7_); +#line 10981 "PiwigoPublishing.c" + } +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 10985 "PiwigoPublishing.c" +} + + +PublishingPiwigoCategoriesAddTransaction* publishing_piwigo_categories_add_transaction_new (PublishingPiwigoSession* session, const gchar* category, gint parent_id, const gchar* comment) { +#line 1627 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_categories_add_transaction_construct (PUBLISHING_PIWIGO_TYPE_CATEGORIES_ADD_TRANSACTION, session, category, parent_id, comment); +#line 10992 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_categories_add_transaction_class_init (PublishingPiwigoCategoriesAddTransactionClass * klass) { +#line 1626 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_categories_add_transaction_parent_class = g_type_class_peek_parent (klass); +#line 10999 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_categories_add_transaction_instance_init (PublishingPiwigoCategoriesAddTransaction * self) { +} + + +GType publishing_piwigo_categories_add_transaction_get_type (void) { + static volatile gsize publishing_piwigo_categories_add_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_categories_add_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoCategoriesAddTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_categories_add_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoCategoriesAddTransaction), 0, (GInstanceInitFunc) publishing_piwigo_categories_add_transaction_instance_init, NULL }; + GType publishing_piwigo_categories_add_transaction_type_id; + publishing_piwigo_categories_add_transaction_type_id = g_type_register_static (PUBLISHING_PIWIGO_TYPE_TRANSACTION, "PublishingPiwigoCategoriesAddTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_categories_add_transaction_type_id__volatile, publishing_piwigo_categories_add_transaction_type_id); + } + return publishing_piwigo_categories_add_transaction_type_id__volatile; +} + + +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 11032 "PiwigoPublishing.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 11042 "PiwigoPublishing.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 11052 "PiwigoPublishing.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 11058 "PiwigoPublishing.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 11069 "PiwigoPublishing.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 11081 "PiwigoPublishing.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 11085 "PiwigoPublishing.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 11089 "PiwigoPublishing.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 11093 "PiwigoPublishing.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 11116 "PiwigoPublishing.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 11125 "PiwigoPublishing.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 11138 "PiwigoPublishing.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 11144 "PiwigoPublishing.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 11154 "PiwigoPublishing.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 11166 "PiwigoPublishing.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 11170 "PiwigoPublishing.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 11176 "PiwigoPublishing.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 11187 "PiwigoPublishing.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 11202 "PiwigoPublishing.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 11206 "PiwigoPublishing.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 11210 "PiwigoPublishing.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 11216 "PiwigoPublishing.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 11228 "PiwigoPublishing.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 11249 "PiwigoPublishing.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 11253 "PiwigoPublishing.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 11259 "PiwigoPublishing.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 11266 "PiwigoPublishing.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 11274 "PiwigoPublishing.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 11312 "PiwigoPublishing.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 11321 "PiwigoPublishing.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 11337 "PiwigoPublishing.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 11343 "PiwigoPublishing.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 11357 "PiwigoPublishing.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 11377 "PiwigoPublishing.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 11392 "PiwigoPublishing.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 11396 "PiwigoPublishing.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 11404 "PiwigoPublishing.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 11415 "PiwigoPublishing.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 11424 "PiwigoPublishing.c" + } +} + + +static void _g_free0_ (gpointer var) { +#line 1703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + var = (g_free (var), NULL); +#line 11432 "PiwigoPublishing.c" +} + + +PublishingPiwigoImagesAddTransaction* publishing_piwigo_images_add_transaction_construct (GType object_type, PublishingPiwigoSession* session, PublishingPiwigoPublishingParameters* parameters, SpitPublishingPublishable* publishable) { + PublishingPiwigoImagesAddTransaction* self = NULL; + PublishingPiwigoSession* _tmp0_ = NULL; + SpitPublishingPublishable* _tmp1_ = NULL; + PublishingPiwigoSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + PublishingPiwigoSession* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PublishingPiwigoPublishingParameters* _tmp12_ = NULL; + PublishingPiwigoPublishingParameters* _tmp13_ = NULL; + gchar** keywords = NULL; + SpitPublishingPublishable* _tmp14_ = NULL; + gint _tmp15_ = 0; + gchar** _tmp16_ = NULL; + gint keywords_length1 = 0; + gint _keywords_size_ = 0; + gchar* tags = NULL; + gchar* _tmp17_ = NULL; + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + SpitPublishingPublishable* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + PublishingPiwigoPublishingParameters* _tmp26_ = NULL; + PublishingPiwigoCategory* _tmp27_ = NULL; + gint _tmp28_ = 0; + PublishingPiwigoPublishingParameters* _tmp29_ = NULL; + PublishingPiwigoPermissionLevel* _tmp30_ = NULL; + gint _tmp31_ = 0; + gchar* name = NULL; + SpitPublishingPublishable* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* comment = NULL; + SpitPublishingPublishable* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + PublishingPiwigoPublishingParameters* _tmp53_ = NULL; + PublishingPiwigoCategory* _tmp54_ = NULL; + gint _tmp55_ = 0; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + PublishingPiwigoPublishingParameters* _tmp58_ = NULL; + PublishingPiwigoPermissionLevel* _tmp59_ = NULL; + gint _tmp60_ = 0; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + PublishingPiwigoPublishingParameters* _tmp63_ = NULL; + gboolean _tmp64_ = FALSE; + GHashTable* disposition_table = NULL; + GHashFunc _tmp67_ = NULL; + GEqualFunc _tmp68_ = NULL; + GHashTable* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + SpitPublishingPublishable* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_SESSION (session), NULL); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (PUBLISHING_PIWIGO_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp0_ = session; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp1_ = publishable; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp2_ = session; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp3_ = publishing_piwigo_session_get_pwg_url (_tmp2_); +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp4_ = _tmp3_; +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = (PublishingPiwigoImagesAddTransaction*) publishing_rest_support_upload_transaction_construct_with_endpoint_url (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp4_); +#line 1647 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp4_); +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp5_ = session; +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp6_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 1648 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp6_) { +#line 11524 "PiwigoPublishing.c" + PublishingPiwigoSession* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp7_ = session; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp8_ = publishing_piwigo_session_get_pwg_id (_tmp7_); +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp9_ = _tmp8_; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp10_ = g_strconcat ("pwg_id=", _tmp9_, NULL); +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp11_ = _tmp10_; +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_header (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "Cookie", _tmp11_); +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp11_); +#line 1649 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp9_); +#line 11546 "PiwigoPublishing.c" + } +#line 1651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp12_ = parameters; +#line 1651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp13_ = _publishing_piwigo_publishing_parameters_ref0 (_tmp12_); +#line 1651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_publishing_parameters_unref0 (self->priv->parameters); +#line 1651 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->parameters = _tmp13_; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp14_ = publishable; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp16_ = spit_publishing_publishable_get_publishing_keywords (_tmp14_, &_tmp15_); +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + keywords = _tmp16_; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + keywords_length1 = _tmp15_; +#line 1653 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _keywords_size_ = keywords_length1; +#line 1654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp17_ = g_strdup (""); +#line 1654 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + tags = _tmp17_; +#line 1655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18_ = keywords; +#line 1655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp18__length1 = keywords_length1; +#line 1655 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp18_ != NULL) { +#line 11576 "PiwigoPublishing.c" + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gchar* _tmp20_ = NULL; +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19_ = keywords; +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp19__length1 = keywords_length1; +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp20_ = _vala_g_strjoinv (",", _tmp19_, _tmp19__length1); +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (tags); +#line 1656 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + tags = _tmp20_; +#line 11590 "PiwigoPublishing.c" + } +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp21_ = publishable; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp22_ = spit_publishing_publishable_get_serialized_file (_tmp21_); +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp23_ = _tmp22_; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp24_ = g_file_get_basename (_tmp23_); +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp25_ = _tmp24_; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp26_ = parameters; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp27_ = _tmp26_->category; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp28_ = _tmp27_->id; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp29_ = parameters; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp30_ = _tmp29_->perm_level; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp31_ = _tmp30_->id; +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_debug ("PiwigoPublishing.vala:1659: PiwigoConnector: Uploading photo %s to cat" \ +"egory id %d with perm level %d", _tmp25_, _tmp28_, _tmp31_); +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp25_); +#line 1659 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_object_unref0 (_tmp23_); +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp32_ = publishable; +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp33_ = spit_publishing_publishable_get_publishing_name (_tmp32_); +#line 1662 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + name = _tmp33_; +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp34_ = publishable; +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp35_ = spit_publishing_publishable_get_param_string (_tmp34_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_COMMENT); +#line 1663 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + comment = _tmp35_; +#line 1665 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp36_ = name; +#line 1665 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_strcmp0 (_tmp36_, "") != 0) { +#line 11636 "PiwigoPublishing.c" + SpitPublishingPublishable* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; + const gchar* _tmp41_ = NULL; +#line 1666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp37_ = publishable; +#line 1666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp38_ = spit_publishing_publishable_get_param_string (_tmp37_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 1666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 1666 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + name = _tmp38_; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp39_ = name; +#line 1668 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "name", _tmp39_); +#line 1669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp41_ = comment; +#line 1669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp41_ != NULL) { +#line 11658 "PiwigoPublishing.c" + const gchar* _tmp42_ = NULL; +#line 1669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp42_ = comment; +#line 1669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp40_ = g_strcmp0 (_tmp42_, "") != 0; +#line 11664 "PiwigoPublishing.c" + } else { +#line 1669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp40_ = FALSE; +#line 11668 "PiwigoPublishing.c" + } +#line 1669 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp40_) { +#line 11672 "PiwigoPublishing.c" + const gchar* _tmp43_ = NULL; +#line 1670 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp43_ = comment; +#line 1670 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "comment", _tmp43_); +#line 11678 "PiwigoPublishing.c" + } + } else { + gboolean _tmp44_ = FALSE; + const gchar* _tmp45_ = NULL; +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp45_ = comment; +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp45_ != NULL) { +#line 11687 "PiwigoPublishing.c" + const gchar* _tmp46_ = NULL; +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp46_ = comment; +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp44_ = g_strcmp0 (_tmp46_, "") != 0; +#line 11693 "PiwigoPublishing.c" + } else { +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp44_ = FALSE; +#line 11697 "PiwigoPublishing.c" + } +#line 1674 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp44_) { +#line 11701 "PiwigoPublishing.c" + const gchar* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; +#line 1675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp47_ = name; +#line 1675 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "name", _tmp47_); +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp48_ = comment; +#line 1676 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "comment", _tmp48_); +#line 11712 "PiwigoPublishing.c" + } else { + PublishingPiwigoPublishingParameters* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; +#line 1681 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp49_ = parameters; +#line 1681 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp50_ = _tmp49_->title_as_comment; +#line 1681 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (_tmp50_) { +#line 11722 "PiwigoPublishing.c" + const gchar* _tmp51_ = NULL; +#line 1682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp51_ = name; +#line 1682 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "comment", _tmp51_); +#line 11728 "PiwigoPublishing.c" + } else { + const gchar* _tmp52_ = NULL; +#line 1684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp52_ = name; +#line 1684 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "name", _tmp52_); +#line 11735 "PiwigoPublishing.c" + } + } + } +#line 1688 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "method", "pwg.images.addSimple"); +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp53_ = parameters; +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp54_ = _tmp53_->category; +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp55_ = _tmp54_->id; +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp56_ = g_strdup_printf ("%i", _tmp55_); +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp57_ = _tmp56_; +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "category", _tmp57_); +#line 1689 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp57_); +#line 1690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp58_ = parameters; +#line 1690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp59_ = _tmp58_->perm_level; +#line 1690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp60_ = _tmp59_->id; +#line 1690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp61_ = g_strdup_printf ("%i", _tmp60_); +#line 1690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp62_ = _tmp61_; +#line 1690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "level", _tmp62_); +#line 1690 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp62_); +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp63_ = parameters; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp64_ = _tmp63_->no_upload_tags; +#line 1691 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (!_tmp64_) { +#line 11775 "PiwigoPublishing.c" + const gchar* _tmp65_ = NULL; +#line 1692 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp65_ = tags; +#line 1692 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + if (g_strcmp0 (_tmp65_, "") != 0) { +#line 11781 "PiwigoPublishing.c" + const gchar* _tmp66_ = NULL; +#line 1693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp66_ = tags; +#line 1693 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_transaction_add_argument (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "tags", _tmp66_); +#line 11787 "PiwigoPublishing.c" + } + } +#line 1703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp67_ = g_str_hash; +#line 1703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp68_ = g_str_equal; +#line 1703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp69_ = g_hash_table_new_full (_tmp67_, _tmp68_, _g_free0_, _g_free0_); +#line 1703 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + disposition_table = _tmp69_; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp70_ = g_strdup ("filename"); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp71_ = publishable; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp72_ = spit_publishing_publishable_get_param_string (_tmp71_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp73_ = _tmp72_; +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp74_ = soup_uri_encode (_tmp73_, NULL); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_hash_table_insert (disposition_table, _tmp70_, _tmp74_); +#line 1705 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (_tmp73_); +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp75_ = g_strdup ("name"); +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _tmp76_ = g_strdup ("image"); +#line 1708 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_hash_table_insert (disposition_table, _tmp75_, _tmp76_); +#line 1710 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_rest_support_upload_transaction_set_binary_disposition_table (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, PublishingRESTSupportUploadTransaction), disposition_table); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_hash_table_unref0 (disposition_table); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (comment); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (name); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _g_free0 (tags); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + keywords = (_vala_array_free (keywords, keywords_length1, (GDestroyNotify) g_free), NULL); +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return self; +#line 11832 "PiwigoPublishing.c" +} + + +PublishingPiwigoImagesAddTransaction* publishing_piwigo_images_add_transaction_new (PublishingPiwigoSession* session, PublishingPiwigoPublishingParameters* parameters, SpitPublishingPublishable* publishable) { +#line 1646 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + return publishing_piwigo_images_add_transaction_construct (PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION, session, parameters, publishable); +#line 11839 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_images_add_transaction_class_init (PublishingPiwigoImagesAddTransactionClass * klass) { +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + publishing_piwigo_images_add_transaction_parent_class = g_type_class_peek_parent (klass); +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_piwigo_images_add_transaction_finalize; +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingPiwigoImagesAddTransactionPrivate)); +#line 11850 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_images_add_transaction_instance_init (PublishingPiwigoImagesAddTransaction * self) { +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv = PUBLISHING_PIWIGO_IMAGES_ADD_TRANSACTION_GET_PRIVATE (self); +#line 1644 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self->priv->parameters = NULL; +#line 11859 "PiwigoPublishing.c" +} + + +static void publishing_piwigo_images_add_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingPiwigoImagesAddTransaction * self; +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_PIWIGO_TYPE_IMAGES_ADD_TRANSACTION, PublishingPiwigoImagesAddTransaction); +#line 1644 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + _publishing_piwigo_publishing_parameters_unref0 (self->priv->parameters); +#line 1643 "/home/jens/Source/shotwell/plugins/shotwell-publishing/PiwigoPublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_piwigo_images_add_transaction_parent_class)->finalize (obj); +#line 11871 "PiwigoPublishing.c" +} + + +GType publishing_piwigo_images_add_transaction_get_type (void) { + static volatile gsize publishing_piwigo_images_add_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_piwigo_images_add_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingPiwigoImagesAddTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_piwigo_images_add_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingPiwigoImagesAddTransaction), 0, (GInstanceInitFunc) publishing_piwigo_images_add_transaction_instance_init, NULL }; + GType publishing_piwigo_images_add_transaction_type_id; + publishing_piwigo_images_add_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_UPLOAD_TRANSACTION, "PublishingPiwigoImagesAddTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_piwigo_images_add_transaction_type_id__volatile, publishing_piwigo_images_add_transaction_type_id); + } + return publishing_piwigo_images_add_transaction_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/plugins/shotwell-publishing/PiwigoPublishing.vala b/plugins/shotwell-publishing/PiwigoPublishing.vala index 7dd9090..c3a1bd0 100644 --- a/plugins/shotwell-publishing/PiwigoPublishing.vala +++ b/plugins/shotwell-publishing/PiwigoPublishing.vala @@ -11,7 +11,8 @@ public class PiwigoService : Object, Spit.Pluggable, Spit.Publishing.Service { public PiwigoService(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = Resources.load_from_resource + (Resources.RESOURCE_PATH + "/" + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { @@ -63,7 +64,7 @@ internal class Category { public string comment; public string display_name; public string uppercats; - public static const int NO_ID = -1; + public const int NO_ID = -1; public Category(int id, string name, string uppercats, string? comment = "") { this.id = id; @@ -911,6 +912,8 @@ public class PiwigoPublisher : Spit.Publishing.Publisher, GLib.Object { error_type = "LOCAL_FILE_ERROR"; } else if(e is Spit.Publishing.PublishingError.EXPIRED_SESSION) { error_type = "EXPIRED_SESSION"; + } else if (e is Spit.Publishing.PublishingError.SSL_FAILED) { + error_type = "SECURE_CONNECTION_FAILED"; } debug("Unhandled error: type=%s; message='%s'".printf(error_type, e.message)); @@ -1001,12 +1004,9 @@ internal class AuthenticationPane : Spit.Publishing.DialogPane, Object { public AuthenticationPane(PiwigoPublisher publisher, Mode mode = Mode.INTRO) { this.pane_widget = new Gtk.Box(Gtk.Orientation.VERTICAL, 0); - File ui_file = publisher.get_host().get_module_file().get_parent(). - get_child("piwigo_authentication_pane.glade"); - try { builder = new Gtk.Builder(); - builder.add_from_file(ui_file.get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + "/piwigo_authentication_pane.ui"); builder.connect_signals(null); Gtk.Alignment align = builder.get_object("alignment") as Gtk.Alignment; @@ -1156,12 +1156,9 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, Object { this.last_title_as_comment = last_title_as_comment; this.last_no_upload_tags = last_no_upload_tags; - File ui_file = publisher.get_host().get_module_file().get_parent(). - get_child("piwigo_publishing_options_pane.glade"); - try { builder = new Gtk.Builder(); - builder.add_from_file(ui_file.get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + "/piwigo_publishing_options_pane.ui"); builder.connect_signals(null); Gtk.Alignment align = builder.get_object("alignment") as Gtk.Alignment; diff --git a/plugins/shotwell-publishing/YouTubePublishing.c b/plugins/shotwell-publishing/YouTubePublishing.c new file mode 100644 index 0000000..cc7cd07 --- /dev/null +++ b/plugins/shotwell-publishing/YouTubePublishing.c @@ -0,0 +1,4475 @@ +/* YouTubePublishing.c generated by valac 0.32.1, the Vala compiler + * generated from YouTubePublishing.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 "shotwell-plugin-common.h" +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_YOU_TUBE_SERVICE (you_tube_service_get_type ()) +#define YOU_TUBE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_YOU_TUBE_SERVICE, YouTubeService)) +#define YOU_TUBE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_YOU_TUBE_SERVICE, YouTubeServiceClass)) +#define IS_YOU_TUBE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_YOU_TUBE_SERVICE)) +#define IS_YOU_TUBE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_YOU_TUBE_SERVICE)) +#define YOU_TUBE_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_YOU_TUBE_SERVICE, YouTubeServiceClass)) + +typedef struct _YouTubeService YouTubeService; +typedef struct _YouTubeServiceClass YouTubeServiceClass; +typedef struct _YouTubeServicePrivate YouTubeServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER (publishing_you_tube_you_tube_publisher_get_type ()) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisher)) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisherClass)) +#define PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER)) +#define PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER)) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisherClass)) + +typedef struct _PublishingYouTubeYouTubePublisher PublishingYouTubeYouTubePublisher; +typedef struct _PublishingYouTubeYouTubePublisherClass PublishingYouTubeYouTubePublisherClass; + +#define PUBLISHING_YOU_TUBE_TYPE_PRIVACY_SETTING (publishing_you_tube_privacy_setting_get_type ()) + +#define PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS (publishing_you_tube_publishing_parameters_get_type ()) +#define PUBLISHING_YOU_TUBE_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS, PublishingYouTubePublishingParameters)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS, PublishingYouTubePublishingParametersClass)) +#define PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS, PublishingYouTubePublishingParametersClass)) + +typedef struct _PublishingYouTubePublishingParameters PublishingYouTubePublishingParameters; +typedef struct _PublishingYouTubePublishingParametersClass PublishingYouTubePublishingParametersClass; +typedef struct _PublishingYouTubePublishingParametersPrivate PublishingYouTubePublishingParametersPrivate; +typedef struct _PublishingYouTubeParamSpecPublishingParameters PublishingYouTubeParamSpecPublishingParameters; +typedef struct _PublishingYouTubeYouTubePublisherPrivate PublishingYouTubeYouTubePublisherPrivate; +#define _publishing_you_tube_publishing_parameters_unref0(var) ((var == NULL) ? NULL : (var = (publishing_you_tube_publishing_parameters_unref (var), NULL))) +#define _publishing_rest_support_session_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_session_unref (var), NULL))) + +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION (publishing_you_tube_you_tube_publisher_channel_directory_transaction_get_type ()) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_CHANNEL_DIRECTORY_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION, PublishingYouTubeYouTubePublisherChannelDirectoryTransaction)) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_CHANNEL_DIRECTORY_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION, PublishingYouTubeYouTubePublisherChannelDirectoryTransactionClass)) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_IS_CHANNEL_DIRECTORY_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION)) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_IS_CHANNEL_DIRECTORY_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION)) +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_CHANNEL_DIRECTORY_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION, PublishingYouTubeYouTubePublisherChannelDirectoryTransactionClass)) + +typedef struct _PublishingYouTubeYouTubePublisherChannelDirectoryTransaction PublishingYouTubeYouTubePublisherChannelDirectoryTransaction; +typedef struct _PublishingYouTubeYouTubePublisherChannelDirectoryTransactionClass PublishingYouTubeYouTubePublisherChannelDirectoryTransactionClass; +#define _publishing_rest_support_transaction_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_transaction_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _publishing_rest_support_xml_document_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_xml_document_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE (publishing_you_tube_publishing_options_pane_get_type ()) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPane)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPaneClass)) +#define PUBLISHING_YOU_TUBE_IS_PUBLISHING_OPTIONS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_YOU_TUBE_IS_PUBLISHING_OPTIONS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPaneClass)) + +typedef struct _PublishingYouTubePublishingOptionsPane PublishingYouTubePublishingOptionsPane; +typedef struct _PublishingYouTubePublishingOptionsPaneClass PublishingYouTubePublishingOptionsPaneClass; + +#define PUBLISHING_YOU_TUBE_TYPE_UPLOADER (publishing_you_tube_uploader_get_type ()) +#define PUBLISHING_YOU_TUBE_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YOU_TUBE_TYPE_UPLOADER, PublishingYouTubeUploader)) +#define PUBLISHING_YOU_TUBE_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YOU_TUBE_TYPE_UPLOADER, PublishingYouTubeUploaderClass)) +#define PUBLISHING_YOU_TUBE_IS_UPLOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YOU_TUBE_TYPE_UPLOADER)) +#define PUBLISHING_YOU_TUBE_IS_UPLOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YOU_TUBE_TYPE_UPLOADER)) +#define PUBLISHING_YOU_TUBE_UPLOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YOU_TUBE_TYPE_UPLOADER, PublishingYouTubeUploaderClass)) + +typedef struct _PublishingYouTubeUploader PublishingYouTubeUploader; +typedef struct _PublishingYouTubeUploaderClass PublishingYouTubeUploaderClass; +#define _publishing_rest_support_batch_uploader_unref0(var) ((var == NULL) ? NULL : (var = (publishing_rest_support_batch_uploader_unref (var), NULL))) +typedef struct _PublishingYouTubeYouTubePublisherChannelDirectoryTransactionPrivate PublishingYouTubeYouTubePublisherChannelDirectoryTransactionPrivate; +typedef struct _PublishingYouTubePublishingOptionsPanePrivate PublishingYouTubePublishingOptionsPanePrivate; + +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION (publishing_you_tube_publishing_options_pane_privacy_description_get_type ()) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingYouTubePublishingOptionsPanePrivacyDescription)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_IS_PRIVACY_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_IS_PRIVACY_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)) +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass)) + +typedef struct _PublishingYouTubePublishingOptionsPanePrivacyDescription PublishingYouTubePublishingOptionsPanePrivacyDescription; +typedef struct _PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass; +#define _g_slist_free0(var) ((var == NULL) ? NULL : (var = (g_slist_free (var), NULL))) +typedef struct _PublishingYouTubePublishingOptionsPanePrivacyDescriptionPrivate PublishingYouTubePublishingOptionsPanePrivacyDescriptionPrivate; +#define _publishing_you_tube_publishing_options_pane_privacy_description_unref0(var) ((var == NULL) ? NULL : (var = (publishing_you_tube_publishing_options_pane_privacy_description_unref (var), NULL))) +typedef struct _PublishingYouTubePublishingOptionsPaneParamSpecPrivacyDescription PublishingYouTubePublishingOptionsPaneParamSpecPrivacyDescription; + +#define PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION (publishing_you_tube_upload_transaction_get_type ()) +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION, PublishingYouTubeUploadTransaction)) +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION, PublishingYouTubeUploadTransactionClass)) +#define PUBLISHING_YOU_TUBE_IS_UPLOAD_TRANSACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_YOU_TUBE_IS_UPLOAD_TRANSACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION)) +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION, PublishingYouTubeUploadTransactionClass)) + +typedef struct _PublishingYouTubeUploadTransaction PublishingYouTubeUploadTransaction; +typedef struct _PublishingYouTubeUploadTransactionClass PublishingYouTubeUploadTransactionClass; +typedef struct _PublishingYouTubeUploadTransactionPrivate PublishingYouTubeUploadTransactionPrivate; +#define __vala_SoupBuffer_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupBuffer_free (var), NULL))) +#define __vala_SoupMultipart_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupMultipart_free (var), NULL))) +typedef struct _PublishingYouTubeUploaderPrivate PublishingYouTubeUploaderPrivate; +#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 _YouTubeService { + GObject parent_instance; + YouTubeServicePrivate * priv; +}; + +struct _YouTubeServiceClass { + GObjectClass parent_class; +}; + +typedef enum { + PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PUBLIC, + PUBLISHING_YOU_TUBE_PRIVACY_SETTING_UNLISTED, + PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PRIVATE +} PublishingYouTubePrivacySetting; + +struct _PublishingYouTubePublishingParameters { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingYouTubePublishingParametersPrivate * priv; +}; + +struct _PublishingYouTubePublishingParametersClass { + GTypeClass parent_class; + void (*finalize) (PublishingYouTubePublishingParameters *self); +}; + +struct _PublishingYouTubePublishingParametersPrivate { + PublishingYouTubePrivacySetting privacy; + gchar* channel_name; + gchar* user_name; +}; + +struct _PublishingYouTubeParamSpecPublishingParameters { + GParamSpec parent_instance; +}; + +struct _PublishingYouTubeYouTubePublisher { + PublishingRESTSupportGooglePublisher parent_instance; + PublishingYouTubeYouTubePublisherPrivate * priv; +}; + +struct _PublishingYouTubeYouTubePublisherClass { + PublishingRESTSupportGooglePublisherClass parent_class; +}; + +struct _PublishingYouTubeYouTubePublisherPrivate { + gboolean running; + gchar* refresh_token; + PublishingYouTubePublishingParameters* publishing_parameters; + SpitPublishingProgressCallback progress_reporter; + gpointer progress_reporter_target; + GDestroyNotify progress_reporter_target_destroy_notify; +}; + +struct _PublishingYouTubeYouTubePublisherChannelDirectoryTransaction { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction parent_instance; + PublishingYouTubeYouTubePublisherChannelDirectoryTransactionPrivate * priv; +}; + +struct _PublishingYouTubeYouTubePublisherChannelDirectoryTransactionClass { + PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass parent_class; +}; + +struct _PublishingYouTubePublishingOptionsPane { + GObject parent_instance; + PublishingYouTubePublishingOptionsPanePrivate * priv; +}; + +struct _PublishingYouTubePublishingOptionsPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingYouTubePublishingOptionsPanePrivate { + GtkBox* pane_widget; + GtkComboBoxText* privacy_combo; + GtkLabel* publish_to_label; + GtkLabel* login_identity_label; + GtkButton* publish_button; + GtkButton* logout_button; + GtkBuilder* builder; + GtkLabel* privacy_label; + PublishingYouTubePublishingOptionsPanePrivacyDescription** privacy_descriptions; + gint privacy_descriptions_length1; + gint _privacy_descriptions_size_; + PublishingYouTubePublishingParameters* publishing_parameters; +}; + +struct _PublishingYouTubePublishingOptionsPanePrivacyDescription { + GTypeInstance parent_instance; + volatile int ref_count; + PublishingYouTubePublishingOptionsPanePrivacyDescriptionPrivate * priv; + gchar* description; + PublishingYouTubePrivacySetting privacy_setting; +}; + +struct _PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass { + GTypeClass parent_class; + void (*finalize) (PublishingYouTubePublishingOptionsPanePrivacyDescription *self); +}; + +struct _PublishingYouTubePublishingOptionsPaneParamSpecPrivacyDescription { + GParamSpec parent_instance; +}; + +struct _PublishingYouTubeUploadTransaction { + PublishingRESTSupportGooglePublisherAuthenticatedTransaction parent_instance; + PublishingYouTubeUploadTransactionPrivate * priv; +}; + +struct _PublishingYouTubeUploadTransactionClass { + PublishingRESTSupportGooglePublisherAuthenticatedTransactionClass parent_class; +}; + +struct _PublishingYouTubeUploadTransactionPrivate { + PublishingYouTubePublishingParameters* parameters; + PublishingRESTSupportGoogleSession* session; + SpitPublishingPublishable* publishable; +}; + +struct _PublishingYouTubeUploader { + PublishingRESTSupportBatchUploader parent_instance; + PublishingYouTubeUploaderPrivate * priv; +}; + +struct _PublishingYouTubeUploaderClass { + PublishingRESTSupportBatchUploaderClass parent_class; +}; + +struct _PublishingYouTubeUploaderPrivate { + PublishingYouTubePublishingParameters* parameters; +}; + + +static gpointer you_tube_service_parent_class = NULL; +static GdkPixbuf** you_tube_service_icon_pixbuf_set; +static gint you_tube_service_icon_pixbuf_set_length1; +static GdkPixbuf** you_tube_service_icon_pixbuf_set = NULL; +static gint you_tube_service_icon_pixbuf_set_length1 = 0; +static gint _you_tube_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* you_tube_service_spit_pluggable_parent_iface = NULL; +static SpitPublishingServiceIface* you_tube_service_spit_publishing_service_parent_iface = NULL; +static gpointer publishing_you_tube_publishing_parameters_parent_class = NULL; +static gpointer publishing_you_tube_you_tube_publisher_parent_class = NULL; +static gpointer publishing_you_tube_you_tube_publisher_channel_directory_transaction_parent_class = NULL; +static gpointer publishing_you_tube_publishing_options_pane_parent_class = NULL; +static gpointer publishing_you_tube_publishing_options_pane_privacy_description_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_you_tube_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_you_tube_upload_transaction_parent_class = NULL; +static gpointer publishing_you_tube_uploader_parent_class = NULL; + +GType you_tube_service_get_type (void) G_GNUC_CONST; +enum { + YOU_TUBE_SERVICE_DUMMY_PROPERTY +}; +#define YOU_TUBE_SERVICE_ICON_FILENAME "youtube.png" +YouTubeService* you_tube_service_new (GFile* resource_directory); +YouTubeService* you_tube_service_construct (GType object_type, GFile* resource_directory); +static gint you_tube_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* you_tube_service_real_get_id (SpitPluggable* base); +static const gchar* you_tube_service_real_get_pluggable_name (SpitPluggable* base); +static void you_tube_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup9 (GdkPixbuf** self, int length); +static SpitPublishingPublisher* you_tube_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host); +PublishingYouTubeYouTubePublisher* publishing_you_tube_you_tube_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host); +PublishingYouTubeYouTubePublisher* publishing_you_tube_you_tube_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host); +GType publishing_you_tube_you_tube_publisher_get_type (void) G_GNUC_CONST; +static SpitPublishingPublisherMediaType you_tube_service_real_get_supported_media (SpitPublishingService* base); +static void you_tube_service_real_activation (SpitPluggable* base, gboolean enabled); +static void you_tube_service_finalize (GObject* obj); +#define PUBLISHING_YOU_TUBE_SERVICE_WELCOME_MESSAGE _ ("You are not currently logged into YouTube.\n" \ +"\n" \ +"You must have already signed up for a Google account and set it up for" \ +" use with YouTube to continue. You can set up most accounts by using y" \ +"our browser to log into the YouTube site at least once.") +#define PUBLISHING_YOU_TUBE_DEVELOPER_KEY "AI39si5VEpzWK0z-pzo4fonEj9E4driCpEs9lK8y3HJsbbebIIRWqW3bIyGr42bjQv-N3s" \ +"iAfqVoM8XNmtbbp5x2gpbjiSAMTQ" +GType publishing_you_tube_privacy_setting_get_type (void) G_GNUC_CONST; +gpointer publishing_you_tube_publishing_parameters_ref (gpointer instance); +void publishing_you_tube_publishing_parameters_unref (gpointer instance); +GParamSpec* publishing_you_tube_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void publishing_you_tube_value_set_publishing_parameters (GValue* value, gpointer v_object); +void publishing_you_tube_value_take_publishing_parameters (GValue* value, gpointer v_object); +gpointer publishing_you_tube_value_get_publishing_parameters (const GValue* value); +GType publishing_you_tube_publishing_parameters_get_type (void) G_GNUC_CONST; +#define PUBLISHING_YOU_TUBE_PUBLISHING_PARAMETERS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS, PublishingYouTubePublishingParametersPrivate)) +enum { + PUBLISHING_YOU_TUBE_PUBLISHING_PARAMETERS_DUMMY_PROPERTY +}; +PublishingYouTubePublishingParameters* publishing_you_tube_publishing_parameters_new (void); +PublishingYouTubePublishingParameters* publishing_you_tube_publishing_parameters_construct (GType object_type); +PublishingYouTubePrivacySetting publishing_you_tube_publishing_parameters_get_privacy (PublishingYouTubePublishingParameters* self); +void publishing_you_tube_publishing_parameters_set_privacy (PublishingYouTubePublishingParameters* self, PublishingYouTubePrivacySetting privacy); +gchar* publishing_you_tube_publishing_parameters_get_channel_name (PublishingYouTubePublishingParameters* self); +void publishing_you_tube_publishing_parameters_set_channel_name (PublishingYouTubePublishingParameters* self, const gchar* channel_name); +gchar* publishing_you_tube_publishing_parameters_get_user_name (PublishingYouTubePublishingParameters* self); +void publishing_you_tube_publishing_parameters_set_user_name (PublishingYouTubePublishingParameters* self, const gchar* user_name); +static void publishing_you_tube_publishing_parameters_finalize (PublishingYouTubePublishingParameters* obj); +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisherPrivate)) +enum { + PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_DUMMY_PROPERTY +}; +static gboolean publishing_you_tube_you_tube_publisher_real_is_running (PublishingRESTSupportGooglePublisher* base); +static void publishing_you_tube_you_tube_publisher_real_start (PublishingRESTSupportGooglePublisher* base); +static void publishing_you_tube_you_tube_publisher_do_show_service_welcome_pane (PublishingYouTubeYouTubePublisher* self); +static void publishing_you_tube_you_tube_publisher_real_stop (PublishingRESTSupportGooglePublisher* base); +static gchar* publishing_you_tube_you_tube_publisher_extract_channel_name_helper (PublishingYouTubeYouTubePublisher* self, xmlNode* document_root, GError** error); +static void publishing_you_tube_you_tube_publisher_on_service_welcome_login (PublishingYouTubeYouTubePublisher* self); +static void publishing_you_tube_you_tube_publisher_real_on_login_flow_complete (PublishingRESTSupportGooglePublisher* base); +static void publishing_you_tube_you_tube_publisher_do_fetch_account_information (PublishingYouTubeYouTubePublisher* self); +static void publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportTransaction* txn); +static void _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self); +static void publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err); +static void _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self); +static GType publishing_you_tube_you_tube_publisher_channel_directory_transaction_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static void publishing_you_tube_you_tube_publisher_do_parse_and_display_account_information (PublishingYouTubeYouTubePublisher* self, PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* transaction); +static void publishing_you_tube_you_tube_publisher_on_publishing_options_logout (PublishingYouTubeYouTubePublisher* self); +static void publishing_you_tube_you_tube_publisher_on_publishing_options_publish (PublishingYouTubeYouTubePublisher* self); +static void publishing_you_tube_you_tube_publisher_do_upload (PublishingYouTubeYouTubePublisher* self); +static void publishing_you_tube_you_tube_publisher_on_upload_status_updated (PublishingYouTubeYouTubePublisher* self, gint file_number, gdouble completed_fraction); +static void publishing_you_tube_you_tube_publisher_on_upload_complete (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published); +static void _publishing_you_tube_you_tube_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self); +static void publishing_you_tube_you_tube_publisher_on_upload_error (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err); +static void _publishing_you_tube_you_tube_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self); +static void publishing_you_tube_you_tube_publisher_do_show_success_pane (PublishingYouTubeYouTubePublisher* self); +static void _publishing_you_tube_you_tube_publisher_on_service_welcome_login_spit_publishing_login_callback (gpointer self); +static PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* publishing_you_tube_you_tube_publisher_channel_directory_transaction_new (PublishingRESTSupportGoogleSession* session); +static PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* publishing_you_tube_you_tube_publisher_channel_directory_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session); +static gchar* publishing_you_tube_you_tube_publisher_channel_directory_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc); +static gchar* _publishing_you_tube_you_tube_publisher_channel_directory_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self); +static void publishing_you_tube_you_tube_publisher_do_show_publishing_options_pane (PublishingYouTubeYouTubePublisher* self); +GType publishing_you_tube_publishing_options_pane_get_type (void) G_GNUC_CONST; +PublishingYouTubePublishingOptionsPane* publishing_you_tube_publishing_options_pane_new (SpitPublishingPluginHost* host, GtkBuilder* builder, PublishingYouTubePublishingParameters* publishing_parameters); +PublishingYouTubePublishingOptionsPane* publishing_you_tube_publishing_options_pane_construct (GType object_type, SpitPublishingPluginHost* host, GtkBuilder* builder, PublishingYouTubePublishingParameters* publishing_parameters); +static void _publishing_you_tube_you_tube_publisher_on_publishing_options_publish_publishing_you_tube_publishing_options_pane_publish (PublishingYouTubePublishingOptionsPane* _sender, gpointer self); +static void _publishing_you_tube_you_tube_publisher_on_publishing_options_logout_publishing_you_tube_publishing_options_pane_logout (PublishingYouTubePublishingOptionsPane* _sender, gpointer self); +GType publishing_you_tube_uploader_get_type (void) G_GNUC_CONST; +PublishingYouTubeUploader* publishing_you_tube_uploader_new (PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingYouTubePublishingParameters* parameters); +PublishingYouTubeUploader* publishing_you_tube_uploader_construct (GType object_type, PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingYouTubePublishingParameters* parameters); +static void _publishing_you_tube_you_tube_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void publishing_you_tube_you_tube_publisher_real_do_logout (PublishingRESTSupportGooglePublisher* base); +enum { + PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_CHANNEL_DIRECTORY_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_CHANNEL_DIRECTORY_TRANSACTION_ENDPOINT_URL "http://gdata.youtube.com/feeds/users/default" +static void publishing_you_tube_you_tube_publisher_finalize (GObject* obj); +static gpointer publishing_you_tube_publishing_options_pane_privacy_description_ref (gpointer instance); +static void publishing_you_tube_publishing_options_pane_privacy_description_unref (gpointer instance); +static GParamSpec* publishing_you_tube_publishing_options_pane_param_spec_privacy_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void publishing_you_tube_publishing_options_pane_value_set_privacy_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void publishing_you_tube_publishing_options_pane_value_take_privacy_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer publishing_you_tube_publishing_options_pane_value_get_privacy_description (const GValue* value) G_GNUC_UNUSED; +static GType publishing_you_tube_publishing_options_pane_privacy_description_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPanePrivate)) +enum { + PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_DUMMY_PROPERTY +}; +static PublishingYouTubePublishingOptionsPanePrivacyDescription** publishing_you_tube_publishing_options_pane_create_privacy_descriptions (PublishingYouTubePublishingOptionsPane* self, int* result_length1); +static void publishing_you_tube_publishing_options_pane_on_logout_clicked (PublishingYouTubePublishingOptionsPane* self); +static void _publishing_you_tube_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_you_tube_publishing_options_pane_on_publish_clicked (PublishingYouTubePublishingOptionsPane* self); +static void _publishing_you_tube_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_you_tube_publishing_options_pane_update_publish_button_sensitivity (PublishingYouTubePublishingOptionsPane* self); +static PublishingYouTubePublishingOptionsPanePrivacyDescription* publishing_you_tube_publishing_options_pane_privacy_description_new (const gchar* description, PublishingYouTubePrivacySetting privacy_setting); +static PublishingYouTubePublishingOptionsPanePrivacyDescription* publishing_you_tube_publishing_options_pane_privacy_description_construct (GType object_type, const gchar* description, PublishingYouTubePrivacySetting privacy_setting); +static void _vala_array_add31 (PublishingYouTubePublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingYouTubePublishingOptionsPanePrivacyDescription* value); +static void _vala_array_add32 (PublishingYouTubePublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingYouTubePublishingOptionsPanePrivacyDescription* value); +static void _vala_array_add33 (PublishingYouTubePublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingYouTubePublishingOptionsPanePrivacyDescription* value); +static GtkWidget* publishing_you_tube_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_you_tube_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_you_tube_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_you_tube_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +enum { + PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_DUMMY_PROPERTY +}; +static void publishing_you_tube_publishing_options_pane_privacy_description_finalize (PublishingYouTubePublishingOptionsPanePrivacyDescription* obj); +static void publishing_you_tube_publishing_options_pane_finalize (GObject* obj); +GType publishing_you_tube_upload_transaction_get_type (void) G_GNUC_CONST; +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION, PublishingYouTubeUploadTransactionPrivate)) +enum { + PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_DUMMY_PROPERTY +}; +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_ENDPOINT_URL "http://uploads.gdata.youtube.com/feeds/api/users/default/uploads" +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_UNLISTED_XML "" +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_PRIVATE_XML "" +#define PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_METADATA_TEMPLATE "\n" \ +" \n" \ +" \n" \ +" %s\n" \ +" People\n" \ +" \n" \ +" %s\n" \ +" \n" \ +" %s\n" \ +" " +PublishingYouTubeUploadTransaction* publishing_you_tube_upload_transaction_new (PublishingRESTSupportGoogleSession* session, PublishingYouTubePublishingParameters* parameters, SpitPublishingPublishable* publishable); +PublishingYouTubeUploadTransaction* publishing_you_tube_upload_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, PublishingYouTubePublishingParameters* parameters, SpitPublishingPublishable* publishable); +static void publishing_you_tube_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error); +static void _vala_SoupBuffer_free (SoupBuffer* self); +static void _vala_SoupMultipart_free (SoupMultipart* self); +static void publishing_you_tube_upload_transaction_finalize (PublishingRESTSupportTransaction* obj); +#define PUBLISHING_YOU_TUBE_UPLOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_YOU_TUBE_TYPE_UPLOADER, PublishingYouTubeUploaderPrivate)) +enum { + PUBLISHING_YOU_TUBE_UPLOADER_DUMMY_PROPERTY +}; +static PublishingRESTSupportTransaction* publishing_you_tube_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable); +static void publishing_you_tube_uploader_finalize (PublishingRESTSupportBatchUploader* 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); + + +YouTubeService* you_tube_service_construct (GType object_type, GFile* resource_directory) { + YouTubeService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (YouTubeService*) g_object_new (object_type, NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = you_tube_service_icon_pixbuf_set; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0__length1 = you_tube_service_icon_pixbuf_set_length1; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_tmp0_ == NULL) { +#line 447 "YouTubePublishing.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" YOU_TUBE_SERVICE_ICON_FILENAME, &_tmp1_); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + you_tube_service_icon_pixbuf_set = (_vala_array_free (you_tube_service_icon_pixbuf_set, you_tube_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + you_tube_service_icon_pixbuf_set = _tmp2_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + you_tube_service_icon_pixbuf_set_length1 = _tmp1_; +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _you_tube_service_icon_pixbuf_set_size_ = you_tube_service_icon_pixbuf_set_length1; +#line 460 "YouTubePublishing.c" + } +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 464 "YouTubePublishing.c" +} + + +YouTubeService* you_tube_service_new (GFile* resource_directory) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return you_tube_service_construct (TYPE_YOU_TUBE_SERVICE, resource_directory); +#line 471 "YouTubePublishing.c" +} + + +static gint you_tube_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + YouTubeService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = min_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = max_host_interface; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp2_; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 493 "YouTubePublishing.c" +} + + +static const gchar* you_tube_service_real_get_id (SpitPluggable* base) { + YouTubeService * self; + const gchar* result = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = "org.yorba.shotwell.publishing.youtube"; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 506 "YouTubePublishing.c" +} + + +static const gchar* you_tube_service_real_get_pluggable_name (SpitPluggable* base) { + YouTubeService * self; + const gchar* result = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = "YouTube"; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 519 "YouTubePublishing.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self ? g_object_ref (self) : NULL; +#line 526 "YouTubePublishing.c" +} + + +static GdkPixbuf** _vala_array_dup9 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + for (i = 0; i < length; i++) { +#line 537 "YouTubePublishing.c" + GdkPixbuf* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result[i] = _tmp0_; +#line 543 "YouTubePublishing.c" + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 547 "YouTubePublishing.c" +} + + +static void you_tube_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + YouTubeService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (info != NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = g_strdup ("Jani Monoses, Lucas Beeler"); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 ((*info).authors); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).authors = _tmp0_; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc."); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 ((*info).copyright); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).copyright = _tmp2_; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 ((*info).translators); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).translators = _tmp3_; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = g_strdup (_VERSION); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 ((*info).version); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).version = _tmp4_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 ((*info).website_name); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).website_name = _tmp5_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 ((*info).website_url); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).website_url = _tmp6_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).is_license_wordwrapped = FALSE; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 ((*info).license); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).license = _tmp7_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = you_tube_service_icon_pixbuf_set; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8__length1 = you_tube_service_icon_pixbuf_set_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup9 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9__length1 = _tmp8__length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).icons = _tmp9_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*info).icons_length1 = _tmp9__length1; +#line 629 "YouTubePublishing.c" +} + + +static SpitPublishingPublisher* you_tube_service_real_create_publisher (SpitPublishingService* base, SpitPublishingPluginHost* host) { + YouTubeService * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingYouTubeYouTubePublisher* _tmp1_ = NULL; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = host; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishing_you_tube_you_tube_publisher_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService), _tmp0_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 650 "YouTubePublishing.c" +} + + +static SpitPublishingPublisherMediaType you_tube_service_real_get_supported_media (SpitPublishingService* base) { + YouTubeService * self; + SpitPublishingPublisherMediaType result = 0; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 663 "YouTubePublishing.c" +} + + +static void you_tube_service_real_activation (SpitPluggable* base, gboolean enabled) { + YouTubeService * self; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 671 "YouTubePublishing.c" +} + + +static void you_tube_service_class_init (YouTubeServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + you_tube_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_OBJECT_CLASS (klass)->finalize = you_tube_service_finalize; +#line 680 "YouTubePublishing.c" +} + + +static void you_tube_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + you_tube_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) you_tube_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) you_tube_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) you_tube_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) you_tube_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) you_tube_service_real_activation; +#line 697 "YouTubePublishing.c" +} + + +static void you_tube_service_spit_publishing_service_interface_init (SpitPublishingServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + you_tube_service_spit_publishing_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->create_publisher = (SpitPublishingPublisher* (*)(SpitPublishingService*, SpitPublishingPluginHost*)) you_tube_service_real_create_publisher; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->get_supported_media = (SpitPublishingPublisherMediaType (*)(SpitPublishingService*)) you_tube_service_real_get_supported_media; +#line 708 "YouTubePublishing.c" +} + + +static void you_tube_service_instance_init (YouTubeService * self) { +} + + +static void you_tube_service_finalize (GObject* obj) { + YouTubeService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_YOU_TUBE_SERVICE, YouTubeService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_OBJECT_CLASS (you_tube_service_parent_class)->finalize (obj); +#line 722 "YouTubePublishing.c" +} + + +GType you_tube_service_get_type (void) { + static volatile gsize you_tube_service_type_id__volatile = 0; + if (g_once_init_enter (&you_tube_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (YouTubeServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) you_tube_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (YouTubeService), 0, (GInstanceInitFunc) you_tube_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) you_tube_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_publishing_service_info = { (GInterfaceInitFunc) you_tube_service_spit_publishing_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType you_tube_service_type_id; + you_tube_service_type_id = g_type_register_static (G_TYPE_OBJECT, "YouTubeService", &g_define_type_info, 0); + g_type_add_interface_static (you_tube_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (you_tube_service_type_id, SPIT_PUBLISHING_TYPE_SERVICE, &spit_publishing_service_info); + g_once_init_leave (&you_tube_service_type_id__volatile, you_tube_service_type_id); + } + return you_tube_service_type_id__volatile; +} + + +GType publishing_you_tube_privacy_setting_get_type (void) { + static volatile gsize publishing_you_tube_privacy_setting_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_privacy_setting_type_id__volatile)) { + static const GEnumValue values[] = {{PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PUBLIC, "PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PUBLIC", "public"}, {PUBLISHING_YOU_TUBE_PRIVACY_SETTING_UNLISTED, "PUBLISHING_YOU_TUBE_PRIVACY_SETTING_UNLISTED", "unlisted"}, {PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PRIVATE, "PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PRIVATE", "private"}, {0, NULL, NULL}}; + GType publishing_you_tube_privacy_setting_type_id; + publishing_you_tube_privacy_setting_type_id = g_enum_register_static ("PublishingYouTubePrivacySetting", values); + g_once_init_leave (&publishing_you_tube_privacy_setting_type_id__volatile, publishing_you_tube_privacy_setting_type_id); + } + return publishing_you_tube_privacy_setting_type_id__volatile; +} + + +PublishingYouTubePublishingParameters* publishing_you_tube_publishing_parameters_construct (GType object_type) { + PublishingYouTubePublishingParameters* self = NULL; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (PublishingYouTubePublishingParameters*) g_type_create_instance (object_type); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy = PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PRIVATE; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->channel_name); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->channel_name = NULL; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->user_name); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->user_name = NULL; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 770 "YouTubePublishing.c" +} + + +PublishingYouTubePublishingParameters* publishing_you_tube_publishing_parameters_new (void) { +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return publishing_you_tube_publishing_parameters_construct (PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS); +#line 777 "YouTubePublishing.c" +} + + +PublishingYouTubePrivacySetting publishing_you_tube_publishing_parameters_get_privacy (PublishingYouTubePublishingParameters* self) { + PublishingYouTubePrivacySetting result = 0; + PublishingYouTubePrivacySetting _tmp0_ = 0; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (self), 0); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = self->priv->privacy; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp0_; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 792 "YouTubePublishing.c" +} + + +void publishing_you_tube_publishing_parameters_set_privacy (PublishingYouTubePublishingParameters* self, PublishingYouTubePrivacySetting privacy) { + PublishingYouTubePrivacySetting _tmp0_ = 0; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (self)); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = privacy; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy = _tmp0_; +#line 804 "YouTubePublishing.c" +} + + +gchar* publishing_you_tube_publishing_parameters_get_channel_name (PublishingYouTubePublishingParameters* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = self->priv->channel_name; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp1_; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 822 "YouTubePublishing.c" +} + + +void publishing_you_tube_publishing_parameters_set_channel_name (PublishingYouTubePublishingParameters* self, const gchar* channel_name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (self)); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = channel_name; +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->channel_name); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->channel_name = _tmp1_; +#line 839 "YouTubePublishing.c" +} + + +gchar* publishing_you_tube_publishing_parameters_get_user_name (PublishingYouTubePublishingParameters* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (self), NULL); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = self->priv->user_name; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp1_; +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 857 "YouTubePublishing.c" +} + + +void publishing_you_tube_publishing_parameters_set_user_name (PublishingYouTubePublishingParameters* self, const gchar* user_name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (self)); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = user_name; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->user_name); +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->user_name = _tmp1_; +#line 874 "YouTubePublishing.c" +} + + +static void publishing_you_tube_value_publishing_parameters_init (GValue* value) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 881 "YouTubePublishing.c" +} + + +static void publishing_you_tube_value_publishing_parameters_free_value (GValue* value) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (value->data[0].v_pointer) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_unref (value->data[0].v_pointer); +#line 890 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_value_publishing_parameters_copy_value (const GValue* src_value, GValue* dest_value) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (src_value->data[0].v_pointer) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + dest_value->data[0].v_pointer = publishing_you_tube_publishing_parameters_ref (src_value->data[0].v_pointer); +#line 900 "YouTubePublishing.c" + } else { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 904 "YouTubePublishing.c" + } +} + + +static gpointer publishing_you_tube_value_publishing_parameters_peek_pointer (const GValue* value) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return value->data[0].v_pointer; +#line 912 "YouTubePublishing.c" +} + + +static gchar* publishing_you_tube_value_publishing_parameters_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (collect_values[0].v_pointer) { +#line 919 "YouTubePublishing.c" + PublishingYouTubePublishingParameters* object; + object = collect_values[0].v_pointer; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 926 "YouTubePublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.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 930 "YouTubePublishing.c" + } +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = publishing_you_tube_publishing_parameters_ref (object); +#line 934 "YouTubePublishing.c" + } else { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 938 "YouTubePublishing.c" + } +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return NULL; +#line 942 "YouTubePublishing.c" +} + + +static gchar* publishing_you_tube_value_publishing_parameters_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingYouTubePublishingParameters** object_p; + object_p = collect_values[0].v_pointer; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!object_p) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 953 "YouTubePublishing.c" + } +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!value->data[0].v_pointer) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *object_p = NULL; +#line 959 "YouTubePublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *object_p = value->data[0].v_pointer; +#line 963 "YouTubePublishing.c" + } else { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *object_p = publishing_you_tube_publishing_parameters_ref (value->data[0].v_pointer); +#line 967 "YouTubePublishing.c" + } +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return NULL; +#line 971 "YouTubePublishing.c" +} + + +GParamSpec* publishing_you_tube_param_spec_publishing_parameters (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingYouTubeParamSpecPublishingParameters* spec; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return G_PARAM_SPEC (spec); +#line 985 "YouTubePublishing.c" +} + + +gpointer publishing_you_tube_value_get_publishing_parameters (const GValue* value) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS), NULL); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return value->data[0].v_pointer; +#line 994 "YouTubePublishing.c" +} + + +void publishing_you_tube_value_set_publishing_parameters (GValue* value, gpointer v_object) { + PublishingYouTubePublishingParameters* old; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS)); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + old = value->data[0].v_pointer; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (v_object) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS)); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = v_object; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_ref (value->data[0].v_pointer); +#line 1014 "YouTubePublishing.c" + } else { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 1018 "YouTubePublishing.c" + } +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (old) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_unref (old); +#line 1024 "YouTubePublishing.c" + } +} + + +void publishing_you_tube_value_take_publishing_parameters (GValue* value, gpointer v_object) { + PublishingYouTubePublishingParameters* old; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS)); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + old = value->data[0].v_pointer; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (v_object) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS)); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = v_object; +#line 1043 "YouTubePublishing.c" + } else { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 1047 "YouTubePublishing.c" + } +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (old) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_unref (old); +#line 1053 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_publishing_parameters_class_init (PublishingYouTubePublishingParametersClass * klass) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_parent_class = g_type_class_peek_parent (klass); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingYouTubePublishingParametersClass *) klass)->finalize = publishing_you_tube_publishing_parameters_finalize; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYouTubePublishingParametersPrivate)); +#line 1065 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_parameters_instance_init (PublishingYouTubePublishingParameters * self) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv = PUBLISHING_YOU_TUBE_PUBLISHING_PARAMETERS_GET_PRIVATE (self); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->ref_count = 1; +#line 1074 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_parameters_finalize (PublishingYouTubePublishingParameters* obj) { + PublishingYouTubePublishingParameters * self; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_PARAMETERS, PublishingYouTubePublishingParameters); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_destroy (self); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->channel_name); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->user_name); +#line 1088 "YouTubePublishing.c" +} + + +GType publishing_you_tube_publishing_parameters_get_type (void) { + static volatile gsize publishing_you_tube_publishing_parameters_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_publishing_parameters_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_you_tube_value_publishing_parameters_init, publishing_you_tube_value_publishing_parameters_free_value, publishing_you_tube_value_publishing_parameters_copy_value, publishing_you_tube_value_publishing_parameters_peek_pointer, "p", publishing_you_tube_value_publishing_parameters_collect_value, "p", publishing_you_tube_value_publishing_parameters_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingYouTubePublishingParametersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_you_tube_publishing_parameters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYouTubePublishingParameters), 0, (GInstanceInitFunc) publishing_you_tube_publishing_parameters_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 publishing_you_tube_publishing_parameters_type_id; + publishing_you_tube_publishing_parameters_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingYouTubePublishingParameters", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_you_tube_publishing_parameters_type_id__volatile, publishing_you_tube_publishing_parameters_type_id); + } + return publishing_you_tube_publishing_parameters_type_id__volatile; +} + + +gpointer publishing_you_tube_publishing_parameters_ref (gpointer instance) { + PublishingYouTubePublishingParameters* self; + self = instance; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return instance; +#line 1113 "YouTubePublishing.c" +} + + +void publishing_you_tube_publishing_parameters_unref (gpointer instance) { + PublishingYouTubePublishingParameters* self; + self = instance; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + PUBLISHING_YOU_TUBE_PUBLISHING_PARAMETERS_GET_CLASS (self)->finalize (self); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1126 "YouTubePublishing.c" + } +} + + +PublishingYouTubeYouTubePublisher* publishing_you_tube_you_tube_publisher_construct (GType object_type, SpitPublishingService* service, SpitPublishingPluginHost* host) { + PublishingYouTubeYouTubePublisher * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingYouTubePublishingParameters* _tmp4_ = NULL; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = service; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = host; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (PublishingYouTubeYouTubePublisher*) publishing_rest_support_google_publisher_construct (object_type, _tmp0_, _tmp1_, "https://gdata.youtube.com/"); +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->running = FALSE; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = host; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = spit_host_interface_get_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "refresh_token", NULL); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->refresh_token); +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->refresh_token = _tmp3_; +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = publishing_you_tube_publishing_parameters_new (); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->publishing_parameters); +#line 132 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->publishing_parameters = _tmp4_; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter = NULL; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter = NULL; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 133 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 1180 "YouTubePublishing.c" +} + + +PublishingYouTubeYouTubePublisher* publishing_you_tube_you_tube_publisher_new (SpitPublishingService* service, SpitPublishingPluginHost* host) { +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return publishing_you_tube_you_tube_publisher_construct (PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, service, host); +#line 1187 "YouTubePublishing.c" +} + + +static gboolean publishing_you_tube_you_tube_publisher_real_is_running (PublishingRESTSupportGooglePublisher* base) { + PublishingYouTubeYouTubePublisher * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 136 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisher); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = self->priv->running; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp0_; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 1203 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_real_start (PublishingRESTSupportGooglePublisher* base) { + PublishingYouTubeYouTubePublisher * self; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisher); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:141: YouTubePublisher: started."); +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 143 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_tmp0_) { +#line 144 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1221 "YouTubePublishing.c" + } +#line 146 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->running = TRUE; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = self->priv->refresh_token; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_tmp1_ == NULL) { +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_do_show_service_welcome_pane (self); +#line 1231 "YouTubePublishing.c" + } else { + const gchar* _tmp2_ = NULL; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = self->priv->refresh_token; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_google_publisher_start_oauth_flow (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher), _tmp2_); +#line 1238 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_you_tube_publisher_real_stop (PublishingRESTSupportGooglePublisher* base) { + PublishingYouTubeYouTubePublisher * self; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisher); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:155: YouTubePublisher: stopped."); +#line 157 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->running = FALSE; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = _tmp0_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_session_stop_transactions (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 1261 "YouTubePublishing.c" +} + + +static gchar* publishing_you_tube_you_tube_publisher_extract_channel_name_helper (PublishingYouTubeYouTubePublisher* self, xmlNode* document_root, GError** error) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + xmlNode* doc_node_iter = NULL; + xmlNode* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp34_ = NULL; + GError * _inner_error_ = NULL; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self), NULL); +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = g_strdup (""); +#line 164 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _result_ = _tmp0_; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + doc_node_iter = NULL; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = document_root; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = _tmp1_->name; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_strcmp0 (_tmp2_, "feed") == 0) { +#line 1288 "YouTubePublishing.c" + xmlNode* _tmp3_ = NULL; + xmlNode* _tmp4_ = NULL; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = document_root; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = _tmp3_->children; +#line 168 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + doc_node_iter = _tmp4_; +#line 1297 "YouTubePublishing.c" + } else { + xmlNode* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = document_root; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = _tmp5_->name; +#line 169 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_strcmp0 (_tmp6_, "entry") == 0) { +#line 1307 "YouTubePublishing.c" + xmlNode* _tmp7_ = NULL; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = document_root; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + doc_node_iter = _tmp7_; +#line 1313 "YouTubePublishing.c" + } else { + GError* _tmp8_ = NULL; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, "response root node isn't a or "); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _inner_error_ = _tmp8_; +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_propagate_error (error, _inner_error_); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_result_); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return NULL; +#line 1328 "YouTubePublishing.c" + } else { +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_result_); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 172 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return NULL; +#line 1338 "YouTubePublishing.c" + } + } + } + { + gboolean _tmp9_ = FALSE; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = TRUE; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + while (TRUE) { +#line 1348 "YouTubePublishing.c" + xmlNode* _tmp12_ = NULL; + xmlNode* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* name_val = NULL; + gchar* url_val = NULL; + xmlNode* channel_node_iter = NULL; + xmlNode* _tmp15_ = NULL; + xmlNode* _tmp16_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp9_) { +#line 1361 "YouTubePublishing.c" + xmlNode* _tmp10_ = NULL; + xmlNode* _tmp11_ = NULL; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10_ = doc_node_iter; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp11_ = _tmp10_->next; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + doc_node_iter = _tmp11_; +#line 1370 "YouTubePublishing.c" + } +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = FALSE; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp12_ = doc_node_iter; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!(_tmp12_ != NULL)) { +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + break; +#line 1380 "YouTubePublishing.c" + } +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp13_ = doc_node_iter; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp14_ = _tmp13_->name; +#line 176 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_strcmp0 (_tmp14_, "entry") != 0) { +#line 177 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + continue; +#line 1390 "YouTubePublishing.c" + } +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + name_val = NULL; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + url_val = NULL; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp15_ = doc_node_iter; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp16_ = _tmp15_->children; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + channel_node_iter = _tmp16_; +#line 1402 "YouTubePublishing.c" + { + gboolean _tmp17_ = FALSE; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp17_ = TRUE; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + while (TRUE) { +#line 1409 "YouTubePublishing.c" + xmlNode* _tmp20_ = NULL; + xmlNode* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp17_) { +#line 1415 "YouTubePublishing.c" + xmlNode* _tmp18_ = NULL; + xmlNode* _tmp19_ = NULL; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp18_ = channel_node_iter; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp19_ = _tmp18_->next; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + channel_node_iter = _tmp19_; +#line 1424 "YouTubePublishing.c" + } +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp17_ = FALSE; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp20_ = channel_node_iter; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!(_tmp20_ != NULL)) { +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + break; +#line 1434 "YouTubePublishing.c" + } +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp21_ = channel_node_iter; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp22_ = _tmp21_->name; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_strcmp0 (_tmp22_, "title") == 0) { +#line 1442 "YouTubePublishing.c" + xmlNode* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp23_ = channel_node_iter; +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp24_ = (gchar*) xmlNodeGetContent (_tmp23_); +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (name_val); +#line 184 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + name_val = _tmp24_; +#line 1453 "YouTubePublishing.c" + } else { + xmlNode* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp25_ = channel_node_iter; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp26_ = _tmp25_->name; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_strcmp0 (_tmp26_, "id") == 0) { +#line 1463 "YouTubePublishing.c" + xmlNode* _tmp27_ = NULL; + xmlNs* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + xmlNode* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp27_ = channel_node_iter; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp28_ = _tmp27_->ns; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp29_ = _tmp28_->prefix; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_tmp29_ != NULL) { +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + continue; +#line 1479 "YouTubePublishing.c" + } +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp30_ = channel_node_iter; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp31_ = (gchar*) xmlNodeGetContent (_tmp30_); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (url_val); +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + url_val = _tmp31_; +#line 1489 "YouTubePublishing.c" + } + } + } + } +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp32_ = name_val; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp33_ = g_strdup (_tmp32_); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_result_); +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _result_ = _tmp33_; +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (url_val); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (name_val); +#line 196 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + break; +#line 1508 "YouTubePublishing.c" + } + } +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp34_ = _result_; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:199: YouTubePublisher: extracted channel name '" \ +"%s' from response XML.", _tmp34_); +#line 201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _result_; +#line 201 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 1519 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_service_welcome_login (PublishingYouTubeYouTubePublisher* self) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 204 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 205 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:205: EVENT: user clicked 'Login' in welcome pan" \ +"e."); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp0_) { +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1536 "YouTubePublishing.c" + } +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = self->priv->refresh_token; +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_google_publisher_start_oauth_flow (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher), _tmp1_); +#line 1542 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_real_on_login_flow_complete (PublishingRESTSupportGooglePublisher* base) { + PublishingYouTubeYouTubePublisher * self; + SpitPublishingPluginHost* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; + PublishingRESTSupportGoogleSession* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + PublishingYouTubePublishingParameters* _tmp5_ = NULL; + PublishingRESTSupportGoogleSession* _tmp6_ = NULL; + PublishingRESTSupportGoogleSession* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 213 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisher); +#line 214 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:214: EVENT: OAuth login flow complete."); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = _tmp1_; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = publishing_rest_support_google_session_get_refresh_token (_tmp2_); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = _tmp3_; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_host_interface_set_config_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "refresh_token", _tmp4_); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp4_); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp2_); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = self->priv->publishing_parameters; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = _tmp6_; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = publishing_rest_support_google_session_get_user_name (_tmp7_); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = _tmp8_; +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_set_user_name (_tmp5_, _tmp9_); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp9_); +#line 218 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp7_); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_do_fetch_account_information (self); +#line 1596 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete_publishing_rest_support_transaction_completed (PublishingRESTSupportTransaction* _sender, gpointer self) { +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete ((PublishingYouTubeYouTubePublisher*) self, _sender); +#line 1603 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error_publishing_rest_support_transaction_network_error (PublishingRESTSupportTransaction* _sender, GError* err, gpointer self) { +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error ((PublishingYouTubeYouTubePublisher*) self, _sender, err); +#line 1610 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportTransaction* txn) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + PublishingRESTSupportTransaction* _tmp5_ = NULL; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (txn)); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = txn; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = txn; +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 225 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:227: EVENT: finished fetching account and chann" \ +"el information."); +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 229 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp4_) { +#line 230 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1645 "YouTubePublishing.c" + } +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = txn; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_do_parse_and_display_account_information (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION, PublishingYouTubeYouTubePublisherChannelDirectoryTransaction)); +#line 1651 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportTransaction* bad_txn, GError* err) { + PublishingRESTSupportTransaction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportTransaction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + PublishingRESTSupportTransaction* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + SpitPublishingPluginHost* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_TRANSACTION (bad_txn)); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = bad_txn; +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("completed", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp1_, NULL, FALSE); +#line 237 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete_publishing_rest_support_transaction_completed, self); +#line 238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = bad_txn; +#line 238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("network-error", PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, &_tmp3_, NULL, FALSE); +#line 238 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error_publishing_rest_support_transaction_network_error, self); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = bad_txn; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = publishing_rest_support_transaction_get_response (_tmp4_); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = _tmp5_; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:240: EVENT: fetching account and channel inform" \ +"ation failed; response = '%s'.", _tmp6_); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp6_); +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 243 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp7_) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1698 "YouTubePublishing.c" + } +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = err; +#line 246 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_post_error (_tmp8_, _tmp9_); +#line 1706 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_publishing_options_logout (PublishingYouTubeYouTubePublisher* self) { + gboolean _tmp0_ = FALSE; +#line 249 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 250 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:250: EVENT: user clicked 'Logout' in the publis" \ +"hing options pane."); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp0_) { +#line 253 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1722 "YouTubePublishing.c" + } +#line 255 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_google_publisher_do_logout (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 1726 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_publishing_options_publish (PublishingYouTubeYouTubePublisher* self) { + gboolean _tmp0_ = FALSE; +#line 258 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 259 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:259: EVENT: user clicked 'Publish' in the publi" \ +"shing options pane."); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 261 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp0_) { +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1742 "YouTubePublishing.c" + } +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_do_upload (self); +#line 1746 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_upload_status_updated (PublishingYouTubeYouTubePublisher* self, gint file_number, gdouble completed_fraction) { + gdouble _tmp0_ = 0.0; + SpitPublishingProgressCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + gboolean _tmp2_ = FALSE; + SpitPublishingProgressCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = completed_fraction; +#line 268 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:268: EVENT: uploader reports upload %.2f percen" \ +"t complete.", 100.0 * _tmp0_); +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = self->priv->progress_reporter; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1__target = self->priv->progress_reporter_target; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_assert (_tmp1_ != NULL, "progress_reporter != null"); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 272 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp2_) { +#line 273 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1777 "YouTubePublishing.c" + } +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = self->priv->progress_reporter; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3__target = self->priv->progress_reporter_target; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = file_number; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = completed_fraction; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 1789 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete (PublishingRESTSupportBatchUploader* _sender, gint num_photos_published, gpointer self) { +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_upload_complete ((PublishingYouTubeYouTubePublisher*) self, _sender, num_photos_published); +#line 1796 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error (PublishingRESTSupportBatchUploader* _sender, GError* err, gpointer self) { +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_upload_error ((PublishingYouTubeYouTubePublisher*) self, _sender, err); +#line 1803 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_upload_complete (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportBatchUploader* uploader, gint num_published) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = uploader; +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 280 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = uploader; +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 281 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = num_published; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:283: EVENT: uploader reports upload complete; %" \ +"d items published.", _tmp4_); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp5_) { +#line 286 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1840 "YouTubePublishing.c" + } +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_do_show_success_pane (self); +#line 1844 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_on_upload_error (PublishingYouTubeYouTubePublisher* self, PublishingRESTSupportBatchUploader* uploader, GError* err) { + PublishingRESTSupportBatchUploader* _tmp0_ = NULL; + guint _tmp1_ = 0U; + PublishingRESTSupportBatchUploader* _tmp2_ = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + GError* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 291 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_REST_SUPPORT_IS_BATCH_UPLOADER (uploader)); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = uploader; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("upload-complete", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp1_, NULL, FALSE); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = uploader; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_parse_name ("upload-error", PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, &_tmp3_, NULL, FALSE); +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _publishing_you_tube_you_tube_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 296 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp4_) { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1880 "YouTubePublishing.c" + } +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = err; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = _tmp5_->message; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:299: EVENT: uploader reports upload error = '%s" \ +"'.", _tmp6_); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = err; +#line 301 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 1894 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_service_welcome_login_spit_publishing_login_callback (gpointer self) { +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_service_welcome_login ((PublishingYouTubeYouTubePublisher*) self); +#line 1901 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_do_show_service_welcome_pane (PublishingYouTubeYouTubePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 305 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:305: ACTION: showing service welcome pane."); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_install_welcome_pane (_tmp0_, PUBLISHING_YOU_TUBE_SERVICE_WELCOME_MESSAGE, _publishing_you_tube_you_tube_publisher_on_service_welcome_login_spit_publishing_login_callback, self); +#line 1915 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_do_fetch_account_information (PublishingYouTubeYouTubePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* directory_trans = NULL; + PublishingRESTSupportGoogleSession* _tmp2_ = NULL; + PublishingRESTSupportGoogleSession* _tmp3_ = NULL; + PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* _tmp4_ = NULL; + PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:311: ACTION: fetching channel information."); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp0_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp1_, TRUE); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = _tmp2_; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = publishing_you_tube_you_tube_publisher_channel_directory_transaction_new (_tmp3_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = _tmp4_; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp3_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + directory_trans = _tmp5_; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "network-error", (GCallback) _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error_publishing_rest_support_transaction_network_error, self, 0); +#line 319 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), "completed", (GCallback) _publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_complete_publishing_rest_support_transaction_completed, self, 0); +#line 1956 "YouTubePublishing.c" + { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_transaction_execute (G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 1964 "YouTubePublishing.c" + goto __catch27_spit_publishing_publishing_error; + } +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_transaction_unref0 (directory_trans); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.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 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 1975 "YouTubePublishing.c" + } + } + goto __finally27; + __catch27_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + err = _inner_error_; +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _inner_error_ = NULL; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = err; +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_initial_channel_fetch_error (self, G_TYPE_CHECK_INSTANCE_CAST (directory_trans, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), _tmp6_); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_error_free0 (err); +#line 1993 "YouTubePublishing.c" + } + __finally27: +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_transaction_unref0 (directory_trans); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 321 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2006 "YouTubePublishing.c" + } +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_transaction_unref0 (directory_trans); +#line 2010 "YouTubePublishing.c" +} + + +static gchar* _publishing_you_tube_you_tube_publisher_channel_directory_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response (PublishingRESTSupportXmlDocument* doc, gpointer self) { + gchar* result; + result = publishing_you_tube_you_tube_publisher_channel_directory_transaction_validate_xml (doc); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 2019 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_do_parse_and_display_account_information (PublishingYouTubeYouTubePublisher* self, PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* transaction) { + PublishingRESTSupportXmlDocument* response_doc = NULL; + GError * _inner_error_ = NULL; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_IS_CHANNEL_DIRECTORY_TRANSACTION (transaction)); +#line 329 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:329: ACTION: extracting account and channel inf" \ +"ormation from body of server response"); +#line 2032 "YouTubePublishing.c" + { + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PublishingRESTSupportXmlDocument* _tmp4_ = NULL; + PublishingRESTSupportXmlDocument* _tmp5_ = NULL; + PublishingRESTSupportXmlDocument* _tmp6_ = NULL; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = transaction; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = publishing_rest_support_transaction_get_response (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = _tmp2_; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = publishing_rest_support_xml_document_parse_string (_tmp3_, _publishing_you_tube_you_tube_publisher_channel_directory_transaction_validate_xml_publishing_rest_support_xml_document_check_for_error_response, NULL, &_inner_error_); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = _tmp4_; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp3_); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = _tmp5_; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2059 "YouTubePublishing.c" + goto __catch28_spit_publishing_publishing_error; + } +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.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 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2070 "YouTubePublishing.c" + } +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = _tmp0_; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = NULL; +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 333 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + response_doc = _tmp6_; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (_tmp0_); +#line 2082 "YouTubePublishing.c" + } + goto __finally28; + __catch28_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + GError* _tmp8_ = NULL; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + err = _inner_error_; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _inner_error_ = NULL; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = err; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_post_error (_tmp7_, _tmp8_); +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_error_free0 (err); +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 337 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2106 "YouTubePublishing.c" + } + __finally28: +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2119 "YouTubePublishing.c" + } + { + gchar* _tmp9_ = NULL; + PublishingRESTSupportXmlDocument* _tmp10_ = NULL; + xmlNode* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PublishingYouTubePublishingParameters* _tmp13_ = NULL; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10_ = response_doc; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp11_ = publishing_rest_support_xml_document_get_root_node (_tmp10_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp12_ = publishing_you_tube_you_tube_publisher_extract_channel_name_helper (self, _tmp11_, &_inner_error_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = _tmp12_; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 2139 "YouTubePublishing.c" + goto __catch29_spit_publishing_publishing_error; + } +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.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 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2150 "YouTubePublishing.c" + } +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp13_ = self->priv->publishing_parameters; +#line 341 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_set_channel_name (_tmp13_, _tmp9_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp9_); +#line 2158 "YouTubePublishing.c" + } + goto __finally29; + __catch29_spit_publishing_publishing_error: + { + GError* err = NULL; + SpitPublishingPluginHost* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + err = _inner_error_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _inner_error_ = NULL; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp14_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp15_ = err; +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_post_error (_tmp14_, _tmp15_); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_error_free0 (err); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2182 "YouTubePublishing.c" + } + __finally29: +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2195 "YouTubePublishing.c" + } +#line 348 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_do_show_publishing_options_pane (self); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_xml_document_unref0 (response_doc); +#line 2201 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_publishing_options_publish_publishing_you_tube_publishing_options_pane_publish (PublishingYouTubePublishingOptionsPane* _sender, gpointer self) { +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_publishing_options_publish ((PublishingYouTubeYouTubePublisher*) self); +#line 2208 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_publishing_options_logout_publishing_you_tube_publishing_options_pane_logout (PublishingYouTubePublishingOptionsPane* _sender, gpointer self) { +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_publishing_options_logout ((PublishingYouTubeYouTubePublisher*) self); +#line 2215 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_do_show_publishing_options_pane (PublishingYouTubeYouTubePublisher* self) { + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + PublishingYouTubePublishingOptionsPane* opts_pane = NULL; + SpitPublishingPluginHost* _tmp8_ = NULL; + GtkBuilder* _tmp9_ = NULL; + PublishingYouTubePublishingParameters* _tmp10_ = NULL; + PublishingYouTubePublishingOptionsPane* _tmp11_ = NULL; + PublishingYouTubePublishingOptionsPane* _tmp12_ = NULL; + PublishingYouTubePublishingOptionsPane* _tmp13_ = NULL; + SpitPublishingPluginHost* _tmp14_ = NULL; + PublishingYouTubePublishingOptionsPane* _tmp15_ = NULL; + SpitPublishingPluginHost* _tmp16_ = NULL; + GError * _inner_error_ = NULL; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 352 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:352: ACTION: showing publishing options pane."); +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = gtk_builder_new (); +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + builder = _tmp0_; +#line 2241 "YouTubePublishing.c" + { + GtkBuilder* _tmp1_ = NULL; +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = builder; +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + gtk_builder_add_from_resource (_tmp1_, PLUGIN_RESOURCE_PATH "/youtube_publishing_options_pane.ui", &_inner_error_); +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2250 "YouTubePublishing.c" + goto __catch30_g_error; + } + } + goto __finally30; + __catch30_g_error: + { + GError* e = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SpitPublishingPluginHost* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + e = _inner_error_; +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _inner_error_ = NULL; +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = e; +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = _tmp2_->message; +#line 360 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_warning ("YouTubePublishing.vala:360: Could not parse UI file! Error: %s.", _tmp3_); +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = _ ("A file required for publishing is unavailable. Publishing to Youtube c" \ +"an't continue."); +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp5_); +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = _tmp6_; +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_post_error (_tmp4_, _tmp7_); +#line 361 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_error_free0 (_tmp7_); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_error_free0 (e); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (builder); +#line 364 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2292 "YouTubePublishing.c" + } + __finally30: +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (builder); +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 356 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2305 "YouTubePublishing.c" + } +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = builder; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10_ = self->priv->publishing_parameters; +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp11_ = publishing_you_tube_publishing_options_pane_new (_tmp8_, _tmp9_, _tmp10_); +#line 367 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + opts_pane = _tmp11_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp12_ = opts_pane; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (_tmp12_, "publish", (GCallback) _publishing_you_tube_you_tube_publisher_on_publishing_options_publish_publishing_you_tube_publishing_options_pane_publish, self, 0); +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp13_ = opts_pane; +#line 370 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (_tmp13_, "logout", (GCallback) _publishing_you_tube_you_tube_publisher_on_publishing_options_logout_publishing_you_tube_publishing_options_pane_logout, self, 0); +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp14_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp15_ = opts_pane; +#line 371 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_install_dialog_pane (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane), SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp16_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 373 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp16_, FALSE); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (opts_pane); +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (builder); +#line 2339 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_you_tube_publisher_on_upload_status_updated_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_on_upload_status_updated ((PublishingYouTubeYouTubePublisher*) self, file_number, fraction_complete); +#line 2346 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_do_upload (PublishingYouTubeYouTubePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; + void* _tmp3_ = NULL; + GDestroyNotify _tmp4_ = NULL; + SpitPublishingProgressCallback _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + SpitPublishingPublishable** publishables = NULL; + SpitPublishingPluginHost* _tmp7_ = NULL; + gint _tmp8_ = 0; + SpitPublishingPublishable** _tmp9_ = NULL; + gint publishables_length1 = 0; + gint _publishables_size_ = 0; + PublishingYouTubeUploader* uploader = NULL; + PublishingRESTSupportGoogleSession* _tmp10_ = NULL; + PublishingRESTSupportGoogleSession* _tmp11_ = NULL; + SpitPublishingPublishable** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + PublishingYouTubePublishingParameters* _tmp13_ = NULL; + PublishingYouTubeUploader* _tmp14_ = NULL; + PublishingYouTubeUploader* _tmp15_ = NULL; + PublishingYouTubeUploader* _tmp16_ = NULL; + PublishingYouTubeUploader* _tmp17_ = NULL; + PublishingYouTubeUploader* _tmp18_ = NULL; +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 377 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:377: ACTION: uploading media items to remote se" \ +"rver."); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 379 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, TRUE); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 380 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_install_account_fetch_wait_pane (_tmp1_); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = spit_publishing_plugin_host_serialize_publishables (_tmp2_, -1, FALSE, &_tmp3_, &_tmp4_); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter = _tmp5_; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target = _tmp3_; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = _tmp4_; +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = publishing_rest_support_google_publisher_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!_tmp6_) { +#line 390 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 2411 "YouTubePublishing.c" + } +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = spit_publishing_plugin_host_get_publishables (_tmp7_, &_tmp8_); +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishables = _tmp9_; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishables_length1 = _tmp8_; +#line 392 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishables_size_ = publishables_length1; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp11_ = _tmp10_; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp12_ = publishables; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp12__length1 = publishables_length1; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp13_ = self->priv->publishing_parameters; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp14_ = publishing_you_tube_uploader_new (_tmp11_, _tmp12_, _tmp12__length1, _tmp13_); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp15_ = _tmp14_; +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp11_); +#line 393 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + uploader = _tmp15_; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp16_ = uploader; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-complete", (GCallback) _publishing_you_tube_you_tube_publisher_on_upload_complete_publishing_rest_support_batch_uploader_upload_complete, self, 0); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp17_ = uploader; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), "upload-error", (GCallback) _publishing_you_tube_you_tube_publisher_on_upload_error_publishing_rest_support_batch_uploader_upload_error, self, 0); +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp18_ = uploader; +#line 398 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_batch_uploader_upload (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader), _publishing_you_tube_you_tube_publisher_on_upload_status_updated_spit_publishing_progress_callback, self); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_batch_uploader_unref0 (uploader); +#line 376 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishables = (_vala_array_free (publishables, publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2457 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_do_show_success_pane (PublishingYouTubeYouTubePublisher* self) { + SpitPublishingPluginHost* _tmp0_ = NULL; + SpitPublishingPluginHost* _tmp1_ = NULL; +#line 401 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_YOU_TUBE_PUBLISHER (self)); +#line 402 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:402: ACTION: showing success pane."); +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_set_service_locked (_tmp0_, FALSE); +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_publishing_plugin_host_install_success_pane (_tmp1_); +#line 2476 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_real_do_logout (PublishingRESTSupportGooglePublisher* base) { + PublishingYouTubeYouTubePublisher * self; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; + SpitPublishingPluginHost* _tmp2_ = NULL; +#line 408 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisher); +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_debug ("YouTubePublishing.vala:409: ACTION: logging out user."); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_google_publisher_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = _tmp0_; +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_google_session_deauthenticate (_tmp1_); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->refresh_token); +#line 412 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->refresh_token = NULL; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = publishing_rest_support_google_publisher_get_host (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, PublishingRESTSupportGooglePublisher)); +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spit_host_interface_unset_config_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface), "refresh_token"); +#line 416 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_do_show_service_welcome_pane (self); +#line 2507 "YouTubePublishing.c" +} + + +static PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* publishing_you_tube_you_tube_publisher_channel_directory_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session) { + PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = session; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (PublishingYouTubeYouTubePublisherChannelDirectoryTransaction*) publishing_rest_support_google_publisher_authenticated_transaction_construct (object_type, _tmp0_, PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_CHANNEL_DIRECTORY_TRANSACTION_ENDPOINT_URL, PUBLISHING_REST_SUPPORT_HTTP_METHOD_GET); +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 2522 "YouTubePublishing.c" +} + + +static PublishingYouTubeYouTubePublisherChannelDirectoryTransaction* publishing_you_tube_you_tube_publisher_channel_directory_transaction_new (PublishingRESTSupportGoogleSession* session) { +#line 109 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return publishing_you_tube_you_tube_publisher_channel_directory_transaction_construct (PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_TYPE_CHANNEL_DIRECTORY_TRANSACTION, session); +#line 2529 "YouTubePublishing.c" +} + + +static gchar* publishing_you_tube_you_tube_publisher_channel_directory_transaction_validate_xml (PublishingRESTSupportXmlDocument* doc) { + gchar* result = NULL; + xmlNode* document_root = NULL; + PublishingRESTSupportXmlDocument* _tmp0_ = NULL; + xmlNode* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + xmlNode* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_XML_DOCUMENT (doc), NULL); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = doc; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishing_rest_support_xml_document_get_root_node (_tmp0_); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + document_root = _tmp1_; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = document_root; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = _tmp3_->name; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_strcmp0 (_tmp4_, "feed") == 0) { +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = TRUE; +#line 2557 "YouTubePublishing.c" + } else { + xmlNode* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = document_root; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = _tmp5_->name; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = g_strcmp0 (_tmp6_, "entry") == 0; +#line 2567 "YouTubePublishing.c" + } +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_tmp2_) { +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = NULL; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 2575 "YouTubePublishing.c" + } else { + gchar* _tmp7_ = NULL; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = g_strdup ("response root node isn't a or "); +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp7_; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 2584 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_you_tube_publisher_channel_directory_transaction_class_init (PublishingYouTubeYouTubePublisherChannelDirectoryTransactionClass * klass) { +#line 105 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_channel_directory_transaction_parent_class = g_type_class_peek_parent (klass); +#line 2592 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_channel_directory_transaction_instance_init (PublishingYouTubeYouTubePublisherChannelDirectoryTransaction * self) { +} + + +static GType publishing_you_tube_you_tube_publisher_channel_directory_transaction_get_type (void) { + static volatile gsize publishing_you_tube_you_tube_publisher_channel_directory_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_you_tube_publisher_channel_directory_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYouTubeYouTubePublisherChannelDirectoryTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_you_tube_you_tube_publisher_channel_directory_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYouTubeYouTubePublisherChannelDirectoryTransaction), 0, (GInstanceInitFunc) publishing_you_tube_you_tube_publisher_channel_directory_transaction_instance_init, NULL }; + GType publishing_you_tube_you_tube_publisher_channel_directory_transaction_type_id; + publishing_you_tube_you_tube_publisher_channel_directory_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, "PublishingYouTubeYouTubePublisherChannelDirectoryTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_you_tube_you_tube_publisher_channel_directory_transaction_type_id__volatile, publishing_you_tube_you_tube_publisher_channel_directory_transaction_type_id); + } + return publishing_you_tube_you_tube_publisher_channel_directory_transaction_type_id__volatile; +} + + +static void publishing_you_tube_you_tube_publisher_class_init (PublishingYouTubeYouTubePublisherClass * klass) { +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_you_tube_publisher_parent_class = g_type_class_peek_parent (klass); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYouTubeYouTubePublisherPrivate)); +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->is_running = publishing_you_tube_you_tube_publisher_real_is_running; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->start = publishing_you_tube_you_tube_publisher_real_start; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->stop = publishing_you_tube_you_tube_publisher_real_stop; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->on_login_flow_complete = publishing_you_tube_you_tube_publisher_real_on_login_flow_complete; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportGooglePublisherClass *) klass)->do_logout = publishing_you_tube_you_tube_publisher_real_do_logout; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_you_tube_you_tube_publisher_finalize; +#line 2629 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_instance_init (PublishingYouTubeYouTubePublisher * self) { +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv = PUBLISHING_YOU_TUBE_YOU_TUBE_PUBLISHER_GET_PRIVATE (self); +#line 2636 "YouTubePublishing.c" +} + + +static void publishing_you_tube_you_tube_publisher_finalize (GObject* obj) { + PublishingYouTubeYouTubePublisher * self; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YOU_TUBE_TYPE_YOU_TUBE_PUBLISHER, PublishingYouTubeYouTubePublisher); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->priv->refresh_token); +#line 124 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->publishing_parameters); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (self->priv->progress_reporter_target_destroy_notify == NULL) ? NULL : (self->priv->progress_reporter_target_destroy_notify (self->priv->progress_reporter_target), NULL); +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter = NULL; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target = NULL; +#line 125 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->progress_reporter_target_destroy_notify = NULL; +#line 104 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_OBJECT_CLASS (publishing_you_tube_you_tube_publisher_parent_class)->finalize (obj); +#line 2658 "YouTubePublishing.c" +} + + +GType publishing_you_tube_you_tube_publisher_get_type (void) { + static volatile gsize publishing_you_tube_you_tube_publisher_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_you_tube_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYouTubeYouTubePublisherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_you_tube_you_tube_publisher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYouTubeYouTubePublisher), 0, (GInstanceInitFunc) publishing_you_tube_you_tube_publisher_instance_init, NULL }; + GType publishing_you_tube_you_tube_publisher_type_id; + publishing_you_tube_you_tube_publisher_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_PUBLISHER, "PublishingYouTubeYouTubePublisher", &g_define_type_info, 0); + g_once_init_leave (&publishing_you_tube_you_tube_publisher_type_id__volatile, publishing_you_tube_you_tube_publisher_type_id); + } + return publishing_you_tube_you_tube_publisher_type_id__volatile; +} + + +static gpointer _publishing_you_tube_publishing_parameters_ref0 (gpointer self) { +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self ? publishing_you_tube_publishing_parameters_ref (self) : NULL; +#line 2677 "YouTubePublishing.c" +} + + +static gpointer _publishing_you_tube_publishing_options_pane_privacy_description_ref0 (gpointer self) { +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self ? publishing_you_tube_publishing_options_pane_privacy_description_ref (self) : NULL; +#line 2684 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_publishing_options_pane_on_logout_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_on_logout_clicked ((PublishingYouTubePublishingOptionsPane*) self); +#line 2691 "YouTubePublishing.c" +} + + +static void _publishing_you_tube_publishing_options_pane_on_publish_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_on_publish_clicked ((PublishingYouTubePublishingOptionsPane*) self); +#line 2698 "YouTubePublishing.c" +} + + +PublishingYouTubePublishingOptionsPane* publishing_you_tube_publishing_options_pane_construct (GType object_type, SpitPublishingPluginHost* host, GtkBuilder* builder, PublishingYouTubePublishingParameters* publishing_parameters) { + PublishingYouTubePublishingOptionsPane * self = NULL; + gint _tmp0_ = 0; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp1_ = NULL; + PublishingYouTubePublishingParameters* _tmp2_ = NULL; + PublishingYouTubePublishingParameters* _tmp3_ = NULL; + GtkBuilder* _tmp4_ = NULL; + GtkBuilder* _tmp5_ = NULL; + GtkBuilder* _tmp6_ = NULL; + GtkBuilder* _tmp7_ = NULL; + GSList* _tmp8_ = NULL; + GSList* _tmp9_ = NULL; + guint _tmp10_ = 0U; + GtkBuilder* _tmp11_ = NULL; + GObject* _tmp12_ = NULL; + GtkLabel* _tmp13_ = NULL; + GtkBuilder* _tmp14_ = NULL; + GObject* _tmp15_ = NULL; + GtkComboBoxText* _tmp16_ = NULL; + GtkBuilder* _tmp17_ = NULL; + GObject* _tmp18_ = NULL; + GtkLabel* _tmp19_ = NULL; + GtkBuilder* _tmp20_ = NULL; + GObject* _tmp21_ = NULL; + GtkButton* _tmp22_ = NULL; + GtkBuilder* _tmp23_ = NULL; + GObject* _tmp24_ = NULL; + GtkButton* _tmp25_ = NULL; + GtkBuilder* _tmp26_ = NULL; + GObject* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + GtkBuilder* _tmp29_ = NULL; + GObject* _tmp30_ = NULL; + GtkLabel* _tmp31_ = NULL; + GtkLabel* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + PublishingYouTubePublishingParameters* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + GtkLabel* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + PublishingYouTubePublishingParameters* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp46_ = NULL; + gint _tmp46__length1 = 0; + GtkComboBoxText* _tmp51_ = NULL; + GtkLabel* _tmp52_ = NULL; + GtkComboBoxText* _tmp53_ = NULL; + GtkButton* _tmp54_ = NULL; + GtkButton* _tmp55_ = NULL; +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (host), NULL); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (publishing_parameters), NULL); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (PublishingYouTubePublishingOptionsPane*) g_object_new (object_type, NULL); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishing_you_tube_publishing_options_pane_create_privacy_descriptions (self, &_tmp0_); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_descriptions = (_vala_array_free (self->priv->privacy_descriptions, self->priv->privacy_descriptions_length1, (GDestroyNotify) publishing_you_tube_publishing_options_pane_privacy_description_unref), NULL); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_descriptions = _tmp1_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_descriptions_length1 = _tmp0_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->_privacy_descriptions_size_ = self->priv->privacy_descriptions_length1; +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = publishing_parameters; +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = _publishing_you_tube_publishing_parameters_ref0 (_tmp2_); +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->publishing_parameters); +#line 448 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->publishing_parameters = _tmp3_; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = builder; +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 450 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->builder = _tmp5_; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = builder; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_assert (_tmp6_ != NULL, "builder != null"); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = builder; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = gtk_builder_get_objects (_tmp7_); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = _tmp8_; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10_ = g_slist_length (_tmp9_); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_assert (_tmp10_ > ((guint) 0), "builder.get_objects().length() > 0"); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_slist_free0 (_tmp9_); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp11_ = self->priv->builder; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp12_ = gtk_builder_get_object (_tmp11_, "login_identity_label"); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp13_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp12_) : NULL); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->login_identity_label); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->login_identity_label = _tmp13_; +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp14_ = self->priv->builder; +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp15_ = gtk_builder_get_object (_tmp14_, "privacy_combo"); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp16_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp15_) : NULL); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->privacy_combo); +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_combo = _tmp16_; +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp17_ = self->priv->builder; +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp18_ = gtk_builder_get_object (_tmp17_, "publish_to_label"); +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp19_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp18_) : NULL); +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->publish_to_label); +#line 456 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->publish_to_label = _tmp19_; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp20_ = self->priv->builder; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp21_ = gtk_builder_get_object (_tmp20_, "publish_button"); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, gtk_button_get_type ()) ? ((GtkButton*) _tmp21_) : NULL); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->publish_button = _tmp22_; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp23_ = self->priv->builder; +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp24_ = gtk_builder_get_object (_tmp23_, "logout_button"); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp25_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp24_, gtk_button_get_type ()) ? ((GtkButton*) _tmp24_) : NULL); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 458 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->logout_button = _tmp25_; +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp26_ = self->priv->builder; +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp27_ = gtk_builder_get_object (_tmp26_, "youtube_pane_widget"); +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, gtk_box_get_type ()) ? ((GtkBox*) _tmp27_) : NULL); +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 459 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->pane_widget = _tmp28_; +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp29_ = self->priv->builder; +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp30_ = gtk_builder_get_object (_tmp29_, "privacy_label"); +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp30_) : NULL); +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->privacy_label); +#line 460 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_label = _tmp31_; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp32_ = self->priv->login_identity_label; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp33_ = _ ("You are logged into YouTube as %s."); +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp34_ = publishing_parameters; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp35_ = publishing_you_tube_publishing_parameters_get_user_name (_tmp34_); +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp36_ = _tmp35_; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp37_ = g_strdup_printf (_tmp33_, _tmp36_); +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp38_ = _tmp37_; +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + gtk_label_set_label (_tmp32_, _tmp38_); +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp38_); +#line 462 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp36_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp39_ = self->priv->publish_to_label; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp40_ = _ ("Videos will appear in '%s'"); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp41_ = publishing_parameters; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp42_ = publishing_you_tube_publishing_parameters_get_channel_name (_tmp41_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp43_ = _tmp42_; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp44_ = g_strdup_printf (_tmp40_, _tmp43_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp45_ = _tmp44_; +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + gtk_label_set_label (_tmp39_, _tmp45_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp45_); +#line 464 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp43_); +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp46_ = self->priv->privacy_descriptions; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp46__length1 = self->priv->privacy_descriptions_length1; +#line 2921 "YouTubePublishing.c" + { + PublishingYouTubePublishingOptionsPanePrivacyDescription** desc_collection = NULL; + gint desc_collection_length1 = 0; + gint _desc_collection_size_ = 0; + gint desc_it = 0; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + desc_collection = _tmp46_; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + desc_collection_length1 = _tmp46__length1; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + for (desc_it = 0; desc_it < _tmp46__length1; desc_it = desc_it + 1) { +#line 2933 "YouTubePublishing.c" + PublishingYouTubePublishingOptionsPanePrivacyDescription* _tmp47_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription* desc = NULL; +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp47_ = _publishing_you_tube_publishing_options_pane_privacy_description_ref0 (desc_collection[desc_it]); +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + desc = _tmp47_; +#line 2940 "YouTubePublishing.c" + { + GtkComboBoxText* _tmp48_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp48_ = self->priv->privacy_combo; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp49_ = desc; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp50_ = _tmp49_->description; +#line 468 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + gtk_combo_box_text_append_text (_tmp48_, _tmp50_); +#line 467 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_options_pane_privacy_description_unref0 (desc); +#line 2955 "YouTubePublishing.c" + } + } + } +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp51_ = self->priv->privacy_combo; +#line 471 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, gtk_combo_box_get_type (), GtkComboBox), (gint) PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PUBLIC); +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp52_ = self->priv->privacy_label; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp53_ = self->priv->privacy_combo; +#line 472 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + gtk_label_set_mnemonic_widget (_tmp52_, G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_widget_get_type (), GtkWidget)); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp54_ = self->priv->logout_button; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (_tmp54_, "clicked", (GCallback) _publishing_you_tube_publishing_options_pane_on_logout_clicked_gtk_button_clicked, self, 0); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp55_ = self->priv->publish_button; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_connect_object (_tmp55_, "clicked", (GCallback) _publishing_you_tube_publishing_options_pane_on_publish_clicked_gtk_button_clicked, self, 0); +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 2979 "YouTubePublishing.c" +} + + +PublishingYouTubePublishingOptionsPane* publishing_you_tube_publishing_options_pane_new (SpitPublishingPluginHost* host, GtkBuilder* builder, PublishingYouTubePublishingParameters* publishing_parameters) { +#line 445 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return publishing_you_tube_publishing_options_pane_construct (PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, host, builder, publishing_parameters); +#line 2986 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_on_publish_clicked (PublishingYouTubePublishingOptionsPane* self) { + PublishingYouTubePublishingParameters* _tmp0_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + PublishingYouTubePublishingOptionsPanePrivacyDescription* _tmp4_ = NULL; + PublishingYouTubePrivacySetting _tmp5_ = 0; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = self->priv->publishing_parameters; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = self->priv->privacy_descriptions; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1__length1 = self->priv->privacy_descriptions_length1; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = self->priv->privacy_combo; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = _tmp1_[_tmp3_]; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = _tmp4_->privacy_setting; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_parameters_set_privacy (_tmp0_, _tmp5_); +#line 482 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_emit_by_name (self, "publish"); +#line 3018 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_on_logout_clicked (PublishingYouTubePublishingOptionsPane* self) { +#line 485 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_emit_by_name (self, "logout"); +#line 3027 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_update_publish_button_sensitivity (PublishingYouTubePublishingOptionsPane* self) { + GtkButton* _tmp0_ = NULL; +#line 489 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_OPTIONS_PANE (self)); +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = self->priv->publish_button; +#line 490 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 3039 "YouTubePublishing.c" +} + + +static void _vala_array_add31 (PublishingYouTubePublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingYouTubePublishingOptionsPanePrivacyDescription* value) { +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if ((*length) == (*size)) { +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *array = g_renew (PublishingYouTubePublishingOptionsPanePrivacyDescription*, *array, (*size) + 1); +#line 3050 "YouTubePublishing.c" + } +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*array)[(*length)++] = value; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*array)[*length] = NULL; +#line 3056 "YouTubePublishing.c" +} + + +static void _vala_array_add32 (PublishingYouTubePublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingYouTubePublishingOptionsPanePrivacyDescription* value) { +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if ((*length) == (*size)) { +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *array = g_renew (PublishingYouTubePublishingOptionsPanePrivacyDescription*, *array, (*size) + 1); +#line 3067 "YouTubePublishing.c" + } +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*array)[(*length)++] = value; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*array)[*length] = NULL; +#line 3073 "YouTubePublishing.c" +} + + +static void _vala_array_add33 (PublishingYouTubePublishingOptionsPanePrivacyDescription*** array, int* length, int* size, PublishingYouTubePublishingOptionsPanePrivacyDescription* value) { +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if ((*length) == (*size)) { +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *array = g_renew (PublishingYouTubePublishingOptionsPanePrivacyDescription*, *array, (*size) + 1); +#line 3084 "YouTubePublishing.c" + } +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*array)[(*length)++] = value; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + (*array)[*length] = NULL; +#line 3090 "YouTubePublishing.c" +} + + +static PublishingYouTubePublishingOptionsPanePrivacyDescription** publishing_you_tube_publishing_options_pane_create_privacy_descriptions (PublishingYouTubePublishingOptionsPane* self, int* result_length1) { + PublishingYouTubePublishingOptionsPanePrivacyDescription** result = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _result_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription* _tmp3_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription* _tmp6_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription* _tmp9_ = NULL; + PublishingYouTubePublishingOptionsPanePrivacyDescription** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 493 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_OPTIONS_PANE (self), NULL); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = g_new0 (PublishingYouTubePublishingOptionsPanePrivacyDescription*, 0 + 1); +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _result_ = _tmp0_; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _result__length1 = 0; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __result__size_ = _result__length1; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = _result_; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1__length1 = _result__length1; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = _ ("Public listed"); +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = publishing_you_tube_publishing_options_pane_privacy_description_new (_tmp2_, PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PUBLIC); +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_array_add31 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = _result_; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4__length1 = _result__length1; +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = _ ("Public unlisted"); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = publishing_you_tube_publishing_options_pane_privacy_description_new (_tmp5_, PUBLISHING_YOU_TUBE_PRIVACY_SETTING_UNLISTED); +#line 497 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_array_add32 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = _result_; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7__length1 = _result__length1; +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = _ ("Private"); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = publishing_you_tube_publishing_options_pane_privacy_description_new (_tmp8_, PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PRIVATE); +#line 498 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_array_add33 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10_ = _result_; +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10__length1 = _result__length1; +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (result_length1) { +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *result_length1 = _tmp10__length1; +#line 3162 "YouTubePublishing.c" + } +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp10_; +#line 500 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 3168 "YouTubePublishing.c" +} + + +static GtkWidget* publishing_you_tube_publishing_options_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingYouTubePublishingOptionsPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkBox* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; +#line 503 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPane); +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = self->priv->pane_widget; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_assert (_tmp0_ != NULL, "pane_widget != null"); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = self->priv->pane_widget; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp2_; +#line 505 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 3192 "YouTubePublishing.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_you_tube_publishing_options_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingYouTubePublishingOptionsPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 508 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPane); +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 509 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 3205 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingYouTubePublishingOptionsPane * self; +#line 512 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPane); +#line 513 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_update_publish_button_sensitivity (self); +#line 3215 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingYouTubePublishingOptionsPane * self; +#line 516 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPane); +#line 3223 "YouTubePublishing.c" +} + + +static PublishingYouTubePublishingOptionsPanePrivacyDescription* publishing_you_tube_publishing_options_pane_privacy_description_construct (GType object_type, const gchar* description, PublishingYouTubePrivacySetting privacy_setting) { + PublishingYouTubePublishingOptionsPanePrivacyDescription* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PublishingYouTubePrivacySetting _tmp2_ = 0; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (description != NULL, NULL); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (PublishingYouTubePublishingOptionsPanePrivacyDescription*) g_type_create_instance (object_type); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = description; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->description); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->description = _tmp1_; +#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = privacy_setting; +#line 427 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->privacy_setting = _tmp2_; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 3250 "YouTubePublishing.c" +} + + +static PublishingYouTubePublishingOptionsPanePrivacyDescription* publishing_you_tube_publishing_options_pane_privacy_description_new (const gchar* description, PublishingYouTubePrivacySetting privacy_setting) { +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return publishing_you_tube_publishing_options_pane_privacy_description_construct (PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, description, privacy_setting); +#line 3257 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_value_privacy_description_init (GValue* value) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 3264 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_value_privacy_description_free_value (GValue* value) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (value->data[0].v_pointer) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_privacy_description_unref (value->data[0].v_pointer); +#line 3273 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_publishing_options_pane_value_privacy_description_copy_value (const GValue* src_value, GValue* dest_value) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (src_value->data[0].v_pointer) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + dest_value->data[0].v_pointer = publishing_you_tube_publishing_options_pane_privacy_description_ref (src_value->data[0].v_pointer); +#line 3283 "YouTubePublishing.c" + } else { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + dest_value->data[0].v_pointer = NULL; +#line 3287 "YouTubePublishing.c" + } +} + + +static gpointer publishing_you_tube_publishing_options_pane_value_privacy_description_peek_pointer (const GValue* value) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return value->data[0].v_pointer; +#line 3295 "YouTubePublishing.c" +} + + +static gchar* publishing_you_tube_publishing_options_pane_value_privacy_description_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (collect_values[0].v_pointer) { +#line 3302 "YouTubePublishing.c" + PublishingYouTubePublishingOptionsPanePrivacyDescription* object; + object = collect_values[0].v_pointer; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (object->parent_instance.g_class == NULL) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3309 "YouTubePublishing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.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 3313 "YouTubePublishing.c" + } +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = publishing_you_tube_publishing_options_pane_privacy_description_ref (object); +#line 3317 "YouTubePublishing.c" + } else { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 3321 "YouTubePublishing.c" + } +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return NULL; +#line 3325 "YouTubePublishing.c" +} + + +static gchar* publishing_you_tube_publishing_options_pane_value_privacy_description_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PublishingYouTubePublishingOptionsPanePrivacyDescription** object_p; + object_p = collect_values[0].v_pointer; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!object_p) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3336 "YouTubePublishing.c" + } +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (!value->data[0].v_pointer) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *object_p = NULL; +#line 3342 "YouTubePublishing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *object_p = value->data[0].v_pointer; +#line 3346 "YouTubePublishing.c" + } else { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + *object_p = publishing_you_tube_publishing_options_pane_privacy_description_ref (value->data[0].v_pointer); +#line 3350 "YouTubePublishing.c" + } +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return NULL; +#line 3354 "YouTubePublishing.c" +} + + +static GParamSpec* publishing_you_tube_publishing_options_pane_param_spec_privacy_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PublishingYouTubePublishingOptionsPaneParamSpecPrivacyDescription* spec; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (g_type_is_a (object_type, PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION), NULL); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return G_PARAM_SPEC (spec); +#line 3368 "YouTubePublishing.c" +} + + +static gpointer publishing_you_tube_publishing_options_pane_value_get_privacy_description (const GValue* value) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION), NULL); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return value->data[0].v_pointer; +#line 3377 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_value_set_privacy_description (GValue* value, gpointer v_object) { + PublishingYouTubePublishingOptionsPanePrivacyDescription* old; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + old = value->data[0].v_pointer; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (v_object) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = v_object; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_privacy_description_ref (value->data[0].v_pointer); +#line 3397 "YouTubePublishing.c" + } else { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 3401 "YouTubePublishing.c" + } +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (old) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_privacy_description_unref (old); +#line 3407 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_publishing_options_pane_value_take_privacy_description (GValue* value, gpointer v_object) { + PublishingYouTubePublishingOptionsPanePrivacyDescription* old; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + old = value->data[0].v_pointer; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (v_object) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION)); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = v_object; +#line 3426 "YouTubePublishing.c" + } else { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + value->data[0].v_pointer = NULL; +#line 3430 "YouTubePublishing.c" + } +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (old) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_privacy_description_unref (old); +#line 3436 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_publishing_options_pane_privacy_description_class_init (PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass * klass) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_privacy_description_parent_class = g_type_class_peek_parent (klass); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass *) klass)->finalize = publishing_you_tube_publishing_options_pane_privacy_description_finalize; +#line 3446 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_privacy_description_instance_init (PublishingYouTubePublishingOptionsPanePrivacyDescription * self) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->ref_count = 1; +#line 3453 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_privacy_description_finalize (PublishingYouTubePublishingOptionsPanePrivacyDescription* obj) { + PublishingYouTubePublishingOptionsPanePrivacyDescription * self; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_TYPE_PRIVACY_DESCRIPTION, PublishingYouTubePublishingOptionsPanePrivacyDescription); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_handlers_destroy (self); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (self->description); +#line 3465 "YouTubePublishing.c" +} + + +static GType publishing_you_tube_publishing_options_pane_privacy_description_get_type (void) { + static volatile gsize publishing_you_tube_publishing_options_pane_privacy_description_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_publishing_options_pane_privacy_description_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { publishing_you_tube_publishing_options_pane_value_privacy_description_init, publishing_you_tube_publishing_options_pane_value_privacy_description_free_value, publishing_you_tube_publishing_options_pane_value_privacy_description_copy_value, publishing_you_tube_publishing_options_pane_value_privacy_description_peek_pointer, "p", publishing_you_tube_publishing_options_pane_value_privacy_description_collect_value, "p", publishing_you_tube_publishing_options_pane_value_privacy_description_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PublishingYouTubePublishingOptionsPanePrivacyDescriptionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_you_tube_publishing_options_pane_privacy_description_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYouTubePublishingOptionsPanePrivacyDescription), 0, (GInstanceInitFunc) publishing_you_tube_publishing_options_pane_privacy_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 publishing_you_tube_publishing_options_pane_privacy_description_type_id; + publishing_you_tube_publishing_options_pane_privacy_description_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PublishingYouTubePublishingOptionsPanePrivacyDescription", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&publishing_you_tube_publishing_options_pane_privacy_description_type_id__volatile, publishing_you_tube_publishing_options_pane_privacy_description_type_id); + } + return publishing_you_tube_publishing_options_pane_privacy_description_type_id__volatile; +} + + +static gpointer publishing_you_tube_publishing_options_pane_privacy_description_ref (gpointer instance) { + PublishingYouTubePublishingOptionsPanePrivacyDescription* self; + self = instance; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_atomic_int_inc (&self->ref_count); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return instance; +#line 3490 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_privacy_description_unref (gpointer instance) { + PublishingYouTubePublishingOptionsPanePrivacyDescription* self; + self = instance; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_PRIVACY_DESCRIPTION_GET_CLASS (self)->finalize (self); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3503 "YouTubePublishing.c" + } +} + + +static void publishing_you_tube_publishing_options_pane_class_init (PublishingYouTubePublishingOptionsPaneClass * klass) { +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_parent_class = g_type_class_peek_parent (klass); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYouTubePublishingOptionsPanePrivate)); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_you_tube_publishing_options_pane_finalize; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_new ("publish", PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_signal_new ("logout", PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 3519 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_publishing_options_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_you_tube_publishing_options_pane_real_get_widget; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_you_tube_publishing_options_pane_real_get_preferred_geometry; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_you_tube_publishing_options_pane_real_on_pane_installed; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_you_tube_publishing_options_pane_real_on_pane_uninstalled; +#line 3534 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_instance_init (PublishingYouTubePublishingOptionsPane * self) { +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv = PUBLISHING_YOU_TUBE_PUBLISHING_OPTIONS_PANE_GET_PRIVATE (self); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->pane_widget = NULL; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_combo = NULL; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->publish_to_label = NULL; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->login_identity_label = NULL; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->publish_button = NULL; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->logout_button = NULL; +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->builder = NULL; +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_label = NULL; +#line 3557 "YouTubePublishing.c" +} + + +static void publishing_you_tube_publishing_options_pane_finalize (GObject* obj) { + PublishingYouTubePublishingOptionsPane * self; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YOU_TUBE_TYPE_PUBLISHING_OPTIONS_PANE, PublishingYouTubePublishingOptionsPane); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->privacy_combo); +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->publish_to_label); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->login_identity_label); +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->publish_button); +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->logout_button); +#line 440 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->builder); +#line 441 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->privacy_label); +#line 442 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->privacy_descriptions = (_vala_array_free (self->priv->privacy_descriptions, self->priv->privacy_descriptions_length1, (GDestroyNotify) publishing_you_tube_publishing_options_pane_privacy_description_unref), NULL); +#line 443 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->publishing_parameters); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + G_OBJECT_CLASS (publishing_you_tube_publishing_options_pane_parent_class)->finalize (obj); +#line 3587 "YouTubePublishing.c" +} + + +GType publishing_you_tube_publishing_options_pane_get_type (void) { + static volatile gsize publishing_you_tube_publishing_options_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_publishing_options_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYouTubePublishingOptionsPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_you_tube_publishing_options_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYouTubePublishingOptionsPane), 0, (GInstanceInitFunc) publishing_you_tube_publishing_options_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_you_tube_publishing_options_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_you_tube_publishing_options_pane_type_id; + publishing_you_tube_publishing_options_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingYouTubePublishingOptionsPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_you_tube_publishing_options_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_you_tube_publishing_options_pane_type_id__volatile, publishing_you_tube_publishing_options_pane_type_id); + } + return publishing_you_tube_publishing_options_pane_type_id__volatile; +} + + +static gpointer _publishing_rest_support_session_ref0 (gpointer self) { +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self ? publishing_rest_support_session_ref (self) : NULL; +#line 3608 "YouTubePublishing.c" +} + + +PublishingYouTubeUploadTransaction* publishing_you_tube_upload_transaction_construct (GType object_type, PublishingRESTSupportGoogleSession* session, PublishingYouTubePublishingParameters* parameters, SpitPublishingPublishable* publishable) { + PublishingYouTubeUploadTransaction* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + PublishingRESTSupportGoogleSession* _tmp3_ = NULL; + PublishingRESTSupportGoogleSession* _tmp4_ = NULL; + PublishingYouTubePublishingParameters* _tmp5_ = NULL; + PublishingYouTubePublishingParameters* _tmp6_ = NULL; + SpitPublishingPublishable* _tmp7_ = NULL; + SpitPublishingPublishable* _tmp8_ = NULL; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = session; +#line 543 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (PublishingYouTubeUploadTransaction*) publishing_rest_support_google_publisher_authenticated_transaction_construct (object_type, _tmp0_, PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_ENDPOINT_URL, PUBLISHING_REST_SUPPORT_HTTP_METHOD_POST); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = session; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = publishing_rest_support_session_is_authenticated (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession)); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _vala_assert (_tmp2_, "session.is_authenticated()"); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = session; +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = _publishing_rest_support_session_ref0 (_tmp3_); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 545 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->session = _tmp4_; +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = parameters; +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = _publishing_you_tube_publishing_parameters_ref0 (_tmp5_); +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->parameters); +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->parameters = _tmp6_; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = publishable; +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->publishable); +#line 547 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->publishable = _tmp8_; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 3665 "YouTubePublishing.c" +} + + +PublishingYouTubeUploadTransaction* publishing_you_tube_upload_transaction_new (PublishingRESTSupportGoogleSession* session, PublishingYouTubePublishingParameters* parameters, SpitPublishingPublishable* publishable) { +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return publishing_you_tube_upload_transaction_construct (PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION, session, parameters, publishable); +#line 3672 "YouTubePublishing.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 3716 "YouTubePublishing.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 3722 "YouTubePublishing.c" +} + + +static void _vala_SoupBuffer_free (SoupBuffer* self) { +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_boxed_free (soup_buffer_get_type (), self); +#line 3729 "YouTubePublishing.c" +} + + +static void _vala_SoupMultipart_free (SoupMultipart* self) { +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_boxed_free (soup_multipart_get_type (), self); +#line 3736 "YouTubePublishing.c" +} + + +static void publishing_you_tube_upload_transaction_real_execute (PublishingRESTSupportTransaction* base, GError** error) { + PublishingYouTubeUploadTransaction * self; + SoupMultipart* message_parts = NULL; + SoupMultipart* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PublishingYouTubePublishingParameters* _tmp2_ = NULL; + PublishingYouTubePrivacySetting _tmp3_ = 0; + gchar* unlisted_video = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PublishingYouTubePublishingParameters* _tmp6_ = NULL; + PublishingYouTubePrivacySetting _tmp7_ = 0; + gchar* private_video = NULL; + gchar* _tmp8_ = NULL; + gchar* title = NULL; + SpitPublishingPublishable* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* metadata = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + SoupBuffer* metadata_buffer = NULL; + const gchar* _tmp21_ = NULL; + guint8* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + guint8* _tmp23_ = NULL; + gint _tmp23__length1 = 0; + SoupBuffer* _tmp24_ = NULL; + SoupMultipart* _tmp25_ = NULL; + SoupBuffer* _tmp26_ = NULL; + gchar* video_data = NULL; + gsize data_length = 0UL; + SoupBuffer* bindable_data = NULL; + const gchar* _tmp46_ = NULL; + guint8* _tmp47_ = NULL; + gint _tmp47__length1 = 0; + guint8* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gsize _tmp49_ = 0UL; + SoupBuffer* _tmp50_ = NULL; + SoupMultipart* _tmp51_ = NULL; + SpitPublishingPublishable* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + GFile* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + SoupMessage* outbound_message = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + SoupMultipart* _tmp59_ = NULL; + SoupMessage* _tmp60_ = NULL; + SoupMessage* _tmp61_ = NULL; + SoupMessageHeaders* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + SoupMessageHeaders* _tmp65_ = NULL; + SpitPublishingPublishable* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + SoupMessageHeaders* _tmp69_ = NULL; + PublishingRESTSupportGoogleSession* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + GError * _inner_error_ = NULL; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION, PublishingYouTubeUploadTransaction); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = soup_multipart_new ("multipart/related"); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + message_parts = _tmp0_; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = self->priv->parameters; +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = publishing_you_tube_publishing_parameters_get_privacy (_tmp2_); +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_tmp3_ == PUBLISHING_YOU_TUBE_PRIVACY_SETTING_UNLISTED) { +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_UNLISTED_XML; +#line 3825 "YouTubePublishing.c" + } else { +#line 555 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = ""; +#line 3829 "YouTubePublishing.c" + } +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = g_strdup (_tmp1_); +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + unlisted_video = _tmp4_; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = self->priv->parameters; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp7_ = publishing_you_tube_publishing_parameters_get_privacy (_tmp6_); +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_tmp7_ == PUBLISHING_YOU_TUBE_PRIVACY_SETTING_PRIVATE) { +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_PRIVATE_XML; +#line 3843 "YouTubePublishing.c" + } else { +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = ""; +#line 3847 "YouTubePublishing.c" + } +#line 557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp8_ = g_strdup (_tmp5_); +#line 557 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + private_video = _tmp8_; +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp9_ = self->priv->publishable; +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp10_ = spit_publishing_publishable_get_publishing_name (_tmp9_); +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + title = _tmp10_; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp11_ = title; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (g_strcmp0 (_tmp11_, "") == 0) { +#line 3863 "YouTubePublishing.c" + SpitPublishingPublishable* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp12_ = self->priv->publishable; +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp13_ = spit_publishing_publishable_get_param_string (_tmp12_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (title); +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + title = _tmp13_; +#line 3874 "YouTubePublishing.c" + } +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp14_ = title; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp15_ = publishing_rest_support_decimal_entity_encode (_tmp14_); +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp16_ = _tmp15_; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp17_ = private_video; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp18_ = unlisted_video; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp19_ = g_strdup_printf (PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_METADATA_TEMPLATE, _tmp16_, _tmp17_, _tmp18_); +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp20_ = _tmp19_; +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp16_); +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + metadata = _tmp20_; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp21_ = metadata; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp22_ = string_get_data (_tmp21_, &_tmp22__length1); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp23_ = _tmp22_; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp23__length1 = _tmp22__length1; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp24_ = soup_buffer_new (SOUP_MEMORY_COPY, _tmp23_, _tmp23__length1); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + metadata_buffer = _tmp24_; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp25_ = message_parts; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp26_ = metadata_buffer; +#line 569 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + soup_multipart_append_form_file (_tmp25_, "", "", "application/atom+xml", _tmp26_); +#line 3912 "YouTubePublishing.c" + { + SpitPublishingPublishable* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gsize _tmp33_ = 0UL; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp27_ = self->priv->publishable; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp28_ = spit_publishing_publishable_get_serialized_file (_tmp27_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp29_ = _tmp28_; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp30_ = g_file_get_path (_tmp29_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp31_ = _tmp30_; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_file_get_contents (_tmp31_, &_tmp32_, &_tmp33_, &_inner_error_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (video_data); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + video_data = _tmp32_; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + data_length = _tmp33_; +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp31_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (_tmp29_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_inner_error_->domain == G_FILE_ERROR) { +#line 3947 "YouTubePublishing.c" + goto __catch31_g_file_error; + } +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (video_data); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (metadata); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (title); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (private_video); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (unlisted_video); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.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 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 575 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 3970 "YouTubePublishing.c" + } + } + goto __finally31; + __catch31_g_file_error: + { + GError* e = NULL; + gchar* msg = NULL; + SpitPublishingPublishable* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + GError* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + GError* _tmp45_ = NULL; +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + e = _inner_error_; +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _inner_error_ = NULL; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp34_ = self->priv->publishable; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp35_ = spit_publishing_publishable_get_serialized_file (_tmp34_); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp36_ = _tmp35_; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp37_ = g_file_get_path (_tmp36_); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp38_ = _tmp37_; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp39_ = e; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp40_ = _tmp39_->message; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp41_ = g_strdup_printf ("YouTube: couldn't read data from %s: %s", _tmp38_, _tmp40_); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp42_ = _tmp41_; +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp38_); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (_tmp36_); +#line 578 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + msg = _tmp42_; +#line 580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp43_ = msg; +#line 580 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_warning ("YouTubePublishing.vala:580: %s", _tmp43_); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp44_ = msg; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp45_ = g_error_new_literal (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, _tmp44_); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _inner_error_ = _tmp45_; +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (msg); +#line 582 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_error_free0 (e); +#line 4032 "YouTubePublishing.c" + goto __finally31; + } + __finally31: +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_propagate_error (error, _inner_error_); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (video_data); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (metadata); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (title); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (private_video); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (unlisted_video); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 4058 "YouTubePublishing.c" + } else { +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (video_data); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (metadata); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (title); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (private_video); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (unlisted_video); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_critical ("file %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/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 574 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 4080 "YouTubePublishing.c" + } + } +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp46_ = video_data; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp47_ = string_get_data (_tmp46_, &_tmp47__length1); +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp48_ = _tmp47_; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp48__length1 = _tmp47__length1; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp49_ = data_length; +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp50_ = soup_buffer_new (SOUP_MEMORY_COPY, _tmp48_ + 0, ((gint) _tmp49_) - 0); +#line 588 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + bindable_data = _tmp50_; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp51_ = message_parts; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp52_ = self->priv->publishable; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp53_ = spit_publishing_publishable_get_serialized_file (_tmp52_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp54_ = _tmp53_; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp55_ = g_file_get_path (_tmp54_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp56_ = _tmp55_; +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + soup_multipart_append_form_file (_tmp51_, "", _tmp56_, "video/mpeg", bindable_data); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp56_); +#line 591 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (_tmp54_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp57_ = publishing_rest_support_transaction_get_endpoint_url (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction)); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp58_ = _tmp57_; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp59_ = message_parts; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp60_ = soup_form_request_new_from_multipart (_tmp58_, _tmp59_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp61_ = _tmp60_; +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp58_); +#line 595 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + outbound_message = _tmp61_; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp62_ = outbound_message->request_headers; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp63_ = g_strdup_printf ("key=%s", PUBLISHING_YOU_TUBE_DEVELOPER_KEY); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp64_ = _tmp63_; +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + soup_message_headers_append (_tmp62_, "X-GData-Key", _tmp64_); +#line 597 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp64_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp65_ = outbound_message->request_headers; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp66_ = self->priv->publishable; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp67_ = spit_publishing_publishable_get_param_string (_tmp66_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp68_ = _tmp67_; +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + soup_message_headers_append (_tmp65_, "Slug", _tmp68_); +#line 598 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp68_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp69_ = outbound_message->request_headers; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp70_ = self->priv->session; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp71_ = publishing_rest_support_google_session_get_access_token (_tmp70_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp72_ = _tmp71_; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp73_ = g_strconcat ("Bearer ", _tmp72_, NULL); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp74_ = _tmp73_; +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + soup_message_headers_append (_tmp69_, "Authorization", _tmp74_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp74_); +#line 600 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (_tmp72_); +#line 602 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_transaction_set_message (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), outbound_message); +#line 605 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_transaction_set_is_executed (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), TRUE); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_rest_support_transaction_send (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction), &_inner_error_); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_propagate_error (error, _inner_error_); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (outbound_message); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (video_data); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (metadata); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (title); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (private_video); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (unlisted_video); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 4201 "YouTubePublishing.c" + } else { +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (outbound_message); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (video_data); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (metadata); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (title); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (private_video); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (unlisted_video); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_clear_error (&_inner_error_); +#line 606 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return; +#line 4227 "YouTubePublishing.c" + } + } +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (outbound_message); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (bindable_data); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (video_data); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupBuffer_free0 (metadata_buffer); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (metadata); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (title); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (private_video); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_free0 (unlisted_video); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + __vala_SoupMultipart_free0 (message_parts); +#line 4248 "YouTubePublishing.c" +} + + +static void publishing_you_tube_upload_transaction_class_init (PublishingYouTubeUploadTransactionClass * klass) { +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_upload_transaction_parent_class = g_type_class_peek_parent (klass); +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->finalize = publishing_you_tube_upload_transaction_finalize; +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYouTubeUploadTransactionPrivate)); +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportTransactionClass *) klass)->execute = publishing_you_tube_upload_transaction_real_execute; +#line 4261 "YouTubePublishing.c" +} + + +static void publishing_you_tube_upload_transaction_instance_init (PublishingYouTubeUploadTransaction * self) { +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv = PUBLISHING_YOU_TUBE_UPLOAD_TRANSACTION_GET_PRIVATE (self); +#line 4268 "YouTubePublishing.c" +} + + +static void publishing_you_tube_upload_transaction_finalize (PublishingRESTSupportTransaction* obj) { + PublishingYouTubeUploadTransaction * self; +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YOU_TUBE_TYPE_UPLOAD_TRANSACTION, PublishingYouTubeUploadTransaction); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->parameters); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (self->priv->session); +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (self->priv->publishable); +#line 520 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + PUBLISHING_REST_SUPPORT_TRANSACTION_CLASS (publishing_you_tube_upload_transaction_parent_class)->finalize (obj); +#line 4284 "YouTubePublishing.c" +} + + +GType publishing_you_tube_upload_transaction_get_type (void) { + static volatile gsize publishing_you_tube_upload_transaction_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_upload_transaction_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYouTubeUploadTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_you_tube_upload_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYouTubeUploadTransaction), 0, (GInstanceInitFunc) publishing_you_tube_upload_transaction_instance_init, NULL }; + GType publishing_you_tube_upload_transaction_type_id; + publishing_you_tube_upload_transaction_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_GOOGLE_PUBLISHER_TYPE_AUTHENTICATED_TRANSACTION, "PublishingYouTubeUploadTransaction", &g_define_type_info, 0); + g_once_init_leave (&publishing_you_tube_upload_transaction_type_id__volatile, publishing_you_tube_upload_transaction_type_id); + } + return publishing_you_tube_upload_transaction_type_id__volatile; +} + + +PublishingYouTubeUploader* publishing_you_tube_uploader_construct (GType object_type, PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingYouTubePublishingParameters* parameters) { + PublishingYouTubeUploader* self = NULL; + PublishingRESTSupportGoogleSession* _tmp0_ = NULL; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PublishingYouTubePublishingParameters* _tmp2_ = NULL; + PublishingYouTubePublishingParameters* _tmp3_ = NULL; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_REST_SUPPORT_IS_GOOGLE_SESSION (session), NULL); +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (PUBLISHING_YOU_TUBE_IS_PUBLISHING_PARAMETERS (parameters), NULL); +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = session; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = publishables; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1__length1 = publishables_length1; +#line 615 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = (PublishingYouTubeUploader*) publishing_rest_support_batch_uploader_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_SESSION, PublishingRESTSupportSession), _tmp1_, _tmp1__length1); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = parameters; +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = _publishing_you_tube_publishing_parameters_ref0 (_tmp2_); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->parameters); +#line 617 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv->parameters = _tmp3_; +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return self; +#line 4329 "YouTubePublishing.c" +} + + +PublishingYouTubeUploader* publishing_you_tube_uploader_new (PublishingRESTSupportGoogleSession* session, SpitPublishingPublishable** publishables, int publishables_length1, PublishingYouTubePublishingParameters* parameters) { +#line 613 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return publishing_you_tube_uploader_construct (PUBLISHING_YOU_TUBE_TYPE_UPLOADER, session, publishables, publishables_length1, parameters); +#line 4336 "YouTubePublishing.c" +} + + +static PublishingRESTSupportTransaction* publishing_you_tube_uploader_real_create_transaction (PublishingRESTSupportBatchUploader* base, SpitPublishingPublishable* publishable) { + PublishingYouTubeUploader * self; + PublishingRESTSupportTransaction* result = NULL; + PublishingRESTSupportSession* _tmp0_ = NULL; + PublishingRESTSupportGoogleSession* _tmp1_ = NULL; + PublishingYouTubePublishingParameters* _tmp2_ = NULL; + SpitPublishingPublishable* _tmp3_ = NULL; + SpitPublishingPublishable* _tmp4_ = NULL; + PublishingYouTubeUploadTransaction* _tmp5_ = NULL; + PublishingRESTSupportTransaction* _tmp6_ = NULL; +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_YOU_TUBE_TYPE_UPLOADER, PublishingYouTubeUploader); +#line 620 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (publishable), NULL); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp0_ = publishing_rest_support_batch_uploader_get_session (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PUBLISHING_REST_SUPPORT_TYPE_GOOGLE_SESSION, PublishingRESTSupportGoogleSession); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp2_ = self->priv->parameters; +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp3_ = publishing_rest_support_batch_uploader_get_current_publishable (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, PublishingRESTSupportBatchUploader)); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp4_ = _tmp3_; +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp5_ = publishing_you_tube_upload_transaction_new (_tmp1_, _tmp2_, _tmp4_); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_REST_SUPPORT_TYPE_TRANSACTION, PublishingRESTSupportTransaction); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _g_object_unref0 (_tmp4_); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_rest_support_session_unref0 (_tmp1_); +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + result = _tmp6_; +#line 622 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + return result; +#line 4376 "YouTubePublishing.c" +} + + +static void publishing_you_tube_uploader_class_init (PublishingYouTubeUploaderClass * klass) { +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + publishing_you_tube_uploader_parent_class = g_type_class_peek_parent (klass); +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->finalize = publishing_you_tube_uploader_finalize; +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + g_type_class_add_private (klass, sizeof (PublishingYouTubeUploaderPrivate)); +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + ((PublishingRESTSupportBatchUploaderClass *) klass)->create_transaction = publishing_you_tube_uploader_real_create_transaction; +#line 4389 "YouTubePublishing.c" +} + + +static void publishing_you_tube_uploader_instance_init (PublishingYouTubeUploader * self) { +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self->priv = PUBLISHING_YOU_TUBE_UPLOADER_GET_PRIVATE (self); +#line 4396 "YouTubePublishing.c" +} + + +static void publishing_you_tube_uploader_finalize (PublishingRESTSupportBatchUploader* obj) { + PublishingYouTubeUploader * self; +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_YOU_TUBE_TYPE_UPLOADER, PublishingYouTubeUploader); +#line 611 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + _publishing_you_tube_publishing_parameters_unref0 (self->priv->parameters); +#line 610 "/home/jens/Source/shotwell/plugins/shotwell-publishing/YouTubePublishing.vala" + PUBLISHING_REST_SUPPORT_BATCH_UPLOADER_CLASS (publishing_you_tube_uploader_parent_class)->finalize (obj); +#line 4408 "YouTubePublishing.c" +} + + +GType publishing_you_tube_uploader_get_type (void) { + static volatile gsize publishing_you_tube_uploader_type_id__volatile = 0; + if (g_once_init_enter (&publishing_you_tube_uploader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingYouTubeUploaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_you_tube_uploader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingYouTubeUploader), 0, (GInstanceInitFunc) publishing_you_tube_uploader_instance_init, NULL }; + GType publishing_you_tube_uploader_type_id; + publishing_you_tube_uploader_type_id = g_type_register_static (PUBLISHING_REST_SUPPORT_TYPE_BATCH_UPLOADER, "PublishingYouTubeUploader", &g_define_type_info, 0); + g_once_init_leave (&publishing_you_tube_uploader_type_id__volatile, publishing_you_tube_uploader_type_id); + } + return publishing_you_tube_uploader_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/plugins/shotwell-publishing/YouTubePublishing.vala b/plugins/shotwell-publishing/YouTubePublishing.vala index 15f283f..7325c32 100644 --- a/plugins/shotwell-publishing/YouTubePublishing.vala +++ b/plugins/shotwell-publishing/YouTubePublishing.vala @@ -11,7 +11,8 @@ public class YouTubeService : Object, Spit.Pluggable, Spit.Publishing.Service { public YouTubeService(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = Resources.load_from_resource + (Resources.RESOURCE_PATH + "/" + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { @@ -353,8 +354,8 @@ public class YouTubePublisher : Publishing.RESTSupport.GooglePublisher { Gtk.Builder builder = new Gtk.Builder(); try { - builder.add_from_file( - get_host().get_module_file().get_parent().get_child("youtube_publishing_options_pane.glade").get_path()); + builder.add_from_resource (Resources.RESOURCE_PATH + + "/youtube_publishing_options_pane.ui"); } catch (Error e) { warning("Could not parse UI file! Error: %s.", e.message); get_host().post_error( diff --git a/plugins/shotwell-publishing/facebook_publishing_options_pane.glade b/plugins/shotwell-publishing/facebook_publishing_options_pane.glade deleted file mode 100644 index 7eb30f6..0000000 --- a/plugins/shotwell-publishing/facebook_publishing_options_pane.glade +++ /dev/null @@ -1,243 +0,0 @@ - - - - - True - False - True - - - 1 - True - False - vertical - 16 - - - True - False - 0.30000001192092896 - 16 - (text depends on fb username and is modified in the app - -anything put into this field won't display) - - - False - True - 0 - - - - - True - False - 8 - 32 - True - - - Publish to an e_xisting album: - True - True - False - True - 0 - True - create_new_radio - - - 0 - 0 - 1 - 1 - - - - - Create a _new album named: - True - True - False - 8 - True - 0 - True - True - - - 0 - 1 - 1 - 1 - - - - - True - True - 8 - - True - - - 1 - 1 - 1 - 1 - - - - - True - False - 0 - 1 - - - 1 - 0 - 1 - 1 - - - - - True - False - 0 - Upload _size: - True - resolution_combo - - - 0 - 3 - 1 - 1 - - - - - True - False - start - 0 - 1 - - - 1 - 3 - 1 - 1 - - - - - True - False - 0 - Videos and new photo albums _visible to: - True - visibility_combo - - - 0 - 2 - 1 - 1 - - - - - True - False - start - 0 - 1 - - - 1 - 2 - 1 - 1 - - - - - False - True - 4 - 1 - - - - - _Remove location, camera, and other identifying information before uploading - True - True - False - True - 0.10000000149011612 - True - - - False - True - 2 - - - - - True - False - 32 - True - - - _Logout - True - True - True - True - - - False - True - 80 - 0 - - - - - _Publish - True - True - True - True - - - False - True - 80 - 1 - - - - - False - True - 2 - 3 - - - - - True - True - 8 - end - 0 - - - - diff --git a/plugins/shotwell-publishing/facebook_publishing_options_pane.ui b/plugins/shotwell-publishing/facebook_publishing_options_pane.ui new file mode 100644 index 0000000..674b078 --- /dev/null +++ b/plugins/shotwell-publishing/facebook_publishing_options_pane.ui @@ -0,0 +1,243 @@ + + + + + True + False + True + + + 1 + True + False + vertical + 16 + + + True + False + 0.30000001192092896 + 16 + (text depends on fb username and is modified in the app - +anything put into this field won't display) + + + False + True + 0 + + + + + True + False + 8 + 32 + True + + + Publish to an e_xisting album: + True + True + False + True + 0 + True + create_new_radio + + + 0 + 0 + 1 + 1 + + + + + Create a _new album named: + True + True + False + 8 + True + 0 + True + True + + + 0 + 1 + 1 + 1 + + + + + True + True + 8 + + True + + + 1 + 1 + 1 + 1 + + + + + True + False + 0 + 1 + + + 1 + 0 + 1 + 1 + + + + + True + False + 0 + Upload _size: + True + resolution_combo + + + 0 + 3 + 1 + 1 + + + + + True + False + start + 0 + 1 + + + 1 + 3 + 1 + 1 + + + + + True + False + 0 + Videos and new photo albums _visible to: + True + visibility_combo + + + 0 + 2 + 1 + 1 + + + + + True + False + start + 0 + 1 + + + 1 + 2 + 1 + 1 + + + + + False + True + 4 + 1 + + + + + _Remove location, camera, and other identifying information before uploading + True + True + False + True + 0.10000000149011612 + True + + + False + True + 2 + + + + + True + False + 32 + True + + + _Logout + True + True + True + True + + + False + True + 80 + 0 + + + + + _Publish + True + True + True + True + + + False + True + 80 + 1 + + + + + False + True + 2 + 3 + + + + + True + True + 8 + end + 0 + + + + diff --git a/plugins/shotwell-publishing/flickr_pin_entry_pane.glade b/plugins/shotwell-publishing/flickr_pin_entry_pane.glade deleted file mode 100644 index e20fb38..0000000 --- a/plugins/shotwell-publishing/flickr_pin_entry_pane.glade +++ /dev/null @@ -1,101 +0,0 @@ - - - - - True - False - vertical - - - True - False - 16 - 16 - 48 - 16 - Enter the confirmation number which appears after you log into Flickr in your Web browser. - 0.0099999997764825821 - - - False - True - 0 - - - - - True - False - center - 80 - - - True - False - 1 - 1 - Authorization _Number: - True - right - pin_entry - - - False - False - 0 - - - - - True - True - 8 - - True - - - False - True - 1 - - - - - True - True - 1 - - - - - True - False - vertical - - - False - True - 2 - - - - - Con_tinue - False - True - True - True - 240 - 240 - 160 - False - True - - - False - True - 3 - - - - diff --git a/plugins/shotwell-publishing/flickr_pin_entry_pane.ui b/plugins/shotwell-publishing/flickr_pin_entry_pane.ui new file mode 100644 index 0000000..e20fb38 --- /dev/null +++ b/plugins/shotwell-publishing/flickr_pin_entry_pane.ui @@ -0,0 +1,101 @@ + + + + + True + False + vertical + + + True + False + 16 + 16 + 48 + 16 + Enter the confirmation number which appears after you log into Flickr in your Web browser. + 0.0099999997764825821 + + + False + True + 0 + + + + + True + False + center + 80 + + + True + False + 1 + 1 + Authorization _Number: + True + right + pin_entry + + + False + False + 0 + + + + + True + True + 8 + + True + + + False + True + 1 + + + + + True + True + 1 + + + + + True + False + vertical + + + False + True + 2 + + + + + Con_tinue + False + True + True + True + 240 + 240 + 160 + False + True + + + False + True + 3 + + + + diff --git a/plugins/shotwell-publishing/flickr_publishing_options_pane.glade b/plugins/shotwell-publishing/flickr_publishing_options_pane.glade deleted file mode 100644 index 995f2c2..0000000 --- a/plugins/shotwell-publishing/flickr_publishing_options_pane.glade +++ /dev/null @@ -1,183 +0,0 @@ - - - - - True - False - 16 - True - - - True - False - vertical - 24 - - - True - False - You are logged into Flickr as (name). - -(this label's string is populated and set inside the code, -so changes made here will not display) - - - False - True - 16 - 0 - - - - - True - False - center - center - 8 - 8 - 24 - - - True - False - _visibility label (populated in the code) - True - right - visibility_combo - - - 0 - 0 - 1 - 1 - - - - - True - False - 1 - Photo _size: - True - size_combo - - - 0 - 1 - 1 - 1 - - - - - True - False - 0 - 1 - - - 1 - 0 - 1 - 1 - - - - - True - False - 0 - 1 - - - 1 - 1 - 1 - 1 - - - - - _Remove location, camera, and other identifying information before uploading - True - True - False - center - 16 - True - 0.17000000178813934 - True - - - 0 - 2 - 2 - 1 - - - - - False - True - 18 - 1 - - - - - True - False - center - 8 - 64 - True - - - _Logout - 96 - True - True - True - True - - - False - True - 24 - 0 - - - - - _Publish - 96 - True - True - True - True - - - False - True - 24 - 1 - - - - - False - False - 2 - - - - - False - True - 8 - 0 - - - - diff --git a/plugins/shotwell-publishing/flickr_publishing_options_pane.ui b/plugins/shotwell-publishing/flickr_publishing_options_pane.ui new file mode 100644 index 0000000..7f67438 --- /dev/null +++ b/plugins/shotwell-publishing/flickr_publishing_options_pane.ui @@ -0,0 +1,183 @@ + + + + + True + False + 16 + True + + + True + False + vertical + 24 + + + True + False + You are logged into Flickr as (name). + +(this label's string is populated and set inside the code, +so changes made here will not display) + + + False + True + 16 + 0 + + + + + True + False + center + center + 8 + 8 + 24 + + + True + False + _visibility label (populated in the code) + True + right + visibility_combo + + + 0 + 0 + 1 + 1 + + + + + True + False + 1 + Photo _size: + True + size_combo + + + 0 + 1 + 1 + 1 + + + + + True + False + 0 + 1 + + + 1 + 0 + 1 + 1 + + + + + True + False + 0 + 1 + + + 1 + 1 + 1 + 1 + + + + + _Remove location, camera, and other identifying information before uploading + True + True + False + center + 16 + True + 0.17000000178813934 + True + + + 0 + 2 + 2 + 1 + + + + + False + True + 18 + 1 + + + + + True + False + center + 8 + 64 + True + + + _Logout + 96 + True + True + True + True + + + False + True + 24 + 0 + + + + + _Publish + 96 + True + True + True + True + + + False + True + 24 + 1 + + + + + False + False + 2 + + + + + False + True + 8 + 0 + + + + diff --git a/plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml b/plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml new file mode 100644 index 0000000..53bcc43 --- /dev/null +++ b/plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml @@ -0,0 +1,17 @@ + + + + facebook.png + flickr.png + picasa.png + piwigo.png + youtube.png + facebook_publishing_options_pane.ui + flickr_pin_entry_pane.ui + flickr_publishing_options_pane.ui + picasa_publishing_options_pane.ui + piwigo_authentication_pane.ui + piwigo_publishing_options_pane.ui + youtube_publishing_options_pane.ui + + diff --git a/plugins/shotwell-publishing/picasa_publishing_options_pane.glade b/plugins/shotwell-publishing/picasa_publishing_options_pane.glade deleted file mode 100644 index adee4d2..0000000 --- a/plugins/shotwell-publishing/picasa_publishing_options_pane.glade +++ /dev/null @@ -1,263 +0,0 @@ - - - - - True - False - vertical - 1 - - - - - - True - False - 12 - 32 - 'you are logged in as $name' -(populated in the application code) - - - False - True - 4 - 1 - - - - - True - False - 32 - 32 - vertical - - - - - - True - False - 24 - 24 - 8 - True - - - True - False - 0 - 1 - - - 1 - 1 - 1 - 1 - - - - - True - True - - - - 1 - 2 - 1 - 1 - - - - - An _existing album: - True - True - False - True - 0 - True - True - create_new_radio - - - 0 - 1 - 1 - 1 - - - - - A _new album named: - True - True - False - True - 0 - 0.47999998927116394 - True - True - - - 0 - 2 - 1 - 1 - - - - - L_ist album in public gallery - True - True - False - True - 0 - True - - - 1 - 3 - 1 - 1 - - - - - True - False - 32 - 0 - $mediatype will appear in -(populated in code) - - - 0 - 0 - 2 - 1 - - - - - True - False - 32 - 0 - Photo _size preset: - True - size_combo - - - 0 - 4 - 1 - 1 - - - - - True - False - 32 - 0 - 1 - - - 1 - 4 - 1 - 1 - - - - - _Remove location, camera, and other identifying information before uploading - True - True - False - center - 16 - True - True - 0.20000000298023224 - True - - - 0 - 5 - 2 - 1 - - - - - - - - False - True - 4 - 1 - - - - - False - True - 2 - - - - - - - - True - False - 112 - 112 - 48 - 24 - 128 - True - - - _Logout - True - True - True - True - - - False - True - 0 - - - - - _Publish - True - True - True - True - - - False - True - 1 - - - - - False - True - 4 - - - - diff --git a/plugins/shotwell-publishing/picasa_publishing_options_pane.ui b/plugins/shotwell-publishing/picasa_publishing_options_pane.ui new file mode 100644 index 0000000..adee4d2 --- /dev/null +++ b/plugins/shotwell-publishing/picasa_publishing_options_pane.ui @@ -0,0 +1,263 @@ + + + + + True + False + vertical + 1 + + + + + + True + False + 12 + 32 + 'you are logged in as $name' +(populated in the application code) + + + False + True + 4 + 1 + + + + + True + False + 32 + 32 + vertical + + + + + + True + False + 24 + 24 + 8 + True + + + True + False + 0 + 1 + + + 1 + 1 + 1 + 1 + + + + + True + True + + + + 1 + 2 + 1 + 1 + + + + + An _existing album: + True + True + False + True + 0 + True + True + create_new_radio + + + 0 + 1 + 1 + 1 + + + + + A _new album named: + True + True + False + True + 0 + 0.47999998927116394 + True + True + + + 0 + 2 + 1 + 1 + + + + + L_ist album in public gallery + True + True + False + True + 0 + True + + + 1 + 3 + 1 + 1 + + + + + True + False + 32 + 0 + $mediatype will appear in +(populated in code) + + + 0 + 0 + 2 + 1 + + + + + True + False + 32 + 0 + Photo _size preset: + True + size_combo + + + 0 + 4 + 1 + 1 + + + + + True + False + 32 + 0 + 1 + + + 1 + 4 + 1 + 1 + + + + + _Remove location, camera, and other identifying information before uploading + True + True + False + center + 16 + True + True + 0.20000000298023224 + True + + + 0 + 5 + 2 + 1 + + + + + + + + False + True + 4 + 1 + + + + + False + True + 2 + + + + + + + + True + False + 112 + 112 + 48 + 24 + 128 + True + + + _Logout + True + True + True + True + + + False + True + 0 + + + + + _Publish + True + True + True + True + + + False + True + 1 + + + + + False + True + 4 + + + + diff --git a/plugins/shotwell-publishing/piwigo_authentication_pane.glade b/plugins/shotwell-publishing/piwigo_authentication_pane.glade deleted file mode 100644 index 367f957..0000000 --- a/plugins/shotwell-publishing/piwigo_authentication_pane.glade +++ /dev/null @@ -1,175 +0,0 @@ - - - - - False - - - True - False - 0.5 - 0.5 - - - True - False - 30 - 30 - True - 8 - - - True - False - True - True - 0 - label - True - - - False - True - 0 - - - - - True - False - 3 - 2 - 8 - 2 - - - True - False - 0 - _URL of your Piwigo photo library - True - url_entry - - - - - True - False - 0 - User _name - True - username_entry - - - 1 - 2 - - - - - True - False - 0 - _Password - True - password_entry - - - 2 - 3 - - - - - True - True - - - - 1 - 2 - - - - - True - True - - - - 1 - 2 - 1 - 2 - - - - - True - True - False - - True - - - 1 - 2 - 2 - 3 - - - - - True - True - 1 - - - - - _Remember Password - True - True - False - False - True - 0 - True - - - True - True - 2 - - - - - True - False - - - Login - True - True - True - False - - - False - False - 0 - - - - - True - True - 3 - - - - - - - - diff --git a/plugins/shotwell-publishing/piwigo_authentication_pane.ui b/plugins/shotwell-publishing/piwigo_authentication_pane.ui new file mode 100644 index 0000000..bd32141 --- /dev/null +++ b/plugins/shotwell-publishing/piwigo_authentication_pane.ui @@ -0,0 +1,175 @@ + + + + + False + + + True + False + 0.5 + 0.5 + + + True + False + 30 + 30 + True + 8 + + + True + False + True + True + 0 + label + True + + + False + True + 0 + + + + + True + False + 3 + 2 + 8 + 2 + + + True + False + 0 + _URL of your Piwigo photo library + True + url_entry + + + + + True + False + 0 + User _name + True + username_entry + + + 1 + 2 + + + + + True + False + 0 + _Password + True + password_entry + + + 2 + 3 + + + + + True + True + + + + 1 + 2 + + + + + True + True + + + + 1 + 2 + 1 + 2 + + + + + True + True + False + + True + + + 1 + 2 + 2 + 3 + + + + + True + True + 1 + + + + + _Remember Password + True + True + False + False + True + 0 + True + + + True + True + 2 + + + + + True + False + + + Login + True + True + True + False + + + False + False + 0 + + + + + True + True + 3 + + + + + + + + diff --git a/plugins/shotwell-publishing/piwigo_publishing_options_pane.glade b/plugins/shotwell-publishing/piwigo_publishing_options_pane.glade deleted file mode 100644 index 7197603..0000000 --- a/plugins/shotwell-publishing/piwigo_publishing_options_pane.glade +++ /dev/null @@ -1,314 +0,0 @@ - - - - - False - - - True - False - 0.5 - 0.5 - - - True - False - 10 - 10 - vertical - - - True - False - 0 - Photos will appear in: - - - True - True - 0 - - - - - True - False - 7 - 2 - - - An _existing category: - True - True - False - True - 1 - True - True - - - - - A _new album named: - True - True - False - True - 1 - True - True - use_existing_radio - - - 1 - 2 - - - - - True - False - - - 1 - 2 - GTK_EXPAND - - - - - True - True - - - - 1 - 2 - 1 - 2 - - - - - True - False - - - 1 - 2 - 2 - 3 - GTK_EXPAND - - - - - True - False - - - 2 - 4 - 5 - - - - - True - False - 1 - 5 - Photos will be _visible by: - True - perms_combo - - - 5 - 6 - - - - - True - False - - - 1 - 2 - 5 - 6 - GTK_EXPAND - - - - - True - False - 1 - 5 - Photo size: - - - 6 - 7 - - - - - True - False - - - 1 - 2 - 6 - 7 - GTK_EXPAND - - - - - True - False - False - 1 - 5 - within category: - - - 2 - 3 - - - - - True - True - in - - - True - True - word - - - - - 1 - 2 - 3 - 4 - - - - - True - False - 1 - 0 - 5 - Album comment: - - - 3 - 4 - - - - - True - True - 1 - - - - - _Remove location, camera, and other identifying information before uploading - True - True - False - True - 0 - True - - - False - True - 2 - - - - - _If a title is set and comment unset, use title as comment - True - True - False - True - 0 - True - - - False - True - 3 - - - - - _Do no upload tags - True - True - False - True - 0 - True - - - False - True - 4 - - - - - True - False - - - Logout - True - True - True - - - False - False - 0 - - - - - Publish - True - True - True - - - False - False - 1 - - - - - True - True - 5 - - - - - - - - diff --git a/plugins/shotwell-publishing/piwigo_publishing_options_pane.ui b/plugins/shotwell-publishing/piwigo_publishing_options_pane.ui new file mode 100644 index 0000000..7197603 --- /dev/null +++ b/plugins/shotwell-publishing/piwigo_publishing_options_pane.ui @@ -0,0 +1,314 @@ + + + + + False + + + True + False + 0.5 + 0.5 + + + True + False + 10 + 10 + vertical + + + True + False + 0 + Photos will appear in: + + + True + True + 0 + + + + + True + False + 7 + 2 + + + An _existing category: + True + True + False + True + 1 + True + True + + + + + A _new album named: + True + True + False + True + 1 + True + True + use_existing_radio + + + 1 + 2 + + + + + True + False + + + 1 + 2 + GTK_EXPAND + + + + + True + True + + + + 1 + 2 + 1 + 2 + + + + + True + False + + + 1 + 2 + 2 + 3 + GTK_EXPAND + + + + + True + False + + + 2 + 4 + 5 + + + + + True + False + 1 + 5 + Photos will be _visible by: + True + perms_combo + + + 5 + 6 + + + + + True + False + + + 1 + 2 + 5 + 6 + GTK_EXPAND + + + + + True + False + 1 + 5 + Photo size: + + + 6 + 7 + + + + + True + False + + + 1 + 2 + 6 + 7 + GTK_EXPAND + + + + + True + False + False + 1 + 5 + within category: + + + 2 + 3 + + + + + True + True + in + + + True + True + word + + + + + 1 + 2 + 3 + 4 + + + + + True + False + 1 + 0 + 5 + Album comment: + + + 3 + 4 + + + + + True + True + 1 + + + + + _Remove location, camera, and other identifying information before uploading + True + True + False + True + 0 + True + + + False + True + 2 + + + + + _If a title is set and comment unset, use title as comment + True + True + False + True + 0 + True + + + False + True + 3 + + + + + _Do no upload tags + True + True + False + True + 0 + True + + + False + True + 4 + + + + + True + False + + + Logout + True + True + True + + + False + False + 0 + + + + + Publish + True + True + True + + + False + False + 1 + + + + + True + True + 5 + + + + + + + + diff --git a/plugins/shotwell-publishing/shotwell-publishing.c b/plugins/shotwell-publishing/shotwell-publishing.c new file mode 100644 index 0000000..c5b6a4b --- /dev/null +++ b/plugins/shotwell-publishing/shotwell-publishing.c @@ -0,0 +1,524 @@ +/* shotwell-publishing.c generated by valac 0.32.1, the Vala compiler + * generated from shotwell-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 +#include +#include + + +#define TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES (shotwell_publishing_core_services_get_type ()) +#define SHOTWELL_PUBLISHING_CORE_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServices)) +#define SHOTWELL_PUBLISHING_CORE_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServicesClass)) +#define IS_SHOTWELL_PUBLISHING_CORE_SERVICES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES)) +#define IS_SHOTWELL_PUBLISHING_CORE_SERVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES)) +#define SHOTWELL_PUBLISHING_CORE_SERVICES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServicesClass)) + +typedef struct _ShotwellPublishingCoreServices ShotwellPublishingCoreServices; +typedef struct _ShotwellPublishingCoreServicesClass ShotwellPublishingCoreServicesClass; +typedef struct _ShotwellPublishingCoreServicesPrivate ShotwellPublishingCoreServicesPrivate; + +#define TYPE_FACEBOOK_SERVICE (facebook_service_get_type ()) +#define FACEBOOK_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FACEBOOK_SERVICE, FacebookService)) +#define FACEBOOK_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FACEBOOK_SERVICE, FacebookServiceClass)) +#define IS_FACEBOOK_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FACEBOOK_SERVICE)) +#define IS_FACEBOOK_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FACEBOOK_SERVICE)) +#define FACEBOOK_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FACEBOOK_SERVICE, FacebookServiceClass)) + +typedef struct _FacebookService FacebookService; +typedef struct _FacebookServiceClass FacebookServiceClass; + +#define TYPE_PICASA_SERVICE (picasa_service_get_type ()) +#define PICASA_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PICASA_SERVICE, PicasaService)) +#define PICASA_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PICASA_SERVICE, PicasaServiceClass)) +#define IS_PICASA_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PICASA_SERVICE)) +#define IS_PICASA_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PICASA_SERVICE)) +#define PICASA_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PICASA_SERVICE, PicasaServiceClass)) + +typedef struct _PicasaService PicasaService; +typedef struct _PicasaServiceClass PicasaServiceClass; + +#define TYPE_FLICKR_SERVICE (flickr_service_get_type ()) +#define FLICKR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLICKR_SERVICE, FlickrService)) +#define FLICKR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLICKR_SERVICE, FlickrServiceClass)) +#define IS_FLICKR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLICKR_SERVICE)) +#define IS_FLICKR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLICKR_SERVICE)) +#define FLICKR_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLICKR_SERVICE, FlickrServiceClass)) + +typedef struct _FlickrService FlickrService; +typedef struct _FlickrServiceClass FlickrServiceClass; + +#define TYPE_YOU_TUBE_SERVICE (you_tube_service_get_type ()) +#define YOU_TUBE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_YOU_TUBE_SERVICE, YouTubeService)) +#define YOU_TUBE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_YOU_TUBE_SERVICE, YouTubeServiceClass)) +#define IS_YOU_TUBE_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_YOU_TUBE_SERVICE)) +#define IS_YOU_TUBE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_YOU_TUBE_SERVICE)) +#define YOU_TUBE_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_YOU_TUBE_SERVICE, YouTubeServiceClass)) + +typedef struct _YouTubeService YouTubeService; +typedef struct _YouTubeServiceClass YouTubeServiceClass; + +#define TYPE_PIWIGO_SERVICE (piwigo_service_get_type ()) +#define PIWIGO_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIWIGO_SERVICE, PiwigoService)) +#define PIWIGO_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIWIGO_SERVICE, PiwigoServiceClass)) +#define IS_PIWIGO_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIWIGO_SERVICE)) +#define IS_PIWIGO_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIWIGO_SERVICE)) +#define PIWIGO_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIWIGO_SERVICE, PiwigoServiceClass)) + +typedef struct _PiwigoService PiwigoService; +typedef struct _PiwigoServiceClass PiwigoServiceClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +struct _ShotwellPublishingCoreServices { + GObject parent_instance; + ShotwellPublishingCoreServicesPrivate * priv; +}; + +struct _ShotwellPublishingCoreServicesClass { + GObjectClass parent_class; +}; + +struct _ShotwellPublishingCoreServicesPrivate { + SpitPluggable** pluggables; + gint pluggables_length1; + gint _pluggables_size_; +}; + + +static gpointer shotwell_publishing_core_services_parent_class = NULL; +static SpitModuleIface* shotwell_publishing_core_services_spit_module_parent_iface = NULL; + +GType shotwell_publishing_core_services_get_type (void) G_GNUC_CONST; +#define SHOTWELL_PUBLISHING_CORE_SERVICES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServicesPrivate)) +enum { + SHOTWELL_PUBLISHING_CORE_SERVICES_DUMMY_PROPERTY +}; +ShotwellPublishingCoreServices* shotwell_publishing_core_services_new (GFile* module_file); +ShotwellPublishingCoreServices* shotwell_publishing_core_services_construct (GType object_type, GFile* module_file); +FacebookService* facebook_service_new (GFile* resource_directory); +FacebookService* facebook_service_construct (GType object_type, GFile* resource_directory); +GType facebook_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add1 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +PicasaService* picasa_service_new (GFile* resource_directory); +PicasaService* picasa_service_construct (GType object_type, GFile* resource_directory); +GType picasa_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add2 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +FlickrService* flickr_service_new (GFile* resource_directory); +FlickrService* flickr_service_construct (GType object_type, GFile* resource_directory); +GType flickr_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add3 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +YouTubeService* you_tube_service_new (GFile* resource_directory); +YouTubeService* you_tube_service_construct (GType object_type, GFile* resource_directory); +GType you_tube_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add4 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +PiwigoService* piwigo_service_new (GFile* resource_directory); +PiwigoService* piwigo_service_construct (GType object_type, GFile* resource_directory); +GType piwigo_service_get_type (void) G_GNUC_CONST; +static void _vala_array_add5 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +static const gchar* shotwell_publishing_core_services_real_get_module_name (SpitModule* base); +static const gchar* shotwell_publishing_core_services_real_get_version (SpitModule* base); +static const gchar* shotwell_publishing_core_services_real_get_id (SpitModule* base); +static SpitPluggable** shotwell_publishing_core_services_real_get_pluggables (SpitModule* base, int* result_length1); +static void shotwell_publishing_core_services_finalize (GObject* obj); +SpitModule* spit_entry_point (SpitEntryPointParams* params); +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_add1 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + if ((*length) == (*size)) { +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 145 "shotwell-publishing.c" + } +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[(*length)++] = value; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[*length] = NULL; +#line 151 "shotwell-publishing.c" +} + + +static void _vala_array_add2 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + if ((*length) == (*size)) { +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 162 "shotwell-publishing.c" + } +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[(*length)++] = value; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[*length] = NULL; +#line 168 "shotwell-publishing.c" +} + + +static void _vala_array_add3 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + if ((*length) == (*size)) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 179 "shotwell-publishing.c" + } +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[(*length)++] = value; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[*length] = NULL; +#line 185 "shotwell-publishing.c" +} + + +static void _vala_array_add4 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + if ((*length) == (*size)) { +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 196 "shotwell-publishing.c" + } +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[(*length)++] = value; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[*length] = NULL; +#line 202 "shotwell-publishing.c" +} + + +static void _vala_array_add5 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + if ((*length) == (*size)) { +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 213 "shotwell-publishing.c" + } +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[(*length)++] = value; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*array)[*length] = NULL; +#line 219 "shotwell-publishing.c" +} + + +ShotwellPublishingCoreServices* shotwell_publishing_core_services_construct (GType object_type, GFile* module_file) { + ShotwellPublishingCoreServices * self = NULL; + GFile* resource_directory = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + SpitPluggable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + FacebookService* _tmp3_ = NULL; + SpitPluggable** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PicasaService* _tmp5_ = NULL; + SpitPluggable** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + FlickrService* _tmp7_ = NULL; + SpitPluggable** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + YouTubeService* _tmp9_ = NULL; + SpitPluggable** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + PiwigoService* _tmp11_ = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + g_return_val_if_fail (G_IS_FILE (module_file), NULL); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self = (ShotwellPublishingCoreServices*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp0_ = module_file; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp1_ = g_file_get_parent (_tmp0_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + resource_directory = _tmp1_; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp2_ = self->priv->pluggables; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp2__length1 = self->priv->pluggables_length1; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp3_ = facebook_service_new (resource_directory); +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _vala_array_add1 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp4_ = self->priv->pluggables; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp4__length1 = self->priv->pluggables_length1; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp5_ = picasa_service_new (resource_directory); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _vala_array_add2 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp6_ = self->priv->pluggables; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp6__length1 = self->priv->pluggables_length1; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp7_ = flickr_service_new (resource_directory); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _vala_array_add3 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp8_ = self->priv->pluggables; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp8__length1 = self->priv->pluggables_length1; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp9_ = you_tube_service_new (resource_directory); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _vala_array_add4 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp10_ = self->priv->pluggables; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp10__length1 = self->priv->pluggables_length1; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp11_ = piwigo_service_new (resource_directory); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _vala_array_add5 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _g_object_unref0 (resource_directory); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + return self; +#line 297 "shotwell-publishing.c" +} + + +ShotwellPublishingCoreServices* shotwell_publishing_core_services_new (GFile* module_file) { +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + return shotwell_publishing_core_services_construct (TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, module_file); +#line 304 "shotwell-publishing.c" +} + + +static const gchar* shotwell_publishing_core_services_real_get_module_name (SpitModule* base) { + ShotwellPublishingCoreServices * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 25 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServices); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp0_ = _ ("Core Publishing Services"); +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + result = _tmp0_; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + return result; +#line 320 "shotwell-publishing.c" +} + + +static const gchar* shotwell_publishing_core_services_real_get_version (SpitModule* base) { + ShotwellPublishingCoreServices * self; + const gchar* result = NULL; +#line 29 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServices); +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + result = _VERSION; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + return result; +#line 333 "shotwell-publishing.c" +} + + +static const gchar* shotwell_publishing_core_services_real_get_id (SpitModule* base) { + ShotwellPublishingCoreServices * self; + const gchar* result = NULL; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServices); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + result = "org.yorba.shotwell.publishing.core_services"; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + return result; +#line 346 "shotwell-publishing.c" +} + + +static SpitPluggable** shotwell_publishing_core_services_real_get_pluggables (SpitModule* base, int* result_length1) { + ShotwellPublishingCoreServices * self; + SpitPluggable** result = NULL; + SpitPluggable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPluggable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServices); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp0_ = self->priv->pluggables; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp0__length1 = self->priv->pluggables_length1; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp1_ = _tmp0_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp1__length1 = _tmp0__length1; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + if (result_length1) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + *result_length1 = _tmp1__length1; +#line 371 "shotwell-publishing.c" + } +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + result = _tmp1_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + return result; +#line 377 "shotwell-publishing.c" +} + + +static void shotwell_publishing_core_services_class_init (ShotwellPublishingCoreServicesClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + shotwell_publishing_core_services_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + g_type_class_add_private (klass, sizeof (ShotwellPublishingCoreServicesPrivate)); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + G_OBJECT_CLASS (klass)->finalize = shotwell_publishing_core_services_finalize; +#line 388 "shotwell-publishing.c" +} + + +static void shotwell_publishing_core_services_spit_module_interface_init (SpitModuleIface * iface) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + shotwell_publishing_core_services_spit_module_parent_iface = g_type_interface_peek_parent (iface); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + iface->get_module_name = (const gchar* (*)(SpitModule*)) shotwell_publishing_core_services_real_get_module_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + iface->get_version = (const gchar* (*)(SpitModule*)) shotwell_publishing_core_services_real_get_version; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + iface->get_id = (const gchar* (*)(SpitModule*)) shotwell_publishing_core_services_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + iface->get_pluggables = (SpitPluggable** (*)(SpitModule*, int*)) shotwell_publishing_core_services_real_get_pluggables; +#line 403 "shotwell-publishing.c" +} + + +static void shotwell_publishing_core_services_instance_init (ShotwellPublishingCoreServices * self) { + SpitPluggable** _tmp0_ = NULL; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self->priv = SHOTWELL_PUBLISHING_CORE_SERVICES_GET_PRIVATE (self); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp0_ = g_new0 (SpitPluggable*, 0 + 1); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self->priv->pluggables = _tmp0_; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self->priv->pluggables_length1 = 0; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self->priv->_pluggables_size_ = self->priv->pluggables_length1; +#line 419 "shotwell-publishing.c" +} + + +static void shotwell_publishing_core_services_finalize (GObject* obj) { + ShotwellPublishingCoreServices * self; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_PUBLISHING_CORE_SERVICES, ShotwellPublishingCoreServices); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + self->priv->pluggables = (_vala_array_free (self->priv->pluggables, self->priv->pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + G_OBJECT_CLASS (shotwell_publishing_core_services_parent_class)->finalize (obj); +#line 431 "shotwell-publishing.c" +} + + +GType shotwell_publishing_core_services_get_type (void) { + static volatile gsize shotwell_publishing_core_services_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_publishing_core_services_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShotwellPublishingCoreServicesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_publishing_core_services_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellPublishingCoreServices), 0, (GInstanceInitFunc) shotwell_publishing_core_services_instance_init, NULL }; + static const GInterfaceInfo spit_module_info = { (GInterfaceInitFunc) shotwell_publishing_core_services_spit_module_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType shotwell_publishing_core_services_type_id; + shotwell_publishing_core_services_type_id = g_type_register_static (G_TYPE_OBJECT, "ShotwellPublishingCoreServices", &g_define_type_info, 0); + g_type_add_interface_static (shotwell_publishing_core_services_type_id, SPIT_TYPE_MODULE, &spit_module_info); + g_once_init_leave (&shotwell_publishing_core_services_type_id__volatile, shotwell_publishing_core_services_type_id); + } + return shotwell_publishing_core_services_type_id__volatile; +} + + +SpitModule* spit_entry_point (SpitEntryPointParams* params) { + SpitModule* result = NULL; + SpitEntryPointParams* _tmp0_ = NULL; + gint _tmp1_ = 0; + SpitEntryPointParams* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + ShotwellPublishingCoreServices* _tmp5_ = NULL; + SpitEntryPointParams* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp0_ = params; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp1_ = (*_tmp0_).host_min_spit_interface; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp2_ = params; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp3_ = (*_tmp2_).host_max_spit_interface; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp4_ = spit_negotiate_interfaces (_tmp1_, _tmp3_, SPIT_CURRENT_INTERFACE); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + (*params).module_spit_interface = _tmp4_; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp6_ = params; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp7_ = (*_tmp6_).module_spit_interface; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + if (_tmp7_ != SPIT_UNSUPPORTED_INTERFACE) { +#line 477 "shotwell-publishing.c" + SpitEntryPointParams* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + ShotwellPublishingCoreServices* _tmp10_ = NULL; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp8_ = params; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp9_ = (*_tmp8_).module_file; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp10_ = shotwell_publishing_core_services_new (_tmp9_); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _g_object_unref0 (_tmp5_); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp5_ = _tmp10_; +#line 491 "shotwell-publishing.c" + } else { +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _g_object_unref0 (_tmp5_); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + _tmp5_ = NULL; +#line 497 "shotwell-publishing.c" + } +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_MODULE, SpitModule); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-publishing/shotwell-publishing.vala" + return result; +#line 503 "shotwell-publishing.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/plugins/shotwell-publishing/youtube_publishing_options_pane.glade b/plugins/shotwell-publishing/youtube_publishing_options_pane.glade deleted file mode 100644 index cdf82af..0000000 --- a/plugins/shotwell-publishing/youtube_publishing_options_pane.glade +++ /dev/null @@ -1,137 +0,0 @@ - - - - - True - False - vertical - 1 - - - True - False - 24 - 32 - 'you are logged in as $name' -(populated in the application code) - - - False - True - 4 - 1 - - - - - True - False - 8 - 64 - videos will appear in -(populated in the application code.) - - - False - True - 2 - - - - - True - False - 40 - 40 - 16 - True - - - True - False - 16 - 16 - 10 - Video privacy _setting: - True - - - False - True - 0 - - - - - True - False - 16 - 32 - 0 - 1 - - - False - True - 1 - - - - - False - True - 4 - 3 - - - - - True - False - 112 - 112 - 48 - 24 - 128 - True - - - _Logout - False - True - True - True - False - True - - - False - True - 0 - - - - - _Publish - False - True - True - True - False - True - - - False - True - 1 - - - - - False - True - 4 - - - - diff --git a/plugins/shotwell-publishing/youtube_publishing_options_pane.ui b/plugins/shotwell-publishing/youtube_publishing_options_pane.ui new file mode 100644 index 0000000..cdf82af --- /dev/null +++ b/plugins/shotwell-publishing/youtube_publishing_options_pane.ui @@ -0,0 +1,137 @@ + + + + + True + False + vertical + 1 + + + True + False + 24 + 32 + 'you are logged in as $name' +(populated in the application code) + + + False + True + 4 + 1 + + + + + True + False + 8 + 64 + videos will appear in +(populated in the application code.) + + + False + True + 2 + + + + + True + False + 40 + 40 + 16 + True + + + True + False + 16 + 16 + 10 + Video privacy _setting: + True + + + False + True + 0 + + + + + True + False + 16 + 32 + 0 + 1 + + + False + True + 1 + + + + + False + True + 4 + 3 + + + + + True + False + 112 + 112 + 48 + 24 + 128 + True + + + _Logout + False + True + True + True + False + True + + + False + True + 0 + + + + + _Publish + False + True + True + True + False + True + + + False + True + 1 + + + + + False + True + 4 + + + + diff --git a/plugins/shotwell-transitions/BlindsEffect.c b/plugins/shotwell-transitions/BlindsEffect.c new file mode 100644 index 0000000..a8fa711 --- /dev/null +++ b/plugins/shotwell-transitions/BlindsEffect.c @@ -0,0 +1,828 @@ +/* BlindsEffect.c generated by valac 0.32.1, the Vala compiler + * generated from BlindsEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_BLINDS_EFFECT_DESCRIPTOR (blinds_effect_descriptor_get_type ()) +#define BLINDS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptor)) +#define BLINDS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptorClass)) +#define IS_BLINDS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BLINDS_EFFECT_DESCRIPTOR)) +#define IS_BLINDS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BLINDS_EFFECT_DESCRIPTOR)) +#define BLINDS_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptorClass)) + +typedef struct _BlindsEffectDescriptor BlindsEffectDescriptor; +typedef struct _BlindsEffectDescriptorClass BlindsEffectDescriptorClass; +typedef struct _BlindsEffectDescriptorPrivate BlindsEffectDescriptorPrivate; + +#define TYPE_BLINDS_EFFECT (blinds_effect_get_type ()) +#define BLINDS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BLINDS_EFFECT, BlindsEffect)) +#define BLINDS_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BLINDS_EFFECT, BlindsEffectClass)) +#define IS_BLINDS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BLINDS_EFFECT)) +#define IS_BLINDS_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BLINDS_EFFECT)) +#define BLINDS_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BLINDS_EFFECT, BlindsEffectClass)) + +typedef struct _BlindsEffect BlindsEffect; +typedef struct _BlindsEffectClass BlindsEffectClass; +typedef struct _BlindsEffectPrivate BlindsEffectPrivate; +#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))) + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _BlindsEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + BlindsEffectDescriptorPrivate * priv; +}; + +struct _BlindsEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _BlindsEffect { + GObject parent_instance; + BlindsEffectPrivate * priv; +}; + +struct _BlindsEffectClass { + GObjectClass parent_class; +}; + +struct _BlindsEffectPrivate { + gint current_blind_width; + cairo_surface_t** to_blinds; + gint to_blinds_length1; + gint _to_blinds_size_; + gint blind_count; +}; + + +static gpointer blinds_effect_descriptor_parent_class = NULL; +static gpointer blinds_effect_parent_class = NULL; +static SpitTransitionsEffectIface* blinds_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType blinds_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + BLINDS_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +BlindsEffectDescriptor* blinds_effect_descriptor_new (GFile* resource_directory); +BlindsEffectDescriptor* blinds_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* blinds_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* blinds_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* blinds_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +BlindsEffect* blinds_effect_new (void); +BlindsEffect* blinds_effect_construct (GType object_type); +GType blinds_effect_get_type (void) G_GNUC_CONST; +#define BLINDS_EFFECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_BLINDS_EFFECT, BlindsEffectPrivate)) +enum { + BLINDS_EFFECT_DUMMY_PROPERTY +}; +#define BLINDS_EFFECT_DESIRED_FPS 30 +#define BLINDS_EFFECT_MIN_FPS 15 +#define BLINDS_EFFECT_BLIND_WIDTH 50 +static void blinds_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static gboolean blinds_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void blinds_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static void blinds_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void blinds_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void blinds_effect_real_cancel (SpitTransitionsEffect* base); +static void blinds_effect_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); + + +BlindsEffectDescriptor* blinds_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + BlindsEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = (BlindsEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return self; +#line 147 "BlindsEffect.c" +} + + +BlindsEffectDescriptor* blinds_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return blinds_effect_descriptor_construct (TYPE_BLINDS_EFFECT_DESCRIPTOR, resource_directory); +#line 154 "BlindsEffect.c" +} + + +static const gchar* blinds_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + BlindsEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + result = "org.yorba.shotwell.transitions.blinds"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return result; +#line 167 "BlindsEffect.c" +} + + +static const gchar* blinds_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + BlindsEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp0_ = _ ("Blinds"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return result; +#line 183 "BlindsEffect.c" +} + + +static SpitTransitionsEffect* blinds_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + BlindsEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + BlindsEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp0_ = blinds_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return result; +#line 201 "BlindsEffect.c" +} + + +static void blinds_effect_descriptor_class_init (BlindsEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + blinds_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = blinds_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = blinds_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = blinds_effect_descriptor_real_create; +#line 214 "BlindsEffect.c" +} + + +static void blinds_effect_descriptor_instance_init (BlindsEffectDescriptor * self) { +} + + +GType blinds_effect_descriptor_get_type (void) { + static volatile gsize blinds_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&blinds_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (BlindsEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) blinds_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BlindsEffectDescriptor), 0, (GInstanceInitFunc) blinds_effect_descriptor_instance_init, NULL }; + GType blinds_effect_descriptor_type_id; + blinds_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "BlindsEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&blinds_effect_descriptor_type_id__volatile, blinds_effect_descriptor_type_id); + } + return blinds_effect_descriptor_type_id__volatile; +} + + +BlindsEffect* blinds_effect_construct (GType object_type) { + BlindsEffect * self = NULL; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = (BlindsEffect*) g_object_new (object_type, NULL); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return self; +#line 240 "BlindsEffect.c" +} + + +BlindsEffect* blinds_effect_new (void) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return blinds_effect_construct (TYPE_BLINDS_EFFECT); +#line 247 "BlindsEffect.c" +} + + +static void blinds_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + BlindsEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT, BlindsEffect); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _vala_desired_fps = BLINDS_EFFECT_DESIRED_FPS; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _vala_min_fps = BLINDS_EFFECT_MIN_FPS; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (desired_fps) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + *desired_fps = _vala_desired_fps; +#line 265 "BlindsEffect.c" + } +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (min_fps) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + *min_fps = _vala_min_fps; +#line 271 "BlindsEffect.c" + } +} + + +static gboolean blinds_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + BlindsEffect * self; + gboolean result = FALSE; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT, BlindsEffect); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + result = TRUE; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + return result; +#line 285 "BlindsEffect.c" +} + + +static void blinds_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + BlindsEffect * self; + SpitTransitionsVisuals* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT, BlindsEffect); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp0_ = visuals; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp1_ = spit_transitions_visuals_get_from_pixbuf (_tmp0_); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp2_ = _tmp1_; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (_tmp2_ != NULL) { +#line 308 "BlindsEffect.c" + SpitTransitionsVisuals* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + SpitTransitionsVisuals* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gdouble _tmp14_ = 0.0; + gint _tmp15_ = 0; + cairo_surface_t** _tmp16_ = NULL; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp3_ = visuals; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp4_ = spit_transitions_visuals_get_to_pixbuf (_tmp3_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp5_ = _tmp4_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp6_ = gdk_pixbuf_get_width (_tmp5_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp7_ = _tmp6_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv->blind_count = _tmp7_ / BLINDS_EFFECT_BLIND_WIDTH; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp8_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp9_ = spit_transitions_visuals_get_to_pixbuf (_tmp8_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp10_ = _tmp9_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp11_ = gdk_pixbuf_get_width (_tmp10_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp12_ = _tmp11_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp13_ = self->priv->blind_count; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp14_ = ceil (((gdouble) _tmp12_) / ((gdouble) _tmp13_)); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv->current_blind_width = (gint) _tmp14_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp15_ = self->priv->blind_count; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp16_ = g_new0 (cairo_surface_t*, _tmp15_ + 1); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv->to_blinds = (_vala_array_free (self->priv->to_blinds, self->priv->to_blinds_length1, (GDestroyNotify) cairo_surface_destroy), NULL); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv->to_blinds = _tmp16_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv->to_blinds_length1 = _tmp15_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv->_to_blinds_size_ = self->priv->to_blinds_length1; +#line 363 "BlindsEffect.c" + { + gint i = 0; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + i = 0; +#line 368 "BlindsEffect.c" + { + gboolean _tmp17_ = FALSE; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp17_ = TRUE; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + while (TRUE) { +#line 375 "BlindsEffect.c" + gint _tmp19_ = 0; + gint _tmp20_ = 0; + cairo_surface_t** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + SpitTransitionsVisuals* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + cairo_surface_t* _tmp29_ = NULL; + cairo_surface_t* _tmp30_ = NULL; + cairo_t* ctx = NULL; + cairo_surface_t** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + cairo_surface_t* _tmp33_ = NULL; + cairo_t* _tmp34_ = NULL; + cairo_t* _tmp35_ = NULL; + SpitTransitionsVisuals* _tmp36_ = NULL; + GdkPixbuf* _tmp37_ = NULL; + GdkPixbuf* _tmp38_ = NULL; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + cairo_t* _tmp41_ = NULL; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (!_tmp17_) { +#line 404 "BlindsEffect.c" + gint _tmp18_ = 0; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp18_ = i; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + i = _tmp18_ + 1; +#line 410 "BlindsEffect.c" + } +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp17_ = FALSE; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp19_ = i; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp20_ = self->priv->blind_count; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (!(_tmp19_ < _tmp20_)) { +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + break; +#line 422 "BlindsEffect.c" + } +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp21_ = self->priv->to_blinds; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp21__length1 = self->priv->to_blinds_length1; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp22_ = i; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp23_ = self->priv->current_blind_width; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp24_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp25_ = spit_transitions_visuals_get_to_pixbuf (_tmp24_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp26_ = _tmp25_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp27_ = gdk_pixbuf_get_height (_tmp26_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp28_ = _tmp27_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp29_ = cairo_image_surface_create (CAIRO_FORMAT_RGB24, _tmp23_, _tmp28_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _cairo_surface_destroy0 (_tmp21_[_tmp22_]); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp21_[_tmp22_] = _tmp29_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp30_ = _tmp21_[_tmp22_]; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp31_ = self->priv->to_blinds; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp31__length1 = self->priv->to_blinds_length1; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp32_ = i; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp33_ = _tmp31_[_tmp32_]; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp34_ = cairo_create (_tmp33_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + ctx = _tmp34_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp35_ = ctx; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp36_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp37_ = spit_transitions_visuals_get_to_pixbuf (_tmp36_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp38_ = _tmp37_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp39_ = i; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp40_ = self->priv->current_blind_width; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp35_, _tmp38_, (gdouble) ((-_tmp39_) * _tmp40_), (gdouble) 0); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp41_ = ctx; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + cairo_paint (_tmp41_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _cairo_destroy0 (ctx); +#line 482 "BlindsEffect.c" + } + } + } + } +} + + +static void blinds_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + BlindsEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gint y = 0; + SpitTransitionsVisuals* _tmp3_ = NULL; + GdkRectangle _tmp4_ = {0}; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + gint x = 0; + SpitTransitionsVisuals* _tmp7_ = NULL; + GdkRectangle _tmp8_ = {0}; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + SpitTransitionsVisuals* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + cairo_t* _tmp53_ = NULL; + cairo_t* _tmp54_ = NULL; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT, BlindsEffect); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_if_fail (ctx != NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp0_ = motion; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp1_ = frame_number; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + alpha = _tmp2_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp3_ = visuals; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp3_, &_tmp4_); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp5_ = _tmp4_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp6_ = _tmp5_.y; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + y = _tmp6_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp7_ = visuals; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp7_, &_tmp8_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp9_ = _tmp8_; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp10_ = _tmp9_.x; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + x = _tmp10_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp11_ = visuals; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp12_ = spit_transitions_visuals_get_from_pixbuf (_tmp11_); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp13_ = _tmp12_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (_tmp13_ != NULL) { +#line 555 "BlindsEffect.c" + cairo_t* _tmp14_ = NULL; + SpitTransitionsVisuals* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; + GdkPixbuf* _tmp17_ = NULL; + SpitTransitionsVisuals* _tmp18_ = NULL; + GdkRectangle _tmp19_ = {0}; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; + SpitTransitionsVisuals* _tmp22_ = NULL; + GdkRectangle _tmp23_ = {0}; + GdkRectangle _tmp24_ = {0}; + gint _tmp25_ = 0; + cairo_t* _tmp26_ = NULL; + gdouble _tmp27_ = 0.0; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp14_ = ctx; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp15_ = visuals; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp16_ = spit_transitions_visuals_get_from_pixbuf (_tmp15_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp17_ = _tmp16_; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp18_ = visuals; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp18_, &_tmp19_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp20_ = _tmp19_; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp21_ = _tmp20_.x; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp22_ = visuals; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp22_, &_tmp23_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp24_ = _tmp23_; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp25_ = _tmp24_.y; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp14_, _tmp17_, (gdouble) _tmp21_, (gdouble) _tmp25_); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp26_ = ctx; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp27_ = alpha; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + cairo_paint_with_alpha (_tmp26_, 1 - (_tmp27_ * 2)); +#line 602 "BlindsEffect.c" + } + { + gint i = 0; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + i = 0; +#line 608 "BlindsEffect.c" + { + gboolean _tmp28_ = FALSE; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp28_ = TRUE; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + while (TRUE) { +#line 615 "BlindsEffect.c" + gint _tmp30_ = 0; + gint _tmp31_ = 0; + cairo_t* _tmp32_ = NULL; + cairo_surface_t** _tmp33_ = NULL; + gint _tmp33__length1 = 0; + gint _tmp34_ = 0; + cairo_surface_t* _tmp35_ = NULL; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + cairo_t* _tmp40_ = NULL; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gdouble _tmp46_ = 0.0; + SpitTransitionsVisuals* _tmp47_ = NULL; + GdkPixbuf* _tmp48_ = NULL; + GdkPixbuf* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + cairo_t* _tmp52_ = NULL; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (!_tmp28_) { +#line 642 "BlindsEffect.c" + gint _tmp29_ = 0; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp29_ = i; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + i = _tmp29_ + 1; +#line 648 "BlindsEffect.c" + } +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp28_ = FALSE; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp30_ = i; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp31_ = self->priv->blind_count; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + if (!(_tmp30_ < _tmp31_)) { +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + break; +#line 660 "BlindsEffect.c" + } +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp32_ = ctx; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp33_ = self->priv->to_blinds; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp33__length1 = self->priv->to_blinds_length1; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp34_ = i; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp35_ = _tmp33_[_tmp34_]; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp36_ = x; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp37_ = i; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp38_ = self->priv->current_blind_width; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp39_ = y; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + cairo_set_source_surface (_tmp32_, _tmp35_, (gdouble) (_tmp36_ + (_tmp37_ * _tmp38_)), (gdouble) _tmp39_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp40_ = ctx; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp41_ = x; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp42_ = i; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp43_ = self->priv->current_blind_width; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp44_ = y; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp45_ = self->priv->current_blind_width; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp46_ = alpha; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp47_ = visuals; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp48_ = spit_transitions_visuals_get_to_pixbuf (_tmp47_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp49_ = _tmp48_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp50_ = gdk_pixbuf_get_height (_tmp49_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp51_ = _tmp50_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + cairo_rectangle (_tmp40_, (gdouble) (_tmp41_ + (_tmp42_ * _tmp43_)), (gdouble) _tmp44_, _tmp45_ * (_tmp46_ + 0.5), (gdouble) _tmp51_); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp52_ = ctx; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + cairo_fill (_tmp52_); +#line 712 "BlindsEffect.c" + } + } + } +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp53_ = ctx; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + cairo_clip (_tmp53_); +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + _tmp54_ = ctx; +#line 88 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + cairo_paint (_tmp54_); +#line 724 "BlindsEffect.c" +} + + +static void blinds_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + BlindsEffect * self; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT, BlindsEffect); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 736 "BlindsEffect.c" +} + + +static void blinds_effect_real_cancel (SpitTransitionsEffect* base) { + BlindsEffect * self; +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BLINDS_EFFECT, BlindsEffect); +#line 744 "BlindsEffect.c" +} + + +static void blinds_effect_class_init (BlindsEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + blinds_effect_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + g_type_class_add_private (klass, sizeof (BlindsEffectPrivate)); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + G_OBJECT_CLASS (klass)->finalize = blinds_effect_finalize; +#line 755 "BlindsEffect.c" +} + + +static void blinds_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + blinds_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) blinds_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) blinds_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) blinds_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) blinds_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) blinds_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) blinds_effect_real_cancel; +#line 774 "BlindsEffect.c" +} + + +static void blinds_effect_instance_init (BlindsEffect * self) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv = BLINDS_EFFECT_GET_PRIVATE (self); +#line 781 "BlindsEffect.c" +} + + +static void blinds_effect_finalize (GObject* obj) { + BlindsEffect * self; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BLINDS_EFFECT, BlindsEffect); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + self->priv->to_blinds = (_vala_array_free (self->priv->to_blinds, self->priv->to_blinds_length1, (GDestroyNotify) cairo_surface_destroy), NULL); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/BlindsEffect.vala" + G_OBJECT_CLASS (blinds_effect_parent_class)->finalize (obj); +#line 793 "BlindsEffect.c" +} + + +GType blinds_effect_get_type (void) { + static volatile gsize blinds_effect_type_id__volatile = 0; + if (g_once_init_enter (&blinds_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (BlindsEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) blinds_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BlindsEffect), 0, (GInstanceInitFunc) blinds_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) blinds_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType blinds_effect_type_id; + blinds_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "BlindsEffect", &g_define_type_info, 0); + g_type_add_interface_static (blinds_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&blinds_effect_type_id__volatile, blinds_effect_type_id); + } + return blinds_effect_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/plugins/shotwell-transitions/ChessEffect.c b/plugins/shotwell-transitions/ChessEffect.c new file mode 100644 index 0000000..a59a2e6 --- /dev/null +++ b/plugins/shotwell-transitions/ChessEffect.c @@ -0,0 +1,769 @@ +/* ChessEffect.c generated by valac 0.32.1, the Vala compiler + * generated from ChessEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_CHESS_EFFECT_DESCRIPTOR (chess_effect_descriptor_get_type ()) +#define CHESS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptor)) +#define CHESS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptorClass)) +#define IS_CHESS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHESS_EFFECT_DESCRIPTOR)) +#define IS_CHESS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHESS_EFFECT_DESCRIPTOR)) +#define CHESS_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptorClass)) + +typedef struct _ChessEffectDescriptor ChessEffectDescriptor; +typedef struct _ChessEffectDescriptorClass ChessEffectDescriptorClass; +typedef struct _ChessEffectDescriptorPrivate ChessEffectDescriptorPrivate; + +#define TYPE_CHESS_EFFECT (chess_effect_get_type ()) +#define CHESS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHESS_EFFECT, ChessEffect)) +#define CHESS_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHESS_EFFECT, ChessEffectClass)) +#define IS_CHESS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHESS_EFFECT)) +#define IS_CHESS_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHESS_EFFECT)) +#define CHESS_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHESS_EFFECT, ChessEffectClass)) + +typedef struct _ChessEffect ChessEffect; +typedef struct _ChessEffectClass ChessEffectClass; +typedef struct _ChessEffectPrivate ChessEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _ChessEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + ChessEffectDescriptorPrivate * priv; +}; + +struct _ChessEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _ChessEffect { + GObject parent_instance; + ChessEffectPrivate * priv; +}; + +struct _ChessEffectClass { + GObjectClass parent_class; +}; + +struct _ChessEffectPrivate { + gdouble square_count_x; + gdouble square_count_y; +}; + + +static gpointer chess_effect_descriptor_parent_class = NULL; +static gpointer chess_effect_parent_class = NULL; +static SpitTransitionsEffectIface* chess_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType chess_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + CHESS_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +ChessEffectDescriptor* chess_effect_descriptor_new (GFile* resource_directory); +ChessEffectDescriptor* chess_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* chess_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* chess_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* chess_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +ChessEffect* chess_effect_new (void); +ChessEffect* chess_effect_construct (GType object_type); +GType chess_effect_get_type (void) G_GNUC_CONST; +#define CHESS_EFFECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CHESS_EFFECT, ChessEffectPrivate)) +enum { + CHESS_EFFECT_DUMMY_PROPERTY +}; +#define CHESS_EFFECT_DESIRED_FPS 25 +#define CHESS_EFFECT_MIN_FPS 10 +#define CHESS_EFFECT_SQUARE_SIZE 100 +static void chess_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void chess_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean chess_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void chess_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void chess_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void chess_effect_real_cancel (SpitTransitionsEffect* base); +static void chess_effect_finalize (GObject* obj); + + +ChessEffectDescriptor* chess_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + ChessEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = (ChessEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return self; +#line 139 "ChessEffect.c" +} + + +ChessEffectDescriptor* chess_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return chess_effect_descriptor_construct (TYPE_CHESS_EFFECT_DESCRIPTOR, resource_directory); +#line 146 "ChessEffect.c" +} + + +static const gchar* chess_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + ChessEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + result = "org.yorba.shotwell.transitions.chess"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return result; +#line 159 "ChessEffect.c" +} + + +static const gchar* chess_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + ChessEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp0_ = _ ("Chess"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return result; +#line 175 "ChessEffect.c" +} + + +static SpitTransitionsEffect* chess_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + ChessEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + ChessEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp0_ = chess_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return result; +#line 193 "ChessEffect.c" +} + + +static void chess_effect_descriptor_class_init (ChessEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + chess_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = chess_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = chess_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = chess_effect_descriptor_real_create; +#line 206 "ChessEffect.c" +} + + +static void chess_effect_descriptor_instance_init (ChessEffectDescriptor * self) { +} + + +GType chess_effect_descriptor_get_type (void) { + static volatile gsize chess_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&chess_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ChessEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) chess_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ChessEffectDescriptor), 0, (GInstanceInitFunc) chess_effect_descriptor_instance_init, NULL }; + GType chess_effect_descriptor_type_id; + chess_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "ChessEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&chess_effect_descriptor_type_id__volatile, chess_effect_descriptor_type_id); + } + return chess_effect_descriptor_type_id__volatile; +} + + +ChessEffect* chess_effect_construct (GType object_type) { + ChessEffect * self = NULL; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = (ChessEffect*) g_object_new (object_type, NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return self; +#line 232 "ChessEffect.c" +} + + +ChessEffect* chess_effect_new (void) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return chess_effect_construct (TYPE_CHESS_EFFECT); +#line 239 "ChessEffect.c" +} + + +static void chess_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + ChessEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT, ChessEffect); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _vala_desired_fps = CHESS_EFFECT_DESIRED_FPS; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _vala_min_fps = CHESS_EFFECT_MIN_FPS; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (desired_fps) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + *desired_fps = _vala_desired_fps; +#line 257 "ChessEffect.c" + } +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (min_fps) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + *min_fps = _vala_min_fps; +#line 263 "ChessEffect.c" + } +} + + +static void chess_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + ChessEffect * self; + SpitTransitionsVisuals* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + SpitTransitionsVisuals* _tmp4_ = NULL; + GdkRectangle _tmp5_ = {0}; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT, ChessEffect); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp0_ = visuals; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp0_, &_tmp1_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp2_ = _tmp1_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp3_ = _tmp2_.height; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self->priv->square_count_y = (gdouble) ((_tmp3_ / CHESS_EFFECT_SQUARE_SIZE) + 2); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp4_ = visuals; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp4_, &_tmp5_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp6_ = _tmp5_; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp7_ = _tmp6_.width; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self->priv->square_count_x = (gdouble) ((_tmp7_ / CHESS_EFFECT_SQUARE_SIZE) + 2); +#line 304 "ChessEffect.c" +} + + +static gboolean chess_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + ChessEffect * self; + gboolean result = FALSE; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT, ChessEffect); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + result = TRUE; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + return result; +#line 317 "ChessEffect.c" +} + + +static void chess_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + ChessEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gdouble size = 0.0; + gdouble _tmp3_ = 0.0; + SpitTransitionsVisuals* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + SpitTransitionsVisuals* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + GdkPixbuf* _tmp23_ = NULL; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT, ChessEffect); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_if_fail (ctx != NULL); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp0_ = motion; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp1_ = frame_number; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + alpha = _tmp2_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp3_ = alpha; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + size = (2 * _tmp3_) * CHESS_EFFECT_SQUARE_SIZE; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp4_ = visuals; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp5_ = spit_transitions_visuals_get_from_pixbuf (_tmp4_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp6_ = _tmp5_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (_tmp6_ != NULL) { +#line 363 "ChessEffect.c" + cairo_t* _tmp7_ = NULL; + SpitTransitionsVisuals* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + SpitTransitionsVisuals* _tmp11_ = NULL; + GdkRectangle _tmp12_ = {0}; + GdkRectangle _tmp13_ = {0}; + gint _tmp14_ = 0; + SpitTransitionsVisuals* _tmp15_ = NULL; + GdkRectangle _tmp16_ = {0}; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + cairo_t* _tmp19_ = NULL; + gdouble _tmp20_ = 0.0; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp7_ = ctx; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp8_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp9_ = spit_transitions_visuals_get_from_pixbuf (_tmp8_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp10_ = _tmp9_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp11_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp11_, &_tmp12_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp13_ = _tmp12_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp14_ = _tmp13_.x; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp15_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp15_, &_tmp16_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp17_ = _tmp16_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp18_ = _tmp17_.y; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp7_, _tmp10_, (gdouble) _tmp14_, (gdouble) _tmp18_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp19_ = ctx; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp20_ = alpha; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + cairo_paint_with_alpha (_tmp19_, 1 - _tmp20_); +#line 410 "ChessEffect.c" + } +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp21_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp22_ = spit_transitions_visuals_get_to_pixbuf (_tmp21_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp23_ = _tmp22_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (_tmp23_ != NULL) { +#line 420 "ChessEffect.c" + cairo_t* _tmp24_ = NULL; + SpitTransitionsVisuals* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; + SpitTransitionsVisuals* _tmp28_ = NULL; + GdkRectangle _tmp29_ = {0}; + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; + SpitTransitionsVisuals* _tmp32_ = NULL; + GdkRectangle _tmp33_ = {0}; + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + cairo_t* _tmp81_ = NULL; + cairo_t* _tmp82_ = NULL; + gdouble _tmp83_ = 0.0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp24_ = ctx; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp25_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp26_ = spit_transitions_visuals_get_to_pixbuf (_tmp25_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp27_ = _tmp26_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp28_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp28_, &_tmp29_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp30_ = _tmp29_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp31_ = _tmp30_.x; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp32_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp32_, &_tmp33_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp34_ = _tmp33_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp35_ = _tmp34_.y; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp24_, _tmp27_, (gdouble) _tmp31_, (gdouble) _tmp35_); +#line 462 "ChessEffect.c" + { + gdouble y = 0.0; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + y = (gdouble) 0; +#line 467 "ChessEffect.c" + { + gboolean _tmp36_ = FALSE; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp36_ = TRUE; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + while (TRUE) { +#line 474 "ChessEffect.c" + gdouble _tmp38_ = 0.0; + gdouble _tmp39_ = 0.0; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (!_tmp36_) { +#line 479 "ChessEffect.c" + gdouble _tmp37_ = 0.0; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp37_ = y; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + y = _tmp37_ + 1; +#line 485 "ChessEffect.c" + } +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp36_ = FALSE; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp38_ = y; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp39_ = self->priv->square_count_y; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (!(_tmp38_ <= _tmp39_)) { +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + break; +#line 497 "ChessEffect.c" + } + { + gdouble x = 0.0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + x = (gdouble) 0; +#line 503 "ChessEffect.c" + { + gboolean _tmp40_ = FALSE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp40_ = TRUE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + while (TRUE) { +#line 510 "ChessEffect.c" + gdouble _tmp42_ = 0.0; + gdouble _tmp43_ = 0.0; + gdouble _tmp44_ = 0.0; + gdouble _tmp45_ = 0.0; + gdouble _tmp46_ = 0.0; + gdouble translation = 0.0; + SpitTransitionsMotion* _tmp47_ = NULL; + SpitTransitionsDirection _tmp48_ = 0; + SpitTransitionsDirection _tmp49_ = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (!_tmp40_) { +#line 522 "ChessEffect.c" + gdouble _tmp41_ = 0.0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp41_ = x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + x = _tmp41_ + 1; +#line 528 "ChessEffect.c" + } +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp40_ = FALSE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp42_ = x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp43_ = self->priv->square_count_x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (!(_tmp42_ <= _tmp43_)) { +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + break; +#line 540 "ChessEffect.c" + } +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp45_ = x; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp46_ = y; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (fmod (_tmp45_ + _tmp46_, 2) == ((gdouble) 0)) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp44_ = (-1.5) * CHESS_EFFECT_SQUARE_SIZE; +#line 550 "ChessEffect.c" + } else { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp44_ = 1.5 * CHESS_EFFECT_SQUARE_SIZE; +#line 554 "ChessEffect.c" + } +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + translation = _tmp44_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp47_ = motion; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp48_ = spit_transitions_motion_get_direction (_tmp47_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp49_ = _tmp48_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + if (_tmp49_ == SPIT_TRANSITIONS_DIRECTION_FORWARD) { +#line 566 "ChessEffect.c" + cairo_t* _tmp50_ = NULL; + SpitTransitionsVisuals* _tmp51_ = NULL; + GdkRectangle _tmp52_ = {0}; + GdkRectangle _tmp53_ = {0}; + gint _tmp54_ = 0; + gdouble _tmp55_ = 0.0; + gdouble _tmp56_ = 0.0; + SpitTransitionsVisuals* _tmp57_ = NULL; + GdkRectangle _tmp58_ = {0}; + GdkRectangle _tmp59_ = {0}; + gint _tmp60_ = 0; + gdouble _tmp61_ = 0.0; + gdouble _tmp62_ = 0.0; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp50_ = ctx; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp51_ = visuals; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp51_, &_tmp52_); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp53_ = _tmp52_; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp54_ = _tmp53_.x; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp55_ = translation; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp56_ = x; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp57_ = visuals; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp57_, &_tmp58_); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp59_ = _tmp58_; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp60_ = _tmp59_.y; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp61_ = y; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp62_ = size; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + cairo_rectangle (_tmp50_, (_tmp54_ + _tmp55_) + (_tmp56_ * CHESS_EFFECT_SQUARE_SIZE), _tmp60_ + (_tmp61_ * CHESS_EFFECT_SQUARE_SIZE), _tmp62_, (gdouble) CHESS_EFFECT_SQUARE_SIZE); +#line 608 "ChessEffect.c" + } else { + cairo_t* _tmp63_ = NULL; + SpitTransitionsVisuals* _tmp64_ = NULL; + GdkRectangle _tmp65_ = {0}; + GdkRectangle _tmp66_ = {0}; + gint _tmp67_ = 0; + SpitTransitionsVisuals* _tmp68_ = NULL; + GdkRectangle _tmp69_ = {0}; + GdkRectangle _tmp70_ = {0}; + gint _tmp71_ = 0; + gdouble _tmp72_ = 0.0; + gdouble _tmp73_ = 0.0; + gdouble _tmp74_ = 0.0; + SpitTransitionsVisuals* _tmp75_ = NULL; + GdkRectangle _tmp76_ = {0}; + GdkRectangle _tmp77_ = {0}; + gint _tmp78_ = 0; + gdouble _tmp79_ = 0.0; + gdouble _tmp80_ = 0.0; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp63_ = ctx; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp64_ = visuals; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp64_, &_tmp65_); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp66_ = _tmp65_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp67_ = _tmp66_.x; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp68_ = visuals; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp68_, &_tmp69_); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp70_ = _tmp69_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp71_ = _tmp70_.width; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp72_ = translation; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp73_ = x; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp74_ = size; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp75_ = visuals; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp75_, &_tmp76_); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp77_ = _tmp76_; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp78_ = _tmp77_.y; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp79_ = y; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp80_ = size; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + cairo_rectangle (_tmp63_, (((_tmp67_ + _tmp71_) + _tmp72_) - (_tmp73_ * CHESS_EFFECT_SQUARE_SIZE)) - _tmp74_, _tmp78_ + (_tmp79_ * CHESS_EFFECT_SQUARE_SIZE), _tmp80_, (gdouble) CHESS_EFFECT_SQUARE_SIZE); +#line 666 "ChessEffect.c" + } + } + } + } + } + } + } +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp81_ = ctx; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + cairo_clip (_tmp81_); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp82_ = ctx; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + _tmp83_ = alpha; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + cairo_paint_with_alpha (_tmp82_, _tmp83_); +#line 684 "ChessEffect.c" + } +} + + +static void chess_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + ChessEffect * self; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT, ChessEffect); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 697 "ChessEffect.c" +} + + +static void chess_effect_real_cancel (SpitTransitionsEffect* base) { + ChessEffect * self; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHESS_EFFECT, ChessEffect); +#line 705 "ChessEffect.c" +} + + +static void chess_effect_class_init (ChessEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + chess_effect_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + g_type_class_add_private (klass, sizeof (ChessEffectPrivate)); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + G_OBJECT_CLASS (klass)->finalize = chess_effect_finalize; +#line 716 "ChessEffect.c" +} + + +static void chess_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + chess_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) chess_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) chess_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) chess_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) chess_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) chess_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) chess_effect_real_cancel; +#line 735 "ChessEffect.c" +} + + +static void chess_effect_instance_init (ChessEffect * self) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self->priv = CHESS_EFFECT_GET_PRIVATE (self); +#line 742 "ChessEffect.c" +} + + +static void chess_effect_finalize (GObject* obj) { + ChessEffect * self; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CHESS_EFFECT, ChessEffect); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ChessEffect.vala" + G_OBJECT_CLASS (chess_effect_parent_class)->finalize (obj); +#line 752 "ChessEffect.c" +} + + +GType chess_effect_get_type (void) { + static volatile gsize chess_effect_type_id__volatile = 0; + if (g_once_init_enter (&chess_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ChessEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) chess_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ChessEffect), 0, (GInstanceInitFunc) chess_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) chess_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType chess_effect_type_id; + chess_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "ChessEffect", &g_define_type_info, 0); + g_type_add_interface_static (chess_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&chess_effect_type_id__volatile, chess_effect_type_id); + } + return chess_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/CircleEffect.c b/plugins/shotwell-transitions/CircleEffect.c new file mode 100644 index 0000000..0bd66ef --- /dev/null +++ b/plugins/shotwell-transitions/CircleEffect.c @@ -0,0 +1,524 @@ +/* CircleEffect.c generated by valac 0.32.1, the Vala compiler + * generated from CircleEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_CIRCLE_EFFECT_DESCRIPTOR (circle_effect_descriptor_get_type ()) +#define CIRCLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor)) +#define CIRCLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptorClass)) +#define IS_CIRCLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR)) +#define IS_CIRCLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLE_EFFECT_DESCRIPTOR)) +#define CIRCLE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptorClass)) + +typedef struct _CircleEffectDescriptor CircleEffectDescriptor; +typedef struct _CircleEffectDescriptorClass CircleEffectDescriptorClass; +typedef struct _CircleEffectDescriptorPrivate CircleEffectDescriptorPrivate; + +#define TYPE_CIRCLE_EFFECT (circle_effect_get_type ()) +#define CIRCLE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLE_EFFECT, CircleEffect)) +#define CIRCLE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLE_EFFECT, CircleEffectClass)) +#define IS_CIRCLE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLE_EFFECT)) +#define IS_CIRCLE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLE_EFFECT)) +#define CIRCLE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLE_EFFECT, CircleEffectClass)) + +typedef struct _CircleEffect CircleEffect; +typedef struct _CircleEffectClass CircleEffectClass; +typedef struct _CircleEffectPrivate CircleEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _CircleEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + CircleEffectDescriptorPrivate * priv; +}; + +struct _CircleEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _CircleEffect { + GObject parent_instance; + CircleEffectPrivate * priv; +}; + +struct _CircleEffectClass { + GObjectClass parent_class; +}; + + +static gpointer circle_effect_descriptor_parent_class = NULL; +static gpointer circle_effect_parent_class = NULL; +static SpitTransitionsEffectIface* circle_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType circle_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + CIRCLE_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +CircleEffectDescriptor* circle_effect_descriptor_new (GFile* resource_directory); +CircleEffectDescriptor* circle_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* circle_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* circle_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* circle_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +CircleEffect* circle_effect_new (void); +CircleEffect* circle_effect_construct (GType object_type); +GType circle_effect_get_type (void) G_GNUC_CONST; +enum { + CIRCLE_EFFECT_DUMMY_PROPERTY +}; +#define CIRCLE_EFFECT_DESIRED_FPS 25 +#define CIRCLE_EFFECT_MIN_FPS 15 +static void circle_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void circle_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean circle_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void circle_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void circle_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void circle_effect_real_cancel (SpitTransitionsEffect* base); + + +CircleEffectDescriptor* circle_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + CircleEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = (CircleEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return self; +#line 131 "CircleEffect.c" +} + + +CircleEffectDescriptor* circle_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return circle_effect_descriptor_construct (TYPE_CIRCLE_EFFECT_DESCRIPTOR, resource_directory); +#line 138 "CircleEffect.c" +} + + +static const gchar* circle_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + CircleEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = "org.yorba.shotwell.transitions.circle"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 151 "CircleEffect.c" +} + + +static const gchar* circle_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + CircleEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = _ ("Circle"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 167 "CircleEffect.c" +} + + +static SpitTransitionsEffect* circle_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + CircleEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + CircleEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = circle_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 185 "CircleEffect.c" +} + + +static void circle_effect_descriptor_class_init (CircleEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + circle_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = circle_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = circle_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = circle_effect_descriptor_real_create; +#line 198 "CircleEffect.c" +} + + +static void circle_effect_descriptor_instance_init (CircleEffectDescriptor * self) { +} + + +GType circle_effect_descriptor_get_type (void) { + static volatile gsize circle_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&circle_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CircleEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circle_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CircleEffectDescriptor), 0, (GInstanceInitFunc) circle_effect_descriptor_instance_init, NULL }; + GType circle_effect_descriptor_type_id; + circle_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "CircleEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&circle_effect_descriptor_type_id__volatile, circle_effect_descriptor_type_id); + } + return circle_effect_descriptor_type_id__volatile; +} + + +CircleEffect* circle_effect_construct (GType object_type) { + CircleEffect * self = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = (CircleEffect*) g_object_new (object_type, NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return self; +#line 224 "CircleEffect.c" +} + + +CircleEffect* circle_effect_new (void) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return circle_effect_construct (TYPE_CIRCLE_EFFECT); +#line 231 "CircleEffect.c" +} + + +static void circle_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + CircleEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _vala_desired_fps = CIRCLE_EFFECT_DESIRED_FPS; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _vala_min_fps = CIRCLE_EFFECT_MIN_FPS; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (desired_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + *desired_fps = _vala_desired_fps; +#line 249 "CircleEffect.c" + } +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (min_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + *min_fps = _vala_min_fps; +#line 255 "CircleEffect.c" + } +} + + +static void circle_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + CircleEffect * self; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 268 "CircleEffect.c" +} + + +static gboolean circle_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + CircleEffect * self; + gboolean result = FALSE; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + result = TRUE; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + return result; +#line 281 "CircleEffect.c" +} + + +static void circle_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + CircleEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gint radius = 0; + gdouble _tmp3_ = 0.0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gdouble _tmp6_ = 0.0; + SpitTransitionsVisuals* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + SpitTransitionsVisuals* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (ctx != NULL); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp0_ = motion; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp1_ = frame_number; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + alpha = _tmp2_; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp3_ = alpha; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp4_ = width; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp5_ = height; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp6_ = fmax ((gdouble) _tmp4_, (gdouble) _tmp5_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + radius = (gint) (_tmp3_ * _tmp6_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp7_ = visuals; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp8_ = spit_transitions_visuals_get_from_pixbuf (_tmp7_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp9_ = _tmp8_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (_tmp9_ != NULL) { +#line 336 "CircleEffect.c" + cairo_t* _tmp10_ = NULL; + SpitTransitionsVisuals* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + SpitTransitionsVisuals* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; + SpitTransitionsVisuals* _tmp18_ = NULL; + GdkRectangle _tmp19_ = {0}; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; + cairo_t* _tmp22_ = NULL; + gdouble _tmp23_ = 0.0; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp10_ = ctx; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp11_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp12_ = spit_transitions_visuals_get_from_pixbuf (_tmp11_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp13_ = _tmp12_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp14_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp14_, &_tmp15_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp16_ = _tmp15_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp17_ = _tmp16_.x; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp18_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp18_, &_tmp19_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp20_ = _tmp19_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp21_ = _tmp20_.y; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp10_, _tmp13_, (gdouble) _tmp17_, (gdouble) _tmp21_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp22_ = ctx; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp23_ = alpha; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_paint_with_alpha (_tmp22_, 1 - _tmp23_); +#line 383 "CircleEffect.c" + } +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp24_ = visuals; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp25_ = spit_transitions_visuals_get_to_pixbuf (_tmp24_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp26_ = _tmp25_; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + if (_tmp26_ != NULL) { +#line 393 "CircleEffect.c" + cairo_t* _tmp27_ = NULL; + SpitTransitionsVisuals* _tmp28_ = NULL; + GdkPixbuf* _tmp29_ = NULL; + GdkPixbuf* _tmp30_ = NULL; + SpitTransitionsVisuals* _tmp31_ = NULL; + GdkRectangle _tmp32_ = {0}; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + SpitTransitionsVisuals* _tmp35_ = NULL; + GdkRectangle _tmp36_ = {0}; + GdkRectangle _tmp37_ = {0}; + gint _tmp38_ = 0; + cairo_t* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + cairo_t* _tmp43_ = NULL; + cairo_t* _tmp44_ = NULL; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp27_ = ctx; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp28_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp29_ = spit_transitions_visuals_get_to_pixbuf (_tmp28_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp30_ = _tmp29_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp31_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp31_, &_tmp32_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp33_ = _tmp32_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp34_ = _tmp33_.x; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp35_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp35_, &_tmp36_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp37_ = _tmp36_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp38_ = _tmp37_.y; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp27_, _tmp30_, (gdouble) _tmp34_, (gdouble) _tmp38_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp39_ = ctx; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp40_ = width; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp41_ = height; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp42_ = radius; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_arc (_tmp39_, (gdouble) (((gint) _tmp40_) / 2), (gdouble) (((gint) _tmp41_) / 2), (gdouble) _tmp42_, (gdouble) 0, 2 * G_PI); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp43_ = ctx; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_clip (_tmp43_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + _tmp44_ = ctx; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + cairo_paint (_tmp44_); +#line 456 "CircleEffect.c" + } +} + + +static void circle_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + CircleEffect * self; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 469 "CircleEffect.c" +} + + +static void circle_effect_real_cancel (SpitTransitionsEffect* base) { + CircleEffect * self; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLE_EFFECT, CircleEffect); +#line 477 "CircleEffect.c" +} + + +static void circle_effect_class_init (CircleEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + circle_effect_parent_class = g_type_class_peek_parent (klass); +#line 484 "CircleEffect.c" +} + + +static void circle_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + circle_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) circle_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) circle_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) circle_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) circle_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) circle_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CircleEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) circle_effect_real_cancel; +#line 503 "CircleEffect.c" +} + + +static void circle_effect_instance_init (CircleEffect * self) { +} + + +GType circle_effect_get_type (void) { + static volatile gsize circle_effect_type_id__volatile = 0; + if (g_once_init_enter (&circle_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CircleEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circle_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CircleEffect), 0, (GInstanceInitFunc) circle_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) circle_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType circle_effect_type_id; + circle_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "CircleEffect", &g_define_type_info, 0); + g_type_add_interface_static (circle_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&circle_effect_type_id__volatile, circle_effect_type_id); + } + return circle_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/CirclesEffect.c b/plugins/shotwell-transitions/CirclesEffect.c new file mode 100644 index 0000000..542de61 --- /dev/null +++ b/plugins/shotwell-transitions/CirclesEffect.c @@ -0,0 +1,658 @@ +/* CirclesEffect.c generated by valac 0.32.1, the Vala compiler + * generated from CirclesEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_CIRCLES_EFFECT_DESCRIPTOR (circles_effect_descriptor_get_type ()) +#define CIRCLES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor)) +#define CIRCLES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptorClass)) +#define IS_CIRCLES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR)) +#define IS_CIRCLES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLES_EFFECT_DESCRIPTOR)) +#define CIRCLES_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptorClass)) + +typedef struct _CirclesEffectDescriptor CirclesEffectDescriptor; +typedef struct _CirclesEffectDescriptorClass CirclesEffectDescriptorClass; +typedef struct _CirclesEffectDescriptorPrivate CirclesEffectDescriptorPrivate; + +#define TYPE_CIRCLES_EFFECT (circles_effect_get_type ()) +#define CIRCLES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLES_EFFECT, CirclesEffect)) +#define CIRCLES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLES_EFFECT, CirclesEffectClass)) +#define IS_CIRCLES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLES_EFFECT)) +#define IS_CIRCLES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLES_EFFECT)) +#define CIRCLES_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLES_EFFECT, CirclesEffectClass)) + +typedef struct _CirclesEffect CirclesEffect; +typedef struct _CirclesEffectClass CirclesEffectClass; +typedef struct _CirclesEffectPrivate CirclesEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _CirclesEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + CirclesEffectDescriptorPrivate * priv; +}; + +struct _CirclesEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _CirclesEffect { + GObject parent_instance; + CirclesEffectPrivate * priv; +}; + +struct _CirclesEffectClass { + GObjectClass parent_class; +}; + + +static gpointer circles_effect_descriptor_parent_class = NULL; +static gpointer circles_effect_parent_class = NULL; +static SpitTransitionsEffectIface* circles_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType circles_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + CIRCLES_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +CirclesEffectDescriptor* circles_effect_descriptor_new (GFile* resource_directory); +CirclesEffectDescriptor* circles_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* circles_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* circles_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* circles_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +CirclesEffect* circles_effect_new (void); +CirclesEffect* circles_effect_construct (GType object_type); +GType circles_effect_get_type (void) G_GNUC_CONST; +enum { + CIRCLES_EFFECT_DUMMY_PROPERTY +}; +#define CIRCLES_EFFECT_DESIRED_FPS 25 +#define CIRCLES_EFFECT_MIN_FPS 15 +#define CIRCLES_EFFECT_SPEED 2.5 +static void circles_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void circles_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean circles_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void circles_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void circles_effect_real_cancel (SpitTransitionsEffect* base); + + +CirclesEffectDescriptor* circles_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + CirclesEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = (CirclesEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return self; +#line 132 "CirclesEffect.c" +} + + +CirclesEffectDescriptor* circles_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return circles_effect_descriptor_construct (TYPE_CIRCLES_EFFECT_DESCRIPTOR, resource_directory); +#line 139 "CirclesEffect.c" +} + + +static const gchar* circles_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + CirclesEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = "org.yorba.shotwell.transitions.circles"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 152 "CirclesEffect.c" +} + + +static const gchar* circles_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + CirclesEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = _ ("Circles"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 168 "CirclesEffect.c" +} + + +static SpitTransitionsEffect* circles_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + CirclesEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + CirclesEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = circles_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 186 "CirclesEffect.c" +} + + +static void circles_effect_descriptor_class_init (CirclesEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circles_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = circles_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = circles_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = circles_effect_descriptor_real_create; +#line 199 "CirclesEffect.c" +} + + +static void circles_effect_descriptor_instance_init (CirclesEffectDescriptor * self) { +} + + +GType circles_effect_descriptor_get_type (void) { + static volatile gsize circles_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&circles_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CirclesEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circles_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CirclesEffectDescriptor), 0, (GInstanceInitFunc) circles_effect_descriptor_instance_init, NULL }; + GType circles_effect_descriptor_type_id; + circles_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "CirclesEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&circles_effect_descriptor_type_id__volatile, circles_effect_descriptor_type_id); + } + return circles_effect_descriptor_type_id__volatile; +} + + +CirclesEffect* circles_effect_construct (GType object_type) { + CirclesEffect * self = NULL; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = (CirclesEffect*) g_object_new (object_type, NULL); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return self; +#line 225 "CirclesEffect.c" +} + + +CirclesEffect* circles_effect_new (void) { +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return circles_effect_construct (TYPE_CIRCLES_EFFECT); +#line 232 "CirclesEffect.c" +} + + +static void circles_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + CirclesEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _vala_desired_fps = CIRCLES_EFFECT_DESIRED_FPS; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _vala_min_fps = CIRCLES_EFFECT_MIN_FPS; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (desired_fps) { +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + *desired_fps = _vala_desired_fps; +#line 250 "CirclesEffect.c" + } +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (min_fps) { +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + *min_fps = _vala_min_fps; +#line 256 "CirclesEffect.c" + } +} + + +static void circles_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + CirclesEffect * self; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 269 "CirclesEffect.c" +} + + +static gboolean circles_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + CirclesEffect * self; + gboolean result = FALSE; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + result = TRUE; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + return result; +#line 282 "CirclesEffect.c" +} + + +static void circles_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + CirclesEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gint distance = 0; + gint radius = 0; + gint circleCountX = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint circleCountY = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gdouble maxRadius = 0.0; + gint _tmp7_ = 0; + SpitTransitionsVisuals* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + SpitTransitionsVisuals* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (ctx != NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp0_ = motion; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp1_ = frame_number; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + alpha = _tmp2_; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + distance = 60; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp3_ = width; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp4_ = distance; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circleCountX = _tmp3_ / (2 * _tmp4_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp5_ = height; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp6_ = distance; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circleCountY = _tmp5_ / _tmp6_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp7_ = distance; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + maxRadius = CIRCLES_EFFECT_SPEED * _tmp7_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp8_ = visuals; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp9_ = spit_transitions_visuals_get_from_pixbuf (_tmp8_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp10_ = _tmp9_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (_tmp10_ != NULL) { +#line 350 "CirclesEffect.c" + cairo_t* _tmp11_ = NULL; + SpitTransitionsVisuals* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + SpitTransitionsVisuals* _tmp15_ = NULL; + GdkRectangle _tmp16_ = {0}; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + SpitTransitionsVisuals* _tmp19_ = NULL; + GdkRectangle _tmp20_ = {0}; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; + cairo_t* _tmp23_ = NULL; + gdouble _tmp24_ = 0.0; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp11_ = ctx; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp12_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp13_ = spit_transitions_visuals_get_from_pixbuf (_tmp12_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp14_ = _tmp13_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp15_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp15_, &_tmp16_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp17_ = _tmp16_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp18_ = _tmp17_.x; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp19_ = visuals; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp19_, &_tmp20_); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp21_ = _tmp20_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp22_ = _tmp21_.y; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp11_, _tmp14_, (gdouble) _tmp18_, (gdouble) _tmp22_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp23_ = ctx; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp24_ = alpha; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_paint_with_alpha (_tmp23_, 1 - _tmp24_); +#line 397 "CirclesEffect.c" + } +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp25_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp26_ = spit_transitions_visuals_get_to_pixbuf (_tmp25_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp27_ = _tmp26_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (_tmp27_ != NULL) { +#line 407 "CirclesEffect.c" + cairo_t* _tmp28_ = NULL; + SpitTransitionsVisuals* _tmp29_ = NULL; + GdkPixbuf* _tmp30_ = NULL; + GdkPixbuf* _tmp31_ = NULL; + SpitTransitionsVisuals* _tmp32_ = NULL; + GdkRectangle _tmp33_ = {0}; + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + SpitTransitionsVisuals* _tmp36_ = NULL; + GdkRectangle _tmp37_ = {0}; + GdkRectangle _tmp38_ = {0}; + gint _tmp39_ = 0; + cairo_t* _tmp63_ = NULL; + cairo_t* _tmp64_ = NULL; + gdouble _tmp65_ = 0.0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp28_ = ctx; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp29_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp30_ = spit_transitions_visuals_get_to_pixbuf (_tmp29_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp31_ = _tmp30_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp32_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp32_, &_tmp33_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp34_ = _tmp33_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp35_ = _tmp34_.x; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp36_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp36_, &_tmp37_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp38_ = _tmp37_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp39_ = _tmp38_.y; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp28_, _tmp31_, (gdouble) _tmp35_, (gdouble) _tmp39_); +#line 449 "CirclesEffect.c" + { + gint y = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + y = 0; +#line 454 "CirclesEffect.c" + { + gboolean _tmp40_ = FALSE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp40_ = TRUE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + while (TRUE) { +#line 461 "CirclesEffect.c" + gint _tmp42_ = 0; + gint _tmp43_ = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!_tmp40_) { +#line 466 "CirclesEffect.c" + gint _tmp41_ = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp41_ = y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + y = _tmp41_ + 1; +#line 472 "CirclesEffect.c" + } +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp40_ = FALSE; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp42_ = y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp43_ = circleCountY; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!(_tmp42_ <= _tmp43_)) { +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + break; +#line 484 "CirclesEffect.c" + } + { + gint x = 0; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + x = 0; +#line 490 "CirclesEffect.c" + { + gboolean _tmp44_ = FALSE; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp44_ = TRUE; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + while (TRUE) { +#line 497 "CirclesEffect.c" + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gdouble _tmp48_ = 0.0; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + gint _tmp52_ = 0; + gdouble _tmp53_ = 0.0; + gdouble _tmp54_ = 0.0; + gdouble _tmp55_ = 0.0; + cairo_t* _tmp56_ = NULL; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + cairo_t* _tmp62_ = NULL; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!_tmp44_) { +#line 517 "CirclesEffect.c" + gint _tmp45_ = 0; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp45_ = x; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + x = _tmp45_ + 1; +#line 523 "CirclesEffect.c" + } +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp44_ = FALSE; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp46_ = x; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp47_ = circleCountX; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + if (!(_tmp46_ <= _tmp47_)) { +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + break; +#line 535 "CirclesEffect.c" + } +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp48_ = alpha; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp49_ = x; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp50_ = y; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp51_ = circleCountY; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp52_ = circleCountX; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp53_ = fmin ((gdouble) 1, _tmp48_ - (((gdouble) (_tmp49_ + _tmp50_)) / ((gdouble) ((_tmp51_ + _tmp52_) * CIRCLES_EFFECT_SPEED)))); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp54_ = fmax ((gdouble) 0, _tmp53_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp55_ = maxRadius; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + radius = (gint) (_tmp54_ * _tmp55_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp56_ = ctx; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp57_ = distance; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp58_ = x; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp59_ = distance; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp60_ = y; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp61_ = radius; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_arc (_tmp56_, (gdouble) ((2 * _tmp57_) * _tmp58_), (gdouble) ((2 * _tmp59_) * _tmp60_), (gdouble) _tmp61_, (gdouble) 0, 2 * G_PI); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp62_ = ctx; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_fill (_tmp62_); +#line 573 "CirclesEffect.c" + } + } + } + } + } + } +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp63_ = ctx; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_clip (_tmp63_); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp64_ = ctx; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + _tmp65_ = alpha; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + cairo_paint_with_alpha (_tmp64_, _tmp65_); +#line 590 "CirclesEffect.c" + } +} + + +static void circles_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + CirclesEffect * self; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 603 "CirclesEffect.c" +} + + +static void circles_effect_real_cancel (SpitTransitionsEffect* base) { + CirclesEffect * self; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CIRCLES_EFFECT, CirclesEffect); +#line 611 "CirclesEffect.c" +} + + +static void circles_effect_class_init (CirclesEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circles_effect_parent_class = g_type_class_peek_parent (klass); +#line 618 "CirclesEffect.c" +} + + +static void circles_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + circles_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) circles_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) circles_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) circles_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) circles_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) circles_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CirclesEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) circles_effect_real_cancel; +#line 637 "CirclesEffect.c" +} + + +static void circles_effect_instance_init (CirclesEffect * self) { +} + + +GType circles_effect_get_type (void) { + static volatile gsize circles_effect_type_id__volatile = 0; + if (g_once_init_enter (&circles_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CirclesEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) circles_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CirclesEffect), 0, (GInstanceInitFunc) circles_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) circles_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType circles_effect_type_id; + circles_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "CirclesEffect", &g_define_type_info, 0); + g_type_add_interface_static (circles_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&circles_effect_type_id__volatile, circles_effect_type_id); + } + return circles_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/ClockEffect.c b/plugins/shotwell-transitions/ClockEffect.c new file mode 100644 index 0000000..3074f40 --- /dev/null +++ b/plugins/shotwell-transitions/ClockEffect.c @@ -0,0 +1,638 @@ +/* ClockEffect.c generated by valac 0.32.1, the Vala compiler + * generated from ClockEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_CLOCK_EFFECT_DESCRIPTOR (clock_effect_descriptor_get_type ()) +#define CLOCK_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptor)) +#define CLOCK_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptorClass)) +#define IS_CLOCK_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLOCK_EFFECT_DESCRIPTOR)) +#define IS_CLOCK_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLOCK_EFFECT_DESCRIPTOR)) +#define CLOCK_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptorClass)) + +typedef struct _ClockEffectDescriptor ClockEffectDescriptor; +typedef struct _ClockEffectDescriptorClass ClockEffectDescriptorClass; +typedef struct _ClockEffectDescriptorPrivate ClockEffectDescriptorPrivate; + +#define TYPE_CLOCK_EFFECT (clock_effect_get_type ()) +#define CLOCK_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLOCK_EFFECT, ClockEffect)) +#define CLOCK_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLOCK_EFFECT, ClockEffectClass)) +#define IS_CLOCK_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLOCK_EFFECT)) +#define IS_CLOCK_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLOCK_EFFECT)) +#define CLOCK_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLOCK_EFFECT, ClockEffectClass)) + +typedef struct _ClockEffect ClockEffect; +typedef struct _ClockEffectClass ClockEffectClass; +typedef struct _ClockEffectPrivate ClockEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _ClockEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + ClockEffectDescriptorPrivate * priv; +}; + +struct _ClockEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _ClockEffect { + GObject parent_instance; + ClockEffectPrivate * priv; +}; + +struct _ClockEffectClass { + GObjectClass parent_class; +}; + + +static gpointer clock_effect_descriptor_parent_class = NULL; +static gpointer clock_effect_parent_class = NULL; +static SpitTransitionsEffectIface* clock_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType clock_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + CLOCK_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +ClockEffectDescriptor* clock_effect_descriptor_new (GFile* resource_directory); +ClockEffectDescriptor* clock_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* clock_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* clock_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* clock_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +ClockEffect* clock_effect_new (void); +ClockEffect* clock_effect_construct (GType object_type); +GType clock_effect_get_type (void) G_GNUC_CONST; +enum { + CLOCK_EFFECT_DUMMY_PROPERTY +}; +#define CLOCK_EFFECT_DESIRED_FPS 25 +#define CLOCK_EFFECT_MIN_FPS 15 +#define CLOCK_EFFECT_TOP_RADIANT (0.5 * G_PI) +static void clock_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void clock_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean clock_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void clock_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void clock_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void clock_effect_real_cancel (SpitTransitionsEffect* base); + + +ClockEffectDescriptor* clock_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + ClockEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = (ClockEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return self; +#line 132 "ClockEffect.c" +} + + +ClockEffectDescriptor* clock_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return clock_effect_descriptor_construct (TYPE_CLOCK_EFFECT_DESCRIPTOR, resource_directory); +#line 139 "ClockEffect.c" +} + + +static const gchar* clock_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + ClockEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + result = "org.yorba.shotwell.transitions.clock"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return result; +#line 152 "ClockEffect.c" +} + + +static const gchar* clock_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + ClockEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp0_ = _ ("Clock"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return result; +#line 168 "ClockEffect.c" +} + + +static SpitTransitionsEffect* clock_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + ClockEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + ClockEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp0_ = clock_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return result; +#line 186 "ClockEffect.c" +} + + +static void clock_effect_descriptor_class_init (ClockEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + clock_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = clock_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = clock_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = clock_effect_descriptor_real_create; +#line 199 "ClockEffect.c" +} + + +static void clock_effect_descriptor_instance_init (ClockEffectDescriptor * self) { +} + + +GType clock_effect_descriptor_get_type (void) { + static volatile gsize clock_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&clock_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ClockEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) clock_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ClockEffectDescriptor), 0, (GInstanceInitFunc) clock_effect_descriptor_instance_init, NULL }; + GType clock_effect_descriptor_type_id; + clock_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "ClockEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&clock_effect_descriptor_type_id__volatile, clock_effect_descriptor_type_id); + } + return clock_effect_descriptor_type_id__volatile; +} + + +ClockEffect* clock_effect_construct (GType object_type) { + ClockEffect * self = NULL; +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = (ClockEffect*) g_object_new (object_type, NULL); +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return self; +#line 225 "ClockEffect.c" +} + + +ClockEffect* clock_effect_new (void) { +#line 33 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return clock_effect_construct (TYPE_CLOCK_EFFECT); +#line 232 "ClockEffect.c" +} + + +static void clock_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + ClockEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT, ClockEffect); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _vala_desired_fps = CLOCK_EFFECT_DESIRED_FPS; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _vala_min_fps = CLOCK_EFFECT_MIN_FPS; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + if (desired_fps) { +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + *desired_fps = _vala_desired_fps; +#line 250 "ClockEffect.c" + } +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + if (min_fps) { +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + *min_fps = _vala_min_fps; +#line 256 "ClockEffect.c" + } +} + + +static void clock_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + ClockEffect * self; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT, ClockEffect); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 269 "ClockEffect.c" +} + + +static gboolean clock_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + ClockEffect * self; + gboolean result = FALSE; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT, ClockEffect); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + result = TRUE; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + return result; +#line 282 "ClockEffect.c" +} + + +static void clock_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + ClockEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gdouble start_angle = 0.0; + gdouble stop_angle = 0.0; + SpitTransitionsMotion* _tmp3_ = NULL; + SpitTransitionsDirection _tmp4_ = 0; + SpitTransitionsDirection _tmp5_ = 0; + gint radius = 0; + SpitTransitionsVisuals* _tmp8_ = NULL; + GdkRectangle _tmp9_ = {0}; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + SpitTransitionsVisuals* _tmp12_ = NULL; + GdkRectangle _tmp13_ = {0}; + GdkRectangle _tmp14_ = {0}; + gint _tmp15_ = 0; + gdouble _tmp16_ = 0.0; + SpitTransitionsVisuals* _tmp17_ = NULL; + GdkPixbuf* _tmp18_ = NULL; + GdkPixbuf* _tmp19_ = NULL; + SpitTransitionsVisuals* _tmp34_ = NULL; + GdkPixbuf* _tmp35_ = NULL; + GdkPixbuf* _tmp36_ = NULL; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT, ClockEffect); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_if_fail (ctx != NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp0_ = motion; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp1_ = frame_number; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + alpha = _tmp2_; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + start_angle = -CLOCK_EFFECT_TOP_RADIANT; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + stop_angle = -CLOCK_EFFECT_TOP_RADIANT; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp3_ = motion; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp4_ = spit_transitions_motion_get_direction (_tmp3_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp5_ = _tmp4_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + if (_tmp5_ == SPIT_TRANSITIONS_DIRECTION_FORWARD) { +#line 341 "ClockEffect.c" + gdouble _tmp6_ = 0.0; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp6_ = alpha; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + stop_angle = ((_tmp6_ * G_PI) * 2) - CLOCK_EFFECT_TOP_RADIANT; +#line 347 "ClockEffect.c" + } else { + gdouble _tmp7_ = 0.0; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp7_ = alpha; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + start_angle = ((2 * (1 - _tmp7_)) * G_PI) - CLOCK_EFFECT_TOP_RADIANT; +#line 354 "ClockEffect.c" + } +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp8_ = visuals; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp8_, &_tmp9_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp10_ = _tmp9_; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp11_ = _tmp10_.width; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp12_ = visuals; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp12_, &_tmp13_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp14_ = _tmp13_; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp15_ = _tmp14_.height; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp16_ = fmax ((gdouble) _tmp11_, (gdouble) _tmp15_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + radius = (gint) _tmp16_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp17_ = visuals; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp18_ = spit_transitions_visuals_get_from_pixbuf (_tmp17_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp19_ = _tmp18_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + if (_tmp19_ != NULL) { +#line 384 "ClockEffect.c" + cairo_t* _tmp20_ = NULL; + SpitTransitionsVisuals* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + GdkPixbuf* _tmp23_ = NULL; + SpitTransitionsVisuals* _tmp24_ = NULL; + GdkRectangle _tmp25_ = {0}; + GdkRectangle _tmp26_ = {0}; + gint _tmp27_ = 0; + SpitTransitionsVisuals* _tmp28_ = NULL; + GdkRectangle _tmp29_ = {0}; + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; + cairo_t* _tmp32_ = NULL; + gdouble _tmp33_ = 0.0; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp20_ = ctx; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp21_ = visuals; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp22_ = spit_transitions_visuals_get_from_pixbuf (_tmp21_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp23_ = _tmp22_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp24_ = visuals; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp24_, &_tmp25_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp26_ = _tmp25_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp27_ = _tmp26_.x; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp28_ = visuals; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp28_, &_tmp29_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp30_ = _tmp29_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp31_ = _tmp30_.y; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp20_, _tmp23_, (gdouble) _tmp27_, (gdouble) _tmp31_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp32_ = ctx; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp33_ = alpha; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + cairo_paint_with_alpha (_tmp32_, 1 - _tmp33_); +#line 431 "ClockEffect.c" + } +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp34_ = visuals; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp35_ = spit_transitions_visuals_get_to_pixbuf (_tmp34_); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp36_ = _tmp35_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + if (_tmp36_ != NULL) { +#line 441 "ClockEffect.c" + cairo_t* _tmp37_ = NULL; + SpitTransitionsVisuals* _tmp38_ = NULL; + GdkPixbuf* _tmp39_ = NULL; + GdkPixbuf* _tmp40_ = NULL; + SpitTransitionsVisuals* _tmp41_ = NULL; + GdkRectangle _tmp42_ = {0}; + GdkRectangle _tmp43_ = {0}; + gint _tmp44_ = 0; + SpitTransitionsVisuals* _tmp45_ = NULL; + GdkRectangle _tmp46_ = {0}; + GdkRectangle _tmp47_ = {0}; + gint _tmp48_ = 0; + gint x = 0; + SpitTransitionsVisuals* _tmp49_ = NULL; + GdkRectangle _tmp50_ = {0}; + GdkRectangle _tmp51_ = {0}; + gint _tmp52_ = 0; + SpitTransitionsVisuals* _tmp53_ = NULL; + GdkRectangle _tmp54_ = {0}; + GdkRectangle _tmp55_ = {0}; + gint _tmp56_ = 0; + gint y = 0; + SpitTransitionsVisuals* _tmp57_ = NULL; + GdkRectangle _tmp58_ = {0}; + GdkRectangle _tmp59_ = {0}; + gint _tmp60_ = 0; + SpitTransitionsVisuals* _tmp61_ = NULL; + GdkRectangle _tmp62_ = {0}; + GdkRectangle _tmp63_ = {0}; + gint _tmp64_ = 0; + cairo_t* _tmp65_ = NULL; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + cairo_t* _tmp68_ = NULL; + gint _tmp69_ = 0; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + gdouble _tmp72_ = 0.0; + gdouble _tmp73_ = 0.0; + cairo_t* _tmp74_ = NULL; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp37_ = ctx; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp38_ = visuals; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp39_ = spit_transitions_visuals_get_to_pixbuf (_tmp38_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp40_ = _tmp39_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp41_ = visuals; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp41_, &_tmp42_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp43_ = _tmp42_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp44_ = _tmp43_.x; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp45_ = visuals; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp45_, &_tmp46_); +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp47_ = _tmp46_; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp48_ = _tmp47_.y; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp37_, _tmp40_, (gdouble) _tmp44_, (gdouble) _tmp48_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp49_ = visuals; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp49_, &_tmp50_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp51_ = _tmp50_; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp52_ = _tmp51_.x; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp53_ = visuals; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp53_, &_tmp54_); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp55_ = _tmp54_; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp56_ = _tmp55_.width; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + x = _tmp52_ + (((gint) _tmp56_) / 2); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp57_ = visuals; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp57_, &_tmp58_); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp59_ = _tmp58_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp60_ = _tmp59_.y; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp61_ = visuals; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp61_, &_tmp62_); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp63_ = _tmp62_; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp64_ = _tmp63_.height; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + y = _tmp60_ + (((gint) _tmp64_) / 2); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp65_ = ctx; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp66_ = x; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp67_ = y; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + cairo_move_to (_tmp65_, (gdouble) _tmp66_, (gdouble) _tmp67_); +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp68_ = ctx; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp69_ = x; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp70_ = y; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp71_ = radius; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp72_ = start_angle; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp73_ = stop_angle; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + cairo_arc (_tmp68_, (gdouble) _tmp69_, (gdouble) _tmp70_, (gdouble) _tmp71_, _tmp72_, _tmp73_); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + _tmp74_ = ctx; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + cairo_fill_preserve (_tmp74_); +#line 570 "ClockEffect.c" + } +} + + +static void clock_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + ClockEffect * self; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT, ClockEffect); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 583 "ClockEffect.c" +} + + +static void clock_effect_real_cancel (SpitTransitionsEffect* base) { + ClockEffect * self; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CLOCK_EFFECT, ClockEffect); +#line 591 "ClockEffect.c" +} + + +static void clock_effect_class_init (ClockEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + clock_effect_parent_class = g_type_class_peek_parent (klass); +#line 598 "ClockEffect.c" +} + + +static void clock_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + clock_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) clock_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) clock_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) clock_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) clock_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) clock_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/ClockEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) clock_effect_real_cancel; +#line 617 "ClockEffect.c" +} + + +static void clock_effect_instance_init (ClockEffect * self) { +} + + +GType clock_effect_get_type (void) { + static volatile gsize clock_effect_type_id__volatile = 0; + if (g_once_init_enter (&clock_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ClockEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) clock_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ClockEffect), 0, (GInstanceInitFunc) clock_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) clock_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType clock_effect_type_id; + clock_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "ClockEffect", &g_define_type_info, 0); + g_type_add_interface_static (clock_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&clock_effect_type_id__volatile, clock_effect_type_id); + } + return clock_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/CrumbleEffect.c b/plugins/shotwell-transitions/CrumbleEffect.c new file mode 100644 index 0000000..4fab4db --- /dev/null +++ b/plugins/shotwell-transitions/CrumbleEffect.c @@ -0,0 +1,857 @@ +/* CrumbleEffect.c generated by valac 0.32.1, the Vala compiler + * generated from CrumbleEffect.vala, do not modify */ + +/* Copyright 2010 Maxim Kartashev + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_CRUMBLE_EFFECT_DESCRIPTOR (crumble_effect_descriptor_get_type ()) +#define CRUMBLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptor)) +#define CRUMBLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptorClass)) +#define IS_CRUMBLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CRUMBLE_EFFECT_DESCRIPTOR)) +#define IS_CRUMBLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CRUMBLE_EFFECT_DESCRIPTOR)) +#define CRUMBLE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptorClass)) + +typedef struct _CrumbleEffectDescriptor CrumbleEffectDescriptor; +typedef struct _CrumbleEffectDescriptorClass CrumbleEffectDescriptorClass; +typedef struct _CrumbleEffectDescriptorPrivate CrumbleEffectDescriptorPrivate; + +#define TYPE_CRUMBLE_EFFECT (crumble_effect_get_type ()) +#define CRUMBLE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CRUMBLE_EFFECT, CrumbleEffect)) +#define CRUMBLE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CRUMBLE_EFFECT, CrumbleEffectClass)) +#define IS_CRUMBLE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CRUMBLE_EFFECT)) +#define IS_CRUMBLE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CRUMBLE_EFFECT)) +#define CRUMBLE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CRUMBLE_EFFECT, CrumbleEffectClass)) + +typedef struct _CrumbleEffect CrumbleEffect; +typedef struct _CrumbleEffectClass CrumbleEffectClass; +typedef struct _CrumbleEffectPrivate CrumbleEffectPrivate; +#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 _g_rand_free0(var) ((var == NULL) ? NULL : (var = (g_rand_free (var), NULL))) + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _CrumbleEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + CrumbleEffectDescriptorPrivate * priv; +}; + +struct _CrumbleEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _CrumbleEffect { + GObject parent_instance; + CrumbleEffectPrivate * priv; +}; + +struct _CrumbleEffectClass { + GObjectClass parent_class; +}; + +struct _CrumbleEffectPrivate { + cairo_surface_t** from_stripes; + gint from_stripes_length1; + gint _from_stripes_size_; + gdouble* accelerations; + gint accelerations_length1; + gint _accelerations_size_; + gint stripes_count; +}; + + +static gpointer crumble_effect_descriptor_parent_class = NULL; +static gpointer crumble_effect_parent_class = NULL; +static SpitTransitionsEffectIface* crumble_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType crumble_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + CRUMBLE_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +CrumbleEffectDescriptor* crumble_effect_descriptor_new (GFile* resource_directory); +CrumbleEffectDescriptor* crumble_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* crumble_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* crumble_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* crumble_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +CrumbleEffect* crumble_effect_new (void); +CrumbleEffect* crumble_effect_construct (GType object_type); +GType crumble_effect_get_type (void) G_GNUC_CONST; +#define CRUMBLE_EFFECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CRUMBLE_EFFECT, CrumbleEffectPrivate)) +enum { + CRUMBLE_EFFECT_DUMMY_PROPERTY +}; +#define CRUMBLE_EFFECT_DESIRED_FPS 25 +#define CRUMBLE_EFFECT_MIN_FPS 15 +#define CRUMBLE_EFFECT_STRIPE_WIDTH 10 +static void crumble_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static gboolean crumble_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void crumble_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static void crumble_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void crumble_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void crumble_effect_real_cancel (SpitTransitionsEffect* base); +static void crumble_effect_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); + + +CrumbleEffectDescriptor* crumble_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + CrumbleEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = (CrumbleEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return self; +#line 150 "CrumbleEffect.c" +} + + +CrumbleEffectDescriptor* crumble_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return crumble_effect_descriptor_construct (TYPE_CRUMBLE_EFFECT_DESCRIPTOR, resource_directory); +#line 157 "CrumbleEffect.c" +} + + +static const gchar* crumble_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + CrumbleEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + result = "org.yorba.shotwell.transitions.crumble"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return result; +#line 170 "CrumbleEffect.c" +} + + +static const gchar* crumble_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + CrumbleEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp0_ = _ ("Crumble"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return result; +#line 186 "CrumbleEffect.c" +} + + +static SpitTransitionsEffect* crumble_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + CrumbleEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + CrumbleEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp0_ = crumble_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return result; +#line 204 "CrumbleEffect.c" +} + + +static void crumble_effect_descriptor_class_init (CrumbleEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + crumble_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = crumble_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = crumble_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = crumble_effect_descriptor_real_create; +#line 217 "CrumbleEffect.c" +} + + +static void crumble_effect_descriptor_instance_init (CrumbleEffectDescriptor * self) { +} + + +GType crumble_effect_descriptor_get_type (void) { + static volatile gsize crumble_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&crumble_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CrumbleEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) crumble_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CrumbleEffectDescriptor), 0, (GInstanceInitFunc) crumble_effect_descriptor_instance_init, NULL }; + GType crumble_effect_descriptor_type_id; + crumble_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "CrumbleEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&crumble_effect_descriptor_type_id__volatile, crumble_effect_descriptor_type_id); + } + return crumble_effect_descriptor_type_id__volatile; +} + + +CrumbleEffect* crumble_effect_construct (GType object_type) { + CrumbleEffect * self = NULL; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = (CrumbleEffect*) g_object_new (object_type, NULL); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return self; +#line 243 "CrumbleEffect.c" +} + + +CrumbleEffect* crumble_effect_new (void) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return crumble_effect_construct (TYPE_CRUMBLE_EFFECT); +#line 250 "CrumbleEffect.c" +} + + +static void crumble_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + CrumbleEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT, CrumbleEffect); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _vala_desired_fps = CRUMBLE_EFFECT_DESIRED_FPS; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _vala_min_fps = CRUMBLE_EFFECT_MIN_FPS; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (desired_fps) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + *desired_fps = _vala_desired_fps; +#line 268 "CrumbleEffect.c" + } +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (min_fps) { +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + *min_fps = _vala_min_fps; +#line 274 "CrumbleEffect.c" + } +} + + +static gboolean crumble_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + CrumbleEffect * self; + gboolean result = FALSE; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT, CrumbleEffect); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + result = TRUE; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + return result; +#line 288 "CrumbleEffect.c" +} + + +static void crumble_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + CrumbleEffect * self; + GRand* rand = NULL; + GRand* _tmp0_ = NULL; + SpitTransitionsVisuals* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT, CrumbleEffect); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp0_ = g_rand_new (); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + rand = _tmp0_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp1_ = visuals; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp2_ = spit_transitions_visuals_get_from_pixbuf (_tmp1_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp3_ = _tmp2_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (_tmp3_ != NULL) { +#line 317 "CrumbleEffect.c" + SpitTransitionsVisuals* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + cairo_surface_t** _tmp10_ = NULL; + gint _tmp11_ = 0; + gdouble* _tmp12_ = NULL; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp4_ = visuals; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp5_ = spit_transitions_visuals_get_from_pixbuf (_tmp4_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp6_ = _tmp5_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp7_ = gdk_pixbuf_get_width (_tmp6_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp8_ = _tmp7_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->stripes_count = _tmp8_ / CRUMBLE_EFFECT_STRIPE_WIDTH; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp9_ = self->priv->stripes_count; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp10_ = g_new0 (cairo_surface_t*, _tmp9_ + 1); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->from_stripes = (_vala_array_free (self->priv->from_stripes, self->priv->from_stripes_length1, (GDestroyNotify) cairo_surface_destroy), NULL); +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->from_stripes = _tmp10_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->from_stripes_length1 = _tmp9_; +#line 57 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->_from_stripes_size_ = self->priv->from_stripes_length1; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp11_ = self->priv->stripes_count; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp12_ = g_new0 (gdouble, _tmp11_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->accelerations = (g_free (self->priv->accelerations), NULL); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->accelerations = _tmp12_; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->accelerations_length1 = _tmp11_; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->_accelerations_size_ = self->priv->accelerations_length1; +#line 363 "CrumbleEffect.c" + { + gint i = 0; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + i = 0; +#line 368 "CrumbleEffect.c" + { + gboolean _tmp13_ = FALSE; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp13_ = TRUE; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + while (TRUE) { +#line 375 "CrumbleEffect.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; + cairo_surface_t** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gint _tmp18_ = 0; + SpitTransitionsVisuals* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + cairo_surface_t* _tmp24_ = NULL; + cairo_surface_t* _tmp25_ = NULL; + cairo_t* ctx = NULL; + cairo_surface_t** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + cairo_surface_t* _tmp28_ = NULL; + cairo_t* _tmp29_ = NULL; + cairo_t* _tmp30_ = NULL; + SpitTransitionsVisuals* _tmp31_ = NULL; + GdkPixbuf* _tmp32_ = NULL; + GdkPixbuf* _tmp33_ = NULL; + gint _tmp34_ = 0; + cairo_t* _tmp35_ = NULL; + gdouble* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + GRand* _tmp38_ = NULL; + gdouble _tmp39_ = 0.0; + gdouble _tmp40_ = 0.0; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (!_tmp13_) { +#line 408 "CrumbleEffect.c" + gint _tmp14_ = 0; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp14_ = i; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + i = _tmp14_ + 1; +#line 414 "CrumbleEffect.c" + } +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp13_ = FALSE; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp15_ = i; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp16_ = self->priv->stripes_count; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + break; +#line 426 "CrumbleEffect.c" + } +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp17_ = self->priv->from_stripes; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp17__length1 = self->priv->from_stripes_length1; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp18_ = i; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp19_ = visuals; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp20_ = spit_transitions_visuals_get_from_pixbuf (_tmp19_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp21_ = _tmp20_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp22_ = gdk_pixbuf_get_height (_tmp21_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp23_ = _tmp22_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp24_ = cairo_image_surface_create (CAIRO_FORMAT_RGB24, CRUMBLE_EFFECT_STRIPE_WIDTH, _tmp23_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _cairo_surface_destroy0 (_tmp17_[_tmp18_]); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp17_[_tmp18_] = _tmp24_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp25_ = _tmp17_[_tmp18_]; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp26_ = self->priv->from_stripes; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp26__length1 = self->priv->from_stripes_length1; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp27_ = i; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp28_ = _tmp26_[_tmp27_]; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp29_ = cairo_create (_tmp28_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + ctx = _tmp29_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp30_ = ctx; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp31_ = visuals; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp32_ = spit_transitions_visuals_get_from_pixbuf (_tmp31_); +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp33_ = _tmp32_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp34_ = i; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp30_, _tmp33_, (gdouble) ((-_tmp34_) * CRUMBLE_EFFECT_STRIPE_WIDTH), (gdouble) 0); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp35_ = ctx; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + cairo_paint (_tmp35_); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp36_ = self->priv->accelerations; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp36__length1 = self->priv->accelerations_length1; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp37_ = i; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp38_ = rand; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp39_ = g_rand_double (_tmp38_); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp36_[_tmp37_] = _tmp39_; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp40_ = _tmp36_[_tmp37_]; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _cairo_destroy0 (ctx); +#line 496 "CrumbleEffect.c" + } + } + } + } +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _g_rand_free0 (rand); +#line 503 "CrumbleEffect.c" +} + + +static void crumble_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + CrumbleEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT, CrumbleEffect); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_if_fail (ctx != NULL); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp0_ = motion; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp1_ = frame_number; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + alpha = _tmp2_; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp3_ = alpha; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (_tmp3_ < 0.5) { +#line 534 "CrumbleEffect.c" + gdouble _tmp4_ = 0.0; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp4_ = alpha; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + alpha = _tmp4_ * 2; +#line 540 "CrumbleEffect.c" + { + gint i = 0; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + i = 0; +#line 545 "CrumbleEffect.c" + { + gboolean _tmp5_ = FALSE; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp5_ = TRUE; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + while (TRUE) { +#line 552 "CrumbleEffect.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint x = 0; + SpitTransitionsVisuals* _tmp9_ = NULL; + GdkRectangle _tmp10_ = {0}; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gdouble a = 0.0; + gdouble _tmp14_ = 0.0; + gdouble _tmp15_ = 0.0; + gdouble* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + gdouble _tmp18_ = 0.0; + gint y = 0; + SpitTransitionsVisuals* _tmp19_ = NULL; + GdkRectangle _tmp20_ = {0}; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; + SpitTransitionsVisuals* _tmp23_ = NULL; + GdkPixbuf* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gdouble _tmp28_ = 0.0; + gdouble _tmp29_ = 0.0; + cairo_t* _tmp30_ = NULL; + cairo_surface_t** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + cairo_surface_t* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + cairo_t* _tmp36_ = NULL; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (!_tmp5_) { +#line 590 "CrumbleEffect.c" + gint _tmp6_ = 0; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp6_ = i; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + i = _tmp6_ + 1; +#line 596 "CrumbleEffect.c" + } +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp5_ = FALSE; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp7_ = i; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp8_ = self->priv->stripes_count; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + break; +#line 608 "CrumbleEffect.c" + } +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp9_ = visuals; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp9_, &_tmp10_); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp11_ = _tmp10_; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp12_ = _tmp11_.x; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp13_ = i; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + x = _tmp12_ + (_tmp13_ * CRUMBLE_EFFECT_STRIPE_WIDTH); +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp14_ = alpha; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp15_ = alpha; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp16_ = self->priv->accelerations; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp16__length1 = self->priv->accelerations_length1; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp17_ = i; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp18_ = _tmp16_[_tmp17_]; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + a = _tmp14_ + (_tmp15_ * _tmp18_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp19_ = visuals; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp19_, &_tmp20_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp21_ = _tmp20_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp22_ = _tmp21_.y; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp23_ = visuals; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp24_ = spit_transitions_visuals_get_from_pixbuf (_tmp23_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp25_ = _tmp24_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp26_ = gdk_pixbuf_get_height (_tmp25_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp27_ = _tmp26_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp28_ = a; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp29_ = a; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + y = _tmp22_ + ((gint) ((_tmp27_ * _tmp28_) * _tmp29_)); +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp30_ = ctx; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp31_ = self->priv->from_stripes; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp31__length1 = self->priv->from_stripes_length1; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp32_ = i; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp33_ = _tmp31_[_tmp32_]; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp34_ = x; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp35_ = y; +#line 84 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + cairo_set_source_surface (_tmp30_, _tmp33_, (gdouble) _tmp34_, (gdouble) _tmp35_); +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp36_ = ctx; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + cairo_paint (_tmp36_); +#line 680 "CrumbleEffect.c" + } + } + } + } else { + SpitTransitionsVisuals* _tmp37_ = NULL; + GdkPixbuf* _tmp38_ = NULL; + GdkPixbuf* _tmp39_ = NULL; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp37_ = visuals; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp38_ = spit_transitions_visuals_get_to_pixbuf (_tmp37_); +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp39_ = _tmp38_; +#line 87 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + if (_tmp39_ != NULL) { +#line 696 "CrumbleEffect.c" + gdouble _tmp40_ = 0.0; + cairo_t* _tmp41_ = NULL; + SpitTransitionsVisuals* _tmp42_ = NULL; + GdkPixbuf* _tmp43_ = NULL; + GdkPixbuf* _tmp44_ = NULL; + SpitTransitionsVisuals* _tmp45_ = NULL; + GdkRectangle _tmp46_ = {0}; + GdkRectangle _tmp47_ = {0}; + gint _tmp48_ = 0; + SpitTransitionsVisuals* _tmp49_ = NULL; + GdkRectangle _tmp50_ = {0}; + GdkRectangle _tmp51_ = {0}; + gint _tmp52_ = 0; + cairo_t* _tmp53_ = NULL; + gdouble _tmp54_ = 0.0; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp40_ = alpha; +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + alpha = (_tmp40_ - 0.5) * 2; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp41_ = ctx; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp42_ = visuals; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp43_ = spit_transitions_visuals_get_to_pixbuf (_tmp42_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp44_ = _tmp43_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp45_ = visuals; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp45_, &_tmp46_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp47_ = _tmp46_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp48_ = _tmp47_.x; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp49_ = visuals; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp49_, &_tmp50_); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp51_ = _tmp50_; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp52_ = _tmp51_.y; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp41_, _tmp44_, (gdouble) _tmp48_, (gdouble) _tmp52_); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp53_ = ctx; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + _tmp54_ = alpha; +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + cairo_paint_with_alpha (_tmp53_, _tmp54_); +#line 748 "CrumbleEffect.c" + } else { + } + } +} + + +static void crumble_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + CrumbleEffect * self; +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT, CrumbleEffect); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 763 "CrumbleEffect.c" +} + + +static void crumble_effect_real_cancel (SpitTransitionsEffect* base) { + CrumbleEffect * self; +#line 100 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CRUMBLE_EFFECT, CrumbleEffect); +#line 771 "CrumbleEffect.c" +} + + +static void crumble_effect_class_init (CrumbleEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + crumble_effect_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + g_type_class_add_private (klass, sizeof (CrumbleEffectPrivate)); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + G_OBJECT_CLASS (klass)->finalize = crumble_effect_finalize; +#line 782 "CrumbleEffect.c" +} + + +static void crumble_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + crumble_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) crumble_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) crumble_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) crumble_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) crumble_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) crumble_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) crumble_effect_real_cancel; +#line 801 "CrumbleEffect.c" +} + + +static void crumble_effect_instance_init (CrumbleEffect * self) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv = CRUMBLE_EFFECT_GET_PRIVATE (self); +#line 808 "CrumbleEffect.c" +} + + +static void crumble_effect_finalize (GObject* obj) { + CrumbleEffect * self; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CRUMBLE_EFFECT, CrumbleEffect); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->from_stripes = (_vala_array_free (self->priv->from_stripes, self->priv->from_stripes_length1, (GDestroyNotify) cairo_surface_destroy), NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + self->priv->accelerations = (g_free (self->priv->accelerations), NULL); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/CrumbleEffect.vala" + G_OBJECT_CLASS (crumble_effect_parent_class)->finalize (obj); +#line 822 "CrumbleEffect.c" +} + + +GType crumble_effect_get_type (void) { + static volatile gsize crumble_effect_type_id__volatile = 0; + if (g_once_init_enter (&crumble_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CrumbleEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) crumble_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CrumbleEffect), 0, (GInstanceInitFunc) crumble_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) crumble_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType crumble_effect_type_id; + crumble_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "CrumbleEffect", &g_define_type_info, 0); + g_type_add_interface_static (crumble_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&crumble_effect_type_id__volatile, crumble_effect_type_id); + } + return crumble_effect_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/plugins/shotwell-transitions/FadeEffect.c b/plugins/shotwell-transitions/FadeEffect.c new file mode 100644 index 0000000..132f3d6 --- /dev/null +++ b/plugins/shotwell-transitions/FadeEffect.c @@ -0,0 +1,493 @@ +/* FadeEffect.c generated by valac 0.32.1, the Vala compiler + * generated from FadeEffect.vala, do not modify */ + +/* Copyright 2010 Maxim Kartashev + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_FADE_EFFECT_DESCRIPTOR (fade_effect_descriptor_get_type ()) +#define FADE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptor)) +#define FADE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptorClass)) +#define IS_FADE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FADE_EFFECT_DESCRIPTOR)) +#define IS_FADE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FADE_EFFECT_DESCRIPTOR)) +#define FADE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptorClass)) + +typedef struct _FadeEffectDescriptor FadeEffectDescriptor; +typedef struct _FadeEffectDescriptorClass FadeEffectDescriptorClass; +typedef struct _FadeEffectDescriptorPrivate FadeEffectDescriptorPrivate; + +#define TYPE_FADE_EFFECT (fade_effect_get_type ()) +#define FADE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FADE_EFFECT, FadeEffect)) +#define FADE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FADE_EFFECT, FadeEffectClass)) +#define IS_FADE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FADE_EFFECT)) +#define IS_FADE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FADE_EFFECT)) +#define FADE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FADE_EFFECT, FadeEffectClass)) + +typedef struct _FadeEffect FadeEffect; +typedef struct _FadeEffectClass FadeEffectClass; +typedef struct _FadeEffectPrivate FadeEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _FadeEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + FadeEffectDescriptorPrivate * priv; +}; + +struct _FadeEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _FadeEffect { + GObject parent_instance; + FadeEffectPrivate * priv; +}; + +struct _FadeEffectClass { + GObjectClass parent_class; +}; + + +static gpointer fade_effect_descriptor_parent_class = NULL; +static gpointer fade_effect_parent_class = NULL; +static SpitTransitionsEffectIface* fade_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType fade_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + FADE_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +FadeEffectDescriptor* fade_effect_descriptor_new (GFile* resource_directory); +FadeEffectDescriptor* fade_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* fade_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* fade_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* fade_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +FadeEffect* fade_effect_new (void); +FadeEffect* fade_effect_construct (GType object_type); +GType fade_effect_get_type (void) G_GNUC_CONST; +enum { + FADE_EFFECT_DUMMY_PROPERTY +}; +#define FADE_EFFECT_DESIRED_FPS 30 +#define FADE_EFFECT_MIN_FPS 20 +static void fade_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void fade_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean fade_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void fade_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void fade_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void fade_effect_real_cancel (SpitTransitionsEffect* base); + + +FadeEffectDescriptor* fade_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + FadeEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = (FadeEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return self; +#line 131 "FadeEffect.c" +} + + +FadeEffectDescriptor* fade_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return fade_effect_descriptor_construct (TYPE_FADE_EFFECT_DESCRIPTOR, resource_directory); +#line 138 "FadeEffect.c" +} + + +static const gchar* fade_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + FadeEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + result = "org.yorba.shotwell.transitions.fade"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return result; +#line 151 "FadeEffect.c" +} + + +static const gchar* fade_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + FadeEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp0_ = _ ("Fade"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return result; +#line 167 "FadeEffect.c" +} + + +static SpitTransitionsEffect* fade_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + FadeEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + FadeEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp0_ = fade_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return result; +#line 185 "FadeEffect.c" +} + + +static void fade_effect_descriptor_class_init (FadeEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + fade_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = fade_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = fade_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = fade_effect_descriptor_real_create; +#line 198 "FadeEffect.c" +} + + +static void fade_effect_descriptor_instance_init (FadeEffectDescriptor * self) { +} + + +GType fade_effect_descriptor_get_type (void) { + static volatile gsize fade_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&fade_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FadeEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) fade_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FadeEffectDescriptor), 0, (GInstanceInitFunc) fade_effect_descriptor_instance_init, NULL }; + GType fade_effect_descriptor_type_id; + fade_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "FadeEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&fade_effect_descriptor_type_id__volatile, fade_effect_descriptor_type_id); + } + return fade_effect_descriptor_type_id__volatile; +} + + +FadeEffect* fade_effect_construct (GType object_type) { + FadeEffect * self = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = (FadeEffect*) g_object_new (object_type, NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return self; +#line 224 "FadeEffect.c" +} + + +FadeEffect* fade_effect_new (void) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return fade_effect_construct (TYPE_FADE_EFFECT); +#line 231 "FadeEffect.c" +} + + +static void fade_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + FadeEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT, FadeEffect); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _vala_desired_fps = FADE_EFFECT_DESIRED_FPS; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _vala_min_fps = FADE_EFFECT_MIN_FPS; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + if (desired_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + *desired_fps = _vala_desired_fps; +#line 249 "FadeEffect.c" + } +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + if (min_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + *min_fps = _vala_min_fps; +#line 255 "FadeEffect.c" + } +} + + +static void fade_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + FadeEffect * self; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT, FadeEffect); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 268 "FadeEffect.c" +} + + +static gboolean fade_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + FadeEffect * self; + gboolean result = FALSE; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT, FadeEffect); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + result = TRUE; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + return result; +#line 281 "FadeEffect.c" +} + + +static void fade_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + FadeEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + SpitTransitionsVisuals* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + SpitTransitionsVisuals* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT, FadeEffect); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_if_fail (ctx != NULL); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp0_ = motion; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp1_ = frame_number; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + alpha = _tmp2_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp3_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp4_ = spit_transitions_visuals_get_from_pixbuf (_tmp3_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp5_ = _tmp4_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + if (_tmp5_ != NULL) { +#line 321 "FadeEffect.c" + cairo_t* _tmp6_ = NULL; + SpitTransitionsVisuals* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + SpitTransitionsVisuals* _tmp10_ = NULL; + GdkRectangle _tmp11_ = {0}; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + SpitTransitionsVisuals* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; + cairo_t* _tmp18_ = NULL; + gdouble _tmp19_ = 0.0; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp6_ = ctx; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp7_ = visuals; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp8_ = spit_transitions_visuals_get_from_pixbuf (_tmp7_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp9_ = _tmp8_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp10_ = visuals; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp10_, &_tmp11_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp12_ = _tmp11_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp13_ = _tmp12_.x; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp14_ = visuals; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp14_, &_tmp15_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp16_ = _tmp15_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp17_ = _tmp16_.y; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp6_, _tmp9_, (gdouble) _tmp13_, (gdouble) _tmp17_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp18_ = ctx; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp19_ = alpha; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + cairo_paint_with_alpha (_tmp18_, 1.0 - _tmp19_); +#line 368 "FadeEffect.c" + } +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp20_ = visuals; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp21_ = spit_transitions_visuals_get_to_pixbuf (_tmp20_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp22_ = _tmp21_; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + if (_tmp22_ != NULL) { +#line 378 "FadeEffect.c" + cairo_t* _tmp23_ = NULL; + SpitTransitionsVisuals* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + SpitTransitionsVisuals* _tmp27_ = NULL; + GdkRectangle _tmp28_ = {0}; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + SpitTransitionsVisuals* _tmp31_ = NULL; + GdkRectangle _tmp32_ = {0}; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + cairo_t* _tmp35_ = NULL; + gdouble _tmp36_ = 0.0; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp23_ = ctx; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp24_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp25_ = spit_transitions_visuals_get_to_pixbuf (_tmp24_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp26_ = _tmp25_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp27_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp27_, &_tmp28_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp29_ = _tmp28_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp30_ = _tmp29_.x; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp31_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp31_, &_tmp32_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp33_ = _tmp32_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp34_ = _tmp33_.y; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp23_, _tmp26_, (gdouble) _tmp30_, (gdouble) _tmp34_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp35_ = ctx; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + _tmp36_ = alpha; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + cairo_paint_with_alpha (_tmp35_, _tmp36_); +#line 425 "FadeEffect.c" + } +} + + +static void fade_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + FadeEffect * self; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT, FadeEffect); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 438 "FadeEffect.c" +} + + +static void fade_effect_real_cancel (SpitTransitionsEffect* base) { + FadeEffect * self; +#line 67 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FADE_EFFECT, FadeEffect); +#line 446 "FadeEffect.c" +} + + +static void fade_effect_class_init (FadeEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + fade_effect_parent_class = g_type_class_peek_parent (klass); +#line 453 "FadeEffect.c" +} + + +static void fade_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + fade_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) fade_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) fade_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) fade_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) fade_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) fade_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/FadeEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) fade_effect_real_cancel; +#line 472 "FadeEffect.c" +} + + +static void fade_effect_instance_init (FadeEffect * self) { +} + + +GType fade_effect_get_type (void) { + static volatile gsize fade_effect_type_id__volatile = 0; + if (g_once_init_enter (&fade_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FadeEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) fade_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FadeEffect), 0, (GInstanceInitFunc) fade_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) fade_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType fade_effect_type_id; + fade_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "FadeEffect", &g_define_type_info, 0); + g_type_add_interface_static (fade_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&fade_effect_type_id__volatile, fade_effect_type_id); + } + return fade_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/Makefile b/plugins/shotwell-transitions/Makefile deleted file mode 100644 index 9044011..0000000 --- a/plugins/shotwell-transitions/Makefile +++ /dev/null @@ -1,25 +0,0 @@ - -PLUGIN := shotwell-transitions - -PLUGIN_PKGS := \ - libxml-2.0 \ - libsoup-2.4 - -SRC_FILES := \ - shotwell-transitions.vala \ - FadeEffect.vala \ - SlideEffect.vala \ - CrumbleEffect.vala \ - BlindsEffect.vala \ - CircleEffect.vala \ - CirclesEffect.vala \ - SquaresEffect.vala \ - StripesEffect.vala \ - ChessEffect.vala \ - ClockEffect.vala - -RC_FILES := \ - slideshow-plugin.png - -include ../Makefile.plugin.mk - diff --git a/plugins/shotwell-transitions/SlideEffect.c b/plugins/shotwell-transitions/SlideEffect.c new file mode 100644 index 0000000..1fa1cd3 --- /dev/null +++ b/plugins/shotwell-transitions/SlideEffect.c @@ -0,0 +1,614 @@ +/* SlideEffect.c generated by valac 0.32.1, the Vala compiler + * generated from SlideEffect.vala, do not modify */ + +/* Copyright 2010 Maxim Kartashev + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_SLIDE_EFFECT_DESCRIPTOR (slide_effect_descriptor_get_type ()) +#define SLIDE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptor)) +#define SLIDE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptorClass)) +#define IS_SLIDE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDE_EFFECT_DESCRIPTOR)) +#define IS_SLIDE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDE_EFFECT_DESCRIPTOR)) +#define SLIDE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptorClass)) + +typedef struct _SlideEffectDescriptor SlideEffectDescriptor; +typedef struct _SlideEffectDescriptorClass SlideEffectDescriptorClass; +typedef struct _SlideEffectDescriptorPrivate SlideEffectDescriptorPrivate; + +#define TYPE_SLIDE_EFFECT (slide_effect_get_type ()) +#define SLIDE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDE_EFFECT, SlideEffect)) +#define SLIDE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDE_EFFECT, SlideEffectClass)) +#define IS_SLIDE_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDE_EFFECT)) +#define IS_SLIDE_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDE_EFFECT)) +#define SLIDE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDE_EFFECT, SlideEffectClass)) + +typedef struct _SlideEffect SlideEffect; +typedef struct _SlideEffectClass SlideEffectClass; +typedef struct _SlideEffectPrivate SlideEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _SlideEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + SlideEffectDescriptorPrivate * priv; +}; + +struct _SlideEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _SlideEffect { + GObject parent_instance; + SlideEffectPrivate * priv; +}; + +struct _SlideEffectClass { + GObjectClass parent_class; +}; + + +static gpointer slide_effect_descriptor_parent_class = NULL; +static gpointer slide_effect_parent_class = NULL; +static SpitTransitionsEffectIface* slide_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType slide_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + SLIDE_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +SlideEffectDescriptor* slide_effect_descriptor_new (GFile* resource_directory); +SlideEffectDescriptor* slide_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* slide_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* slide_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* slide_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +SlideEffect* slide_effect_new (void); +SlideEffect* slide_effect_construct (GType object_type); +GType slide_effect_get_type (void) G_GNUC_CONST; +enum { + SLIDE_EFFECT_DUMMY_PROPERTY +}; +#define SLIDE_EFFECT_DESIRED_FPS 25 +#define SLIDE_EFFECT_MIN_FPS 15 +static void slide_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void slide_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean slide_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void slide_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void slide_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void slide_effect_real_cancel (SpitTransitionsEffect* base); + + +SlideEffectDescriptor* slide_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + SlideEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = (SlideEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return self; +#line 132 "SlideEffect.c" +} + + +SlideEffectDescriptor* slide_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return slide_effect_descriptor_construct (TYPE_SLIDE_EFFECT_DESCRIPTOR, resource_directory); +#line 139 "SlideEffect.c" +} + + +static const gchar* slide_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + SlideEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + result = "org.yorba.shotwell.transitions.slide"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return result; +#line 152 "SlideEffect.c" +} + + +static const gchar* slide_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + SlideEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp0_ = _ ("Slide"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return result; +#line 168 "SlideEffect.c" +} + + +static SpitTransitionsEffect* slide_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + SlideEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + SlideEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp0_ = slide_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return result; +#line 186 "SlideEffect.c" +} + + +static void slide_effect_descriptor_class_init (SlideEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + slide_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = slide_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = slide_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = slide_effect_descriptor_real_create; +#line 199 "SlideEffect.c" +} + + +static void slide_effect_descriptor_instance_init (SlideEffectDescriptor * self) { +} + + +GType slide_effect_descriptor_get_type (void) { + static volatile gsize slide_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&slide_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SlideEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) slide_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SlideEffectDescriptor), 0, (GInstanceInitFunc) slide_effect_descriptor_instance_init, NULL }; + GType slide_effect_descriptor_type_id; + slide_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "SlideEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&slide_effect_descriptor_type_id__volatile, slide_effect_descriptor_type_id); + } + return slide_effect_descriptor_type_id__volatile; +} + + +SlideEffect* slide_effect_construct (GType object_type) { + SlideEffect * self = NULL; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = (SlideEffect*) g_object_new (object_type, NULL); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return self; +#line 225 "SlideEffect.c" +} + + +SlideEffect* slide_effect_new (void) { +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return slide_effect_construct (TYPE_SLIDE_EFFECT); +#line 232 "SlideEffect.c" +} + + +static void slide_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + SlideEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT, SlideEffect); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _vala_desired_fps = SLIDE_EFFECT_DESIRED_FPS; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _vala_min_fps = SLIDE_EFFECT_MIN_FPS; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + if (desired_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + *desired_fps = _vala_desired_fps; +#line 250 "SlideEffect.c" + } +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + if (min_fps) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + *min_fps = _vala_min_fps; +#line 256 "SlideEffect.c" + } +} + + +static void slide_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + SlideEffect * self; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT, SlideEffect); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 269 "SlideEffect.c" +} + + +static gboolean slide_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + SlideEffect * self; + gboolean result = FALSE; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT, SlideEffect); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + result = TRUE; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + return result; +#line 282 "SlideEffect.c" +} + + +static void slide_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + SlideEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + SpitTransitionsVisuals* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + SpitTransitionsVisuals* _tmp33_ = NULL; + GdkPixbuf* _tmp34_ = NULL; + GdkPixbuf* _tmp35_ = NULL; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT, SlideEffect); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_if_fail (ctx != NULL); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp0_ = motion; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp1_ = frame_number; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + alpha = _tmp2_; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp3_ = visuals; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp4_ = spit_transitions_visuals_get_from_pixbuf (_tmp3_); +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp5_ = _tmp4_; +#line 51 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + if (_tmp5_ != NULL) { +#line 322 "SlideEffect.c" + gint _tmp6_ = 0; + SpitTransitionsMotion* _tmp7_ = NULL; + SpitTransitionsDirection _tmp8_ = 0; + SpitTransitionsDirection _tmp9_ = 0; + gint from_target_x = 0; + gint from_current_x = 0; + SpitTransitionsVisuals* _tmp16_ = NULL; + GdkRectangle _tmp17_ = {0}; + GdkRectangle _tmp18_ = {0}; + gint _tmp19_ = 0; + gdouble _tmp20_ = 0.0; + gint _tmp21_ = 0; + gdouble _tmp22_ = 0.0; + cairo_t* _tmp23_ = NULL; + SpitTransitionsVisuals* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; + SpitTransitionsVisuals* _tmp28_ = NULL; + GdkRectangle _tmp29_ = {0}; + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; + cairo_t* _tmp32_ = NULL; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp7_ = motion; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp8_ = spit_transitions_motion_get_direction (_tmp7_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp9_ = _tmp8_; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + if (_tmp9_ == SPIT_TRANSITIONS_DIRECTION_FORWARD) { +#line 354 "SlideEffect.c" + SpitTransitionsVisuals* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp10_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp11_ = spit_transitions_visuals_get_from_pixbuf (_tmp10_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp12_ = _tmp11_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp13_ = gdk_pixbuf_get_width (_tmp12_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp14_ = _tmp13_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp6_ = -_tmp14_; +#line 372 "SlideEffect.c" + } else { + gint _tmp15_ = 0; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp15_ = width; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp6_ = _tmp15_; +#line 379 "SlideEffect.c" + } +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + from_target_x = _tmp6_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp16_ = visuals; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp16_, &_tmp17_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp18_ = _tmp17_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp19_ = _tmp18_.x; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp20_ = alpha; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp21_ = from_target_x; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp22_ = alpha; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + from_current_x = (gint) ((_tmp19_ * (1 - _tmp20_)) + (_tmp21_ * _tmp22_)); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp23_ = ctx; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp24_ = visuals; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp25_ = spit_transitions_visuals_get_from_pixbuf (_tmp24_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp26_ = _tmp25_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp27_ = from_current_x; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp28_ = visuals; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp28_, &_tmp29_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp30_ = _tmp29_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp31_ = _tmp30_.y; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp23_, _tmp26_, (gdouble) _tmp27_, (gdouble) _tmp31_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp32_ = ctx; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + cairo_paint (_tmp32_); +#line 423 "SlideEffect.c" + } +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp33_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp34_ = spit_transitions_visuals_get_to_pixbuf (_tmp33_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp35_ = _tmp34_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + if (_tmp35_ != NULL) { +#line 433 "SlideEffect.c" + gint to_target_x = 0; + gint _tmp36_ = 0; + SpitTransitionsVisuals* _tmp37_ = NULL; + GdkPixbuf* _tmp38_ = NULL; + GdkPixbuf* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + SpitTransitionsMotion* _tmp43_ = NULL; + SpitTransitionsDirection _tmp44_ = 0; + SpitTransitionsDirection _tmp45_ = 0; + gint from_x = 0; + gint to_current_x = 0; + gint _tmp52_ = 0; + gdouble _tmp53_ = 0.0; + gint _tmp54_ = 0; + gdouble _tmp55_ = 0.0; + cairo_t* _tmp56_ = NULL; + SpitTransitionsVisuals* _tmp57_ = NULL; + GdkPixbuf* _tmp58_ = NULL; + GdkPixbuf* _tmp59_ = NULL; + gint _tmp60_ = 0; + SpitTransitionsVisuals* _tmp61_ = NULL; + GdkRectangle _tmp62_ = {0}; + GdkRectangle _tmp63_ = {0}; + gint _tmp64_ = 0; + cairo_t* _tmp65_ = NULL; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp36_ = width; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp37_ = visuals; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp38_ = spit_transitions_visuals_get_to_pixbuf (_tmp37_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp39_ = _tmp38_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp40_ = gdk_pixbuf_get_width (_tmp39_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp41_ = _tmp40_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + to_target_x = (_tmp36_ - _tmp41_) / 2; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp43_ = motion; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp44_ = spit_transitions_motion_get_direction (_tmp43_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp45_ = _tmp44_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + if (_tmp45_ == SPIT_TRANSITIONS_DIRECTION_FORWARD) { +#line 483 "SlideEffect.c" + gint _tmp46_ = 0; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp46_ = width; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp42_ = _tmp46_; +#line 489 "SlideEffect.c" + } else { + SpitTransitionsVisuals* _tmp47_ = NULL; + GdkPixbuf* _tmp48_ = NULL; + GdkPixbuf* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp47_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp48_ = spit_transitions_visuals_get_to_pixbuf (_tmp47_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp49_ = _tmp48_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp50_ = gdk_pixbuf_get_width (_tmp49_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp51_ = _tmp50_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp42_ = -_tmp51_; +#line 508 "SlideEffect.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + from_x = _tmp42_; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp52_ = from_x; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp53_ = alpha; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp54_ = to_target_x; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp55_ = alpha; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + to_current_x = (gint) ((_tmp52_ * (1 - _tmp53_)) + (_tmp54_ * _tmp55_)); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp56_ = ctx; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp57_ = visuals; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp58_ = spit_transitions_visuals_get_to_pixbuf (_tmp57_); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp59_ = _tmp58_; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp60_ = to_current_x; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp61_ = visuals; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp61_, &_tmp62_); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp63_ = _tmp62_; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp64_ = _tmp63_.y; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp56_, _tmp59_, (gdouble) _tmp60_, (gdouble) _tmp64_); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + _tmp65_ = ctx; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + cairo_paint (_tmp65_); +#line 546 "SlideEffect.c" + } +} + + +static void slide_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + SlideEffect * self; +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT, SlideEffect); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 69 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 559 "SlideEffect.c" +} + + +static void slide_effect_real_cancel (SpitTransitionsEffect* base) { + SlideEffect * self; +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDE_EFFECT, SlideEffect); +#line 567 "SlideEffect.c" +} + + +static void slide_effect_class_init (SlideEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + slide_effect_parent_class = g_type_class_peek_parent (klass); +#line 574 "SlideEffect.c" +} + + +static void slide_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + slide_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) slide_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) slide_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) slide_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) slide_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) slide_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SlideEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) slide_effect_real_cancel; +#line 593 "SlideEffect.c" +} + + +static void slide_effect_instance_init (SlideEffect * self) { +} + + +GType slide_effect_get_type (void) { + static volatile gsize slide_effect_type_id__volatile = 0; + if (g_once_init_enter (&slide_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SlideEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) slide_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SlideEffect), 0, (GInstanceInitFunc) slide_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) slide_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType slide_effect_type_id; + slide_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "SlideEffect", &g_define_type_info, 0); + g_type_add_interface_static (slide_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&slide_effect_type_id__volatile, slide_effect_type_id); + } + return slide_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/SquaresEffect.c b/plugins/shotwell-transitions/SquaresEffect.c new file mode 100644 index 0000000..29fab0c --- /dev/null +++ b/plugins/shotwell-transitions/SquaresEffect.c @@ -0,0 +1,704 @@ +/* SquaresEffect.c generated by valac 0.32.1, the Vala compiler + * generated from SquaresEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_SQUARES_EFFECT_DESCRIPTOR (squares_effect_descriptor_get_type ()) +#define SQUARES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptor)) +#define SQUARES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptorClass)) +#define IS_SQUARES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SQUARES_EFFECT_DESCRIPTOR)) +#define IS_SQUARES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SQUARES_EFFECT_DESCRIPTOR)) +#define SQUARES_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptorClass)) + +typedef struct _SquaresEffectDescriptor SquaresEffectDescriptor; +typedef struct _SquaresEffectDescriptorClass SquaresEffectDescriptorClass; +typedef struct _SquaresEffectDescriptorPrivate SquaresEffectDescriptorPrivate; + +#define TYPE_SQUARES_EFFECT (squares_effect_get_type ()) +#define SQUARES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SQUARES_EFFECT, SquaresEffect)) +#define SQUARES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SQUARES_EFFECT, SquaresEffectClass)) +#define IS_SQUARES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SQUARES_EFFECT)) +#define IS_SQUARES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SQUARES_EFFECT)) +#define SQUARES_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SQUARES_EFFECT, SquaresEffectClass)) + +typedef struct _SquaresEffect SquaresEffect; +typedef struct _SquaresEffectClass SquaresEffectClass; +typedef struct _SquaresEffectPrivate SquaresEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _SquaresEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + SquaresEffectDescriptorPrivate * priv; +}; + +struct _SquaresEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _SquaresEffect { + GObject parent_instance; + SquaresEffectPrivate * priv; +}; + +struct _SquaresEffectClass { + GObjectClass parent_class; +}; + +struct _SquaresEffectPrivate { + gdouble square_count_x; + gdouble square_count_y; +}; + + +static gpointer squares_effect_descriptor_parent_class = NULL; +static gpointer squares_effect_parent_class = NULL; +static SpitTransitionsEffectIface* squares_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType squares_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + SQUARES_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +SquaresEffectDescriptor* squares_effect_descriptor_new (GFile* resource_directory); +SquaresEffectDescriptor* squares_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* squares_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* squares_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* squares_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +SquaresEffect* squares_effect_new (void); +SquaresEffect* squares_effect_construct (GType object_type); +GType squares_effect_get_type (void) G_GNUC_CONST; +#define SQUARES_EFFECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SQUARES_EFFECT, SquaresEffectPrivate)) +enum { + SQUARES_EFFECT_DUMMY_PROPERTY +}; +#define SQUARES_EFFECT_DESIRED_FPS 25 +#define SQUARES_EFFECT_MIN_FPS 10 +#define SQUARES_EFFECT_SQUARE_SIZE 100 +static void squares_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void squares_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean squares_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void squares_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void squares_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void squares_effect_real_cancel (SpitTransitionsEffect* base); +static void squares_effect_finalize (GObject* obj); + + +SquaresEffectDescriptor* squares_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + SquaresEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = (SquaresEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return self; +#line 139 "SquaresEffect.c" +} + + +SquaresEffectDescriptor* squares_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return squares_effect_descriptor_construct (TYPE_SQUARES_EFFECT_DESCRIPTOR, resource_directory); +#line 146 "SquaresEffect.c" +} + + +static const gchar* squares_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + SquaresEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + result = "org.yorba.shotwell.transitions.squares"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return result; +#line 159 "SquaresEffect.c" +} + + +static const gchar* squares_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + SquaresEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp0_ = _ ("Squares"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return result; +#line 175 "SquaresEffect.c" +} + + +static SpitTransitionsEffect* squares_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + SquaresEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + SquaresEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp0_ = squares_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return result; +#line 193 "SquaresEffect.c" +} + + +static void squares_effect_descriptor_class_init (SquaresEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + squares_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = squares_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = squares_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = squares_effect_descriptor_real_create; +#line 206 "SquaresEffect.c" +} + + +static void squares_effect_descriptor_instance_init (SquaresEffectDescriptor * self) { +} + + +GType squares_effect_descriptor_get_type (void) { + static volatile gsize squares_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&squares_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SquaresEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) squares_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SquaresEffectDescriptor), 0, (GInstanceInitFunc) squares_effect_descriptor_instance_init, NULL }; + GType squares_effect_descriptor_type_id; + squares_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "SquaresEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&squares_effect_descriptor_type_id__volatile, squares_effect_descriptor_type_id); + } + return squares_effect_descriptor_type_id__volatile; +} + + +SquaresEffect* squares_effect_construct (GType object_type) { + SquaresEffect * self = NULL; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = (SquaresEffect*) g_object_new (object_type, NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return self; +#line 232 "SquaresEffect.c" +} + + +SquaresEffect* squares_effect_new (void) { +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return squares_effect_construct (TYPE_SQUARES_EFFECT); +#line 239 "SquaresEffect.c" +} + + +static void squares_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + SquaresEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT, SquaresEffect); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _vala_desired_fps = SQUARES_EFFECT_DESIRED_FPS; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _vala_min_fps = SQUARES_EFFECT_MIN_FPS; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (desired_fps) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + *desired_fps = _vala_desired_fps; +#line 257 "SquaresEffect.c" + } +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (min_fps) { +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + *min_fps = _vala_min_fps; +#line 263 "SquaresEffect.c" + } +} + + +static void squares_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + SquaresEffect * self; + SpitTransitionsVisuals* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + SpitTransitionsVisuals* _tmp4_ = NULL; + GdkRectangle _tmp5_ = {0}; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT, SquaresEffect); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp0_ = visuals; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp0_, &_tmp1_); +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp2_ = _tmp1_; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp3_ = _tmp2_.width; +#line 44 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self->priv->square_count_x = (gdouble) ((_tmp3_ / SQUARES_EFFECT_SQUARE_SIZE) + 1); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp4_ = visuals; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp4_, &_tmp5_); +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp6_ = _tmp5_; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp7_ = _tmp6_.height; +#line 45 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self->priv->square_count_y = (gdouble) ((_tmp7_ / SQUARES_EFFECT_SQUARE_SIZE) + 1); +#line 304 "SquaresEffect.c" +} + + +static gboolean squares_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + SquaresEffect * self; + gboolean result = FALSE; +#line 48 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT, SquaresEffect); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + result = TRUE; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + return result; +#line 317 "SquaresEffect.c" +} + + +static void squares_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + SquaresEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + SpitTransitionsVisuals* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + SpitTransitionsVisuals* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT, SquaresEffect); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_if_fail (ctx != NULL); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp0_ = motion; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp1_ = frame_number; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + alpha = _tmp2_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp3_ = visuals; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp4_ = spit_transitions_visuals_get_from_pixbuf (_tmp3_); +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp5_ = _tmp4_; +#line 55 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (_tmp5_ != NULL) { +#line 357 "SquaresEffect.c" + cairo_t* _tmp6_ = NULL; + SpitTransitionsVisuals* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + SpitTransitionsVisuals* _tmp10_ = NULL; + GdkRectangle _tmp11_ = {0}; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + SpitTransitionsVisuals* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; + cairo_t* _tmp18_ = NULL; + gdouble _tmp19_ = 0.0; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp6_ = ctx; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp7_ = visuals; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp8_ = spit_transitions_visuals_get_from_pixbuf (_tmp7_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp9_ = _tmp8_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp10_ = visuals; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp10_, &_tmp11_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp12_ = _tmp11_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp13_ = _tmp12_.x; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp14_ = visuals; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp14_, &_tmp15_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp16_ = _tmp15_; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp17_ = _tmp16_.y; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp6_, _tmp9_, (gdouble) _tmp13_, (gdouble) _tmp17_); +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp18_ = ctx; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp19_ = alpha; +#line 58 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + cairo_paint_with_alpha (_tmp18_, 1 - _tmp19_); +#line 404 "SquaresEffect.c" + } +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp20_ = visuals; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp21_ = spit_transitions_visuals_get_to_pixbuf (_tmp20_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp22_ = _tmp21_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (_tmp22_ != NULL) { +#line 414 "SquaresEffect.c" + cairo_t* _tmp23_ = NULL; + SpitTransitionsVisuals* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + SpitTransitionsVisuals* _tmp27_ = NULL; + GdkRectangle _tmp28_ = {0}; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + SpitTransitionsVisuals* _tmp31_ = NULL; + GdkRectangle _tmp32_ = {0}; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + cairo_t* _tmp65_ = NULL; + cairo_t* _tmp66_ = NULL; + gdouble _tmp67_ = 0.0; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp23_ = ctx; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp24_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp25_ = spit_transitions_visuals_get_to_pixbuf (_tmp24_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp26_ = _tmp25_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp27_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp27_, &_tmp28_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp29_ = _tmp28_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp30_ = _tmp29_.x; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp31_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp31_, &_tmp32_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp33_ = _tmp32_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp34_ = _tmp33_.y; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp23_, _tmp26_, (gdouble) _tmp30_, (gdouble) _tmp34_); +#line 456 "SquaresEffect.c" + { + gdouble y = 0.0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + y = (gdouble) 0; +#line 461 "SquaresEffect.c" + { + gboolean _tmp35_ = FALSE; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp35_ = TRUE; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + while (TRUE) { +#line 468 "SquaresEffect.c" + gdouble _tmp37_ = 0.0; + gdouble _tmp38_ = 0.0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (!_tmp35_) { +#line 473 "SquaresEffect.c" + gdouble _tmp36_ = 0.0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp36_ = y; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + y = _tmp36_ + 1; +#line 479 "SquaresEffect.c" + } +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp35_ = FALSE; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp37_ = y; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp38_ = self->priv->square_count_y; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (!(_tmp37_ <= _tmp38_)) { +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + break; +#line 491 "SquaresEffect.c" + } + { + gdouble x = 0.0; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + x = (gdouble) 0; +#line 497 "SquaresEffect.c" + { + gboolean _tmp39_ = FALSE; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp39_ = TRUE; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + while (TRUE) { +#line 504 "SquaresEffect.c" + gdouble _tmp41_ = 0.0; + gdouble _tmp42_ = 0.0; + gdouble size = 0.0; + gdouble _tmp43_ = 0.0; + gdouble _tmp44_ = 0.0; + gdouble _tmp45_ = 0.0; + gdouble _tmp46_ = 0.0; + gdouble _tmp47_ = 0.0; + gdouble _tmp48_ = 0.0; + gdouble _tmp49_ = 0.0; + gdouble _tmp50_ = 0.0; + cairo_t* _tmp51_ = NULL; + SpitTransitionsVisuals* _tmp52_ = NULL; + GdkRectangle _tmp53_ = {0}; + GdkRectangle _tmp54_ = {0}; + gint _tmp55_ = 0; + gdouble _tmp56_ = 0.0; + SpitTransitionsVisuals* _tmp57_ = NULL; + GdkRectangle _tmp58_ = {0}; + GdkRectangle _tmp59_ = {0}; + gint _tmp60_ = 0; + gdouble _tmp61_ = 0.0; + gdouble _tmp62_ = 0.0; + gdouble _tmp63_ = 0.0; + cairo_t* _tmp64_ = NULL; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (!_tmp39_) { +#line 532 "SquaresEffect.c" + gdouble _tmp40_ = 0.0; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp40_ = x; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + x = _tmp40_ + 1; +#line 538 "SquaresEffect.c" + } +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp39_ = FALSE; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp41_ = x; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp42_ = self->priv->square_count_x; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + if (!(_tmp41_ <= _tmp42_)) { +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + break; +#line 550 "SquaresEffect.c" + } +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp43_ = alpha; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp44_ = self->priv->square_count_x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp45_ = x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp46_ = self->priv->square_count_x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp47_ = self->priv->square_count_y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp48_ = y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp49_ = self->priv->square_count_y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp50_ = fmin ((gdouble) 1, _tmp43_ + ((((_tmp44_ - _tmp45_) / _tmp46_) + ((_tmp47_ - _tmp48_) / _tmp49_)) / 2.5)); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + size = SQUARES_EFFECT_SQUARE_SIZE * _tmp50_; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp51_ = ctx; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp52_ = visuals; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp52_, &_tmp53_); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp54_ = _tmp53_; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp55_ = _tmp54_.x; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp56_ = x; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp57_ = visuals; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp57_, &_tmp58_); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp59_ = _tmp58_; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp60_ = _tmp59_.y; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp61_ = y; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp62_ = size; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp63_ = size; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + cairo_rectangle (_tmp51_, _tmp55_ + (_tmp56_ * SQUARES_EFFECT_SQUARE_SIZE), _tmp60_ + (_tmp61_ * SQUARES_EFFECT_SQUARE_SIZE), _tmp62_, _tmp63_); +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp64_ = ctx; +#line 71 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + cairo_fill (_tmp64_); +#line 602 "SquaresEffect.c" + } + } + } + } + } + } +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp65_ = ctx; +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + cairo_clip (_tmp65_); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp66_ = ctx; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + _tmp67_ = alpha; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + cairo_paint_with_alpha (_tmp66_, _tmp67_); +#line 619 "SquaresEffect.c" + } +} + + +static void squares_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + SquaresEffect * self; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT, SquaresEffect); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 632 "SquaresEffect.c" +} + + +static void squares_effect_real_cancel (SpitTransitionsEffect* base) { + SquaresEffect * self; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SQUARES_EFFECT, SquaresEffect); +#line 640 "SquaresEffect.c" +} + + +static void squares_effect_class_init (SquaresEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + squares_effect_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + g_type_class_add_private (klass, sizeof (SquaresEffectPrivate)); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + G_OBJECT_CLASS (klass)->finalize = squares_effect_finalize; +#line 651 "SquaresEffect.c" +} + + +static void squares_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + squares_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) squares_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) squares_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) squares_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) squares_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) squares_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) squares_effect_real_cancel; +#line 670 "SquaresEffect.c" +} + + +static void squares_effect_instance_init (SquaresEffect * self) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self->priv = SQUARES_EFFECT_GET_PRIVATE (self); +#line 677 "SquaresEffect.c" +} + + +static void squares_effect_finalize (GObject* obj) { + SquaresEffect * self; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SQUARES_EFFECT, SquaresEffect); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/SquaresEffect.vala" + G_OBJECT_CLASS (squares_effect_parent_class)->finalize (obj); +#line 687 "SquaresEffect.c" +} + + +GType squares_effect_get_type (void) { + static volatile gsize squares_effect_type_id__volatile = 0; + if (g_once_init_enter (&squares_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SquaresEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) squares_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SquaresEffect), 0, (GInstanceInitFunc) squares_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) squares_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType squares_effect_type_id; + squares_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "SquaresEffect", &g_define_type_info, 0); + g_type_add_interface_static (squares_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&squares_effect_type_id__volatile, squares_effect_type_id); + } + return squares_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/StripesEffect.c b/plugins/shotwell-transitions/StripesEffect.c new file mode 100644 index 0000000..c6e802d --- /dev/null +++ b/plugins/shotwell-transitions/StripesEffect.c @@ -0,0 +1,713 @@ +/* StripesEffect.c generated by valac 0.32.1, the Vala compiler + * generated from StripesEffect.vala, do not modify */ + +/* Copyright 2013 Jens Bav + * 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_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; + +#define TYPE_STRIPES_EFFECT_DESCRIPTOR (stripes_effect_descriptor_get_type ()) +#define STRIPES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptor)) +#define STRIPES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptorClass)) +#define IS_STRIPES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STRIPES_EFFECT_DESCRIPTOR)) +#define IS_STRIPES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STRIPES_EFFECT_DESCRIPTOR)) +#define STRIPES_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptorClass)) + +typedef struct _StripesEffectDescriptor StripesEffectDescriptor; +typedef struct _StripesEffectDescriptorClass StripesEffectDescriptorClass; +typedef struct _StripesEffectDescriptorPrivate StripesEffectDescriptorPrivate; + +#define TYPE_STRIPES_EFFECT (stripes_effect_get_type ()) +#define STRIPES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STRIPES_EFFECT, StripesEffect)) +#define STRIPES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STRIPES_EFFECT, StripesEffectClass)) +#define IS_STRIPES_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STRIPES_EFFECT)) +#define IS_STRIPES_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STRIPES_EFFECT)) +#define STRIPES_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STRIPES_EFFECT, StripesEffectClass)) + +typedef struct _StripesEffect StripesEffect; +typedef struct _StripesEffectClass StripesEffectClass; +typedef struct _StripesEffectPrivate StripesEffectPrivate; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + +struct _StripesEffectDescriptor { + ShotwellTransitionDescriptor parent_instance; + StripesEffectDescriptorPrivate * priv; +}; + +struct _StripesEffectDescriptorClass { + ShotwellTransitionDescriptorClass parent_class; +}; + +struct _StripesEffect { + GObject parent_instance; + StripesEffectPrivate * priv; +}; + +struct _StripesEffectClass { + GObjectClass parent_class; +}; + +struct _StripesEffectPrivate { + gint stripe_count; +}; + + +static gpointer stripes_effect_descriptor_parent_class = NULL; +static gpointer stripes_effect_parent_class = NULL; +static SpitTransitionsEffectIface* stripes_effect_spit_transitions_effect_parent_iface = NULL; + +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType stripes_effect_descriptor_get_type (void) G_GNUC_CONST; +enum { + STRIPES_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +StripesEffectDescriptor* stripes_effect_descriptor_new (GFile* resource_directory); +StripesEffectDescriptor* stripes_effect_descriptor_construct (GType object_type, GFile* resource_directory); +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static const gchar* stripes_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base); +static const gchar* stripes_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base); +static SpitTransitionsEffect* stripes_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host); +StripesEffect* stripes_effect_new (void); +StripesEffect* stripes_effect_construct (GType object_type); +GType stripes_effect_get_type (void) G_GNUC_CONST; +#define STRIPES_EFFECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_STRIPES_EFFECT, StripesEffectPrivate)) +enum { + STRIPES_EFFECT_DUMMY_PROPERTY +}; +#define STRIPES_EFFECT_DESIRED_FPS 25 +#define STRIPES_EFFECT_MIN_FPS 10 +#define STRIPES_EFFECT_STRIPE_HEIGHT 100 +static void stripes_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void stripes_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean stripes_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void stripes_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void stripes_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void stripes_effect_real_cancel (SpitTransitionsEffect* base); +static void stripes_effect_finalize (GObject* obj); + + +StripesEffectDescriptor* stripes_effect_descriptor_construct (GType object_type, GFile* resource_directory) { + StripesEffectDescriptor * self = NULL; + GFile* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp0_ = resource_directory; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = (StripesEffectDescriptor*) shotwell_transition_descriptor_construct (object_type, _tmp0_); +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return self; +#line 138 "StripesEffect.c" +} + + +StripesEffectDescriptor* stripes_effect_descriptor_new (GFile* resource_directory) { +#line 11 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return stripes_effect_descriptor_construct (TYPE_STRIPES_EFFECT_DESCRIPTOR, resource_directory); +#line 145 "StripesEffect.c" +} + + +static const gchar* stripes_effect_descriptor_real_get_id (ShotwellTransitionDescriptor* base) { + StripesEffectDescriptor * self; + const gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptor); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + result = "org.yorba.shotwell.transitions.stripes"; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return result; +#line 158 "StripesEffect.c" +} + + +static const gchar* stripes_effect_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* base) { + StripesEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptor); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp0_ = _ ("Stripes"); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return result; +#line 174 "StripesEffect.c" +} + + +static SpitTransitionsEffect* stripes_effect_descriptor_real_create (ShotwellTransitionDescriptor* base, SpitHostInterface* host) { + StripesEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + StripesEffect* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptor); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp0_ = stripes_effect_new (); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return result; +#line 192 "StripesEffect.c" +} + + +static void stripes_effect_descriptor_class_init (StripesEffectDescriptorClass * klass) { +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + stripes_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = stripes_effect_descriptor_real_get_id; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = stripes_effect_descriptor_real_get_pluggable_name; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = stripes_effect_descriptor_real_create; +#line 205 "StripesEffect.c" +} + + +static void stripes_effect_descriptor_instance_init (StripesEffectDescriptor * self) { +} + + +GType stripes_effect_descriptor_get_type (void) { + static volatile gsize stripes_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&stripes_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (StripesEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) stripes_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StripesEffectDescriptor), 0, (GInstanceInitFunc) stripes_effect_descriptor_instance_init, NULL }; + GType stripes_effect_descriptor_type_id; + stripes_effect_descriptor_type_id = g_type_register_static (TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, "StripesEffectDescriptor", &g_define_type_info, 0); + g_once_init_leave (&stripes_effect_descriptor_type_id__volatile, stripes_effect_descriptor_type_id); + } + return stripes_effect_descriptor_type_id__volatile; +} + + +StripesEffect* stripes_effect_construct (GType object_type) { + StripesEffect * self = NULL; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = (StripesEffect*) g_object_new (object_type, NULL); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return self; +#line 231 "StripesEffect.c" +} + + +StripesEffect* stripes_effect_new (void) { +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return stripes_effect_construct (TYPE_STRIPES_EFFECT); +#line 238 "StripesEffect.c" +} + + +static void stripes_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + StripesEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT, StripesEffect); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _vala_desired_fps = STRIPES_EFFECT_DESIRED_FPS; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _vala_min_fps = STRIPES_EFFECT_MIN_FPS; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + if (desired_fps) { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + *desired_fps = _vala_desired_fps; +#line 256 "StripesEffect.c" + } +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + if (min_fps) { +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + *min_fps = _vala_min_fps; +#line 262 "StripesEffect.c" + } +} + + +static void stripes_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + StripesEffect * self; + SpitTransitionsVisuals* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT, StripesEffect); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp0_ = visuals; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp0_, &_tmp1_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp2_ = _tmp1_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp3_ = _tmp2_.height; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self->priv->stripe_count = (_tmp3_ / STRIPES_EFFECT_STRIPE_HEIGHT) + 1; +#line 289 "StripesEffect.c" +} + + +static gboolean stripes_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + StripesEffect * self; + gboolean result = FALSE; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT, StripesEffect); +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + result = TRUE; +#line 47 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + return result; +#line 302 "StripesEffect.c" +} + + +static void stripes_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + StripesEffect * self; + gdouble alpha = 0.0; + SpitTransitionsMotion* _tmp0_ = NULL; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + SpitTransitionsVisuals* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + SpitTransitionsVisuals* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + GdkPixbuf* _tmp23_ = NULL; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT, StripesEffect); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_if_fail (ctx != NULL); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp0_ = motion; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp1_ = frame_number; +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp2_ = spit_transitions_motion_get_alpha (_tmp0_, _tmp1_); +#line 52 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + alpha = _tmp2_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp3_ = visuals; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp4_ = spit_transitions_visuals_get_from_pixbuf (_tmp3_); +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp5_ = _tmp4_; +#line 53 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + if (_tmp5_ != NULL) { +#line 342 "StripesEffect.c" + cairo_t* _tmp6_ = NULL; + SpitTransitionsVisuals* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + SpitTransitionsVisuals* _tmp10_ = NULL; + GdkRectangle _tmp11_ = {0}; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + SpitTransitionsVisuals* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; + cairo_t* _tmp18_ = NULL; + gdouble _tmp19_ = 0.0; + gdouble _tmp20_ = 0.0; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp6_ = ctx; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp7_ = visuals; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp8_ = spit_transitions_visuals_get_from_pixbuf (_tmp7_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp9_ = _tmp8_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp10_ = visuals; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp10_, &_tmp11_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp12_ = _tmp11_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp13_ = _tmp12_.x; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp14_ = visuals; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_from_pos (_tmp14_, &_tmp15_); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp16_ = _tmp15_; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp17_ = _tmp16_.y; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp6_, _tmp9_, (gdouble) _tmp13_, (gdouble) _tmp17_); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp18_ = ctx; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp19_ = alpha; +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp20_ = fmin ((gdouble) 1, _tmp19_ * 2); +#line 56 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + cairo_paint_with_alpha (_tmp18_, 1 - _tmp20_); +#line 392 "StripesEffect.c" + } +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp21_ = visuals; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp22_ = spit_transitions_visuals_get_to_pixbuf (_tmp21_); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp23_ = _tmp22_; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + if (_tmp23_ != NULL) { +#line 402 "StripesEffect.c" + cairo_t* _tmp24_ = NULL; + SpitTransitionsVisuals* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; + SpitTransitionsVisuals* _tmp28_ = NULL; + GdkRectangle _tmp29_ = {0}; + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; + SpitTransitionsVisuals* _tmp32_ = NULL; + GdkRectangle _tmp33_ = {0}; + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + gint x = 0; + SpitTransitionsVisuals* _tmp36_ = NULL; + GdkRectangle _tmp37_ = {0}; + GdkRectangle _tmp38_ = {0}; + gint _tmp39_ = 0; + gint y = 0; + SpitTransitionsVisuals* _tmp40_ = NULL; + GdkRectangle _tmp41_ = {0}; + GdkRectangle _tmp42_ = {0}; + gint _tmp43_ = 0; + cairo_t* _tmp79_ = NULL; + cairo_t* _tmp80_ = NULL; + gdouble _tmp81_ = 0.0; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp24_ = ctx; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp25_ = visuals; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp26_ = spit_transitions_visuals_get_to_pixbuf (_tmp25_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp27_ = _tmp26_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp28_ = visuals; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp28_, &_tmp29_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp30_ = _tmp29_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp31_ = _tmp30_.x; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp32_ = visuals; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp32_, &_tmp33_); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp34_ = _tmp33_; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp35_ = _tmp34_.y; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + gdk_cairo_set_source_pixbuf (_tmp24_, _tmp27_, (gdouble) _tmp31_, (gdouble) _tmp35_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp36_ = visuals; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp36_, &_tmp37_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp38_ = _tmp37_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp39_ = _tmp38_.x; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + x = _tmp39_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp40_ = visuals; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp40_, &_tmp41_); +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp42_ = _tmp41_; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp43_ = _tmp42_.y; +#line 62 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + y = _tmp43_; +#line 474 "StripesEffect.c" + { + gint i = 0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + i = 0; +#line 479 "StripesEffect.c" + { + gboolean _tmp44_ = FALSE; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp44_ = TRUE; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + while (TRUE) { +#line 486 "StripesEffect.c" + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + SpitTransitionsMotion* _tmp49_ = NULL; + SpitTransitionsDirection _tmp50_ = 0; + SpitTransitionsDirection _tmp51_ = 0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + if (!_tmp44_) { +#line 495 "StripesEffect.c" + gint _tmp45_ = 0; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp45_ = i; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + i = _tmp45_ + 1; +#line 501 "StripesEffect.c" + } +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp44_ = FALSE; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp46_ = i; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp47_ = self->priv->stripe_count; +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + if (!(_tmp46_ <= _tmp47_)) { +#line 63 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + break; +#line 513 "StripesEffect.c" + } +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp48_ = i; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp49_ = motion; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp50_ = spit_transitions_motion_get_direction (_tmp49_); +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp51_ = _tmp50_; +#line 64 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + if ((_tmp48_ % 2) == ((gint) _tmp51_)) { +#line 525 "StripesEffect.c" + cairo_t* _tmp52_ = NULL; + gint _tmp53_ = 0; + SpitTransitionsVisuals* _tmp54_ = NULL; + GdkRectangle _tmp55_ = {0}; + GdkRectangle _tmp56_ = {0}; + gint _tmp57_ = 0; + gdouble _tmp58_ = 0.0; + SpitTransitionsVisuals* _tmp59_ = NULL; + GdkRectangle _tmp60_ = {0}; + GdkRectangle _tmp61_ = {0}; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + gint _tmp64_ = 0; + gint _tmp65_ = 0; + SpitTransitionsVisuals* _tmp66_ = NULL; + GdkRectangle _tmp67_ = {0}; + GdkRectangle _tmp68_ = {0}; + gint _tmp69_ = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp52_ = ctx; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp53_ = x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp54_ = visuals; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp54_, &_tmp55_); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp56_ = _tmp55_; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp57_ = _tmp56_.width; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp58_ = alpha; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp59_ = visuals; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp59_, &_tmp60_); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp61_ = _tmp60_; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp62_ = _tmp61_.width; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp63_ = y; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp64_ = i; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp65_ = x; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp66_ = visuals; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp66_, &_tmp67_); +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp68_ = _tmp67_; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp69_ = _tmp68_.width; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + cairo_rectangle (_tmp52_, (_tmp53_ + _tmp57_) - (_tmp58_ * _tmp62_), (gdouble) (_tmp63_ + (_tmp64_ * STRIPES_EFFECT_STRIPE_HEIGHT)), (gdouble) (_tmp65_ + _tmp69_), (gdouble) STRIPES_EFFECT_STRIPE_HEIGHT); +#line 582 "StripesEffect.c" + } else { + cairo_t* _tmp70_ = NULL; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint _tmp73_ = 0; + SpitTransitionsVisuals* _tmp74_ = NULL; + GdkRectangle _tmp75_ = {0}; + GdkRectangle _tmp76_ = {0}; + gint _tmp77_ = 0; + gdouble _tmp78_ = 0.0; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp70_ = ctx; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp71_ = x; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp72_ = y; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp73_ = i; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp74_ = visuals; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + spit_transitions_visuals_get_to_pos (_tmp74_, &_tmp75_); +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp76_ = _tmp75_; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp77_ = _tmp76_.width; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp78_ = alpha; +#line 68 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + cairo_rectangle (_tmp70_, (gdouble) _tmp71_, (gdouble) (_tmp72_ + (STRIPES_EFFECT_STRIPE_HEIGHT * _tmp73_)), _tmp77_ * _tmp78_, (gdouble) STRIPES_EFFECT_STRIPE_HEIGHT); +#line 613 "StripesEffect.c" + } + } + } + } +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp79_ = ctx; +#line 73 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + cairo_clip (_tmp79_); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp80_ = ctx; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + _tmp81_ = alpha; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + cairo_paint_with_alpha (_tmp80_, _tmp81_); +#line 628 "StripesEffect.c" + } +} + + +static void stripes_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + StripesEffect * self; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT, StripesEffect); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 641 "StripesEffect.c" +} + + +static void stripes_effect_real_cancel (SpitTransitionsEffect* base) { + StripesEffect * self; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_STRIPES_EFFECT, StripesEffect); +#line 649 "StripesEffect.c" +} + + +static void stripes_effect_class_init (StripesEffectClass * klass) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + stripes_effect_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + g_type_class_add_private (klass, sizeof (StripesEffectPrivate)); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + G_OBJECT_CLASS (klass)->finalize = stripes_effect_finalize; +#line 660 "StripesEffect.c" +} + + +static void stripes_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + stripes_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) stripes_effect_real_get_fps; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) stripes_effect_real_start; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) stripes_effect_real_needs_clear_background; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) stripes_effect_real_paint; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) stripes_effect_real_advance; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) stripes_effect_real_cancel; +#line 679 "StripesEffect.c" +} + + +static void stripes_effect_instance_init (StripesEffect * self) { +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self->priv = STRIPES_EFFECT_GET_PRIVATE (self); +#line 686 "StripesEffect.c" +} + + +static void stripes_effect_finalize (GObject* obj) { + StripesEffect * self; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_STRIPES_EFFECT, StripesEffect); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/StripesEffect.vala" + G_OBJECT_CLASS (stripes_effect_parent_class)->finalize (obj); +#line 696 "StripesEffect.c" +} + + +GType stripes_effect_get_type (void) { + static volatile gsize stripes_effect_type_id__volatile = 0; + if (g_once_init_enter (&stripes_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (StripesEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) stripes_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StripesEffect), 0, (GInstanceInitFunc) stripes_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) stripes_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType stripes_effect_type_id; + stripes_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "StripesEffect", &g_define_type_info, 0); + g_type_add_interface_static (stripes_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&stripes_effect_type_id__volatile, stripes_effect_type_id); + } + return stripes_effect_type_id__volatile; +} + + + diff --git a/plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml b/plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml new file mode 100644 index 0000000..7545683 --- /dev/null +++ b/plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml @@ -0,0 +1,6 @@ + + + + slideshow-plugin.png + + diff --git a/plugins/shotwell-transitions/shotwell-transitions.c b/plugins/shotwell-transitions/shotwell-transitions.c new file mode 100644 index 0000000..7e6d981 --- /dev/null +++ b/plugins/shotwell-transitions/shotwell-transitions.c @@ -0,0 +1,1086 @@ +/* shotwell-transitions.c generated by valac 0.32.1, the Vala compiler + * generated from shotwell-transitions.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 "shotwell-plugin-common.h" + + +#define TYPE_SHOTWELL_TRANSITIONS (shotwell_transitions_get_type ()) +#define SHOTWELL_TRANSITIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitions)) +#define SHOTWELL_TRANSITIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitionsClass)) +#define IS_SHOTWELL_TRANSITIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITIONS)) +#define IS_SHOTWELL_TRANSITIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITIONS)) +#define SHOTWELL_TRANSITIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitionsClass)) + +typedef struct _ShotwellTransitions ShotwellTransitions; +typedef struct _ShotwellTransitionsClass ShotwellTransitionsClass; +typedef struct _ShotwellTransitionsPrivate ShotwellTransitionsPrivate; + +#define TYPE_SHOTWELL_TRANSITION_DESCRIPTOR (shotwell_transition_descriptor_get_type ()) +#define SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define IS_SHOTWELL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR)) +#define SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptorClass)) + +typedef struct _ShotwellTransitionDescriptor ShotwellTransitionDescriptor; +typedef struct _ShotwellTransitionDescriptorClass ShotwellTransitionDescriptorClass; + +#define TYPE_FADE_EFFECT_DESCRIPTOR (fade_effect_descriptor_get_type ()) +#define FADE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptor)) +#define FADE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptorClass)) +#define IS_FADE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FADE_EFFECT_DESCRIPTOR)) +#define IS_FADE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FADE_EFFECT_DESCRIPTOR)) +#define FADE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FADE_EFFECT_DESCRIPTOR, FadeEffectDescriptorClass)) + +typedef struct _FadeEffectDescriptor FadeEffectDescriptor; +typedef struct _FadeEffectDescriptorClass FadeEffectDescriptorClass; + +#define TYPE_SLIDE_EFFECT_DESCRIPTOR (slide_effect_descriptor_get_type ()) +#define SLIDE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptor)) +#define SLIDE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptorClass)) +#define IS_SLIDE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDE_EFFECT_DESCRIPTOR)) +#define IS_SLIDE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDE_EFFECT_DESCRIPTOR)) +#define SLIDE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDE_EFFECT_DESCRIPTOR, SlideEffectDescriptorClass)) + +typedef struct _SlideEffectDescriptor SlideEffectDescriptor; +typedef struct _SlideEffectDescriptorClass SlideEffectDescriptorClass; + +#define TYPE_CRUMBLE_EFFECT_DESCRIPTOR (crumble_effect_descriptor_get_type ()) +#define CRUMBLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptor)) +#define CRUMBLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptorClass)) +#define IS_CRUMBLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CRUMBLE_EFFECT_DESCRIPTOR)) +#define IS_CRUMBLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CRUMBLE_EFFECT_DESCRIPTOR)) +#define CRUMBLE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CRUMBLE_EFFECT_DESCRIPTOR, CrumbleEffectDescriptorClass)) + +typedef struct _CrumbleEffectDescriptor CrumbleEffectDescriptor; +typedef struct _CrumbleEffectDescriptorClass CrumbleEffectDescriptorClass; + +#define TYPE_BLINDS_EFFECT_DESCRIPTOR (blinds_effect_descriptor_get_type ()) +#define BLINDS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptor)) +#define BLINDS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptorClass)) +#define IS_BLINDS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BLINDS_EFFECT_DESCRIPTOR)) +#define IS_BLINDS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BLINDS_EFFECT_DESCRIPTOR)) +#define BLINDS_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BLINDS_EFFECT_DESCRIPTOR, BlindsEffectDescriptorClass)) + +typedef struct _BlindsEffectDescriptor BlindsEffectDescriptor; +typedef struct _BlindsEffectDescriptorClass BlindsEffectDescriptorClass; + +#define TYPE_CIRCLE_EFFECT_DESCRIPTOR (circle_effect_descriptor_get_type ()) +#define CIRCLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptor)) +#define CIRCLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptorClass)) +#define IS_CIRCLE_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR)) +#define IS_CIRCLE_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLE_EFFECT_DESCRIPTOR)) +#define CIRCLE_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLE_EFFECT_DESCRIPTOR, CircleEffectDescriptorClass)) + +typedef struct _CircleEffectDescriptor CircleEffectDescriptor; +typedef struct _CircleEffectDescriptorClass CircleEffectDescriptorClass; + +#define TYPE_CIRCLES_EFFECT_DESCRIPTOR (circles_effect_descriptor_get_type ()) +#define CIRCLES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptor)) +#define CIRCLES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptorClass)) +#define IS_CIRCLES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR)) +#define IS_CIRCLES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CIRCLES_EFFECT_DESCRIPTOR)) +#define CIRCLES_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CIRCLES_EFFECT_DESCRIPTOR, CirclesEffectDescriptorClass)) + +typedef struct _CirclesEffectDescriptor CirclesEffectDescriptor; +typedef struct _CirclesEffectDescriptorClass CirclesEffectDescriptorClass; + +#define TYPE_CLOCK_EFFECT_DESCRIPTOR (clock_effect_descriptor_get_type ()) +#define CLOCK_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptor)) +#define CLOCK_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptorClass)) +#define IS_CLOCK_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CLOCK_EFFECT_DESCRIPTOR)) +#define IS_CLOCK_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CLOCK_EFFECT_DESCRIPTOR)) +#define CLOCK_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CLOCK_EFFECT_DESCRIPTOR, ClockEffectDescriptorClass)) + +typedef struct _ClockEffectDescriptor ClockEffectDescriptor; +typedef struct _ClockEffectDescriptorClass ClockEffectDescriptorClass; + +#define TYPE_SQUARES_EFFECT_DESCRIPTOR (squares_effect_descriptor_get_type ()) +#define SQUARES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptor)) +#define SQUARES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptorClass)) +#define IS_SQUARES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SQUARES_EFFECT_DESCRIPTOR)) +#define IS_SQUARES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SQUARES_EFFECT_DESCRIPTOR)) +#define SQUARES_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SQUARES_EFFECT_DESCRIPTOR, SquaresEffectDescriptorClass)) + +typedef struct _SquaresEffectDescriptor SquaresEffectDescriptor; +typedef struct _SquaresEffectDescriptorClass SquaresEffectDescriptorClass; + +#define TYPE_CHESS_EFFECT_DESCRIPTOR (chess_effect_descriptor_get_type ()) +#define CHESS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptor)) +#define CHESS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptorClass)) +#define IS_CHESS_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHESS_EFFECT_DESCRIPTOR)) +#define IS_CHESS_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHESS_EFFECT_DESCRIPTOR)) +#define CHESS_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHESS_EFFECT_DESCRIPTOR, ChessEffectDescriptorClass)) + +typedef struct _ChessEffectDescriptor ChessEffectDescriptor; +typedef struct _ChessEffectDescriptorClass ChessEffectDescriptorClass; + +#define TYPE_STRIPES_EFFECT_DESCRIPTOR (stripes_effect_descriptor_get_type ()) +#define STRIPES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptor)) +#define STRIPES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptorClass)) +#define IS_STRIPES_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STRIPES_EFFECT_DESCRIPTOR)) +#define IS_STRIPES_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STRIPES_EFFECT_DESCRIPTOR)) +#define STRIPES_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STRIPES_EFFECT_DESCRIPTOR, StripesEffectDescriptorClass)) + +typedef struct _StripesEffectDescriptor StripesEffectDescriptor; +typedef struct _StripesEffectDescriptorClass StripesEffectDescriptorClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ShotwellTransitionDescriptorPrivate ShotwellTransitionDescriptorPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +struct _ShotwellTransitions { + GObject parent_instance; + ShotwellTransitionsPrivate * priv; +}; + +struct _ShotwellTransitionsClass { + GObjectClass parent_class; +}; + +struct _ShotwellTransitionsPrivate { + SpitPluggable** pluggables; + gint pluggables_length1; + gint _pluggables_size_; +}; + +struct _ShotwellTransitionDescriptor { + GObject parent_instance; + ShotwellTransitionDescriptorPrivate * priv; +}; + +struct _ShotwellTransitionDescriptorClass { + GObjectClass parent_class; + const gchar* (*get_id) (ShotwellTransitionDescriptor* self); + const gchar* (*get_pluggable_name) (ShotwellTransitionDescriptor* self); + SpitTransitionsEffect* (*create) (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +}; + + +static gpointer shotwell_transitions_parent_class = NULL; +static SpitModuleIface* shotwell_transitions_spit_module_parent_iface = NULL; +static gpointer shotwell_transition_descriptor_parent_class = NULL; +static GdkPixbuf** shotwell_transition_descriptor_icon_pixbuf_set; +static gint shotwell_transition_descriptor_icon_pixbuf_set_length1; +static GdkPixbuf** shotwell_transition_descriptor_icon_pixbuf_set = NULL; +static gint shotwell_transition_descriptor_icon_pixbuf_set_length1 = 0; +static gint _shotwell_transition_descriptor_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* shotwell_transition_descriptor_spit_pluggable_parent_iface = NULL; +static SpitTransitionsDescriptorIface* shotwell_transition_descriptor_spit_transitions_descriptor_parent_iface = NULL; + +GType shotwell_transitions_get_type (void) G_GNUC_CONST; +#define SHOTWELL_TRANSITIONS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitionsPrivate)) +enum { + SHOTWELL_TRANSITIONS_DUMMY_PROPERTY +}; +ShotwellTransitions* shotwell_transitions_new (GFile* module_file); +ShotwellTransitions* shotwell_transitions_construct (GType object_type, GFile* module_file); +FadeEffectDescriptor* fade_effect_descriptor_new (GFile* resource_directory); +FadeEffectDescriptor* fade_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType shotwell_transition_descriptor_get_type (void) G_GNUC_CONST; +GType fade_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add1 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +SlideEffectDescriptor* slide_effect_descriptor_new (GFile* resource_directory); +SlideEffectDescriptor* slide_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType slide_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add2 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +CrumbleEffectDescriptor* crumble_effect_descriptor_new (GFile* resource_directory); +CrumbleEffectDescriptor* crumble_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType crumble_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add3 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +BlindsEffectDescriptor* blinds_effect_descriptor_new (GFile* resource_directory); +BlindsEffectDescriptor* blinds_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType blinds_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add4 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +CircleEffectDescriptor* circle_effect_descriptor_new (GFile* resource_directory); +CircleEffectDescriptor* circle_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType circle_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add5 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +CirclesEffectDescriptor* circles_effect_descriptor_new (GFile* resource_directory); +CirclesEffectDescriptor* circles_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType circles_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add6 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +ClockEffectDescriptor* clock_effect_descriptor_new (GFile* resource_directory); +ClockEffectDescriptor* clock_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType clock_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add7 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +SquaresEffectDescriptor* squares_effect_descriptor_new (GFile* resource_directory); +SquaresEffectDescriptor* squares_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType squares_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add8 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +ChessEffectDescriptor* chess_effect_descriptor_new (GFile* resource_directory); +ChessEffectDescriptor* chess_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType chess_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add9 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +StripesEffectDescriptor* stripes_effect_descriptor_new (GFile* resource_directory); +StripesEffectDescriptor* stripes_effect_descriptor_construct (GType object_type, GFile* resource_directory); +GType stripes_effect_descriptor_get_type (void) G_GNUC_CONST; +static void _vala_array_add10 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value); +static const gchar* shotwell_transitions_real_get_module_name (SpitModule* base); +static const gchar* shotwell_transitions_real_get_version (SpitModule* base); +static const gchar* shotwell_transitions_real_get_id (SpitModule* base); +static SpitPluggable** shotwell_transitions_real_get_pluggables (SpitModule* base, int* result_length1); +static void shotwell_transitions_finalize (GObject* obj); +SpitModule* spit_entry_point (SpitEntryPointParams* params); +enum { + SHOTWELL_TRANSITION_DESCRIPTOR_DUMMY_PROPERTY +}; +#define SHOTWELL_TRANSITION_DESCRIPTOR_ICON_FILENAME "slideshow-plugin.png" +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory); +static gint shotwell_transition_descriptor_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +const gchar* shotwell_transition_descriptor_get_id (ShotwellTransitionDescriptor* self); +static const gchar* shotwell_transition_descriptor_real_get_id (ShotwellTransitionDescriptor* self); +const gchar* shotwell_transition_descriptor_get_pluggable_name (ShotwellTransitionDescriptor* self); +static const gchar* shotwell_transition_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* self); +static void shotwell_transition_descriptor_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length); +static void shotwell_transition_descriptor_real_activation (SpitPluggable* base, gboolean enabled); +SpitTransitionsEffect* shotwell_transition_descriptor_create (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +static SpitTransitionsEffect* shotwell_transition_descriptor_real_create (ShotwellTransitionDescriptor* self, SpitHostInterface* host); +static void shotwell_transition_descriptor_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 _vala_array_add1 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 266 "shotwell-transitions.c" + } +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 272 "shotwell-transitions.c" +} + + +static void _vala_array_add2 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 283 "shotwell-transitions.c" + } +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 289 "shotwell-transitions.c" +} + + +static void _vala_array_add3 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 300 "shotwell-transitions.c" + } +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 306 "shotwell-transitions.c" +} + + +static void _vala_array_add4 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 317 "shotwell-transitions.c" + } +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 323 "shotwell-transitions.c" +} + + +static void _vala_array_add5 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 334 "shotwell-transitions.c" + } +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 340 "shotwell-transitions.c" +} + + +static void _vala_array_add6 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 351 "shotwell-transitions.c" + } +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 357 "shotwell-transitions.c" +} + + +static void _vala_array_add7 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 368 "shotwell-transitions.c" + } +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 374 "shotwell-transitions.c" +} + + +static void _vala_array_add8 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 385 "shotwell-transitions.c" + } +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 391 "shotwell-transitions.c" +} + + +static void _vala_array_add9 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 402 "shotwell-transitions.c" + } +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 408 "shotwell-transitions.c" +} + + +static void _vala_array_add10 (SpitPluggable*** array, int* length, int* size, SpitPluggable* value) { +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if ((*length) == (*size)) { +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *array = g_renew (SpitPluggable*, *array, (*size) + 1); +#line 419 "shotwell-transitions.c" + } +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[(*length)++] = value; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*array)[*length] = NULL; +#line 425 "shotwell-transitions.c" +} + + +ShotwellTransitions* shotwell_transitions_construct (GType object_type, GFile* module_file) { + ShotwellTransitions * self = NULL; + GFile* resource_directory = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + SpitPluggable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + FadeEffectDescriptor* _tmp3_ = NULL; + SpitPluggable** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + SlideEffectDescriptor* _tmp5_ = NULL; + SpitPluggable** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + CrumbleEffectDescriptor* _tmp7_ = NULL; + SpitPluggable** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + BlindsEffectDescriptor* _tmp9_ = NULL; + SpitPluggable** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + CircleEffectDescriptor* _tmp11_ = NULL; + SpitPluggable** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + CirclesEffectDescriptor* _tmp13_ = NULL; + SpitPluggable** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + ClockEffectDescriptor* _tmp15_ = NULL; + SpitPluggable** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + SquaresEffectDescriptor* _tmp17_ = NULL; + SpitPluggable** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + ChessEffectDescriptor* _tmp19_ = NULL; + SpitPluggable** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + StripesEffectDescriptor* _tmp21_ = NULL; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_return_val_if_fail (G_IS_FILE (module_file), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = (ShotwellTransitions*) g_object_new (object_type, NULL); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = module_file; +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp1_ = g_file_get_parent (_tmp0_); +#line 13 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + resource_directory = _tmp1_; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp2_ = self->priv->pluggables; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp2__length1 = self->priv->pluggables_length1; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp3_ = fade_effect_descriptor_new (resource_directory); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add1 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp4_ = self->priv->pluggables; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp4__length1 = self->priv->pluggables_length1; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp5_ = slide_effect_descriptor_new (resource_directory); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add2 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp6_ = self->priv->pluggables; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp6__length1 = self->priv->pluggables_length1; +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp7_ = crumble_effect_descriptor_new (resource_directory); +#line 17 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add3 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp8_ = self->priv->pluggables; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp8__length1 = self->priv->pluggables_length1; +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp9_ = blinds_effect_descriptor_new (resource_directory); +#line 18 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add4 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp10_ = self->priv->pluggables; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp10__length1 = self->priv->pluggables_length1; +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp11_ = circle_effect_descriptor_new (resource_directory); +#line 19 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add5 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp12_ = self->priv->pluggables; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp12__length1 = self->priv->pluggables_length1; +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp13_ = circles_effect_descriptor_new (resource_directory); +#line 20 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add6 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp14_ = self->priv->pluggables; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp14__length1 = self->priv->pluggables_length1; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp15_ = clock_effect_descriptor_new (resource_directory); +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add7 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp16_ = self->priv->pluggables; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp16__length1 = self->priv->pluggables_length1; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp17_ = squares_effect_descriptor_new (resource_directory); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add8 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp18_ = self->priv->pluggables; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp18__length1 = self->priv->pluggables_length1; +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp19_ = chess_effect_descriptor_new (resource_directory); +#line 23 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add9 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp20_ = self->priv->pluggables; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp20__length1 = self->priv->pluggables_length1; +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp21_ = stripes_effect_descriptor_new (resource_directory); +#line 24 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _vala_array_add10 (&self->priv->pluggables, &self->priv->pluggables_length1, &self->priv->_pluggables_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_object_unref0 (resource_directory); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return self; +#line 558 "shotwell-transitions.c" +} + + +ShotwellTransitions* shotwell_transitions_new (GFile* module_file) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return shotwell_transitions_construct (TYPE_SHOTWELL_TRANSITIONS, module_file); +#line 565 "shotwell-transitions.c" +} + + +static const gchar* shotwell_transitions_real_get_module_name (SpitModule* base) { + ShotwellTransitions * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitions); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = _ ("Core Slideshow Transitions"); +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result = _tmp0_; +#line 28 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return result; +#line 581 "shotwell-transitions.c" +} + + +static const gchar* shotwell_transitions_real_get_version (SpitModule* base) { + ShotwellTransitions * self; + const gchar* result = NULL; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitions); +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result = _VERSION; +#line 32 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return result; +#line 594 "shotwell-transitions.c" +} + + +static const gchar* shotwell_transitions_real_get_id (SpitModule* base) { + ShotwellTransitions * self; + const gchar* result = NULL; +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitions); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result = "org.yorba.shotwell.transitions"; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return result; +#line 607 "shotwell-transitions.c" +} + + +static SpitPluggable** shotwell_transitions_real_get_pluggables (SpitModule* base, int* result_length1) { + ShotwellTransitions * self; + SpitPluggable** result = NULL; + SpitPluggable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPluggable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitions); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = self->priv->pluggables; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0__length1 = self->priv->pluggables_length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp1_ = _tmp0_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp1__length1 = _tmp0__length1; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if (result_length1) { +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + *result_length1 = _tmp1__length1; +#line 632 "shotwell-transitions.c" + } +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result = _tmp1_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return result; +#line 638 "shotwell-transitions.c" +} + + +static void shotwell_transitions_class_init (ShotwellTransitionsClass * klass) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transitions_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_type_class_add_private (klass, sizeof (ShotwellTransitionsPrivate)); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + G_OBJECT_CLASS (klass)->finalize = shotwell_transitions_finalize; +#line 649 "shotwell-transitions.c" +} + + +static void shotwell_transitions_spit_module_interface_init (SpitModuleIface * iface) { +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transitions_spit_module_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_module_name = (const gchar* (*)(SpitModule*)) shotwell_transitions_real_get_module_name; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_version = (const gchar* (*)(SpitModule*)) shotwell_transitions_real_get_version; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_id = (const gchar* (*)(SpitModule*)) shotwell_transitions_real_get_id; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_pluggables = (SpitPluggable** (*)(SpitModule*, int*)) shotwell_transitions_real_get_pluggables; +#line 664 "shotwell-transitions.c" +} + + +static void shotwell_transitions_instance_init (ShotwellTransitions * self) { + SpitPluggable** _tmp0_ = NULL; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self->priv = SHOTWELL_TRANSITIONS_GET_PRIVATE (self); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = g_new0 (SpitPluggable*, 0 + 1); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self->priv->pluggables = _tmp0_; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self->priv->pluggables_length1 = 0; +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self->priv->_pluggables_size_ = self->priv->pluggables_length1; +#line 680 "shotwell-transitions.c" +} + + +static void shotwell_transitions_finalize (GObject* obj) { + ShotwellTransitions * self; +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_TRANSITIONS, ShotwellTransitions); +#line 10 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self->priv->pluggables = (_vala_array_free (self->priv->pluggables, self->priv->pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 9 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + G_OBJECT_CLASS (shotwell_transitions_parent_class)->finalize (obj); +#line 692 "shotwell-transitions.c" +} + + +GType shotwell_transitions_get_type (void) { + static volatile gsize shotwell_transitions_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_transitions_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShotwellTransitionsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_transitions_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellTransitions), 0, (GInstanceInitFunc) shotwell_transitions_instance_init, NULL }; + static const GInterfaceInfo spit_module_info = { (GInterfaceInitFunc) shotwell_transitions_spit_module_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType shotwell_transitions_type_id; + shotwell_transitions_type_id = g_type_register_static (G_TYPE_OBJECT, "ShotwellTransitions", &g_define_type_info, 0); + g_type_add_interface_static (shotwell_transitions_type_id, SPIT_TYPE_MODULE, &spit_module_info); + g_once_init_leave (&shotwell_transitions_type_id__volatile, shotwell_transitions_type_id); + } + return shotwell_transitions_type_id__volatile; +} + + +SpitModule* spit_entry_point (SpitEntryPointParams* params) { + SpitModule* result = NULL; + SpitEntryPointParams* _tmp0_ = NULL; + gint _tmp1_ = 0; + SpitEntryPointParams* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + ShotwellTransitions* _tmp5_ = NULL; + SpitEntryPointParams* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = params; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp1_ = (*_tmp0_).host_min_spit_interface; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp2_ = params; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp3_ = (*_tmp2_).host_max_spit_interface; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp4_ = spit_negotiate_interfaces (_tmp1_, _tmp3_, SPIT_CURRENT_INTERFACE); +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*params).module_spit_interface = _tmp4_; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp6_ = params; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp7_ = (*_tmp6_).module_spit_interface; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if (_tmp7_ != SPIT_UNSUPPORTED_INTERFACE) { +#line 738 "shotwell-transitions.c" + SpitEntryPointParams* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + ShotwellTransitions* _tmp10_ = NULL; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp8_ = params; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp9_ = (*_tmp8_).module_file; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp10_ = shotwell_transitions_new (_tmp9_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_object_unref0 (_tmp5_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp5_ = _tmp10_; +#line 752 "shotwell-transitions.c" + } else { +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_object_unref0 (_tmp5_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp5_ = NULL; +#line 758 "shotwell-transitions.c" + } +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_MODULE, SpitModule); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return result; +#line 764 "shotwell-transitions.c" +} + + +ShotwellTransitionDescriptor* shotwell_transition_descriptor_construct (GType object_type, GFile* resource_directory) { + ShotwellTransitionDescriptor * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = (ShotwellTransitionDescriptor*) g_object_new (object_type, NULL); +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = shotwell_transition_descriptor_icon_pixbuf_set; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0__length1 = shotwell_transition_descriptor_icon_pixbuf_set_length1; +#line 60 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + if (_tmp0_ == NULL) { +#line 782 "shotwell-transitions.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp2_ = resources_load_from_resource (PLUGIN_RESOURCE_PATH "/" SHOTWELL_TRANSITION_DESCRIPTOR_ICON_FILENAME, &_tmp1_); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transition_descriptor_icon_pixbuf_set = (_vala_array_free (shotwell_transition_descriptor_icon_pixbuf_set, shotwell_transition_descriptor_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transition_descriptor_icon_pixbuf_set = _tmp2_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transition_descriptor_icon_pixbuf_set_length1 = _tmp1_; +#line 61 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _shotwell_transition_descriptor_icon_pixbuf_set_size_ = shotwell_transition_descriptor_icon_pixbuf_set_length1; +#line 795 "shotwell-transitions.c" + } +#line 59 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return self; +#line 799 "shotwell-transitions.c" +} + + +static gint shotwell_transition_descriptor_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + ShotwellTransitionDescriptor * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 65 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = min_host_interface; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp1_ = max_host_interface; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_TRANSITIONS_CURRENT_INTERFACE); +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result = _tmp2_; +#line 66 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return result; +#line 821 "shotwell-transitions.c" +} + + +static const gchar* shotwell_transition_descriptor_real_get_id (ShotwellTransitionDescriptor* self) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_critical ("Type `%s' does not implement abstract method `shotwell_transition_descriptor_get_id'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return NULL; +#line 830 "shotwell-transitions.c" +} + + +const gchar* shotwell_transition_descriptor_get_id (ShotwellTransitionDescriptor* self) { +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_return_val_if_fail (IS_SHOTWELL_TRANSITION_DESCRIPTOR (self), NULL); +#line 70 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS (self)->get_id (self); +#line 839 "shotwell-transitions.c" +} + + +static const gchar* shotwell_transition_descriptor_real_get_pluggable_name (ShotwellTransitionDescriptor* self) { +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_critical ("Type `%s' does not implement abstract method `shotwell_transition_descriptor_get_pluggable_name'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return NULL; +#line 848 "shotwell-transitions.c" +} + + +const gchar* shotwell_transition_descriptor_get_pluggable_name (ShotwellTransitionDescriptor* self) { +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_return_val_if_fail (IS_SHOTWELL_TRANSITION_DESCRIPTOR (self), NULL); +#line 72 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS (self)->get_pluggable_name (self); +#line 857 "shotwell-transitions.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return self ? g_object_ref (self) : NULL; +#line 864 "shotwell-transitions.c" +} + + +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + for (i = 0; i < length; i++) { +#line 875 "shotwell-transitions.c" + GdkPixbuf* _tmp0_ = NULL; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + result[i] = _tmp0_; +#line 881 "shotwell-transitions.c" + } +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return result; +#line 885 "shotwell-transitions.c" +} + + +static void shotwell_transition_descriptor_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + ShotwellTransitionDescriptor * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_return_if_fail (info != NULL); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp0_ = g_strdup ("Maxim Kartashev"); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_free0 ((*info).authors); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).authors = _tmp0_; +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp1_ = _ ("Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conser" \ +"vancy Inc."); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_free0 ((*info).copyright); +#line 76 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).copyright = _tmp2_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_free0 ((*info).translators); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).translators = _tmp3_; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp4_ = g_strdup (_VERSION); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_free0 ((*info).version); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).version = _tmp4_; +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_free0 ((*info).website_name); +#line 79 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).website_name = _tmp5_; +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_free0 ((*info).website_url); +#line 80 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).website_url = _tmp6_; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).is_license_wordwrapped = FALSE; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _g_free0 ((*info).license); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).license = _tmp7_; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp8_ = shotwell_transition_descriptor_icon_pixbuf_set; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp8__length1 = shotwell_transition_descriptor_icon_pixbuf_set_length1; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup1 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + _tmp9__length1 = _tmp8__length1; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).icons = _tmp9_; +#line 83 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + (*info).icons_length1 = _tmp9__length1; +#line 967 "shotwell-transitions.c" +} + + +static void shotwell_transition_descriptor_real_activation (SpitPluggable* base, gboolean enabled) { + ShotwellTransitionDescriptor * self; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor); +#line 975 "shotwell-transitions.c" +} + + +static SpitTransitionsEffect* shotwell_transition_descriptor_real_create (ShotwellTransitionDescriptor* self, SpitHostInterface* host) { +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_critical ("Type `%s' does not implement abstract method `shotwell_transition_descriptor_create'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return NULL; +#line 984 "shotwell-transitions.c" +} + + +SpitTransitionsEffect* shotwell_transition_descriptor_create (ShotwellTransitionDescriptor* self, SpitHostInterface* host) { +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + g_return_val_if_fail (IS_SHOTWELL_TRANSITION_DESCRIPTOR (self), NULL); +#line 89 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + return SHOTWELL_TRANSITION_DESCRIPTOR_GET_CLASS (self)->create (self, host); +#line 993 "shotwell-transitions.c" +} + + +static void shotwell_transition_descriptor_class_init (ShotwellTransitionDescriptorClass * klass) { +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transition_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_id = shotwell_transition_descriptor_real_get_id; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + ((ShotwellTransitionDescriptorClass *) klass)->get_pluggable_name = shotwell_transition_descriptor_real_get_pluggable_name; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + ((ShotwellTransitionDescriptorClass *) klass)->create = shotwell_transition_descriptor_real_create; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + G_OBJECT_CLASS (klass)->finalize = shotwell_transition_descriptor_finalize; +#line 1008 "shotwell-transitions.c" +} + + +static void shotwell_transition_descriptor_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transition_descriptor_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) shotwell_transition_descriptor_real_get_pluggable_interface; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) shotwell_transition_descriptor_get_id; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) shotwell_transition_descriptor_get_pluggable_name; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) shotwell_transition_descriptor_real_get_info; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) shotwell_transition_descriptor_real_activation; +#line 1025 "shotwell-transitions.c" +} + + +static void shotwell_transition_descriptor_spit_transitions_descriptor_interface_init (SpitTransitionsDescriptorIface * iface) { +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + shotwell_transition_descriptor_spit_transitions_descriptor_parent_iface = g_type_interface_peek_parent (iface); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + iface->create = (SpitTransitionsEffect* (*)(SpitTransitionsDescriptor*, SpitHostInterface*)) shotwell_transition_descriptor_create; +#line 1034 "shotwell-transitions.c" +} + + +static void shotwell_transition_descriptor_instance_init (ShotwellTransitionDescriptor * self) { +} + + +static void shotwell_transition_descriptor_finalize (GObject* obj) { + ShotwellTransitionDescriptor * self; +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_TRANSITION_DESCRIPTOR, ShotwellTransitionDescriptor); +#line 54 "/home/jens/Source/shotwell/plugins/shotwell-transitions/shotwell-transitions.vala" + G_OBJECT_CLASS (shotwell_transition_descriptor_parent_class)->finalize (obj); +#line 1048 "shotwell-transitions.c" +} + + +GType shotwell_transition_descriptor_get_type (void) { + static volatile gsize shotwell_transition_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_transition_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShotwellTransitionDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_transition_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellTransitionDescriptor), 0, (GInstanceInitFunc) shotwell_transition_descriptor_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) shotwell_transition_descriptor_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_transitions_descriptor_info = { (GInterfaceInitFunc) shotwell_transition_descriptor_spit_transitions_descriptor_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType shotwell_transition_descriptor_type_id; + shotwell_transition_descriptor_type_id = g_type_register_static (G_TYPE_OBJECT, "ShotwellTransitionDescriptor", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (shotwell_transition_descriptor_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (shotwell_transition_descriptor_type_id, SPIT_TRANSITIONS_TYPE_DESCRIPTOR, &spit_transitions_descriptor_info); + g_once_init_leave (&shotwell_transition_descriptor_type_id__volatile, shotwell_transition_descriptor_type_id); + } + return shotwell_transition_descriptor_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/plugins/shotwell-transitions/shotwell-transitions.vala b/plugins/shotwell-transitions/shotwell-transitions.vala index 2b1fe40..7673414 100644 --- a/plugins/shotwell-transitions/shotwell-transitions.vala +++ b/plugins/shotwell-transitions/shotwell-transitions.vala @@ -58,7 +58,8 @@ public abstract class ShotwellTransitionDescriptor : Object, Spit.Pluggable, Spi public ShotwellTransitionDescriptor(GLib.File resource_directory) { if (icon_pixbuf_set == null) - icon_pixbuf_set = Resources.load_icon_set(resource_directory.get_child(ICON_FILENAME)); + icon_pixbuf_set = + Resources.load_from_resource(Resources.RESOURCE_PATH + "/" + ICON_FILENAME); } public int get_pluggable_interface(int min_host_interface, int max_host_interface) { diff --git a/plugins_common_libshotwell_plugin_common_la_vala.stamp b/plugins_common_libshotwell_plugin_common_la_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/plugins_common_libshotwell_plugin_common_la_vala.stamp @@ -0,0 +1 @@ +stamp diff --git a/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp b/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/plugins_shotwell_data_imports_shotwell_data_imports_la_vala.stamp @@ -0,0 +1 @@ +stamp diff --git a/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp b/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_vala.stamp @@ -0,0 +1 @@ +stamp diff --git a/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp b/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/plugins_shotwell_publishing_shotwell_publishing_la_vala.stamp @@ -0,0 +1 @@ +stamp diff --git a/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp b/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/plugins_shotwell_transitions_shotwell_transitions_la_vala.stamp @@ -0,0 +1 @@ +stamp diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..8f34f00 --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,483 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. +# +# Origin: gettext-0.19.7 +GETTEXT_MACRO_VERSION = 0.19 + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +SED = @SED@ +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ +gettextsrcdir = $(datadir)/gettext/po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +# When building gettext-tools, we prefer to use the built programs +# rather than installed programs. However, we can't do that when we +# are cross compiling. +CROSS_COMPILING = @CROSS_COMPILING@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES = \ + +CATALOGS = @CATALOGS@ + +POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot +POFILESDEPS_yes = $(POFILESDEPS_) +POFILESDEPS_no = +POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) + +DISTFILESDEPS_ = update-po +DISTFILESDEPS_yes = $(DISTFILESDEPS_) +DISTFILESDEPS_no = +DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: all-@USE_NLS@ + +all-yes: stamp-po +all-no: + +# Ensure that the gettext macros and this Makefile.in.in are in sync. +CHECK_MACRO_VERSION = \ + test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + @$(CHECK_MACRO_VERSION) + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +# The determination of whether the package xyz is a GNU one is based on the +# heuristic whether some file in the top level directory mentions "GNU xyz". +# If GNU 'find' is available, we avoid grepping through monster files. +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + package_gnu="$(PACKAGE_GNU)"; \ + test -n "$$package_gnu" || { \ + if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ + -size -10000000c -exec grep 'GNU @PACKAGE@' \ + /dev/null '{}' ';' 2>/dev/null; \ + else \ + LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ + fi; \ + } | grep -v 'libtool:' >/dev/null; then \ + package_gnu=yes; \ + else \ + package_gnu=no; \ + fi; \ + }; \ + if test "$$package_gnu" = "yes"; then \ + package_prefix='GNU '; \ + else \ + package_prefix=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_prefix}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot-header; then \ + sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ + cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ + rm -f $(DOMAIN).1po; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(POFILESDEPS) + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f stamp-po $(GMOFILES) + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: + +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file system. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ + cd $(top_builddir) \ + && @SHELL@ ./config.status $(subdir)/$@.in po-directories + +force: + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..c4ecf22 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,78 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = -c --from-code=UTF-8 --keyword=C_:1c,2 + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Translation copyright holder + +# This tells whether or not to prepend "GNU " prefix to the package +# name that gets inserted into the header of the $(DOMAIN).pot file. +# Possible values are "yes", "no", or empty. If it is empty, try to +# detect it automatically by scanning the files in $(top_srcdir) for +# "GNU packagename" string. +PACKAGE_GNU = + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = https://bugzilla.gnome.org/enter_bug.cgi?product=Shotwell&component=Internationalization + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = + +# These options get passed to msginit. +# If you want to disable line wrapping when writing PO files, add +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +# MSGINIT_OPTIONS. +MSGINIT_OPTIONS = + +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +# has changed. Possible values are "yes" and "no". Set this to no if +# the POT file is checked in the repository and the version control +# program ignores timestamps. +PO_DEPENDS_ON_POT = no + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = no diff --git a/po/POTFILES.in b/po/POTFILES.in index d83fed1..5f96f0a 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,45 +1,51 @@ -[encoding: UTF-8] -plugins/common/RESTSupport.vala +# List of source files containing translatable strings. +# Please keep this file sorted alphabetically. +misc/shotwell.appdata.xml.in +misc/shotwell.desktop.in.in +misc/shotwell-viewer.desktop.in.in +misc/org.yorba.shotwell-extras.gschema.xml +misc/org.yorba.shotwell.gschema.xml plugins/common/Resources.vala -plugins/shotwell-data-imports/FSpotDatabase.vala +plugins/common/RESTSupport.vala plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala plugins/shotwell-data-imports/FSpotDatabaseTable.vala +plugins/shotwell-data-imports/FSpotDatabase.vala plugins/shotwell-data-imports/FSpotImporter.vala plugins/shotwell-data-imports/FSpotMetaTable.vala +plugins/shotwell-data-imports/FSpotPhotosTable.vala plugins/shotwell-data-imports/FSpotPhotoTagsTable.vala plugins/shotwell-data-imports/FSpotPhotoVersionsTable.vala -plugins/shotwell-data-imports/FSpotPhotosTable.vala plugins/shotwell-data-imports/FSpotRollsTable.vala plugins/shotwell-data-imports/FSpotTableBehavior.vala plugins/shotwell-data-imports/FSpotTagsTable.vala plugins/shotwell-data-imports/shotwell-data-imports.vala plugins/shotwell-data-imports/SqliteSupport.vala plugins/shotwell-data-imports/VersionNumber.vala +plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui +plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui plugins/shotwell-publishing-extras/GalleryConnector.vala +plugins/shotwell-publishing-extras/rajce_authentication_pane.ui +plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui plugins/shotwell-publishing-extras/RajcePublishing.vala +plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala +plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui +plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui plugins/shotwell-publishing-extras/TumblrPublishing.vala plugins/shotwell-publishing-extras/YandexPublishing.vala -plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala -[type: gettext/glade]plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade -[type: gettext/glade]plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade -[type: gettext/glade]plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade -[type: gettext/glade]plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade -[type: gettext/glade]plugins/shotwell-publishing-extras/rajce_authentication_pane.glade -[type: gettext/glade]plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade -[type: gettext/glade]plugins/shotwell-publishing-extras/yandex_publish_model.glade +plugins/shotwell-publishing-extras/yandex_publish_model.ui +plugins/shotwell-publishing/facebook_publishing_options_pane.ui plugins/shotwell-publishing/FacebookPublishing.vala +plugins/shotwell-publishing/flickr_pin_entry_pane.ui +plugins/shotwell-publishing/flickr_publishing_options_pane.ui plugins/shotwell-publishing/FlickrPublishing.vala +plugins/shotwell-publishing/picasa_publishing_options_pane.ui plugins/shotwell-publishing/PicasaPublishing.vala +plugins/shotwell-publishing/piwigo_authentication_pane.ui +plugins/shotwell-publishing/piwigo_publishing_options_pane.ui plugins/shotwell-publishing/PiwigoPublishing.vala -plugins/shotwell-publishing/YouTubePublishing.vala -[type: gettext/glade]plugins/shotwell-publishing/facebook_publishing_options_pane.glade -[type: gettext/glade]plugins/shotwell-publishing/flickr_pin_entry_pane.glade -[type: gettext/glade]plugins/shotwell-publishing/flickr_publishing_options_pane.glade -[type: gettext/glade]plugins/shotwell-publishing/picasa_publishing_options_pane.glade -[type: gettext/glade]plugins/shotwell-publishing/piwigo_authentication_pane.glade -[type: gettext/glade]plugins/shotwell-publishing/piwigo_publishing_options_pane.glade plugins/shotwell-publishing/shotwell-publishing.vala -[type: gettext/glade]plugins/shotwell-publishing/youtube_publishing_options_pane.glade +plugins/shotwell-publishing/youtube_publishing_options_pane.ui +plugins/shotwell-publishing/YouTubePublishing.vala plugins/shotwell-transitions/BlindsEffect.vala plugins/shotwell-transitions/ChessEffect.vala plugins/shotwell-transitions/CircleEffect.vala @@ -47,91 +53,51 @@ plugins/shotwell-transitions/CirclesEffect.vala plugins/shotwell-transitions/ClockEffect.vala plugins/shotwell-transitions/CrumbleEffect.vala plugins/shotwell-transitions/FadeEffect.vala +plugins/shotwell-transitions/shotwell-transitions.vala plugins/shotwell-transitions/SlideEffect.vala plugins/shotwell-transitions/SquaresEffect.vala plugins/shotwell-transitions/StripesEffect.vala -plugins/shotwell-transitions/shotwell-transitions.vala src/AppDirs.vala -src/AppWindow.vala src/Application.vala +src/AppWindow.vala src/BatchImport.vala src/Box.vala +src/camera/Branch.vala +src/camera/CameraTable.vala +src/camera/Camera.vala +src/camera/GPhoto.vala +src/camera/ImportPage.vala src/CheckerboardLayout.vala src/CollectionPage.vala src/ColorTransformation.vala src/CommandManager.vala src/Commands.vala -src/CustomComponents.vala -src/Debug.vala -src/DesktopIntegration.vala -src/Dialogs.vala -src/Dimensions.vala -src/DirectoryMonitor.vala -src/Event.vala -src/Exporter.vala -src/International.vala -src/LibraryFiles.vala -src/LibraryMonitor.vala -src/MediaDataRepresentation.vala -src/MediaInterfaces.vala -src/MediaMetadata.vala -src/MediaMonitor.vala -src/MediaPage.vala -src/MediaViewTracker.vala -src/MetadataWriter.vala -src/Orientation.vala -src/Page.vala -src/Photo.vala -src/PhotoMonitor.vala -src/PhotoPage.vala -src/PixbufCache.vala -src/Printing.vala -src/Properties.vala -src/Resources.vala -src/Screensaver.vala -src/SearchFilter.vala -src/SlideshowPage.vala -src/SortedList.vala -src/Tag.vala -src/Thumbnail.vala -src/ThumbnailCache.vala -src/TimedQueue.vala -src/Tombstone.vala -src/UnityProgressBar.vala -src/Upgrades.vala -src/VideoMetadata.vala -src/VideoMonitor.vala -src/VideoSupport.vala -src/camera/Branch.vala -src/camera/Camera.vala -src/camera/CameraTable.vala -src/camera/GPhoto.vala -src/camera/ImportPage.vala -src/config/Config.vala src/config/ConfigurationInterfaces.vala +src/config/Config.vala src/config/GSettingsEngine.vala src/core/Alteration.vala src/core/ContainerSourceCollection.vala src/core/Core.vala +src/core/DatabaseSourceCollection.vala src/core/DataCollection.vala src/core/DataObject.vala src/core/DataSet.vala -src/core/DataSource.vala src/core/DataSourceTypes.vala -src/core/DataView.vala +src/core/DataSource.vala src/core/DataViewTypes.vala -src/core/DatabaseSourceCollection.vala +src/core/DataView.vala src/core/SourceCollection.vala src/core/SourceHoldingTank.vala src/core/SourceInterfaces.vala src/core/Tracker.vala -src/core/ViewCollection.vala src/core/util.vala +src/core/ViewCollection.vala +src/CustomComponents.vala src/data_imports/DataImportJob.vala src/data_imports/DataImportSource.vala -src/data_imports/DataImports.vala src/data_imports/DataImportsPluginHost.vala src/data_imports/DataImportsUI.vala +src/data_imports/DataImports.vala src/db/DatabaseTable.vala src/db/Db.vala src/db/EventTable.vala @@ -141,38 +107,59 @@ src/db/TagTable.vala src/db/TombstoneTable.vala src/db/VersionTable.vala src/db/VideoTable.vala -src/direct/Direct.vala -src/direct/DirectPhoto.vala +src/Debug.vala +src/DesktopIntegration.vala +src/Dialogs.vala +src/Dimensions.vala src/direct/DirectPhotoPage.vala +src/direct/DirectPhoto.vala +src/direct/Direct.vala src/direct/DirectView.vala src/direct/DirectWindow.vala +src/DirectoryMonitor.vala src/editing_tools/EditingTools.vala src/editing_tools/StraightenTool.vala src/events/Branch.vala src/events/EventDirectoryItem.vala src/events/EventPage.vala -src/events/Events.vala src/events/EventsDirectoryPage.vala +src/events/Events.vala +src/Event.vala +src/Exporter.vala src/folders/Branch.vala src/folders/Folders.vala src/folders/Page.vala +src/International.vala src/library/Branch.vala -src/library/FlaggedSidebarEntry.vala +src/LibraryFiles.vala src/library/FlaggedPage.vala -src/library/ImportQueueSidebarEntry.vala +src/library/FlaggedSidebarEntry.vala src/library/ImportQueuePage.vala -src/library/LastImportSidebarEntry.vala +src/library/ImportQueueSidebarEntry.vala src/library/LastImportPage.vala +src/library/LastImportSidebarEntry.vala src/library/Library.vala src/library/LibraryWindow.vala -src/library/OfflineSidebarEntry.vala +src/LibraryMonitor.vala src/library/OfflinePage.vala -src/library/TrashSidebarEntry.vala +src/library/OfflineSidebarEntry.vala src/library/TrashPage.vala +src/library/TrashSidebarEntry.vala src/main.vala +src/MediaDataRepresentation.vala +src/MediaInterfaces.vala +src/MediaMetadata.vala +src/MediaMonitor.vala +src/MediaPage.vala +src/MediaViewTracker.vala +src/MetadataWriter.vala +src/Orientation.vala +src/Page.vala +src/PhotoMonitor.vala +src/PhotoPage.vala src/photos/BmpSupport.vala -src/photos/GRaw.vala src/photos/GdkSupport.vala +src/photos/GRaw.vala src/photos/JfifSupport.vala src/photos/PhotoFileAdapter.vala src/photos/PhotoFileFormat.vala @@ -182,6 +169,8 @@ src/photos/Photos.vala src/photos/PngSupport.vala src/photos/RawSupport.vala src/photos/TiffSupport.vala +src/Photo.vala +src/PixbufCache.vala src/plugins/DataImportsInterfaces.vala src/plugins/ManifestWidget.vala src/plugins/Plugins.vala @@ -189,41 +178,58 @@ src/plugins/PublishingInterfaces.vala src/plugins/SpitInterfaces.vala src/plugins/StandardHostInterface.vala src/plugins/TransitionsInterfaces.vala +src/Printing.vala +src/Properties.vala src/publishing/APIGlue.vala -src/publishing/Publishing.vala src/publishing/PublishingPluginHost.vala src/publishing/PublishingUI.vala +src/publishing/Publishing.vala +src/Resources.vala +src/Screensaver.vala src/searches/Branch.vala src/searches/SavedSearchDialog.vala src/searches/SavedSearchPage.vala src/searches/SearchBoolean.vala src/searches/Searches.vala +src/SearchFilter.vala src/sidebar/Branch.vala +src/sidebar/common.vala src/sidebar/Entry.vala src/sidebar/Sidebar.vala src/sidebar/Tree.vala -src/sidebar/common.vala +src/SlideshowPage.vala src/slideshow/Slideshow.vala src/slideshow/TransitionEffects.vala +src/SortedList.vala src/tags/Branch.vala src/tags/HierarchicalTagIndex.vala src/tags/HierarchicalTagUtilities.vala src/tags/TagPage.vala src/tags/Tags.vala +src/Tag.vala src/threads/BackgroundJob.vala src/threads/Semaphore.vala src/threads/Threads.vala src/threads/Workers.vala -src/unit/Unit.vala +src/ThumbnailCache.vala +src/Thumbnail.vala +src/TimedQueue.vala +src/Tombstone.vala src/unit/rc/template.vala -src/util/KeyValueMap.vala -src/util/Util.vala +src/unit/Unit.vala +src/UnityProgressBar.vala +src/Upgrades.vala src/util/file.vala src/util/image.vala +src/util/KeyValueMap.vala src/util/misc.vala src/util/string.vala src/util/system.vala src/util/ui.vala -[type: gettext/glade]ui/set_background_dialog.glade -[type: gettext/glade]ui/set_background_slideshow_dialog.glade -[type: gettext/glade]ui/shotwell.glade +src/util/Util.vala +src/VideoMetadata.vala +src/VideoMonitor.vala +src/VideoSupport.vala +ui/set_background_dialog.ui +ui/set_background_slideshow_dialog.ui +ui/shotwell.ui diff --git a/po/POTFILES.skip b/po/POTFILES.skip deleted file mode 100644 index e69de29..0000000 diff --git a/po/Rules-quot b/po/Rules-quot new file mode 100644 index 0000000..baf6528 --- /dev/null +++ b/po/Rules-quot @@ -0,0 +1,58 @@ +# This file, Rules-quot, can be copied and used freely without restrictions. +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ + | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ + { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ + $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ + ;; \ + *) \ + $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ + ;; \ + esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ + ; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/po/af.gmo b/po/af.gmo new file mode 100644 index 0000000..eafd630 Binary files /dev/null and b/po/af.gmo differ diff --git a/po/af.po b/po/af.po index 7128601..4c1ca2b 100644 --- a/po/af.po +++ b/po/af.po @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: af_ZA\n" +"Language: af\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/Event.vala:737 diff --git a/po/ar.gmo b/po/ar.gmo new file mode 100644 index 0000000..41ab7c3 Binary files /dev/null and b/po/ar.gmo differ diff --git a/po/as.gmo b/po/as.gmo new file mode 100644 index 0000000..c396931 Binary files /dev/null and b/po/as.gmo differ diff --git a/po/ast.gmo b/po/ast.gmo new file mode 100644 index 0000000..d0b009b Binary files /dev/null and b/po/ast.gmo differ diff --git a/po/ast.po b/po/ast.po index fe2f112..90c073e 100644 --- a/po/ast.po +++ b/po/ast.po @@ -7,7 +7,6 @@ # Translators: # verayin , 2011 # Xuacu Saturio , 2013 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/bg.gmo b/po/bg.gmo new file mode 100644 index 0000000..654e11d Binary files /dev/null and b/po/bg.gmo differ diff --git a/po/bg.po b/po/bg.po index 418228b..f4edd79 100644 --- a/po/bg.po +++ b/po/bg.po @@ -7,7 +7,6 @@ # Translators: # svetlisashkov , 2011 # verayin , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/bn.gmo b/po/bn.gmo new file mode 100644 index 0000000..70303d4 Binary files /dev/null and b/po/bn.gmo differ diff --git a/po/bn.po b/po/bn.po index c60cf4b..4c95a0e 100644 --- a/po/bn.po +++ b/po/bn.po @@ -8,7 +8,6 @@ # Rahul Ghose , 2012 # Sucheta Ghoshal , 2012 # verayin , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/bn_IN.gmo b/po/bn_IN.gmo new file mode 100644 index 0000000..e6f3dbd Binary files /dev/null and b/po/bn_IN.gmo differ diff --git a/po/bn_IN.po b/po/bn_IN.po index 991e060..6a9014c 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -9,7 +9,6 @@ # Rahul Ghose , 2012 # runab , 2012 # runa , 2012 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/boldquot.sed b/po/boldquot.sed new file mode 100644 index 0000000..4b937aa --- /dev/null +++ b/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“/g +s/”/”/g +s/‘/‘/g +s/’/’/g diff --git a/po/bs.gmo b/po/bs.gmo new file mode 100644 index 0000000..654fe90 Binary files /dev/null and b/po/bs.gmo differ diff --git a/po/ca.gmo b/po/ca.gmo new file mode 100644 index 0000000..402b5f4 Binary files /dev/null and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po index 50addec..3f08922 100644 --- a/po/ca.po +++ b/po/ca.po @@ -16,25 +16,35 @@ msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-28 07:26+0100\n" -"PO-Revision-Date: 2015-03-17 07:17+0100\n" -"Last-Translator: Pau Iranzo \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/shotwell/" -"language/ca/)\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" +"product=Shotwell&component=Internationalization\n" +"POT-Creation-Date: 2016-08-07 23:43+0200\n" +"PO-Revision-Date: 2016-08-07 23:39+0200\n" +"Last-Translator: Jordi Mas \n" +"Language-Team: ca_ES \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.5.4\n" +"X-Generator: Poedit 1.8.7.1\n" -#: ../plugins/common/RESTSupport.vala:424 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 +#: ../plugins/common/Resources.vala:12 +msgid "Visit the Shotwell home page" +msgstr "Visiteu la pàgina web del Shotwell" + +#: ../plugins/common/Resources.vala:31 ../src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"Pau Iranzo , 2015\n" +"Jordi Mas , 2016" + +#: ../plugins/common/RESTSupport.vala:448 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:958 msgid "A temporary file needed for publishing is unavailable" msgstr "No està disponible un fitxer temporal que cal per publicar" -#: ../plugins/common/RESTSupport.vala:1138 +#: ../plugins/common/RESTSupport.vala:1154 msgid "" "You have already logged in and out of a Google service during this Shotwell " "session.\n" @@ -48,25 +58,17 @@ msgstr "" "Per continuar publicant als serveis de Google, sortiu i reinicieu el " "Shotwell i proveu a publicar de nou." -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Visiteu la pàgina web del Shotwell" - -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:705 -msgid "translator-credits" -msgstr "Pau Iranzo , 2015" - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:36 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:33 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:33 +#: ../plugins/shotwell-publishing/PicasaPublishing.vala:33 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:33 +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:33 #: ../src/Resources.vala:27 -msgid "Copyright 2009-2015 Yorba Foundation" -msgstr "Copyright 2009-2015 Yorba Foundation" +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Copyright 2016 Software Freedom Conservancy Inc." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 msgid "" "Welcome to the F-Spot library import service.\n" "\n" @@ -76,11 +78,11 @@ msgid "" msgstr "" "Benvingut al servei d'importació de biblioteques de F-Spot\n" "\n" -"Trieu una biblioteca a importar, ja sigui triant una de les " -"biblioteques trobades per Shotwell o bé seleccionant alternativament un fitxer de base de dades de " -"l'F-Spot." +"Trieu una biblioteca a importar, ja sigui triant una de les biblioteques " +"trobades per Shotwell o bé seleccionant alternativament un fitxer de base de " +"dades de l'F-Spot." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 msgid "" "Welcome to the F-Spot library import service.\n" "\n" @@ -90,11 +92,11 @@ msgstr "" "\n" "Seleccioneu un fitxer de base de dades de l'F-Spot." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 msgid "Manually select an F-Spot database file to import:" msgstr "Seleccionar manualment un fitxer de biblioteca F-Spot a importar:" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 msgid "" "Cannot open the selected F-Spot database file: the file does not exist or is " "not an F-Spot database" @@ -102,7 +104,7 @@ msgstr "" "No es pot obrir el fitxer de base de dades F-Spot seleccionat: el fitxer no " "existeix o no és una base de dades F-Spot correcta" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 msgid "" "Cannot open the selected F-Spot database file: this version of the F-Spot " "database is not supported by Shotwell" @@ -110,14 +112,14 @@ msgstr "" "No es pot obrir el fitxer de base de dades F-Spot seleccionat: Shotwell no " "suporta aquesta versió de F-Spot" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 msgid "" "Cannot read the selected F-Spot database file: error while reading tags table" msgstr "" "No es pot llegir el fitxer de base de dades F-Spot seleccionat: error " "llegint taula d'etiquetes" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 msgid "" "Cannot read the selected F-Spot database file: error while reading photos " "table" @@ -125,7 +127,7 @@ msgstr "" "No es pot llegir el fitxer de base de dades F-Spot seleccionat: error " "llegint taula d'imatges" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:72 #, c-format msgid "" "Shotwell has found %d photos in the F-Spot library and is currently " @@ -141,12 +143,12 @@ msgstr "" "Podeu tancar aquest diàleg i començar a emprar el Shotwell mentre la " "importació té lloc en segon pla." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:86 #, c-format msgid "F-Spot library: %s" msgstr "Biblioteca F-Spot: %s" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 +#: ../plugins/shotwell-data-imports/FSpotImporter.vala:424 msgid "Preparing to import" msgstr "Preparant per importar" @@ -201,8 +203,8 @@ msgstr "" "Tingueu en compte que Gallery3 només és compatible amb els mateixos tipus de " "vídeo que són compatibles amb el Flowplayer." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1021 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1773 #, c-format msgid "" "A file required for publishing is unavailable. Publishing to %s can't " @@ -213,12 +215,12 @@ msgstr "" #. populate any widgets whose contents are #. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1550 #, c-format msgid "Publishing to %s as %s." msgstr "S'està publicant a %s com a %s." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1817 msgid "" "Enter the URL for your Gallery3 site and the username and password (or API " "key) for your Gallery3 account." @@ -226,7 +228,7 @@ msgstr "" "Introduïu l'URL del vostre lloc Gallery3 i el nom d'usuari i contrasenya (o " "clau API) per al vostre compte Gallery3." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1818 msgid "" "The username and password or API key were incorrect. To try again, re-enter " "your username and password below." @@ -234,7 +236,7 @@ msgstr "" "El nom d'usuari i contrasenya o la clau API són incorrectes. Proveu de nou, " "torneu a introduir el vostre nom d'usuari i contrasenya a continuació." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 msgid "" "The URL entered does not appear to be the main directory of a Gallery3 " "instance. Please make sure you typed it correctly and it does not have any " @@ -244,173 +246,144 @@ msgstr "" "instància Gallery3. Assegureu-vos que l'heu introduït correctament i que no " "conté cap component al final (p. ex. index.php)." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1872 msgid "Unrecognized User" msgstr "Usuari no reconegut" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 +#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1877 msgid " Site Not Found" msgstr "No s'ha trobat el lloc" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:40 msgid "Copyright (C) 2013 rajce.net" msgstr "Copyright (C) 2013 rajce.net" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:744 msgid "An error message occurred when publishing to Rajce. Please try again." msgstr "S'ha produït un error en publicar a Rajce. Proveu de nou." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:833 msgid "Enter email and password associated with your Rajce account." msgstr "" "Introduïu l'adreça de correu i la contrasenya associades amb el vostre " "compte Rajce." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:834 msgid "Invalid email and/or password. Please try again" msgstr "L'adreça electrònica o la contrasenya no són vàlides. Proveu de nou" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:865 msgid "Invalid User Email or Password" msgstr "Nom d'usuari o contrasenya incorrectes" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 msgid "_Email address" msgstr "_Adreça electrònica" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 msgid "_Password" msgstr "_Contrasenya" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:894 msgid "_Remember" msgstr "_Recorda" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:895 msgid "Login" msgstr "Entra" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1005 msgid "_Hide album" msgstr "A_maga l'àlbum" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 #, c-format msgid "You are logged into Rajce as %s." msgstr "Actualment esteu connectat al Rajce com a %s." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 #: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 msgid "Photos will appear in:" msgstr "Les fotografies apareixeran a:" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 msgid "An _existing album:" msgstr "Un àlbum e_xistent:" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 msgid "A _new album named:" msgstr "Un àlbum _nou anomenat:" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 msgid "Open target _album in browser" msgstr "Obre l'_àlbum al navegador" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 msgid "_Publish" msgstr "_Publica" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 msgid "_Logout" msgstr "_Surt" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 +#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Serveis de publicació addicionals del Shotwell" + +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:36 msgid "Copyright 2012 BJA Electronics" msgstr "Copyright 2012 BJA Electronics" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1231 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1228 msgid "500 x 375 pixels" msgstr "500 x 375 píxels" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1229 msgid "1024 x 768 pixels" msgstr "1024 × 768 píxels" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:107 msgid "1280 x 853 pixels" msgstr "1280 × 853 píxels" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:311 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:321 #, c-format msgid "'%s' isn't a valid response to an OAuth authentication request" msgstr "«%s» no és una resposta vàlida per a una petició d'autenticació OAuth" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:559 msgid "" "TumblrPublisher: start( ): can't start; this publisher is not restartable." msgstr "" "TumblrPublisher: start( ): no es pot iniciar; aquest editor no es pot " "reiniciar." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 msgid "Enter the username and password associated with your Tumblr account." msgstr "Introduïu el nom i contrasenya associats amb el vostre compte Tumblr." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:588 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:990 msgid "Username and/or password invalid. Please try again" msgstr "L'usuari i/o la contrasenya no són vàlids. Proveu de nou" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:615 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1024 msgid "Invalid User Name or Password" msgstr "Nom d'usuari o contrasenya incorrectes" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:634 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:752 #, c-format msgid "Could not load UI: %s" msgstr "No s'ha pogut carregar la interfície: %s" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:734 #, c-format msgid "" "You are logged into Tumblr as %s.\n" @@ -427,147 +400,17 @@ msgstr "Copyright 2010+ Evgeniy Polyakov " msgid "Visit the Yandex.Fotki web site" msgstr "Vés al lloc web del Yandex.Fotki" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:632 +#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:658 msgid "You are not currently logged into Yandex.Fotki." msgstr "Actualment no esteu connectat al Yandex.Fotki." -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Serveis de publicació addicionals del Shotwell" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "_Enrere" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "_Connecta" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Messatge d'introducció reemplaçat en temps d'execució" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "URL _Gallery3:" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "_Nom d'usuari:" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Contrasenya:" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_Clau API:" - -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "o" - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "Un àlbum _nou" - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "Un àlbum e_xistent" - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" -msgstr "" -"Sup_rimeix les dades d'ubicació, d'etiquetes i d'identificació de la càmera " -"abans de la càrrega." - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" -msgstr "" -"«S'està publicant a $url com $username» (completat al codi de l'aplicació)" - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "Constant d'e_scala:" - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr " píxels" - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Mida original" - -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Amplada o alçada" - -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "etiqueta" - -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blogs:" - -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "_Mida de la fotografia:" - -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "Actualment esteu connectat al rajce com a $name" - -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype apareixeran a" - -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "À_lbums (o escriviu-ne un de nou):" - -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "_Tipus d'accés:" - -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "Inhabilita els _comentaris" - -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "_Prohibeix baixar la fotografia original" - -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Públic" - -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1181 -msgid "Friends" -msgstr "Amics" - -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Privat" - -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:62 +#: ../plugins/shotwell-publishing/PicasaPublishing.vala:60 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1112 msgid "Shotwell Connect" msgstr "Shotwell Connect" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:64 msgid "" "You are not currently logged into Facebook.\n" "\n" @@ -583,7 +426,7 @@ msgstr "" "permís per pujar fotografies i publicar-les al mur. Aquests permisos són " "necessaris perquè el Shotwell Connect funcioni." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:66 msgid "" "You have already logged in and out of Facebook during this Shotwell " "session.\n" @@ -595,19 +438,19 @@ msgstr "" "Per continuar publicant al Facebook, sortiu, reinicieu el Shotwell i torneu " "a intentar-ho." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:87 msgid "Standard (720 pixels)" msgstr "Estàndard (720 píxels)" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:90 msgid "Large (2048 pixels)" msgstr "Gran (2048 píxels)" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:255 msgid "Testing connection to Facebook..." msgstr "S'està comprovant la connexió amb el Facebook..." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:348 #: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 msgid "Creating album..." msgstr "S'està creant l'àlbum..." @@ -620,7 +463,7 @@ msgstr "" "Un dels fitxers necessaris per a la publicació no està disponible. No es pot " "continuar amb la publicació a Facebook." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1019 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1032 #, c-format msgid "" "You are logged into Facebook as %s.\n" @@ -629,27 +472,30 @@ msgstr "" "Actualment esteu connectat al Facebook com a %s.\n" "\n" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1020 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1033 msgid "Where would you like to publish the selected photos?" msgstr "On us agradaria publicar les fotografies seleccionades?" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1021 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1034 msgid "Upload _size:" msgstr "Mida de _pujada:" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1180 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 msgid "Just me" msgstr "Només jo" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1182 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Amics" + +#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1209 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1216 msgid "Everyone" msgstr "Tothom" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:60 msgid "" "You are not currently logged into Flickr.\n" "\n" @@ -661,7 +507,7 @@ msgstr "" "Feu clic a connecta per connectar-vos al Flickr en el navegador web. Haureu " "d'autoritzar al Shotwell Connect per enllaçar el vostre compte del Flickr." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:62 msgid "" "You have already logged in and out of Flickr during this Shotwell session.\n" "To continue publishing to Flickr, quit and restart Shotwell, then try " @@ -672,12 +518,12 @@ msgstr "" "Per continuar publicant al Flickr, sortiu, reinicieu el Shotwell i torneu a " "intentar-ho." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:374 msgid "Preparing for login..." msgstr "S'està preparant per connectar..." #: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:594 msgid "" "A file required for publishing is unavailable. Publishing to Flickr can't " "continue." @@ -689,7 +535,7 @@ msgstr "" msgid "Verifying authorization..." msgstr "S'està verificant l'autorització..." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1152 #, c-format msgid "" "You are logged into Flickr as %s.\n" @@ -698,7 +544,7 @@ msgstr "" "Heu entrat al Flickr com a %s.\n" "\n" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1155 #, c-format msgid "" "Your free Flickr account limits how much data you can upload per month.\n" @@ -715,45 +561,51 @@ msgstr[1] "" "podeu pujar cada mes.\n" "Aquest mes, us queden %d megabytes de quota de pujada." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1159 msgid "Your Flickr Pro account entitles you to unlimited uploads." msgstr "El vostre compte del Flickr Pro us permet pujades il·limitades." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1164 msgid "Photos _visible to:" msgstr "Les fotografies són _visibles per:" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1166 msgid "Videos _visible to:" msgstr "Els vídeos són _visibles per:" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1169 msgid "Photos and videos _visible to:" msgstr "Les fotografies i els vídeos són _visibles per:" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 msgid "Friends & family only" msgstr "Només els amics i la família" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 msgid "Family only" msgstr "Només família" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 msgid "Friends only" msgstr "Només amics" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1230 msgid "2048 x 1536 pixels" msgstr "2048 x 1536 píxels" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1231 msgid "4096 x 3072 pixels" msgstr "4096 x 3072 píxels" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 +#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1232 +#: ../src/Dimensions.vala:17 +msgid "Original size" +msgstr "Mida original" + +#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 msgid "" "You are not currently logged into Picasa Web Albums.\n" "\n" @@ -805,16 +657,16 @@ msgstr "Google+ (2048 x 1536 píxels)" msgid "Original Size" msgstr "Mida original" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:747 #, c-format msgid "Creating album %s..." msgstr "Creant àlbum %s..." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:918 msgid "An error message occurred when publishing to Piwigo. Please try again." msgstr "S'ha produït un error en connectar-se a Piwigo. Proveu de nou." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:988 msgid "" "Enter the URL of your Piwigo photo library as well as the username and " "password associated with your Piwigo account for that library." @@ -823,7 +675,7 @@ msgstr "" "d'usuari i contrasenya associats amb el vostre compte Piwigo per aquesta " "biblioteca." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:989 msgid "" "Shotwell cannot contact your Piwigo photo library. Please verify the URL you " "entered" @@ -831,27 +683,31 @@ msgstr "" "El Shotwell no pot contactar amb la vostra biblioteca fotogràfica Piwigo. " "Comproveu l'URL que heu introduït" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1019 msgid "Invalid URL" msgstr "Adreça incorrecta" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1217 msgid "Admins, Family, Friends, Contacts" msgstr "Administradors, família, amics, contactes" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1218 msgid "Admins, Family, Friends" msgstr "Administradors, família, amics" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1219 msgid "Admins, Family" msgstr "Administradors, família" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1220 msgid "Admins" msgstr "Administradors" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 +#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Serveis de publicació principals" + +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:58 msgid "" "You are not currently logged into YouTube.\n" "\n" @@ -865,7 +721,7 @@ msgstr "" "utilitzar-lo amb el YoutTube. Podeu configurar la majoria de comtes " "utilitzant el navegador i entrant almenys un cop al lloc YouTube." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:363 msgid "" "A file required for publishing is unavailable. Publishing to Youtube can't " "continue." @@ -873,129 +729,27 @@ msgstr "" "Un dels fitxers necessaris per a la publicació no està disponible. No es pot " "continuar amb la publicació a Youtube." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:462 #, c-format msgid "You are logged into YouTube as %s." msgstr "Actualment esteu connectat al YouTube com a %s." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:464 #, c-format msgid "Videos will appear in '%s'" msgstr "Els vídeos apareixeran a «%s»" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 msgid "Public listed" msgstr "Llistat públicament" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 msgid "Public unlisted" msgstr "Sense llistar públicament" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "Public_a a un àlbum existent:" - -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Crea un àlbum _nou anomenat:" - -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "Els vídeos i els àlbums de fotografies nous són _visibles per a:" - -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 -msgid "" -"_Remove location, camera, and other identifying information before uploading" -msgstr "" -"Sup_rimeix la ubicació, càmera i qualsevol altra informació identificativa " -"abans de la càrrega" - -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 -msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." -msgstr "" -"Introduïu el número de confirmació que apareix després que us connecteu al " -"Flickr en el navegador web." - -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "_Número d'autorització:" - -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "Con_tinua" - -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "_Llista l'àlbum en una galeria pública" - -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "Mida p_redeterminada de les fotografies:" - -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "_URL de la biblioteca de fotografies Piwigo" - -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "_Nom d'usuari" - -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "_Recorda la contrasenya" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "Una categoria _existent:" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "Les fotografies seran _visibles per a:" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Mida de la fotografia:" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "a la categoria:" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Comentari de l'àlbum:" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" -msgstr "" -"S_i el títol està definit i el comentari no ho està, es farà servir el títol " -"com a comentari" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "_No pugis les etiquetes" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Surt" - -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:303 -msgid "Publish" -msgstr "Publica" - -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Serveis de publicació principals" - -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "_Paràmetres de la privacitat dels vídeos:" +#: ../plugins/shotwell-publishing/YouTubePublishing.vala:498 +msgid "Private" +msgstr "Privat" #: ../plugins/shotwell-transitions/BlindsEffect.vala:20 msgid "Blinds" @@ -1025,6 +779,18 @@ msgstr "Esmicolament" msgid "Fade" msgstr "Esvaïment" +#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Transicions principals de la projecció de diapositives" + +#: ../plugins/shotwell-transitions/shotwell-transitions.vala:76 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." + #: ../plugins/shotwell-transitions/SlideEffect.vala:20 msgid "Slide" msgstr "Diapositiva" @@ -1037,72 +803,74 @@ msgstr "Quadrats" msgid "Stripes" msgstr "Ratlles" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Transicions principals de la projecció de diapositives" - -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 -msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" -msgstr "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" - -#: ../src/AppDirs.vala:48 ../src/AppDirs.vala:99 +#: ../src/AppDirs.vala:64 ../src/AppDirs.vala:115 #, c-format msgid "Unable to create cache directory %s: %s" msgstr "Impossible crear el directori de memòria cau %s: %s" -#: ../src/AppDirs.vala:58 ../src/AppDirs.vala:88 +#: ../src/AppDirs.vala:74 ../src/AppDirs.vala:104 #, c-format msgid "Unable to create data directory %s: %s" msgstr "No s'ha pogut crear el directori de dades %s: %s" #. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:152 +#: ../src/AppDirs.vala:168 msgid "Pictures" msgstr "Imatges" -#: ../src/AppDirs.vala:190 +#: ../src/AppDirs.vala:206 #, c-format msgid "Unable to create temporary directory %s: %s" msgstr "No s'ha pogut crear el directori temporal %s: %s" -#: ../src/AppDirs.vala:207 ../src/AppDirs.vala:223 +#: ../src/AppDirs.vala:223 ../src/AppDirs.vala:254 #, c-format msgid "Unable to create data subdirectory %s: %s" msgstr "No s'ha pogut crear el subdirectori de dades %s: %s" -#: ../src/AppWindow.vala:53 +#: ../src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "No s'ha pogut fer que es pugui escriure al directori %s" + +#: ../src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "No s'ha pogut fer que es pugui escriure al directori %s: %s" + +#: ../src/AppWindow.vala:54 msgid "Pin Toolbar" msgstr "Mantén la barra d'eines" -#: ../src/AppWindow.vala:54 +#: ../src/AppWindow.vala:55 msgid "Pin the toolbar open" msgstr "Mantén la barra d'eines oberta" -#: ../src/AppWindow.vala:59 +#: ../src/AppWindow.vala:60 msgid "Leave fullscreen" msgstr "Surt de la pantalla completa" -#: ../src/AppWindow.vala:525 +#: ../src/AppWindow.vala:496 msgid "_Contents" msgstr "C_ontingut" -#: ../src/AppWindow.vala:530 +#: ../src/AppWindow.vala:501 msgid "_Frequently Asked Questions" msgstr "_Preguntes més freqüents" -#: ../src/AppWindow.vala:535 +#: ../src/AppWindow.vala:506 msgid "_Report a Problem..." msgstr "Info_rma d'un problema..." -#: ../src/AppWindow.vala:634 ../src/AppWindow.vala:655 -#: ../src/AppWindow.vala:672 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1418 ../src/Dialogs.vala:1441 ../src/Resources.vala:162 -#: ../src/data_imports/DataImportsUI.vala:374 -#: ../src/publishing/PublishingUI.vala:475 +#: ../src/AppWindow.vala:605 ../src/AppWindow.vala:626 +#: ../src/AppWindow.vala:643 ../src/data_imports/DataImportsUI.vala:413 +#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1425 +#: ../src/Dialogs.vala:1448 ../src/publishing/PublishingUI.vala:512 +#: ../src/Resources.vala:157 msgid "_Cancel" msgstr "_Cancel·la" -#: ../src/AppWindow.vala:682 +#: ../src/AppWindow.vala:653 #, c-format msgid "" "A fatal error occurred when accessing Shotwell's library. Shotwell cannot " @@ -1115,21 +883,21 @@ msgstr "" "\n" "%s" -#: ../src/AppWindow.vala:702 -msgid "Visit the Yorba web site" -msgstr "Vés al lloc web d'en Yorba" +#: ../src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "Visiteu la pàgina web del Shotwell" -#: ../src/AppWindow.vala:714 +#: ../src/AppWindow.vala:685 #, c-format msgid "Unable to display help: %s" msgstr "No s'ha pogut mostrar l'ajuda: %s" -#: ../src/AppWindow.vala:722 +#: ../src/AppWindow.vala:693 #, c-format msgid "Unable to navigate to bug database: %s" msgstr "No es pot navegar a causa d'un error a la base de dades: %s" -#: ../src/AppWindow.vala:730 +#: ../src/AppWindow.vala:701 #, c-format msgid "Unable to display FAQ: %s" msgstr "No s'han pogut mostrar les PMF: %s" @@ -1195,112 +963,277 @@ msgstr "Fitxer d'imatge corromput" msgid "Imported failed (%d)" msgstr "Ha fallat la importació (%d)" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2637 -msgid "S_lideshow" -msgstr "_Presentació de diapositives" +#: ../src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Càmeres" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2638 -msgid "Play a slideshow" -msgstr "Reprodueix una presentació de diapositives" +#: ../src/camera/Branch.vala:99 ../src/camera/ImportPage.vala:710 +#: ../src/camera/ImportPage.vala:726 ../src/MediaPage.vala:440 +#: ../src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Càmera" -#: ../src/CollectionPage.vala:456 -msgid "Export Photo/Video" -msgstr "Exporta la fotografia/vídeo" +#: ../src/camera/ImportPage.vala:311 ../src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" -#: ../src/CollectionPage.vala:456 -msgid "Export Photos/Videos" -msgstr "Exporta les fotografies/vídeos" +#: ../src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"No s'ha pogut desmuntar la càmera. Intenteu desmuntar-la des del gestor de " +"fitxers." -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3211 -msgid "Export Photo" -msgstr "Exporta les fotografies" +#. hide duplicates checkbox +#: ../src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Amaga les fotografies que ja s'hagin importat" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 -msgid "Export Photos" -msgstr "Exporta les fotografies" +#: ../src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Mostra només les fotografies que no s'hagin importat" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Rotating" -msgstr "S'està girant" +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: ../src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "S'està iniciant la importació, espereu..." -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Undoing Rotate" -msgstr "S'està desfent la rotació" +#: ../src/camera/ImportPage.vala:873 ../src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Títols" -#: ../src/CollectionPage.vala:570 -msgid "Flipping Horizontally" -msgstr "S'està invertint horitzontalment" +#: ../src/camera/ImportPage.vala:874 ../src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Mostra el títol de cada fotografia" -#: ../src/CollectionPage.vala:571 -msgid "Undoing Flip Horizontally" -msgstr "S'està desfent la inversió horitzontal" +#: ../src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "Importa les _seleccionades" -#: ../src/CollectionPage.vala:580 -msgid "Flipping Vertically" -msgstr "S'està invertint verticalment" +#: ../src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Importa les fotografies seleccionades a la biblioteca" -#: ../src/CollectionPage.vala:581 -msgid "Undoing Flip Vertically" -msgstr "S'està desfent la inversió verticalment" +#: ../src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "Importa-les _totes" -#: ../src/Commands.vala:733 -msgid "Reverting" +#: ../src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Importa totes les fotografies a la biblioteca" + +#. it's mounted, offer to unmount for the user +#: ../src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Cal que el Shotwell desmunti la càmera del sistema de fitxers per poder-hi " +"accedir. Voleu continuar?" + +#: ../src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_Desmunta-la" + +#: ../src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Desmunteu la càmera." + +#: ../src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"Una altra aplicació està blocant la càmera. El Shotwell només pot accedir a " +"la càmera si no està blocada. Tanqueu qualsevol altra aplicació que " +"l'estigui utilitzant i torneu-ho a intentar." + +#: ../src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "Tanqueu qualsevol altra aplicació que estigui utilitzant la càmera." + +#: ../src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"No es poden obtenir previsualitzacions de la càmera:\n" +"%s" + +#: ../src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "S'està desmuntant..." + +#: ../src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "S'està recollint la informació de les fotografies" + +#: ../src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "S'està recollint la previsualització de %s" + +#: ../src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "No es pot blocar la càmera: %s" + +#: ../src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "Voleu suprimir aquesta fotografia de la càmera?" +msgstr[1] "Voleu suprimir aquestes %d fotografies de la càmera?" + +#: ../src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "Voleu suprimir aquest vídeo de la càmera?" +msgstr[1] "Voleu suprimir aquests %d vídeos de la càmera?" + +#: ../src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "Voleu suprimir aquesta fotografia/vídeo de la càmera?" +msgstr[1] "Voleu suprimir aquestes %d fotografies/vídeos de la càmera?" + +#: ../src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "Voleu suprimir aquest fitxer de la càmera?" +msgstr[1] "Voleu suprimir aquests %d fitxers de la càmera?" + +#: ../src/camera/ImportPage.vala:1740 ../src/Dialogs.vala:1392 +msgid "_Keep" +msgstr "_Manté" + +#: ../src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "S'estan suprimint les fotografies/vídeos de la càmera" + +#: ../src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "" +"No s'ha pogut suprimir %d fotografia/vídeo de la càmera a causa d'errors." +msgstr[1] "" +"No s'han pogut suprimir %d fotografies/vídeos de la càmera a causa d'errors." + +#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "_Presentació de diapositives" + +#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "Reprodueix una presentació de diapositives" + +#: ../src/CollectionPage.vala:456 +msgid "Export Photo/Video" +msgstr "Exporta la fotografia/vídeo" + +#: ../src/CollectionPage.vala:456 +msgid "Export Photos/Videos" +msgstr "Exporta les fotografies/vídeos" + +#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:59 +#: ../src/PhotoPage.vala:3209 +msgid "Export Photo" +msgstr "Exporta les fotografies" + +#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:88 +msgid "Export Photos" +msgstr "Exporta les fotografies" + +#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +msgid "Rotating" +msgstr "S'està girant" + +#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +msgid "Undoing Rotate" +msgstr "S'està desfent la rotació" + +#: ../src/CollectionPage.vala:570 +msgid "Flipping Horizontally" +msgstr "S'està invertint horitzontalment" + +#: ../src/CollectionPage.vala:571 +msgid "Undoing Flip Horizontally" +msgstr "S'està desfent la inversió horitzontal" + +#: ../src/CollectionPage.vala:580 +msgid "Flipping Vertically" +msgstr "S'està invertint verticalment" + +#: ../src/CollectionPage.vala:581 +msgid "Undoing Flip Vertically" +msgstr "S'està desfent la inversió verticalment" + +#: ../src/Commands.vala:737 +msgid "Reverting" msgstr "S'està revertint" -#: ../src/Commands.vala:733 +#: ../src/Commands.vala:737 msgid "Undoing Revert" msgstr "S'està desfent la reversió" -#: ../src/Commands.vala:777 +#: ../src/Commands.vala:781 msgid "Enhancing" msgstr "S'està millorant" -#: ../src/Commands.vala:777 +#: ../src/Commands.vala:781 msgid "Undoing Enhance" msgstr "S'està desfent la millora" -#: ../src/Commands.vala:853 +#: ../src/Commands.vala:857 msgid "Applying Color Transformations" msgstr "S'estan aplicant les transformacions de colors" -#: ../src/Commands.vala:853 +#: ../src/Commands.vala:857 msgid "Undoing Color Transformations" msgstr "S'estan desfent les transformacions de color" -#: ../src/Commands.vala:1003 +#: ../src/Commands.vala:1007 msgid "Creating New Event" msgstr "S'està creant un esdeveniment nou" -#: ../src/Commands.vala:1004 +#: ../src/Commands.vala:1008 msgid "Removing Event" msgstr "S'està suprimint l'esdeveniment" -#: ../src/Commands.vala:1013 +#: ../src/Commands.vala:1017 msgid "Moving Photos to New Event" msgstr "S'estan movent les fotografies a l'esdeveniment nou" -#: ../src/Commands.vala:1014 +#: ../src/Commands.vala:1018 msgid "Setting Photos to Previous Event" msgstr "S'estan establint les fotografies a l'esdeveniment anterior" -#: ../src/Commands.vala:1071 +#: ../src/Commands.vala:1075 msgid "Merging" msgstr "S'està combinant" -#: ../src/Commands.vala:1072 +#: ../src/Commands.vala:1076 msgid "Unmerging" msgstr "S'està desfent la combinació" -#: ../src/Commands.vala:1081 +#: ../src/Commands.vala:1085 msgid "Duplicating photos" msgstr "S'estan duplicant les fotografies" -#: ../src/Commands.vala:1081 +#: ../src/Commands.vala:1085 msgid "Removing duplicated photos" msgstr "S'estan suprimint les fotografies duplicades" -#: ../src/Commands.vala:1104 +#: ../src/Commands.vala:1108 #, c-format msgid "Unable to duplicate one photo due to a file error" msgid_plural "Unable to duplicate %d photos due to file errors" @@ -1309,53 +1242,53 @@ msgstr[0] "" msgstr[1] "" "No s'han pogut duplicar %d fotografies a causa d'errors en els fitxers" -#: ../src/Commands.vala:1191 +#: ../src/Commands.vala:1195 msgid "Restoring previous rating" msgstr "S'està restaurant la valoració anterior" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: ../src/Commands.vala:1205 ../src/Commands.vala:1206 msgid "Increasing ratings" msgstr "S'estan incrementant les puntuacions" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: ../src/Commands.vala:1205 ../src/Commands.vala:1206 msgid "Decreasing ratings" msgstr "S'estan reduint les puntuacions" -#: ../src/Commands.vala:1252 +#: ../src/Commands.vala:1256 msgid "Setting RAW developer" msgstr "S'està establint el revelador RAW" -#: ../src/Commands.vala:1252 +#: ../src/Commands.vala:1256 msgid "Restoring previous RAW developer" msgstr "S'està restaurant el revelador RAW anterior" -#: ../src/Commands.vala:1253 +#: ../src/Commands.vala:1257 msgid "Set Developer" msgstr "Estableix el desenvolupador" -#: ../src/Commands.vala:1343 +#: ../src/Commands.vala:1347 msgid "Original photo could not be adjusted." msgstr "La fotografia original no s'ha pogut ajustar." -#: ../src/Commands.vala:1364 +#: ../src/Commands.vala:1368 msgid "Adjusting Date and Time" msgstr "S'està ajustant la data i l'hora" -#: ../src/Commands.vala:1364 +#: ../src/Commands.vala:1368 msgid "Undoing Date and Time Adjustment" msgstr "S'està desfent l'ajustament de la data i l'hora" -#: ../src/Commands.vala:1395 +#: ../src/Commands.vala:1399 msgid "One original photo could not be adjusted." msgid_plural "The following original photos could not be adjusted." msgstr[0] "La fotografia original no s'ha pogut ajustar." msgstr[1] "Les fotografies originals no s'han pogut ajustar." -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 +#: ../src/Commands.vala:1401 ../src/Commands.vala:1425 msgid "Time Adjustment Error" msgstr "S'ha produït un error en ajustar l'hora" -#: ../src/Commands.vala:1419 +#: ../src/Commands.vala:1423 msgid "Time adjustments could not be undone on the following photo file." msgid_plural "" "Time adjustments could not be undone on the following photo files." @@ -1366,63 +1299,157 @@ msgstr[1] "" "Els ajustaments de l'hora no s'han pogut desfer en els fitxers de " "fotografies següents." -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 +#: ../src/Commands.vala:1637 ../src/Commands.vala:1660 msgid "Create Tag" msgstr "Crea una etiqueta" -#: ../src/Commands.vala:1691 +#: ../src/Commands.vala:1695 #, c-format msgid "Move Tag \"%s\"" msgstr "Mou l'etiqueta «%s»" -#: ../src/Commands.vala:2343 +#: ../src/Commands.vala:2347 msgid "Move Photos to Trash" msgstr "Mou les fotografies a la paperera" -#: ../src/Commands.vala:2343 +#: ../src/Commands.vala:2347 msgid "Restore Photos from Trash" msgstr "Restaura les fotografies de la paperera" -#: ../src/Commands.vala:2344 +#: ../src/Commands.vala:2348 msgid "Move the photos to the Shotwell trash" msgstr "Mou les fotografies a la paperera del Shotwell" -#: ../src/Commands.vala:2344 +#: ../src/Commands.vala:2348 msgid "Restore the photos back to the Shotwell library" msgstr "Restaura les fotografies cap a la biblioteca del Shotwell" -#: ../src/Commands.vala:2363 +#: ../src/Commands.vala:2367 msgid "Moving Photos to Trash" msgstr "S'estan movent les fotografies a la paperera" -#: ../src/Commands.vala:2363 +#: ../src/Commands.vala:2367 msgid "Restoring Photos From Trash" msgstr "S'estan restaurant les fotografies de la paperera" -#: ../src/Commands.vala:2449 +#: ../src/Commands.vala:2453 msgid "Flag selected photos" msgstr "Senyala les fotografies seleccionades" -#: ../src/Commands.vala:2450 +#: ../src/Commands.vala:2454 msgid "Unflag selected photos" msgstr "Treu el senyalador a les fotografies seleccionades" -#: ../src/Commands.vala:2451 +#: ../src/Commands.vala:2455 msgid "Flagging selected photos" msgstr "S'estan marcant les fotos seleccionades" -#: ../src/Commands.vala:2452 +#: ../src/Commands.vala:2456 msgid "Unflagging selected photos" msgstr "S'estan desmarcant les fotos seleccionades" -#: ../src/Commands.vala:2459 +#: ../src/Commands.vala:2463 msgid "Flag" msgstr "Senyala" -#: ../src/Commands.vala:2459 +#: ../src/Commands.vala:2463 msgid "Unflag" msgstr "Treu el senyalador" +#. Send an empty job to the queue to mark the end of the import +#: ../src/data_imports/DataImportsPluginHost.vala:65 +#: ../src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "Base de dades %s" + +#: ../src/data_imports/DataImportsPluginHost.vala:148 +#: ../src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "No pot continuar la importació des de %s perquè s'ha produït un error:" + +#: ../src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "" +"Intenteu importar des d'un altre servei, seleccioneu-ne un del menú següent." + +#: ../src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"No teniu cap connector d'importació de dades activat.\n" +"\n" +"Per poder utilitzar la funcionalitat d'importació des d'una aplicació, heu " +"de tenir com a mínim un connector d'importació de dades habilitat. Podeu " +"habilitar els connectors al diàleg de preferències." + +#: ../src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Fitxer de base de dades:" + +#: ../src/data_imports/DataImportsUI.vala:112 +#: ../src/library/LibraryWindow.vala:904 +msgid "_Import" +msgstr "_Importa" + +#: ../src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Importa des de l'aplicació" + +#: ../src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "Importar mitjans _de:" + +#: ../src/data_imports/DataImportsUI.vala:408 +#: ../src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "_Tanca" + +#: ../src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Dades de les importacions" + +#: ../src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "" +"No s'ha pogut obrir o crear la base de dades de fotografies %s: codi d'error " +"%d" + +#: ../src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"No s'ha pogut escriure al fitxer de la base de dades de fotografies:\n" +" %s" + +#: ../src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"S'ha produït un error en accedir al fitxer de la base de dades:\n" +" %s\n" +"\n" +"L'error ha estat: \n" +"%s" + +#: ../src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "No s'ha pogut restaurar la base de dades de fotografies %s" + #: ../src/DesktopIntegration.vala:121 #, c-format msgid "Unable to launch Nautilus Send-To: %s" @@ -1450,9 +1477,9 @@ msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" msgstr[0] "Això suprimirà l'etiqueta «%s» d'una fotografia. Voleu continuar?" msgstr[1] "Això suprimirà l'etiqueta «%s» de %d fotografies. Voleu continuar?" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1386 -#: ../src/Resources.vala:163 ../src/Resources.vala:369 -#: ../src/Resources.vala:417 ../src/Resources.vala:682 +#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1393 +#: ../src/Resources.vala:158 ../src/Resources.vala:361 +#: ../src/Resources.vala:409 ../src/Resources.vala:674 msgid "_Delete" msgstr "_Suprimeix" @@ -1461,7 +1488,7 @@ msgstr "_Suprimeix" msgid "This will remove the saved search \"%s\". Continue?" msgstr "Això suprimirà la cerca desada «%s». Voleu continuar?" -#: ../src/Dialogs.vala:35 +#: ../src/Dialogs.vala:36 msgid "" "Switching developers will undo all changes you have made to this photo in " "Shotwell" @@ -1475,11 +1502,11 @@ msgstr[1] "" "En canviar els desenvolupadors es desfaran tots els canvis que heu fet a " "aquestes fotos al Shotwell" -#: ../src/Dialogs.vala:39 +#: ../src/Dialogs.vala:40 msgid "_Switch Developer" msgstr "_Canvia el desenvolupador" -#: ../src/Dialogs.vala:58 +#: ../src/Dialogs.vala:59 msgid "Export Video" msgstr "Exporta vídeos" @@ -1488,7 +1515,7 @@ msgstr "Exporta vídeos" #. if we can't copy an image over for editing in an external tool. #. Did we fail because we can't write to this directory? #. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 +#: ../src/Dialogs.vala:116 #, c-format msgid "" "Shotwell couldn't create a file for editing this photo because you do not " @@ -1497,7 +1524,7 @@ msgstr "" "El Shotwell no ha pogut crear un fitxer per editar aquesta fotografia perquè " "no teniu permís per escriure a %s." -#: ../src/Dialogs.vala:124 +#: ../src/Dialogs.vala:125 msgid "" "Unable to export the following photo due to a file error.\n" "\n" @@ -1506,7 +1533,7 @@ msgstr "" "fitxer.\n" "\n" -#: ../src/Dialogs.vala:130 +#: ../src/Dialogs.vala:131 msgid "" "\n" "\n" @@ -1516,96 +1543,100 @@ msgstr "" "\n" "Voleu continuar exportant?" +#: ../src/Dialogs.vala:132 +msgid "Con_tinue" +msgstr "Con_tinua" + #. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really #. aren't formats so much as they are operating modes that determine specific formats. #. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 +#: ../src/Dialogs.vala:148 msgid "Unmodified" msgstr "Sense modificar" -#: ../src/Dialogs.vala:148 +#: ../src/Dialogs.vala:149 msgid "Current" msgstr "Actual" #. layout controls -#: ../src/Dialogs.vala:213 +#: ../src/Dialogs.vala:216 msgid "_Format:" msgstr "_Format:" -#: ../src/Dialogs.vala:216 +#: ../src/Dialogs.vala:219 msgid "_Quality:" msgstr "_Qualitat:" -#: ../src/Dialogs.vala:219 +#: ../src/Dialogs.vala:222 msgid "_Scaling constraint:" msgstr "Constant d'e_scala:" -#: ../src/Dialogs.vala:222 +#: ../src/Dialogs.vala:225 msgid "_Pixels:" msgstr " _Píxels:" -#: ../src/Dialogs.vala:225 +#: ../src/Dialogs.vala:228 msgid "Export metadata" msgstr "Exporta les metadades" -#: ../src/Dialogs.vala:459 +#: ../src/Dialogs.vala:462 msgid "Save Details..." msgstr "Desa els detalls..." -#: ../src/Dialogs.vala:460 +#: ../src/Dialogs.vala:463 msgid "Save Details" msgstr "Desa els detalls" -#: ../src/Dialogs.vala:475 +#: ../src/Dialogs.vala:478 #, c-format msgid "(and %d more)\n" msgstr "(i %d més)\n" -#: ../src/Dialogs.vala:528 +#: ../src/Dialogs.vala:531 msgid "Import Results Report" msgstr "Importa l'informe de resultats" -#: ../src/Dialogs.vala:532 +#: ../src/Dialogs.vala:535 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." -msgstr[0] "S'ha intentat importar %d fitxer" -msgstr[1] "S'han intentat importar %d fitxers" +msgstr[0] "S'ha intentat importar %d fitxer." +msgstr[1] "S'han intentat importar %d fitxers." -#: ../src/Dialogs.vala:535 +#: ../src/Dialogs.vala:538 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." -msgstr[0] "D'aquests, s'ha importat correctament %d fitxer" -msgstr[1] "D'aquests, s'han importat correctament %d fitxers" +msgstr[0] "D'aquests, s'ha importat correctament %d fitxer." +msgstr[1] "D'aquests, s'han importat correctament %d fitxers." #. #. Duplicates #. -#: ../src/Dialogs.vala:547 +#: ../src/Dialogs.vala:550 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Fotos/Vídeos duplicats que no s'han importat:" -#: ../src/Dialogs.vala:551 +#: ../src/Dialogs.vala:554 msgid "duplicates existing media item" msgstr "duplica un element multimèdia existent" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:562 +#: ../src/Dialogs.vala:565 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "Fotos/Vídeos que no s'han importat a causa d'errors de la càmera:" -#: ../src/Dialogs.vala:565 ../src/Dialogs.vala:580 ../src/Dialogs.vala:595 -#: ../src/Dialogs.vala:611 ../src/Dialogs.vala:626 ../src/Dialogs.vala:640 +#: ../src/Dialogs.vala:568 ../src/Dialogs.vala:583 ../src/Dialogs.vala:598 +#: ../src/Dialogs.vala:614 ../src/Dialogs.vala:629 ../src/Dialogs.vala:643 msgid "error message:" msgstr "missatge d'error:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:576 +#: ../src/Dialogs.vala:579 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "" "Fitxers que no s'han importat perquè no s'han reconegut com a fotos o vídeos:" @@ -1613,7 +1644,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:591 +#: ../src/Dialogs.vala:594 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1624,7 +1655,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:606 +#: ../src/Dialogs.vala:609 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" @@ -1632,7 +1663,7 @@ msgstr "" "Fotos/Vídeos que no s'han importat perquè el Shotwell no ha pogut copiar-los " "en aquesta biblioteca:" -#: ../src/Dialogs.vala:610 +#: ../src/Dialogs.vala:613 #, c-format msgid "" "couldn't copy %s\n" @@ -1644,7 +1675,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:622 +#: ../src/Dialogs.vala:625 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "" "Fotos/Vídeos que no s'han importat perquè els fitxers estan corromputs:" @@ -1652,32 +1683,32 @@ msgstr "" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:637 +#: ../src/Dialogs.vala:640 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "Fotos/Vídeos que no s'han importat per altres raons:" -#: ../src/Dialogs.vala:657 +#: ../src/Dialogs.vala:660 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" msgstr[0] "No s'ha importat una fotografia duplicada:\n" msgstr[1] "No s'han importat %d fotografies duplicades:\n" -#: ../src/Dialogs.vala:660 +#: ../src/Dialogs.vala:663 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" msgstr[0] "No s'ha importat un vídeo duplicat:\n" msgstr[1] "No s'han importat %d vídeos duplicats:\n" -#: ../src/Dialogs.vala:663 +#: ../src/Dialogs.vala:666 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" msgstr[0] "No s'ha importat una fotografia/vídeo duplicat:\n" msgstr[1] "No s'han importat %d fotografies/vídeos duplicats:\n" -#: ../src/Dialogs.vala:677 +#: ../src/Dialogs.vala:680 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1688,7 +1719,7 @@ msgstr[1] "" "Ha fallat la importació de %d fotografies a causa d'un error de fitxer o de " "maquinari:\n" -#: ../src/Dialogs.vala:680 +#: ../src/Dialogs.vala:683 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1699,7 +1730,7 @@ msgstr[1] "" "Ha fallat la importació de %d vídeos a causa d'un error de fitxer o de " "maquinari:\n" -#: ../src/Dialogs.vala:683 +#: ../src/Dialogs.vala:686 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1711,7 +1742,7 @@ msgstr[1] "" "Ha fallat la importació de %d fotografies/vídeos a causa d'un error de " "fitxer o de maquinari:\n" -#: ../src/Dialogs.vala:686 +#: ../src/Dialogs.vala:689 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1722,7 +1753,7 @@ msgstr[1] "" "Ha fallat la importació de %d fitxers a causa d'un error de fitxer o de " "maquinari:\n" -#: ../src/Dialogs.vala:700 +#: ../src/Dialogs.vala:703 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1736,7 +1767,7 @@ msgstr[1] "" "Ha fallat la importació de %d fotografies perquè no es pot escriure a la " "carpeta de la biblioteca de fotografies:\n" -#: ../src/Dialogs.vala:703 +#: ../src/Dialogs.vala:706 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1750,7 +1781,7 @@ msgstr[1] "" "Ha fallat la importació de %d vídeos perquè no es pot escriure a la carpeta " "de la biblioteca de fotografies:\n" -#: ../src/Dialogs.vala:706 +#: ../src/Dialogs.vala:709 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1765,7 +1796,7 @@ msgstr[1] "" "Ha fallat la importació de %d fotografies/vídeos perquè no es pot escriure a " "la carpeta de la biblioteca de fotografies:\n" -#: ../src/Dialogs.vala:709 +#: ../src/Dialogs.vala:712 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1779,7 +1810,7 @@ msgstr[1] "" "Ha fallat la importació de %d fitxers perquè no es pot escriure a la carpeta " "de la biblioteca de fotografies:\n" -#: ../src/Dialogs.vala:723 +#: ../src/Dialogs.vala:726 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" @@ -1788,7 +1819,7 @@ msgstr[0] "" msgstr[1] "" "Ha fallat la importació de %d fotografies a causa d'un error de la càmera:\n" -#: ../src/Dialogs.vala:726 +#: ../src/Dialogs.vala:729 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" @@ -1797,7 +1828,7 @@ msgstr[0] "" msgstr[1] "" "Ha fallat la importació de %d vídeos a causa d'un error de la càmera:\n" -#: ../src/Dialogs.vala:729 +#: ../src/Dialogs.vala:732 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" @@ -1808,7 +1839,7 @@ msgstr[1] "" "Ha fallat la importació de %d fotografies/vídeos a causa d'un error de la " "càmera:\n" -#: ../src/Dialogs.vala:732 +#: ../src/Dialogs.vala:735 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" @@ -1817,7 +1848,7 @@ msgstr[0] "" msgstr[1] "" "Ha fallat la importació de %d fitxers a causa d'un error de la càmera:\n" -#: ../src/Dialogs.vala:746 +#: ../src/Dialogs.vala:749 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" @@ -1825,7 +1856,7 @@ msgstr[0] "No s'ha pogut importar 1 foto perquè el fitxer està corromput:\n" msgstr[1] "" "No s'han pogut importar %d fotos perquè els fitxers estan corromputs:\n" -#: ../src/Dialogs.vala:749 +#: ../src/Dialogs.vala:752 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" @@ -1833,7 +1864,7 @@ msgstr[0] "No s'ha pogut importar 1 vídeo perquè el fitxer està corromput:\n" msgstr[1] "" "No s'han pogut importar %d vídeos perquè els fitxers estan corromputs:\n" -#: ../src/Dialogs.vala:752 +#: ../src/Dialogs.vala:755 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" @@ -1843,7 +1874,7 @@ msgstr[1] "" "No s'han pogut importar %d fotos/vídeos perquè els fitxers estan " "corromputs:\n" -#: ../src/Dialogs.vala:755 +#: ../src/Dialogs.vala:758 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1854,7 +1885,7 @@ msgstr[1] "No s'han pogut importar %d fitxers perquè estan corromputs:\n" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:772 +#: ../src/Dialogs.vala:775 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1863,28 +1894,28 @@ msgstr[1] "S'han omès %d fotografies no compatibles:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:787 +#: ../src/Dialogs.vala:790 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" -msgstr[0] "S'ha omès un fitxer que no era d'imatge:\n" -msgstr[1] "S'han omès %d fitxers que no eren d'imatge:\n" +msgstr[0] "S'ha omès un fitxer que no era d'imatge.\n" +msgstr[1] "S'han omès %d fitxers que no eren d'imatge.\n" -#: ../src/Dialogs.vala:798 +#: ../src/Dialogs.vala:801 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" msgstr[0] "S'ha omès una fotografia a causa de la cancel·lació de l'usuari:\n" msgstr[1] "S'han omès %d fotografies a causa de la cancel·lació de l'usuari:\n" -#: ../src/Dialogs.vala:801 +#: ../src/Dialogs.vala:804 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" msgstr[0] "S'ha omès un vídeo a causa de la cancel·lació de l'usuari:\n" msgstr[1] "S'han omès %d vídeos a causa de la cancel·lació de l'usuari:\n" -#: ../src/Dialogs.vala:804 +#: ../src/Dialogs.vala:807 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" @@ -1893,28 +1924,28 @@ msgstr[0] "" msgstr[1] "" "S'han omès %d fotografies/vídeos a causa de la cancel·lació de l'usuari:\n" -#: ../src/Dialogs.vala:807 +#: ../src/Dialogs.vala:810 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" msgstr[0] "S'ha omès un fitxer a causa de la cancel·lació de l'usuari:\n" msgstr[1] "S'han omès %d fitxers a causa de la cancel·lació de l'usuari:\n" -#: ../src/Dialogs.vala:821 +#: ../src/Dialogs.vala:824 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" msgstr[0] "S'ha importat una fotografia correctament.\n" msgstr[1] "S'han importat %d fotografies correctament.\n" -#: ../src/Dialogs.vala:824 +#: ../src/Dialogs.vala:827 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" msgstr[0] "S'ha importat un vídeo correctament.\n" msgstr[1] "S'han importat %d vídeos correctament.\n" -#: ../src/Dialogs.vala:827 +#: ../src/Dialogs.vala:830 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1923,93 +1954,89 @@ msgstr[1] "S'han importat %d fotografies/vídeos correctament.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:843 +#: ../src/Dialogs.vala:846 msgid "No photos or videos imported.\n" msgstr "No s'ha importat cap vídeo o fotografia.\n" -#: ../src/Dialogs.vala:850 ../src/Dialogs.vala:869 +#: ../src/Dialogs.vala:853 ../src/Dialogs.vala:872 msgid "Import Complete" msgstr "S'ha completat la importació" -#: ../src/Dialogs.vala:1155 +#: ../src/Dialogs.vala:1158 #, c-format msgid "%d second" msgid_plural "%d seconds" msgstr[0] "%d segon" msgstr[1] "%d segons" -#: ../src/Dialogs.vala:1158 +#: ../src/Dialogs.vala:1161 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minut" msgstr[1] "%d minuts" -#: ../src/Dialogs.vala:1162 +#: ../src/Dialogs.vala:1165 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hora" msgstr[1] "%d hores" -#: ../src/Dialogs.vala:1165 +#: ../src/Dialogs.vala:1168 msgid "1 day" msgstr "1 dia" -#: ../src/Dialogs.vala:1315 ../src/Resources.vala:236 +#: ../src/Dialogs.vala:1322 ../src/Resources.vala:231 msgid "Rename Event" msgstr "Canvia el nom de l'esdeveniment" -#: ../src/Dialogs.vala:1315 +#: ../src/Dialogs.vala:1322 msgid "Name:" msgstr "Nom:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1326 ../src/Resources.vala:308 +#: ../src/Dialogs.vala:1333 +msgctxt "Dialog Title" msgid "Edit Title" msgstr "Edita el títol" -#: ../src/Dialogs.vala:1327 ../src/Properties.vala:340 +#: ../src/Dialogs.vala:1334 ../src/Properties.vala:340 msgid "Title:" msgstr "Títol:" #. Dialog title -#: ../src/Dialogs.vala:1343 ../src/Resources.vala:315 +#: ../src/Dialogs.vala:1350 ../src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Edita el comentari de l'esdeveniment" -#: ../src/Dialogs.vala:1344 +#: ../src/Dialogs.vala:1351 msgid "Edit Photo/Video Comment" msgstr "Edita el comentari de la foto/vídeo" -#: ../src/Dialogs.vala:1345 ../src/Properties.vala:628 +#: ../src/Dialogs.vala:1352 ../src/Properties.vala:628 msgid "Comment:" msgstr "Comentari:" -#: ../src/Dialogs.vala:1361 +#: ../src/Dialogs.vala:1368 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "Suprimeix i _envia el fitxer a la paperera" msgstr[1] "Suprimeix i _envia els fitxers a la paperera" -#: ../src/Dialogs.vala:1365 +#: ../src/Dialogs.vala:1372 msgid "_Remove From Library" msgstr "_Suprimeix de la biblioteca" -#: ../src/Dialogs.vala:1385 ../src/camera/ImportPage.vala:1741 -msgid "_Keep" -msgstr "_Manté" - -#: ../src/Dialogs.vala:1408 +#: ../src/Dialogs.vala:1415 msgid "Revert External Edit?" msgstr "Voleu revertir l'edició externa?" -#: ../src/Dialogs.vala:1408 +#: ../src/Dialogs.vala:1415 msgid "Revert External Edits?" msgstr "Voleu revertir les edicions externes?" -#: ../src/Dialogs.vala:1410 +#: ../src/Dialogs.vala:1417 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -2019,87 +2046,87 @@ msgstr[0] "" msgstr[1] "" "Això suprimirà tots els canvis fets als %d fitxers externs. Voleu continuar?" -#: ../src/Dialogs.vala:1414 +#: ../src/Dialogs.vala:1421 msgid "Re_vert External Edit" msgstr "_Reverteix l'edició externa" -#: ../src/Dialogs.vala:1414 +#: ../src/Dialogs.vala:1421 msgid "Re_vert External Edits" msgstr "_Reverteix les edicions externes" -#: ../src/Dialogs.vala:1435 +#: ../src/Dialogs.vala:1442 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" msgstr[0] "Això suprimirà la fotografia de la biblioteca. Voleu continuar?" msgstr[1] "Això suprimirà %d fotografies de la biblioteca. Voleu continuar?" -#: ../src/Dialogs.vala:1442 ../src/Resources.vala:178 +#: ../src/Dialogs.vala:1449 ../src/Resources.vala:173 msgid "_Remove" msgstr "_Suprimeix" -#: ../src/Dialogs.vala:1443 +#: ../src/Dialogs.vala:1450 msgid "Remove Photo From Library" msgstr "Suprimeix la fotografia de la biblioteca" -#: ../src/Dialogs.vala:1443 +#: ../src/Dialogs.vala:1450 msgid "Remove Photos From Library" msgstr "Suprimeix les fotografies de la biblioteca" -#: ../src/Dialogs.vala:1536 +#: ../src/Dialogs.vala:1543 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1688 +#: ../src/Dialogs.vala:1697 msgid "AM" msgstr "AM" -#: ../src/Dialogs.vala:1689 +#: ../src/Dialogs.vala:1698 msgid "PM" msgstr "PM" -#: ../src/Dialogs.vala:1690 +#: ../src/Dialogs.vala:1699 msgid "24 Hr" msgstr "24 h" -#: ../src/Dialogs.vala:1705 +#: ../src/Dialogs.vala:1714 msgid "_Shift photos/videos by the same amount" msgstr "_Desplaça les fotografies/vídeos amb la mateixa quantitat" -#: ../src/Dialogs.vala:1710 +#: ../src/Dialogs.vala:1719 msgid "Set _all photos/videos to this time" msgstr "Estableix _totes les fotografies/vídeos a aquesta hora" -#: ../src/Dialogs.vala:1717 +#: ../src/Dialogs.vala:1726 msgid "_Modify original photo file" msgstr "_Modifica el fitxer d'imatge original" -#: ../src/Dialogs.vala:1717 +#: ../src/Dialogs.vala:1726 msgid "_Modify original photo files" msgstr "_Modifica els fitxers d'imatges originals" -#: ../src/Dialogs.vala:1720 +#: ../src/Dialogs.vala:1729 msgid "_Modify original file" msgstr "_Modifica el fitxer original" -#: ../src/Dialogs.vala:1720 +#: ../src/Dialogs.vala:1729 msgid "_Modify original files" msgstr "_Modifica els fitxers originals" -#: ../src/Dialogs.vala:1806 +#: ../src/Dialogs.vala:1815 msgid "Original: " msgstr "Original: " -#: ../src/Dialogs.vala:1807 +#: ../src/Dialogs.vala:1816 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d/%m/%Y, %H:%M:%S" -#: ../src/Dialogs.vala:1808 +#: ../src/Dialogs.vala:1817 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d/%m/%Y, %I:%M:%S %p" -#: ../src/Dialogs.vala:1897 +#: ../src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2108,7 +2135,7 @@ msgstr "" "El temps d'exposició es desplaçarà cap endavant per\n" "%d %s, %d %s, %d %s i %d %s." -#: ../src/Dialogs.vala:1898 +#: ../src/Dialogs.vala:1907 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2117,31 +2144,31 @@ msgstr "" "El temps d'exposició es desplaçarà cap enrere per\n" "%d %s, %d %s, %d %s i %d %s." -#: ../src/Dialogs.vala:1900 +#: ../src/Dialogs.vala:1909 msgid "day" msgid_plural "days" msgstr[0] "dia" msgstr[1] "dies" -#: ../src/Dialogs.vala:1901 +#: ../src/Dialogs.vala:1910 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "hores" -#: ../src/Dialogs.vala:1902 +#: ../src/Dialogs.vala:1911 msgid "minute" msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minuts" -#: ../src/Dialogs.vala:1903 +#: ../src/Dialogs.vala:1912 msgid "second" msgid_plural "seconds" msgstr[0] "segon" msgstr[1] "segons" -#: ../src/Dialogs.vala:1947 +#: ../src/Dialogs.vala:1956 #, c-format msgid "" "\n" @@ -2160,92 +2187,93 @@ msgstr[1] "" "\n" "I %d altres." -#: ../src/Dialogs.vala:1969 ../src/Dialogs.vala:1996 +#: ../src/Dialogs.vala:1980 ../src/Dialogs.vala:2007 msgid "Tags (separated by commas):" msgstr "Etiquetes (separades per comes):" -#: ../src/Dialogs.vala:2076 +#: ../src/Dialogs.vala:2087 msgid "Welcome!" msgstr "Us donem la benvinguda" -#: ../src/Dialogs.vala:2083 +#: ../src/Dialogs.vala:2094 msgid "Welcome to Shotwell!" msgstr "Us donem la benvinguda al Shotwell" -#: ../src/Dialogs.vala:2087 +#: ../src/Dialogs.vala:2098 msgid "To get started, import photos in any of these ways:" -msgstr "Per començar, importeu fotografies de qualsevol de les següents formes:" +msgstr "" +"Per començar, importeu fotografies de qualsevol de les següents formes:" -#: ../src/Dialogs.vala:2106 +#: ../src/Dialogs.vala:2117 #, c-format msgid "Choose File %s Import From Folder" msgstr "Trieu Fitxer %s Importa des d'una carpeta" -#: ../src/Dialogs.vala:2107 +#: ../src/Dialogs.vala:2118 msgid "Drag and drop photos onto the Shotwell window" msgstr "Arrossegueu i deixeu anar fotografies a la finestra del Shotwell" -#: ../src/Dialogs.vala:2108 +#: ../src/Dialogs.vala:2119 msgid "Connect a camera to your computer and import" msgstr "Connecteu una càmera al vostre ordinador i importeu-ne les fotografies" -#: ../src/Dialogs.vala:2118 +#: ../src/Dialogs.vala:2129 #, c-format msgid "_Import photos from your %s folder" msgstr "_Importa les fotografies de la carpeta %s" -#: ../src/Dialogs.vala:2125 +#: ../src/Dialogs.vala:2136 msgid "You can also import photos in any of these ways:" msgstr "També podeu importar fotografies de qualsevol d'aquestes maneres:" -#: ../src/Dialogs.vala:2135 +#: ../src/Dialogs.vala:2146 msgid "_Don't show this message again" msgstr "_No tornis a mostrar aquest missatge" -#: ../src/Dialogs.vala:2170 +#: ../src/Dialogs.vala:2181 #, c-format msgid "Import photos from your %s library" msgstr "Importa fotografies de la biblioteca %s" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2311 ../src/Dialogs.vala:2315 +#. link manually ourselves, due to a limitation of help: URIs. +#: ../src/Dialogs.vala:2328 ../src/Dialogs.vala:2332 msgid "(Help)" msgstr "(ajuda)" -#: ../src/Dialogs.vala:2324 +#: ../src/Dialogs.vala:2341 #, c-format msgid "Year%sMonth%sDay" msgstr "Any%sMes%sDia" -#: ../src/Dialogs.vala:2326 +#: ../src/Dialogs.vala:2343 #, c-format msgid "Year%sMonth" msgstr "Any%sMes" -#: ../src/Dialogs.vala:2328 +#: ../src/Dialogs.vala:2345 #, c-format msgid "Year%sMonth-Day" msgstr "Any%sMes-Dia" -#: ../src/Dialogs.vala:2330 +#: ../src/Dialogs.vala:2347 msgid "Year-Month-Day" msgstr "Any-Mes-Dia" -#: ../src/Dialogs.vala:2331 ../src/editing_tools/EditingTools.vala:781 # N.T.: femení +#: ../src/Dialogs.vala:2348 ../src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Personalitzada" #. Invalid pattern. -#: ../src/Dialogs.vala:2568 +#: ../src/Dialogs.vala:2585 msgid "Invalid pattern" msgstr "Patró no vàlid" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2670 +#: ../src/Dialogs.vala:2687 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2253,31 +2281,31 @@ msgstr "" "El Shotwell pot copiar les fotografies a la carpeta de la biblioteca o les " "pot importar sense copiar-les." -#: ../src/Dialogs.vala:2675 +#: ../src/Dialogs.vala:2692 msgid "Co_py Photos" msgstr "Co_pia les fotografies" -#: ../src/Dialogs.vala:2676 +#: ../src/Dialogs.vala:2693 msgid "_Import in Place" msgstr "_Importa-les a la ubicació" -#: ../src/Dialogs.vala:2677 +#: ../src/Dialogs.vala:2694 msgid "Import to Library" msgstr "Importa a la biblioteca" -#: ../src/Dialogs.vala:2687 ../src/PhotoPage.vala:3087 +#: ../src/Dialogs.vala:2704 ../src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Suprimeix de la biblioteca" -#: ../src/Dialogs.vala:2688 ../src/PhotoPage.vala:3087 +#: ../src/Dialogs.vala:2705 ../src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "S'està suprimint la fotografia de la biblioteca" -#: ../src/Dialogs.vala:2688 +#: ../src/Dialogs.vala:2705 msgid "Removing Photos From Library" msgstr "S'estan suprimint les fotografies de la biblioteca" -#: ../src/Dialogs.vala:2702 +#: ../src/Dialogs.vala:2719 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2300,7 +2328,7 @@ msgstr[1] "" "\n" "Aquesta acció no es pot desfer." -#: ../src/Dialogs.vala:2706 +#: ../src/Dialogs.vala:2723 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2323,7 +2351,7 @@ msgstr[1] "" "\n" "Aquesta acció no es pot desfer." -#: ../src/Dialogs.vala:2710 +#: ../src/Dialogs.vala:2727 #, c-format msgid "" "This will remove the photo from your Shotwell library. Would you also like " @@ -2346,7 +2374,7 @@ msgstr[1] "" "\n" "Aquesta acció no es pot desfer." -#: ../src/Dialogs.vala:2742 +#: ../src/Dialogs.vala:2759 #, c-format msgid "" "The photo or video cannot be moved to your desktop trash. Delete this file?" @@ -2360,13 +2388,17 @@ msgstr[1] "" "suprimir aquests fitxers?" #. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2759 +#: ../src/Dialogs.vala:2776 #, c-format msgid "The photo or video cannot be deleted." msgid_plural "%d photos/videos cannot be deleted." msgstr[0] "La fotografia o vídeo no es pot suprimir." msgstr[1] "%d fotografies/vídeos no es poden suprimir." +#: ../src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Amplada o alçada" + #: ../src/Dimensions.vala:23 msgid "Width" msgstr "Amplada" @@ -2375,2321 +2407,2010 @@ msgstr "Amplada" msgid "Height" msgstr "Alçada" -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "No s'ha pogut fer un seguiment de %s: no és un directori (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Esdeveniment %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "No s'ha pogut generar un fitxer temporal per a %s: %s" - -#: ../src/Exporter.vala:299 -# N.T.: Títol d'una secció d'un diàleg -msgid "Exporting" -msgstr "Exportació" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "Ja existeix el fitxer %s. Voleu reemplaçar-lo?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_Omet-lo" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "_Reemplaça'l" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "Reempl_aça'ls tots" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Exporta" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "No s'han pogut processar les actualitzacions de seguiment: %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Ajusta la mida de les miniatures" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2593 -#: ../src/Resources.vala:188 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "_Amplia" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Augmenta la mida de les miniatures" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2599 -#: ../src/Resources.vala:189 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "_Redueix" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Redueix la mida de les miniatures" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "Ordena les _fotografies" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "_Reprodueix el vídeo" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "Obre els vídeos seleccionats en el reproductor de vídeo del sistema" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2642 -msgid "_Developer" -msgstr "_Desenvolupador" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:711 ../src/camera/ImportPage.vala:727 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Càmera" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:874 -msgid "_Titles" -msgstr "_Títols" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:875 -msgid "Display the title of each photo" -msgstr "Mostra el títol de cada fotografia" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "_Comentaris" - -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Mostra el comentari de cada foto" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:359 -msgid "Ta_gs" -msgstr "Eti_quetes" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Mostra les etiquetes de cada fotografia" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Per _títol" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Ordena les fotografies per títol" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "Per _data d'exposició" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Ordena les fotografies per data d'exposició" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Per _puntuació" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Ordena les fotografies per puntuació" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Per nom de _fitxer" - -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Ordena les fotografies per nom de fitxer" - -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:405 -msgid "_Ascending" -msgstr "_Ascendent" - -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:406 -msgid "Sort photos in an ascending order" -msgstr "Ordena les fotografies en ordre ascendent" - -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:412 -msgid "D_escending" -msgstr "D_escendent" - -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:413 -msgid "Sort photos in a descending order" -msgstr "Ordena les fotografies en ordre descendent" - -#: ../src/MediaPage.vala:723 -#, c-format -msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"El Shotwell no ha pogut reproduir el vídeo seleccionat:\n" -"%s" - -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "Cap fotografia/vídeo" +#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Fitxer" -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "No s'ha trobat cap fotografia/vídeo" +#: ../src/direct/DirectPhotoPage.vala:51 ../src/direct/DirectPhotoPage.vala:432 +#: ../src/Resources.vala:175 +msgid "_Save" +msgstr "De_sa" -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "No es poden exportar fotografies a aquest directori." +#: ../src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Desa la fotografia" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "modificat" +#: ../src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "Anomena i _desa..." -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Fotografia anterior" +#: ../src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Desa la fotografia amb un nom diferent" -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Fotografia següent" +#: ../src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Imprimeix la fotografia a una impressora connectada a l'ordinador" -#: ../src/PhotoPage.vala:1847 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Manca el fitxer font de la fotografia: %s" +#: ../src/direct/DirectPhotoPage.vala:73 ../src/library/LibraryWindow.vala:339 +#: ../src/Resources.vala:159 +msgid "_Edit" +msgstr "_Edita" -#: ../src/PhotoPage.vala:2414 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:343 -msgid "_View" -msgstr "_Visualitza" +#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_Fotografia" -#: ../src/PhotoPage.vala:2418 ../src/direct/DirectPhotoPage.vala:81 +#: ../src/direct/DirectPhotoPage.vala:81 ../src/PhotoPage.vala:2416 msgid "T_ools" msgstr "Ei_nes" -#: ../src/PhotoPage.vala:2423 ../src/direct/DirectPhotoPage.vala:86 +#: ../src/direct/DirectPhotoPage.vala:86 ../src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "Fotografia an_terior" -#: ../src/PhotoPage.vala:2424 ../src/direct/DirectPhotoPage.vala:87 +#: ../src/direct/DirectPhotoPage.vala:87 ../src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "Fotografia anterior" -#: ../src/PhotoPage.vala:2429 ../src/direct/DirectPhotoPage.vala:92 +#: ../src/direct/DirectPhotoPage.vala:92 ../src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "Fotografia _següent" -#: ../src/PhotoPage.vala:2430 ../src/direct/DirectPhotoPage.vala:93 +#: ../src/direct/DirectPhotoPage.vala:93 ../src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "Fotografia següent" -#: ../src/PhotoPage.vala:2594 ../src/direct/DirectPhotoPage.vala:175 +#: ../src/direct/DirectPhotoPage.vala:165 ../src/library/LibraryWindow.vala:343 +#: ../src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Visualitza" + +#: ../src/direct/DirectPhotoPage.vala:169 ../src/library/LibraryWindow.vala:363 +#: ../src/Resources.vala:162 +msgid "_Help" +msgstr "A_juda" + +#: ../src/direct/DirectPhotoPage.vala:174 ../src/MediaPage.vala:340 +#: ../src/PhotoPage.vala:2591 ../src/Resources.vala:183 +msgid "Zoom _In" +msgstr "_Amplia" + +#: ../src/direct/DirectPhotoPage.vala:175 ../src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "Incrementa l'ampliació de la fotografia" -#: ../src/PhotoPage.vala:2600 ../src/direct/DirectPhotoPage.vala:181 +#: ../src/direct/DirectPhotoPage.vala:180 ../src/MediaPage.vala:346 +#: ../src/PhotoPage.vala:2597 ../src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "_Redueix" + +#: ../src/direct/DirectPhotoPage.vala:181 ../src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "Redueix l'ampliació de la fotografia" -#: ../src/PhotoPage.vala:2605 ../src/direct/DirectPhotoPage.vala:186 +#: ../src/direct/DirectPhotoPage.vala:186 ../src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "Ajusta a l'amplada de la _pàgina" -#: ../src/PhotoPage.vala:2606 ../src/direct/DirectPhotoPage.vala:187 +#: ../src/direct/DirectPhotoPage.vala:187 ../src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "Amplia la fotografia per ajustar-la a la pantalla" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:193 +#: ../src/direct/DirectPhotoPage.vala:193 ../src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "Ampliació _100%" -#: ../src/PhotoPage.vala:2614 ../src/direct/DirectPhotoPage.vala:195 +#: ../src/direct/DirectPhotoPage.vala:195 ../src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Amplia la fotografia al 100%" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:201 +#: ../src/direct/DirectPhotoPage.vala:201 ../src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "Ampliació _200%" -#: ../src/PhotoPage.vala:2622 ../src/direct/DirectPhotoPage.vala:203 +#: ../src/direct/DirectPhotoPage.vala:203 ../src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Amplia la fotografia al 200%" -#: ../src/PhotoPage.vala:3231 +#: ../src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "Unable to export %s: %s" -msgstr "No s'ha pogut exportar %s: %s" +msgid "%s does not exist." +msgstr "No existeix %s." -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Omple tota la pàgina" +#: ../src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s no és un fitxer." -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 imatges per pàgina" +#: ../src/direct/DirectPhotoPage.vala:231 +#, c-format +msgid "" +"%s does not support the file format of\n" +"%s." +msgstr "" +"%s no és compatible amb el format de fitxer de\n" +"%s." -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 imatges per pàgina" +#: ../src/direct/DirectPhotoPage.vala:248 +#, c-format +msgid "Unable open photo %s. Sorry." +msgstr "No s'ha pogut obrir la fotografia %s." -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 imatges per pàgina" +#: ../src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "De_sa'n una còpia" -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 imatges per pàgina" +#: ../src/direct/DirectPhotoPage.vala:435 +#, c-format +msgid "Lose changes to %s?" +msgstr "Voleu descartar els canvis a %s?" -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 imatges per pàgina" +#: ../src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Tanca _sense desar" -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 imatges per pàgina" +#: ../src/direct/DirectPhotoPage.vala:469 +#, c-format +msgid "Error while saving to %s: %s" +msgstr "S'ha produït un error en desar a %s: %s" -#: ../src/Printing.vala:348 -msgid "in." -msgstr "polzades" +#: ../src/direct/DirectPhotoPage.vala:497 +#: ../src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Anomena i desa" -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" +#. verify this is a directory +#: ../src/DirectoryMonitor.vala:889 +#, c-format +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "No s'ha pogut fer un seguiment de %s: no és un directori (%s)" + +#: ../src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Torna a la mida actual de la fotografia" + +#: ../src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Estableix l'escapçament d'aquesta fotografia" + +#: ../src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "" +"Pivota el rectangle d'escapçament entre les orientacions vertical i apaïsada" + +#: ../src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Sense límits" + +#: ../src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Quadrat" + +#: ../src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Pantalla" -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 +#: ../src/editing_tools/EditingTools.vala:757 +#: ../src/editing_tools/EditingTools.vala:760 +#: ../src/editing_tools/EditingTools.vala:770 +#: ../src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" + +#: ../src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "Vídeo SD (4 : 3)" + +#: ../src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "Vídeo HD (16 : 9)" + +#: ../src/editing_tools/EditingTools.vala:761 ../src/Printing.vala:817 msgid "Wallet (2 x 3 in.)" msgstr "Cartera (2 x 3 polzades)" -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 +#: ../src/editing_tools/EditingTools.vala:762 ../src/Printing.vala:820 msgid "Notecard (3 x 5 in.)" msgstr "Targeta (3 x 5 polzades)" -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 +#: ../src/editing_tools/EditingTools.vala:763 ../src/Printing.vala:823 msgid "4 x 6 in." msgstr "4 x 6 polzades" -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 +#: ../src/editing_tools/EditingTools.vala:764 ../src/Printing.vala:826 msgid "5 x 7 in." msgstr "5 x 7 polzades" -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 +#: ../src/editing_tools/EditingTools.vala:765 ../src/Printing.vala:829 msgid "8 x 10 in." msgstr "8 x 10 polzades" -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 +#: ../src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Carta (8.5 x 11 in.)" + +#: ../src/editing_tools/EditingTools.vala:767 ../src/Printing.vala:832 msgid "11 x 14 in." msgstr "11 x 14 polzades" -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 +#: ../src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloide (11 x 17 in.)" + +#: ../src/editing_tools/EditingTools.vala:769 ../src/Printing.vala:835 msgid "16 x 20 in." msgstr "16 x 20 polzades" -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 +#: ../src/editing_tools/EditingTools.vala:771 ../src/Printing.vala:841 msgid "Metric Wallet (9 x 13 cm)" msgstr "Cartera en sistema mètric (9 x 13 cm)" -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 +#: ../src/editing_tools/EditingTools.vala:772 ../src/Printing.vala:844 msgid "Postcard (10 x 15 cm)" msgstr "Postal (10 x 15 cm)" -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 +#: ../src/editing_tools/EditingTools.vala:773 ../src/Printing.vala:847 msgid "13 x 18 cm" msgstr "13 x 18 cm" -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 +#: ../src/editing_tools/EditingTools.vala:774 ../src/Printing.vala:850 msgid "18 x 24 cm" msgstr "18 x 24 cm" -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 +#: ../src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 x 297 mm)" + +#: ../src/editing_tools/EditingTools.vala:776 ../src/Printing.vala:853 msgid "20 x 30 cm" msgstr "20 x 30 cm" -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 +#: ../src/editing_tools/EditingTools.vala:777 ../src/Printing.vala:856 msgid "24 x 40 cm" msgstr "24 x 40 cm" -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 +#: ../src/editing_tools/EditingTools.vala:778 ../src/Printing.vala:859 msgid "30 x 40 cm" msgstr "30 x 40 cm" -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Paràmetres de la imatge" +#: ../src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297 x 420 mm)" -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "S'està imprimint..." +#: ../src/editing_tools/EditingTools.vala:1872 ../src/Properties.vala:395 +msgid "Size:" +msgstr "Mida:" -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 -#, c-format -msgid "" -"Unable to print photo:\n" -"\n" -"%s" -msgstr "" -"No s'ha pogut imprimir la fotografia:\n" -"\n" -"%s" +#: ../src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Tanca l'eina d'ulls vermells" -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Avui" +#: ../src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Suprimeix tots els efectes d'ulls vermells de la regió seleccionada" -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Ahir" +#: ../src/editing_tools/EditingTools.vala:2226 +#: ../src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_Reinicia" -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:312 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" +#. fit both on the top line, emit and move on +#: ../src/editing_tools/EditingTools.vala:2240 ../src/Properties.vala:436 +#: ../src/Properties.vala:440 ../src/Properties.vala:447 +msgid "Exposure:" +msgstr "Exposició:" -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Elements:" +#: ../src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Saturació:" -#: ../src/Properties.vala:346 -#, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d esdeveniment" -msgstr[1] "%d esdeveniments" +#: ../src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Tint:" -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 -#, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "Una fotografia" -msgstr[1] "%d fotografies" +#: ../src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Temperatura:" -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 -#, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d vídeo" -msgstr[1] "%d vídeos" +#: ../src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Ombres:" -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Data:" +#: ../src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Realçats:" -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Hora:" +#: ../src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Reinicialitza els colors" -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "Des de:" +#: ../src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Reinicialitza tots els ajustaments de color a l'original" -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "A:" +#: ../src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Temperatura" -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1890 -msgid "Size:" -msgstr "Mida:" +#: ../src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Tint" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Durada:" +#: ../src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Saturació" -#: ../src/Properties.vala:404 -#, c-format -msgid "%.1f seconds" -msgstr "%.1f segons" +#: ../src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Exposició" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Revelador:" +#: ../src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Ombres" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2258 -msgid "Exposure:" -msgstr "Exposició:" +#: ../src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Realçats" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Ubicació:" +#: ../src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Expansió del contrast" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Mida del fitxer:" +#: ../src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Angle:" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Desenvolupament actual:" +#: ../src/editing_tools/StraightenTool.vala:100 ../src/Resources.vala:202 +msgid "_Straighten" +msgstr "_Adreça" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Mida original:" +#: ../src/events/Branch.vala:25 +msgid "Events" +msgstr "Esdeveniments" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Fabricant de la càmera:" +#: ../src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d fotografia/vídeo" +msgstr[1] "%d fotografies/vídeos" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Model de la càmera:" +#: ../src/events/EventDirectoryItem.vala:85 ../src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d vídeo" +msgstr[1] "%d vídeos" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Flaix:" +#: ../src/events/EventDirectoryItem.vala:87 ../src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "Una fotografia" +msgstr[1] "%d fotografies" -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Distància focal:" +#: ../src/events/EventPage.vala:129 +msgid "No Event" +msgstr "Cap esdeveniment" -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Data d'exposició:" +#: ../src/events/EventsDirectoryPage.vala:130 ../src/MediaPage.vala:457 +msgid "_Comments" +msgstr "_Comentaris" -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Temps d'exposició:" +#: ../src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Mostra el comentari per cada esdeveniment" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Desplaçament de l'exposició:" +#: ../src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "Sense esdeveniments" -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "Latitud GPS:" +#: ../src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "No s'han trobat esdeveniments" -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "Longitud GPS:" +#: ../src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Tots els esdeveniments" -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Artista:" +#: ../src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Sense data" -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Copyright:" +#: ../src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Programari:" +#: ../src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Properties.vala:639 -msgid "Extended Information" -msgstr "Informació ampliada" +#. if no name, pretty up the start time +#: ../src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Esdeveniment %s" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Gestor fotogràfic" +#: ../src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "No s'ha pogut generar un fitxer temporal per a %s: %s" -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Visualitzador fotogràfic" +# N.T.: Títol d'una secció d'un diàleg +#: ../src/Exporter.vala:299 +msgid "Exporting" +msgstr "Exportació" -#: ../src/Resources.vala:144 -msgid "Rotate _Right" -msgstr "Gi_ra a la dreta" +#: ../src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "Ja existeix el fitxer %s. Voleu reemplaçar-lo?" -#: ../src/Resources.vala:145 ../src/Resources.vala:150 -msgid "Rotate" -msgstr "Gira" +#: ../src/Exporter.vala:319 +msgid "_Skip" +msgstr "_Omet-lo" -#: ../src/Resources.vala:146 -msgid "Rotate Right" -msgstr "Gira a la dreta" +#: ../src/Exporter.vala:319 +msgid "_Replace" +msgstr "_Reemplaça'l" -#: ../src/Resources.vala:147 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "" -"Gira les fotografies cap a la dreta (premeu Ctrl per girar cap a l'esquerra)" +#: ../src/Exporter.vala:319 +msgid "Replace _All" +msgstr "Reempl_aça'ls tots" -#: ../src/Resources.vala:149 -msgid "Rotate _Left" -msgstr "Gira a _l'esquerra" +#: ../src/Exporter.vala:319 +msgid "Export" +msgstr "Exporta" -#: ../src/Resources.vala:151 -msgid "Rotate Left" -msgstr "Gira a l'esquerra" +#: ../src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Carpetes" -#: ../src/Resources.vala:152 -msgid "Rotate the photos left" -msgstr "Gira les fotografies cap a l'esquerra" +#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 +msgid "Library" +msgstr "Biblioteca" -#: ../src/Resources.vala:154 -msgid "Flip Hori_zontally" -msgstr "Inverteix horit_zontalment" +#: ../src/library/Branch.vala:97 ../src/SearchFilter.vala:594 +#: ../src/SearchFilter.vala:595 +msgid "Photos" +msgstr "Fotografies" -#: ../src/Resources.vala:155 -msgid "Flip Horizontally" -msgstr "Inverteix horitzontalment" +#: ../src/library/FlaggedPage.vala:8 ../src/SearchFilter.vala:588 +#: ../src/SearchFilter.vala:589 ../src/SearchFilter.vala:988 +msgid "Flagged" +msgstr "Senyalat" -#: ../src/Resources.vala:157 -msgid "Flip Verti_cally" -msgstr "Inverteix verti_calment" +#: ../src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "S'està important..." -#: ../src/Resources.vala:158 -msgid "Flip Vertically" -msgstr "Inverteix verticalment" +#: ../src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "A_tura la importació" -#: ../src/Resources.vala:160 -msgid "_About" -msgstr "_Quant a" +#: ../src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Atura la importació de fotografies" -#: ../src/Resources.vala:161 -msgid "_Apply" -msgstr "_Aplica" +#: ../src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "S'està preparant per importar..." -#: ../src/Resources.vala:164 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:339 -msgid "_Edit" -msgstr "_Edita" +#: ../src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "S'ha importat %s" -#: ../src/Resources.vala:165 -msgid "_Forward" -msgstr "_Endavant" +#: ../src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Darrera importació" -#: ../src/Resources.vala:166 -msgid "Fulls_creen" -msgstr "_Pantalla completa" +#: ../src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "_Importa des d'una carpeta..." -#: ../src/Resources.vala:167 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:363 -msgid "_Help" -msgstr "A_juda" +#: ../src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Importa fotografies des del disc a la biblioteca" -#: ../src/Resources.vala:168 -msgid "Leave _Fullscreen" -msgstr "Surt de la _pantalla completa" +#: ../src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Importa des de l'_aplicació..." -#: ../src/Resources.vala:169 ../src/Resources.vala:371 -msgid "_New" -msgstr "_Nova" +#: ../src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "Ordena els es_deveniments" -#: ../src/Resources.vala:170 -msgid "_Next" -msgstr "_Següent" +#: ../src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "Buida la _paperera" -#: ../src/Resources.vala:171 -msgid "_OK" -msgstr "_D'acord" +#: ../src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Suprimeix totes les fotografies de la paperera" -#: ../src/Resources.vala:172 -msgid "_Play" -msgstr "_Reprodueix" +#: ../src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "Visualitza l'_esdeveniment de la fotografia" -#: ../src/Resources.vala:173 ../src/Resources.vala:325 -msgid "_Preferences" -msgstr "Preferè_ncies" +#: ../src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Cerca" -#: ../src/Resources.vala:174 -msgid "_Previous" -msgstr "An_terior" +#: ../src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Cerca fotografies i vídeos per criteri de cerca" -#: ../src/Resources.vala:175 -msgid "_Print" -msgstr "_Imprimeix" +#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 +#: ../src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "Cerca no_va desada..." -#: ../src/Resources.vala:176 -msgid "_Quit" -msgstr "_Surt" +#: ../src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_Fotografies" -#: ../src/Resources.vala:177 -msgid "_Refresh" -msgstr "Actualit_za" +#: ../src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "E_sdeveniments" -#: ../src/Resources.vala:179 -msgid "_Revert" -msgstr "Rever_teix" +#: ../src/library/LibraryWindow.vala:359 ../src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "Eti_quetes" -#: ../src/Resources.vala:180 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save" -msgstr "De_sa" +#: ../src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "Informació _bàsica" -#: ../src/Resources.vala:181 -msgid "Save _As" -msgstr "_Anomena i desa" - -#: ../src/Resources.vala:182 -msgid "Sort _Ascending" -msgstr "Ordre _ascendent" +#: ../src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Mostra informació bàsica sobre la selecció" -#: ../src/Resources.vala:183 -msgid "Sort _Descending" -msgstr "Ordre d_escendent" +#: ../src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "Informació am_pliada" -#: ../src/Resources.vala:184 -msgid "_Stop" -msgstr "A_tura" +#: ../src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Mostra informació ampliada sobre la selecció" -#: ../src/Resources.vala:185 -msgid "_Undelete" -msgstr "Rec_upera" +#: ../src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "Barra de _cerca" -#: ../src/Resources.vala:186 -msgid "_Normal Size" -msgstr "Mida _normal" +#: ../src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Mostra la barra de cerca" -#: ../src/Resources.vala:187 -msgid "Best _Fit" -msgstr "Millor e_ncaix" +#: ../src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "_Barra lateral" -#: ../src/Resources.vala:191 -msgid "_Enhance" -msgstr "_Millora" +#: ../src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Mostra la barra lateral" -#: ../src/Resources.vala:192 -msgid "Enhance" -msgstr "Millora" +#: ../src/library/LibraryWindow.vala:398 +msgid "T_oolbar" +msgstr "_Barra d'eines" -#: ../src/Resources.vala:193 -msgid "Automatically improve the photo's appearance" -msgstr "Millora automàticament l'aparença de la fotografia" +#: ../src/library/LibraryWindow.vala:399 +msgid "Display the tool bar" +msgstr "Mostra la barra d'eines" -#: ../src/Resources.vala:195 -msgid "_Copy Color Adjustments" -msgstr "_Copia els ajustaments de color" +#: ../src/library/LibraryWindow.vala:411 ../src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "_Ascendent" -#: ../src/Resources.vala:196 -msgid "Copy Color Adjustments" -msgstr "Copia els ajustaments de color" +#: ../src/library/LibraryWindow.vala:412 ../src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Ordena les fotografies en ordre ascendent" -#: ../src/Resources.vala:197 -msgid "Copy the color adjustments applied to the photo" -msgstr "Copia els ajustaments de color aplicats a la foto" +#: ../src/library/LibraryWindow.vala:418 ../src/MediaPage.vala:521 +msgid "D_escending" +msgstr "D_escendent" -#: ../src/Resources.vala:199 -msgid "_Paste Color Adjustments" -msgstr "_Enganxa els ajustaments de color" +#: ../src/library/LibraryWindow.vala:419 ../src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Ordena les fotografies en ordre descendent" -#: ../src/Resources.vala:200 -msgid "Paste Color Adjustments" -msgstr "Enganxa els ajustaments de color" +#: ../src/library/LibraryWindow.vala:657 +msgid "Import From Folder" +msgstr "Importa des d'una carpeta" -#: ../src/Resources.vala:201 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Aplica els ajustaments de color copiats a les fotos seleccionades" +#: ../src/library/LibraryWindow.vala:726 +msgid "Empty Trash" +msgstr "Buida la paperera" -#: ../src/Resources.vala:203 -msgid "_Crop" -msgstr "Es_capça" +#: ../src/library/LibraryWindow.vala:726 +msgid "Emptying Trash..." +msgstr "S'està buidant la paperera..." -#: ../src/Resources.vala:204 -msgid "Crop" -msgstr "Escapça" +#: ../src/library/LibraryWindow.vala:901 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"El Shotwell està configurat per importar les fotos al vostre directori " +"d'inici.\n" +"Us recomanem canviar això a Edita %s Preferències.\n" +"Voleu continuar la importació de les fotos?" -#: ../src/Resources.vala:205 -msgid "Crop the photo's size" -msgstr "Escapça la mida de la fotografia" +#: ../src/library/LibraryWindow.vala:904 +msgid "Library Location" +msgstr "Ubicació de la biblioteca" -#: ../src/Resources.vala:207 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "_Adreça" +#. TODO: Specify which directory/file. +#: ../src/library/LibraryWindow.vala:917 +msgid "Photos cannot be imported from this directory." +msgstr "No es poden importar fotografies des d'aquest directori." -#: ../src/Resources.vala:208 -msgid "Straighten" -msgstr "Adreça" +#: ../src/library/LibraryWindow.vala:1203 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:209 -msgid "Straighten the photo" -msgstr "Adreça la fotografia" +#: ../src/library/LibraryWindow.vala:1247 +#: ../src/library/LibraryWindow.vala:1258 +msgid "Updating library..." +msgstr "S'està actualitzant la biblioteca..." -#: ../src/Resources.vala:211 -msgid "_Red-eye" -msgstr "_Ulls vermells" +#: ../src/library/LibraryWindow.vala:1264 +msgid "Preparing to auto-import photos..." +msgstr "S'està preparant la importació automàtica de fotografies..." -#: ../src/Resources.vala:212 -msgid "Red-eye" -msgstr "Ulls vermells" +#: ../src/library/LibraryWindow.vala:1269 +msgid "Auto-importing photos..." +msgstr "S'estan important automàticament les fotografies..." -#: ../src/Resources.vala:213 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Redueix o suprimeix qualsevol efecte d'ulls vermells a la fotografia" +#: ../src/library/LibraryWindow.vala:1277 +msgid "Writing metadata to files..." +msgstr "S'estan escrivint les metadades als fitxers..." -#: ../src/Resources.vala:215 -msgid "_Adjust" -msgstr "_Ajusta" +#: ../src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Manquen fitxers" -#: ../src/Resources.vala:216 -msgid "Adjust" -msgstr "Ajusta" +#: ../src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "S'està suprimint..." -#: ../src/Resources.vala:217 -msgid "Adjust the photo's color and tone" -msgstr "Ajusta el color i el to de la fotografia" +#: ../src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Paperera" -#: ../src/Resources.vala:219 -msgid "Re_vert to Original" -msgstr "_Reverteix a l'original" +#: ../src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "La paperera està buida" -#: ../src/Resources.vala:220 -msgid "Revert to Original" -msgstr "Reverteix a l'original" +#: ../src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Suprimeix" -#: ../src/Resources.vala:222 -msgid "Revert External E_dits" -msgstr "Reverteix les edicions e_xternes" +#: ../src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "S'estan suprimint les fotografies" -#: ../src/Resources.vala:223 -msgid "Revert to the master photo" -msgstr "Reverteix a la fotografia mestra" +#: ../src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"La biblioteca de fotografies no és compatible amb aquesta versió del " +"Shotwell. Sembla que es va crear amb el Shotwell %s (esquema %d). Aquesta " +"versió és la %s (esquema %d). Utilitzeu l'última versió del Shotwell." -#: ../src/Resources.vala:225 -msgid "Set as _Desktop Background" -msgstr "Estableix com a fons d'_escriptori" +#: ../src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"El Shotwell no ha pogut actualitzar la biblioteca de fotografies de la " +"versió %s (esquema %d) a la %s (esquema %d). Per obtenir més informació " +"comproveu el Wiki del Shotwell a %s." -#: ../src/Resources.vala:226 -msgid "Set selected image to be the new desktop background" -msgstr "Estableix la imatge seleccionada com a fons de l'escriptori" +#: ../src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"La biblioteca de fotografies no és compatible amb aquesta versió del " +"Shotwell. Sembla que es va crear amb el Shotwell %s (esquema %d). Aquesta " +"versió és la %s (esquema %d). Netegeu la biblioteca mitjançant la supressió " +"de %s i torneu a importar les fotografies." -#: ../src/Resources.vala:227 -msgid "Set as _Desktop Slideshow..." -msgstr "Estableix com a presentació de _diapositives de l'escriptori..." +#: ../src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "" +"S'ha produït un error desconegut en intentar verificar la base de dades del " +"Shotwell: %s" -#: ../src/Resources.vala:229 -msgid "_Undo" -msgstr "_Desfés" +#: ../src/main.vala:104 +msgid "Loading Shotwell" +msgstr "S'està carregant el Shotwell" -#: ../src/Resources.vala:230 -msgid "Undo" -msgstr "Desfés" +#: ../src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Camí a les dades privades del Shotwell" -#: ../src/Resources.vala:232 -msgid "_Redo" -msgstr "_Refés" +#: ../src/main.vala:294 +msgid "DIRECTORY" +msgstr "DIRECTORI" -#: ../src/Resources.vala:233 -msgid "Redo" -msgstr "Refés" +#: ../src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "" +"No monitoritzis el directori de la biblioteca en mode d'execució per canvis" -#: ../src/Resources.vala:235 -msgid "Re_name Event..." -msgstr "Can_via el nom de l'esdeveniment..." +#: ../src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "No mostris la barra de progrés d'inici" -#: ../src/Resources.vala:238 -msgid "Make _Key Photo for Event" -msgstr "Fes-la la fotografia _principal de l'esdeveniment" +#: ../src/main.vala:306 +msgid "Show the application's version" +msgstr "Mostra la versió de l'aplicació" -#: ../src/Resources.vala:239 -msgid "Make Key Photo for Event" -msgstr "Fes-la la fotografia principal de l'esdeveniment" +#. init GTK (valac has already called g_threads_init()) +#: ../src/main.vala:338 +msgid "[FILE]" +msgstr "[FITXER]" -#: ../src/Resources.vala:241 -msgid "_New Event" -msgstr "Esdeveniment _nou" +#: ../src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Executeu «%s --help» per veure una llista completa de les opcions " +"disponibles de la línia d'ordres.\n" -#: ../src/Resources.vala:242 -msgid "New Event" -msgstr "Esdeveniment nou" +#: ../src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "No s'han pogut processar les actualitzacions de seguiment: %s" -#: ../src/Resources.vala:244 -msgid "Move Photos" -msgstr "Mou les fotografies" +#: ../src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Ajusta la mida de les miniatures" -#: ../src/Resources.vala:245 -msgid "Move photos to an event" -msgstr "Mou les fotografies cap a un esdeveniment" +#: ../src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Augmenta la mida de les miniatures" -#: ../src/Resources.vala:247 -msgid "_Merge Events" -msgstr "_Combina els esdeveniments" +#: ../src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Redueix la mida de les miniatures" -#: ../src/Resources.vala:248 -msgid "Merge" -msgstr "Combina" +#: ../src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "Ordena les _fotografies" -#: ../src/Resources.vala:249 -msgid "Combine events into a single event" -msgstr "Combina els esdeveniments en un únic esdeveniment" +#: ../src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "_Reprodueix el vídeo" -#: ../src/Resources.vala:251 -msgid "_Set Rating" -msgstr "_Estableix la puntuació" +#: ../src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "Obre els vídeos seleccionats en el reproductor de vídeo del sistema" -#: ../src/Resources.vala:252 -msgid "Set Rating" -msgstr "Estableix la puntuació" +#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Desenvolupador" -#: ../src/Resources.vala:253 -msgid "Change the rating of your photo" -msgstr "Canvia la puntuació de la fotografia" +#: ../src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Mostra el comentari de cada foto" -#: ../src/Resources.vala:255 -msgid "_Increase" -msgstr "_Incrementa" +#: ../src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Mostra les etiquetes de cada fotografia" -#: ../src/Resources.vala:256 -msgid "Increase Rating" -msgstr "Incrementa la puntuació" +#: ../src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Per _títol" -#: ../src/Resources.vala:258 -msgid "_Decrease" -msgstr "_Redueix" +#: ../src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Ordena les fotografies per títol" -#: ../src/Resources.vala:259 -msgid "Decrease Rating" -msgstr "Redueix la puntuació" +#: ../src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "Per _data d'exposició" -#: ../src/Resources.vala:261 -msgid "_Unrated" -msgstr "_Sense puntuació" +#: ../src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Ordena les fotografies per data d'exposició" -#: ../src/Resources.vala:262 -msgid "Unrated" -msgstr "Sense puntuació" +#: ../src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Per _puntuació" -#: ../src/Resources.vala:263 -msgid "Rate Unrated" -msgstr "Puntua les fotografies sense puntuació" +#: ../src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Ordena les fotografies per puntuació" -#: ../src/Resources.vala:264 -msgid "Setting as unrated" -msgstr "S'està establint com sense puntuació" +#: ../src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Per nom de _fitxer" -#: ../src/Resources.vala:265 -msgid "Remove any ratings" -msgstr "Suprimeix totes les puntuacions" +#: ../src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Ordena les fotografies per nom de fitxer" -#: ../src/Resources.vala:267 -msgid "_Rejected" -msgstr "_Rebutjada" +#: ../src/MediaPage.vala:723 +#, c-format +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" +"El Shotwell no ha pogut reproduir el vídeo seleccionat:\n" +"%s" -#: ../src/Resources.vala:268 -msgid "Rejected" -msgstr "Rebutjada" +#: ../src/Page.vala:1266 +msgid "No photos/videos" +msgstr "Cap fotografia/vídeo" -#: ../src/Resources.vala:269 -msgid "Rate Rejected" -msgstr "Puntua com a rebutjada" +#: ../src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "No s'han trobat fotos o vídeos que coincideixin amb el filtre actual" -#: ../src/Resources.vala:270 -msgid "Setting as rejected" -msgstr "S'està establint com a rebutjada" +#: ../src/Page.vala:2568 +msgid "Photos cannot be exported to this directory." +msgstr "No es poden exportar fotografies a aquest directori." -#: ../src/Resources.vala:271 -msgid "Set rating to rejected" -msgstr "Estableix la puntuació com a rebutjada" +#. previous button +#: ../src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Fotografia anterior" -#: ../src/Resources.vala:273 -msgid "Rejected _Only" -msgstr "Només les _rebutjades" +#. next button +#: ../src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Fotografia següent" -#: ../src/Resources.vala:274 -msgid "Rejected Only" -msgstr "Només les rebutjades" +#: ../src/PhotoPage.vala:1845 +#, c-format +msgid "Photo source file missing: %s" +msgstr "Manca el fitxer font de la fotografia: %s" -#: ../src/Resources.vala:275 -msgid "Show only rejected photos" -msgstr "Mostra només les fotografies rebutjades" +#: ../src/PhotoPage.vala:3229 +#, c-format +msgid "Unable to export %s: %s" +msgstr "No s'ha pogut exportar %s: %s" -#: ../src/Resources.vala:277 -msgid "All + _Rejected" -msgstr "Totes més les _rebutjades" +#: ../src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:278 ../src/Resources.vala:279 -msgid "Show all photos, including rejected" -msgstr "Mostra totes les fotografies, incloses les rebutjades" +#: ../src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:281 -msgid "_All Photos" -msgstr "_Totes les fotografies" +#: ../src/photos/JfifSupport.vala:185 +#, c-format +msgid "Low (%d%%)" +msgstr "Baixa (%d%%)" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:283 ../src/Resources.vala:285 -msgid "Show all photos" -msgstr "Mostra totes les fotografies" +#: ../src/photos/JfifSupport.vala:188 +#, c-format +msgid "Medium (%d%%)" +msgstr "Mitjana (%d%%)" -#: ../src/Resources.vala:287 -msgid "_Ratings" -msgstr "_Puntuacions" +#: ../src/photos/JfifSupport.vala:191 +#, c-format +msgid "High (%d%%)" +msgstr "Alta (%d%%)" -#: ../src/Resources.vala:288 -msgid "Display each photo's rating" -msgstr "Mostra la puntuació de cada fotografia" +#: ../src/photos/JfifSupport.vala:194 +#, c-format +msgid "Maximum (%d%%)" +msgstr "Màxima (%d%%)" -#: ../src/Resources.vala:290 -msgid "_Filter Photos" -msgstr "_Filtra les fotografies" +#: ../src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:291 -msgid "Filter Photos" -msgstr "Filtra les fotografies" +#: ../src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:292 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Limita el nombre de fotografies mostrades basant-se en un filtre" +#: ../src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:294 -msgid "_Duplicate" -msgstr "_Duplica" +#: ../src/Photo.vala:3753 +msgid "modified" +msgstr "modificat" -#: ../src/Resources.vala:295 -msgid "Duplicate" -msgstr "Duplica" +#: ../src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Omple tota la pàgina" -#: ../src/Resources.vala:296 -msgid "Make a duplicate of the photo" -msgstr "Fes un duplicat de la fotografia" +#: ../src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 imatges per pàgina" -#: ../src/Resources.vala:298 -msgid "_Export..." -msgstr "_Exporta..." +#: ../src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 imatges per pàgina" -#: ../src/Resources.vala:300 -msgid "_Print..." -msgstr "_Imprimeix..." +#: ../src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 imatges per pàgina" -#: ../src/Resources.vala:302 -msgid "Pu_blish..." -msgstr "Pu_blica..." +#: ../src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 imatges per pàgina" -#: ../src/Resources.vala:304 -msgid "Publish to various websites" -msgstr "Publica a diversos llocs web" +#: ../src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 imatges per pàgina" -#: ../src/Resources.vala:306 -msgid "Edit _Title..." -msgstr "Edita el _títol..." +#: ../src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 imatges per pàgina" -#: ../src/Resources.vala:310 -msgid "Edit _Comment..." -msgstr "Edita el _comentari..." +#: ../src/Printing.vala:348 +msgid "in." +msgstr "polzades" -#. Button label -#: ../src/Resources.vala:312 -msgid "Edit Comment" -msgstr "Edita el comentari..." +#: ../src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:314 -msgid "Edit Event _Comment..." -msgstr "Edita el _comentari de l'esdeveniment..." +#: ../src/Printing.vala:875 +msgid "Image Settings" +msgstr "Paràmetres de la imatge" -#: ../src/Resources.vala:317 -msgid "_Adjust Date and Time..." -msgstr "_Ajusta la data i l'hora..." +#: ../src/Printing.vala:888 +msgid "Printing..." +msgstr "S'està imprimint..." -#: ../src/Resources.vala:318 -msgid "Adjust Date and Time" -msgstr "Ajusta la data i l'hora" +#: ../src/Printing.vala:908 ../src/Printing.vala:1111 +#, c-format +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"No s'ha pogut imprimir la fotografia:\n" +"\n" +"%s" -#: ../src/Resources.vala:320 -msgid "Add _Tags..." -msgstr "Afegeix e_tiquetes..." +#: ../src/Properties.vala:84 +msgid "Today" +msgstr "Avui" -#: ../src/Resources.vala:321 -msgid "_Add Tags..." -msgstr "_Afegeix etiquetes..." +#: ../src/Properties.vala:86 +msgid "Yesterday" +msgstr "Ahir" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:323 ../src/Resources.vala:356 -msgid "Add Tags" -msgstr "Afegeix etiquetes" +#: ../src/Properties.vala:343 +msgid "Items:" +msgstr "Elements:" -#: ../src/Resources.vala:327 -msgid "Open With E_xternal Editor" -msgstr "Obre amb un editor e_xtern" +#: ../src/Properties.vala:346 +#, c-format +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d esdeveniment" +msgstr[1] "%d esdeveniments" -#: ../src/Resources.vala:329 -msgid "Open With RA_W Editor" -msgstr "Obre amb un editor d'imatges RA_W" +#. display only one date if start and end are the same +#: ../src/Properties.vala:377 +msgid "Date:" +msgstr "Data:" -#: ../src/Resources.vala:331 -msgid "Send _To..." -msgstr "Envia _a..." +#. display only one time if start and end are the same +#: ../src/Properties.vala:381 +msgid "Time:" +msgstr "Hora:" -#: ../src/Resources.vala:332 -msgid "Send T_o..." -msgstr "Enviar _a..." +#. display time range +#. display date range +#: ../src/Properties.vala:384 ../src/Properties.vala:389 +msgid "From:" +msgstr "Des de:" -#: ../src/Resources.vala:334 -msgid "_Find..." -msgstr "_Cerca..." +#: ../src/Properties.vala:385 ../src/Properties.vala:390 +msgid "To:" +msgstr "A:" -#: ../src/Resources.vala:335 -msgid "Find" -msgstr "Cerca" +#: ../src/Properties.vala:404 +msgid "Duration:" +msgstr "Durada:" -#: ../src/Resources.vala:336 -msgid "Find an image by typing text that appears in its name or tags" -msgstr "" -"Cerqueu una imatge escrivint text que aparegui en el seu nom o les seves " -"etiquetes" +#: ../src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "%.1f segons" -#: ../src/Resources.vala:338 -msgid "_Flag" -msgstr "_Senyala" +#: ../src/Properties.vala:408 +msgid "Developer:" +msgstr "Revelador:" -#: ../src/Resources.vala:340 -msgid "Un_flag" -msgstr "_Treu el senyalador" +#. nothing special to be done for now for Events +#: ../src/Properties.vala:583 +msgid "Location:" +msgstr "Ubicació:" -#: ../src/Resources.vala:343 -#, c-format -msgid "Unable to launch editor: %s" -msgstr "No s'ha pogut executar l'editor: %s" +#: ../src/Properties.vala:586 +msgid "File size:" +msgstr "Mida del fitxer:" -#: ../src/Resources.vala:348 -#, c-format -msgid "Add Tag \"%s\"" -msgstr "Afegeix l'etiqueta «%s»" +#: ../src/Properties.vala:590 +msgid "Current Development:" +msgstr "Desenvolupament actual:" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:351 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Afegeix les etiquetes «%s» i «%s»" +#: ../src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Mida original:" -#: ../src/Resources.vala:361 -#, c-format -msgid "_Delete Tag \"%s\"" -msgstr "_Suprimeix l'etiqueta «%s»" +#: ../src/Properties.vala:595 +msgid "Camera make:" +msgstr "Fabricant de la càmera:" -#: ../src/Resources.vala:365 -#, c-format -msgid "Delete Tag \"%s\"" -msgstr "Suprimeix l'etiqueta «%s»" +#: ../src/Properties.vala:598 +msgid "Camera model:" +msgstr "Model de la càmera:" -#: ../src/Resources.vala:368 -msgid "Delete Tag" -msgstr "Suprimeix l'etiqueta" +#: ../src/Properties.vala:601 +msgid "Flash:" +msgstr "Flaix:" -#: ../src/Resources.vala:374 -#, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Can_via el nom de l'etiqueta «%s»..." +#: ../src/Properties.vala:603 +msgid "Focal length:" +msgstr "Distància focal:" -#: ../src/Resources.vala:378 -#, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Canvia el nom de l'etiqueta «%s» a «%s»" +#: ../src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Data d'exposició:" -#: ../src/Resources.vala:381 -msgid "_Rename..." -msgstr "_Canvia el nom..." +#: ../src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Temps d'exposició:" -#: ../src/Resources.vala:383 -msgid "Modif_y Tags..." -msgstr "Modi_fica les etiquetes..." +#: ../src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Desplaçament de l'exposició:" -#: ../src/Resources.vala:384 -msgid "Modify Tags" -msgstr "Modifica les etiquetes" +#: ../src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "Latitud GPS:" -#: ../src/Resources.vala:387 -#, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Etiqueta la fotografia com a «%s»" +#: ../src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "Longitud GPS:" -#: ../src/Resources.vala:387 -#, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Etiqueta les fotografies com a «%s»" +#: ../src/Properties.vala:620 +msgid "Artist:" +msgstr "Artista:" -#: ../src/Resources.vala:391 -#, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Etiqueta la fotografia seleccionada com a «%s»" +#: ../src/Properties.vala:622 +msgid "Copyright:" +msgstr "Copyright:" -#: ../src/Resources.vala:392 -#, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Etiqueta les fotografies seleccionades com a «%s»" +#: ../src/Properties.vala:624 +msgid "Software:" +msgstr "Programari:" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Suprimeix l'etiqueta «%s» de la _fotografia" +#: ../src/Properties.vala:641 +msgid "Extended Information" +msgstr "Informació ampliada" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Suprimeix l'etiqueta «%s» de les _fotografies" +#: ../src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "S'està preparant per pujar" -#: ../src/Resources.vala:401 +#: ../src/publishing/PublishingPluginHost.vala:12 #, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Suprimeix l'etiqueta «%s» de la fotografia" +msgid "Uploading %d of %d" +msgstr "S'està pujant %d de %d" -#: ../src/Resources.vala:402 +#: ../src/publishing/PublishingPluginHost.vala:81 #, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Suprimeix l'etiqueta «%s» de les fotografies" +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "La publicació a %s no pot continuar perquè s'ha produït un error:" -#: ../src/Resources.vala:406 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." +#: ../src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." msgstr "" -"No s'ha pogut canviar el nom de l'etiqueta a «%s» perquè l'etiqueta ja " -"existeix." +"Si voleu intentar publicar les fotografies a un altre servei, seleccioneu-ne " +"un del menú de sobre." -#: ../src/Resources.vala:410 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "" -"No s'ha pogut canviar el nom de la cerca a «%s» perquè aquesta ja existeix." +#: ../src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "S'han publicat correctament les fotografies/vídeos seleccionats." -#: ../src/Resources.vala:413 -msgid "Saved Search" -msgstr "Cerca desada" +#: ../src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "S'han publicat correctament els vídeos seleccionats." -#: ../src/Resources.vala:415 -msgid "Delete Search" -msgstr "Suprimeix la cerca" +#: ../src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "S'han publicat correctament les fotografies seleccionades." -#: ../src/Resources.vala:418 -msgid "_Edit..." -msgstr "_Edita..." +#: ../src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "S'ha publicat correctament el vídeo seleccionat." -#: ../src/Resources.vala:419 -msgid "Re_name..." -msgstr "Ca_nvia el nom..." - -#: ../src/Resources.vala:422 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Canvia el nom de la cerca «%s» a «%s»" - -#: ../src/Resources.vala:426 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "Suprimeix la cerca «%s»" - -#: ../src/Resources.vala:584 -#, c-format -msgid "Rate %s" -msgstr "Puntua com a %s" - -#: ../src/Resources.vala:585 -#, c-format -msgid "Set rating to %s" -msgstr "Estableix la puntuació a %s" - -#: ../src/Resources.vala:586 -#, c-format -msgid "Setting rating to %s" -msgstr "S'està establint la puntuació a %s" - -#: ../src/Resources.vala:588 -#, c-format -msgid "Display %s" -msgstr "Mostra %s" - -#: ../src/Resources.vala:589 -#, c-format -msgid "Only show photos with a rating of %s" -msgstr "Mostra només les fotografies amb una puntuació de %s" - -#: ../src/Resources.vala:590 -#, c-format -msgid "%s or Better" -msgstr "%s o millor" - -#: ../src/Resources.vala:591 -#, c-format -msgid "Display %s or Better" -msgstr "Mostra només les de %s o millors" - -#: ../src/Resources.vala:592 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Mostra només les fotografies amb una puntuació de %s o millor" - -#: ../src/Resources.vala:683 -msgid "Remove the selected photos from the trash" -msgstr "Suprimeix les fotografies seleccionades de la paperera" - -#: ../src/Resources.vala:684 -msgid "Remove the selected photos from the library" -msgstr "Suprimeix les fotografies seleccionades de la biblioteca" - -#: ../src/Resources.vala:686 -msgid "_Restore" -msgstr "_Restaura" - -#: ../src/Resources.vala:687 -msgid "Move the selected photos back into the library" -msgstr "Torna les fotografies seleccionades a la biblioteca" - -#: ../src/Resources.vala:689 -msgid "Show in File Mana_ger" -msgstr "Mostra al nave_gador de fitxers" - -#: ../src/Resources.vala:690 -msgid "Open the selected photo's directory in the file manager" -msgstr "Obre el directori de la fotografia seleccionada al gestor de fitxers" - -#: ../src/Resources.vala:693 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "No s'ha pogut obrir en el gestor de fitxers: %s" - -#: ../src/Resources.vala:696 -msgid "R_emove From Library" -msgstr "_Suprimeix de la biblioteca" - -#: ../src/Resources.vala:698 -msgid "_Move to Trash" -msgstr "_Mou a la paperera" - -#: ../src/Resources.vala:700 -msgid "Select _All" -msgstr "Selecciona-ho _tot" - -#: ../src/Resources.vala:701 -msgid "Select all items" -msgstr "Selecciona tots els elements" - -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M %p" -msgstr "%-I:%M %p" - -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:785 -msgid "%-I:%M:%S %p" -msgstr "%-I:%M:%S %p" +#: ../src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "S'ha publicat correctament la fotografia seleccionada." -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:789 -msgid "%a %b %d, %Y" -msgstr "%a, %l de %b de %Y" +#: ../src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "S'està recollint la informació del compte..." -#. / 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 -#. / 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 -#: ../src/Resources.vala:794 ../src/Resources.vala:804 -msgid "%a %b %d" -msgstr "%a, %l de %d" +#: ../src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "S'està entrant..." -#. / 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 -#: ../src/Resources.vala:799 -msgid "%d, %Y" -msgstr "%l de %Y" +#: ../src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Publica les fotografies" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Projecció de diapositives" +#: ../src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Publica les fotografies _a:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Senyalat" +#: ../src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Publica vídeos" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Fotografies" +#: ../src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Publica vídeos _a:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Vídeos" +#: ../src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Publica fotografies i vídeos" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "Fotografies RAW" +#: ../src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Publica fotografies i vídeos _a" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "Fotografies RAW" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: ../src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "No s'ha pogut publicar" -#: ../src/SearchFilter.vala:934 +#: ../src/publishing/PublishingUI.vala:398 #, c-format -msgid "Error loading UI file %s: %s" +msgid "" +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"S'ha produït un error en carregar el fitxer d'interfície d'usuari %s: %s" - -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Tanca" - -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Tipus" - -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Valoració" - -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Paràmetres" - -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Enrere" - -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Vés a la fotografia anterior" - -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Fes una pausa" - -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Fes una pausa a la presentació de diapositives" - -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Següent" +"El Shotwell no pot publicar els elements seleccionats perquè no teniu un " +"connector de publicació compatible habilitat. Per corregir-ho, trieu " +"Edita les preferències de %s i habiliteu un o més dels connectors de " +"publicació a la pestanya Connectors." -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Vés a la fotografia següent" +# N.T.: Títol d'un grup de connectors +#: ../src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Publicació" -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Canvia els paràmetres de la presentació de diapositives" +#: ../src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Gestor fotogràfic" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Manquen tots els fitxers d'origen de les fotografies." +#: ../src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Visualitzador fotogràfic" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Reprodueix" +#: ../src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Gi_ra a la dreta" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Continua la presentació de diapositives" +#: ../src/Resources.vala:140 ../src/Resources.vala:145 +msgid "Rotate" +msgstr "Gira" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "sense títol" +#: ../src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Gira a la dreta" -#. multiple videos -#: ../src/VideoSupport.vala:489 -msgid "Export Videos" -msgstr "Exporta vídeos" +#: ../src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "" +"Gira les fotografies cap a la dreta (premeu Ctrl per girar cap a l'esquerra)" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Càmeres" +#: ../src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Gira a _l'esquerra" -#: ../src/camera/ImportPage.vala:459 -msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." -msgstr "" -"No s'ha pogut desmuntar la càmera. Intenteu desmuntar-la des del gestor de " -"fitxers." +#: ../src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Gira a l'esquerra" -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:776 -msgid "Hide photos already imported" -msgstr "Amaga les fotografies que ja s'hagin importat" +#: ../src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Gira les fotografies cap a l'esquerra" -#: ../src/camera/ImportPage.vala:777 -msgid "Only display photos that have not been imported" -msgstr "Mostra només les fotografies que no s'hagin importat" +#: ../src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Inverteix horit_zontalment" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:847 -msgid "Starting import, please wait..." -msgstr "S'està iniciant la importació, espereu..." +#: ../src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Inverteix horitzontalment" -#: ../src/camera/ImportPage.vala:886 -msgid "Import _Selected" -msgstr "Importa les _seleccionades" +#: ../src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Inverteix verti_calment" -#: ../src/camera/ImportPage.vala:887 -msgid "Import the selected photos into your library" -msgstr "Importa les fotografies seleccionades a la biblioteca" +#: ../src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Inverteix verticalment" -#: ../src/camera/ImportPage.vala:892 -msgid "Import _All" -msgstr "Importa-les _totes" +#: ../src/Resources.vala:155 +msgid "_About" +msgstr "_Quant a" -#: ../src/camera/ImportPage.vala:893 -msgid "Import all the photos into your library" -msgstr "Importa totes les fotografies a la biblioteca" +#: ../src/Resources.vala:156 +msgid "_Apply" +msgstr "_Aplica" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1014 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Cal que el Shotwell desmunti la càmera del sistema de fitxers per poder-hi " -"accedir. Voleu continuar?" +#: ../src/Resources.vala:160 +msgid "_Forward" +msgstr "_Endavant" -#: ../src/camera/ImportPage.vala:1020 -msgid "_Unmount" -msgstr "_Desmunta-la" +#: ../src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "_Pantalla completa" -#: ../src/camera/ImportPage.vala:1025 -msgid "Please unmount the camera." -msgstr "Desmunteu la càmera." +#: ../src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "Surt de la _pantalla completa" -#: ../src/camera/ImportPage.vala:1030 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"Una altra aplicació està blocant la càmera. El Shotwell només pot accedir a " -"la càmera si no està blocada. Tanqueu qualsevol altra aplicació que " -"l'estigui utilitzant i torneu-ho a intentar." +#: ../src/Resources.vala:164 ../src/Resources.vala:363 +msgid "_New" +msgstr "_Nova" -#: ../src/camera/ImportPage.vala:1040 -msgid "Please close any other application using the camera." -msgstr "Tanqueu qualsevol altra aplicació que estigui utilitzant la càmera." +#: ../src/Resources.vala:165 +msgid "_Next" +msgstr "_Següent" -#: ../src/camera/ImportPage.vala:1045 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"No es poden obtenir previsualitzacions de la càmera:\n" -"%s" +#: ../src/Resources.vala:166 +msgid "_OK" +msgstr "_D'acord" -#: ../src/camera/ImportPage.vala:1062 -msgid "Unmounting..." -msgstr "S'està desmuntant..." +#: ../src/Resources.vala:167 +msgid "_Play" +msgstr "_Reprodueix" -#: ../src/camera/ImportPage.vala:1168 -msgid "Fetching photo information" -msgstr "S'està recollint la informació de les fotografies" +#: ../src/Resources.vala:168 ../src/Resources.vala:317 +msgid "_Preferences" +msgstr "Preferè_ncies" -#: ../src/camera/ImportPage.vala:1523 -#, c-format -msgid "Fetching preview for %s" -msgstr "S'està recollint la previsualització de %s" +#: ../src/Resources.vala:169 +msgid "_Previous" +msgstr "An_terior" -#: ../src/camera/ImportPage.vala:1639 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "No es pot blocar la càmera: %s" +#: ../src/Resources.vala:170 +msgid "_Print" +msgstr "_Imprimeix" -#: ../src/camera/ImportPage.vala:1724 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "Voleu suprimir aquesta fotografia de la càmera?" -msgstr[1] "Voleu suprimir aquestes %d fotografies de la càmera?" +#: ../src/Resources.vala:171 +msgid "_Quit" +msgstr "_Surt" -#: ../src/camera/ImportPage.vala:1727 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "Voleu suprimir aquest vídeo de la càmera?" -msgstr[1] "Voleu suprimir aquests %d vídeos de la càmera?" +#: ../src/Resources.vala:172 +msgid "_Refresh" +msgstr "Actualit_za" -#: ../src/camera/ImportPage.vala:1730 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "Voleu suprimir aquesta fotografia/vídeo de la càmera?" -msgstr[1] "Voleu suprimir aquestes %d fotografies/vídeos de la càmera?" +#: ../src/Resources.vala:174 +msgid "_Revert" +msgstr "Rever_teix" -#: ../src/camera/ImportPage.vala:1733 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "Voleu suprimir aquest fitxer de la càmera?" -msgstr[1] "Voleu suprimir aquests %d fitxers de la càmera?" +#: ../src/Resources.vala:176 +msgid "Save _As" +msgstr "_Anomena i desa" -#: ../src/camera/ImportPage.vala:1760 -msgid "Removing photos/videos from camera" -msgstr "S'estan suprimint les fotografies/vídeos de la càmera" +#: ../src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "Ordre _ascendent" -#: ../src/camera/ImportPage.vala:1764 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "" -"No s'ha pogut suprimir %d fotografia/vídeo de la càmera a causa d'errors." -msgstr[1] "" -"No s'han pogut suprimir %d fotografies/vídeos de la càmera a causa d'errors." +#: ../src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "Ordre d_escendent" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Dades de les importacions" +#: ../src/Resources.vala:179 +msgid "_Stop" +msgstr "A_tura" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "Base de dades %s" +#: ../src/Resources.vala:180 +msgid "_Undelete" +msgstr "Rec_upera" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "No pot continuar la importació des de %s perquè s'ha produït un error:" +#: ../src/Resources.vala:181 +msgid "_Normal Size" +msgstr "Mida _normal" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "" -"Intenteu importar des d'un altre servei, seleccioneu-ne un del menú següent." +#: ../src/Resources.vala:182 +msgid "Best _Fit" +msgstr "Millor e_ncaix" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"No teniu cap connector d'importació de dades activat.\n" -"\n" -"Per poder utilitzar la funcionalitat d'importació des d'una aplicació, heu " -"de tenir com a mínim un connector d'importació de dades habilitat. Podeu " -"habilitar els connectors al diàleg de preferències." +#: ../src/Resources.vala:186 +msgid "_Enhance" +msgstr "_Millora" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Fitxer de base de dades:" +#: ../src/Resources.vala:187 +msgid "Enhance" +msgstr "Millora" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:882 -msgid "_Import" -msgstr "_Importa" +#: ../src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Millora automàticament l'aparença de la fotografia" -#: ../src/data_imports/DataImportsUI.vala:217 -msgid "Import From Application" -msgstr "Importa des de l'aplicació" +#: ../src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "_Copia els ajustaments de color" -#: ../src/data_imports/DataImportsUI.vala:369 -#: ../src/publishing/PublishingUI.vala:470 -msgid "_Close" -msgstr "_Tanca" +#: ../src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Copia els ajustaments de color" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "" -"No s'ha pogut obrir o crear la base de dades de fotografies %s: codi d'error " -"%d" +#: ../src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Copia els ajustaments de color aplicats a la foto" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"No s'ha pogut escriure al fitxer de la base de dades de fotografies:\n" -" %s" +#: ../src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "_Enganxa els ajustaments de color" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"S'ha produït un error en accedir al fitxer de la base de dades:\n" -" %s\n" -"\n" -"L'error ha estat: \n" -"%s" +#: ../src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Enganxa els ajustaments de color" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 -msgid "_File" -msgstr "_Fitxer" +#: ../src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Aplica els ajustaments de color copiats a les fotos seleccionades" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Desa la fotografia" +#: ../src/Resources.vala:198 +msgid "_Crop" +msgstr "Es_capça" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "Anomena i _desa..." +#: ../src/Resources.vala:199 +msgid "Crop" +msgstr "Escapça" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Desa la fotografia amb un nom diferent" +#: ../src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Escapça la mida de la fotografia" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Imprimeix la fotografia a una impressora connectada a l'ordinador" +#: ../src/Resources.vala:203 +msgid "Straighten" +msgstr "Adreça" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 -msgid "_Photo" -msgstr "_Fotografia" +#: ../src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Adreça la fotografia" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "No existeix %s." +#: ../src/Resources.vala:206 +msgid "_Red-eye" +msgstr "_Ulls vermells" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s no és un fitxer." +#: ../src/Resources.vala:207 +msgid "Red-eye" +msgstr "Ulls vermells" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"%s no és compatible amb el format de fitxer de\n" -"%s." +#: ../src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Redueix o suprimeix qualsevol efecte d'ulls vermells a la fotografia" -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save a Copy" -msgstr "De_sa'n una còpia" +#: ../src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Ajusta" -#: ../src/direct/DirectPhotoPage.vala:425 -#, c-format -msgid "Lose changes to %s?" -msgstr "Voleu descartar els canvis a %s?" +#: ../src/Resources.vala:211 +msgid "Adjust" +msgstr "Ajusta" -#: ../src/direct/DirectPhotoPage.vala:426 -msgid "Close _without Saving" -msgstr "Tanca _sense desar" +#: ../src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Ajusta el color i el to de la fotografia" -#: ../src/direct/DirectPhotoPage.vala:459 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "S'ha produït un error en desar a %s: %s" +#: ../src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "_Reverteix a l'original" -#: ../src/direct/DirectPhotoPage.vala:487 -#: ../src/direct/DirectPhotoPage.vala:508 -msgid "Save As" -msgstr "Anomena i desa" +#: ../src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Reverteix a l'original" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Torna a la mida actual de la fotografia" +#: ../src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Reverteix les edicions e_xternes" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Estableix l'escapçament d'aquesta fotografia" +#: ../src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Reverteix a la fotografia mestra" -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "" -"Pivota el rectangle d'escapçament entre les orientacions vertical i apaïsada" +#: ../src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "Estableix com a fons d'_escriptori" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Sense límits" +#: ../src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "Estableix la imatge seleccionada com a fons de l'escriptori" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Quadrat" +#: ../src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "Estableix com a presentació de _diapositives de l'escriptori..." -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Pantalla" +#: ../src/Resources.vala:224 +msgid "_Undo" +msgstr "_Desfés" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: ../src/Resources.vala:225 +msgid "Undo" +msgstr "Desfés" -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "Vídeo SD (4 : 3)" +#: ../src/Resources.vala:227 +msgid "_Redo" +msgstr "_Refés" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "Vídeo HD (16 : 9)" +#: ../src/Resources.vala:228 +msgid "Redo" +msgstr "Refés" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Carta (8.5 x 11 in.)" +#: ../src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Can_via el nom de l'esdeveniment..." -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloide (11 x 17 in.)" +#: ../src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "Fes-la la fotografia _principal de l'esdeveniment" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 x 297 mm)" +#: ../src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Fes-la la fotografia principal de l'esdeveniment" -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297 x 420 mm)" +#: ../src/Resources.vala:236 +msgid "_New Event" +msgstr "Esdeveniment _nou" -#: ../src/editing_tools/EditingTools.vala:1905 -msgid "Close the red-eye tool" -msgstr "Tanca l'eina d'ulls vermells" +#: ../src/Resources.vala:237 +msgid "New Event" +msgstr "Esdeveniment nou" -#: ../src/editing_tools/EditingTools.vala:1908 -msgid "Remove any red-eye effects in the selected region" -msgstr "Suprimeix tots els efectes d'ulls vermells de la regió seleccionada" +#: ../src/Resources.vala:239 +msgid "Move Photos" +msgstr "Mou les fotografies" -#: ../src/editing_tools/EditingTools.vala:2244 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_Reinicia" +#: ../src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Mou les fotografies cap a un esdeveniment" -#: ../src/editing_tools/EditingTools.vala:2266 -msgid "Saturation:" -msgstr "Saturació:" +#: ../src/Resources.vala:242 +msgid "_Merge Events" +msgstr "_Combina els esdeveniments" -#: ../src/editing_tools/EditingTools.vala:2274 -msgid "Tint:" -msgstr "Tint:" +#: ../src/Resources.vala:243 +msgid "Merge" +msgstr "Combina" -#: ../src/editing_tools/EditingTools.vala:2283 -msgid "Temperature:" -msgstr "Temperatura:" +#: ../src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Combina els esdeveniments en un únic esdeveniment" -#: ../src/editing_tools/EditingTools.vala:2291 -msgid "Shadows:" -msgstr "Ombres:" +#: ../src/Resources.vala:246 +msgid "_Set Rating" +msgstr "_Estableix la puntuació" -#: ../src/editing_tools/EditingTools.vala:2299 -msgid "Highlights:" -msgstr "Realçats:" +#: ../src/Resources.vala:247 +msgid "Set Rating" +msgstr "Estableix la puntuació" -#: ../src/editing_tools/EditingTools.vala:2353 -msgid "Reset Colors" -msgstr "Reinicialitza els colors" +#: ../src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Canvia la puntuació de la fotografia" -#: ../src/editing_tools/EditingTools.vala:2353 -msgid "Reset all color adjustments to original" -msgstr "Reinicialitza tots els ajustaments de color a l'original" +#: ../src/Resources.vala:250 +msgid "_Increase" +msgstr "_Incrementa" -#: ../src/editing_tools/EditingTools.vala:2705 -msgid "Temperature" -msgstr "Temperatura" +#: ../src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Incrementa la puntuació" -#: ../src/editing_tools/EditingTools.vala:2718 -msgid "Tint" -msgstr "Tint" +#: ../src/Resources.vala:253 +msgid "_Decrease" +msgstr "_Redueix" -#: ../src/editing_tools/EditingTools.vala:2731 -msgid "Saturation" -msgstr "Saturació" +#: ../src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Redueix la puntuació" -#: ../src/editing_tools/EditingTools.vala:2744 -msgid "Exposure" -msgstr "Exposició" +#: ../src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Sense puntuació" + +#: ../src/Resources.vala:257 +msgid "Unrated" +msgstr "Sense puntuació" + +#: ../src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Puntua les fotografies sense puntuació" -#: ../src/editing_tools/EditingTools.vala:2757 -msgid "Shadows" -msgstr "Ombres" +#: ../src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "S'està establint com sense puntuació" -#: ../src/editing_tools/EditingTools.vala:2770 -msgid "Highlights" -msgstr "Realçats" +#: ../src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Suprimeix totes les puntuacions" -#: ../src/editing_tools/EditingTools.vala:2780 -msgid "Contrast Expansion" -msgstr "Expansió del contrast" +#: ../src/Resources.vala:262 +msgid "_Rejected" +msgstr "_Rebutjada" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Angle:" +#: ../src/Resources.vala:263 +msgid "Rejected" +msgstr "Rebutjada" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Esdeveniments" +#: ../src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Puntua com a rebutjada" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d fotografia/vídeo" -msgstr[1] "%d fotografies/vídeos" +#: ../src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "S'està establint com a rebutjada" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "Cap esdeveniment" +#: ../src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Estableix la puntuació com a rebutjada" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Mostra el comentari per cada esdeveniment" +#: ../src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "Només les _rebutjades" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "Sense esdeveniments" +#: ../src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Només les rebutjades" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "No s'han trobat esdeveniments" +#: ../src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Mostra només les fotografies rebutjades" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Tots els esdeveniments" +#: ../src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Totes més les _rebutjades" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Sense data" +#: ../src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Mostra totes les fotografies, incloses les rebutjades" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: ../src/Resources.vala:275 +msgid "_All Photos" +msgstr "_Totes les fotografies" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#. Button tooltip +#: ../src/Resources.vala:277 +msgid "Show all photos" +msgstr "Mostra totes les fotografies" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Carpetes" +#: ../src/Resources.vala:279 +msgid "_Ratings" +msgstr "_Puntuacions" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Biblioteca" +#: ../src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Mostra la puntuació de cada fotografia" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "S'està important..." +#: ../src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_Filtra les fotografies" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "A_tura la importació" +#: ../src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Filtra les fotografies" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Atura la importació de fotografies" +#: ../src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Limita el nombre de fotografies mostrades basant-se en un filtre" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "S'està preparant per importar..." +#: ../src/Resources.vala:286 +msgid "_Duplicate" +msgstr "_Duplica" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "S'ha importat %s" +#: ../src/Resources.vala:287 +msgid "Duplicate" +msgstr "Duplica" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Darrera importació" +#: ../src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Fes un duplicat de la fotografia" -#: ../src/library/LibraryWindow.vala:285 -msgid "_Import From Folder..." -msgstr "_Importa des d'una carpeta..." +#: ../src/Resources.vala:290 +msgid "_Export..." +msgstr "_Exporta..." -#: ../src/library/LibraryWindow.vala:286 -msgid "Import photos from disk to library" -msgstr "Importa fotografies des del disc a la biblioteca" +#: ../src/Resources.vala:292 +msgid "_Print..." +msgstr "_Imprimeix..." -#: ../src/library/LibraryWindow.vala:293 -msgid "Import From _Application..." -msgstr "Importa des de l'_aplicació..." +#: ../src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "Pu_blica..." -#: ../src/library/LibraryWindow.vala:297 -msgid "Sort _Events" -msgstr "Ordena els es_deveniments" +#: ../src/Resources.vala:295 +msgid "Publish" +msgstr "Publica" -#: ../src/library/LibraryWindow.vala:307 -msgid "Empty T_rash" -msgstr "Buida la _paperera" +#: ../src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Publica a diversos llocs web" -#: ../src/library/LibraryWindow.vala:308 -msgid "Delete all photos in the trash" -msgstr "Suprimeix totes les fotografies de la paperera" +#: ../src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "Edita el _títol..." -#: ../src/library/LibraryWindow.vala:313 -msgid "View Eve_nt for Photo" -msgstr "Visualitza l'_esdeveniment de la fotografia" +#. Button label +#: ../src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Edita el títol" -#: ../src/library/LibraryWindow.vala:317 -msgid "_Find" -msgstr "_Cerca" +#: ../src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "Edita el _comentari..." -#: ../src/library/LibraryWindow.vala:318 -msgid "Find photos and videos by search criteria" -msgstr "Cerca fotografies i vídeos per criteri de cerca" +#. Button label +#: ../src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Edita el comentari..." -#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "Cerca no_va desada..." +#: ../src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "Edita el _comentari de l'esdeveniment..." -#: ../src/library/LibraryWindow.vala:351 -msgid "_Photos" -msgstr "_Fotografies" +#: ../src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "_Ajusta la data i l'hora..." -#: ../src/library/LibraryWindow.vala:355 -msgid "Even_ts" -msgstr "E_sdeveniments" +#: ../src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Ajusta la data i l'hora" -#: ../src/library/LibraryWindow.vala:374 -msgid "_Basic Information" -msgstr "Informació _bàsica" +#: ../src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "Afegeix e_tiquetes..." -#: ../src/library/LibraryWindow.vala:375 -msgid "Display basic information for the selection" -msgstr "Mostra informació bàsica sobre la selecció" +#: ../src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "_Afegeix etiquetes..." -#: ../src/library/LibraryWindow.vala:380 -msgid "E_xtended Information" -msgstr "Informació am_pliada" +#. Dialog title +#: ../src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Afegeix etiquetes" -#: ../src/library/LibraryWindow.vala:381 -msgid "Display extended information for the selection" -msgstr "Mostra informació ampliada sobre la selecció" +#: ../src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "Obre amb un editor e_xtern" -#: ../src/library/LibraryWindow.vala:386 -msgid "_Search Bar" -msgstr "Barra de _cerca" +#: ../src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Obre amb un editor d'imatges RA_W" -#: ../src/library/LibraryWindow.vala:387 -msgid "Display the search bar" -msgstr "Mostra la barra de cerca" +#: ../src/Resources.vala:323 +msgid "Send _To..." +msgstr "Envia _a..." -#: ../src/library/LibraryWindow.vala:392 -msgid "S_idebar" -msgstr "_Barra lateral" +#: ../src/Resources.vala:324 +msgid "Send T_o..." +msgstr "Enviar _a..." -#: ../src/library/LibraryWindow.vala:393 -msgid "Display the sidebar" -msgstr "Mostra la barra lateral" +#: ../src/Resources.vala:326 +msgid "_Find..." +msgstr "_Cerca..." -#: ../src/library/LibraryWindow.vala:651 -msgid "Import From Folder" -msgstr "Importa des d'una carpeta" +#: ../src/Resources.vala:327 +msgid "Find" +msgstr "Cerca" -#: ../src/library/LibraryWindow.vala:720 -msgid "Empty Trash" -msgstr "Buida la paperera" +#: ../src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" +msgstr "" +"Cerqueu una imatge escrivint text que aparegui en el seu nom o les seves " +"etiquetes" -#: ../src/library/LibraryWindow.vala:720 -msgid "Emptying Trash..." -msgstr "S'està buidant la paperera..." +#: ../src/Resources.vala:330 +msgid "_Flag" +msgstr "_Senyala" -#: ../src/library/LibraryWindow.vala:879 -#, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" -msgstr "" -"El Shotwell està configurat per importar les fotos al vostre directori " -"d'inici.\n" -"Us recomanem canviar això a Edita %s Preferències.\n" -"Voleu continuar la importació de les fotos?" +#: ../src/Resources.vala:332 +msgid "Un_flag" +msgstr "_Treu el senyalador" -#: ../src/library/LibraryWindow.vala:882 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Ubicació de la biblioteca" +#: ../src/Resources.vala:335 +#, c-format +msgid "Unable to launch editor: %s" +msgstr "No s'ha pogut executar l'editor: %s" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:895 -msgid "Photos cannot be imported from this directory." -msgstr "No es poden importar fotografies des d'aquest directori." +#: ../src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "Afegeix l'etiqueta «%s»" -#: ../src/library/LibraryWindow.vala:1183 +#. Used when adding two tags to photo(s) +#: ../src/Resources.vala:343 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Afegeix les etiquetes «%s» i «%s»" -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 -msgid "Updating library..." -msgstr "S'està actualitzant la biblioteca..." +#. Undo/Redo command name (in Edit menu) +#: ../src/Resources.vala:348 +#, fuzzy +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "Afegeix etiquetes" -#: ../src/library/LibraryWindow.vala:1244 -msgid "Preparing to auto-import photos..." -msgstr "S'està preparant la importació automàtica de fotografies..." +#: ../src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "_Suprimeix l'etiqueta «%s»" -#: ../src/library/LibraryWindow.vala:1249 -msgid "Auto-importing photos..." -msgstr "S'estan important automàticament les fotografies..." +#: ../src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Suprimeix l'etiqueta «%s»" -#: ../src/library/LibraryWindow.vala:1257 -msgid "Writing metadata to files..." -msgstr "S'estan escrivint les metadades als fitxers..." +#: ../src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Suprimeix l'etiqueta" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Manquen fitxers" +#: ../src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Can_via el nom de l'etiqueta «%s»..." -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "S'està suprimint..." +#: ../src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Canvia el nom de l'etiqueta «%s» a «%s»" -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Paperera" +#: ../src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Canvia el nom..." -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "La paperera està buida" +#: ../src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "Modi_fica les etiquetes..." -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Suprimeix" +#: ../src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Modifica les etiquetes" -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "S'estan suprimint les fotografies" +#: ../src/Resources.vala:379 +#, c-format +msgid "Tag Photo as \"%s\"" +msgstr "Etiqueta la fotografia com a «%s»" -#: ../src/main.vala:54 +#: ../src/Resources.vala:379 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"La biblioteca de fotografies no és compatible amb aquesta versió del " -"Shotwell. Sembla que es va crear amb el Shotwell %s (esquema %d). Aquesta " -"versió és la %s (esquema %d). Utilitzeu l'última versió del Shotwell." +msgid "Tag Photos as \"%s\"" +msgstr "Etiqueta les fotografies com a «%s»" -#: ../src/main.vala:59 +#: ../src/Resources.vala:383 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"El Shotwell no ha pogut actualitzar la biblioteca de fotografies de la " -"versió %s (esquema %d) a la %s (esquema %d). Per obtenir més informació " -"comproveu el Wiki del Shotwell a %s." +msgid "Tag the selected photo as \"%s\"" +msgstr "Etiqueta la fotografia seleccionada com a «%s»" -#: ../src/main.vala:65 +#: ../src/Resources.vala:384 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"La biblioteca de fotografies no és compatible amb aquesta versió del " -"Shotwell. Sembla que es va crear amb el Shotwell %s (esquema %d). Aquesta " -"versió és la %s (esquema %d). Netegeu la biblioteca mitjançant la supressió " -"de %s i torneu a importar les fotografies." +msgid "Tag the selected photos as \"%s\"" +msgstr "Etiqueta les fotografies seleccionades com a «%s»" -#: ../src/main.vala:71 +#: ../src/Resources.vala:388 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "" -"S'ha produït un error desconegut en intentar verificar la base de dades del " -"Shotwell: %s" +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Suprimeix l'etiqueta «%s» de la _fotografia" -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "S'està carregant el Shotwell" +#: ../src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Suprimeix l'etiqueta «%s» de les _fotografies" -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Camí a les dades privades del Shotwell" +#: ../src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "Suprimeix l'etiqueta «%s» de la fotografia" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "DIRECTORI" +#: ../src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Suprimeix l'etiqueta «%s» de les fotografies" -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" +#: ../src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." msgstr "" -"No monitoritzis el directori de la biblioteca en mode d'execució per canvis" - -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "No mostris la barra de progrés d'inici" - -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Mostra la versió de l'aplicació" - -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[FITXER]" +"No s'ha pogut canviar el nom de l'etiqueta a «%s» perquè l'etiqueta ja " +"existeix." -#: ../src/main.vala:342 +#: ../src/Resources.vala:402 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" +msgid "Unable to rename search to \"%s\" because the search already exists." msgstr "" -"Executeu «%s --help» per veure una llista completa de les opcions " -"disponibles de la línia d'ordres.\n" +"No s'ha pogut canviar el nom de la cerca a «%s» perquè aquesta ja existeix." -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#: ../src/Resources.vala:405 +msgid "Saved Search" +msgstr "Cerca desada" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: ../src/Resources.vala:407 +msgid "Delete Search" +msgstr "Suprimeix la cerca" -#: ../src/photos/JfifSupport.vala:185 -#, c-format -msgid "Low (%d%%)" -msgstr "Baixa (%d%%)" +#: ../src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Edita..." -#: ../src/photos/JfifSupport.vala:188 +#: ../src/Resources.vala:411 +msgid "Re_name..." +msgstr "Ca_nvia el nom..." + +#: ../src/Resources.vala:414 #, c-format -msgid "Medium (%d%%)" -msgstr "Mitjana (%d%%)" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Canvia el nom de la cerca «%s» a «%s»" -#: ../src/photos/JfifSupport.vala:191 +#: ../src/Resources.vala:418 #, c-format -msgid "High (%d%%)" -msgstr "Alta (%d%%)" +msgid "Delete Search \"%s\"" +msgstr "Suprimeix la cerca «%s»" -#: ../src/photos/JfifSupport.vala:194 +#: ../src/Resources.vala:576 #, c-format -msgid "Maximum (%d%%)" -msgstr "Màxima (%d%%)" +msgid "Rate %s" +msgstr "Puntua com a %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: ../src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "Estableix la puntuació a %s" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: ../src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "S'està establint la puntuació a %s" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: ../src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "Mostra %s" -#: ../src/publishing/Publishing.vala:16 -# N.T.: Títol d'un grup de connectors -msgid "Publishing" -msgstr "Publicació" +#: ../src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Mostra només les fotografies amb una puntuació de %s" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "S'està preparant per pujar" +#: ../src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s o millor" -#: ../src/publishing/PublishingPluginHost.vala:12 +#: ../src/Resources.vala:583 #, c-format -msgid "Uploading %d of %d" -msgstr "S'està pujant %d de %d" +msgid "Display %s or Better" +msgstr "Mostra només les de %s o millors" -#: ../src/publishing/PublishingPluginHost.vala:81 +#: ../src/Resources.vala:584 #, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "La publicació a %s no pot continuar perquè s'ha produït un error:" +msgid "Only show photos with a rating of %s or better" +msgstr "Mostra només les fotografies amb una puntuació de %s o millor" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "" -"Si voleu intentar publicar les fotografies a un altre servei, seleccioneu-ne " -"un del menú de sobre." +#: ../src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Suprimeix les fotografies seleccionades de la paperera" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "S'han publicat correctament les fotografies/vídeos seleccionats." +#: ../src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Suprimeix les fotografies seleccionades de la biblioteca" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "S'han publicat correctament els vídeos seleccionats." +#: ../src/Resources.vala:678 +msgid "_Restore" +msgstr "_Restaura" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "S'han publicat correctament les fotografies seleccionades." +#: ../src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Torna les fotografies seleccionades a la biblioteca" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "S'ha publicat correctament el vídeo seleccionat." +#: ../src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Mostra al nave_gador de fitxers" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "S'ha publicat correctament la fotografia seleccionada." +#: ../src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Obre el directori de la fotografia seleccionada al gestor de fitxers" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "S'està recollint la informació del compte..." +#: ../src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "No s'ha pogut obrir en el gestor de fitxers: %s" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "S'està entrant..." +#: ../src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "_Suprimeix de la biblioteca" -#: ../src/publishing/PublishingUI.vala:185 -msgid "Publish Photos" -msgstr "Publica les fotografies" +#: ../src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "_Mou a la paperera" -#: ../src/publishing/PublishingUI.vala:186 -msgid "Publish photos _to:" -msgstr "Publica les fotografies _a:" +#: ../src/Resources.vala:692 +msgid "Select _All" +msgstr "Selecciona-ho _tot" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Videos" -msgstr "Publica vídeos" +#: ../src/Resources.vala:693 +msgid "Select all items" +msgstr "Selecciona tots els elements" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish videos _to" -msgstr "Publica vídeos _a:" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: ../src/Resources.vala:772 +msgid "%-I:%M %p" +msgstr "%-I:%M %p" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Photos and Videos" -msgstr "Publica fotografies i vídeos" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: ../src/Resources.vala:777 +msgid "%-I:%M:%S %p" +msgstr "%-I:%M:%S %p" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish photos and videos _to" -msgstr "Publica fotografies i vídeos _a" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: ../src/Resources.vala:781 +msgid "%a %b %d, %Y" +msgstr "%a, %l de %b de %Y" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:360 -msgid "Unable to publish" -msgstr "No s'ha pogut publicar" +#. / 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 +#. / 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 +#: ../src/Resources.vala:786 ../src/Resources.vala:796 +msgid "%a %b %d" +msgstr "%a, %l de %d" -#: ../src/publishing/PublishingUI.vala:361 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"El Shotwell no pot publicar els elements seleccionats perquè no teniu un " -"connector de publicació compatible habilitat. Per corregir-ho, trieu " -"Edita les preferències de %s i habiliteu un o més dels connectors de " -"publicació a la pestanya Connectors." +#. / 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 +#: ../src/Resources.vala:791 +msgid "%d, %Y" +msgstr "%l de %Y" + +#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Projecció de diapositives" #: ../src/searches/Branch.vala:68 msgid "Saved Searches" @@ -4868,14 +4589,98 @@ msgstr "Estat del senyalador" msgid "Photo state" msgstr "Estat de la foto" +#. Rating button +#: ../src/searches/SearchBoolean.vala:184 ../src/SearchFilter.vala:999 +msgid "Rating" +msgstr "Valoració" + #: ../src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Data" +#: ../src/SearchFilter.vala:600 ../src/SearchFilter.vala:601 +msgid "Videos" +msgstr "Vídeos" + +#: ../src/SearchFilter.vala:606 +msgid "RAW Photos" +msgstr "Fotografies RAW" + +#: ../src/SearchFilter.vala:607 +msgid "RAW photos" +msgstr "Fotografies RAW" + +#: ../src/SearchFilter.vala:948 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "" +"S'ha produït un error en carregar el fitxer d'interfície d'usuari %s: %s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: ../src/SearchFilter.vala:959 +msgid "Close" +msgstr "Tanca" + +#. Type label and toggles +#: ../src/SearchFilter.vala:965 +msgid "Type" +msgstr "Tipus" + #: ../src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "_Etiqueta nova..." +#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Paràmetres" + +#. Set up toolbar +#. add toolbar buttons +#: ../src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Enrere" + +#: ../src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Vés a la fotografia anterior" + +#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Fes una pausa" + +#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Fes una pausa a la presentació de diapositives" + +#: ../src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Següent" + +#: ../src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Vés a la fotografia següent" + +#: ../src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Canvia els paràmetres de la presentació de diapositives" + +#. An entire slideshow set might be missing, so check for a loop. +#: ../src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Manquen tots els fitxers d'origen de les fotografies." + +#: ../src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Reprodueix" + +#: ../src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Continua la presentació de diapositives" + #: ../src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "Transicions de la presentació de diapositives" @@ -4896,200 +4701,312 @@ msgstr "Aleatori" msgid "Tags" msgstr "Etiquetes" -#: ../ui/set_background_dialog.glade.h:1 -msgid "Set as Desktop Background" -msgstr "Estableix com a fons d'escriptori" +#: ../src/Tag.vala:817 +msgid "untitled" +msgstr "sense títol" + +#. multiple videos +#: ../src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Exporta vídeos" + +#~ msgid "Copyright 2009-2015 Yorba Foundation" +#~ msgstr "Copyright 2009-2015 Yorba Foundation" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 -msgid "Use for Desktop" -msgstr "Utilitza per a l'escriptori" +#~ msgid "Go _Back" +#~ msgstr "_Enrere" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 -msgid "Use for Lock Screen" -msgstr "Utilitza per a la pantalla de bloqueig" +#~ msgid "_Login" +#~ msgstr "_Connecta" -#: ../ui/set_background_slideshow_dialog.glade.h:1 -msgid "Set as Desktop Slideshow" -msgstr "Estableix com a presentació de diapositives de l'escriptori" +#~ msgid "Intro message replaced at runtime" +#~ msgstr "Messatge d'introducció reemplaçat en temps d'execució" -#: ../ui/set_background_slideshow_dialog.glade.h:2 -msgid "Show each photo for" -msgstr "Mostra cada fotografia durant" +#~ msgid "_Gallery3 URL:" +#~ msgstr "URL _Gallery3:" -#: ../ui/set_background_slideshow_dialog.glade.h:3 -msgid "period of time" -msgstr "període de temps" +#~ msgid "_User name:" +#~ msgstr "_Nom d'usuari:" -#: ../ui/set_background_slideshow_dialog.glade.h:4 -msgid "Generate desktop background slideshow" -msgstr "Genera la presentació de diapositives del fons de l'escriptori" +#~ msgid "_Password:" +#~ msgstr "_Contrasenya:" -#: ../ui/set_background_slideshow_dialog.glade.h:5 -msgid "How long each photo is shown on the desktop background" -msgstr "Quan de temps es mostra cada fotografia en el fons de l'escriptori" +#~ msgid "API _Key:" +#~ msgstr "_Clau API:" -#: ../ui/shotwell.glade.h:1 -msgid "_Name of search:" -msgstr "_Nom de la cerca:" +#~ msgid "or" +#~ msgstr "o" -#: ../ui/shotwell.glade.h:2 -msgid "_Match" -msgstr "_Coincideix" +#~ msgid "A _new album" +#~ msgstr "Un àlbum _nou" -#: ../ui/shotwell.glade.h:3 -msgid "of the following:" -msgstr "amb el següent:" +#~ msgid "An _existing album" +#~ msgstr "Un àlbum e_xistent" -#: ../ui/shotwell.glade.h:4 -msgid "Printed Image Size" -msgstr "Mida de la imatge impresa" +#~ msgid "_Remove location, tag and camera-identifying data before uploading" +#~ msgstr "" +#~ "Sup_rimeix les dades d'ubicació, d'etiquetes i d'identificació de la " +#~ "càmera abans de la càrrega." -#: ../ui/shotwell.glade.h:5 -msgid "Use a _standard size:" -msgstr "Utilitza una mida es_tàndard:" +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "" +#~ "«S'està publicant a $url com $username» (completat al codi de l'aplicació)" -#: ../ui/shotwell.glade.h:6 -msgid "Use a c_ustom size:" -msgstr "Utilitza una mida _personalitzada:" +#~ msgid "Scaling constraint:" +#~ msgstr "Constant d'e_scala:" -#: ../ui/shotwell.glade.h:7 -msgid "_Match photo aspect ratio" -msgstr "_Coincideix la relació d'aspecte de la fotografia" +#~ msgid "pixels" +#~ msgstr " píxels" -#: ../ui/shotwell.glade.h:8 -msgid "_Autosize:" -msgstr "Mida _automàtica:" +#~ msgid "label" +#~ msgstr "etiqueta" -#: ../ui/shotwell.glade.h:9 -msgid "Titles" -msgstr "Títols" +#~ msgid "Blogs:" +#~ msgstr "Blogs:" -#: ../ui/shotwell.glade.h:10 -msgid "Print image _title" -msgstr "Imprimeix el _títol de la imatge" +#~ msgid "Photo _size:" +#~ msgstr "_Mida de la fotografia:" -#: ../ui/shotwell.glade.h:11 -msgid "Pixel Resolution" -msgstr "Resolució de píxels" +#~ msgid "you are logged in rajce as $name" +#~ msgstr "Actualment esteu connectat al rajce com a $name" -#: ../ui/shotwell.glade.h:12 -msgid "_Output photo at:" -msgstr "_Imprimeix la fotografia en:" +#~ msgid "$mediatype will appear in" +#~ msgstr "$mediatype apareixeran a" -#: ../ui/shotwell.glade.h:13 -msgid "pixels per inch" -msgstr "píxels per polzada" +#~ msgid "_Albums (or write new):" +#~ msgstr "À_lbums (o escriviu-ne un de nou):" -#: ../ui/shotwell.glade.h:15 -msgid "Shotwell Preferences" -msgstr "Preferències del Shotwell" +#~ msgid "Access _type:" +#~ msgstr "_Tipus d'accés:" -#: ../ui/shotwell.glade.h:16 -msgid "white" -msgstr "blanc" +#~ msgid "Disable _comments" +#~ msgstr "Inhabilita els _comentaris" -#: ../ui/shotwell.glade.h:17 -msgid "black" -msgstr "negre" +#~ msgid "_Forbid downloading original photo" +#~ msgstr "_Prohibeix baixar la fotografia original" -#: ../ui/shotwell.glade.h:19 -msgid "_Watch library directory for new files" -msgstr "_Vigila si hi ha fitxers nous al directori de la biblioteca" +#~ msgid "Public" +#~ msgstr "Públic" -#: ../ui/shotwell.glade.h:20 -msgid "Metadata" -msgstr "Metadades" +#~ msgid "Publish to an e_xisting album:" +#~ msgstr "Public_a a un àlbum existent:" -#: ../ui/shotwell.glade.h:21 -msgid "Write tags, titles, and other _metadata to photo files" -msgstr "" -"Escriu etiquetes, títols i altres _metadades als fitxers de fotografies" +#~ msgid "Create a _new album named:" +#~ msgstr "Crea un àlbum _nou anomenat:" + +#~ msgid "Videos and new photo albums _visible to:" +#~ msgstr "Els vídeos i els àlbums de fotografies nous són _visibles per a:" + +#~ msgid "" +#~ "_Remove location, camera, and other identifying information before " +#~ "uploading" +#~ msgstr "" +#~ "Sup_rimeix la ubicació, càmera i qualsevol altra informació " +#~ "identificativa abans de la càrrega" + +#~ msgid "" +#~ "Enter the confirmation number which appears after you log into Flickr in " +#~ "your Web browser." +#~ msgstr "" +#~ "Introduïu el número de confirmació que apareix després que us connecteu " +#~ "al Flickr en el navegador web." + +#~ msgid "Authorization _Number:" +#~ msgstr "_Número d'autorització:" + +#~ msgid "L_ist album in public gallery" +#~ msgstr "_Llista l'àlbum en una galeria pública" + +#~ msgid "Photo _size preset:" +#~ msgstr "Mida p_redeterminada de les fotografies:" + +#~ msgid "_URL of your Piwigo photo library" +#~ msgstr "_URL de la biblioteca de fotografies Piwigo" + +#~ msgid "User _name" +#~ msgstr "_Nom d'usuari" + +#~ msgid "_Remember Password" +#~ msgstr "_Recorda la contrasenya" + +#~ msgid "An _existing category:" +#~ msgstr "Una categoria _existent:" + +#~ msgid "Photos will be _visible by:" +#~ msgstr "Les fotografies seran _visibles per a:" + +#~ msgid "Photo size:" +#~ msgstr "Mida de la fotografia:" + +#~ msgid "within category:" +#~ msgstr "a la categoria:" + +#~ msgid "Album comment:" +#~ msgstr "Comentari de l'àlbum:" + +#~ msgid "_If a title is set and comment unset, use title as comment" +#~ msgstr "" +#~ "S_i el títol està definit i el comentari no ho està, es farà servir el " +#~ "títol com a comentari" + +#~ msgid "_Do no upload tags" +#~ msgstr "_No pugis les etiquetes" + +#~ msgid "Logout" +#~ msgstr "Surt" -#: ../ui/shotwell.glade.h:22 -msgid "Display" -msgstr "Mostra" +#~ msgid "Video privacy _setting:" +#~ msgstr "_Paràmetres de la privacitat dels vídeos:" -#: ../ui/shotwell.glade.h:23 -msgid "_Import photos to:" -msgstr "_Importa fotografies a:" +#~ msgid "Visit the Yorba web site" +#~ msgstr "Vés al lloc web d'en Yorba" -#: ../ui/shotwell.glade.h:24 -msgid "_Background:" -msgstr "_Fons:" +#~ msgid "No photos/videos found" +#~ msgstr "No s'ha trobat cap fotografia/vídeo" + +#~ msgid "Set as Desktop Background" +#~ msgstr "Estableix com a fons d'escriptori" + +#~ msgid "Use for Desktop" +#~ msgstr "Utilitza per a l'escriptori" + +#~ msgid "Use for Lock Screen" +#~ msgstr "Utilitza per a la pantalla de bloqueig" + +#~ msgid "Set as Desktop Slideshow" +#~ msgstr "Estableix com a presentació de diapositives de l'escriptori" + +#~ msgid "Show each photo for" +#~ msgstr "Mostra cada fotografia durant" + +#~ msgid "period of time" +#~ msgstr "període de temps" + +#~ msgid "Generate desktop background slideshow" +#~ msgstr "Genera la presentació de diapositives del fons de l'escriptori" + +#~ msgid "How long each photo is shown on the desktop background" +#~ msgstr "Quan de temps es mostra cada fotografia en el fons de l'escriptori" + +#~ msgid "_Name of search:" +#~ msgstr "_Nom de la cerca:" + +#~ msgid "_Match" +#~ msgstr "_Coincideix" + +#~ msgid "of the following:" +#~ msgstr "amb el següent:" + +#~ msgid "Printed Image Size" +#~ msgstr "Mida de la imatge impresa" + +#~ msgid "Use a _standard size:" +#~ msgstr "Utilitza una mida es_tàndard:" + +#~ msgid "Use a c_ustom size:" +#~ msgstr "Utilitza una mida _personalitzada:" + +#~ msgid "_Match photo aspect ratio" +#~ msgstr "_Coincideix la relació d'aspecte de la fotografia" + +#~ msgid "_Autosize:" +#~ msgstr "Mida _automàtica:" + +#~ msgid "Titles" +#~ msgstr "Títols" + +#~ msgid "Print image _title" +#~ msgstr "Imprimeix el _títol de la imatge" + +#~ msgid "Pixel Resolution" +#~ msgstr "Resolució de píxels" + +#~ msgid "_Output photo at:" +#~ msgstr "_Imprimeix la fotografia en:" + +#~ msgid "pixels per inch" +#~ msgstr "píxels per polzada" + +#~ msgid "Shotwell Preferences" +#~ msgstr "Preferències del Shotwell" + +#~ msgid "white" +#~ msgstr "blanc" + +#~ msgid "black" +#~ msgstr "negre" + +#~ msgid "_Watch library directory for new files" +#~ msgstr "_Vigila si hi ha fitxers nous al directori de la biblioteca" + +#~ msgid "Metadata" +#~ msgstr "Metadades" + +#~ msgid "Write tags, titles, and other _metadata to photo files" +#~ msgstr "" +#~ "Escriu etiquetes, títols i altres _metadades als fitxers de fotografies" + +#~ msgid "Display" +#~ msgstr "Mostra" + +#~ msgid "_Import photos to:" +#~ msgstr "_Importa fotografies a:" + +#~ msgid "_Background:" +#~ msgstr "_Fons:" -#: ../ui/shotwell.glade.h:25 # N.T.: Títol d'una secció a un quadre de diàleg -msgid "Importing" -msgstr "Importació" +#~ msgid "Importing" +#~ msgstr "Importació" -#: ../ui/shotwell.glade.h:26 -msgid "_Directory structure:" -msgstr "_Estructura dels directoris:" +#~ msgid "_Directory structure:" +#~ msgstr "_Estructura dels directoris:" -#: ../ui/shotwell.glade.h:27 -msgid "_Pattern:" -msgstr "_Patró:" +#~ msgid "_Pattern:" +#~ msgstr "_Patró:" -#: ../ui/shotwell.glade.h:28 -msgid "Example:" -msgstr "Exemple:" +#~ msgid "Example:" +#~ msgstr "Exemple:" -#: ../ui/shotwell.glade.h:29 -msgid "R_ename imported files to lowercase" -msgstr "_Canvia el nom dels fitxers importats a minúscules" +#~ msgid "R_ename imported files to lowercase" +#~ msgstr "_Canvia el nom dels fitxers importats a minúscules" -#: ../ui/shotwell.glade.h:30 -msgid "RAW Developer" -msgstr "Revelador RAW" +#~ msgid "RAW Developer" +#~ msgstr "Revelador RAW" -#: ../ui/shotwell.glade.h:31 -msgid "De_fault:" -msgstr "Per de_fecte:" +#~ msgid "De_fault:" +#~ msgstr "Per de_fecte:" -#: ../ui/shotwell.glade.h:33 -msgid "E_xternal photo editor:" -msgstr "Editor fotogràfic e_xtern:" +#~ msgid "E_xternal photo editor:" +#~ msgstr "Editor fotogràfic e_xtern:" -#: ../ui/shotwell.glade.h:34 -msgid "External _RAW editor:" -msgstr "Editor d'imatges _RAW extern:" +#~ msgid "External _RAW editor:" +#~ msgstr "Editor d'imatges _RAW extern:" -#: ../ui/shotwell.glade.h:35 -msgid "External Editors" -msgstr "Editors externs" +#~ msgid "External Editors" +#~ msgstr "Editors externs" -#: ../ui/shotwell.glade.h:36 -msgid "Plugins" -msgstr "Connectors" +#~ msgid "Plugins" +#~ msgstr "Connectors" -#: ../ui/shotwell.glade.h:37 -msgid "_Delay:" -msgstr "_Retard:" +#~ msgid "_Delay:" +#~ msgstr "_Retard:" -#: ../ui/shotwell.glade.h:38 -msgid "_Transition effect:" -msgstr "Efecte de _transició:" +#~ msgid "_Transition effect:" +#~ msgstr "Efecte de _transició:" -#: ../ui/shotwell.glade.h:39 -msgid "Transition d_elay:" -msgstr "R_etard de transició:" +#~ msgid "Transition d_elay:" +#~ msgstr "R_etard de transició:" -#: ../ui/shotwell.glade.h:40 -msgid "Show t_itle" -msgstr "Mostra el t_ítol" +#~ msgid "Show t_itle" +#~ msgstr "Mostra el t_ítol" -#: ../ui/shotwell.glade.h:41 -msgid "seconds" -msgstr "segons" +#~ msgid "seconds" +#~ msgstr "segons" #~ msgid "Only _Remove" #~ msgstr "_Suprimeix només" -#~ msgid "Import media _from:" -#~ msgstr "Importar mitjans _de:" - #~ msgid "Shotwell is configured to import photos to your home directory.\n" #~ msgstr "" #~ "El Shotwell està configurat per importar fotografies a la vostra carpeta " diff --git a/po/cs.gmo b/po/cs.gmo new file mode 100644 index 0000000..13bd95e Binary files /dev/null and b/po/cs.gmo differ diff --git a/po/da.gmo b/po/da.gmo new file mode 100644 index 0000000..9d6eec9 Binary files /dev/null and b/po/da.gmo differ diff --git a/po/de.gmo b/po/de.gmo new file mode 100644 index 0000000..fd7706e Binary files /dev/null and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 4cb500f..74249fb 100644 --- a/po/de.po +++ b/po/de.po @@ -42,12 +42,12 @@ # msgid "" msgstr "" -"Project-Id-Version: shotwell-0.15\n" +"Project-Id-Version: master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=shotwell&keywords=I18N+L10N&component=Internationalization\n" -"POT-Creation-Date: 2016-06-11 13:15+0000\n" -"PO-Revision-Date: 2016-06-14 22:12+0200\n" -"Last-Translator: Christian Kirbach \n" +"POT-Creation-Date: 2016-08-02 13:35+0000\n" +"PO-Revision-Date: 2016-08-04 10:49+0200\n" +"Last-Translator: Mario Blättermann \n" "Language-Team: German (http://www.transifex.com/projects/p/shotwell/language/" "de/)\n" "Language: de\n" @@ -55,1345 +55,2806 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 1.8.8\n" -#: ../plugins/common/RESTSupport.vala:424 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" -msgstr "" -"Eine temporäre Datei, die für das Veröffentlichen benötigt wird, ist nicht " -"verfügbar" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" -#: ../plugins/common/RESTSupport.vala:1138 +#: misc/shotwell.appdata.xml.in:9 +msgid "Popular photo manager" +msgstr "Populäre Fotoverwaltung" + +#: misc/shotwell.appdata.xml.in:11 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"Sie haben sich während dieser Shotwell-Sitzung bereits bei einem Google-" -"Dienst an- und abgemeldet.\n" -"\n" -"Um weitere Veröffentlichungen durchführen zu können, müssen Sie Shotwell " -"schließen und erneut starten. Versuchen Sie es danach erneut." - -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Die Shotwell-Webseite besuchen" +"Shotwell ist eine einfach zu bedienende, schnelle Fotoverwaltung, die für " +"die GNOME-Arbeitsumgebung entworfen wurde. Sie können Fotos von Ihrer Kamera " +"oder einem Datenträger importieren, diese nach Datum oder Thematik ordnen " +"und Bewertungen vergeben. Außerdem bietet Shotwell grundlegende " +"Möglichkeiten zur Bildbearbeitung, wie beispielsweise Zuschneiden, Rote-" +"Augen-Korrektur, Farbabgleich und Begradigen. Der zerstörungsfreie " +"Fotoeditor verändert Ihre ursprünglichen Aufnahmen nicht, so dass Sie " +"wesentlich freier damit experimentieren und Fehler korrigieren können." + +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." +msgstr "" +"Wenn Shotwell eingerichtet ist, können Sie Ihre Fotos zu verschiedenen " +"Webseiten hochladen, wie beispielsweise Facebook, Flickr, Picasa (Google " +"Plus) und weitere." -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:705 -msgid "translator-credits" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." msgstr "" -"Christian Kirbach , 2014, 2015, 2016\n" -"Mario Blättermann " +"Shotwell unterstützt JPEG, PNG, TIFF und eine Reihe von RAW-Dateiformaten." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2009-2015 Yorba Foundation" -msgstr "Copyright 2009-2015 Yorba Foundation" +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Fotoverwaltung" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 -msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." -msgstr "" -"Herzlich willkommen zum Importdienst für F-Spot-Bibliotheken.\n" -"\n" -"Bitte wählen Sie eine zu importierende Bibliothek, entweder durch das " -"Auswählen einer von Shotwell automatisch erkannten Datenbank, oder durch ein " -"manuelles Auswählen einer F-Spot-Datenbankdatei." +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "Ihre Fotos organisieren" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"Herzlich Willkommen zum Importdienst für F-Spot-Bibliotheken.\n" -"\n" -"Bitte wählen Sie eine F-Spot-Datenbankdatei." +"Album;Kamera;Kameras;Zuschneiden;Bearbeiten;Verbessern;Exportieren;Galerie;" +"Bild;Bilder;Importieren;Organisieren;Verwalten;Foto;Fotografien;Drucken;" +"Veröffentlichen;Drehen;Teilen;Freigeben;Stichworte;Video;Facebook;Flickr;" +"Picasa;Youtube;Piwigo;" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "Manuell eine zu importierende F-Spot-Datenbank wählen:" +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +msgid "shotwell" +msgstr "shotwell" + +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "Shotwell Fotobetrachter" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Fotobetrachter" + +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "Authentifizierungs-Token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." +msgstr "Authentifizierungs-Token für die Anmeldung bei Yandex-Fotki." + +# https://de.wikipedia.org/wiki/Security-Token +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "Token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "Token zum Zugriff auf Tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "Sicherheits-Token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" +msgstr "Sicherheits-Token zum Signieren von OAuth-Anfragen" + +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:416 +msgid "default size" +msgstr "Standardgröße" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +"A numeric code representing the default size for photos uploaded to Tumblr" msgstr "" -"Die ausgewählte F-Spot-Datenbank konnte nicht geöffnet werden: Diese Datei " -"existiert nicht oder ist keine F-Spot-Datenbank." - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 +"Ein Zahlencode, der die Standardgröße für Fotos darstellt, die zu Tumblr " +"hochgeladen werden sollen" + +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" +msgstr "Standard-Blog" + +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "Der Name des Standard-Blogs des Benutzers, falls vorhanden" + +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "Rajce-Adresse" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "Adresse des Rajce-Servers" + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:384 +#: misc/org.yorba.shotwell.gschema.xml:442 +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "username" +msgstr "Benutzername" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "Benutzername für die Anmeldung bei Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "Token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "Benutzer-Token, falls gespeichert." + +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last category" +msgstr "Letzte Kategorie" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "Die zuletzt in Rajce ausgewählte Kategorie." + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:472 +msgid "last photo size" +msgstr "Letzte Bildgröße" + +#: misc/org.yorba.shotwell-extras.gschema.xml:65 msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." msgstr "" -"Die ausgewählte F-Spot-Datenbank konnte nicht geöffnet werden: Diese " -"Datenbankversion wird aktuell noch nicht unterstützt." +"Ein Zahlencode, der die Größe des letzten Fotos darstellt, das zu Rajce " +"hochgeladen wurde." + +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "Merken" + +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." +msgstr "Legt fest, ob die letzte Anmeldung gespeichert werden soll." + +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "Album verbergen" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." +msgstr "Legt fest, ob das neu erstellte Rajce-Album verborgen werden soll." + +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +msgid "open album in web browser" +msgstr "Album im Browser öffnen" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +"If true, open target album in the web browser just after uploading photos" msgstr "" -"Beim Lesen der ausgewählten F-Spot-Datenbank trat ein Fehler auf: Die " -"Tabelle »Tags« konnte nicht gelesen werden." - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 +"Legt fest, ob das Zielalbum direkt nach dem Hochladen von Fotos im Browser " +"geöffnet werden soll." + +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:364 +#: misc/org.yorba.shotwell.gschema.xml:402 +#: misc/org.yorba.shotwell.gschema.xml:428 +#: misc/org.yorba.shotwell.gschema.xml:478 +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "remove sensitive info from uploads" +msgstr "Sensible Informationen entfernen" + +#: misc/org.yorba.shotwell-extras.gschema.xml:89 msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +"Whether images being uploaded to Rajce should have their metadata removed " +"first" msgstr "" -"Beim Lesen der ausgewählten F-Spot-Datenbank trat ein Fehler auf: Die " -"Tabelle »Fotos« konnte nicht gelesen werden." +"Legt fest, ob Metadaten vor dem Hochladen zu Rajce entfernt werden sollen" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format -msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "Grundlegende Informationen anzeigen" + +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." msgstr "" -"Shotwell hat %d Fotos in der F-Spot-Datenbank gefunden und importiert diese " -"zurzeit. Duplikate werden automatisch erkannt und entfernt.\n" -"\n" -"Sie können diesen Dialog schließen und Shotwell nun benutzen, während im " -"Hintergrund noch der Import läuft." +"Legt fest, ob die grundlegenden Informationen angezeigt werden sollen oder " +"nicht." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "F-Spot-Bibliothek: %s" +#: misc/org.yorba.shotwell.gschema.xml:28 +msgid "display extended properties" +msgstr "Erweiterte Informationen anzeigen" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "Import wird vorbereitet" +#: misc/org.yorba.shotwell.gschema.xml:29 +msgid "" +"True if the extended properties window is to be displayed, false otherwise." +msgstr "" +"Legt fest, ob das Fenster für die erweiterten Informationen angezeigt werden " +"soll oder nicht." -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "Kerndaten-Importdienst" +#: misc/org.yorba.shotwell.gschema.xml:34 +msgid "display sidebar" +msgstr "Seitenleiste anzeigen" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "Gallery3-Veröffentlichungsmodul" +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "Legt fest, ob die Seitenleiste angezeigt werden soll oder nicht." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 -msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." +#: misc/org.yorba.shotwell.gschema.xml:40 +msgid "display toolbar" +msgstr "Werkzeugleiste anzeigen" + +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the bottom toolbar is to be displayed, false otherwise." msgstr "" -"Sie sind gerade nicht bei Gallery angemeldet.\n" -"\n" -"Sie müssen bereits ein Gallery3-Konto besitzen, um den Anmeldevorgang " -"abzuschließen." +"Legt fest, ob die untere Werkzeugleiste angezeigt werden soll oder nicht." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display search bar" +msgstr "Suchleiste anzeigen" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "Vorgabeordner für Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:47 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" +"Legt fest, ob die Such- und Filterleiste angezeigt werden soll oder nicht." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo titles" +msgstr "Bildtitel anzeigen" + +#: misc/org.yorba.shotwell.gschema.xml:53 msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"\n" -"Die Datei »%s« wird in dieser Gallery3-Instanz möglicherweise nicht " -"unterstützt, oder ist zu groß." +"Legt fest, ob Bildtitel unter den Vorschaubildern in Sammlungsansichten " +"angezeigt werden sollen oder nicht." + +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display photo comments" +msgstr "Kommentare zu den Fotos anzeigen" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +#: misc/org.yorba.shotwell.gschema.xml:59 msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"Beachten Sie, dass Gallery3 nur Video-Formate unterstützt, die auch von " -"Flowplayer unterstützt werden." +"Legt fest, ob Kommentare unter den Vorschaubildern in Sammlungsansichten " +"angezeigt werden sollen oder nicht." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:64 +msgid "display event comments" +msgstr "Kommentare zu den Ereignissen anzeigen" + +#: misc/org.yorba.shotwell.gschema.xml:65 msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." msgstr "" -"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " -"Veröffentlichung auf %s ist nicht möglich." +"Legt fest, ob Kommentare unter den Vorschaubildern in Ereignisansichten " +"angezeigt werden sollen oder nicht." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "Veröffentlichung nach »%s« als »%s«" +#: misc/org.yorba.shotwell.gschema.xml:70 +msgid "display photo tags" +msgstr "Stichworte jedes Fotos anzeigen" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: misc/org.yorba.shotwell.gschema.xml:71 msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." msgstr "" -"Geben Sie die Adresse Ihrer Gallery3-Fotobibliothek an, sowie Ihren " -"Benutzernamen und Passwort (oder API-Schlüssel) für das mit Ihrer Bibliothek " -"verbundene Gallery3-Benutzerkonto." +"Legt fest, ob Stichworte unter den Vorschaubildern in Sammlungsansichten " +"angezeigt werden sollen oder nicht." + +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "display photo ratings" +msgstr "Bewertung jedes Fotos anzeigen" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: misc/org.yorba.shotwell.gschema.xml:77 msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." msgstr "" -"Benutzername und Passwort oder API-Schlüssel sind inkorrekt. Um es nochmals " -"zu versuchen, geben Sie Ihren Benutzernamen und Ihr Passwort unterhalb " -"erneut ein." +"Legt fest, ob Bewertungen als überlagerte Markierung angezeigt werden sollen " +"oder nicht." + +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "rating filter level" +msgstr "Filterstufe für Bewertungen" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: misc/org.yorba.shotwell.gschema.xml:83 msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." msgstr "" -"Die eingegebene Adresse scheint nicht im Hauptordner der Gallery3-Instanz zu " -"sein. Bitte stellen Sie sicher, dass Sie sie korrekt eingegeben haben und " -"dass Sie keine nachfolgenden Bestandteile haben (z.B.: index.php)." +"Legt fest, wie Fotos anhand deren Bewertung gefiltert werden sollen: 1: " +"Abgelehnt oder besser, 2: Nicht bewertet oder beser, 3: Eins oder besser, 4: " +"Zwei oder besser, 5: Drei oder besser, 6: Vier oder besser, 7: Fünf oder " +"besser." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "Unbekannter Benutzer" +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort events ascending" +msgstr "Ereignisse absteigend sortieren" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr " Seite nicht gefunden" +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" +"Legt fest, ob Ereignisse aufsteigend sortiert werden sollen, anderenfalls " +"absteigend." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "Copyright (C) 2013 rajce.net" +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos ascending" +msgstr "Fotos in der Bibliothek aufsteigend sortieren" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "True if library photos should be sorted ascending, false if descending." msgstr "" -"Ein Fehler trat beim Veröffentlichen auf Rajce auf. Bitte versuchen Sie es " -"erneut." +"Legt fest, ob Fotos in der Bibliothek aufsteigend sortiert werden sollen, " +"anderenfalls absteigend." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." -msgstr "Geben Sie den Benutzernamen und Ihr Passwort für Ihr Rajce-Konto ein." +#: misc/org.yorba.shotwell.gschema.xml:100 +msgid "sort library photos criteria" +msgstr "Kriterien für Fotosortierung" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "E-Mail und/oder Passwort sind ungültig. Bitte versuchen Sie es erneut" +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." +msgstr "" +"Ein Zahlencode, der die Sortierkriterien für Fotos in Bibliotheksansichten " +"darstellt." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "Ungültige Benutzer-E-Mail oder Passwort" +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos ascending" +msgstr "Fotos in Ereignissen aufsteigend sortieren" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "_E-Mail-Adresse" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" +"Legt fest, ob Fotos in Ereignissen aufsteigend sortiert werden sollen, " +"anderenfalls absteigend." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_Passwort" +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "sort event photos criteria" +msgstr "Kriterien für Fotosortierung in Ereignissen" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "Dauerhaft _merken" +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "Specifies the sort criteria for event photos." +msgstr "Legt die Sortierkriterien für Fotos in Ereignissen fest." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "Anmelden" +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "use 24 hour time" +msgstr "Zeitangaben im 24-Stunden-System" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "Album _verbergen" +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" +"Legt fest, ob Zeiten im 24-Stunden-Format angegeben werden sollen, " +"anderenfalls im AM/PM-Format." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "Sie sind bei Rajce als %s angemeldet." +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "keep relative time between photos" +msgstr "Relative Zeit zwischen Fotos erhalten" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "Fotos werden erscheinen in:" +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" +"Legt fest, ob beim Anpassen der Zeitstempel von Fotos die relative Zeit " +"erhalten bleiben soll, anderenfalls werden alle Fotos auf die gleiche Zeit " +"gesetzt." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "_einem vorhandenem Album:" +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "modify original photo files" +msgstr "Originale Bilddateien verändern" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "einem _neuen Album:" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" +"Legt fest, ob beim Anpassen der Zeitstempel von Fotos die Originaldateien " +"ebenfalls verändert werden sollen, oder die Zeitstempel nur in der Datenbank " +"verändert werden." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "Ziel-_Album im Browser öffnen" +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "show welcome dialog on startup" +msgstr "Begrüßungsdialog beim Start anzeigen" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "_Veröffentlichen" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" +"Legt fest, ob dem Start ein Begrüßungsdialog angezeigt werden soll oder " +"nicht." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "A_bmelden" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "sidebar position" +msgstr "Position der Seitenleiste" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "Copyright 2012 BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The width, in pixels, of the sidebar" +msgstr "Größe der Seitenleiste in Pixel" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500 x 375 Pixel" +#: misc/org.yorba.shotwell.gschema.xml:148 +msgid "photo thumbnail scale" +msgstr "Vorschaubild-Skalierung" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024 x 768 Pixel" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "Vorschaubild-Skalierung im Bereich von 72 bis 360." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280 x 853 Pixel" +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "pin toolbar state" +msgstr "Anheften-Status der Werkzeugleiste" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "Pin toolbar in fullscreen, or not." msgstr "" -"»%s« ist keine gültige Antwort auf eine OAuth-Authentifizierungsanfrage" +"Legt fest, ob die Werkzeugleiste im Vollbildmodus angeheftet werden soll " +"oder nicht." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 -msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." -msgstr "" -"TumblrPublisher: start( ): kann nicht gestartet werden; das Werkzeug zum " -"Veröffentlichen ist nicht neu startbar." +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "background color" +msgstr "Hintergrundfarbe" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "A grayscale color for use as the background color." msgstr "" -"Geben Sie den Benutzernamen und Ihr Passwort für das mit Tumblr verbundene " -"Konto ein." +"Eine Farbe der Graustufenskala, die als Hintergrundfarbe verwendet werden " +"soll." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" +#: misc/org.yorba.shotwell.gschema.xml:166 +msgid "Selection state of \"hide photos\" option" +msgstr "Auswahlstatus für »Bereits importierte Fotos verbergen«" + +#: misc/org.yorba.shotwell.gschema.xml:167 +msgid "" +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." msgstr "" -"Benutzername und/oder Passwort sind ungültig. Bitte versuchen Sie es erneut" +"Der zuletzt verwendete Status der Option »Bereits importierte Fotos " +"verbergen« der Importseite." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "Ungültiger Benutzername oder Passwort" +#: misc/org.yorba.shotwell.gschema.xml:174 +msgid "delay" +msgstr "Verzögerung" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "UI konnte nicht geladen werden: %s" +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "Verzögerung des Bildwechsels in einer Diaschau (in Sekunden)." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:180 +msgid "transition delay" +msgstr "Übergangsverzögerung" + +#: misc/org.yorba.shotwell.gschema.xml:181 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"The time (in seconds) that a transition runs between photos in a slideshow" msgstr "" -"Sie als %s bei Tumblr angemeldet.\n" -"\n" +"Die Dauer eines Übergangs zwischen Fotos (in Sekunden) in einer Diaschau" -# Ich nehme mir hier mal die Freiheit, die im Deutschen übliche Transkription der kyrillischen Schrift anstelle der englischen zu verwenden. -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "Copyright 2010+ Jewgeni Poljakow " +#: misc/org.yorba.shotwell.gschema.xml:186 +msgid "transition effect id" +msgstr "Übergangseffekt-Kennung" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "Besuchen Sie die Yandex.Fotki-Webseite" +#: misc/org.yorba.shotwell.gschema.xml:187 +msgid "" +"The name of the transition effect that will be used between photos when " +"running a slideshow" +msgstr "" +"Der Name des Übergangseffekts, der zwischen Fotos während einer Diaschau " +"angewendet werden soll" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:632 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "Sie sind aktuell nicht bei Yandex.Fotki angemeldet." +#: misc/org.yorba.shotwell.gschema.xml:192 +msgid "Show title" +msgstr "Titel anzeigen" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Zusätzliche Shotwell-Veröffentlichungsdienste" +#: misc/org.yorba.shotwell.gschema.xml:193 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "" +"Legt fest, ob der Titel einer Bildes in einer Diaschau angezeigt werden soll" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "_Zurück gehen" +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "maximize library window" +msgstr "Bibliotheksfenster maximieren" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "_Anmelden" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "True if library application is maximized, false otherwise." +msgstr "Legt fest, ob das Bibliotheksfenster maximiert ist oder nicht." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Eingangsnachricht, die zur Laufzeit ersetzt werden soll" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "width of library window" +msgstr "Breite des Bibliotheksfensters" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "_Gallery3-Adresse:" +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded width of the library application window." +msgstr "Die zuletzt gespeicherte Breite des Bibliotheksfensters der Anwendung." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "Ben_utzername:" +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "height of library window" +msgstr "Höhe des Bibliotheksfensters" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Passwort:" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "The last recorded height of the library application window." +msgstr "Die zuletzt gespeicherte Höhe des Bibliotheksfensters der Anwendung." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "API-_Schlüssel:" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "maximize direct-edit window" +msgstr "Direktbearbeitungsfenster maximieren" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "oder" +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" +"Legt fest, ob das Direktbearbeitungsfenster maximiert werden soll oder nicht." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "Ein _neues Album" +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "width of direct-edit window" +msgstr "Breite des Direktbearbeitungsfensters" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "Ein _vorhandenes Album" +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded width of the direct-edit application window." +msgstr "" +"Die zuletzt gespeicherte Breite des Direktbearbeitungsfensters der Anwendung." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "height of direct-edit window" +msgstr "Höhe des Direktbearbeitungsfensters" + +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "The last recorded height of the direct-edit application window." msgstr "" -"Ort, Kamera und andere identifizierende Informationen vor dem Hochladen " -"_entfernen" +"Die zuletzt gespeicherte Höhe des Direktbearbeitungsfensters der Anwendung." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" -msgstr "Unter $url als $username veröffentlichen" +#: misc/org.yorba.shotwell.gschema.xml:236 +msgid "sidebar divider position" +msgstr "Position des Seitenleistentrenners" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "Skalierungsbeschränkung:" +#: misc/org.yorba.shotwell.gschema.xml:237 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." +msgstr "" +"Die zuletzt gespeicherte Position des Trenners zwischen der Werkzeugleiste " +"und der Ansicht im Bibliotheksfenster der Anwendung." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr "Pixel" +#: misc/org.yorba.shotwell.gschema.xml:244 +msgid "import directory" +msgstr "Import-Ordner" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Ursprüngliche Größe" +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "Directory in which imported photo files are placed." +msgstr "Ordner, in dem die importierten Fotodateien abgelegt werden." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Breite oder Höhe" +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "watch library directory for new files" +msgstr "Bibliotheksordner auf neue Dateien überwachen" -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "Beschriftung" +#: misc/org.yorba.shotwell.gschema.xml:251 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" +"Legt fest, ob die zum Bibliotheksordner hinzugefügten Dateien automatisch " +"importiert werden sollen." -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blogs:" +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "write metadata to master files" +msgstr "Metadaten in Master-Dateien schreiben" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "Bild_größe:" +#: misc/org.yorba.shotwell.gschema.xml:257 +msgid "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." +msgstr "" +"Legt fest, ob geänderte Metadaten (Stichworte, Titel usw.) in die Master-" +"Datei geschrieben werden sollen." -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "Sie sind bei Rajce als $name angemeldet" +#: misc/org.yorba.shotwell.gschema.xml:262 +msgid "use lowercase filenames" +msgstr "Dateinamen in Kleinschreibung" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype erscheint in" +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" +msgstr "" +"Legt fest, ob Shotwell beim Import von Fotodateien alle Dateinamen in " +"Kleinbuchstaben umwandeln soll" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "_Alben (oder neues erstellen):" +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern" +msgstr "Muster für Ordnernamen" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "Zugriffs_typ:" +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"Eine Zeichenkette, die als Namensmuster beim Benennen der importierten Foto-" +"Ordner verwendet werden soll." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "_Kommentare deaktivieren" +#: misc/org.yorba.shotwell.gschema.xml:274 +msgid "directory pattern custom" +msgstr "Benutzerdefiniertes Muster für Ordnernamen" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "Herunterladen des Originalfotos _verbieten" +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"Eine Zeichenkette, die als benutzerdefiniertes Namensmuster beim Benennen " +"der importierten Foto-Ordner verwendet werden soll." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Öffentlich" +#: misc/org.yorba.shotwell.gschema.xml:280 +msgid "RAW developer default" +msgstr "Standard-RAW-Entwickler" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1181 -msgid "Friends" -msgstr "Freunde" +#: misc/org.yorba.shotwell.gschema.xml:281 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "Vorgabe für den durch Shotwell zu verwendenden RAW-Entwickler." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Privat" +#: misc/org.yorba.shotwell.gschema.xml:288 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "" +"Das im Menü am häufigsten ausgewählte Seitenverhältnis beim Zuschneiden." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Shotwell Connect" +#: misc/org.yorba.shotwell.gschema.xml:289 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "" +"Ein Zahlencode, der das im Menü am häufigsten ausgewählte Seitenverhältnis " +"beim Zuschneiden darstellt." + +#: misc/org.yorba.shotwell.gschema.xml:293 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "" +"Erster Wert (Zähler) des am häufigsten verwendeten benutzerdefinierten " +"Seitenverhältnisses beim Zuschneiden." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:294 msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." msgstr "" -"Sie sind zur Zeit nicht bei Facebook angemeldet.\n" -"\n" -"Falls Sie noch kein Facebook-Konto haben, können Sie während des " -"Anmeldevorgangs eines erstellen. Während der Anmeldung wird Shotwell " -"möglicherweise nach Berechtigungen zum Hochladen von Fotos und zum Freigeben " -"der Fotos in Ihrem Feed fragen. Diese Berechtigungen sind notwendig, damit " -"die Kopplung von Shotwell und Facebook funktionieren kann." +"Eine von Null verschiedene, positive Ganzzahl, die die zuletzt genutzte und " +"gespeicherte Höhe des Zuschnittverhältnisses darstellt." + +#: misc/org.yorba.shotwell.gschema.xml:298 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "" +"Zweiter Wert (Nenner) des am häufigsten verwendeten benutzerdefinierten " +"Seitenverhältnisses beim Zuschneiden." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 +#: misc/org.yorba.shotwell.gschema.xml:299 msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." msgstr "" -"Sie haben sich in dieser Shotwell-Sitzung bereits bei Facebook an- und " -"wieder abgemeldet.\n" -"Um weiterhin auf Facebook zu veröffentlichen, beenden Sie Shotwell, starten " -"es neu und versuchen es dann erneut." +"Eine von Null verschiedene, positive Ganzzahl, die das zuletzt genutzte und " +"gespeicherte Zuschnittverhältnis darstellt." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "Standard (720 Pixel)" +#: misc/org.yorba.shotwell.gschema.xml:306 +msgid "external photo editor" +msgstr "Externer Foto-Editor" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "Groß (2048 Pixel)" +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit photos." +msgstr "Externe Anwendung zum Bearbeiten von Fotos." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "Verbindung zu Facebook wird geprüft …" +#: misc/org.yorba.shotwell.gschema.xml:312 +msgid "external raw editor" +msgstr "Externer RAW-Editor" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "Album wird erstellt …" +#: misc/org.yorba.shotwell.gschema.xml:313 +msgid "External application used to edit RAW photos." +msgstr "Externe Anwendung zum Bearbeiten von RAW-Fotos." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 -msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." -msgstr "" -"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " -"Veröffentlichung auf Facebook ist nicht möglich." +#: misc/org.yorba.shotwell.gschema.xml:320 +msgid "last used publishing service" +msgstr "Zuletzt genutzter Veröffentlichungsdienst" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1019 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:321 +#: misc/org.yorba.shotwell.gschema.xml:327 msgid "" -"You are logged into Facebook as %s.\n" -"\n" +"A numeric code representing the last service to which photos were published" msgstr "" -"Sie sind bei Facebook als %s angemeldet.\n" -"\n" +"Ein Zahlencode, der den letzten Dienst darstellt, bei dem Fotos " +"veröffentlicht wurden" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1020 -msgid "Where would you like to publish the selected photos?" -msgstr "Wo möchten Sie die ausgewählten Fotos veröffentlichen?" +#: misc/org.yorba.shotwell.gschema.xml:326 +msgid "default publishing service" +msgstr "Standard-Veröffentlichungsdienst" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1021 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "_Größe zum Hochladen:" +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "access token" +msgstr "Zugriffs-Token" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1180 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "Nur mich" +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook OAuth token for the currently logged in session, if any" +msgstr "OAuth-Token für die aktuell laufende Facebook-Sitzung, falls vorhanden" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1182 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "Alle" +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user i.d." +msgstr "Benutzerkennung" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 -msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +#: misc/org.yorba.shotwell.gschema.xml:347 +msgid "Facebook user i.d. for the currently logged in user, if any" msgstr "" -"Sie sind zurzeit nicht bei Flickr angemeldet.\n" -"\n" -"Klicken Sie auf »Anmelden«, um sich über Ihren Webbrowser bei Flickr " -"anzumelden. Sie müssen »Shotwell Connect« autorisieren, um sich mit Flickr " -"zu verbinden." +"Benutzerkennung für die aktuell laufende Facebook-Sitzung, falls vorhanden" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:352 +msgid "user name" +msgstr "Benutzername" + +#: misc/org.yorba.shotwell.gschema.xml:353 +msgid "The name of the currently logged in Facebook user, if any" +msgstr "Name des aktuell angemeldeten Facebook-Benutzers, falls vorhanden" + +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default size code" +msgstr "Code für Standardgröße" + +#: misc/org.yorba.shotwell.gschema.xml:359 msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +"A numeric code representing the default size for photos published to Facebook" msgstr "" -"Sie haben sich in dieser Shotwell-Sitzung bereits bei Flickr an- und " -"abgemeldet.\n" -"Um weiterhin auf Flickr zu veröffentlichen zu können, beenden Sie Shotwell, " -"starten Sie es nochmals und versuchen es dann erneut." - -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "Anmeldung wird vorbereitet …" +"Ein Zahlencode, der die Standardgröße für Fotos darstellt, die zu Facebook " +"hochgeladen werden sollen" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 +#: misc/org.yorba.shotwell.gschema.xml:365 msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +"Whether images being uploaded to Facebook should have their metadata removed " +"first" msgstr "" -"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " -"Veröffentlichung auf Flickr ist nicht möglich." +"Legt fest, ob Metadaten vor dem Hochladen zu Facebook entfernt werden sollen" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "Autorisierung wird bestätigt …" +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format -msgid "" -"You are logged into Flickr as %s.\n" -"\n" +#: misc/org.yorba.shotwell.gschema.xml:373 +msgid "The authorization token for the currently logged in Flickr user, if any" msgstr "" -"Sie sind bei Flickr als %s angemeldet.\n" -"\n" +"Authentifizierungs-Token für den aktuell angemeldeten Facebook-Benutzer, " +"falls vorhanden" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:378 +msgid "OAuth Access Phase Token Secret" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:379 msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"Ihr kostenloses Flickr-Konto ist auf ein monatliches Upload-Volumen " -"limitiert.\n" -"Diesen Monat können Sie noch %d Megabyte hochladen." -msgstr[1] "" -"Ihr kostenloses Flickr-Konto ist auf ein monatliches Upload-Volumen " -"limitiert.\n" -"Diesen Monat können Sie noch %d Megabyte hochladen." +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." -msgstr "Ihr Flickr-Pro-Konto erlaubt unbeschränkte Uploads." +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "Name des aktuell angemeldeten Flickr-Benutzers, falls vorhanden" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "Fotos _sichtbar für:" +#: misc/org.yorba.shotwell.gschema.xml:391 +msgid "" +"A numeric code representing the default size for photos published to Flickr" +msgstr "" +"Ein Zahlencode, der die Standardgröße für Fotos darstellt, die zu Flickr " +"hochgeladen werden sollen" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "Videos _sichtbar für:" +#: misc/org.yorba.shotwell.gschema.xml:396 +msgid "default visibility" +msgstr "Standard-Sichtbarkeit" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "Fotos und Videos _sichtbar für:" +#: misc/org.yorba.shotwell.gschema.xml:397 +msgid "" +"A numeric code representing the default visibility for photos published to " +"Flickr" +msgstr "" +"Ein Zahlencode, der die Standard-Sichtbarkeit für Fotos darstellt, die zu " +"Flickr hochgeladen werden sollen" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "Nur Freunde und Familie" +#: misc/org.yorba.shotwell.gschema.xml:403 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" +"Legt fest, ob Metadaten vor dem Hochladen zu Flickr entfernt werden sollen" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "Nur Familie" +#: misc/org.yorba.shotwell.gschema.xml:410 +#: misc/org.yorba.shotwell.gschema.xml:542 +msgid "refresh token" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "Nur Freunde" +#: misc/org.yorba.shotwell.gschema.xml:411 +msgid "" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048 x 1536 Pixel" +#: misc/org.yorba.shotwell.gschema.xml:417 +msgid "" +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" +"Ein Zahlencode, der die Standardgröße für Fotos darstellt, die zu Picasa " +"Webalben hochgeladen werden sollen" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096 x 3072 Pixel" +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "last album" +msgstr "Letztes Album" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 -msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +#: misc/org.yorba.shotwell.gschema.xml:423 +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "The name of the last album the user published photos to, if any" msgstr "" -"Sie sind zur Zeit nicht bei Picasa Webalben angemeldet.\n" -"\n" -"Klicken Sie auf »Anmelden«, um sich in Ihrem Webbrowser bei Picasa Webalben " -"anzumelden. Sie müssen Shotwell Connect gestatten, sich mit Ihrem Konto bei " -"Picasa Webalben zu verbinden." +"Der Name des letzten Albums, in dem der Benutzer Fotos veröffentlicht hat, " +"falls vorhanden" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 +#: misc/org.yorba.shotwell.gschema.xml:429 msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +"Whether images being uploaded to Picasa should have their metadata removed " +"first" msgstr "" -"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " -"Veröffentlichung auf Picasa ist nicht möglich." +"Legt fest, ob Metadaten vor dem Hochladen zu Picasa entfernt werden sollen" -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "Sie sind bei Picasa Webalben als %s angemeldet." +#: misc/org.yorba.shotwell.gschema.xml:436 +msgid "Piwigio URL" +msgstr "Piwigo-Adresse" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "Videos werden folgendermaßen dargestellt:" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "URL of the Piwigo server." +msgstr "Adresse des Piwigo-Servers" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "Klein (640 x 480 Pixel)" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo username, if logged in." +msgstr "Piwigo-Benutzername für die Anmeldung" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "Mittel (1024 x 768 Pixel)" +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "password" +msgstr "Passwort" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "Empfohlen (1600 x 1200 Pixel)" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "Piwigo password, if logged in." +msgstr "Piwigo-Passwort für die Anmeldung" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048 x 1536 Pixel)" +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "remember password" +msgstr "Passwort speichern" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "Ursprungsgröße" +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "If true, remember the Piwigo password." +msgstr "" +"Legt fest, ob das Piwigo-Passwort für weitere Anmeldungen gespeichert werden " +"soll." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "Album %s wird erstellt …" +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last selected Piwigo category." +msgstr "Die zuletzt in Piwigo ausgewählte Kategorie." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last permission level" +msgstr "Letzte Zugriffsstufe" + +#: misc/org.yorba.shotwell.gschema.xml:467 +msgid "The last chosen Piwigo permission level." +msgstr "Die zuletzt gewählte Zugriffsstufe bei Piwigo." + +#: misc/org.yorba.shotwell.gschema.xml:473 +msgid "" +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." msgstr "" -"Ein Fehler trat beim Veröffentlichen auf Piwigo auf. Bitte versuchen Sie " -"erneut." +"Ein Zahlencode, der die Größe des letzten Fotos darstellt, das zu Piwigo " +"hochgeladen wurde." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: misc/org.yorba.shotwell.gschema.xml:479 msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" msgstr "" -"Geben Sie die Adresse Ihrer Piwigo-Fotobibliothek sowie Ihren Benutzernamen " -"und Passwort für das mit Ihrer Bibliothek verbundene Piwigo-Benutzerkonto an." +"Legt fest, ob Metadaten vor dem Hochladen zu Piwigo entfernt werden sollen" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 +#: misc/org.yorba.shotwell.gschema.xml:484 msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +"if title is set and comment unset, use title as comment for uploads to Piwigo" msgstr "" -"Shotwell kann sich nicht mit Ihrer Piwigo-Fotobibliothek verbinden. Bitte " -"überprüfen Sie Ihre angegebene Adresse." +"Falls ein Titel und kein Kommentar gesetzt ist, den Titel als Kommentar beim " +"Hochladen zu Piwigo verwenden" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "Ungültige Adresse" +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" +"Legt fest, ob beim Hochladen von Bildern zu Piwigo die Kommentare aus den " +"Titeln erzeugt werden, sofern Titel, aber keine Kommentare festgelegt sind" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "Admins, Familie, Freunde, Kontakte" +#: misc/org.yorba.shotwell.gschema.xml:490 +msgid "do not upload tags when uploading to Piwigo" +msgstr "Keine Stichworte zu Piwigo hochladen" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "Admins, Familie, Freunde" +#: misc/org.yorba.shotwell.gschema.xml:491 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" +"Legt fest, ob Stichworte aus den zu Piwigo hochgeladenen Bildern entfernt " +"werden sollen, so dass diese auf dem entfernten Piwigo-Server nicht " +"erscheinen." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "Admins, Familie" +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 username" +msgstr "Gallery3-Benutzername" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "Admins" +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "API key" +msgstr "API-Schlüssel" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 -msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." -msgstr "" -"Sie sind gerade nicht bei YouTube angemeldet.\n" -"\n" -"Sie müssen bereits ein Google-Konto besitzen und es für YouTube eingerichtet " -"haben, um fortzufahren. Sie können die meisten Konten anlegen, indem Sie " -"sich mindestens einmal auf der YouTube-Seite anmelden." +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 API key" +msgstr "Gallery3-API-Schlüssel" + +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "URL" +msgstr "Adresse" + +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "Gallery3 site URL" +msgstr "Gallery3-Adresse" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 +#: misc/org.yorba.shotwell.gschema.xml:523 msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" msgstr "" -"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " -"Veröffentlichung auf Youtube ist nicht möglich." - -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "Sie sind bei YouTube als %s angemeldet." +"Legt fest, ob Metadaten vor dem Hochladen zu Gallery3 entfernt werden sollen" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "Videos werden in »%s« erscheinen" +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "scaling constraint of uploaded picture" +msgstr "Skalierungsbeschränkung des hochgeladenen Bildes" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "Öffentlich aufgeführt" +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "Die Kennung der Skalierungsbeschränkung des hochgeladenen Bildes" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "Nicht öffentlich aufgeführt" +#: misc/org.yorba.shotwell.gschema.xml:534 +msgid "pixels of the major axis uploaded picture" +msgstr "Pixel der Hauptachse des hochgeladenen Bildes" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "In einem e_xistierenden Album veröffentlichen:" +#: misc/org.yorba.shotwell.gschema.xml:535 +msgid "" +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" +msgstr "" +"Pixel der Hauptachse des hochzuladenden Bildes. Dies wird nur verwendet, " +"wenn scaling-constraint-id auf einen entsprechenden Wert gesetzt ist" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Ein _neues Album mit folgendem Namen erstellen:" +#: misc/org.yorba.shotwell.gschema.xml:543 +msgid "" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "Fotos und Videos _sichtbar für:" +#: misc/org.yorba.shotwell.gschema.xml:550 +msgid "last used import service" +msgstr "Zuletzt verwendeter Importdienst" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 +#: misc/org.yorba.shotwell.gschema.xml:551 msgid "" -"_Remove location, camera, and other identifying information before uploading" +"A numeric code representing the last service from which photos were imported" msgstr "" -"Ort, Kame_ra, und andere identifizierende Informationen vor dem Hochladen " -"entfernen" +"Ein Zahlencode, der den letzten Dienst darstellt, von dem Fotos importiert " +"wurden" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 +#: misc/org.yorba.shotwell.gschema.xml:558 +msgid "interpreter state cookie" +msgstr "Cookie für Interpreter-Status" + +#: misc/org.yorba.shotwell.gschema.xml:559 msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." +"A numeric code that captures the state of the GStreamer plug-in environment" msgstr "" -"Geben Sie zur Bestätigung die Zahl ein, die nach der Anmeldung bei Flickr in " -"Ihrem Webbrowser angezeigt wird." - -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "Autorisierungsnummer:" +"Ein Zahlencode, der den Status der Plugin-Umgebung von GStreamer darstellt" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "For_tsetzen" +#: misc/org.yorba.shotwell.gschema.xml:566 +msgid "content layout mode" +msgstr "Anordnungsmodus" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "A_lbum in öffentlicher Galerie aufführen" +#: misc/org.yorba.shotwell.gschema.xml:567 +msgid "" +"A numeric code that describes how photos are laid out on the page during " +"printing" +msgstr "" +"Ein Zahlencode, der darstellt, wie Fotos auf dem Medium beim Druck " +"angeordnet werden sollen" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "Voreingestellte Foto_größe:" +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content ppi" +msgstr "PPI für den Inhalt" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "_Adresse Ihrer Piwigo-Fotobibliothek" +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "Wert für Pixel pro Zoll (ppi), der an den Drucker gesendet werden soll" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "Benutzer_name" +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content width" +msgstr "Breite des Inhalts" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "Passwort _speichern" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The width of the printed emulsion on the page when printing" +msgstr "Die Breite des Druckbereiches auf der Seite" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "_Existierende Kategorie:" +#: misc/org.yorba.shotwell.gschema.xml:584 +msgid "content height" +msgstr "Höhe des Inhalts" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "Fotos sind s_ichtbar für:" +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "The height of the printed emulsion on the page when printing" +msgstr "Die Höhe des Druckbereiches auf der Seite" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Bildgröße:" +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "content units" +msgstr "Einheiten für Inhalte" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "in der Kategorie:" +#: misc/org.yorba.shotwell.gschema.xml:591 +msgid "" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" +msgstr "" +"Ein Zahlencode, der die beim Drucken verwendete Maßeinheit (Zoll oder " +"Millimeter) darstellt" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Album-Kommentar:" +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "images per page code" +msgstr "Anzahl der Bilder pro Seite" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" +#: misc/org.yorba.shotwell.gschema.xml:597 +msgid "" +"A numeric code representing the currently selected images per page mode used " +"when printing" msgstr "" -"_Falls ein Titel und kein Kommentar gesetzt ist, den Titel als Kommentar " -"verwenden" +"Ein Zahlencode, der den aktuell ausgewählten Bilder-pro-Seite-Modus beim " +"Drucken darstellt" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "Stichworte zu _Fotos nicht hochladen" +#: misc/org.yorba.shotwell.gschema.xml:602 +msgid "size selection" +msgstr "Größenauswahl" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Abmelden" +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" +"Der Index der aktuellen Druckgröße aus einer vordefinierten Liste von " +"Standardgrößen" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:303 -msgid "Publish" -msgstr "Veröffentlichen" +#: misc/org.yorba.shotwell.gschema.xml:608 +msgid "match aspect ratio" +msgstr "Seitenverhältnis beibehalten" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Standard-Veröffentlichungsdienste" +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" +"Legt fest, ob benutzerdefinierte Druckgrößen dem Seitenverhältnis des " +"Originalfotos entsprechen müssen" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "Privatsphärenein_stellungen für Videos:" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "print titles" +msgstr "Bildtitel drucken" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "Verdunkeln" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" +"Legt fest, ob der Bildtitel beim Drucken mit gedruckt werden soll oder nicht." -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "Schachbrett" +#: misc/org.yorba.shotwell.gschema.xml:620 +msgid "titles font" +msgstr "Titelschrift" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "Kreis" +#: misc/org.yorba.shotwell.gschema.xml:621 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "" +"Der Name der Schrift, die beim Drucken für Bildtitel verwendet werden soll." -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "Kreise" +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable facebook publishing plugin" +msgstr "Facebook-Veröffentlichungs-Plugin aktivieren" -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "Uhr" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Facebook-Veröffentlichungs-Plugin aktiviert ist oder nicht" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "Zerkrümeln" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable flickr publishing plugin" +msgstr "Flickr-Veröffentlichungs-Plugin aktivieren" -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "Überblenden" +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Flickr-Veröffentlichungs-Plugin aktiviert ist oder nicht" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "Schieben" +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable picasa publishing plugin" +msgstr "Picasa-Veröffentlichungs-Plugin aktivieren" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "Quadrate" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Picasa-Webalben-Veröffentlichungs-Plugin aktiviert ist " +"oder nicht" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "Streifen" +#: misc/org.yorba.shotwell.gschema.xml:650 +msgid "enable youtube publishing plugin" +msgstr "Youtube-Veröffentlichungs-Plugin aktivieren" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Standardübergänge für Diaschauen" +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Youtube-Veröffentlichungs-Plugin aktiviert ist oder nicht" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 -msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" -msgstr "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable piwigo publishing plugin" +msgstr "Piwigo-Veröffentlichungs-Plugin aktivieren" -#: ../src/AppDirs.vala:48 ../src/AppDirs.vala:99 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "Ordner zur Zwischenspeicherung kann nicht angelegt werden %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Piwigo-Veröffentlichungs-Plugin aktiviert ist oder nicht" -#: ../src/AppDirs.vala:58 ../src/AppDirs.vala:88 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "Fehler beim Erstellen des Datenordners %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable yandex publishing plugin" +msgstr "Yandex-Veröffentlichungs-Plugin aktivieren" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:152 -msgid "Pictures" -msgstr "Bilder" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Yandex.Fotki-Veröffentlichungs-Plugin aktiviert ist oder " +"nicht" -#: ../src/AppDirs.vala:190 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "Fehler beim Erstellen des Ordners %s für temporäre Dateien: %s" +#: misc/org.yorba.shotwell.gschema.xml:668 +msgid "enable tumblr publishing plugin" +msgstr "Tumblr-Veröffentlichungs-Plugin aktivieren" -#: ../src/AppDirs.vala:207 ../src/AppDirs.vala:223 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "Fehler beim Erstellen des Unterordners %s für Daten: %s" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Tumblr-Veröffentlichungs-Plugin aktiviert ist oder nicht" -#: ../src/AppWindow.vala:53 -msgid "Pin Toolbar" -msgstr "Werkzeugleiste fixieren" +#: misc/org.yorba.shotwell.gschema.xml:674 +msgid "enable rajce publishing plugin" +msgstr "Rajce-Veröffentlichungs-Plugin aktivieren" -#: ../src/AppWindow.vala:54 -msgid "Pin the toolbar open" -msgstr "Werkzeugleiste immer geöffnet" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Rajce-Veröffentlichungs-Plugin aktiviert ist oder nicht" -#: ../src/AppWindow.vala:59 -msgid "Leave fullscreen" -msgstr "Vollbild verlassen" +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable gallery3 publishing plugin" +msgstr "Gallery3-Veröffentlichungs-Plugin aktivieren" -#: ../src/AppWindow.vala:525 -msgid "_Contents" -msgstr "_Inhalt" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob das Gallery3-Veröffentlichungs-Plugin aktiviert ist oder nicht" -#: ../src/AppWindow.vala:530 -msgid "_Frequently Asked Questions" -msgstr "Oft gestellte _Fragen" +#: misc/org.yorba.shotwell.gschema.xml:686 +msgid "enable F-Spot import plugin" +msgstr "F-Spot-Import-Plugin aktivieren" -#: ../src/AppWindow.vala:535 -msgid "_Report a Problem..." -msgstr "_Ein Problem melden …" +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "Legt fest, ob das F-Spot-Import-Plugin aktiviert ist oder nicht" -#: ../src/AppWindow.vala:634 ../src/AppWindow.vala:655 -#: ../src/AppWindow.vala:672 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1418 ../src/Dialogs.vala:1441 ../src/Resources.vala:162 -#: ../src/data_imports/DataImportsUI.vala:374 -#: ../src/publishing/PublishingUI.vala:475 -msgid "_Cancel" -msgstr "_Abbrechen" +#: misc/org.yorba.shotwell.gschema.xml:692 +msgid "enable slideshow crumble transition" +msgstr "Zerfallen-Übergang für Diaschauen aktivieren" -#: ../src/AppWindow.vala:682 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:693 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" -"\n" -"%s" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" msgstr "" -"Ein schwerwiegender Fehler ist beim Zugriff auf Shotwells Bibliothek " -"aufgetreten. Shotwell kann nicht fortgesetzt werden.\n" -"\n" -"%s" - -#: ../src/AppWindow.vala:702 -msgid "Visit the Yorba web site" -msgstr "Besuchen Sie die Yorba-Webseite" +"Legt fest, ob der Zerfallen-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/AppWindow.vala:714 -#, c-format -msgid "Unable to display help: %s" -msgstr "Die Hilfe kann nicht angezeigt werden: %s" +#: misc/org.yorba.shotwell.gschema.xml:698 +msgid "enable slideshow fade transition" +msgstr "Überblendung für Diaschauen aktivieren" -#: ../src/AppWindow.vala:722 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "Zur Datenbank von Fehlerberichten kann nicht gewechselt werden: %s" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "Legt fest, ob die Überbledung für Diaschauen aktiviert ist oder nicht" -#: ../src/AppWindow.vala:730 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "Die oft gestellten Fragen können nicht angezeigt werden: %s" +#: misc/org.yorba.shotwell.gschema.xml:704 +#: misc/org.yorba.shotwell.gschema.xml:728 +msgid "enable slideshow slide transition" +msgstr "Gleiten-Übergang für Diaschauen aktivieren" -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "Erfolg" +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob der Gleiten-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "Dateifehler" +#: misc/org.yorba.shotwell.gschema.xml:710 +msgid "enable slideshow clock transition" +msgstr "Uhr-Übergang für Diaschauen aktivieren" -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "Die Datei kann nicht dekodiert werden" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "Legt fest, ob der Uhr-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "Datenbankfehler" +#: misc/org.yorba.shotwell.gschema.xml:716 +#: misc/org.yorba.shotwell.gschema.xml:722 +msgid "enable slideshow circle transition" +msgstr "Kreis-Übergang für Diaschauen aktivieren" -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "Importvorgang vom Benutzer abgebrochen" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob der Kreis-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "Keine Datei" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob der Kreis-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "Datei ist bereits in der Datenbank vorhanden" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob der Vorhang-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "Dateiformat wird nicht unterstützt" +#: misc/org.yorba.shotwell.gschema.xml:734 +msgid "enable slideshow squares transition" +msgstr "Quadrat-Übergang für Diaschauen aktivieren" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "Keine Bilddatei" +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob der Quadrat-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "Datenträgerfehler" +#: misc/org.yorba.shotwell.gschema.xml:740 +msgid "enable slideshow stripes transition" +msgstr "Streifen-Übergang für Diaschauen aktivieren" -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "Datenträger voll" +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Legt fest, ob der Streifen-Übergang für Diaschauen aktiviert ist oder nicht" -#: ../src/BatchImport.vala:59 -msgid "Camera error" -msgstr "Kamerafehler" +#: misc/org.yorba.shotwell.gschema.xml:746 +msgid "enable slideshow chess transition" +msgstr "Schachbrett-Übergang für Diaschauen aktivieren" -#: ../src/BatchImport.vala:62 -msgid "File write error" -msgstr "Datei-Schreibfehler" +#: misc/org.yorba.shotwell.gschema.xml:747 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" +"Legt fest, ob der Schachbrettmuster-Übergang für Diaschauen aktiviert ist " +"oder nicht" -#: ../src/BatchImport.vala:65 -msgid "Corrupt image file" -msgstr "Defekte Bilddatei" +#: plugins/common/Resources.vala:12 +msgid "Visit the Shotwell home page" +msgstr "Die Shotwell-Webseite besuchen" -#: ../src/BatchImport.vala:68 -#, c-format -msgid "Imported failed (%d)" -msgstr "Import fehlgeschlagen (%d)" +#: plugins/common/Resources.vala:31 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"Christian Kirbach , 2014, 2015, 2016\n" +"Mario Blättermann " -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2637 -msgid "S_lideshow" -msgstr "_Diaschau" +#: plugins/common/RESTSupport.vala:448 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:958 +msgid "A temporary file needed for publishing is unavailable" +msgstr "" +"Eine temporäre Datei, die für das Veröffentlichen benötigt wird, ist nicht " +"verfügbar" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2638 -msgid "Play a slideshow" -msgstr "Eine Diaschau anzeigen" +#: plugins/common/RESTSupport.vala:1154 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" +"Sie haben sich während dieser Shotwell-Sitzung bereits bei einem Google-" +"Dienst an- und abgemeldet.\n" +"\n" +"Um weitere Veröffentlichungen durchführen zu können, müssen Sie Shotwell " +"schließen und erneut starten. Versuchen Sie es danach erneut." + +# Ich würde lieber bei »Copyright« bleiben. +#: plugins/shotwell-data-imports/FSpotImporter.vala:36 +#: plugins/shotwell-publishing/FacebookPublishing.vala:33 +#: plugins/shotwell-publishing/FlickrPublishing.vala:35 +#: plugins/shotwell-publishing/PicasaPublishing.vala:33 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:33 +#: plugins/shotwell-publishing/YouTubePublishing.vala:33 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Copyright 2016 Software Freedom Conservancy Inc." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"Herzlich willkommen zum Importdienst für F-Spot-Bibliotheken.\n" +"\n" +"Bitte wählen Sie eine zu importierende Bibliothek, entweder durch das " +"Auswählen einer von Shotwell automatisch erkannten Datenbank, oder durch ein " +"manuelles Auswählen einer F-Spot-Datenbankdatei." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"Herzlich Willkommen zum Importdienst für F-Spot-Bibliotheken.\n" +"\n" +"Bitte wählen Sie eine F-Spot-Datenbankdatei." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "Manually select an F-Spot database file to import:" +msgstr "Manuell eine zu importierende F-Spot-Datenbank wählen:" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"Die ausgewählte F-Spot-Datenbank konnte nicht geöffnet werden: Diese Datei " +"existiert nicht oder ist keine F-Spot-Datenbank." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"Die ausgewählte F-Spot-Datenbank konnte nicht geöffnet werden: Diese " +"Datenbankversion wird aktuell noch nicht unterstützt." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"Beim Lesen der ausgewählten F-Spot-Datenbank trat ein Fehler auf: Die " +"Tabelle »Tags« konnte nicht gelesen werden." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"Beim Lesen der ausgewählten F-Spot-Datenbank trat ein Fehler auf: Die " +"Tabelle »Fotos« konnte nicht gelesen werden." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:72 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"Shotwell hat %d Fotos in der F-Spot-Datenbank gefunden und importiert diese " +"zurzeit. Duplikate werden automatisch erkannt und entfernt.\n" +"\n" +"Sie können diesen Dialog schließen und Shotwell nun benutzen, während im " +"Hintergrund noch der Import läuft." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:86 +#, c-format +msgid "F-Spot library: %s" +msgstr "F-Spot-Bibliothek: %s" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:424 +msgid "Preparing to import" +msgstr "Import wird vorbereitet" + +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "Kerndaten-Importdienst" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "_Zurück gehen" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "_Anmelden" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "_Gallery3-Adresse:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "Ben_utzername:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_Passwort:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "API-_Schlüssel:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "oder" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "A_bmelden" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "_Veröffentlichen" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "Ein _neues Album" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "Ein _vorhandenes Album" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "" +"Ort, Kamera und andere identifizierende Informationen vor dem Hochladen " +"_entfernen" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "Skalierungsbeschränkung:" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "Pixel" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1237 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1232 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "Ursprüngliche Größe" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Breite oder Höhe" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "Gallery3-Veröffentlichungsmodul" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" +"Sie sind gerade nicht bei Gallery angemeldet.\n" +"\n" +"Sie müssen bereits ein Gallery3-Konto besitzen, um den Anmeldevorgang " +"abzuschließen." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "Vorgabeordner für Shotwell" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" +"\n" +"\n" +"Die Datei »%s« wird in dieser Gallery3-Instanz möglicherweise nicht " +"unterstützt, oder ist zu groß." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" +"\n" +"Beachten Sie, dass Gallery3 nur Video-Formate unterstützt, die auch von " +"Flowplayer unterstützt werden." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1021 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1773 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" +"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " +"Veröffentlichung auf %s ist nicht möglich." + +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1550 +#, c-format +msgid "Publishing to %s as %s." +msgstr "Veröffentlichung nach »%s« als »%s«" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1817 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"Geben Sie die Adresse Ihrer Gallery3-Fotobibliothek an, sowie Ihren " +"Benutzernamen und Passwort (oder API-Schlüssel) für das mit Ihrer Bibliothek " +"verbundene Gallery3-Benutzerkonto." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1818 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"Benutzername und Passwort oder API-Schlüssel sind inkorrekt. Um es nochmals " +"zu versuchen, geben Sie Ihren Benutzernamen und Ihr Passwort unterhalb " +"erneut ein." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"Die eingegebene Adresse scheint nicht im Hauptordner der Gallery3-Instanz zu " +"sein. Bitte stellen Sie sicher, dass Sie sie korrekt eingegeben haben und " +"dass Sie keine nachfolgenden Bestandteile haben (z.B.: index.php)." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1872 +msgid "Unrecognized User" +msgstr "Unbekannter Benutzer" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1877 +msgid " Site Not Found" +msgstr " Seite nicht gefunden" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "_E-Mail-Adresse" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_Passwort" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:894 +msgid "_Remember" +msgstr "Dauerhaft _merken" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:895 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "Anmelden" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "_einem vorhandenem Album:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "einem _neuen Album:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1005 +msgid "_Hide album" +msgstr "Album _verbergen" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +msgid "Open target _album in browser" +msgstr "Ziel-_Album im Browser öffnen" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:40 +msgid "Copyright (C) 2013 rajce.net" +msgstr "Copyright (C) 2013 rajce.net" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:744 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "" +"Ein Fehler trat beim Veröffentlichen auf Rajce auf. Bitte versuchen Sie es " +"erneut." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:833 +msgid "Enter email and password associated with your Rajce account." +msgstr "Geben Sie den Benutzernamen und Ihr Passwort für Ihr Rajce-Konto ein." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:834 +msgid "Invalid email and/or password. Please try again" +msgstr "E-Mail und/oder Passwort sind ungültig. Bitte versuchen Sie es erneut" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:865 +msgid "Invalid User Email or Password" +msgstr "Ungültige Benutzer-E-Mail oder Passwort" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 +#, c-format +msgid "You are logged into Rajce as %s." +msgstr "Sie sind bei Rajce als %s angemeldet." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "Fotos werden erscheinen in:" + +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Zusätzliche Shotwell-Veröffentlichungsdienste" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "Blogs:" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "Bild_größe:" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:36 +msgid "Copyright 2012 BJA Electronics" +msgstr "Copyright 2012 BJA Electronics" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1228 +msgid "500 x 375 pixels" +msgstr "500 x 375 Pixel" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1229 +msgid "1024 x 768 pixels" +msgstr "1024 x 768 Pixel" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:107 +msgid "1280 x 853 pixels" +msgstr "1280 x 853 Pixel" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:311 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:321 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "" +"»%s« ist keine gültige Antwort auf eine OAuth-Authentifizierungsanfrage" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:559 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start( ): kann nicht gestartet werden; das Werkzeug zum " +"Veröffentlichen ist nicht neu startbar." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "" +"Geben Sie den Benutzernamen und Ihr Passwort für das mit Tumblr verbundene " +"Konto ein." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:588 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:990 +msgid "Username and/or password invalid. Please try again" +msgstr "" +"Benutzername und/oder Passwort sind ungültig. Bitte versuchen Sie es erneut" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:615 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1024 +msgid "Invalid User Name or Password" +msgstr "Ungültiger Benutzername oder Passwort" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:634 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:752 +#, c-format +msgid "Could not load UI: %s" +msgstr "UI konnte nicht geladen werden: %s" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:734 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"Sie als %s bei Tumblr angemeldet.\n" +"\n" + +# Ich nehme mir hier mal die Freiheit, die im Deutschen übliche Transkription der kyrillischen Schrift anstelle der englischen zu verwenden. +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "Copyright 2010+ Jewgeni Poljakow " + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "Besuchen Sie die Yandex.Fotki-Webseite" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:658 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "Sie sind aktuell nicht bei Yandex.Fotki angemeldet." + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "_Alben (oder neues erstellen):" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "Zugriffs_typ:" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "_Kommentare deaktivieren" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "Herunterladen des Originalfotos _verbieten" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "Öffentlich" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Freunde" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:498 +msgid "Private" +msgstr "Privat" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "In einem e_xistierenden Album veröffentlichen:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "Ein _neues Album mit folgendem Namen erstellen:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "_Größe zum Hochladen:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "Fotos und Videos _sichtbar für:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 +msgid "" +"_Remove location, camera, and other identifying information before uploading" +msgstr "" +"Ort, Kame_ra, und andere identifizierende Informationen vor dem Hochladen " +"entfernen" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:62 +#: plugins/shotwell-publishing/PicasaPublishing.vala:60 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1112 +msgid "Shotwell Connect" +msgstr "Shotwell Connect" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:64 +msgid "" +"You are not currently logged into Facebook.\n" +"\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." +msgstr "" +"Sie sind zur Zeit nicht bei Facebook angemeldet.\n" +"\n" +"Falls Sie noch kein Facebook-Konto haben, können Sie während des " +"Anmeldevorgangs eines erstellen. Während der Anmeldung wird Shotwell " +"möglicherweise nach Berechtigungen zum Hochladen von Fotos und zum Freigeben " +"der Fotos in Ihrem Feed fragen. Diese Berechtigungen sind notwendig, damit " +"die Kopplung von Shotwell und Facebook funktionieren kann." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:66 +msgid "" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Sie haben sich in dieser Shotwell-Sitzung bereits bei Facebook an- und " +"wieder abgemeldet.\n" +"Um weiterhin auf Facebook zu veröffentlichen, beenden Sie Shotwell, starten " +"es neu und versuchen es dann erneut." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:87 +msgid "Standard (720 pixels)" +msgstr "Standard (720 Pixel)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:90 +msgid "Large (2048 pixels)" +msgstr "Groß (2048 Pixel)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:255 +msgid "Testing connection to Facebook..." +msgstr "Verbindung zu Facebook wird geprüft …" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:348 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "Album wird erstellt …" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " +"Veröffentlichung auf Facebook ist nicht möglich." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"Sie sind bei Facebook als %s angemeldet.\n" +"\n" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "Wo möchten Sie die ausgewählten Fotos veröffentlichen?" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1215 +msgid "Just me" +msgstr "Nur mich" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1216 +msgid "Everyone" +msgstr "Alle" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" +"Geben Sie zur Bestätigung die Zahl ein, die nach der Anmeldung bei Flickr in " +"Ihrem Webbrowser angezeigt wird." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "Autorisierungsnummer:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 src/Dialogs.vala:132 +msgid "Con_tinue" +msgstr "For_tsetzen" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:62 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"Sie sind zurzeit nicht bei Flickr angemeldet.\n" +"\n" +"Klicken Sie auf »Anmelden«, um sich über Ihren Webbrowser bei Flickr " +"anzumelden. Sie müssen »Shotwell Connect« autorisieren, um sich mit Flickr " +"zu verbinden." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:64 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Sie haben sich in dieser Shotwell-Sitzung bereits bei Flickr an- und " +"abgemeldet.\n" +"Um weiterhin auf Flickr zu veröffentlichen zu können, beenden Sie Shotwell, " +"starten Sie es nochmals und versuchen es dann erneut." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:376 +msgid "Preparing for login..." +msgstr "Anmeldung wird vorbereitet …" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:446 +#: plugins/shotwell-publishing/FlickrPublishing.vala:596 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " +"Veröffentlichung auf Flickr ist nicht möglich." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:459 +msgid "Verifying authorization..." +msgstr "Autorisierung wird bestätigt …" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1154 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"Sie sind bei Flickr als %s angemeldet.\n" +"\n" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1157 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"Ihr kostenloses Flickr-Konto ist auf ein monatliches Upload-Volumen " +"limitiert.\n" +"Diesen Monat können Sie noch %d Megabyte hochladen." +msgstr[1] "" +"Ihr kostenloses Flickr-Konto ist auf ein monatliches Upload-Volumen " +"limitiert.\n" +"Diesen Monat können Sie noch %d Megabyte hochladen." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1161 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "Ihr Flickr-Pro-Konto erlaubt unbeschränkte Uploads." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1166 +msgid "Photos _visible to:" +msgstr "Fotos _sichtbar für:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1168 +msgid "Videos _visible to:" +msgstr "Videos _sichtbar für:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1171 +msgid "Photos and videos _visible to:" +msgstr "Fotos und Videos _sichtbar für:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Friends & family only" +msgstr "Nur Freunde und Familie" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Family only" +msgstr "Nur Familie" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1214 +msgid "Friends only" +msgstr "Nur Freunde" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1230 +msgid "2048 x 1536 pixels" +msgstr "2048 x 1536 Pixel" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1236 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1231 +msgid "4096 x 3072 pixels" +msgstr "4096 x 3072 Pixel" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "A_lbum in öffentlicher Galerie aufführen" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "Voreingestellte Foto_größe:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"Sie sind zur Zeit nicht bei Picasa Webalben angemeldet.\n" +"\n" +"Klicken Sie auf »Anmelden«, um sich in Ihrem Webbrowser bei Picasa Webalben " +"anzumelden. Sie müssen Shotwell Connect gestatten, sich mit Ihrem Konto bei " +"Picasa Webalben zu verbinden." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " +"Veröffentlichung auf Picasa ist nicht möglich." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "Sie sind bei Picasa Webalben als %s angemeldet." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "Videos werden folgendermaßen dargestellt:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "Klein (640 x 480 Pixel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "Mittel (1024 x 768 Pixel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "Empfohlen (1600 x 1200 Pixel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048 x 1536 Pixel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "Ursprungsgröße" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "_Adresse Ihrer Piwigo-Fotobibliothek" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "Benutzer_name" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "Passwort _speichern" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "_Existierende Kategorie:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "Fotos sind s_ichtbar für:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "Bildgröße:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "in der Kategorie:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "Album-Kommentar:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "" +"_Falls ein Titel und kein Kommentar gesetzt ist, den Titel als Kommentar " +"verwenden" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "Stichworte zu _Fotos nicht hochladen" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "Abmelden" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "Veröffentlichen" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:747 +#, c-format +msgid "Creating album %s..." +msgstr "Album %s wird erstellt …" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:918 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "" +"Ein Fehler trat beim Veröffentlichen auf Piwigo auf. Bitte versuchen Sie " +"erneut." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:988 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"Geben Sie die Adresse Ihrer Piwigo-Fotobibliothek sowie Ihren Benutzernamen " +"und Passwort für das mit Ihrer Bibliothek verbundene Piwigo-Benutzerkonto an." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:989 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"Shotwell kann sich nicht mit Ihrer Piwigo-Fotobibliothek verbinden. Bitte " +"überprüfen Sie Ihre angegebene Adresse." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1019 +msgid "Invalid URL" +msgstr "Ungültige Adresse" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1217 +msgid "Admins, Family, Friends, Contacts" +msgstr "Admins, Familie, Freunde, Kontakte" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1218 +msgid "Admins, Family, Friends" +msgstr "Admins, Familie, Freunde" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1219 +msgid "Admins, Family" +msgstr "Admins, Familie" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1220 +msgid "Admins" +msgstr "Admins" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Standard-Veröffentlichungsdienste" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "Privatsphärenein_stellungen für Videos:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:58 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"Sie sind gerade nicht bei YouTube angemeldet.\n" +"\n" +"Sie müssen bereits ein Google-Konto besitzen und es für YouTube eingerichtet " +"haben, um fortzufahren. Sie können die meisten Konten anlegen, indem Sie " +"sich mindestens einmal auf der YouTube-Seite anmelden." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:363 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"Eine Datei, die veröffentlicht werden soll, ist nicht verfügbar. Die " +"Veröffentlichung auf Youtube ist nicht möglich." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:462 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "Sie sind bei YouTube als %s angemeldet." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:464 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "Videos werden in »%s« erscheinen" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public listed" +msgstr "Öffentlich aufgeführt" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Public unlisted" +msgstr "Nicht öffentlich aufgeführt" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "Verdunkeln" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "Schachbrett" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "Kreis" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "Kreise" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "Uhr" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "Zerkrümeln" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "Überblenden" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Standardübergänge für Diaschauen" + +# Ich würde lieber bei »Copyright« bleiben. +#: plugins/shotwell-transitions/shotwell-transitions.vala:76 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "Schieben" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "Quadrate" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "Streifen" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "Ordner zur Zwischenspeicherung kann nicht angelegt werden %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "Fehler beim Erstellen des Datenordners %s: %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "Bilder" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "Fehler beim Erstellen des Ordners %s für temporäre Dateien: %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "Fehler beim Erstellen des Unterordners %s für Daten: %s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "Ordner %s konnte nicht schreibbar gesetzt werden" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "Ordner %s konnte nicht schreibbar gesetzt werden: %s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "Werkzeugleiste fixieren" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "Werkzeugleiste immer geöffnet" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "Vollbild verlassen" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "_Inhalt" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "Oft gestellte _Fragen" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "_Ein Problem melden …" + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1425 src/Dialogs.vala:1448 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_Abbrechen" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"Ein schwerwiegender Fehler ist beim Zugriff auf Shotwells Bibliothek " +"aufgetreten. Shotwell kann nicht fortgesetzt werden.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "Besuchen Sie die Shotwell-Internetseite" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "Die Hilfe kann nicht angezeigt werden: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "Zur Datenbank von Fehlerberichten kann nicht gewechselt werden: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "Die oft gestellten Fragen können nicht angezeigt werden: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "Erfolg" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "Dateifehler" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "Die Datei kann nicht dekodiert werden" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "Datenbankfehler" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "Importvorgang vom Benutzer abgebrochen" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "Keine Datei" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "Datei ist bereits in der Datenbank vorhanden" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "Dateiformat wird nicht unterstützt" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "Keine Bilddatei" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "Datenträgerfehler" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "Datenträger voll" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "Kamerafehler" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "Datei-Schreibfehler" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "Defekte Bilddatei" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" +msgstr "Import fehlgeschlagen (%d)" + +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Kameras" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Kamera" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"Das Kameramedium kann nicht ausgehängt werden. Versuchen Sie es bitte über " +"die Dateiverwaltung." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Bereits importierte Fotos verbergen" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Nur Fotos zeigen, die noch nicht importiert wurden" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "Import wird gestartet, bitte warten …" + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Titel" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Titel jedes Fotos anzeigen" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "A_usgewählte importieren" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Die ausgewählten Bilder in die Bibliothek importieren" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "_Alle importieren" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Alle Fotos in die Bibliothek importieren" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Shotwell muss die Kamera aus dem Dateisystem aushängen, um auf sie zugreifen " +"zu können. Möchten Sie fortsetzen?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_Aushängen" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Bitte hängen Sie die Kamera aus." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"Die Kamera ist von einer anderen Anwendung reserviert. Shotwell kann nur auf " +"die Kamera zugreifen, wenn sie frei ist. Bitte schließen Sie die andere " +"Anwendung und versuchen Sie es nochmals." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "" +"Bitte schließen Sie alle anderen Anwendungen, die die Kamera verwenden." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"Es können keine Vorschaubilder von der Kamera abgerufen werden:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "Aushängen läuft …" + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "Foto-Informationen werden abgerufen" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "Vorschaubild für %s wird abgerufen" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "Kamera kann nicht reserviert werden: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "Soll dieses Foto von der Kamera gelöscht werden?" +msgstr[1] "Sollen diese %d Fotos von der Kamera gelöscht werden?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "Soll dieses Video von der Kamera gelöscht werden?" +msgstr[1] "Sollen diese %d Videos von der Kamera gelöscht werden?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "Soll dieses Foto/Video von der Kamera gelöscht werden?" +msgstr[1] "Sollen diese %d Fotos/Videos von der Kamera gelöscht werden?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "Sollen diese Dateien von der Kamera gelöscht werden?" +msgstr[1] "Sollen diese %d Dateien von der Kamera gelöscht werden?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1392 +msgid "_Keep" +msgstr "_Behalten" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "Fotos/Videos werden von der Kamera entfernt" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "" +"%d Foto/Video kann wegen Fehlern nicht von der Kamera gelöscht werden." +msgstr[1] "" +"%d Fotos/Videos können wegen Fehlern nicht von der Kamera gelöscht werden." + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "_Diaschau" -#: ../src/CollectionPage.vala:456 +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "Eine Diaschau anzeigen" + +#: src/CollectionPage.vala:456 msgid "Export Photo/Video" msgstr "Foto/Video exportieren" -#: ../src/CollectionPage.vala:456 +#: src/CollectionPage.vala:456 msgid "Export Photos/Videos" msgstr "Fotos/Videos exportieren" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3211 +#: src/CollectionPage.vala:458 src/Dialogs.vala:59 src/PhotoPage.vala:3209 msgid "Export Photo" msgstr "Foto exportieren" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 +#: src/CollectionPage.vala:458 src/Dialogs.vala:88 msgid "Export Photos" msgstr "Fotos exportieren" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 msgid "Rotating" msgstr "Drehen läuft" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 msgid "Undoing Rotate" msgstr "Drehen wird zurück genommen" -#: ../src/CollectionPage.vala:570 +#: src/CollectionPage.vala:570 msgid "Flipping Horizontally" msgstr "Horizontal spiegeln" -#: ../src/CollectionPage.vala:571 +#: src/CollectionPage.vala:571 msgid "Undoing Flip Horizontally" msgstr "»Horizontal spiegeln« wird zurück genommen" -#: ../src/CollectionPage.vala:580 +#: src/CollectionPage.vala:580 msgid "Flipping Vertically" msgstr "Vertikal spiegeln" -#: ../src/CollectionPage.vala:581 +#: src/CollectionPage.vala:581 msgid "Undoing Flip Vertically" msgstr "»Vertikal spiegeln« wird zurück genommen" -#: ../src/Commands.vala:733 +#: src/Commands.vala:737 msgid "Reverting" msgstr "Zurücknehmen läuft" -#: ../src/Commands.vala:733 +#: src/Commands.vala:737 msgid "Undoing Revert" msgstr "Zurücknehmen wird rückgängig gemacht" -#: ../src/Commands.vala:777 +#: src/Commands.vala:781 msgid "Enhancing" msgstr "Verbessern läuft" -#: ../src/Commands.vala:777 +#: src/Commands.vala:781 msgid "Undoing Enhance" msgstr "Verbessern wird zurückgenommen" -#: ../src/Commands.vala:853 +#: src/Commands.vala:857 msgid "Applying Color Transformations" msgstr "Farbumwandlungen werden angewendet" -#: ../src/Commands.vala:853 +#: src/Commands.vala:857 msgid "Undoing Color Transformations" msgstr "Farbumwandlung wird rückgängig gemacht" -#: ../src/Commands.vala:1003 +#: src/Commands.vala:1007 msgid "Creating New Event" msgstr "Neues Ereignis wird angelegt" -#: ../src/Commands.vala:1004 +#: src/Commands.vala:1008 msgid "Removing Event" msgstr "Ereignis wird entfernt" -#: ../src/Commands.vala:1013 +#: src/Commands.vala:1017 msgid "Moving Photos to New Event" msgstr "Fotos werden in neues Ereignis verschoben" -#: ../src/Commands.vala:1014 +#: src/Commands.vala:1018 msgid "Setting Photos to Previous Event" msgstr "Fotos werden auf vorheriges Ereignis gesetzt" -#: ../src/Commands.vala:1071 +#: src/Commands.vala:1075 msgid "Merging" msgstr "Zusammenführen läuft" -#: ../src/Commands.vala:1072 +#: src/Commands.vala:1076 msgid "Unmerging" msgstr "Zusammenführung wird rückgängig gemacht" -#: ../src/Commands.vala:1081 +#: src/Commands.vala:1085 msgid "Duplicating photos" msgstr "Fotos werden dupliziert" -#: ../src/Commands.vala:1081 +#: src/Commands.vala:1085 msgid "Removing duplicated photos" msgstr "Duplizierte Fotos werden entfernt" -#: ../src/Commands.vala:1104 +#: src/Commands.vala:1108 #, c-format msgid "Unable to duplicate one photo due to a file error" msgid_plural "Unable to duplicate %d photos due to file errors" msgstr[0] "Wegen eines Dateifehlers kann das Foto nicht dupliziert werden" msgstr[1] "Wegen eines Dateifehlers können %d Fotos nicht dupliziert werden" -#: ../src/Commands.vala:1191 +#: src/Commands.vala:1195 msgid "Restoring previous rating" msgstr "Vorhergehende Bewertung wird wiederhergestellt" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: src/Commands.vala:1205 src/Commands.vala:1206 msgid "Increasing ratings" msgstr "Bewertung wird erhöht" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: src/Commands.vala:1205 src/Commands.vala:1206 msgid "Decreasing ratings" msgstr "Bewertung wird verringert" -#: ../src/Commands.vala:1252 +#: src/Commands.vala:1256 msgid "Setting RAW developer" msgstr "RAW-Entwickler einstellen" -#: ../src/Commands.vala:1252 +#: src/Commands.vala:1256 msgid "Restoring previous RAW developer" msgstr "Vorherigen RAW-Entwickler wiederherstellen" -#: ../src/Commands.vala:1253 +#: src/Commands.vala:1257 msgid "Set Developer" msgstr "Entwickler wählen" -#: ../src/Commands.vala:1343 +#: src/Commands.vala:1347 msgid "Original photo could not be adjusted." msgstr "Originalbild konnte nicht angepasst werden." -#: ../src/Commands.vala:1364 +#: src/Commands.vala:1368 msgid "Adjusting Date and Time" msgstr "Datum und Zeit werden abgeglichen" -#: ../src/Commands.vala:1364 +#: src/Commands.vala:1368 msgid "Undoing Date and Time Adjustment" msgstr "Datum- und Zeitanpassung werden rückgängig gemacht" -#: ../src/Commands.vala:1395 +#: src/Commands.vala:1399 msgid "One original photo could not be adjusted." msgid_plural "The following original photos could not be adjusted." msgstr[0] "Ein Originalfoto konnte nicht angepasst werden." msgstr[1] "Die folgenden Originalfotos konnten nicht angepasst werden." -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 +#: src/Commands.vala:1401 src/Commands.vala:1425 msgid "Time Adjustment Error" msgstr "Fehler beim Zeitabgleich" -#: ../src/Commands.vala:1419 +#: src/Commands.vala:1423 msgid "Time adjustments could not be undone on the following photo file." msgid_plural "" "Time adjustments could not be undone on the following photo files." @@ -1402,102 +2863,195 @@ msgstr[0] "" msgstr[1] "" "Zeitabgleich konnte für die folgenden Fotos nicht rückgängig gemacht werden." -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 +#: src/Commands.vala:1637 src/Commands.vala:1660 msgid "Create Tag" msgstr "Stichwort zuordnen" -#: ../src/Commands.vala:1691 +#: src/Commands.vala:1695 #, c-format msgid "Move Tag \"%s\"" msgstr "Stichwort »%s« verschieben" -#: ../src/Commands.vala:2343 +#: src/Commands.vala:2347 msgid "Move Photos to Trash" msgstr "Fotos in den Papierkorb verschieben" -#: ../src/Commands.vala:2343 +#: src/Commands.vala:2347 msgid "Restore Photos from Trash" msgstr "Fotos aus dem Papierkorb wiederherstellen" -#: ../src/Commands.vala:2344 +#: src/Commands.vala:2348 msgid "Move the photos to the Shotwell trash" msgstr "Fotos in den Shotwell-Papierkorb verschieben" -#: ../src/Commands.vala:2344 +#: src/Commands.vala:2348 msgid "Restore the photos back to the Shotwell library" msgstr "Fotos in der Shotwell-Bibliothek wiederherstellen" -#: ../src/Commands.vala:2363 +#: src/Commands.vala:2367 msgid "Moving Photos to Trash" msgstr "Fotos werden in den Papierkorb verschoben" -#: ../src/Commands.vala:2363 +#: src/Commands.vala:2367 msgid "Restoring Photos From Trash" msgstr "Fotos werden aus dem Papierkorb wiederhergestellt" -#: ../src/Commands.vala:2449 +#: src/Commands.vala:2453 msgid "Flag selected photos" msgstr "Ausgewählte Fotos markieren" -#: ../src/Commands.vala:2450 +#: src/Commands.vala:2454 msgid "Unflag selected photos" msgstr "Markierung für die ausgewählten Fotos aufheben" -#: ../src/Commands.vala:2451 +#: src/Commands.vala:2455 msgid "Flagging selected photos" msgstr "Die gewählten Fotos werden markiert" -#: ../src/Commands.vala:2452 +#: src/Commands.vala:2456 msgid "Unflagging selected photos" msgstr "Die Markierung der gewählten Fotos wird entfernt" -#: ../src/Commands.vala:2459 +#: src/Commands.vala:2463 msgid "Flag" msgstr "Markieren" -#: ../src/Commands.vala:2459 +#: src/Commands.vala:2463 msgid "Unflag" msgstr "Markierung aufheben" -#: ../src/DesktopIntegration.vala:121 +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "%s-Datenbank" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "Import von %s kann nicht fortgesetzt werden, da ein Fehler auftrat:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "" +"Um von einem anderen Dienst zu importieren, wählen Sie einen im Menü oben " +"aus." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"Sie haben keine Datenimport-Erweiterung aktiviert.\n" +"\n" +"Um Importieren von Anwendungen nutzen zu können, müssen Sie mindestens eine " +"Datenimport-Erweiterung aktiviert haben. Erweiterungen können im " +"Einstellungsdialog aktiviert werden." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Datenbank" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:904 +msgid "_Import" +msgstr "_Import" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Importieren von Anwendung" + +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "Importieren _von:" + +#: src/data_imports/DataImportsUI.vala:408 src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "_Schließen" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Importieren" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "" +"Die Fotodatenbank %s kann wegen eines Dateifehlers nicht erstellt werden: " +"Fehlercode %d" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"In die Fotodatenbank-Datei kann nicht geschrieben werden:\n" +" %s" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"Fehler beim Zugriff auf die Datenbank-Datei:\n" +" %s\n" +"\n" +"Der Fehler lautete:\n" +"%s" + +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "Die Fotodatenbank %s konnte nicht wiederhergestellt werden" + +#: src/DesktopIntegration.vala:121 #, c-format msgid "Unable to launch Nautilus Send-To: %s" msgstr "Nautilus Senden-An kann nicht gestartet werden: %s" -#: ../src/DesktopIntegration.vala:129 +#: src/DesktopIntegration.vala:129 msgid "Send To" msgstr "Senden an" -#: ../src/DesktopIntegration.vala:174 +#: src/DesktopIntegration.vala:174 #, c-format msgid "Unable to export background to %s: %s" msgstr "Der Hintergrund kann nicht nach %s exportiert werden: %s" -#: ../src/DesktopIntegration.vala:311 +#: src/DesktopIntegration.vala:311 #, c-format msgid "Unable to prepare desktop slideshow: %s" -msgstr "Die Arbeitsflächen-Diaschau kann nicht vorbereitet werden: %s" +msgstr "Die Hintergrund-Bildvorführung kann nicht vorbereitet werden: %s" -#: ../src/Dialogs.vala:16 +#: src/Dialogs.vala:16 #, c-format msgid "This will remove the tag \"%s\" from one photo. Continue?" msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" msgstr[0] "Dies wird das Stichwort »%s« von einem Foto entfernen. Fortsetzen?" msgstr[1] "Dies wird das Stichwort »%s« von %d Fotos entfernen. Fortsetzen?" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1386 -#: ../src/Resources.vala:163 ../src/Resources.vala:369 -#: ../src/Resources.vala:417 ../src/Resources.vala:682 +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1393 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 msgid "_Delete" msgstr "_Löschen" -#: ../src/Dialogs.vala:25 +#: src/Dialogs.vala:25 #, c-format msgid "This will remove the saved search \"%s\". Continue?" msgstr "" "Hiermit wird die gespeicherte Suche »%s« entfernt. Soll fortgesetzt werden?" -#: ../src/Dialogs.vala:35 +#: src/Dialogs.vala:36 msgid "" "Switching developers will undo all changes you have made to this photo in " "Shotwell" @@ -1511,11 +3065,11 @@ msgstr[1] "" "Durch das Wechseln des Entwicklers gehen alle Änderungen verloren, die Sie " "an diesen Fotos in Shotwell vorgenommen haben." -#: ../src/Dialogs.vala:39 +#: src/Dialogs.vala:40 msgid "_Switch Developer" msgstr "Entwickler _wechseln" -#: ../src/Dialogs.vala:58 +#: src/Dialogs.vala:59 msgid "Export Video" msgstr "Video exportieren" @@ -1524,7 +3078,7 @@ msgstr "Video exportieren" #. if we can't copy an image over for editing in an external tool. #. Did we fail because we can't write to this directory? #. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 +#: src/Dialogs.vala:116 #, c-format msgid "" "Shotwell couldn't create a file for editing this photo because you do not " @@ -1533,7 +3087,7 @@ msgstr "" "Shotwell konnte keine Datei zur Bearbeitung dieses Fotos erstellen, weil Sie " "keine Berechtigung haben, um auf %s zu schreiben." -#: ../src/Dialogs.vala:124 +#: src/Dialogs.vala:125 msgid "" "Unable to export the following photo due to a file error.\n" "\n" @@ -1541,7 +3095,7 @@ msgstr "" "Das Foto kann wegen eines Dateifehlers nicht exportiert werden.\n" "\n" -#: ../src/Dialogs.vala:130 +#: src/Dialogs.vala:131 msgid "" "\n" "\n" @@ -1554,60 +3108,61 @@ msgstr "" #. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really #. aren't formats so much as they are operating modes that determine specific formats. #. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 +#: src/Dialogs.vala:148 msgid "Unmodified" msgstr "Unverändert" -#: ../src/Dialogs.vala:148 +# Bildformat +#: src/Dialogs.vala:149 msgid "Current" -msgstr "Aktuell" +msgstr "Aktuelles" #. layout controls -#: ../src/Dialogs.vala:213 +#: src/Dialogs.vala:216 msgid "_Format:" msgstr "_Format:" -#: ../src/Dialogs.vala:216 +#: src/Dialogs.vala:219 msgid "_Quality:" msgstr "_Qualität:" -#: ../src/Dialogs.vala:219 +#: src/Dialogs.vala:222 msgid "_Scaling constraint:" msgstr "_Skalierungsbeschränkung:" -#: ../src/Dialogs.vala:222 +#: src/Dialogs.vala:225 msgid "_Pixels:" msgstr "_Pixel:" -#: ../src/Dialogs.vala:225 +#: src/Dialogs.vala:228 msgid "Export metadata" msgstr "Metadaten exportieren" -#: ../src/Dialogs.vala:459 +#: src/Dialogs.vala:462 msgid "Save Details..." msgstr "Details speichern …" -#: ../src/Dialogs.vala:460 +#: src/Dialogs.vala:463 msgid "Save Details" msgstr "Details speichern" -#: ../src/Dialogs.vala:475 +#: src/Dialogs.vala:478 #, c-format msgid "(and %d more)\n" msgstr "(und %d andere)\n" -#: ../src/Dialogs.vala:528 +#: src/Dialogs.vala:531 msgid "Import Results Report" msgstr "Importergebnisse anzeigen" -#: ../src/Dialogs.vala:532 +#: src/Dialogs.vala:535 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." msgstr[0] "%d Datei zu importieren versucht." msgstr[1] "%d Dateien zu importieren versucht." -#: ../src/Dialogs.vala:535 +#: src/Dialogs.vala:538 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." @@ -1617,30 +3172,30 @@ msgstr[1] "Davon wurden %d Dateien erfolgreich importiert." #. #. Duplicates #. -#: ../src/Dialogs.vala:547 +#: src/Dialogs.vala:550 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Duplikate von Fotos und Videos wurden nicht importiert:" -#: ../src/Dialogs.vala:551 +#: src/Dialogs.vala:554 msgid "duplicates existing media item" msgstr "dupliziert bestehendes Medienelement" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:562 +#: src/Dialogs.vala:565 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "Fotos/Videos wurden aufgrund von Kamera-Fehlern nicht importiert:" -#: ../src/Dialogs.vala:565 ../src/Dialogs.vala:580 ../src/Dialogs.vala:595 -#: ../src/Dialogs.vala:611 ../src/Dialogs.vala:626 ../src/Dialogs.vala:640 +#: src/Dialogs.vala:568 src/Dialogs.vala:583 src/Dialogs.vala:598 +#: src/Dialogs.vala:614 src/Dialogs.vala:629 src/Dialogs.vala:643 msgid "error message:" msgstr "Fehlermeldung:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:576 +#: src/Dialogs.vala:579 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "" "Diese Dateien wurden nicht importiert, da Sie nicht als Foto oder Video " @@ -1649,7 +3204,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:591 +#: src/Dialogs.vala:594 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1660,7 +3215,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:606 +#: src/Dialogs.vala:609 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" @@ -1668,7 +3223,7 @@ msgstr "" "Dateien wurden nicht importiert, da Sie nicht in die Bibliothek kopiert " "werden konnten:" -#: ../src/Dialogs.vala:610 +#: src/Dialogs.vala:613 #, c-format msgid "" "couldn't copy %s\n" @@ -1680,7 +3235,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:622 +#: src/Dialogs.vala:625 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "" "Fotos/Videos konnten nicht importiert werden, da die Dateien beschädigt sind:" @@ -1688,32 +3243,32 @@ msgstr "" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:637 +#: src/Dialogs.vala:640 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "Foto/Videos wurden aus anderen Gründen nicht importiert:" -#: ../src/Dialogs.vala:657 +#: src/Dialogs.vala:660 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" msgstr[0] "1 Duplikat des Fotos wurde nicht importiert:\n" msgstr[1] "%d Duplikate des Fotos wurden nicht importiert:\n" -#: ../src/Dialogs.vala:660 +#: src/Dialogs.vala:663 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" msgstr[0] "1 Duplikat des Videos wurde nicht importiert:\n" msgstr[1] "%d Duplikate des Videos wurden nicht importiert:\n" -#: ../src/Dialogs.vala:663 +#: src/Dialogs.vala:666 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" msgstr[0] "1 Duplikat des Fotos/Videos wurde nicht importiert:\n" msgstr[1] "%d Duplikate der Fotos/Videos wurden nicht importiert:\n" -#: ../src/Dialogs.vala:677 +#: src/Dialogs.vala:680 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1723,7 +3278,7 @@ msgstr[0] "" msgstr[1] "" "%d Fotos konnten wegen Datei- oder Hardwarefehlern nicht importiert werden:\n" -#: ../src/Dialogs.vala:680 +#: src/Dialogs.vala:683 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1734,7 +3289,7 @@ msgstr[1] "" "%d Videos konnten wegen Datei- oder Hardwarefehlern nicht importiert " "werden:\n" -#: ../src/Dialogs.vala:683 +#: src/Dialogs.vala:686 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1746,7 +3301,7 @@ msgstr[1] "" "%d Fotos/Videos konnten wegen Datei- oder Hardwarefehlern nicht importiert " "werden:\n" -#: ../src/Dialogs.vala:686 +#: src/Dialogs.vala:689 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1757,7 +3312,7 @@ msgstr[1] "" "%d Dateien konnten wegen eines Datei- oder Hardwarefehlers nicht importiert " "werden:\n" -#: ../src/Dialogs.vala:700 +#: src/Dialogs.vala:703 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1771,7 +3326,7 @@ msgstr[1] "" "%d Fotos wurden nicht importiert, weil der Ordner der Foto-Bibliothek " "schreibgeschützt ist:\n" -#: ../src/Dialogs.vala:703 +#: src/Dialogs.vala:706 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1785,7 +3340,7 @@ msgstr[1] "" "%d Videos wurden nicht importiert, weil der Ordner mit der Foto-Bibliothek " "schreibgeschützt ist:\n" -#: ../src/Dialogs.vala:706 +#: src/Dialogs.vala:709 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1800,7 +3355,7 @@ msgstr[1] "" "%d Fotos/Videos wurden nicht importiert, weil der Ordner mit der Foto-" "Bibliothek schreibgeschützt ist:\n" -#: ../src/Dialogs.vala:709 +#: src/Dialogs.vala:712 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1814,7 +3369,7 @@ msgstr[1] "" "%d Dateien wurden nicht importiert, weil der Ordner mit der Foto-Bibliothek " "schreibgeschützt ist:\n" -#: ../src/Dialogs.vala:723 +#: src/Dialogs.vala:726 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" @@ -1823,7 +3378,7 @@ msgstr[0] "" msgstr[1] "" "%d Fotos konnten wegen eines Kamerafehlers nicht importiert werden:\n" -#: ../src/Dialogs.vala:726 +#: src/Dialogs.vala:729 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" @@ -1832,7 +3387,7 @@ msgstr[0] "" msgstr[1] "" "%d Videos konnten wegen eines Kamerafehlers nicht importiert werden:\n" -#: ../src/Dialogs.vala:729 +#: src/Dialogs.vala:732 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" @@ -1841,7 +3396,7 @@ msgstr[0] "" msgstr[1] "" "%d Fotos/Videos konnten wegen eines Kamerafehlers nicht importiert werden:\n" -#: ../src/Dialogs.vala:732 +#: src/Dialogs.vala:735 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" @@ -1850,7 +3405,7 @@ msgstr[0] "" msgstr[1] "" "%d Dateien konnte wegen eines Kamerafehlers nicht importiert werden:\n" -#: ../src/Dialogs.vala:746 +#: src/Dialogs.vala:749 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" @@ -1860,7 +3415,7 @@ msgstr[1] "" "%d Fotos konnten nicht importiert werden, weil die Dateien beschädigt " "waren:\n" -#: ../src/Dialogs.vala:749 +#: src/Dialogs.vala:752 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" @@ -1869,7 +3424,7 @@ msgstr[0] "" msgstr[1] "" "%d Videos konnten nicht importiert werden, weil die Datei beschädigt war:\n" -#: ../src/Dialogs.vala:752 +#: src/Dialogs.vala:755 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" @@ -1880,7 +3435,7 @@ msgstr[1] "" "%d Fotos/Videos konnten nicht importiert werden, weil die Datei beschädigt " "war:\n" -#: ../src/Dialogs.vala:755 +#: src/Dialogs.vala:758 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1893,7 +3448,7 @@ msgstr[1] "" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:772 +#: src/Dialogs.vala:775 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1902,56 +3457,56 @@ msgstr[1] "%d Fotos mit nicht unterstütztem Format wurden übersprungen:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:787 +#: src/Dialogs.vala:790 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" msgstr[0] "Eine Nicht-Bilddatei wurde übersprungen.\n" msgstr[1] "%d Nicht-Bilddateien wurde übersprungen.\n" -#: ../src/Dialogs.vala:798 +#: src/Dialogs.vala:801 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" msgstr[0] "Ein Foto wurde wegen Abbruchs durch den Benutzer übersprungen:\n" msgstr[1] "%d Fotos wurden wegen Abbruchs durch den Benutzer übersprungen:\n" -#: ../src/Dialogs.vala:801 +#: src/Dialogs.vala:804 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" msgstr[0] "Ein Video wurde wegen Abbruchs durch den Benutzer übersprungen:\n" msgstr[1] "%d Videos wurden wegen Abbruchs durch den Benutzer übersprungen:\n" -#: ../src/Dialogs.vala:804 +#: src/Dialogs.vala:807 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" msgstr[0] "Ein Foto/Video wegen Abbruchs durch den Benutzer übersprungen.\n" msgstr[1] "%d Fotos/Videos wegen Abbruchs durch den Benutzer übersprungen.\n" -#: ../src/Dialogs.vala:807 +#: src/Dialogs.vala:810 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" msgstr[0] "Eine Datei wegen Abbruchs durch den Benutzer übersprungen.\n" msgstr[1] "%d Dateien wegen Abbruchs durch den Benutzer übersprungen.\n" -#: ../src/Dialogs.vala:821 +#: src/Dialogs.vala:824 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" msgstr[0] "Ein Foto wurde erfolgreich importiert.\n" msgstr[1] "%d Fotos wurden erfolgreich importiert.\n" -#: ../src/Dialogs.vala:824 +#: src/Dialogs.vala:827 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" msgstr[0] "Ein Video wurde erfolgreich importiert.\n" msgstr[1] "%d Videos wurden erfolgreich importiert.\n" -#: ../src/Dialogs.vala:827 +#: src/Dialogs.vala:830 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1960,93 +3515,89 @@ msgstr[1] "%d Fotos/Videos wurden erfolgreich importiert.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:843 +#: src/Dialogs.vala:846 msgid "No photos or videos imported.\n" msgstr "Es wurden keine Fotos oder Videos importiert.\n" -#: ../src/Dialogs.vala:850 ../src/Dialogs.vala:869 +#: src/Dialogs.vala:853 src/Dialogs.vala:872 msgid "Import Complete" msgstr "Import abgeschlossen" -#: ../src/Dialogs.vala:1155 +#: src/Dialogs.vala:1158 #, c-format msgid "%d second" msgid_plural "%d seconds" msgstr[0] "%d Sekunde" msgstr[1] "%d Sekunden" -#: ../src/Dialogs.vala:1158 +#: src/Dialogs.vala:1161 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d Minute" msgstr[1] "%d Minuten" -#: ../src/Dialogs.vala:1162 +#: src/Dialogs.vala:1165 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d Stunde" msgstr[1] "%d Stunden" -#: ../src/Dialogs.vala:1165 +#: src/Dialogs.vala:1168 msgid "1 day" msgstr "1 Tag" -#: ../src/Dialogs.vala:1315 ../src/Resources.vala:236 +#: src/Dialogs.vala:1322 src/Resources.vala:231 msgid "Rename Event" msgstr "Ereignis umbenennen" -#: ../src/Dialogs.vala:1315 +#: src/Dialogs.vala:1322 msgid "Name:" msgstr "Name:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1326 ../src/Resources.vala:308 +#: src/Dialogs.vala:1333 +msgctxt "Dialog Title" msgid "Edit Title" msgstr "Titel bearbeiten" -#: ../src/Dialogs.vala:1327 ../src/Properties.vala:340 +#: src/Dialogs.vala:1334 src/Properties.vala:340 msgid "Title:" msgstr "Titel:" #. Dialog title -#: ../src/Dialogs.vala:1343 ../src/Resources.vala:315 +#: src/Dialogs.vala:1350 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Kommentar des Ereignisses bearbeiten" -#: ../src/Dialogs.vala:1344 +#: src/Dialogs.vala:1351 msgid "Edit Photo/Video Comment" msgstr "Foto-/Video-Kommentar bearbeiten" -#: ../src/Dialogs.vala:1345 ../src/Properties.vala:628 +#: src/Dialogs.vala:1352 src/Properties.vala:628 msgid "Comment:" msgstr "Kommentar:" -#: ../src/Dialogs.vala:1361 +#: src/Dialogs.vala:1368 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "Datei entfernen und _löschen" msgstr[1] "Dateien entfernen und _löschen" -#: ../src/Dialogs.vala:1365 +#: src/Dialogs.vala:1372 msgid "_Remove From Library" msgstr "Aus der Bibliothek _entfernen" -#: ../src/Dialogs.vala:1385 ../src/camera/ImportPage.vala:1741 -msgid "_Keep" -msgstr "_Behalten" - -#: ../src/Dialogs.vala:1408 +#: src/Dialogs.vala:1415 msgid "Revert External Edit?" msgstr "Externe Veränderung zurücknehmen?" -#: ../src/Dialogs.vala:1408 +#: src/Dialogs.vala:1415 msgid "Revert External Edits?" msgstr "Externe Veränderungen zurücknehmen?" -#: ../src/Dialogs.vala:1410 +#: src/Dialogs.vala:1417 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -2056,87 +3607,87 @@ msgstr[0] "" msgstr[1] "" "Dies wird alle Veränderungen der %d externen Dateien zerstören. Fortfahren?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edit" msgstr "Externe _Veränderung zurücknehmen" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edits" msgstr "Externe _Veränderungen zurücknehmen" -#: ../src/Dialogs.vala:1435 +#: src/Dialogs.vala:1442 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" msgstr[0] "Dies wird das Foto aus der Bibliothek entfernen. Fortsetzen?" msgstr[1] "Dies wird %d Fotos aus der Bibliothek entfernen. Fortsetzen?" -#: ../src/Dialogs.vala:1442 ../src/Resources.vala:178 +#: src/Dialogs.vala:1449 src/Resources.vala:173 msgid "_Remove" msgstr "Entfe_rnen" -#: ../src/Dialogs.vala:1443 +#: src/Dialogs.vala:1450 msgid "Remove Photo From Library" msgstr "Foto aus der Bibliothek entfernen" -#: ../src/Dialogs.vala:1443 +#: src/Dialogs.vala:1450 msgid "Remove Photos From Library" msgstr "Fotos aus der Bibliothek entfernen" -#: ../src/Dialogs.vala:1536 +#: src/Dialogs.vala:1543 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1688 +#: src/Dialogs.vala:1697 msgid "AM" msgstr "Vormittag" -#: ../src/Dialogs.vala:1689 +#: src/Dialogs.vala:1698 msgid "PM" msgstr "Nachmittag" -#: ../src/Dialogs.vala:1690 +#: src/Dialogs.vala:1699 msgid "24 Hr" msgstr "24 Stunden" -#: ../src/Dialogs.vala:1705 +#: src/Dialogs.vala:1714 msgid "_Shift photos/videos by the same amount" msgstr "Fotos/Videos um den gleichen Betrag _versetzen" -#: ../src/Dialogs.vala:1710 +#: src/Dialogs.vala:1719 msgid "Set _all photos/videos to this time" msgstr "Zeit für _alle Fotos/Videos setzen" -#: ../src/Dialogs.vala:1717 +#: src/Dialogs.vala:1726 msgid "_Modify original photo file" msgstr "Originale Bilddatei _verändern" -#: ../src/Dialogs.vala:1717 +#: src/Dialogs.vala:1726 msgid "_Modify original photo files" msgstr "Originale Bilddateien _verändern" -#: ../src/Dialogs.vala:1720 +#: src/Dialogs.vala:1729 msgid "_Modify original file" msgstr "Originaldateien _bearbeiten" -#: ../src/Dialogs.vala:1720 +#: src/Dialogs.vala:1729 msgid "_Modify original files" msgstr "Originaldateien _verändern" -#: ../src/Dialogs.vala:1806 +#: src/Dialogs.vala:1815 msgid "Original: " msgstr "Ursprüngliche Größe:" -#: ../src/Dialogs.vala:1807 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d.%m.%Y, %H:%M:%S" -#: ../src/Dialogs.vala:1808 +#: src/Dialogs.vala:1817 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d.%m.%Y, %I:%M:%S %p" -#: ../src/Dialogs.vala:1897 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2145,7 +3696,7 @@ msgstr "" "Aufnahmezeit wird um \n" "%d %s, %d %s, %d %s, und %d %s nach vorne verlegt." -#: ../src/Dialogs.vala:1898 +#: src/Dialogs.vala:1907 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2154,31 +3705,31 @@ msgstr "" "Aufnahmezeit wird um \n" "%d %s, %d %s, %d %s, und %d %s nach hinten verlegt." -#: ../src/Dialogs.vala:1900 +#: src/Dialogs.vala:1909 msgid "day" msgid_plural "days" msgstr[0] "Tag" msgstr[1] "Tage" -#: ../src/Dialogs.vala:1901 +#: src/Dialogs.vala:1910 msgid "hour" msgid_plural "hours" msgstr[0] "Stunde" msgstr[1] "Stunden" -#: ../src/Dialogs.vala:1902 +#: src/Dialogs.vala:1911 msgid "minute" msgid_plural "minutes" msgstr[0] "Minute" msgstr[1] "Minuten" -#: ../src/Dialogs.vala:1903 +#: src/Dialogs.vala:1912 msgid "second" msgid_plural "seconds" msgstr[0] "Sekunde" msgstr[1] "Sekunden" -#: ../src/Dialogs.vala:1947 +#: src/Dialogs.vala:1956 #, c-format msgid "" "\n" @@ -2197,92 +3748,92 @@ msgstr[1] "" "\n" "und %d andere." -#: ../src/Dialogs.vala:1969 ../src/Dialogs.vala:1996 +#: src/Dialogs.vala:1980 src/Dialogs.vala:2007 msgid "Tags (separated by commas):" msgstr "Stichworte (getrennt durch Kommata):" -#: ../src/Dialogs.vala:2076 +#: src/Dialogs.vala:2087 msgid "Welcome!" msgstr "Willkommen!" -#: ../src/Dialogs.vala:2083 +#: src/Dialogs.vala:2094 msgid "Welcome to Shotwell!" msgstr "Willkommen zu Shotwell!" -#: ../src/Dialogs.vala:2087 +#: src/Dialogs.vala:2098 msgid "To get started, import photos in any of these ways:" msgstr "Importieren Sie zunächst Fotos auf eine der folgenden Arten:" -#: ../src/Dialogs.vala:2106 +#: src/Dialogs.vala:2117 #, c-format msgid "Choose File %s Import From Folder" msgstr "" "Wählen Sie Datei %s aus Ordner importieren" -#: ../src/Dialogs.vala:2107 +#: src/Dialogs.vala:2118 msgid "Drag and drop photos onto the Shotwell window" msgstr "Verschieben Sie Fotos per Ziehen und Ablegen in das Shotwell-Fenster" -#: ../src/Dialogs.vala:2108 +#: src/Dialogs.vala:2119 msgid "Connect a camera to your computer and import" msgstr "Verbinden Sie die Kamera mit Ihrem Rechner und importieren Sie" -#: ../src/Dialogs.vala:2118 +#: src/Dialogs.vala:2129 #, c-format msgid "_Import photos from your %s folder" msgstr "Fotos aus dem Ordner »%s« _importieren" -#: ../src/Dialogs.vala:2125 +#: src/Dialogs.vala:2136 msgid "You can also import photos in any of these ways:" msgstr "Sie können Fotos auch auf eine der folgenden Weisen importieren:" -#: ../src/Dialogs.vala:2135 +#: src/Dialogs.vala:2146 msgid "_Don't show this message again" msgstr "Diese Meldung nicht noch einmal _zeigen" -#: ../src/Dialogs.vala:2170 +#: src/Dialogs.vala:2181 #, c-format msgid "Import photos from your %s library" msgstr "Bilder aus der %s-Bibliothek importieren" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2311 ../src/Dialogs.vala:2315 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2328 src/Dialogs.vala:2332 msgid "(Help)" msgstr "(Hilfe)" -#: ../src/Dialogs.vala:2324 +#: src/Dialogs.vala:2341 #, c-format msgid "Year%sMonth%sDay" msgstr "Jahr%sMonat%sTag" -#: ../src/Dialogs.vala:2326 +#: src/Dialogs.vala:2343 #, c-format msgid "Year%sMonth" msgstr "Jahr%sMonat" -#: ../src/Dialogs.vala:2328 +#: src/Dialogs.vala:2345 #, c-format msgid "Year%sMonth-Day" msgstr "Jahr%sMonat-Tag" -#: ../src/Dialogs.vala:2330 +#: src/Dialogs.vala:2347 msgid "Year-Month-Day" msgstr "Jahr-Monat-Tag" -#: ../src/Dialogs.vala:2331 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2348 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Benutzerdefiniert" #. Invalid pattern. -#: ../src/Dialogs.vala:2568 +#: src/Dialogs.vala:2585 msgid "Invalid pattern" msgstr "Ungültiges Muster" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2670 +#: src/Dialogs.vala:2687 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2290,31 +3841,31 @@ msgstr "" "Shotwell kann die Fotos aus dem Ordner in die Bibliothek kopieren oder sie " "können verknüpft werden, ohne sie zu kopieren." -#: ../src/Dialogs.vala:2675 +#: src/Dialogs.vala:2692 msgid "Co_py Photos" msgstr "Fotos ko_pieren" -#: ../src/Dialogs.vala:2676 +#: src/Dialogs.vala:2693 msgid "_Import in Place" msgstr "_Import durch Verknüpfen" -#: ../src/Dialogs.vala:2677 +#: src/Dialogs.vala:2694 msgid "Import to Library" msgstr "In Bibliothek importieren" -#: ../src/Dialogs.vala:2687 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2704 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Aus Bibliothek entfernen" -#: ../src/Dialogs.vala:2688 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2705 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "Foto wird aus Bibliothek entfernt" -#: ../src/Dialogs.vala:2688 +#: src/Dialogs.vala:2705 msgid "Removing Photos From Library" msgstr "Fotos werden aus Bibliothek entfernt" -#: ../src/Dialogs.vala:2702 +#: src/Dialogs.vala:2719 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2337,7 +3888,7 @@ msgstr[1] "" "\n" "Diese Aktion kann nicht rückgängig gemacht werden!" -#: ../src/Dialogs.vala:2706 +#: src/Dialogs.vala:2723 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2357,2786 +3908,2556 @@ msgstr[0] "" msgstr[1] "" "Dies wird %d Videos aus der Shotwell-Bibliothek entfernen.\n" "Möchten Sie die Dateien auch in den Papierkorb verschieben?\n" -"\n" -"Diese Aktion kann nicht rückgängig gemacht werden!" - -#: ../src/Dialogs.vala:2710 -#, c-format -msgid "" -"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." -msgid_plural "" -"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." -msgstr[0] "" -"Dies wird das ausgewählte Foto aus der Shotwell-Bibliothek entfernen.\n" -"Möchten Sie die Datei auch in den Papierkorb verschieben?\n" -"\n" -"Diese Aktion kann nicht rückgängig gemacht werden!" -msgstr[1] "" -"Dies wird %d Fotos aus der Shotwell-Bibliothek entfernen.\n" -"Möchten Sie die Dateien auch in den Papierkorb verschieben?\n" -"\n" -"Diese Aktion kann nicht rückgängig gemacht werden!" - -#: ../src/Dialogs.vala:2742 -#, c-format -msgid "" -"The photo or video cannot be moved to your desktop trash. Delete this file?" -msgid_plural "" -"%d photos/videos cannot be moved to your desktop trash. Delete these files?" -msgstr[0] "" -"Das Foto oder Video konnte nicht in den Papierkorb verschoben werden. " -"Endgültig löschen?" -msgstr[1] "" -"%d Fotos/Videos konnten nicht in den Papierkorb verschoben werden. Endgültig " -"löschen?" - -#. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2759 -#, c-format -msgid "The photo or video cannot be deleted." -msgid_plural "%d photos/videos cannot be deleted." -msgstr[0] "Das Foto oder Video kann nicht gelöscht werden." -msgstr[1] "%d Fotos/Videos können nicht gelöscht werden." - -#: ../src/Dimensions.vala:23 -msgid "Width" -msgstr "Breite" - -#: ../src/Dimensions.vala:26 -msgid "Height" -msgstr "Höhe" - -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "%s kann nicht überwacht werden, es ist kein Ordner (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Ereignis %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "Fehler beim Erstellen einer temporären Datei für %s: %s" - -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "Wird exportiert" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "Die Datei %s existiert bereits. Soll sie überschrieben werden?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "Ü_berspringen" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "E_rsetzen" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "_Alle ersetzen" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Exportieren" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "Überwachungsaktualisierungen können nicht verarbeitet werden: %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Die Größe der Vorschaubilder anpassen" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2593 -#: ../src/Resources.vala:188 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "Ver_größern" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Vorschaubilder vergrößern" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2599 -#: ../src/Resources.vala:189 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "Ver_kleinern" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Vorschaubilder verkleinern" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "_Fotos sortieren" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "Video _abspielen" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "" -"Die ausgewählten Videos mit der voreingestellten Video-Wiedergabe öffnen" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2642 -msgid "_Developer" -msgstr "_Entwickler" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:711 ../src/camera/ImportPage.vala:727 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Kamera" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:874 -msgid "_Titles" -msgstr "_Titel" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:875 -msgid "Display the title of each photo" -msgstr "Titel jedes Fotos anzeigen" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "_Kommentare" - -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Die Kommentare zu jedem Bild anzeigen" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:360 -msgid "Ta_gs" -msgstr "S_tichworte" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Stichworte jedes Fotos anzeigen" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Nach _Titel" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Fotos nach Titel sortieren" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "Nach Aufnahme_datum" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Fotos nach Aufnahmedatum sortieren" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Nach _Bewertung" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Fotos nach Bewertung sortieren" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Nach _Dateiname" - -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Fotos nach Dateinamen sortieren" - -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:406 -msgid "_Ascending" -msgstr "_Aufsteigend" - -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:407 -msgid "Sort photos in an ascending order" -msgstr "Fotos in aufsteigender Reihenfolge sortieren" - -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:413 -msgid "D_escending" -msgstr "A_bsteigend" +"\n" +"Diese Aktion kann nicht rückgängig gemacht werden!" -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:414 -msgid "Sort photos in a descending order" -msgstr "Fotos in absteigender Reihenfolge sortieren" +#: src/Dialogs.vala:2727 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +"Dies wird das ausgewählte Foto aus der Shotwell-Bibliothek entfernen.\n" +"Möchten Sie die Datei auch in den Papierkorb verschieben?\n" +"\n" +"Diese Aktion kann nicht rückgängig gemacht werden!" +msgstr[1] "" +"Dies wird %d Fotos aus der Shotwell-Bibliothek entfernen.\n" +"Möchten Sie die Dateien auch in den Papierkorb verschieben?\n" +"\n" +"Diese Aktion kann nicht rückgängig gemacht werden!" -#: ../src/MediaPage.vala:723 +#: src/Dialogs.vala:2759 #, c-format msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"Shotwell konnte das ausgewählte Video nicht abspielen:\n" -"%s" +"The photo or video cannot be moved to your desktop trash. Delete this file?" +msgid_plural "" +"%d photos/videos cannot be moved to your desktop trash. Delete these files?" +msgstr[0] "" +"Das Foto oder Video konnte nicht in den Papierkorb verschoben werden. " +"Endgültig löschen?" +msgstr[1] "" +"%d Fotos/Videos konnten nicht in den Papierkorb verschoben werden. Endgültig " +"löschen?" -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "Keine Fotos/Videos" +#. Alert the user that the files were not removed. +#: src/Dialogs.vala:2776 +#, c-format +msgid "The photo or video cannot be deleted." +msgid_plural "%d photos/videos cannot be deleted." +msgstr[0] "Das Foto oder Video kann nicht gelöscht werden." +msgstr[1] "%d Fotos/Videos können nicht gelöscht werden." -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "Keine Fotos/Videos gefunden" +#: src/Dimensions.vala:23 +msgid "Width" +msgstr "Breite" -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "Fotos können nicht in diesen Ordner exportiert werden." +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "Höhe" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "verändert" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Datei" -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Voriges Foto" +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "_Speichern" -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Nächstes Foto" +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Foto speichern" -#: ../src/PhotoPage.vala:1847 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Foto-Quelldatei fehlt: %s" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "Speichern _unter …" -#: ../src/PhotoPage.vala:2414 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:344 -msgid "_View" -msgstr "_Ansicht" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Foto unter einem anderen Namen speichern" + +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Foto auf einem Drucker ausgeben, der mit dem Rechner verbunden ist" + +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "_Bearbeiten" + +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_Foto" -#: ../src/PhotoPage.vala:2418 ../src/direct/DirectPhotoPage.vala:81 +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 msgid "T_ools" msgstr "_Werkzeuge" -#: ../src/PhotoPage.vala:2423 ../src/direct/DirectPhotoPage.vala:86 +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "_Voriges Foto" -#: ../src/PhotoPage.vala:2424 ../src/direct/DirectPhotoPage.vala:87 +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "Voriges Foto" -#: ../src/PhotoPage.vala:2429 ../src/direct/DirectPhotoPage.vala:92 +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "_Nächstes Foto" -#: ../src/PhotoPage.vala:2430 ../src/direct/DirectPhotoPage.vala:93 +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "Nächstes Foto" -#: ../src/PhotoPage.vala:2594 ../src/direct/DirectPhotoPage.vala:175 +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Ansicht" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "_Hilfe" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "Ver_größern" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "Die Ansicht vergrößern" -#: ../src/PhotoPage.vala:2600 ../src/direct/DirectPhotoPage.vala:181 +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "Ver_kleinern" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "Die Ansicht verkleinern" -#: ../src/PhotoPage.vala:2605 ../src/direct/DirectPhotoPage.vala:186 +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "Auf S_eite einpassen" -#: ../src/PhotoPage.vala:2606 ../src/direct/DirectPhotoPage.vala:187 +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "Foto auf Bildschirmgröße anpassen" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:193 +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "_100 % Vergrößerung" -#: ../src/PhotoPage.vala:2614 ../src/direct/DirectPhotoPage.vala:195 +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Bild in normaler Größe anzeigen" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:201 +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "_200 % Vergrößerung" -#: ../src/PhotoPage.vala:2622 ../src/direct/DirectPhotoPage.vala:203 +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Bild in doppelter Größe anzeigen" -#: ../src/PhotoPage.vala:3231 +#: src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "Unable to export %s: %s" -msgstr "%s kann nicht exportiert werden: %s" - -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Die gesamte Seite füllen" - -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 Bilder pro Seite" - -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 Bilder pro Seite" - -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 Bilder pro Seite" - -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 Bilder pro Seite" - -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 Bilder pro Seite" - -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 Bilder pro Seite" - -#: ../src/Printing.vala:348 -msgid "in." -msgstr "Zoll" - -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" - -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 -msgid "Wallet (2 x 3 in.)" -msgstr "Brieftasche (2 x 3 Zoll)" - -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 -msgid "Notecard (3 x 5 in.)" -msgstr "Notizzettel (3 x 5 Zoll)" - -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 -msgid "4 x 6 in." -msgstr "4 x 6 Zoll" - -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 -msgid "5 x 7 in." -msgstr "5 x 7 Zoll" - -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 -msgid "8 x 10 in." -msgstr "8 x 10 Zoll" - -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 -msgid "11 x 14 in." -msgstr "11 x 14 Zoll" - -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 -msgid "16 x 20 in." -msgstr "16 x 20 Zoll" - -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 -msgid "Metric Wallet (9 x 13 cm)" -msgstr "Metrische Brieftasche (9 x 13 cm)" - -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 -msgid "Postcard (10 x 15 cm)" -msgstr "Postkarte (10 x 15 cm)" - -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 -msgid "13 x 18 cm" -msgstr "13 x 18 cm" - -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 -msgid "18 x 24 cm" -msgstr "18 x 24 cm" - -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 -msgid "20 x 30 cm" -msgstr "20 x 30 cm" - -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 -msgid "24 x 40 cm" -msgstr "24 x 40 cm" - -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 -msgid "30 x 40 cm" -msgstr "30 x 40 cm" - -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Bildeinstellungen" +msgid "%s does not exist." +msgstr "%s existiert nicht." -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "Drucken …" +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s ist keine Datei." -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 +#: src/direct/DirectPhotoPage.vala:231 #, c-format msgid "" -"Unable to print photo:\n" -"\n" -"%s" +"%s does not support the file format of\n" +"%s." msgstr "" -"Das Foto kann nicht gedruckt werden:\n" -"\n" -"%s" +"%s unterstützt das Dateiformat von\n" +"%s nicht." -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Heute" +#: src/direct/DirectPhotoPage.vala:248 +#, c-format +msgid "Unable open photo %s. Sorry." +msgstr "Das Foto %s kann nicht geöffnet werden. Entschuldigung." -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Gestern" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "Eine Kopie _speichern" -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:312 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" +#: src/direct/DirectPhotoPage.vala:435 +#, c-format +msgid "Lose changes to %s?" +msgstr "Änderungen an %s verwerfen?" -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Einträge:" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Schließen _ohne zu speichern" -#: ../src/Properties.vala:346 +#: src/direct/DirectPhotoPage.vala:469 #, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d Ereignis" -msgstr[1] "%d Ereignisse" +msgid "Error while saving to %s: %s" +msgstr "Fehler beim Speichern als %s: %s" -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 -#, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "%d Foto" -msgstr[1] "%d Fotos" +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Speichern unter" -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 #, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d Film" -msgstr[1] "%d Filme" - -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Datum:" +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "%s kann nicht überwacht werden, es ist kein Ordner (%s)" -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Zeit:" +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Zurück zu den aktuellen Fotoabmessungen" -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "Von:" +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Foto zuschneiden" -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "Bis:" +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "Ausschnittsformat zwischen Hoch- und Querformat wechseln" -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1890 -msgid "Size:" -msgstr "Größe:" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Unbeschränkt" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Dauer:" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Quadrat" -#: ../src/Properties.vala:404 -#, c-format -msgid "%.1f seconds" -msgstr "%.1f Sekunden" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Bildschirm" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Entwickler:" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2258 -msgid "Exposure:" -msgstr "Belichtung:" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "SD-Video (4 : 3)" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Ort:" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "HD-Video (16 : 9)" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Dateigröße:" +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "Brieftasche (2 x 3 Zoll)" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Aktuelle Entwicklung:" +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "Notizzettel (3 x 5 Zoll)" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Ursprüngliche Größe:" +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "4 x 6 Zoll" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Kamerahersteller:" +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "5 x 7 Zoll" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Kameramodell:" +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "8 x 10 Zoll" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Blitz:" +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "US-Letter (8.5 x 11 in.)" -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Brennweite:" +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "11 x 14 Zoll" -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Aufnahmedatum:" +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Boulevardblatt (11 x 17 in.)" -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Belichtungszeit:" +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "16 x 20 Zoll" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Manuelle Belichtungskorrektur:" +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "Metrische Brieftasche (9 x 13 cm)" -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "GPS-Breitengrad:" +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "Postkarte (10 x 15 cm)" -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "GPS-Längengrad:" +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "13 x 18 cm" -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Künstler:" +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "18 x 24 cm" -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Copyright:" +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 x 297 mm)" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Software:" +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "20 x 30 cm" -#: ../src/Properties.vala:639 -msgid "Extended Information" -msgstr "Erweiterte Informationen" +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "24 x 40 cm" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Fotoverwaltung" +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "30 x 40 cm" -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Fotobetrachter" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297 x 420 mm)" -#: ../src/Resources.vala:144 -msgid "Rotate _Right" -msgstr "Nach _rechts drehen" +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "Größe:" -#: ../src/Resources.vala:145 ../src/Resources.vala:150 -msgid "Rotate" -msgstr "Drehen" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Rote-Augen-Entferner schließen" -#: ../src/Resources.vala:146 -msgid "Rotate Right" -msgstr "Nach rechts drehen" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Rote-Augen-Effekt im ausgewählten Bereich beseitigen" -#: ../src/Resources.vala:147 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "Fotos nach rechts drehen (Strg zum Drehen nach links drücken)" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_Zurücksetzen" -#: ../src/Resources.vala:149 -msgid "Rotate _Left" -msgstr "Nach _links drehen" +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "Belichtung:" -#: ../src/Resources.vala:151 -msgid "Rotate Left" -msgstr "Nach links drehen" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Sättigung:" -#: ../src/Resources.vala:152 -msgid "Rotate the photos left" -msgstr "Fotos nach links drehen" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Farbton:" -#: ../src/Resources.vala:154 -msgid "Flip Hori_zontally" -msgstr "Hori_zontal spiegeln" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Temperatur:" -#: ../src/Resources.vala:155 -msgid "Flip Horizontally" -msgstr "Horizontal spiegeln" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Schatten:" -#: ../src/Resources.vala:157 -msgid "Flip Verti_cally" -msgstr "Verti_kal spiegeln" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Spitzlichter:" -#: ../src/Resources.vala:158 -msgid "Flip Vertically" -msgstr "Vertikal spiegeln" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Farben zurücksetzen" -#: ../src/Resources.vala:160 -msgid "_About" -msgstr "_Info" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Alle Farbanpassungen auf Ursprungswerte zurücksetzen" -#: ../src/Resources.vala:161 -msgid "_Apply" -msgstr "_Anwenden" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Temperatur" -#: ../src/Resources.vala:164 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:340 -msgid "_Edit" -msgstr "_Bearbeiten" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Farbton" -#: ../src/Resources.vala:165 -msgid "_Forward" -msgstr "_Vor" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Sättigung" -#: ../src/Resources.vala:166 -msgid "Fulls_creen" -msgstr "Bilds_chirmfüllend" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Belichtung" -#: ../src/Resources.vala:167 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:364 -msgid "_Help" -msgstr "_Hilfe" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Schatten" -#: ../src/Resources.vala:168 -msgid "Leave _Fullscreen" -msgstr "_Vollbild verlassen" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Spitzlichter" -#: ../src/Resources.vala:169 ../src/Resources.vala:371 -msgid "_New" -msgstr "_Neu" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Kontrastanhebung" -#: ../src/Resources.vala:170 -msgid "_Next" -msgstr "_Nächster" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Winkel:" -#: ../src/Resources.vala:171 -msgid "_OK" -msgstr "_OK" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "Au_srichten" -#: ../src/Resources.vala:172 -msgid "_Play" -msgstr "_Wiedergabe" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "Ereignisse" -#: ../src/Resources.vala:173 ../src/Resources.vala:325 -msgid "_Preferences" -msgstr "_Einstellungen" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d Foto/Video" +msgstr[1] "%d Fotos/Videos" -#: ../src/Resources.vala:174 -msgid "_Previous" -msgstr "_Vorheriger" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d Film" +msgstr[1] "%d Filme" -#: ../src/Resources.vala:175 -msgid "_Print" -msgstr "_Drucken" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "%d Foto" +msgstr[1] "%d Fotos" -#: ../src/Resources.vala:176 -msgid "_Quit" -msgstr "_Beenden" +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "Ereignislos" -#: ../src/Resources.vala:177 -msgid "_Refresh" -msgstr "_Aktualisieren" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "_Kommentare" -#: ../src/Resources.vala:179 -msgid "_Revert" -msgstr "_Zurücknehmen" +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Kommentare zu jedem Ereignis anzeigen" -#: ../src/Resources.vala:180 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save" -msgstr "_Speichern" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "Keine Ereignisse" -#: ../src/Resources.vala:181 -msgid "Save _As" -msgstr "Speichern _unter" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "Keine Ereignisse gefunden" -#: ../src/Resources.vala:182 -msgid "Sort _Ascending" -msgstr "A_ufsteigend sortieren" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Alle Ereignisse" -#: ../src/Resources.vala:183 -msgid "Sort _Descending" -msgstr "A_bsteigend sortieren" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Nicht datiert" -#: ../src/Resources.vala:184 -msgid "_Stop" -msgstr "_Anhalten" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:185 -msgid "_Undelete" -msgstr "_Löschen rückgängig" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Resources.vala:186 -msgid "_Normal Size" -msgstr "_Normale Größe" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Ereignis %s" -#: ../src/Resources.vala:187 -msgid "Best _Fit" -msgstr "_Einpassen" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "Fehler beim Erstellen einer temporären Datei für %s: %s" -#: ../src/Resources.vala:191 -msgid "_Enhance" -msgstr "_Verbessern" +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "Wird exportiert" -#: ../src/Resources.vala:192 -msgid "Enhance" -msgstr "Verbessern" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "Die Datei %s existiert bereits. Soll sie überschrieben werden?" -#: ../src/Resources.vala:193 -msgid "Automatically improve the photo's appearance" -msgstr "Automatisch das Aussehen des Fotos verbessern" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "Ü_berspringen" -#: ../src/Resources.vala:195 -msgid "_Copy Color Adjustments" -msgstr "Farbanpassungen _kopieren" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "E_rsetzen" -#: ../src/Resources.vala:196 -msgid "Copy Color Adjustments" -msgstr "Farbanpassungen kopieren" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "_Alle ersetzen" -#: ../src/Resources.vala:197 -msgid "Copy the color adjustments applied to the photo" -msgstr "Die am Foto vorgenommenen Farbanpassungen kopieren" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "Exportieren" -#: ../src/Resources.vala:199 -msgid "_Paste Color Adjustments" -msgstr "Farbanpassungen _einfügen" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Ordner" -#: ../src/Resources.vala:200 -msgid "Paste Color Adjustments" -msgstr "Farbanpassungen einfügen" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "Bibliothek" -#: ../src/Resources.vala:201 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Die kopierten Farbanpassungen auf die gewählten Fotos anwenden" +#: src/library/Branch.vala:97 src/SearchFilter.vala:594 +#: src/SearchFilter.vala:595 +msgid "Photos" +msgstr "Fotos" -#: ../src/Resources.vala:203 -msgid "_Crop" -msgstr "Zus_chneiden" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:588 +#: src/SearchFilter.vala:589 src/SearchFilter.vala:988 +msgid "Flagged" +msgstr "Markiert" -#: ../src/Resources.vala:204 -msgid "Crop" -msgstr "Zuschneiden" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "Import läuft …" -#: ../src/Resources.vala:205 -msgid "Crop the photo's size" -msgstr "Foto auf eine gewünschte Größe zuschneiden" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "Import _abbrechen" -#: ../src/Resources.vala:207 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "Au_srichten" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Foto-Import abbrechen" -#: ../src/Resources.vala:208 -msgid "Straighten" -msgstr "Ausrichten" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "Import wird vorbereitet …" -#: ../src/Resources.vala:209 -msgid "Straighten the photo" -msgstr "Bild begradigen" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "%s importiert" -#: ../src/Resources.vala:211 -msgid "_Red-eye" -msgstr "_Rote Augen entfernen" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Letzter Import" -#: ../src/Resources.vala:212 -msgid "Red-eye" -msgstr "Rote-Augen-Effekt" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "Aus Ordner _importieren …" -#: ../src/Resources.vala:213 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Den Rote-Augen-Effekt in diesem Foto vermindern oder beseitigen" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Fotos von der Festplatte in die Bibliothek importieren" -#: ../src/Resources.vala:215 -msgid "_Adjust" -msgstr "_Anpassen" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Importieren von _Anwendung …" -#: ../src/Resources.vala:216 -msgid "Adjust" -msgstr "Anpassen" +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "_Ereignisse sortieren" -#: ../src/Resources.vala:217 -msgid "Adjust the photo's color and tone" -msgstr "Farbe und Farbton des Fotos anpassen" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "Papierkorb lee_ren" -#: ../src/Resources.vala:219 -msgid "Re_vert to Original" -msgstr "_Zurück zum Original" +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Alle Fotos im Papierkorb löschen" -#: ../src/Resources.vala:220 -msgid "Revert to Original" -msgstr "Zurück zum Original" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "Ereig_nis zum Foto anzeigen" -#: ../src/Resources.vala:222 -msgid "Revert External E_dits" -msgstr "Externe Veränderungen wi_derrufen" +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Suchen" -#: ../src/Resources.vala:223 -msgid "Revert to the master photo" -msgstr "Zum Ursprungsbild zurückkehren" +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Fotos und Videos anhand von Suchkriterien finden" -#: ../src/Resources.vala:225 -msgid "Set as _Desktop Background" -msgstr "Als Hintergrund_bild festlegen" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "Neue _gespeicherte Suche …" -#: ../src/Resources.vala:226 -msgid "Set selected image to be the new desktop background" -msgstr "Das ausgewählte Bild als neues Hintergrundbild festlegen" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_Fotos" -#: ../src/Resources.vala:227 -msgid "Set as _Desktop Slideshow..." -msgstr "Als Hintergrundbild-_Diaschau festlegen …" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "_Ereignisse" -#: ../src/Resources.vala:229 -msgid "_Undo" -msgstr "_Rückgängig" +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "S_tichworte" -#: ../src/Resources.vala:230 -msgid "Undo" -msgstr "Rückgängig" +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "_Grundlegende Informationen" -#: ../src/Resources.vala:232 -msgid "_Redo" -msgstr "_Wiederholen" +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Grundlegende Informationen über die Auswahl anzeigen" -#: ../src/Resources.vala:233 -msgid "Redo" -msgstr "Wiederholen" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "Er_weiterte Informationen" -#: ../src/Resources.vala:235 -msgid "Re_name Event..." -msgstr "Ereignis _umbenennen …" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Erweiterte Informationen über die Auswahl anzeigen" -#: ../src/Resources.vala:238 -msgid "Make _Key Photo for Event" -msgstr "Zum _Schlüsselfoto für dieses Ereignis machen" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "_Suchleiste" -#: ../src/Resources.vala:239 -msgid "Make Key Photo for Event" -msgstr "Zum Schlüsselfoto für dieses Ereignis machen" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Suchleiste anzeigen" -#: ../src/Resources.vala:241 -msgid "_New Event" -msgstr "_Neues Ereignis" +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "S_eitenleiste" -#: ../src/Resources.vala:242 -msgid "New Event" -msgstr "Neues Ereignis" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Seitenleiste anzeigen" -#: ../src/Resources.vala:244 -msgid "Move Photos" -msgstr "Fotos verschieben" +#: src/library/LibraryWindow.vala:398 +msgid "T_oolbar" +msgstr "_Werkzeugleiste" -#: ../src/Resources.vala:245 -msgid "Move photos to an event" -msgstr "Fotos in ein Ereignis verschieben" +#: src/library/LibraryWindow.vala:399 +msgid "Display the tool bar" +msgstr "Die Werkzeugleiste anzeigen" -#: ../src/Resources.vala:247 -msgid "_Merge Events" -msgstr "Ereignisse _zusammenführen" +#: src/library/LibraryWindow.vala:411 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "_Aufsteigend" -#: ../src/Resources.vala:248 -msgid "Merge" -msgstr "Zusammenführen" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Fotos in aufsteigender Reihenfolge sortieren" -#: ../src/Resources.vala:249 -msgid "Combine events into a single event" -msgstr "Mehrere Ereignisse zu einem Einzelereignis zusammenfassen" +#: src/library/LibraryWindow.vala:418 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "A_bsteigend" -#: ../src/Resources.vala:251 -msgid "_Set Rating" -msgstr "_Bewerten" +#: src/library/LibraryWindow.vala:419 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Fotos in absteigender Reihenfolge sortieren" -#: ../src/Resources.vala:252 -msgid "Set Rating" -msgstr "Bewerten" +#: src/library/LibraryWindow.vala:657 +msgid "Import From Folder" +msgstr "Aus Ordner importieren" -#: ../src/Resources.vala:253 -msgid "Change the rating of your photo" -msgstr "Bewertung des Fotos ändern" +#: src/library/LibraryWindow.vala:726 +msgid "Empty Trash" +msgstr "Papierkorb leeren" -#: ../src/Resources.vala:255 -msgid "_Increase" -msgstr "_Aufwerten" +#: src/library/LibraryWindow.vala:726 +msgid "Emptying Trash..." +msgstr "Papierkorb wird geleert …" -#: ../src/Resources.vala:256 -msgid "Increase Rating" -msgstr "Bewertung erhöhen" +#: src/library/LibraryWindow.vala:901 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"Shotwell ist so eingestellt, dass Fotos in Ihren persönlichen Ordner " +"importiert werden.\n" +"Es wird empfohlen, dies unter %s-Einstellungen " +"bearbeiten zu ändern.\n" +"Möchten Sie mit dem Importieren der Fotos fortfahren?" -#: ../src/Resources.vala:258 -msgid "_Decrease" -msgstr "A_bwerten" +#: src/library/LibraryWindow.vala:904 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "Speicherort der Bibliothek" -#: ../src/Resources.vala:259 -msgid "Decrease Rating" -msgstr "Bewertung vermindern" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:917 +msgid "Photos cannot be imported from this directory." +msgstr "Aus diesem Ordner können keine Fotos importiert werden." -#: ../src/Resources.vala:261 -msgid "_Unrated" -msgstr "_Nicht bewertet" +#: src/library/LibraryWindow.vala:1203 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:262 -msgid "Unrated" -msgstr "Nicht bewertet" +#: src/library/LibraryWindow.vala:1247 src/library/LibraryWindow.vala:1258 +msgid "Updating library..." +msgstr "Bibliothek wird aktualisiert …" -#: ../src/Resources.vala:263 -msgid "Rate Unrated" -msgstr "Bewertung entfernen" +#: src/library/LibraryWindow.vala:1264 +msgid "Preparing to auto-import photos..." +msgstr "Automatischer Foto-Import wird vorbereitet …" -#: ../src/Resources.vala:264 -msgid "Setting as unrated" -msgstr "Bewertung wird entfernt" +#: src/library/LibraryWindow.vala:1269 +msgid "Auto-importing photos..." +msgstr "Fotos werden automatisch importiert …" -#: ../src/Resources.vala:265 -msgid "Remove any ratings" -msgstr "Alle Bewertungen entfernen" +#: src/library/LibraryWindow.vala:1277 +msgid "Writing metadata to files..." +msgstr "Metadaten werden in die Dateien geschrieben …" -#: ../src/Resources.vala:267 -msgid "_Rejected" -msgstr "A_bgelehnt" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Fehlende Dateien" -#: ../src/Resources.vala:268 -msgid "Rejected" -msgstr "Abgelehnt" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "Löschen läuft …" -#: ../src/Resources.vala:269 -msgid "Rate Rejected" -msgstr "Ablehnen" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Papierkorb" -#: ../src/Resources.vala:270 -msgid "Setting as rejected" -msgstr "Wird als abgelehnt bewertet" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "Der Papierkorb ist leer" -#: ../src/Resources.vala:271 -msgid "Set rating to rejected" -msgstr "Foto als abgelehnt bewerten" +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Löschen" -#: ../src/Resources.vala:273 -msgid "Rejected _Only" -msgstr "Nur A_bgelehnte" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "Fotos werden gelöscht" -#: ../src/Resources.vala:274 -msgid "Rejected Only" -msgstr "Nur Abgelehnte" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"Die Datenbank für die Foto-Bibliothek ist nicht mit dieser Version von " +"Shotwell kompatibel. Es sieht so aus, als wäre sie von Shotwell %s (Schema " +"%d) erzeugt worden. Dies ist Version %s (Schema %d). Bitte verwenden Sie die " +"neueste Shotwell-Version." -#: ../src/Resources.vala:275 -msgid "Show only rejected photos" -msgstr "Nur abgelehnte Fotos zeigen" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"Shotwell konnte Ihre Foto-Bibliothek nicht von Version %s (Schema %d) zu %s " +"(Schema %d) aktualisieren. Schauen Sie bitte für weitere Informationen in " +"das Shotwell-Wiki unter %s" -#: ../src/Resources.vala:277 -msgid "All + _Rejected" -msgstr "Alle und A_bgelehnte" +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"Die Datenbank für die Foto-Bibliothek ist nicht mit dieser Version von " +"Shotwell kompatibel. Es sieht so aus, als wäre sie von Shotwell %s (Schema " +"%d) erzeugt worden. Dies ist Shotwell-Version %s (Schema %d). Bitte säubern " +"Sie Ihre Bibliothek durch Löschen von %s und erneutem Import Ihrer Fotos." -#: ../src/Resources.vala:278 ../src/Resources.vala:279 -msgid "Show all photos, including rejected" -msgstr "Alle Fotos einschließlich abgelehnter anzeigen" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "Unbekannter Fehler bei der Überprüfung von Shotwells Datenbank: %s" -#: ../src/Resources.vala:281 -msgid "_All Photos" -msgstr "_Alle Fotos" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "Shotwell wird geladen" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:283 ../src/Resources.vala:285 -msgid "Show all photos" -msgstr "Alle Fotos anzeigen" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Pfad zu Shotwells Verwaltungsinformation" -#: ../src/Resources.vala:287 -msgid "_Ratings" -msgstr "_Bewertungen" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "ORDNER" -#: ../src/Resources.vala:288 -msgid "Display each photo's rating" -msgstr "Bewertung jedes Fotos anzeigen" +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "Bibliotheksordner nicht laufend auf Veränderungen prüfen" -#: ../src/Resources.vala:290 -msgid "_Filter Photos" -msgstr "Fotos _filtern" +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "Fortschrittsbalken beim Start nicht anzeigen" -#: ../src/Resources.vala:291 -msgid "Filter Photos" -msgstr "Fotos filtern" +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "Versionsnummer anzeigen" -#: ../src/Resources.vala:292 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Angezeigte Fotos anhand eines Filters einschränken" +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[DATEI]" -#: ../src/Resources.vala:294 -msgid "_Duplicate" -msgstr "_Duplizieren" +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Rufen Sie »%s --help« auf, um eine vollständige Liste von möglichen " +"Befehlszeilenoptionen zu erhalten.\n" -#: ../src/Resources.vala:295 -msgid "Duplicate" -msgstr "Duplizieren" +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "Überwachungsaktualisierungen können nicht verarbeitet werden: %s" -#: ../src/Resources.vala:296 -msgid "Make a duplicate of the photo" -msgstr "Duplikat dieses Fotos erstellen" +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Die Größe der Vorschaubilder anpassen" -#: ../src/Resources.vala:298 -msgid "_Export..." -msgstr "_Exportieren …" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Vorschaubilder vergrößern" -#: ../src/Resources.vala:300 -msgid "_Print..." -msgstr "_Drucken …" +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Vorschaubilder verkleinern" -#: ../src/Resources.vala:302 -msgid "Pu_blish..." -msgstr "_Veröffentlichen …" +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "_Fotos sortieren" -#: ../src/Resources.vala:304 -msgid "Publish to various websites" -msgstr "Das ausgewählte Foto auf verschiedenen Webseiten veröffentlichen" +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "Video _abspielen" -#: ../src/Resources.vala:306 -msgid "Edit _Title..." -msgstr "_Titel bearbeiten …" +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "" +"Die ausgewählten Videos mit der voreingestellten Video-Wiedergabe öffnen" -#: ../src/Resources.vala:310 -msgid "Edit _Comment..." -msgstr "_Kommentar bearbeiten …" +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Entwickler" -#. Button label -#: ../src/Resources.vala:312 -msgid "Edit Comment" -msgstr "Kommentar bearbeiten" +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Die Kommentare zu jedem Bild anzeigen" -#: ../src/Resources.vala:314 -msgid "Edit Event _Comment..." -msgstr "_Kommentar des Ereignisses bearbeiten" +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Stichworte jedes Fotos anzeigen" -#: ../src/Resources.vala:317 -msgid "_Adjust Date and Time..." -msgstr "Datum und Zeit _anpassen …" +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Nach _Titel" -#: ../src/Resources.vala:318 -msgid "Adjust Date and Time" -msgstr "Datum und Zeit anpassen" +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Fotos nach Titel sortieren" -#: ../src/Resources.vala:320 -msgid "Add _Tags..." -msgstr "_Stichworte hinzufügen …" +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "Nach Aufnahme_datum" -#: ../src/Resources.vala:321 -msgid "_Add Tags..." -msgstr "S_tichworte hinzufügen …" +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Fotos nach Aufnahmedatum sortieren" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:323 ../src/Resources.vala:356 -msgid "Add Tags" -msgstr "Stichworte hinzufügen" +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Nach _Bewertung" -#: ../src/Resources.vala:327 -msgid "Open With E_xternal Editor" -msgstr "Mit e_xternem Editor öffnen" +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Fotos nach Bewertung sortieren" -#: ../src/Resources.vala:329 -msgid "Open With RA_W Editor" -msgstr "Mit RA_W-Editor öffnen" +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Nach _Dateiname" -#: ../src/Resources.vala:331 -msgid "Send _To..." -msgstr "_Senden an …" +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Fotos nach Dateinamen sortieren" -#: ../src/Resources.vala:332 -msgid "Send T_o..." -msgstr "Senden a_n …" +#: src/MediaPage.vala:723 +#, c-format +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" +"Shotwell konnte das ausgewählte Video nicht abspielen:\n" +"%s" -#: ../src/Resources.vala:334 -msgid "_Find..." -msgstr "_Suchen …" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "Keine Fotos/Videos" -#: ../src/Resources.vala:335 -msgid "Find" -msgstr "Suchen" +#: src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "Keine Fotos oder Videos gefunden, die auf den aktuellen Filter passen" -#: ../src/Resources.vala:336 -msgid "Find an image by typing text that appears in its name or tags" -msgstr "" -"Ein Bild durch Eingabe von Text suchen, der im Namen oder in den Stichworten " -"enthalten ist" +#: src/Page.vala:2568 +msgid "Photos cannot be exported to this directory." +msgstr "Fotos können nicht in diesen Ordner exportiert werden." -#: ../src/Resources.vala:338 -msgid "_Flag" -msgstr "_Markieren" +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Voriges Foto" -#: ../src/Resources.vala:340 -msgid "Un_flag" -msgstr "Markierung au_fheben" +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Nächstes Foto" -#: ../src/Resources.vala:343 +#: src/PhotoPage.vala:1845 #, c-format -msgid "Unable to launch editor: %s" -msgstr "Editor kann nicht gestartet werden: %s" +msgid "Photo source file missing: %s" +msgstr "Foto-Quelldatei fehlt: %s" -#: ../src/Resources.vala:348 +#: src/PhotoPage.vala:3229 #, c-format -msgid "Add Tag \"%s\"" -msgstr "Stichwort »%s« hinzufügen" +msgid "Unable to export %s: %s" +msgstr "%s kann nicht exportiert werden: %s" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:351 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Stichworte »%s« und »%s« hinzufügen" +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:361 -#, c-format -msgid "_Delete Tag \"%s\"" -msgstr "Stichwort »%s« _entfernen" +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:365 +#: src/photos/JfifSupport.vala:185 #, c-format -msgid "Delete Tag \"%s\"" -msgstr "Stichwort »%s« entfernen" - -#: ../src/Resources.vala:368 -msgid "Delete Tag" -msgstr "Stichwort entfernen" +msgid "Low (%d%%)" +msgstr "Niedrig (%d%%)" -#: ../src/Resources.vala:374 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Stichwort »%s« _umbenennen …" +msgid "Medium (%d%%)" +msgstr "Mittel (%d%%)" -#: ../src/Resources.vala:378 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Stichwort »%s« zu »%s« umbenennen" - -#: ../src/Resources.vala:381 -msgid "_Rename..." -msgstr "_Umbenennen" - -#: ../src/Resources.vala:383 -msgid "Modif_y Tags..." -msgstr "Stichworte _ändern …" - -#: ../src/Resources.vala:384 -msgid "Modify Tags" -msgstr "Stichworte ändern" +msgid "High (%d%%)" +msgstr "Hoch (%d%%)" -#: ../src/Resources.vala:387 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Foto mit Stichwort »%s« versehen" +msgid "Maximum (%d%%)" +msgstr "Maximum (%d%%)" -#: ../src/Resources.vala:387 -#, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Fotos mit Stichwort »%s« versehen" +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:391 -#, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Ausgewähltes Foto mit Stichwort »%s« versehen" +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:392 -#, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Ausgewählte Fotos mit Stichwort »%s« versehen" +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Stichwort »%s« von _Foto entfernen" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "verändert" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Stichwort »%s« von _Fotos entfernen" +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Die gesamte Seite füllen" -#: ../src/Resources.vala:401 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Stichwort »%s« von Foto entfernen" +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 Bilder pro Seite" -#: ../src/Resources.vala:402 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Stichwort »%s« von Fotos entfernen" +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 Bilder pro Seite" -#: ../src/Resources.vala:406 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "" -"Stichwort kann nicht zu »%s« umbenannt werden, weil ein entsprechendes " -"Stichwort bereits vorhanden ist." +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 Bilder pro Seite" -#: ../src/Resources.vala:410 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "" -"Die Suche kann nicht nach »%s« umbenannt werden, weil die Suche bereits " -"vorhanden ist." +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 Bilder pro Seite" -#: ../src/Resources.vala:413 -msgid "Saved Search" -msgstr "Gespeicherte Suche" +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 Bilder pro Seite" -#: ../src/Resources.vala:415 -msgid "Delete Search" -msgstr "Suche löschen" +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 Bilder pro Seite" -#: ../src/Resources.vala:418 -msgid "_Edit..." -msgstr "_Bearbeiten …" +#: src/Printing.vala:348 +msgid "in." +msgstr "Zoll" -#: ../src/Resources.vala:419 -msgid "Re_name..." -msgstr "_Umbenennen …" +#: src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:422 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Suche »%s« zu »%s« umbenennen" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "Bildeinstellungen" -#: ../src/Resources.vala:426 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "Suche »%s« löschen" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "Drucken …" -#: ../src/Resources.vala:584 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Rate %s" -msgstr "%s bewerten" +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"Das Foto kann nicht gedruckt werden:\n" +"\n" +"%s" -#: ../src/Resources.vala:585 -#, c-format -msgid "Set rating to %s" -msgstr "Mit %s bewerten" +#: src/Properties.vala:84 +msgid "Today" +msgstr "Heute" -#: ../src/Resources.vala:586 -#, c-format -msgid "Setting rating to %s" -msgstr "Wird mit %s bewertet" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "Gestern" -#: ../src/Resources.vala:588 -#, c-format -msgid "Display %s" -msgstr "%s anzeigen" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "Einträge:" -#: ../src/Resources.vala:589 +#: src/Properties.vala:346 #, c-format -msgid "Only show photos with a rating of %s" -msgstr "Nur Fotos mit einer Bewertung von %s anzeigen" +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d Ereignis" +msgstr[1] "%d Ereignisse" -#: ../src/Resources.vala:590 -#, c-format -msgid "%s or Better" -msgstr "%s oder besser" +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "Datum:" -#: ../src/Resources.vala:591 -#, c-format -msgid "Display %s or Better" -msgstr "%s oder besser anzeigen" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "Zeit:" -#: ../src/Resources.vala:592 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Nur Fotos mit einer Bewertung von %s oder besser anzeigen" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "Von:" -#: ../src/Resources.vala:683 -msgid "Remove the selected photos from the trash" -msgstr "Ausgewählte Fotos aus dem Papierkorb entfernen" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "Bis:" -#: ../src/Resources.vala:684 -msgid "Remove the selected photos from the library" -msgstr "Die ausgewählten Fotos aus der Bibliothek entfernen" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "Dauer:" -#: ../src/Resources.vala:686 -msgid "_Restore" -msgstr "_Wiederherstellen" +#: src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "%.1f Sekunden" -#: ../src/Resources.vala:687 -msgid "Move the selected photos back into the library" -msgstr "Die ausgewählten Bilder zurück in die Bibliothek verschieben" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "Entwickler:" -#: ../src/Resources.vala:689 -msgid "Show in File Mana_ger" -msgstr "Mit der Dateiverwaltun_g öffnen" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "Ort:" -#: ../src/Resources.vala:690 -msgid "Open the selected photo's directory in the file manager" -msgstr "Den Speicherort des ausgewählten Fotos in der Dateiverwaltung öffnen" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "Dateigröße:" -#: ../src/Resources.vala:693 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "Speicherort konnte nicht in der Dateiverwaltung geöffnet werden: %s" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "Aktuelle Entwicklung:" -#: ../src/Resources.vala:696 -msgid "R_emove From Library" -msgstr "Aus Bibliothek _entfernen" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Ursprüngliche Größe:" -#: ../src/Resources.vala:698 -msgid "_Move to Trash" -msgstr "In den _Papierkorb verschieben" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "Kamerahersteller:" -#: ../src/Resources.vala:700 -msgid "Select _All" -msgstr "_Alle auswählen" +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "Kameramodell:" -#: ../src/Resources.vala:701 -msgid "Select all items" -msgstr "Alle auswählen" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "Blitz:" -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M %p" -msgstr "%-I:%M %p" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "Brennweite:" -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:785 -msgid "%-I:%M:%S %p" -msgstr "%-I:%M:%S %p" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Aufnahmedatum:" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:789 -msgid "%a %b %d, %Y" -msgstr "%a %d. %b, %Y" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Belichtungszeit:" -#. / 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 -#. / 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 -#: ../src/Resources.vala:794 ../src/Resources.vala:804 -msgid "%a %b %d" -msgstr "%a %b %d" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Manuelle Belichtungskorrektur:" -#. / 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 -#: ../src/Resources.vala:799 -msgid "%d, %Y" -msgstr "%d, %Y" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "GPS-Breitengrad:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Diaschau" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "GPS-Längengrad:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Markiert" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "Künstler:" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Fotos" +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "Copyright:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Videos" +#: src/Properties.vala:624 +msgid "Software:" +msgstr "Software:" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "RAW-Fotos" +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "Erweiterte Informationen" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "RAW-Fotos" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "Hochladen wird vorbereitet" -#: ../src/SearchFilter.vala:934 +#: src/publishing/PublishingPluginHost.vala:12 #, c-format -msgid "Error loading UI file %s: %s" -msgstr "Fehler beim Laden der UI-Datei %s:%s" - -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Schließen" +msgid "Uploading %d of %d" +msgstr "%d von %d wird hochgeladen" -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Typ" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "" +"Veröffentlichung auf %s kann nicht fortgesetzt werden, weil ein Fehler " +"aufgetreten ist:" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Bewertung" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "" +"Um die Veröffentlichung bei einem anderen Dienstanbieter zu versuchen, " +"wählen Sie diesen bitte im obigen Menü aus." -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Einstellungen" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "Die ausgewählten Fotos/Videos wurden erfolgreich veröffentlicht." -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Zurück" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "Die ausgewählten Videos wurden erfolgreich veröffentlicht." -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Zum vorherigen Foto" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "Die ausgewählten Fotos wurden erfolgreich veröffentlicht." -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Pause" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "Das ausgewählte Video wurde erfolgreich veröffentlicht." -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Diaschau pausieren" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "Das ausgewählte Foto wurde erfolgreich veröffentlicht." -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Nächstes" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "Konto-Information wird abgerufen …" -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Zum nächsten Foto" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "Anmelden …" -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Diaschau konfigurieren" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Fotos veröffentlichen" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Es gibt keine Foto-Quelldateien." +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Fotos veröffentlichen _auf:" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Abspielen" +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Videos veröffentlichen" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Diaschau fortsetzen" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Videos veröffentlichen _auf:" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "unbenannt" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Fotos und Videos veröffentlichen" -#. multiple videos -#: ../src/VideoSupport.vala:489 -msgid "Export Videos" -msgstr "Videos exportieren" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Fotos und Videos veröffentlichen _auf:" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Kameras" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "Veröffentlichen ist nicht möglich" -#: ../src/camera/ImportPage.vala:459 +#: src/publishing/PublishingUI.vala:398 +#, c-format msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"Das Kameramedium kann nicht ausgehängt werden. Versuchen Sie es bitte über " -"die Dateiverwaltung." +"Shotwell kann die markierten Elemente nicht veröffentlichen, da Sie keine " +"kompatible Veröffentlichungs-Erweiterung installiert haben. Sie können " +"diesen Fehler beheben, indem Sie unter Bearbeiten %s Einstellungen im " +"Reiter Erweiterungen eine oder mehrere der Veröffentlichungs-" +"Erweiterungen aktivieren." -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:776 -msgid "Hide photos already imported" -msgstr "Bereits importierte Fotos verbergen" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Veröffentlichen" -#: ../src/camera/ImportPage.vala:777 -msgid "Only display photos that have not been imported" -msgstr "Nur Fotos zeigen, die noch nicht importiert wurden" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Nach _rechts drehen" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:847 -msgid "Starting import, please wait..." -msgstr "Import wird gestartet, bitte warten …" +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "Drehen" -#: ../src/camera/ImportPage.vala:886 -msgid "Import _Selected" -msgstr "A_usgewählte importieren" +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Nach rechts drehen" -#: ../src/camera/ImportPage.vala:887 -msgid "Import the selected photos into your library" -msgstr "Die ausgewählten Bilder in die Bibliothek importieren" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "Fotos nach rechts drehen (Strg zum Drehen nach links drücken)" -#: ../src/camera/ImportPage.vala:892 -msgid "Import _All" -msgstr "_Alle importieren" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Nach _links drehen" -#: ../src/camera/ImportPage.vala:893 -msgid "Import all the photos into your library" -msgstr "Alle Fotos in die Bibliothek importieren" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Nach links drehen" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1014 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Shotwell muss die Kamera aus dem Dateisystem aushängen, um auf sie zugreifen " -"zu können. Möchten Sie fortsetzen?" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Fotos nach links drehen" -#: ../src/camera/ImportPage.vala:1020 -msgid "_Unmount" -msgstr "_Aushängen" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Hori_zontal spiegeln" -#: ../src/camera/ImportPage.vala:1025 -msgid "Please unmount the camera." -msgstr "Bitte hängen Sie die Kamera aus." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Horizontal spiegeln" -#: ../src/camera/ImportPage.vala:1030 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"Die Kamera ist von einer anderen Anwendung reserviert. Shotwell kann nur auf " -"die Kamera zugreifen, wenn sie frei ist. Bitte schließen Sie die andere " -"Anwendung und versuchen Sie es nochmals." +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Verti_kal spiegeln" -#: ../src/camera/ImportPage.vala:1040 -msgid "Please close any other application using the camera." -msgstr "" -"Bitte schließen Sie alle anderen Anwendungen, die die Kamera verwenden." +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Vertikal spiegeln" -#: ../src/camera/ImportPage.vala:1045 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"Es können keine Vorschaubilder von der Kamera abgerufen werden:\n" -"%s" +#: src/Resources.vala:155 +msgid "_About" +msgstr "_Info" -#: ../src/camera/ImportPage.vala:1062 -msgid "Unmounting..." -msgstr "Aushängen läuft …" +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "_Anwenden" -#: ../src/camera/ImportPage.vala:1168 -msgid "Fetching photo information" -msgstr "Foto-Informationen werden abgerufen" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "_Vor" -#: ../src/camera/ImportPage.vala:1523 -#, c-format -msgid "Fetching preview for %s" -msgstr "Vorschaubild für %s wird abgerufen" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "Bilds_chirmfüllend" -#: ../src/camera/ImportPage.vala:1639 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "Kamera kann nicht reserviert werden: %s" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "_Vollbild verlassen" -#: ../src/camera/ImportPage.vala:1724 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "Soll dieses Foto von der Kamera gelöscht werden?" -msgstr[1] "Sollen diese %d Fotos von der Kamera gelöscht werden?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_Neu" -#: ../src/camera/ImportPage.vala:1727 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "Soll dieses Video von der Kamera gelöscht werden?" -msgstr[1] "Sollen diese %d Videos von der Kamera gelöscht werden?" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "_Nächster" -#: ../src/camera/ImportPage.vala:1730 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "Soll dieses Foto/Video von der Kamera gelöscht werden?" -msgstr[1] "Sollen diese %d Fotos/Videos von der Kamera gelöscht werden?" +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_OK" -#: ../src/camera/ImportPage.vala:1733 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "Sollen diese Dateien von der Kamera gelöscht werden?" -msgstr[1] "Sollen diese %d Dateien von der Kamera gelöscht werden?" +#: src/Resources.vala:167 +msgid "_Play" +msgstr "_Wiedergabe" -#: ../src/camera/ImportPage.vala:1760 -msgid "Removing photos/videos from camera" -msgstr "Fotos/Videos werden von der Kamera entfernt" +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "_Einstellungen" -#: ../src/camera/ImportPage.vala:1764 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "" -"%d Foto/Video kann wegen Fehlern nicht von der Kamera gelöscht werden." -msgstr[1] "" -"%d Fotos/Videos können wegen Fehlern nicht von der Kamera gelöscht werden." +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "_Vorheriger" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Importieren" +#: src/Resources.vala:170 +msgid "_Print" +msgstr "_Drucken" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "%s-Datenbank" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "_Beenden" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "Import von %s kann nicht fortgesetzt werden, da ein Fehler auftrat:" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "_Aktualisieren" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "" -"Um von einem anderen Dienst zu importieren, wählen Sie einen im Menü oben " -"aus." +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "_Zurücknehmen" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"Sie haben keine Datenimport-Erweiterung aktiviert.\n" -"\n" -"Um Importieren von Anwendungen nutzen zu können, müssen Sie mindestens eine " -"Datenimport-Erweiterung aktiviert haben. Erweiterungen können im " -"Einstellungsdialog aktiviert werden." +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "Speichern _unter" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Datenbank" +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "A_ufsteigend sortieren" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:883 -msgid "_Import" -msgstr "_Import" +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "A_bsteigend sortieren" -#: ../src/data_imports/DataImportsUI.vala:217 -msgid "Import From Application" -msgstr "Importieren von Anwendung" +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "_Anhalten" -#: ../src/data_imports/DataImportsUI.vala:369 -#: ../src/publishing/PublishingUI.vala:470 -msgid "_Close" -msgstr "_Schließen" +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "_Löschen rückgängig" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "" -"Die Fotodatenbank %s kann wegen eines Dateifehlers nicht erstellt werden: " -"Fehlercode %d" +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "_Normale Größe" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"In die Fotodatenbank-Datei kann nicht geschrieben werden:\n" -" %s" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "_Einpassen" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"Fehler beim Zugriff auf die Datenbank-Datei:\n" -" %s\n" -"\n" -"Der Fehler lautete:\n" -"%s" +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "_Verbessern" + +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "Verbessern" + +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Automatisch das Aussehen des Fotos verbessern" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:336 -msgid "_File" -msgstr "_Datei" +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "Farbanpassungen _kopieren" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Foto speichern" +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Farbanpassungen kopieren" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "Speichern _unter …" +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Die am Foto vorgenommenen Farbanpassungen kopieren" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Foto unter einem anderen Namen speichern" +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "Farbanpassungen _einfügen" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Foto auf einem Drucker ausgeben, der mit dem Rechner verbunden ist" +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Farbanpassungen einfügen" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:348 -msgid "_Photo" -msgstr "_Foto" +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Die kopierten Farbanpassungen auf die gewählten Fotos anwenden" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s existiert nicht." +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "Zus_chneiden" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s ist keine Datei." +#: src/Resources.vala:199 +msgid "Crop" +msgstr "Zuschneiden" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"%s unterstützt das Dateiformat von\n" -"%s nicht." +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Foto auf eine gewünschte Größe zuschneiden" -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save a Copy" -msgstr "Eine Kopie _speichern" +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "Ausrichten" -#: ../src/direct/DirectPhotoPage.vala:425 -#, c-format -msgid "Lose changes to %s?" -msgstr "Änderungen an %s verwerfen?" +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Bild begradigen" -#: ../src/direct/DirectPhotoPage.vala:426 -msgid "Close _without Saving" -msgstr "Schließen _ohne zu speichern" +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "_Rote Augen entfernen" -#: ../src/direct/DirectPhotoPage.vala:459 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "Fehler beim Speichern als %s: %s" +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "Rote-Augen-Effekt" -#: ../src/direct/DirectPhotoPage.vala:487 -#: ../src/direct/DirectPhotoPage.vala:508 -msgid "Save As" -msgstr "Speichern unter" +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Den Rote-Augen-Effekt in diesem Foto vermindern oder beseitigen" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Zurück zu den aktuellen Fotoabmessungen" +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Anpassen" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Foto zuschneiden" +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "Anpassen" -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "Ausschnittsformat zwischen Hoch- und Querformat wechseln" +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Farbe und Farbton des Fotos anpassen" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Unbeschränkt" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "_Zurück zum Original" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Quadrat" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Zurück zum Original" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Bildschirm" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Externe Veränderungen wi_derrufen" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Zum Ursprungsbild zurückkehren" -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "SD-Video (4 : 3)" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "Als Hintergrund_bild festlegen" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "HD-Video (16 : 9)" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "Das ausgewählte Bild als neues Hintergrundbild festlegen" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "US-Letter (8.5 x 11 in.)" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "Als Hintergrundbild-_Vorführung festlegen …" -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Boulevardblatt (11 x 17 in.)" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "_Rückgängig" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 x 297 mm)" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "Rückgängig" -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297 x 420 mm)" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "_Wiederholen" -#: ../src/editing_tools/EditingTools.vala:1905 -msgid "Close the red-eye tool" -msgstr "Rote-Augen-Entferner schließen" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "Wiederholen" -#: ../src/editing_tools/EditingTools.vala:1908 -msgid "Remove any red-eye effects in the selected region" -msgstr "Rote-Augen-Effekt im ausgewählten Bereich beseitigen" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Ereignis _umbenennen …" -#: ../src/editing_tools/EditingTools.vala:2244 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_Zurücksetzen" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "Zum _Schlüsselfoto für dieses Ereignis machen" -#: ../src/editing_tools/EditingTools.vala:2266 -msgid "Saturation:" -msgstr "Sättigung:" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Zum Schlüsselfoto für dieses Ereignis machen" -#: ../src/editing_tools/EditingTools.vala:2274 -msgid "Tint:" -msgstr "Farbton:" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "_Neues Ereignis" -#: ../src/editing_tools/EditingTools.vala:2283 -msgid "Temperature:" -msgstr "Temperatur:" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "Neues Ereignis" -#: ../src/editing_tools/EditingTools.vala:2291 -msgid "Shadows:" -msgstr "Schatten:" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "Fotos verschieben" -#: ../src/editing_tools/EditingTools.vala:2299 -msgid "Highlights:" -msgstr "Spitzlichter:" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Fotos in ein Ereignis verschieben" -#: ../src/editing_tools/EditingTools.vala:2353 -msgid "Reset Colors" -msgstr "Farben zurücksetzen" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "Ereignisse _zusammenführen" -#: ../src/editing_tools/EditingTools.vala:2353 -msgid "Reset all color adjustments to original" -msgstr "Alle Farbanpassungen auf Ursprungswerte zurücksetzen" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "Zusammenführen" -#: ../src/editing_tools/EditingTools.vala:2705 -msgid "Temperature" -msgstr "Temperatur" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Mehrere Ereignisse zu einem Einzelereignis zusammenfassen" -#: ../src/editing_tools/EditingTools.vala:2718 -msgid "Tint" -msgstr "Farbton" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "_Bewerten" -#: ../src/editing_tools/EditingTools.vala:2731 -msgid "Saturation" -msgstr "Sättigung" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "Bewerten" -#: ../src/editing_tools/EditingTools.vala:2744 -msgid "Exposure" -msgstr "Belichtung" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Bewertung des Fotos ändern" -#: ../src/editing_tools/EditingTools.vala:2757 -msgid "Shadows" -msgstr "Schatten" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "_Aufwerten" -#: ../src/editing_tools/EditingTools.vala:2770 -msgid "Highlights" -msgstr "Spitzlichter" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Bewertung erhöhen" -#: ../src/editing_tools/EditingTools.vala:2780 -msgid "Contrast Expansion" -msgstr "Kontrastanhebung" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "A_bwerten" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Winkel:" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Bewertung vermindern" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Ereignisse" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Nicht bewertet" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d Foto/Video" -msgstr[1] "%d Fotos/Videos" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "Nicht bewertet" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "Ereignislos" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Bewertung entfernen" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Kommentare zu jedem Ereignis anzeigen" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "Bewertung wird entfernt" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "Keine Ereignisse" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Alle Bewertungen entfernen" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "Keine Ereignisse gefunden" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "A_bgelehnt" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Alle Ereignisse" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "Abgelehnt" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Nicht datiert" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Ablehnen" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "Wird als abgelehnt bewertet" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Foto als abgelehnt bewerten" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Ordner" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "Nur A_bgelehnte" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Bibliothek" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Nur Abgelehnte" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "Import läuft …" +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Nur abgelehnte Fotos zeigen" + +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Alle und A_bgelehnte" + +#: src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Alle Fotos einschließlich abgelehnter anzeigen" + +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "_Alle Fotos" + +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "Alle Fotos anzeigen" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "Import _abbrechen" +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "_Bewertungen" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Foto-Import abbrechen" +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Bewertung jedes Fotos anzeigen" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "Import wird vorbereitet …" +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "Fotos _filtern" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "%s importiert" +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Fotos filtern" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Letzter Import" +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Angezeigte Fotos anhand eines Filters einschränken" -#: ../src/library/LibraryWindow.vala:286 -msgid "_Import From Folder..." -msgstr "Aus Ordner _importieren …" +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "_Duplizieren" -#: ../src/library/LibraryWindow.vala:287 -msgid "Import photos from disk to library" -msgstr "Fotos von der Festplatte in die Bibliothek importieren" +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "Duplizieren" -#: ../src/library/LibraryWindow.vala:294 -msgid "Import From _Application..." -msgstr "Importieren von _Anwendung …" +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Duplikat dieses Fotos erstellen" -#: ../src/library/LibraryWindow.vala:298 -msgid "Sort _Events" -msgstr "_Ereignisse sortieren" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "_Exportieren …" -#: ../src/library/LibraryWindow.vala:308 -msgid "Empty T_rash" -msgstr "Papierkorb lee_ren" +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "_Drucken …" -#: ../src/library/LibraryWindow.vala:309 -msgid "Delete all photos in the trash" -msgstr "Alle Fotos im Papierkorb löschen" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "_Veröffentlichen …" -#: ../src/library/LibraryWindow.vala:314 -msgid "View Eve_nt for Photo" -msgstr "Ereig_nis zum Foto anzeigen" +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Das ausgewählte Foto auf verschiedenen Webseiten veröffentlichen" -#: ../src/library/LibraryWindow.vala:318 -msgid "_Find" -msgstr "_Suchen" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "_Titel bearbeiten …" -#: ../src/library/LibraryWindow.vala:319 -msgid "Find photos and videos by search criteria" -msgstr "Fotos und Videos anhand von Suchkriterien finden" +#. Button label +#: src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Titel bearbeiten" -#: ../src/library/LibraryWindow.vala:330 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "Neue _gespeicherte Suche …" +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "_Kommentar bearbeiten …" -#: ../src/library/LibraryWindow.vala:352 -msgid "_Photos" -msgstr "_Fotos" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Kommentar bearbeiten" -#: ../src/library/LibraryWindow.vala:356 -msgid "Even_ts" -msgstr "_Ereignisse" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "_Kommentar des Ereignisses bearbeiten" -#: ../src/library/LibraryWindow.vala:375 -msgid "_Basic Information" -msgstr "_Grundlegende Informationen" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "Datum und Zeit _anpassen …" -#: ../src/library/LibraryWindow.vala:376 -msgid "Display basic information for the selection" -msgstr "Grundlegende Informationen über die Auswahl anzeigen" +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Datum und Zeit anpassen" -#: ../src/library/LibraryWindow.vala:381 -msgid "E_xtended Information" -msgstr "Er_weiterte Informationen" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "_Stichworte hinzufügen …" -#: ../src/library/LibraryWindow.vala:382 -msgid "Display extended information for the selection" -msgstr "Erweiterte Informationen über die Auswahl anzeigen" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "S_tichworte hinzufügen …" -#: ../src/library/LibraryWindow.vala:387 -msgid "_Search Bar" -msgstr "_Suchleiste" +#. Dialog title +#: src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Stichworte hinzufügen" -#: ../src/library/LibraryWindow.vala:388 -msgid "Display the search bar" -msgstr "Suchleiste anzeigen" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "Mit e_xternem Editor öffnen" -#: ../src/library/LibraryWindow.vala:393 -msgid "S_idebar" -msgstr "S_eitenleiste" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Mit RA_W-Editor öffnen" -#: ../src/library/LibraryWindow.vala:394 -msgid "Display the sidebar" -msgstr "Seitenleiste anzeigen" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "_Senden an …" -#: ../src/library/LibraryWindow.vala:652 -msgid "Import From Folder" -msgstr "Aus Ordner importieren" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "Senden a_n …" -#: ../src/library/LibraryWindow.vala:721 -msgid "Empty Trash" -msgstr "Papierkorb leeren" +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "_Suchen …" -#: ../src/library/LibraryWindow.vala:721 -msgid "Emptying Trash..." -msgstr "Papierkorb wird geleert …" +#: src/Resources.vala:327 +msgid "Find" +msgstr "Suchen" -#: ../src/library/LibraryWindow.vala:880 -#, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" msgstr "" -"Shotwell ist so eingestellt, dass Fotos in Ihren persönlichen Ordner " -"importiert werden.\n" -"Es wird empfohlen, dies unter %s-Einstellungen " -"bearbeiten zu ändern.\n" -"Möchten Sie mit dem Importieren der Fotos fortfahren?" +"Ein Bild durch Eingabe von Text suchen, der im Namen oder in den Stichworten " +"enthalten ist" -#: ../src/library/LibraryWindow.vala:883 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Speicherort der Bibliothek" +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "_Markieren" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:896 -msgid "Photos cannot be imported from this directory." -msgstr "Aus diesem Ordner können keine Fotos importiert werden." +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "Markierung au_fheben" -#: ../src/library/LibraryWindow.vala:1184 +#: src/Resources.vala:335 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "Unable to launch editor: %s" +msgstr "Editor kann nicht gestartet werden: %s" -#: ../src/library/LibraryWindow.vala:1228 -#: ../src/library/LibraryWindow.vala:1239 -msgid "Updating library..." -msgstr "Bibliothek wird aktualisiert …" +#: src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "Stichwort »%s« hinzufügen" -#: ../src/library/LibraryWindow.vala:1245 -msgid "Preparing to auto-import photos..." -msgstr "Automatischer Foto-Import wird vorbereitet …" +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Stichworte »%s« und »%s« hinzufügen" -#: ../src/library/LibraryWindow.vala:1250 -msgid "Auto-importing photos..." -msgstr "Fotos werden automatisch importiert …" +#. Undo/Redo command name (in Edit menu) +#: src/Resources.vala:348 +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "Stichworte hinzufügen" -#: ../src/library/LibraryWindow.vala:1258 -msgid "Writing metadata to files..." -msgstr "Metadaten werden in die Dateien geschrieben …" +#: src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "Stichwort »%s« _entfernen" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Fehlende Dateien" +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Stichwort »%s« entfernen" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "Löschen läuft …" +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Stichwort entfernen" -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Papierkorb" +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Stichwort »%s« _umbenennen …" -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "Der Papierkorb ist leer" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Stichwort »%s« zu »%s« umbenennen" -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Löschen" +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Umbenennen" -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "Fotos werden gelöscht" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "Stichworte _ändern …" -#: ../src/main.vala:54 -#, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"Die Datenbank für die Foto-Bibliothek ist nicht mit dieser Version von " -"Shotwell kompatibel. Es sieht so aus, als wäre sie von Shotwell %s (Schema " -"%d) erzeugt worden. Dies ist Version %s (Schema %d). Bitte verwenden Sie die " -"neueste Shotwell-Version." +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Stichworte ändern" -#: ../src/main.vala:59 +#: src/Resources.vala:379 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"Shotwell konnte Ihre Foto-Bibliothek nicht von Version %s (Schema %d) zu %s " -"(Schema %d) aktualisieren. Schauen Sie bitte für weitere Informationen in " -"das Shotwell-Wiki unter %s" +msgid "Tag Photo as \"%s\"" +msgstr "Foto mit Stichwort »%s« versehen" -#: ../src/main.vala:65 +#: src/Resources.vala:379 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"Die Datenbank für die Foto-Bibliothek ist nicht mit dieser Version von " -"Shotwell kompatibel. Es sieht so aus, als wäre sie von Shotwell %s (Schema " -"%d) erzeugt worden. Dies ist Shotwell-Version %s (Schema %d). Bitte säubern " -"Sie Ihre Bibliothek durch Löschen von %s und erneutem Import Ihrer Fotos." +msgid "Tag Photos as \"%s\"" +msgstr "Fotos mit Stichwort »%s« versehen" -#: ../src/main.vala:71 +#: src/Resources.vala:383 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "Unbekannter Fehler bei der Überprüfung von Shotwells Datenbank: %s" - -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "Shotwell wird geladen" +msgid "Tag the selected photo as \"%s\"" +msgstr "Ausgewähltes Foto mit Stichwort »%s« versehen" -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Pfad zu Shotwells Verwaltungsinformation" +#: src/Resources.vala:384 +#, c-format +msgid "Tag the selected photos as \"%s\"" +msgstr "Ausgewählte Fotos mit Stichwort »%s« versehen" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "ORDNER" +#: src/Resources.vala:388 +#, c-format +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Stichwort »%s« von _Foto entfernen" -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "Bibliotheksordner nicht laufend auf Veränderungen prüfen" +#: src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Stichwort »%s« von _Fotos entfernen" -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "Fortschrittsbalken beim Start nicht anzeigen" +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "Stichwort »%s« von Foto entfernen" -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Versionsnummer anzeigen" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Stichwort »%s« von Fotos entfernen" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[DATEI]" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "" +"Stichwort kann nicht zu »%s« umbenannt werden, weil ein entsprechendes " +"Stichwort bereits vorhanden ist." -#: ../src/main.vala:342 +#: src/Resources.vala:402 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" +msgid "Unable to rename search to \"%s\" because the search already exists." msgstr "" -"Rufen Sie »%s --help« auf, um eine vollständige Liste von möglichen " -"Befehlszeilenoptionen zu erhalten.\n" +"Die Suche kann nicht nach »%s« umbenannt werden, weil die Suche bereits " +"vorhanden ist." -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#: src/Resources.vala:405 +msgid "Saved Search" +msgstr "Gespeicherte Suche" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "Suche löschen" -#: ../src/photos/JfifSupport.vala:185 -#, c-format -msgid "Low (%d%%)" -msgstr "Niedrig (%d%%)" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Bearbeiten …" + +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "_Umbenennen …" -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:414 #, c-format -msgid "Medium (%d%%)" -msgstr "Mittel (%d%%)" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Suche »%s« zu »%s« umbenennen" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:418 #, c-format -msgid "High (%d%%)" -msgstr "Hoch (%d%%)" +msgid "Delete Search \"%s\"" +msgstr "Suche »%s« löschen" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:576 #, c-format -msgid "Maximum (%d%%)" -msgstr "Maximum (%d%%)" +msgid "Rate %s" +msgstr "%s bewerten" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "Mit %s bewerten" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "Wird mit %s bewertet" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "%s anzeigen" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "Veröffentlichen" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Nur Fotos mit einer Bewertung von %s anzeigen" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "Hochladen wird vorbereitet" +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s oder besser" -#: ../src/publishing/PublishingPluginHost.vala:12 +#: src/Resources.vala:583 #, c-format -msgid "Uploading %d of %d" -msgstr "%d von %d wird hochgeladen" +msgid "Display %s or Better" +msgstr "%s oder besser anzeigen" -#: ../src/publishing/PublishingPluginHost.vala:81 +#: src/Resources.vala:584 #, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "" -"Veröffentlichung auf %s kann nicht fortgesetzt werden, weil ein Fehler " -"aufgetreten ist:" +msgid "Only show photos with a rating of %s or better" +msgstr "Nur Fotos mit einer Bewertung von %s oder besser anzeigen" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "" -"Um die Veröffentlichung bei einem anderen Dienstanbieter zu versuchen, " -"wählen Sie diesen bitte im obigen Menü aus." +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Ausgewählte Fotos aus dem Papierkorb entfernen" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "Die ausgewählten Fotos/Videos wurden erfolgreich veröffentlicht." +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Die ausgewählten Fotos aus der Bibliothek entfernen" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "Die ausgewählten Videos wurden erfolgreich veröffentlicht." +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "_Wiederherstellen" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "Die ausgewählten Fotos wurden erfolgreich veröffentlicht." +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Die ausgewählten Bilder zurück in die Bibliothek verschieben" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "Das ausgewählte Video wurde erfolgreich veröffentlicht." +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Mit der Dateiverwaltun_g öffnen" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "Das ausgewählte Foto wurde erfolgreich veröffentlicht." +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Den Speicherort des ausgewählten Fotos in der Dateiverwaltung öffnen" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "Konto-Information wird abgerufen …" +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "Speicherort konnte nicht in der Dateiverwaltung geöffnet werden: %s" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "Anmelden …" +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "Aus Bibliothek _entfernen" -#: ../src/publishing/PublishingUI.vala:185 -msgid "Publish Photos" -msgstr "Fotos veröffentlichen" +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "In den _Papierkorb verschieben" -#: ../src/publishing/PublishingUI.vala:186 -msgid "Publish photos _to:" -msgstr "Fotos veröffentlichen _auf:" +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "_Alle auswählen" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Videos" -msgstr "Videos veröffentlichen" +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "Alle auswählen" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish videos _to" -msgstr "Videos veröffentlichen _auf:" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:772 +msgid "%-I:%M %p" +msgstr "%-I:%M %p" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Photos and Videos" -msgstr "Fotos und Videos veröffentlichen" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:777 +msgid "%-I:%M:%S %p" +msgstr "%-I:%M:%S %p" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish photos and videos _to" -msgstr "Fotos und Videos veröffentlichen _auf:" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:781 +msgid "%a %b %d, %Y" +msgstr "%a %d. %b, %Y" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:360 -msgid "Unable to publish" -msgstr "Veröffentlichen ist nicht möglich" +#. / 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 +#. / 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 +#: src/Resources.vala:786 src/Resources.vala:796 +msgid "%a %b %d" +msgstr "%a %b %d" -#: ../src/publishing/PublishingUI.vala:361 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"Shotwell kann die markierten Elemente nicht veröffentlichen, da Sie keine " -"kompatible Veröffentlichungs-Erweiterung installiert haben. Sie können " -"diesen Fehler beheben, indem Sie unter Bearbeiten %s Einstellungen im " -"Reiter Erweiterungen eine oder mehrere der Veröffentlichungs-" -"Erweiterungen aktivieren." +#. / 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 +#: src/Resources.vala:791 +msgid "%d, %Y" +msgstr "%d, %Y" + +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Diaschau" -#: ../src/searches/Branch.vala:68 +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "Gespeicherte Suchen" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "enthält" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "entspricht genau" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "beginnt mit" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "endet auf" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "enthält nicht" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "ist nicht gesetzt" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "ist gesetzt" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "ist" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "ist nicht" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "ein beliebiges Foto" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "ein RAW-Foto" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "ein Video" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "hat" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "hat keine" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "Bearbeitungen" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "internen Bearbeitungen" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "externen Bearbeitungen" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "markiert" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "nicht markiert" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "und höher" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "nur" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "und niedriger" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "ist nach" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "ist vor" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "ist zwischen" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "und" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "Suchen" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "Abbrechen" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "OK" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "beliebig" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "alle" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "keine" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr "Beliebiger Text" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "Titel" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "Stichwort" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "Kommentar" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "Ereignisname" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "Dateiname" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "Medientyp" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "Markierungsstatus" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "Status des Fotos" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:999 +msgid "Rating" +msgstr "Bewertung" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Datum" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:600 src/SearchFilter.vala:601 +msgid "Videos" +msgstr "Videos" + +#: src/SearchFilter.vala:606 +msgid "RAW Photos" +msgstr "RAW-Fotos" + +#: src/SearchFilter.vala:607 +msgid "RAW photos" +msgstr "RAW-Fotos" + +#: src/SearchFilter.vala:948 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "Fehler beim Laden der UI-Datei %s:%s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:959 +msgid "Close" +msgstr "Schließen" + +#. Type label and toggles +#: src/SearchFilter.vala:965 +msgid "Type" +msgstr "Typ" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "Neues S_tichwort …" -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Einstellungen" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Zurück" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Zum vorherigen Foto" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Pause" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Diaschau pausieren" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Nächstes" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Zum nächsten Foto" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Diaschau konfigurieren" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Es gibt keine Foto-Quelldateien." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Abspielen" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Diaschau fortsetzen" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "Diaschau-Übergänge" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(Keine)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "Keine" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "Zufällig" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "Stichworte" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:817 +msgid "untitled" +msgstr "unbenannt" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Videos exportieren" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "Als Schreibtischhintergrund verwenden" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "Als Schreibtisch verwenden" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "Auf dem Sperrbildschirm verwenden" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" -msgstr "Als Hintergrundbildschau setzen" +msgstr "Als Hintergrund-Bildvorführung setzen" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "Jedes Foto anzeigen für" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "Zeitintervall" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" -msgstr "Hintergrund-Diaschau erstellen" +msgstr "Hintergrund-Bildvorführung erstellen" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "Wie lange soll jedes Foto als Hintergrundbild gezeigt werden?" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_Name der Suche:" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "_Treffer finden" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "von den folgenden:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "Auflösung für Druck" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" msgstr "_Standardgröße verwenden:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "_Angepasste Größe verwenden:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "_Seitenverhältnis beibehalten" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "_Automatische Größe:" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "Titel" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" msgstr "Bild_titel drucken" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "Auflösung" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" msgstr "_Foto ausgeben auf:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "Pixel pro Zoll" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "Beschriftung" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Shotwell-Einstellungen" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "weiß" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "schwarz" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "Bibliotheksordner auf neue Dateien _überwachen" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "Metadaten" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" msgstr "Stichworte, Titel und andere _Metadaten in die Fotodateien schreiben" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "Anzeige" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "_Fotos importieren nach:" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "_Hintergrund:" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "Importieren" -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" msgstr "_Ordnerstruktur:" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "_Muster:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "Beispiel:" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" msgstr "Namen von importierten Dateien in K_leinbuchstaben ändern" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "RAW-Entwickler" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" msgstr "_Vorgabe:" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" msgstr "E_xterner Foto-Editor:" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "Externer _RAW-Editor:" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "Externe Editoren" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "Erweiterungen" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" msgstr "_Verzögerung:" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" msgstr "_Übergangseffekt:" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" msgstr "Übergangsv_erzögerung:" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" msgstr "T_itel anzeigen" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "Sekunden" -# Ich würde lieber bei »Copyright« bleiben. -#~ msgid "Copyright 2016 Software Freedom Conservancy Inc." -#~ msgstr "Copyright 2016 Software Freedom Conservancy Inc." +#~ msgid "Copyright 2009-2015 Yorba Foundation" +#~ msgstr "Copyright 2009-2015 Yorba Foundation" + +#~ msgid "Intro message replaced at runtime" +#~ msgstr "Eingangsnachricht, die zur Laufzeit ersetzt werden soll" -#~ msgid "Could not make directory %s writable" -#~ msgstr "Ordner %s konnte nicht schreibbar gesetzt werden" +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "Unter $url als $username veröffentlichen" -#~ msgid "Could not make directory %s writable: %s" -#~ msgstr "Ordner %s konnte nicht schreibbar gesetzt werden: %s" +#~ msgid "you are logged in rajce as $name" +#~ msgstr "Sie sind bei Rajce als $name angemeldet" -#~ msgid "Visit the Shotwell web site" -#~ msgstr "Besuchen Sie die Shotwell-Internetseite" +#~ msgid "$mediatype will appear in" +#~ msgstr "$mediatype erscheint in" -#~ msgid "Import media _from:" -#~ msgstr "Importieren _von:" +#~ msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" +#~ msgstr "" +#~ "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" -#~ msgid "Unable to restore photo database %s" -#~ msgstr "Die Fotodatenbank %s konnte nicht wiederhergestellt werden" +#~ msgid "Visit the Yorba web site" +#~ msgstr "Besuchen Sie die Yorba-Webseite" -#~ msgid "Unable open photo %s. Sorry." -#~ msgstr "Das Foto %s kann nicht geöffnet werden. Entschuldigung." +#~ msgid "No photos/videos found" +#~ msgstr "Keine Fotos/Videos gefunden" diff --git a/po/el.gmo b/po/el.gmo new file mode 100644 index 0000000..4cda83f Binary files /dev/null and b/po/el.gmo differ diff --git a/po/en@boldquot.header b/po/en@boldquot.header new file mode 100644 index 0000000..fedb6a0 --- /dev/null +++ b/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/po/en@quot.header b/po/en@quot.header new file mode 100644 index 0000000..a9647fc --- /dev/null +++ b/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/po/en_GB.gmo b/po/en_GB.gmo new file mode 100644 index 0000000..a5a4ab2 Binary files /dev/null and b/po/en_GB.gmo differ diff --git a/po/en_GB.po b/po/en_GB.po index d192ff2..7d0b722 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -12,7 +12,6 @@ # Bruce Cowan , 2012 # Bruce Cowan , 2011 # lsbeeler , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/eo.gmo b/po/eo.gmo new file mode 100644 index 0000000..d967235 Binary files /dev/null and b/po/eo.gmo differ diff --git a/po/es.gmo b/po/es.gmo new file mode 100644 index 0000000..e9f6d71 Binary files /dev/null and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index 9f13b7e..301be6f 100644 --- a/po/es.po +++ b/po/es.po @@ -28,8 +28,8 @@ msgstr "" "Project-Id-Version: shotwell-0.15\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=shotwell&keywords=I18N+L10N&component=Internationalization\n" -"POT-Creation-Date: 2016-05-21 16:40+0000\n" -"PO-Revision-Date: 2016-05-26 13:08+0200\n" +"POT-Creation-Date: 2016-07-19 11:28+0000\n" +"PO-Revision-Date: 2016-07-20 12:36+0200\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español; Castellano \n" "Language: es\n" @@ -39,1346 +39,2748 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 2.91.6\n" -#: ../plugins/common/RESTSupport.vala:425 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" -msgstr "No está disponible un archivo temporal necesario para la publicación" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" -#: ../plugins/common/RESTSupport.vala:1145 +#: misc/shotwell.appdata.xml.in:9 +msgid "Popular photo manager" +msgstr "Gestor de fotos popular" + +#: misc/shotwell.appdata.xml.in:11 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"Ya ha iniciado y cerrado sesión de Google durante esta sesión de Shotwell.\n" -"Para seguir publicando en servicios de Google, cierre y reinicie Shotwell, e " -"intente publicar de nuevo." +"Shotwell es un organizador de fotos fácil de usar, diseñado para el " +"escritorio GNOME. Le permite importar fotos de su cámara o disco, " +"organizarlas por fecha y asunto o por puntuación. También ofree edición " +"básica, como recortar, eliminar ojos rojos, ajustes de color y enderezar. El " +"editor no destructivo de Shotwell no altera las fotos originales, haciendo " +"que sea más fácil experimentar y corregir errores." + +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." +msgstr "" +"Cuando esté preparado, Shotwell puede subir sus fotos a varios sitios web, " +"tales como Facebook, Flickr, Picasa (Google Plus) y más" -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Visite la página web de Shotwell" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." +msgstr "Shotwell soporta JPEG, PNG, TIFF, y varios formatos de archivos RAW." -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:698 -msgid "translator-credits" -msgstr "" -"Daniel Mustieles , 2014-2016\n" -"Adolfo Jayme Barrientos , 2011–2013\n" -"Claudio Rodrigo Pereyra Diaz , 2011–2013\n" -"monkey.libre \n" -"Jorge González , 2011\n" -"José Luis Navarro " +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Gestor de fotos" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2016 Software Freedom Conservancy Inc." -msgstr "Copyright 2016 Software Freedom Conservancy Inc." +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "Organice sus fotos" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"Bienvenido/a al servicio de importación de F-Spot.\n" -"\n" -"Seleccione una colección a importar, ya sea eligiendo una de las colecciones " -"existentes encontradas por Shotwell o eligiendo un archivo de base de datos " -"de F-Spot alternativo." +"álbum;cámara;cámaras;recortar;editar;mejorar;exportar;galería;imagen;" +"imágenes;importar;organizar;foto;fotográfos;fotos;fotografía;imprimir;" +"publicar;rotar;compartir;etiquetas;vídeo;facebook;flickr;picasa;youtube;" +"piwigo;" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 -msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." -msgstr "" -"Bienvenido/a al servicio de importación de colecciones de F-Spot.\n" -"\n" -"Seleccione un archivo de colección de F-Spot." +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +msgid "shotwell" +msgstr "shotwell" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "Seleccionar manualmente una colección de F-Spot para importar:" +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "Visor de fotos Shotwell" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Visor de fotos" + +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "testigo de autenticación" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." +msgstr "Testigo de autenticación en Yandex-Fotki, si ha iniciado sesión." + +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "Testigo" + +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "El testigo para acceder a Tumblr" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "Testigo secreto" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" +msgstr "El testigo secreto para firmar peticiones oauth" + +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:410 +msgid "default size" +msgstr "tamaño predeterminado" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +"A numeric code representing the default size for photos uploaded to Tumblr" msgstr "" -"No se puede abrir el archivo seleccionado de F-Spot: el archivo no existe o " -"no es un archivo de colección de F-Spot" - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 +"Un código numérico que representa el tamaño predeterminado de las fotos " +"subidas a Tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" +msgstr "blog prederminado" + +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "El nombre del blog predeterminado del usuario, si existe" + +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "URL de Rajce" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "URL del servidor Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:378 +#: misc/org.yorba.shotwell.gschema.xml:436 +#: misc/org.yorba.shotwell.gschema.xml:492 +msgid "username" +msgstr "nombre de usuario" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "Nombre de usuario de Rajce, si ha iniciado sesión." + +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "testigo" + +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "testigo de usuario, si se recuerda." + +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "last category" +msgstr "última categoría" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "La última categoría de Rajce seleccionada." + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last photo size" +msgstr "último tamaño de foto" + +#: misc/org.yorba.shotwell-extras.gschema.xml:65 msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." msgstr "" -"No se puede abrir el archivo seleccionado de F-Spot: esta versión de F-Spot " -"no está soportada por Shotwell" +"Un código numérico que representa el último tamaño de foto predefinido usado " +"para publicar en Rajce." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 -msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "recordar" + +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." +msgstr "Si es cierto, recordar el último inicio de sesión" + +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "ocultar álbum" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." msgstr "" -"No se puede abrir el archivo seleccionado de F-Spot: error al leer la tabla " -"de etiquetas" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +msgid "open album in web browser" +msgstr "abrir álbum en el navegador" + +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +"If true, open target album in the web browser just after uploading photos" msgstr "" -"No se puede abrir el archivo seleccionado de F-Spot: error al leer la tabla " -"de fotos" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format -msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:396 +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:472 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "remove sensitive info from uploads" msgstr "" -"Shotwell encontró %d fotos en la colección de F-Spot y está importándolas " -"ahora. Los duplicados se detectarán y eliminarán automáticamente.\n" -"\n" -"Puede cerrar este diálogo y empezar a utilizar Shotwell mientras el proceso " -"de importación ocurre en segundo plano." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "Colección de F-Spot: %s" +#: misc/org.yorba.shotwell-extras.gschema.xml:89 +msgid "" +"Whether images being uploaded to Rajce should have their metadata removed " +"first" +msgstr "" +"Indica si se deben eliminar los metadatos antes de subir las imágenes a Rajce" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "Preparando para importar" +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "mostrar propiedades básicas" -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "Servicios de importación de datos de núcleo" +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." +msgstr "" +"Cierto si se muestra el panel de propiedades básicas, falso en otro caso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "Módulo de publicación Gallery3" +#: misc/org.yorba.shotwell.gschema.xml:28 +msgid "display extended properties" +msgstr "mostrar propiedades extendidas" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +#: misc/org.yorba.shotwell.gschema.xml:29 msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." +"True if the extended properties window is to be displayed, false otherwise." msgstr "" -"No ha iniciado sesión en su Galería.\n" -"\n" -"Debe haber registrado una cuenta de Gallery3 para poder iniciar sesión." +"Cierto si se muestra la ventana de propiedades ampliadas, falso en otro caso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:34 +msgid "display sidebar" +msgstr "mostrar barra lateral" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "Carpeta predeterminada de Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "Cierto si se debe mostrar la barra lateral, falso en otro caso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:40 +msgid "display search bar" +msgstr "mostrar barra de búsqueda" + +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" +"Cierto si se muestra la barra de herramientas de buscar/filtrar, falso en " +"otro caso." + +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display photo titles" +msgstr "mostrar títulos de las fotos" + +#: misc/org.yorba.shotwell.gschema.xml:47 msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"\n" -"El archivo «%s» puede no estar soportado o ser demasiado grande para esta " -"instancia de Gallery3." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo comments" +msgstr "mostrar comentarios de las fotos" + +#: misc/org.yorba.shotwell.gschema.xml:53 msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"Tenga en cuenta que Gallery3 sólo soporta los mismos tipos de vídeo que " -"Flowplayer." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display event comments" +msgstr "mostrar comentarios del evento" + +#: misc/org.yorba.shotwell.gschema.xml:59 msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." msgstr "" -"No está disponible un archivo necesario para publicar. La publicación en %s " -"no puede continuar." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "Publicar en %s como %s." +#: misc/org.yorba.shotwell.gschema.xml:64 +msgid "display photo tags" +msgstr "mostrar etiquetas de las fotos" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: misc/org.yorba.shotwell.gschema.xml:65 msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." msgstr "" -"Escriba el URL de su sitio Gallery3, así como el nombre de usuario y " -"contraseña (o clave API) para su cuenta de Gallery3." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: misc/org.yorba.shotwell.gschema.xml:70 +msgid "display photo ratings" +msgstr "mostrar puntuación de las fotos" + +#: misc/org.yorba.shotwell.gschema.xml:71 msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." msgstr "" -"El nombre de usuario y la contraseña o la clave de la API no son correctos. " -"Para interntarlo de nuevo, vuelva a introducir su nombre y su contraseña a " -"continuación." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "rating filter level" +msgstr "nivel de filtrado de puntuación" + +#: misc/org.yorba.shotwell.gschema.xml:77 msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." msgstr "" -"El URL introducido no parece ser la carpeta principal de una instancia de " -"Gallery3. Asegrúrese de que lo ha escrito correctamente y que no tiene " -"elementos adicionales (ej. index.php)." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "Usuario no reconocido" +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "sort events ascending" +msgstr "ordenar eventos ascendentemente" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr " Sitio no encontrado" +#: misc/org.yorba.shotwell.gschema.xml:83 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "Copyright (C) 2013 rajce.net" +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort library photos ascending" +msgstr "ordenar fotos de la biblioteca ascendentemente" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." -msgstr "Ocurrió un error al publicar en Rajce. Inténtelo de nuevo." +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if library photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos criteria" +msgstr "criterio de ordenación de fotos en la biblioteca" + +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." msgstr "" -"Escriba el nombre de usuario y contraseña asociados con su cuenta de Rajce." +"Un código numérico que representa el criterio de ordenación de las fotos el " +"vistas de biblioteca." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "Usuario y/o contraseña no válidos. Inténtelo de nuevo" +#: misc/org.yorba.shotwell.gschema.xml:100 +msgid "sort event photos ascending" +msgstr "ordenar fotos de eventos ascendentemente" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "Nombre de usuario o contraseña no válidos" +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "Dirección de correo _electrónico" +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos criteria" +msgstr "criterio de ordenación de las fotos de eventos" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_Contraseña" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "Specifies the sort criteria for event photos." +msgstr "Especifica el criterio de ordenación de las fotos de eventos." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "_Recordar" +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "use 24 hour time" +msgstr "usar formato de 24 horas" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "Iniciar sesión" +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "_Ocultar álbum" +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "keep relative time between photos" +msgstr "mantener el tiempo relativo entre fotos" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "Ha iniciado sesión en Rajce como %s." +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "Las fotos aparecen en:" +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "modify original photo files" +msgstr "modificar archivos de fotos originales" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "Un álbum _existente:" +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "Un álbum _nuevo:" +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "show welcome dialog on startup" +msgstr "mostrar diálogo de bienvenida al inicio" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "Abrir ál_bum objetivo en el navegador" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" +"Cierto si se debe mostrar un diálogo de bienvenida al inicio. Falso si no se " +"debe mostrar." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "_Publicar" +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "sidebar position" +msgstr "posición de la barra lateral" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "Cerrar _sesión" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "The width, in pixels, of the sidebar" +msgstr "La anchura en píxeles de la barra lateral" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "Copyright 2012 BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "photo thumbnail scale" +msgstr "escala de la miniatura de la foto" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500 × 375 píxeles" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "La escala de las miniaturas de las fotos, en un rango de 72 a 360." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024 × 768 píxeles" +#: misc/org.yorba.shotwell.gschema.xml:148 +#| msgid "Pin the toolbar open" +msgid "pin toolbar state" +msgstr "estado de anclaje de la barra de herramientas" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280 × 853 píxeles" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "Pin toolbar in fullscreen, or not." +msgstr "Anclar o no la barra de herramientas en modo a pantalla completa." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" -msgstr "«%s» no es una respuesta válida a una solicitud de autenticación OAuth" +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "background color" +msgstr "color de fondo" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 -msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "A grayscale color for use as the background color." +msgstr "La escala de color que usar como color de fondo." + +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "Selection state of \"hide photos\" option" msgstr "" -"TumblrPublisher: start( ): no puede iniciar, este publicador no es " -"reiniciable." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "" +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." msgstr "" -"Escriba el nombre de usuario y contraseña asociados con su cuenta de Tumblr." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" -msgstr "Usuario y/o contraseña no válidos. Inténtelo de nuevo" +#: misc/org.yorba.shotwell.gschema.xml:168 +msgid "delay" +msgstr "retardo" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "Nombre de usuario o contraseña no válidos" +#: misc/org.yorba.shotwell.gschema.xml:169 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "Retardo (en segundos) entre fotos en la presentación de diapositivas." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "No se pudo cargar la IU: %s" +#: misc/org.yorba.shotwell.gschema.xml:174 +msgid "transition delay" +msgstr "retraso de la transición" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:175 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"The time (in seconds) that a transition runs between photos in a slideshow" msgstr "" -"Ha iniciado sesión en Tumblr como %s.\n" -"\n" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "Copyright 2010+ Evgeniy Polyakov " +#: misc/org.yorba.shotwell.gschema.xml:180 +msgid "transition effect id" +msgstr "ID del efecto de transición" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "Visitar el sitio web de Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:181 +msgid "" +"The name of the transition effect that will be used between photos when " +"running a slideshow" +msgstr "" +"El nombre del efecto de transición que se usará entre fotos al hacer una " +"presentación" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:659 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "Actualmente no ha iniciado sesión en Yandex.Fotki." +#: misc/org.yorba.shotwell.gschema.xml:186 +msgid "Show title" +msgstr "Mostrar título" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Servicios de publicación adicionales de Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:187 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "" +"Indica si se debe mostrar el título de una foto durante la presentación de " +"diapositivas" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "A_trás" +#: misc/org.yorba.shotwell.gschema.xml:194 +msgid "maximize library window" +msgstr "maximizar ventana de biblioteca" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "Iniciar _sesión" +#: misc/org.yorba.shotwell.gschema.xml:195 +msgid "True if library application is maximized, false otherwise." +msgstr "" +"Cierto si la aplicación de biblioteca está maximizada, falso en otro caso." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Mensaje de introducción reemplazado en tiempo de ejecución" +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "width of library window" +msgstr "anchura de la ventana de biblioteca" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "URL de _Gallery3:" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "The last recorded width of the library application window." +msgstr "" +"La última anchura guardada de la ventana de la aplicación de biblioteca." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "_Nombre de usuario:" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "height of library window" +msgstr "altura de la ventana de biblioteca" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Contraseña:" +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded height of the library application window." +msgstr "" +"La última altura guardada de la ventana de la aplicación de biblioteca." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_Clave de la API:" +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "maximize direct-edit window" +msgstr "maximizar ventana de edición directa" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "o" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" +"Cierto si la ventana de edición directa está maximizada, falso en otro caso." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "Un álbum _nuevo" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "width of direct-edit window" +msgstr "anchura de la ventana de edición directa" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "Un álbum _existente" +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "The last recorded width of the direct-edit application window." +msgstr "La última anchura guardada de la ventana de edición directa." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" -msgstr "_Quitar ubicación, etiqueta y datos de la cámara antes de subir" +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "height of direct-edit window" +msgstr "altura de la ventana de edición directa" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded height of the direct-edit application window." +msgstr "La última altura guardada de la ventana de edición directa." + +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "sidebar divider position" +msgstr "posición del divisor de la barra lateral" + +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." msgstr "" -"«Publicando en $url como $username» (informado en el código de la aplicación)" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "Re_stricción de escalado:" +#: misc/org.yorba.shotwell.gschema.xml:238 +msgid "import directory" +msgstr "importar carpeta" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr "píxeles" +#: misc/org.yorba.shotwell.gschema.xml:239 +msgid "Directory in which imported photo files are placed." +msgstr "Carpeta en la que se guardan los archivos de fotos importadas." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Tamaño original" +#: misc/org.yorba.shotwell.gschema.xml:244 +msgid "watch library directory for new files" +msgstr "vigilar carpeta de biblioteca en busca de archivos nuevos" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Anchura o altura" +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "etiqueta" +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "write metadata to master files" +msgstr "escribir metadatos en archivos maestros" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blogs:" +#: misc/org.yorba.shotwell.gschema.xml:251 +msgid "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." +msgstr "" +"Si es cierto, los cambios en los metadatos (etiquetas, títulos, etc.) se " +"escriben al archivo de foto maestro." -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "_Tamaño de la foto:" +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "use lowercase filenames" +msgstr "usar nombres de archivos en minúscula" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "ha iniciado sesión en rajce como $name" +#: misc/org.yorba.shotwell.gschema.xml:257 +msgid "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" +msgstr "" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype aparecerá en" +#: misc/org.yorba.shotwell.gschema.xml:262 +#| msgid "_Directory structure:" +msgid "directory pattern" +msgstr "patrón de carpetas" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "Álb_umes (o crear uno nuevo):" +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "_Tipo de acceso:" +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern custom" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "Desactivar _comentarios" +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "_No permitir la descarga de la foto original" +#: misc/org.yorba.shotwell.gschema.xml:274 +msgid "RAW developer default" +msgstr "desarrollador RAW predeterminado" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Público" +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1195 -msgid "Friends" -msgstr "Amigos" +#: misc/org.yorba.shotwell.gschema.xml:282 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Privado" +#: misc/org.yorba.shotwell.gschema.xml:283 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "" +"Un código numérico que representa la última elección del menú de recortar " +"que hizo el usuario." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Shotwell Connect" +#: misc/org.yorba.shotwell.gschema.xml:287 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:288 msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." msgstr "" -"Actualmente no ha iniciado sesión en Facebook.\n" -"\n" -"Si no tiene una cuenta de Facebook, puede crear una durante el proceso de " -"inicio de sesión. Durante el inicio de sesión, Shotwell Connect le puede " -"pedir permiso para subir fotos y publicar en su muro. Estos permisos son " -"necesarios para que Shotwell Connect funcione." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 +#: misc/org.yorba.shotwell.gschema.xml:292 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:293 msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." msgstr "" -"Ya ha iniciado y cerrado sesión de Facebook durante esta sesión de " -"Shotwell.\n" -"Para seguir publicando en Facebook, cierre y reinicie Shotwell, e intente " -"publicar de nuevo." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "Estándar (720 píxeles)" +#: misc/org.yorba.shotwell.gschema.xml:300 +msgid "external photo editor" +msgstr "dditor de fotos externo" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "Grande (2048 píxeles)" +#: misc/org.yorba.shotwell.gschema.xml:301 +msgid "External application used to edit photos." +msgstr "Aplicación externa usada para editar fotos." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "Comprobando la conexión a Facebook…" +#: misc/org.yorba.shotwell.gschema.xml:306 +msgid "external raw editor" +msgstr "editor RAW externo" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "Creando el álbum…" +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit RAW photos." +msgstr "Aplicación externa usada para editar fotos RAW." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 +#: misc/org.yorba.shotwell.gschema.xml:314 +msgid "last used publishing service" +msgstr "último servicio de publicación usado" + +#: misc/org.yorba.shotwell.gschema.xml:315 +#: misc/org.yorba.shotwell.gschema.xml:321 msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." +"A numeric code representing the last service to which photos were published" msgstr "" -"No está disponible un archivo necesario para publicar. La publicación en " -"Facebook no puede continuar." +"Un código numérico que representa el último servicio en el que se publicaron " +"las fotos" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1033 -#, c-format -msgid "" -"You are logged into Facebook as %s.\n" -"\n" +#: misc/org.yorba.shotwell.gschema.xml:320 +msgid "default publishing service" +msgstr "servicio de publicación predeterminado" + +#: misc/org.yorba.shotwell.gschema.xml:334 +msgid "access token" +msgstr "testigo de acceso" + +#: misc/org.yorba.shotwell.gschema.xml:335 +msgid "Facebook OAuth token for the currently logged in session, if any" msgstr "" -"Ha iniciado sesión en Facebook como %s.\n" -"\n" +"Testigo OAuth de Facebook para el usuario que ha iniciado sesión " +"actualmente, si existe" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1034 -msgid "Where would you like to publish the selected photos?" -msgstr "¿Dónde quiere publicar las fotos seleccionadas?" +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "user i.d." +msgstr "ID de usuario" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1035 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "_Tamaño de subida:" +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook user i.d. for the currently logged in user, if any" +msgstr "" +"ID del usuario de Facebook que ha iniciado sesión actualmente, si existe" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1194 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "Solo yo" +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user name" +msgstr "nombre de usuario" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1196 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "Todos" +#: misc/org.yorba.shotwell.gschema.xml:347 +#| msgid "You are not currently logged into Yandex.Fotki." +msgid "The name of the currently logged in Facebook user, if any" +msgstr "" +"El nombre del usuario que actualmente ha iniciado sesión en Facebook, si " +"existe" + +#: misc/org.yorba.shotwell.gschema.xml:352 +#: misc/org.yorba.shotwell.gschema.xml:384 +msgid "default size code" +msgstr "código de tamaño predeterminado" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 +#: misc/org.yorba.shotwell.gschema.xml:353 msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +"A numeric code representing the default size for photos published to Facebook" msgstr "" -"Actualmente no ha iniciado sesión en Flickr.\n" -"\n" -"Pulse Iniciar sesión para identificarse en Flickr en su navegador web. " -"Tendrá que autorizar a Shotwell Connect para que se enlace a su cuenta de " -"Flickr." +"Un código numérico que representa el tamaño predeterminado de las fotos " +"publicadas en Facebook" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:359 msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +"Whether images being uploaded to Facebook should have their metadata removed " +"first" msgstr "" -"Ya ha iniciado y cerrado sesión de Flickr durante esta sesión de Shotwell.\n" -"Para seguir publicando en Flickr, cierre y reinicie Shotwell, e intente " -"publicar de nuevo." - -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "Preparándose para iniciar sesión…" +"Indica si se deben eliminar los metadatos antes de subir las imágenes a " +"Facebook" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 -msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +#: misc/org.yorba.shotwell.gschema.xml:366 +msgid "OAuth Access Phase Token" msgstr "" -"No está disponible un archivo necesario para publicar. La publicación en " -"Flickr no puede continuar." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "Comprobando la autorización…" +#: misc/org.yorba.shotwell.gschema.xml:367 +msgid "The authorization token for the currently logged in Flickr user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format -msgid "" -"You are logged into Flickr as %s.\n" -"\n" +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token Secret" msgstr "" -"Ha iniciado sesión en Flickr como %s.\n" -"\n" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:373 msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"Su cuenta gratuita de Flickr limita la cantidad de datos que puede subir al " -"mes.\n" -"Este mes tiene %d megabyte restantes de su límite de subida." -msgstr[1] "" -"Su cuenta gratuita de Flickr limita la cantidad de datos que puede subir al " -"mes.\n" -"Este mes tiene %d megabytes restantes de su límite de sudiba." +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" +msgstr "" +"El secreto criptográfico usado para firmar peticiones con el testigo de " +"autenticación para el usuario que actualmente ha iniciado sesión en Flickr, " +"si existe" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." -msgstr "Su cuenta de Flickr Pro le permite subidas ilimitadas." +#: misc/org.yorba.shotwell.gschema.xml:379 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "" +"El nombre del usuario que actualmente ha iniciado sesión en Flickr, si existe" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "Fotos _visibles para:" +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "" +"A numeric code representing the default size for photos published to Flickr" +msgstr "" +"Un código numérico que representa el tamaño predeterminado de las fotos " +"publicadas en Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "Vídeos _visibles para:" +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default visibility" +msgstr "visibilidad predeterminada" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "Fotos y vídeos _visibles para:" +#: misc/org.yorba.shotwell.gschema.xml:391 +msgid "" +"A numeric code representing the default visibility for photos published to " +"Flickr" +msgstr "" +"Un código numérico que representa la visibilidad predeterminada de las fotos " +"publicadas en Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "Solo amigos y familia" +#: misc/org.yorba.shotwell.gschema.xml:397 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" +"Indica si se deben eliminar los metadatos antes de subir las imágenes a " +"Flicrk" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "Solo familia" +#: misc/org.yorba.shotwell.gschema.xml:404 +#: misc/org.yorba.shotwell.gschema.xml:536 +msgid "refresh token" +msgstr "actualizar testigo" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "Solo amigos" +#: misc/org.yorba.shotwell.gschema.xml:405 +msgid "" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048 × 1536 píxeles" +#: misc/org.yorba.shotwell.gschema.xml:411 +msgid "" +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" +"Un código numérico que representa el tamaño predeterminado de las fotos " +"subidas a álbumes web Picasa" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096 × 3072 píxeles" +#: misc/org.yorba.shotwell.gschema.xml:416 +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "last album" +msgstr "último álbum" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 -msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +#: misc/org.yorba.shotwell.gschema.xml:417 +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "The name of the last album the user published photos to, if any" msgstr "" -"Actualmente no ha iniciado sesión en Álbumes web de Picasa.\n" -"\n" -"Pulse Iniciar sesión para identificarse en Álbumes web de Picasa en su " -"navegador web. Tendrá que autorizar a Shotwell Connect para que se enlace a " -"su cuenta de Álbumes web de Picasa." +"El nombre del último álbum en el que el usuario publicó fotos, si existe" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 +#: misc/org.yorba.shotwell.gschema.xml:423 msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +"Whether images being uploaded to Picasa should have their metadata removed " +"first" msgstr "" -"No está disponible un archivo necesario para publicar. La publicación en " -"Picasa no puede continuar." +"Indica si se deben eliminar los metadatos antes de subir las imágenes a " +"Picasa" -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "Ha iniciado sesión en Álbumes web de Picasa como %s." +#: misc/org.yorba.shotwell.gschema.xml:430 +msgid "Piwigio URL" +msgstr "URL de Pigwio" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "Los vídeos aparecerán en:" +#: misc/org.yorba.shotwell.gschema.xml:431 +msgid "URL of the Piwigo server." +msgstr "URL del servidor Piwigo." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "Pequeño (640 × 480 píxeles)" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "Piwigo username, if logged in." +msgstr "Nombre de usuario de Piwigo, si ha iniciado sesión." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "Mediano (1024 × 768 píxeles)" +#: misc/org.yorba.shotwell.gschema.xml:442 +msgid "password" +msgstr "contraseña" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "Recomendado (1600 × 1200 píxeles)" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo password, if logged in." +msgstr "Contraseña de Piwigo, si ha iniciado sesión." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048 × 1536 píxeles)" +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "remember password" +msgstr "recortar contraseña" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "Tamaño original" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "If true, remember the Piwigo password." +msgstr "Si es cierto, recordar la contraseña de Piwigo." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "Creando el álbum %s…" +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "The last selected Piwigo category." +msgstr "La última categoría de Piwigo seleccionada." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." -msgstr "Ocurrió un error al publicar en Piwigo. Inténtelo de nuevo." +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last permission level" +msgstr "último nivel de permisos" + +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last chosen Piwigo permission level." +msgstr "El último nivel de privilegios elegido el Piwigo." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: misc/org.yorba.shotwell.gschema.xml:467 msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." msgstr "" -"Escriba el URL de su colección fotográfica de Piwigo, así como el nombre de " -"usuario y contraseña asociados a esa colección." +"Un código numérico que representa el último tamaño de foto predefinido usado " +"para publicar en Piwigo." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 +#: misc/org.yorba.shotwell.gschema.xml:473 msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" msgstr "" -"Shotwell no puede contactar su colección de fotos de Piwigo. Compruebe la " -"URL que ha introducido" +"Indica si se deben eliminar los metadatos antes de subir las imágenes a " +"Piwigo" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "URL no válida" +#: misc/org.yorba.shotwell.gschema.xml:478 +#| msgid "_If a title is set and comment unset, use title as comment" +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "" +"si se definió el titulo pero no un comentario, usar el título como " +"comentario para las subidas a Piwigo" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "Administradores, Familia, Amigos, Contactos" +#: misc/org.yorba.shotwell.gschema.xml:479 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" +"Indica si las imágenes que se vayan a subir a Piwigo deben tener un " +"comentario a partir del título, si tiene, y no tiene comentario" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "Administradores, Familia, Amigos" +#: misc/org.yorba.shotwell.gschema.xml:484 +msgid "do not upload tags when uploading to Piwigo" +msgstr "no subir etiquetas al subir a Piwigo" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "Administradores, Familia" - -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "Administradores" - -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 +#: misc/org.yorba.shotwell.gschema.xml:485 msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." msgstr "" -"No ha iniciado sesión en YouTube.\n" -"\n" -"Debe haber registrado una cuenta de Google y configurarla para utilizarla " -"con YouTube para continuar. Puede configurar la mayoría de cuentas mediante " -"el uso de su navegador para registrarse en el sitio de YouTube al menos una " -"vez." +"Indica si se deben eliminar las etiquetas antes de subir las imágenes a " +"Piwigo, para que esas etiquetas no aparezcan en el servidor remoto de Piwigo." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 -msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." -msgstr "" -"No está disponible un archivo necesario para publicar. La publicación en " -"Youtube no puede continuar." +#: misc/org.yorba.shotwell.gschema.xml:493 +msgid "Gallery3 username" +msgstr "Nombre de usuario de Gallery3" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "Ha iniciado sesión en YouTube como %s." +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "API key" +msgstr "Clave de la API" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "Los vídeos aparecerán en «%s»" +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 API key" +msgstr "Clave de la API de Gallery3" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "Listado públicamente" +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "URL" +msgstr "URL" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "No listado públicamente" +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 site URL" +msgstr "URL de Gallery3" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "Publicar en un álbum e_xistente:" +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "" +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" +msgstr "" +"Indica si se deben eliminar los metadatos antes de subir las imágenes a " +"Gallery3" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Crear un álbum _nuevo llamado:" +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "scaling constraint of uploaded picture" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "Vídeos y álbumes de fotos nuevos _visibles para:" +#: misc/org.yorba.shotwell.gschema.xml:523 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "pixels of the major axis uploaded picture" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 +#: misc/org.yorba.shotwell.gschema.xml:529 msgid "" -"_Remove location, camera, and other identifying information before uploading" -msgstr "_Quitar ubicación, cámara y otra información antes de subir" +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" +msgstr "" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 +#: misc/org.yorba.shotwell.gschema.xml:537 msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." msgstr "" -"Introduzca el número de confirmación que aparece en su navegador web después " -"de iniciar sesión en Flickr." +"El testigo OAuth usado para actualizar la sesión de Youtube para el usuario " +"que ha iniciado sesión actualmente, si existe." -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "_Número de autorización:" +#: misc/org.yorba.shotwell.gschema.xml:544 +msgid "last used import service" +msgstr "último servicio de importación usado" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "Con_tinuar" +#: misc/org.yorba.shotwell.gschema.xml:545 +msgid "" +"A numeric code representing the last service from which photos were imported" +msgstr "" +"Un código numérico que representa el último servicio del que se importaron " +"fotos" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "_Listar álbum en la galería pública" +#: misc/org.yorba.shotwell.gschema.xml:552 +msgid "interpreter state cookie" +msgstr "cookie de estado del intérprete" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "_Tamaño de foto predefinido:" +#: misc/org.yorba.shotwell.gschema.xml:553 +msgid "" +"A numeric code that captures the state of the GStreamer plug-in environment" +msgstr "" +"Un código numérico que captura el estado del entorno del complemento " +"GStreamer" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "_URL de su biblioteca de fotos Piwigo" +#: misc/org.yorba.shotwell.gschema.xml:560 +msgid "content layout mode" +msgstr "modo de distribución del contenido" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "_Nombre de usuario" +#: misc/org.yorba.shotwell.gschema.xml:561 +msgid "" +"A numeric code that describes how photos are laid out on the page during " +"printing" +msgstr "" +"Un código numérico que representa cuántas fotos aparecen en la página al " +"imprimir" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "_Recortar contraseña" +#: misc/org.yorba.shotwell.gschema.xml:566 +msgid "content ppi" +msgstr "ppp del contenido" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "Una categoría _existente:" +#: misc/org.yorba.shotwell.gschema.xml:567 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "" +"El número de píxeles por pulgada (ppp) enviado a la impresora al imprimir" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "Las fotos serán _visibles para:" +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content width" +msgstr "anchura del contenido" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Tamaño de la foto:" +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The width of the printed emulsion on the page when printing" +msgstr "La anchura de la emulsión impresa en la página al imprimir" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "en la categoría:" +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content height" +msgstr "altura del contenido" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Comentario del álbum:" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The height of the printed emulsion on the page when printing" +msgstr "La altura de la emulsión impresa en la página al imprimir" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" -msgstr "" -"_Si se definió el titulo pero no un comentario, usar el título como " -"comentario" +#: misc/org.yorba.shotwell.gschema.xml:584 +msgid "content units" +msgstr "unidades del contenido" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "_No cargar las etiquetas" +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" +msgstr "" +"Un código numérico que representa la unidad de medida (pulgadas o " +"centímetros) usada al imprimir" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Salir" +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "images per page code" +msgstr "código de imágenes por página" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:298 -msgid "Publish" -msgstr "Publicar" +#: misc/org.yorba.shotwell.gschema.xml:591 +msgid "" +"A numeric code representing the currently selected images per page mode used " +"when printing" +msgstr "" +"Un código numérico que representa el modo usado de imágenes por página " +"seleccionadas actualmente al imprimir" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Servicios de publicación" +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "size selection" +msgstr "tamaño de la selección" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "Co_nfiguración de privacidad de vídeos:" +#: misc/org.yorba.shotwell.gschema.xml:597 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" +"El índice del tamaño de impresión actual en una lista de tamaños estándar " +"predefinidos" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "Persianas" +#: misc/org.yorba.shotwell.gschema.xml:602 +msgid "match aspect ratio" +msgstr "coincidir con relación de aspecto" -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "Ajedrez" +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "Círculo" +#: misc/org.yorba.shotwell.gschema.xml:608 +msgid "print titles" +msgstr "imprimir títulos" -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "Círculos" +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" +"Cierto si se debe imprimir el título de la foto al imprimirla, falso en otro " +"caso." -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "Reloj" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "titles font" +msgstr "tipografía de los títulos" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "Desmoronar" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "El nombre de la tipografía que usar cuando se imprimen los títulos." -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "Desvanecer" +#: misc/org.yorba.shotwell.gschema.xml:626 +msgid "enable facebook publishing plugin" +msgstr "activar complemento de publicación en Facebook" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "Diapositiva" +#: misc/org.yorba.shotwell.gschema.xml:627 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Facebook está activado, falso en " +"otro caso" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "Cuadrados" +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable flickr publishing plugin" +msgstr "activar complemento de publicación en Flickr" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "Franjas" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Flickr está activado, falso en " +"otro caso" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Transiciones de pase de diapositivas" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable picasa publishing plugin" +msgstr "activar complemento de publicación en Picasa" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 -#| msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" +#: misc/org.yorba.shotwell.gschema.xml:639 msgid "" -"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " -"Inc." +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" msgstr "" -"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " -"Inc." +"Cierto si el complemento de publicación en álbumes web Picasa está activado, " +"falso en otro caso" -#: ../src/AppDirs.vala:64 ../src/AppDirs.vala:115 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "No se pudo crear la carpeta de caché %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable youtube publishing plugin" +msgstr "activar complemento de publicación en Youtube" -#: ../src/AppDirs.vala:74 ../src/AppDirs.vala:104 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "No se puede crear la carpeta de datos %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Youtube está activado, falso en " +"otro caso" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:168 -msgid "Pictures" -msgstr "Imágenes" +#: misc/org.yorba.shotwell.gschema.xml:650 +msgid "enable piwigo publishing plugin" +msgstr "activar complemento de publicación en Piwigo" -#: ../src/AppDirs.vala:206 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "No se puede crear la carpeta temporal %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Piwigo está activado, falso en " +"otro caso" -#: ../src/AppDirs.vala:223 ../src/AppDirs.vala:254 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "No se puede crear la subcarpeta de datos %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable yandex publishing plugin" +msgstr "activar complemento de publicación en Yandex" -#: ../src/AppDirs.vala:236 -#, c-format -msgid "Could not make directory %s writable" -msgstr "No se pudo hacer que la carpeta %s sea escribible" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Yandex.Fotki está activado, falso " +"en otro caso" -#: ../src/AppDirs.vala:239 -#, c-format -msgid "Could not make directory %s writable: %s" -msgstr "No se pudo hacer escribible la carpeta %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable tumblr publishing plugin" +msgstr "activar complemento de publicación en Tumblr" -#: ../src/AppWindow.vala:53 -msgid "Pin Toolbar" -msgstr "Anclar la barra de herramientas" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Tumblr está activado, falso en " +"otro caso" -#: ../src/AppWindow.vala:54 -msgid "Pin the toolbar open" -msgstr "Mantener abierta la barra de herramientas" +#: misc/org.yorba.shotwell.gschema.xml:668 +msgid "enable rajce publishing plugin" +msgstr "activar complemento de publicación en Rajce" -#: ../src/AppWindow.vala:59 -msgid "Leave fullscreen" -msgstr "Salir de pantalla completa" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Rajce está activado, falso en " +"otro caso" -#: ../src/AppWindow.vala:518 -msgid "_Contents" -msgstr "_Contenido" +#: misc/org.yorba.shotwell.gschema.xml:674 +msgid "enable gallery3 publishing plugin" +msgstr "activar complemento de publicación en Gallery3" -#: ../src/AppWindow.vala:523 -msgid "_Frequently Asked Questions" -msgstr "_Preguntas más frecuentes" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de publicación en Gallery3 está activado, falso en " +"otro caso" -#: ../src/AppWindow.vala:528 -msgid "_Report a Problem..." -msgstr "_Informar de un problema…" +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable F-Spot import plugin" +msgstr "activar complemento de importación de F-Spot" -#: ../src/AppWindow.vala:627 ../src/AppWindow.vala:648 -#: ../src/AppWindow.vala:665 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1424 ../src/Dialogs.vala:1447 ../src/Resources.vala:157 -#: ../src/data_imports/DataImportsUI.vala:413 -#: ../src/publishing/PublishingUI.vala:512 -msgid "_Cancel" -msgstr "_Cancelar" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de importación de F-Spot está activado, falso en " +"otro caso" -#: ../src/AppWindow.vala:675 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:686 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow crumble transition" +msgstr "activar transición de desmenuzado del pase de diapositivas" + +#: misc/org.yorba.shotwell.gschema.xml:687 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" -"\n" -"%s" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" msgstr "" -"Ocurrió un error grave al acceder a la colección de Shotwell. Shotwell no " -"puede continuar.\n" -"\n" -"%s" +"Cierto si el complemento de transición de desmoronar está activado, falso en " +"otro caso" -#: ../src/AppWindow.vala:695 -#| msgid "Visit the Shotwell home page" -msgid "Visit the Shotwell web site" -msgstr "Visite la página web de Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:692 +msgid "enable slideshow fade transition" +msgstr "activar transición de fundido del pase de diapositivas" -#: ../src/AppWindow.vala:707 -#, c-format -msgid "Unable to display help: %s" -msgstr "No se puede mostrar la ayuda: %s" +#: misc/org.yorba.shotwell.gschema.xml:693 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de transición de fundido está activado, falso en " +"otro caso" -#: ../src/AppWindow.vala:715 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "No se pudo navegar en la base de datos de errores: %s" +#: misc/org.yorba.shotwell.gschema.xml:698 +#: misc/org.yorba.shotwell.gschema.xml:722 +msgid "enable slideshow slide transition" +msgstr "activar transición lateral del pase de diapositivas" -#: ../src/AppWindow.vala:723 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "No se pudieron mostrar las P+F: %s" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de transición lateral está activado, falso en otro " +"caso" -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "Éxito" +#: misc/org.yorba.shotwell.gschema.xml:704 +msgid "enable slideshow clock transition" +msgstr "activar transición de reloj del pase de diapositivas" -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "Error de archivo" +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de transición de reloj está activado, falso en otro " +"caso" -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "No se puede descodificar el archivo" +#: misc/org.yorba.shotwell.gschema.xml:710 +#: misc/org.yorba.shotwell.gschema.xml:716 +msgid "enable slideshow circle transition" +msgstr "activar transición circular del pase de diapositivas" -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "Error de la base de datos" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de transición circular está activado, falso en otro " +"caso" -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "El usuario canceló la importación" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de transición en círculos está activado, falso en " +"otro caso" -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "No es un archivo" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "El archivo ya existe en la base de datos" +#: misc/org.yorba.shotwell.gschema.xml:728 +msgid "enable slideshow squares transition" +msgstr "activar transición de cuadros del pase de diapositivas" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "Formato de archivo no soportado" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de transición de cuadros está activado, falso en " +"otro caso" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "No es un archivo de imagen" +#: misc/org.yorba.shotwell.gschema.xml:734 +msgid "enable slideshow stripes transition" +msgstr "activar transición de bandas del pase de diapositivas" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "Fallo en disco" +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Cierto si el complemento de transición de bandas está activado, falso en " +"otro caso" -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "Disco lleno" +#: misc/org.yorba.shotwell.gschema.xml:740 +msgid "enable slideshow chess transition" +msgstr "activar transición de ajedrez del pase de diapositivas" -#: ../src/BatchImport.vala:59 -msgid "Camera error" -msgstr "Error de la cámara" +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" +"Cierto si el complemento de transición de tablero de ajedrez está activado, " +"falso en otro caso" -#: ../src/BatchImport.vala:62 -msgid "File write error" -msgstr "Error de escritura en el archivo" +#: plugins/common/Resources.vala:9 +msgid "Visit the Shotwell home page" +msgstr "Visite la página web de Shotwell" -#: ../src/BatchImport.vala:65 -msgid "Corrupt image file" -msgstr "Archivo de imagen dañado" +#: plugins/common/Resources.vala:28 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"Daniel Mustieles , 2014-2016\n" +"Adolfo Jayme Barrientos , 2011–2013\n" +"Claudio Rodrigo Pereyra Diaz , 2011–2013\n" +"monkey.libre \n" +"Jorge González , 2011\n" +"José Luis Navarro " -#: ../src/BatchImport.vala:68 -#, c-format -msgid "Imported failed (%d)" +#: plugins/common/RESTSupport.vala:448 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:960 +msgid "A temporary file needed for publishing is unavailable" +msgstr "No está disponible un archivo temporal necesario para la publicación" + +#: plugins/common/RESTSupport.vala:1154 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" +"Ya ha iniciado y cerrado sesión de Google durante esta sesión de Shotwell.\n" +"Para seguir publicando en servicios de Google, cierre y reinicie Shotwell, e " +"intente publicar de nuevo." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:34 +#: plugins/shotwell-publishing/FacebookPublishing.vala:32 +#: plugins/shotwell-publishing/FlickrPublishing.vala:34 +#: plugins/shotwell-publishing/PicasaPublishing.vala:32 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:32 +#: plugins/shotwell-publishing/YouTubePublishing.vala:32 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Copyright 2016 Software Freedom Conservancy Inc." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:56 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"Bienvenido/a al servicio de importación de F-Spot.\n" +"\n" +"Seleccione una colección a importar, ya sea eligiendo una de las colecciones " +"existentes encontradas por Shotwell o eligiendo un archivo de base de datos " +"de F-Spot alternativo." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"Bienvenido/a al servicio de importación de colecciones de F-Spot.\n" +"\n" +"Seleccione un archivo de colección de F-Spot." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "Manually select an F-Spot database file to import:" +msgstr "Seleccionar manualmente una colección de F-Spot para importar:" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"No se puede abrir el archivo seleccionado de F-Spot: el archivo no existe o " +"no es un archivo de colección de F-Spot" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"No se puede abrir el archivo seleccionado de F-Spot: esta versión de F-Spot " +"no está soportada por Shotwell" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"No se puede abrir el archivo seleccionado de F-Spot: error al leer la tabla " +"de etiquetas" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"No se puede abrir el archivo seleccionado de F-Spot: error al leer la tabla " +"de fotos" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"Shotwell encontró %d fotos en la colección de F-Spot y está importándolas " +"ahora. Los duplicados se detectarán y eliminarán automáticamente.\n" +"\n" +"Puede cerrar este diálogo y empezar a utilizar Shotwell mientras el proceso " +"de importación ocurre en segundo plano." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:84 +#, c-format +msgid "F-Spot library: %s" +msgstr "Colección de F-Spot: %s" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:422 +msgid "Preparing to import" +msgstr "Preparando para importar" + +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "Servicios de importación de datos de núcleo" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "A_trás" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "Iniciar _sesión" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "URL de _Gallery3:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "_Nombre de usuario:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_Contraseña:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "_Clave de la API:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "o" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "Cerrar _sesión" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "_Publicar" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "Un álbum _nuevo" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "Un álbum _existente" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "_Quitar ubicación, etiqueta y datos de la cámara antes de subir" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "Re_stricción de escalado:" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "píxeles" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1236 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1237 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "Tamaño original" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Anchura o altura" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "Módulo de publicación Gallery3" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" +"No ha iniciado sesión en su Galería.\n" +"\n" +"Debe haber registrado una cuenta de Gallery3 para poder iniciar sesión." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "Carpeta predeterminada de Shotwell" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" +"\n" +"\n" +"El archivo «%s» puede no estar soportado o ser demasiado grande para esta " +"instancia de Gallery3." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" +"\n" +"Tenga en cuenta que Gallery3 sólo soporta los mismos tipos de vídeo que " +"Flowplayer." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" +"No está disponible un archivo necesario para publicar. La publicación en %s " +"no puede continuar." + +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 +#, c-format +msgid "Publishing to %s as %s." +msgstr "Publicar en %s como %s." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"Escriba el URL de su sitio Gallery3, así como el nombre de usuario y " +"contraseña (o clave API) para su cuenta de Gallery3." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"El nombre de usuario y la contraseña o la clave de la API no son correctos. " +"Para interntarlo de nuevo, vuelva a introducir su nombre y su contraseña a " +"continuación." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"El URL introducido no parece ser la carpeta principal de una instancia de " +"Gallery3. Asegrúrese de que lo ha escrito correctamente y que no tiene " +"elementos adicionales (ej. index.php)." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 +msgid "Unrecognized User" +msgstr "Usuario no reconocido" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 +msgid " Site Not Found" +msgstr " Sitio no encontrado" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:890 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "Dirección de correo _electrónico" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:891 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_Contraseña" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +msgid "_Remember" +msgstr "_Recordar" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "Iniciar sesión" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "Un álbum _existente:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "Un álbum _nuevo:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1004 +msgid "_Hide album" +msgstr "_Ocultar álbum" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +msgid "Open target _album in browser" +msgstr "Abrir ál_bum objetivo en el navegador" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:38 +msgid "Copyright (C) 2013 rajce.net" +msgstr "Copyright (C) 2013 rajce.net" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:742 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "Ocurrió un error al publicar en Rajce. Inténtelo de nuevo." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:831 +msgid "Enter email and password associated with your Rajce account." +msgstr "" +"Escriba el nombre de usuario y contraseña asociados con su cuenta de Rajce." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:832 +msgid "Invalid email and/or password. Please try again" +msgstr "Usuario y/o contraseña no válidos. Inténtelo de nuevo" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:863 +msgid "Invalid User Email or Password" +msgstr "Nombre de usuario o contraseña no válidos" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1011 +#, c-format +msgid "You are logged into Rajce as %s." +msgstr "Ha iniciado sesión en Rajce como %s." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "Las fotos aparecen en:" + +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Servicios de publicación adicionales de Shotwell" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "Blogs:" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "_Tamaño de la foto:" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:34 +msgid "Copyright 2012 BJA Electronics" +msgstr "Copyright 2012 BJA Electronics" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:103 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1233 +msgid "500 x 375 pixels" +msgstr "500 × 375 píxeles" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +msgid "1024 x 768 pixels" +msgstr "1024 × 768 píxeles" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +msgid "1280 x 853 pixels" +msgstr "1280 × 853 píxeles" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:309 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:319 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "«%s» no es una respuesta válida a una solicitud de autenticación OAuth" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:557 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start( ): no puede iniciar, este publicador no es " +"reiniciable." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:585 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "" +"Escriba el nombre de usuario y contraseña asociados con su cuenta de Tumblr." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:989 +msgid "Username and/or password invalid. Please try again" +msgstr "Usuario y/o contraseña no válidos. Inténtelo de nuevo" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:616 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1026 +msgid "Invalid User Name or Password" +msgstr "Nombre de usuario o contraseña no válidos" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:635 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:754 +#, c-format +msgid "Could not load UI: %s" +msgstr "No se pudo cargar la IU: %s" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:736 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"Ha iniciado sesión en Tumblr como %s.\n" +"\n" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "Copyright 2010+ Evgeniy Polyakov " + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "Visitar el sitio web de Yandex.Fotki" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:659 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "Actualmente no ha iniciado sesión en Yandex.Fotki." + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "Álb_umes (o crear uno nuevo):" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "_Tipo de acceso:" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "Desactivar _comentarios" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "_No permitir la descarga de la foto original" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "Público" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Amigos" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Private" +msgstr "Privado" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "Publicar en un álbum e_xistente:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "Crear un álbum _nuevo llamado:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "_Tamaño de subida:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "Vídeos y álbumes de fotos nuevos _visibles para:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 +msgid "" +"_Remove location, camera, and other identifying information before uploading" +msgstr "_Quitar ubicación, cámara y otra información antes de subir" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:61 +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1114 +msgid "Shotwell Connect" +msgstr "Shotwell Connect" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:63 +msgid "" +"You are not currently logged into Facebook.\n" +"\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." +msgstr "" +"Actualmente no ha iniciado sesión en Facebook.\n" +"\n" +"Si no tiene una cuenta de Facebook, puede crear una durante el proceso de " +"inicio de sesión. Durante el inicio de sesión, Shotwell Connect le puede " +"pedir permiso para subir fotos y publicar en su muro. Estos permisos son " +"necesarios para que Shotwell Connect funcione." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:65 +msgid "" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Ya ha iniciado y cerrado sesión de Facebook durante esta sesión de " +"Shotwell.\n" +"Para seguir publicando en Facebook, cierre y reinicie Shotwell, e intente " +"publicar de nuevo." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:86 +msgid "Standard (720 pixels)" +msgstr "Estándar (720 píxeles)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:89 +msgid "Large (2048 pixels)" +msgstr "Grande (2048 píxeles)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:254 +msgid "Testing connection to Facebook..." +msgstr "Comprobando la conexión a Facebook…" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:347 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "Creando el álbum…" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"No está disponible un archivo necesario para publicar. La publicación en " +"Facebook no puede continuar." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"Ha iniciado sesión en Facebook como %s.\n" +"\n" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "¿Dónde quiere publicar las fotos seleccionadas?" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1214 +msgid "Just me" +msgstr "Solo yo" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1210 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1221 +msgid "Everyone" +msgstr "Todos" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" +"Introduzca el número de confirmación que aparece en su navegador web después " +"de iniciar sesión en Flickr." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "_Número de autorización:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 +#: src/Dialogs.vala:131 +msgid "Con_tinue" +msgstr "Con_tinuar" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:61 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"Actualmente no ha iniciado sesión en Flickr.\n" +"\n" +"Pulse Iniciar sesión para identificarse en Flickr en su navegador web. " +"Tendrá que autorizar a Shotwell Connect para que se enlace a su cuenta de " +"Flickr." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:63 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Ya ha iniciado y cerrado sesión de Flickr durante esta sesión de Shotwell.\n" +"Para seguir publicando en Flickr, cierre y reinicie Shotwell, e intente " +"publicar de nuevo." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:375 +msgid "Preparing for login..." +msgstr "Preparándose para iniciar sesión…" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:444 +#: plugins/shotwell-publishing/FlickrPublishing.vala:595 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"No está disponible un archivo necesario para publicar. La publicación en " +"Flickr no puede continuar." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:457 +msgid "Verifying authorization..." +msgstr "Comprobando la autorización…" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1153 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"Ha iniciado sesión en Flickr como %s.\n" +"\n" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1156 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"Su cuenta gratuita de Flickr limita la cantidad de datos que puede subir al " +"mes.\n" +"Este mes tiene %d megabyte restantes de su límite de subida." +msgstr[1] "" +"Su cuenta gratuita de Flickr limita la cantidad de datos que puede subir al " +"mes.\n" +"Este mes tiene %d megabytes restantes de su límite de sudiba." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1160 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "Su cuenta de Flickr Pro le permite subidas ilimitadas." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1165 +msgid "Photos _visible to:" +msgstr "Fotos _visibles para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1167 +msgid "Videos _visible to:" +msgstr "Vídeos _visibles para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1170 +msgid "Photos and videos _visible to:" +msgstr "Fotos y vídeos _visibles para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +msgid "Friends & family only" +msgstr "Solo amigos y familia" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Family only" +msgstr "Solo familia" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Friends only" +msgstr "Solo amigos" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1235 +msgid "2048 x 1536 pixels" +msgstr "2048 × 1536 píxeles" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1236 +msgid "4096 x 3072 pixels" +msgstr "4096 × 3072 píxeles" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "_Listar álbum en la galería pública" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "_Tamaño de foto predefinido:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:58 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"Actualmente no ha iniciado sesión en Álbumes web de Picasa.\n" +"\n" +"Pulse Iniciar sesión para identificarse en Álbumes web de Picasa en su " +"navegador web. Tendrá que autorizar a Shotwell Connect para que se enlace a " +"su cuenta de Álbumes web de Picasa." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"No está disponible un archivo necesario para publicar. La publicación en " +"Picasa no puede continuar." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "Ha iniciado sesión en Álbumes web de Picasa como %s." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "Los vídeos aparecerán en:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "Pequeño (640 × 480 píxeles)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "Mediano (1024 × 768 píxeles)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "Recomendado (1600 × 1200 píxeles)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048 × 1536 píxeles)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "Tamaño original" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "_URL de su biblioteca de fotos Piwigo" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "_Nombre de usuario" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "_Recortar contraseña" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "Una categoría _existente:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "Las fotos serán _visibles para:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "Tamaño de la foto:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "en la categoría:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "Comentario del álbum:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "" +"_Si se definió el titulo pero no un comentario, usar el título como " +"comentario" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "_No cargar las etiquetas" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "Salir" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "Publicar" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:746 +#, c-format +msgid "Creating album %s..." +msgstr "Creando el álbum %s…" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:917 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "Ocurrió un error al publicar en Piwigo. Inténtelo de nuevo." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:987 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"Escriba el URL de su colección fotográfica de Piwigo, así como el nombre de " +"usuario y contraseña asociados a esa colección." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:988 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"Shotwell no puede contactar su colección de fotos de Piwigo. Compruebe la " +"URL que ha introducido" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1021 +msgid "Invalid URL" +msgstr "URL no válida" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1222 +msgid "Admins, Family, Friends, Contacts" +msgstr "Administradores, Familia, Amigos, Contactos" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1223 +msgid "Admins, Family, Friends" +msgstr "Administradores, Familia, Amigos" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1224 +msgid "Admins, Family" +msgstr "Administradores, Familia" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1225 +msgid "Admins" +msgstr "Administradores" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Servicios de publicación" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "Co_nfiguración de privacidad de vídeos:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:57 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"No ha iniciado sesión en YouTube.\n" +"\n" +"Debe haber registrado una cuenta de Google y configurarla para utilizarla " +"con YouTube para continuar. Puede configurar la mayoría de cuentas mediante " +"el uso de su navegador para registrarse en el sitio de YouTube al menos una " +"vez." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:362 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"No está disponible un archivo necesario para publicar. La publicación en " +"Youtube no puede continuar." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:461 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "Ha iniciado sesión en YouTube como %s." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:463 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "Los vídeos aparecerán en «%s»" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:495 +msgid "Public listed" +msgstr "Listado públicamente" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public unlisted" +msgstr "No listado públicamente" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "Persianas" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "Ajedrez" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "Círculo" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "Círculos" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "Reloj" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "Desmoronar" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "Desvanecer" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Transiciones de pase de diapositivas" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:75 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "Diapositiva" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "Cuadrados" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "Franjas" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "No se pudo crear la carpeta de caché %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "No se puede crear la carpeta de datos %s: %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "Imágenes" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "No se puede crear la carpeta temporal %s: %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "No se puede crear la subcarpeta de datos %s: %s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "No se pudo hacer que la carpeta %s sea escribible" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "No se pudo hacer escribible la carpeta %s: %s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "Anclar la barra de herramientas" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "Mantener abierta la barra de herramientas" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "Salir de pantalla completa" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "_Contenido" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "_Preguntas más frecuentes" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "_Informar de un problema…" + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1424 src/Dialogs.vala:1447 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_Cancelar" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"Ocurrió un error grave al acceder a la colección de Shotwell. Shotwell no " +"puede continuar.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "Visite la página web de Shotwell" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "No se puede mostrar la ayuda: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "No se pudo navegar en la base de datos de errores: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "No se pudieron mostrar las P+F: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "Éxito" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "Error de archivo" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "No se puede descodificar el archivo" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "Error de la base de datos" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "El usuario canceló la importación" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "No es un archivo" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "El archivo ya existe en la base de datos" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "Formato de archivo no soportado" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "No es un archivo de imagen" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "Fallo en disco" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "Disco lleno" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "Error de la cámara" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "Error de escritura en el archivo" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "Archivo de imagen dañado" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" msgstr "Fallo de importación (%d)" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2635 +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Cámaras" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Cámara" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"No se puede desmontar la cámara. Intente desmontar la cámara desde el gestor " +"de archivos." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Ocultar fotos ya importadas" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Mostrar solo las fotos que no han sido importadas" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "Iniciando la importación, espere un momento…" + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Títulos" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Mostrar el título de cada foto" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "Importar _seleccionadas" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Importar las fotos seleccionadas a su colección" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "Importar tod_as" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Importar todas las fotos a su colección" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Shotwell necesita desmontar la cámara del sistema de archivos con el fin de " +"acceder a ella. ¿Continuar?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_Desmontar" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Desmonte la cámara." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"La cámara está bloqueada por otra aplicación. Shotwell solo puede acceder a " +"la cámara cuando está desbloqueada. Cierre cualquier otra aplicación que " +"esté utilizando la cámara e inténtelo de nuevo." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "Cierre cualquier otra aplicación que esté utilizando la cámara." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"No se pueden obtener previsualizaciones de la cámara:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "Desmontando…" + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "Obteniendo información de la foto" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "Obteniendo previsualización para %s" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "No se puede bloquear la cámara: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "¿Quiere eliminar esta foto de la cámara?" +msgstr[1] "¿Quiere eliminar estas %d fotos de la cámara?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "¿Quiere eliminar esta foto de la cámara?" +msgstr[1] "¿Quiere eliminar estas %d fotos de la cámara?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "¿Quiere eliminar esta foto/vídeo de la cámara?" +msgstr[1] "¿Quiere eliminar estas %d fotos/vídeos de la cámara?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "¿Eliminar este archivo de la cámara?" +msgstr[1] "¿Eliminar estos %d archivos de la cámara?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1391 +msgid "_Keep" +msgstr "_Mantener" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "Eliminando fotos/vídeos de la cámara" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "No se puede eliminar %d foto/vídeo de la cámara, debido a errores." +msgstr[1] "" +"No se pueden eliminar %d fotos/vídeos de la cámara, debido a errores." + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 msgid "S_lideshow" msgstr "_Diapositivas" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2636 +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 msgid "Play a slideshow" msgstr "Iniciar un pase de diapositivas" -#: ../src/CollectionPage.vala:456 +#: src/CollectionPage.vala:456 msgid "Export Photo/Video" msgstr "Exportar foto o vídeo" -#: ../src/CollectionPage.vala:456 +#: src/CollectionPage.vala:456 msgid "Export Photos/Videos" msgstr "Exportar fotos/vídeos" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3209 +#: src/CollectionPage.vala:458 src/Dialogs.vala:58 src/PhotoPage.vala:3209 msgid "Export Photo" msgstr "Exportar foto" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 +#: src/CollectionPage.vala:458 src/Dialogs.vala:87 msgid "Export Photos" msgstr "Exportar fotos" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 msgid "Rotating" msgstr "Girando" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 msgid "Undoing Rotate" msgstr "Deshaciendo el giro" -#: ../src/CollectionPage.vala:570 +#: src/CollectionPage.vala:570 msgid "Flipping Horizontally" msgstr "Volteando horizontalmente" -#: ../src/CollectionPage.vala:571 +#: src/CollectionPage.vala:571 msgid "Undoing Flip Horizontally" msgstr "Deshaciendo volteo horizontal" -#: ../src/CollectionPage.vala:580 +#: src/CollectionPage.vala:580 msgid "Flipping Vertically" msgstr "Volteando verticalmente" -#: ../src/CollectionPage.vala:581 +#: src/CollectionPage.vala:581 msgid "Undoing Flip Vertically" msgstr "Deshaciendo volteo vertical" -#: ../src/Commands.vala:733 +#: src/Commands.vala:737 msgid "Reverting" msgstr "Revirtiendo" -#: ../src/Commands.vala:733 +#: src/Commands.vala:737 msgid "Undoing Revert" msgstr "Deshaciendo reversión" -#: ../src/Commands.vala:777 +#: src/Commands.vala:781 msgid "Enhancing" msgstr "Mejorando" -#: ../src/Commands.vala:777 +#: src/Commands.vala:781 msgid "Undoing Enhance" msgstr "Deshaciendo mejora" -#: ../src/Commands.vala:853 +#: src/Commands.vala:857 msgid "Applying Color Transformations" msgstr "Aplicando transformación de color" -#: ../src/Commands.vala:853 +#: src/Commands.vala:857 msgid "Undoing Color Transformations" msgstr "Deshaciendo transformación de color" -#: ../src/Commands.vala:1003 +#: src/Commands.vala:1007 msgid "Creating New Event" msgstr "Creando un evento nuevo" -#: ../src/Commands.vala:1004 +#: src/Commands.vala:1008 msgid "Removing Event" msgstr "Quitando el evento" -#: ../src/Commands.vala:1013 +#: src/Commands.vala:1017 msgid "Moving Photos to New Event" msgstr "Moviendo fotos a un evento nuevo" -#: ../src/Commands.vala:1014 +#: src/Commands.vala:1018 msgid "Setting Photos to Previous Event" msgstr "Estableciendo fotos al evento anterior" -#: ../src/Commands.vala:1071 +#: src/Commands.vala:1075 msgid "Merging" msgstr "Combinando" -#: ../src/Commands.vala:1072 +#: src/Commands.vala:1076 msgid "Unmerging" msgstr "Deshaciendo la combinación" -#: ../src/Commands.vala:1081 +#: src/Commands.vala:1085 msgid "Duplicating photos" msgstr "Duplicando las fotos" -#: ../src/Commands.vala:1081 +#: src/Commands.vala:1085 msgid "Removing duplicated photos" msgstr "Quitando las fotos duplicadas" -#: ../src/Commands.vala:1104 +#: src/Commands.vala:1108 #, c-format msgid "Unable to duplicate one photo due to a file error" msgid_plural "Unable to duplicate %d photos due to file errors" msgstr[0] "No se puede duplicar una foto debido a un error de archivo" msgstr[1] "No se pueden duplicar %d fotos debido a errores de archivo" -#: ../src/Commands.vala:1191 +#: src/Commands.vala:1195 msgid "Restoring previous rating" msgstr "Restaurar valoración anterior" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: src/Commands.vala:1205 src/Commands.vala:1206 msgid "Increasing ratings" msgstr "Aumentando la valoración" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: src/Commands.vala:1205 src/Commands.vala:1206 msgid "Decreasing ratings" msgstr "Disminuyendo la valoración" -#: ../src/Commands.vala:1252 +#: src/Commands.vala:1256 msgid "Setting RAW developer" msgstr "Configurando el revelador RAW" -#: ../src/Commands.vala:1252 +#: src/Commands.vala:1256 msgid "Restoring previous RAW developer" msgstr "Restaurando el revelador RAW anterior" -#: ../src/Commands.vala:1253 +#: src/Commands.vala:1257 msgid "Set Developer" msgstr "Establecer revelador" -#: ../src/Commands.vala:1343 +#: src/Commands.vala:1347 msgid "Original photo could not be adjusted." msgstr "No se pudo ajustar la foto original." -#: ../src/Commands.vala:1364 +#: src/Commands.vala:1368 msgid "Adjusting Date and Time" msgstr "Ajustar fecha y hora" -#: ../src/Commands.vala:1364 +#: src/Commands.vala:1368 msgid "Undoing Date and Time Adjustment" msgstr "Deshacer ajuste de fecha y hora" -#: ../src/Commands.vala:1395 +#: src/Commands.vala:1399 msgid "One original photo could not be adjusted." msgid_plural "The following original photos could not be adjusted." msgstr[0] "No se pudo modificar una foto original." msgstr[1] "No se pudieron modificar las siguientes fotos originales." -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 +#: src/Commands.vala:1401 src/Commands.vala:1425 msgid "Time Adjustment Error" msgstr "Error al ajustar la hora" -#: ../src/Commands.vala:1419 +#: src/Commands.vala:1423 msgid "Time adjustments could not be undone on the following photo file." msgid_plural "" "Time adjustments could not be undone on the following photo files." @@ -1387,101 +2789,194 @@ msgstr[0] "" msgstr[1] "" "El ajuste de la hora no se puede deshacer en el archivo de la foto siguiente." -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 +#: src/Commands.vala:1637 src/Commands.vala:1660 msgid "Create Tag" msgstr "Crear etiqueta" -#: ../src/Commands.vala:1691 +#: src/Commands.vala:1695 #, c-format msgid "Move Tag \"%s\"" msgstr "Mover etiqueta «%s»" -#: ../src/Commands.vala:2343 +#: src/Commands.vala:2347 msgid "Move Photos to Trash" msgstr "Mover fotos a la papelera" -#: ../src/Commands.vala:2343 +#: src/Commands.vala:2347 msgid "Restore Photos from Trash" msgstr "Restaurar fotos desde la papelera" -#: ../src/Commands.vala:2344 +#: src/Commands.vala:2348 msgid "Move the photos to the Shotwell trash" msgstr "Mover las fotos a la papelera de Shotwell" -#: ../src/Commands.vala:2344 +#: src/Commands.vala:2348 msgid "Restore the photos back to the Shotwell library" msgstr "Restaurar las fotos a la colección de Shotwell" -#: ../src/Commands.vala:2363 +#: src/Commands.vala:2367 msgid "Moving Photos to Trash" msgstr "Mover fotos a la papelera" -#: ../src/Commands.vala:2363 +#: src/Commands.vala:2367 msgid "Restoring Photos From Trash" msgstr "Restaurar fotos desde la papelera" -#: ../src/Commands.vala:2449 +#: src/Commands.vala:2453 msgid "Flag selected photos" msgstr "Marcar las fotos seleccionadas" -#: ../src/Commands.vala:2450 +#: src/Commands.vala:2454 msgid "Unflag selected photos" msgstr "Desmarcar las fotos seleccionadas" -#: ../src/Commands.vala:2451 +#: src/Commands.vala:2455 msgid "Flagging selected photos" msgstr "Marcando las fotos seleccionadas" -#: ../src/Commands.vala:2452 +#: src/Commands.vala:2456 msgid "Unflagging selected photos" msgstr "Desmarcando las fotos seleccionadas" -#: ../src/Commands.vala:2459 +#: src/Commands.vala:2463 msgid "Flag" msgstr "Marcar" -#: ../src/Commands.vala:2459 +#: src/Commands.vala:2463 msgid "Unflag" msgstr "Desmarcar" -#: ../src/DesktopIntegration.vala:121 +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "Base de datos %s" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "" +"La importación desde %s no puede continuar porque ha ocurrido un error:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "" +"Para intentar importar desde otro servicio, seleccione uno desde el menú " +"anterior." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"No tiene ningún complemento de importación de datos activado.\n" +"\n" +"Para utilizar la función Importar desde aplicación, necesita activar al " +"menos un complemento de importación. Puede hacerlo en el cuadro de diálogo " +"Preferencias." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Archivo de base de datos:" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:882 +msgid "_Import" +msgstr "_Importar" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Importar desde aplicación" + +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "Importar medios _desde:" + +#: src/data_imports/DataImportsUI.vala:408 +#: src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "_Cerrar" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Importaciones de datos" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "No se puede abrir/crear base de datos de fotos %s: código de error %d" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"No se pudo escribir el archivo de la base de datos de fotos:\n" +"%s" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"Error al acceder al archivo de la base de datos:\n" +"%s\n" +"\n" +"El error fue:\n" +"%s" + +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "No se pudo restaurar la base de datos de fotos %s" + +#: src/DesktopIntegration.vala:121 #, c-format msgid "Unable to launch Nautilus Send-To: %s" msgstr "No se puede abrir Nautilus Enviar a: %s" -#: ../src/DesktopIntegration.vala:129 +#: src/DesktopIntegration.vala:129 msgid "Send To" msgstr "Enviar a" -#: ../src/DesktopIntegration.vala:174 +#: src/DesktopIntegration.vala:174 #, c-format msgid "Unable to export background to %s: %s" msgstr "No se puede exportar el fondo de pantalla a %s: %s" -#: ../src/DesktopIntegration.vala:311 +#: src/DesktopIntegration.vala:311 #, c-format msgid "Unable to prepare desktop slideshow: %s" msgstr "No se puede preparar el presentación de diapositivas de escritorio: %s" -#: ../src/Dialogs.vala:16 +#: src/Dialogs.vala:16 #, c-format msgid "This will remove the tag \"%s\" from one photo. Continue?" msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" msgstr[0] "Esto eliminará la etiqueta «%s» de una foto. ¿Continuar?" msgstr[1] "Esto eliminará la etiqueta «%s» de %d fotos. ¿Continuar?" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1392 -#: ../src/Resources.vala:158 ../src/Resources.vala:364 -#: ../src/Resources.vala:412 ../src/Resources.vala:677 +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1392 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 msgid "_Delete" msgstr "_Eliminar" -#: ../src/Dialogs.vala:25 +#: src/Dialogs.vala:25 #, c-format msgid "This will remove the saved search \"%s\". Continue?" msgstr "Esto quitará la búsqueda guardada «%s». ¿Quiere continuar?" -#: ../src/Dialogs.vala:35 +#: src/Dialogs.vala:35 msgid "" "Switching developers will undo all changes you have made to this photo in " "Shotwell" @@ -1495,11 +2990,11 @@ msgstr[1] "" "Al cambiar de revelador se desharán todos los cambios que realizó a estas " "fotos en Shotwell" -#: ../src/Dialogs.vala:39 +#: src/Dialogs.vala:39 msgid "_Switch Developer" msgstr "_Cambiar de revelador" -#: ../src/Dialogs.vala:58 +#: src/Dialogs.vala:58 msgid "Export Video" msgstr "Exportar vídeo" @@ -1508,7 +3003,7 @@ msgstr "Exportar vídeo" #. if we can't copy an image over for editing in an external tool. #. Did we fail because we can't write to this directory? #. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 +#: src/Dialogs.vala:115 #, c-format msgid "" "Shotwell couldn't create a file for editing this photo because you do not " @@ -1517,13 +3012,13 @@ msgstr "" "Shotwell no pudo crear un archivo para editar esta foto porque no tiene " "permiso para escribir en %s." -#: ../src/Dialogs.vala:124 +#: src/Dialogs.vala:124 msgid "" "Unable to export the following photo due to a file error.\n" "\n" msgstr "No se puede exportar la siguiente foto debido a un error de archivo.\n" -#: ../src/Dialogs.vala:130 +#: src/Dialogs.vala:130 msgid "" "\n" "\n" @@ -1536,60 +3031,60 @@ msgstr "" #. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really #. aren't formats so much as they are operating modes that determine specific formats. #. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 +#: src/Dialogs.vala:147 msgid "Unmodified" msgstr "Sin modificar" -#: ../src/Dialogs.vala:148 +#: src/Dialogs.vala:148 msgid "Current" msgstr "Actual" #. layout controls -#: ../src/Dialogs.vala:215 +#: src/Dialogs.vala:215 msgid "_Format:" msgstr "_Formato:" -#: ../src/Dialogs.vala:218 +#: src/Dialogs.vala:218 msgid "_Quality:" msgstr "_Calidad:" -#: ../src/Dialogs.vala:221 +#: src/Dialogs.vala:221 msgid "_Scaling constraint:" msgstr "Re_stricción de escala:" -#: ../src/Dialogs.vala:224 +#: src/Dialogs.vala:224 msgid "_Pixels:" msgstr "_Píxeles:" -#: ../src/Dialogs.vala:227 +#: src/Dialogs.vala:227 msgid "Export metadata" msgstr "Exportar metadatos" -#: ../src/Dialogs.vala:461 +#: src/Dialogs.vala:461 msgid "Save Details..." msgstr "Guardar detalles…" -#: ../src/Dialogs.vala:462 +#: src/Dialogs.vala:462 msgid "Save Details" msgstr "Guardar detalles" -#: ../src/Dialogs.vala:477 +#: src/Dialogs.vala:477 #, c-format msgid "(and %d more)\n" msgstr "(y %d más)\n" -#: ../src/Dialogs.vala:530 +#: src/Dialogs.vala:530 msgid "Import Results Report" msgstr "Informe de resultados de importación" -#: ../src/Dialogs.vala:534 +#: src/Dialogs.vala:534 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." msgstr[0] "Se intentó importar %d archivo." msgstr[1] "Se intentaron importar %d archivos." -#: ../src/Dialogs.vala:537 +#: src/Dialogs.vala:537 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." @@ -1599,37 +3094,37 @@ msgstr[1] "De ellos, se importaron %d archivos correctamente." #. #. Duplicates #. -#: ../src/Dialogs.vala:549 +#: src/Dialogs.vala:549 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Fotos/vídeos duplicados no importados:" -#: ../src/Dialogs.vala:553 +#: src/Dialogs.vala:553 msgid "duplicates existing media item" msgstr "duplica el elemento existente" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:564 +#: src/Dialogs.vala:564 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "Fotos/vídeos no importados debido a errores de cámara:" -#: ../src/Dialogs.vala:567 ../src/Dialogs.vala:582 ../src/Dialogs.vala:597 -#: ../src/Dialogs.vala:613 ../src/Dialogs.vala:628 ../src/Dialogs.vala:642 +#: src/Dialogs.vala:567 src/Dialogs.vala:582 src/Dialogs.vala:597 +#: src/Dialogs.vala:613 src/Dialogs.vala:628 src/Dialogs.vala:642 msgid "error message:" msgstr "mensaje de error:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:578 +#: src/Dialogs.vala:578 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "Archivos no importados porque no se reconocieron como fotos o vídeos:" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:593 +#: src/Dialogs.vala:593 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1640,14 +3135,14 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:608 +#: src/Dialogs.vala:608 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" msgstr "" "Fotos/vídeos no importados porque Shotwell no pudo copiarlos a su colección:" -#: ../src/Dialogs.vala:612 +#: src/Dialogs.vala:612 #, c-format msgid "" "couldn't copy %s\n" @@ -1659,39 +3154,39 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:624 +#: src/Dialogs.vala:624 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "No se importaron las fotos/vídeos porque los archivos están dañados:" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:639 +#: src/Dialogs.vala:639 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "Fotos/vídeos no importados por otros motivos:" -#: ../src/Dialogs.vala:659 +#: src/Dialogs.vala:659 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" msgstr[0] "No se importó 1 foto duplicada:\r\n" msgstr[1] "No se importaron %d fotos duplicadas:\r\n" -#: ../src/Dialogs.vala:662 +#: src/Dialogs.vala:662 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" msgstr[0] "No se importó 1 vídeo duplicado:\r\n" msgstr[1] "No se importaron %d vídeos duplicados:\r\n" -#: ../src/Dialogs.vala:665 +#: src/Dialogs.vala:665 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" msgstr[0] "No se importó 1 foto/vídeo duplicado:\r\n" msgstr[1] "No se importaron %d fotos/vídeos duplicados:\r\n" -#: ../src/Dialogs.vala:679 +#: src/Dialogs.vala:679 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1700,7 +3195,7 @@ msgstr[0] "" msgstr[1] "" "Falló al importar %d fotos debido a un error del archivo o de hardware:\n" -#: ../src/Dialogs.vala:682 +#: src/Dialogs.vala:682 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1709,7 +3204,7 @@ msgstr[0] "" msgstr[1] "" "Falló al importar %d vídeos debido a un error del archivo o de hardware:\r\n" -#: ../src/Dialogs.vala:685 +#: src/Dialogs.vala:685 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1721,7 +3216,7 @@ msgstr[1] "" "Falló al importar %d fotos/vídeos debido a un error del archivo o de " "hardware:\r\n" -#: ../src/Dialogs.vala:688 +#: src/Dialogs.vala:688 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1730,7 +3225,7 @@ msgstr[0] "" msgstr[1] "" "Falló al importar %d archivos debido a un error de archivo o de hardware:\n" -#: ../src/Dialogs.vala:702 +#: src/Dialogs.vala:702 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1744,7 +3239,7 @@ msgstr[1] "" "Falló al importar %d fotos porque la carpeta de la colección de fotos no se " "puede escribir:\n" -#: ../src/Dialogs.vala:705 +#: src/Dialogs.vala:705 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1758,7 +3253,7 @@ msgstr[1] "" "Falló al importar %d fotos porque la carpeta de la colección de fotos no se " "puede escribir:\n" -#: ../src/Dialogs.vala:708 +#: src/Dialogs.vala:708 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1773,7 +3268,7 @@ msgstr[1] "" "Falló al importar %d fotos/vídeos porque la carpeta de la colección de fotos " "no se puede escribir:\n" -#: ../src/Dialogs.vala:711 +#: src/Dialogs.vala:711 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1787,56 +3282,56 @@ msgstr[1] "" "Falló la importación de %d archivos porque no se puede escribir en la " "colección de fotos:\n" -#: ../src/Dialogs.vala:725 +#: src/Dialogs.vala:725 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" msgstr[0] "Falló al importar 1 foto/vídeo debido a un error de la cámara:\n" msgstr[1] "Falló al importar %d fotos debido a un error de la cámara:\n" -#: ../src/Dialogs.vala:728 +#: src/Dialogs.vala:728 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" msgstr[0] "Falló al importar 1 foto/vídeo debido a un error de la cámara:\n" msgstr[1] "Falló al importar %d vídeos debido a un error de la cámara:\n" -#: ../src/Dialogs.vala:731 +#: src/Dialogs.vala:731 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" msgstr[0] "Falló al importar 1 foto/vídeo debido a un error de la cámara:\n" msgstr[1] "Falló al importar %d foto/vídeo debido a un error de la cámara:\n" -#: ../src/Dialogs.vala:734 +#: src/Dialogs.vala:734 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" msgstr[0] "Falló al importar 1 archivo debido a un error de la cámara: \n" msgstr[1] "Falló al importar %d archivor debido a un error de la cámara: \n" -#: ../src/Dialogs.vala:748 +#: src/Dialogs.vala:748 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" msgstr[0] "No se pudo importar una foto porque está dañada:\n" msgstr[1] "No se pudieron importar %d fotos porque están dañadas:\n" -#: ../src/Dialogs.vala:751 +#: src/Dialogs.vala:751 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" msgstr[0] "No se pudo importar un vídeo porque está dañado:\n" msgstr[1] "No se pudieron importar %d vídeos porque están dañados:\n" -#: ../src/Dialogs.vala:754 +#: src/Dialogs.vala:754 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" msgstr[0] "No se pudo importar 1 foto/vídeo porque está dañado:\n" msgstr[1] "No se pudieron importar %d fotos/vídeos porque están dañados:\n" -#: ../src/Dialogs.vala:757 +#: src/Dialogs.vala:757 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1847,7 +3342,7 @@ msgstr[1] "No se pudieron importar %d archivos porque están dañados:\n" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:774 +#: src/Dialogs.vala:774 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1856,56 +3351,56 @@ msgstr[1] "Se omitieron %d fotos no compatibles:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:789 +#: src/Dialogs.vala:789 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" msgstr[0] "Se omitió 1 archivo que no era una imagen.\n" msgstr[1] "Se omitieron %d archivos que no eran imágenes.\n" -#: ../src/Dialogs.vala:800 +#: src/Dialogs.vala:800 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" msgstr[0] "Se omitió 1 foto debido a la cancelación del usuario:\n" msgstr[1] "Se omitieron %d fotos debido a la cancelación del usuario:\n" -#: ../src/Dialogs.vala:803 +#: src/Dialogs.vala:803 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" msgstr[0] "Se omitió 1 vídeo debido a la cancelación del usuario:\n" msgstr[1] "Se omitieron %d vídeos debido a la cancelación del usuario:\n" -#: ../src/Dialogs.vala:806 +#: src/Dialogs.vala:806 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" msgstr[0] "Se omitió 1 foto/vídeo debido a la cancelación del usuario:\n" msgstr[1] "Se omitieron %d fotos/vídeos debido a la cancelación del usuario:\n" -#: ../src/Dialogs.vala:809 +#: src/Dialogs.vala:809 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" msgstr[0] "Se omitió 1 archivo debido a la cancelación del usuario:\n" msgstr[1] "Se omitieron %d archivos debido a la cancelación del usuario:\n" -#: ../src/Dialogs.vala:823 +#: src/Dialogs.vala:823 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" msgstr[0] "1 foto correctamente importada.\n" msgstr[1] "%d fotos importadas correctamente.\n" -#: ../src/Dialogs.vala:826 +#: src/Dialogs.vala:826 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" msgstr[0] "1 vídeo correctamente importado.\n" msgstr[1] "%d vídeos importados correctamente.\n" -#: ../src/Dialogs.vala:829 +#: src/Dialogs.vala:829 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1914,93 +3409,89 @@ msgstr[1] "%d fotos/vídeos importados correctamente.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:845 +#: src/Dialogs.vala:845 msgid "No photos or videos imported.\n" msgstr "No se importó ninguna foto o vídeo.\n" -#: ../src/Dialogs.vala:852 ../src/Dialogs.vala:871 +#: src/Dialogs.vala:852 src/Dialogs.vala:871 msgid "Import Complete" msgstr "Importación completa" -#: ../src/Dialogs.vala:1157 +#: src/Dialogs.vala:1157 #, c-format msgid "%d second" msgid_plural "%d seconds" msgstr[0] "%d segundo" msgstr[1] "%d segundos" -#: ../src/Dialogs.vala:1160 +#: src/Dialogs.vala:1160 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minuto" msgstr[1] "%d minutos" -#: ../src/Dialogs.vala:1164 +#: src/Dialogs.vala:1164 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hora" msgstr[1] "%d horas" -#: ../src/Dialogs.vala:1167 +#: src/Dialogs.vala:1167 msgid "1 day" msgstr "1 día" -#: ../src/Dialogs.vala:1321 ../src/Resources.vala:231 +#: src/Dialogs.vala:1321 src/Resources.vala:231 msgid "Rename Event" msgstr "Renombrar evento" -#: ../src/Dialogs.vala:1321 +#: src/Dialogs.vala:1321 msgid "Name:" msgstr "Nombre:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1332 ../src/Resources.vala:303 +#: src/Dialogs.vala:1332 +msgctxt "Dialog Title" msgid "Edit Title" msgstr "Editar título" -#: ../src/Dialogs.vala:1333 ../src/Properties.vala:340 +#: src/Dialogs.vala:1333 src/Properties.vala:340 msgid "Title:" msgstr "Título:" #. Dialog title -#: ../src/Dialogs.vala:1349 ../src/Resources.vala:310 +#: src/Dialogs.vala:1349 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Editar comentario de evento" -#: ../src/Dialogs.vala:1350 +#: src/Dialogs.vala:1350 msgid "Edit Photo/Video Comment" msgstr "Editar comentario de foto/vídeo" -#: ../src/Dialogs.vala:1351 ../src/Properties.vala:628 +#: src/Dialogs.vala:1351 src/Properties.vala:628 msgid "Comment:" msgstr "Comentario:" -#: ../src/Dialogs.vala:1367 +#: src/Dialogs.vala:1367 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "Eliminar archivo y mover a la _papelera" msgstr[1] "Eliminar archivos y mover a la _papelera" -#: ../src/Dialogs.vala:1371 +#: src/Dialogs.vala:1371 msgid "_Remove From Library" msgstr "_Quitar de la colección" -#: ../src/Dialogs.vala:1391 ../src/camera/ImportPage.vala:1740 -msgid "_Keep" -msgstr "_Mantener" - -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1414 msgid "Revert External Edit?" msgstr "¿Revertir las ediciones externas?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1414 msgid "Revert External Edits?" msgstr "¿Revertir ediciones externas?" -#: ../src/Dialogs.vala:1416 +#: src/Dialogs.vala:1416 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -2012,87 +3503,87 @@ msgstr[1] "" "Esto destruirá todos los cambios realizados en los %d archivos externos. " "¿Continuar?" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1420 msgid "Re_vert External Edit" msgstr "Re_vertir edición externa" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1420 msgid "Re_vert External Edits" msgstr "Re_vertir ediciones externas" -#: ../src/Dialogs.vala:1441 +#: src/Dialogs.vala:1441 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" msgstr[0] "Esto quitará la foto de la colección. ¿Continuar?" msgstr[1] "Esto quitará las %d fotos de la colección. ¿Continuar?" -#: ../src/Dialogs.vala:1448 ../src/Resources.vala:173 +#: src/Dialogs.vala:1448 src/Resources.vala:173 msgid "_Remove" msgstr "_Quitar" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1449 msgid "Remove Photo From Library" msgstr "Quitar la foto de la colección" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1449 msgid "Remove Photos From Library" msgstr "Quitar fotos de la colección" -#: ../src/Dialogs.vala:1542 +#: src/Dialogs.vala:1542 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1696 +#: src/Dialogs.vala:1696 msgid "AM" msgstr "a.m." -#: ../src/Dialogs.vala:1697 +#: src/Dialogs.vala:1697 msgid "PM" msgstr "p.m." -#: ../src/Dialogs.vala:1698 +#: src/Dialogs.vala:1698 msgid "24 Hr" msgstr "24 hrs." -#: ../src/Dialogs.vala:1713 +#: src/Dialogs.vala:1713 msgid "_Shift photos/videos by the same amount" msgstr "_Desplazar todas las fotos y/o vídeos la misma cantidad" -#: ../src/Dialogs.vala:1718 +#: src/Dialogs.vala:1718 msgid "Set _all photos/videos to this time" msgstr "Ajustar _todas las fotos y/o vídeos a esta hora" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1725 msgid "_Modify original photo file" msgstr "_Modificar archivo de foto original" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1725 msgid "_Modify original photo files" msgstr ":Modificar archivos de fotos originales" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1728 msgid "_Modify original file" msgstr "_Modificar archivos originales" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1728 msgid "_Modify original files" msgstr "_Modificar archivos originales" -#: ../src/Dialogs.vala:1814 +#: src/Dialogs.vala:1814 msgid "Original: " msgstr "Original:" -#: ../src/Dialogs.vala:1815 +#: src/Dialogs.vala:1815 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d/%m/%Y, %H:%M:%S" -#: ../src/Dialogs.vala:1816 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d/%m/%Y, %H:%M:%S %p" -#: ../src/Dialogs.vala:1905 +#: src/Dialogs.vala:1905 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2101,7 +3592,7 @@ msgstr "" "El tiempo de exposición se adelantará por\n" "%d %s, %d %s, %d %s, y %d %s." -#: ../src/Dialogs.vala:1906 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2110,31 +3601,31 @@ msgstr "" "El tiempo de exposición se atrasará por\n" "%d %s, %d %s, %d %s, y %d %s." -#: ../src/Dialogs.vala:1908 +#: src/Dialogs.vala:1908 msgid "day" msgid_plural "days" msgstr[0] "día" msgstr[1] "días" -#: ../src/Dialogs.vala:1909 +#: src/Dialogs.vala:1909 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: ../src/Dialogs.vala:1910 +#: src/Dialogs.vala:1910 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../src/Dialogs.vala:1911 +#: src/Dialogs.vala:1911 msgid "second" msgid_plural "seconds" msgstr[0] "segundo" msgstr[1] "segundos" -#: ../src/Dialogs.vala:1955 +#: src/Dialogs.vala:1955 #, c-format msgid "" "\n" @@ -2153,91 +3644,91 @@ msgstr[1] "" "\n" "Y %d más." -#: ../src/Dialogs.vala:1977 ../src/Dialogs.vala:2004 +#: src/Dialogs.vala:1979 src/Dialogs.vala:2006 msgid "Tags (separated by commas):" msgstr "Etiquetas (separadas por comas):" -#: ../src/Dialogs.vala:2084 +#: src/Dialogs.vala:2086 msgid "Welcome!" msgstr "Bienvenido/a" -#: ../src/Dialogs.vala:2091 +#: src/Dialogs.vala:2093 msgid "Welcome to Shotwell!" msgstr "Bienvenido/a a Shotwell." -#: ../src/Dialogs.vala:2095 +#: src/Dialogs.vala:2097 msgid "To get started, import photos in any of these ways:" msgstr "Para comenzar, importe fotos de cualquiera de las siguientes formas:" -#: ../src/Dialogs.vala:2114 +#: src/Dialogs.vala:2116 #, c-format msgid "Choose File %s Import From Folder" msgstr "Elija Archivo %s Importar desde carpeta" -#: ../src/Dialogs.vala:2115 +#: src/Dialogs.vala:2117 msgid "Drag and drop photos onto the Shotwell window" msgstr "Arrastre y suelte fotos en la ventana de Shotwell" -#: ../src/Dialogs.vala:2116 +#: src/Dialogs.vala:2118 msgid "Connect a camera to your computer and import" msgstr "Conecte una cámara al equipo e importe" -#: ../src/Dialogs.vala:2126 +#: src/Dialogs.vala:2128 #, c-format msgid "_Import photos from your %s folder" msgstr "_Importar fotos desde su carpeta %s" -#: ../src/Dialogs.vala:2133 +#: src/Dialogs.vala:2135 msgid "You can also import photos in any of these ways:" msgstr "También puede importar fotos en cualquiera de estas formas:" -#: ../src/Dialogs.vala:2143 +#: src/Dialogs.vala:2145 msgid "_Don't show this message again" msgstr "_No mostrar este mensaje de nuevo" -#: ../src/Dialogs.vala:2178 +#: src/Dialogs.vala:2180 #, c-format msgid "Import photos from your %s library" msgstr "Importar fotos desde su colección %s" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2325 ../src/Dialogs.vala:2329 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2327 src/Dialogs.vala:2331 msgid "(Help)" msgstr "(Ayuda)" -#: ../src/Dialogs.vala:2338 +#: src/Dialogs.vala:2340 #, c-format msgid "Year%sMonth%sDay" msgstr "Año%sMes%sDía" -#: ../src/Dialogs.vala:2340 +#: src/Dialogs.vala:2342 #, c-format msgid "Year%sMonth" msgstr "Año%sMes" -#: ../src/Dialogs.vala:2342 +#: src/Dialogs.vala:2344 #, c-format msgid "Year%sMonth-Day" msgstr "Año%sMes-Día" -#: ../src/Dialogs.vala:2344 +#: src/Dialogs.vala:2346 msgid "Year-Month-Day" msgstr "Año-Mes-Día" -#: ../src/Dialogs.vala:2345 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2347 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Personalizado" #. Invalid pattern. -#: ../src/Dialogs.vala:2582 +#: src/Dialogs.vala:2584 msgid "Invalid pattern" msgstr "Patrón no válido" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2684 +#: src/Dialogs.vala:2686 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2245,31 +3736,31 @@ msgstr "" "Shotwell puede copiar las fotos en su colección o puede importarlas sin " "copiarlas." -#: ../src/Dialogs.vala:2689 +#: src/Dialogs.vala:2691 msgid "Co_py Photos" msgstr "C_opiar fotos" -#: ../src/Dialogs.vala:2690 +#: src/Dialogs.vala:2692 msgid "_Import in Place" msgstr "_Importar en el lugar" -#: ../src/Dialogs.vala:2691 +#: src/Dialogs.vala:2693 msgid "Import to Library" msgstr "Importar a la colección" -#: ../src/Dialogs.vala:2701 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2703 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Quitar de la colección" -#: ../src/Dialogs.vala:2702 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2704 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "Quitando la foto de la colección" -#: ../src/Dialogs.vala:2702 +#: src/Dialogs.vala:2704 msgid "Removing Photos From Library" msgstr "Quitando fotos de la colección" -#: ../src/Dialogs.vala:2716 +#: src/Dialogs.vala:2718 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2292,7 +3783,7 @@ msgstr[1] "" "\n" "Esta acción no se puede deshacer." -#: ../src/Dialogs.vala:2720 +#: src/Dialogs.vala:2722 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2313,2775 +3804,2536 @@ msgstr[1] "" "Esto quitará los %d vídeos de su colección de Shotwell. ¿Le gustaría mover " "los archivos a la papelera del escritorio?\n" "\n" -"Esta acción no se puede deshacer." - -#: ../src/Dialogs.vala:2724 -#, c-format -msgid "" -"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." -msgid_plural "" -"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." -msgstr[0] "" -"Esto quitará la foto de su colección de Shotwell. ¿Le gustaría mover el " -"archivo a la papelera del escritorio?\n" -"\n" -"Esta acción no se puede deshacer." -msgstr[1] "" -"Esto quitará %d fotos de su colección de Shotwell. ¿Le gustaría mover los " -"archivos a la papelera del escritorio?\n" -"\n" -"Esta acción no se puede deshacer." - -#: ../src/Dialogs.vala:2756 -#, c-format -msgid "" -"The photo or video cannot be moved to your desktop trash. Delete this file?" -msgid_plural "" -"%d photos/videos cannot be moved to your desktop trash. Delete these files?" -msgstr[0] "" -"No se puede mover la foto o el vídeo a la papelera de su escritorio. " -"¿Eliminar este archivo?" -msgstr[1] "" -"No se pueden mover las %d fotos o vídeos a la papelera de su escritorio. " -"¿Eliminar estos archivos?" - -#. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2773 -#, c-format -msgid "The photo or video cannot be deleted." -msgid_plural "%d photos/videos cannot be deleted." -msgstr[0] "No se puede eliminar la foto o el vídeo." -msgstr[1] "No se pueden eliminar las %d fotos o vídeos." - -#: ../src/Dimensions.vala:23 -msgid "Width" -msgstr "Anchura" - -#: ../src/Dimensions.vala:26 -msgid "Height" -msgstr "Altura" - -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "No se puede monitorizar %s: No es un directorio (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Evento %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "No se puede crear el directorio temporal %s: %s" - -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "Exportando" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "El archivo %s ya existe. ¿Quiere reemplazarlo?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_Omitir" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "_Reemplazar" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "Reempla_zar todo" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Exportar" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "No se pueden procesar las actualizaciones de la monitorización %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Ajustar el tamaño de las miniaturas" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2591 -#: ../src/Resources.vala:183 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "_Ampliar" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Aumentar la ampliación de las miniaturas" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2597 -#: ../src/Resources.vala:184 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "Re_ducir" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Disminuir la ampliación de las miniaturas" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "Ordenar _fotos" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "_Reproducir vídeo" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "Abrir los vídeos seleccionados en el reproductor de vídeos del sistema" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2640 -msgid "_Developer" -msgstr "_Revelador" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:710 ../src/camera/ImportPage.vala:726 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Cámara" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:873 -msgid "_Titles" -msgstr "_Títulos" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:874 -msgid "Display the title of each photo" -msgstr "Mostrar el título de cada foto" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "_Comentarios" - -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Mostrar el comentario de cada foto" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:359 -msgid "Ta_gs" -msgstr "_Etiquetas" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Mostrar la etiqueta de cada foto" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Por _título" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Ordenar las fotos por título" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "Por fecha de exposición" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Ordenar fotos por fecha de exposición" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Por p_untuación" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Ordenar fotos por puntuación" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Por _nombre del archivo" - -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Ordenar fotos por nombre" - -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:405 -msgid "_Ascending" -msgstr "_Ascendente" - -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:406 -msgid "Sort photos in an ascending order" -msgstr "Ordenar fotos en orden ascendente" - -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:412 -msgid "D_escending" -msgstr "D_escendente" +"Esta acción no se puede deshacer." -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:413 -msgid "Sort photos in a descending order" -msgstr "Ordenar fotos en orden descendente" +#: src/Dialogs.vala:2726 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +"Esto quitará la foto de su colección de Shotwell. ¿Le gustaría mover el " +"archivo a la papelera del escritorio?\n" +"\n" +"Esta acción no se puede deshacer." +msgstr[1] "" +"Esto quitará %d fotos de su colección de Shotwell. ¿Le gustaría mover los " +"archivos a la papelera del escritorio?\n" +"\n" +"Esta acción no se puede deshacer." -#: ../src/MediaPage.vala:723 +#: src/Dialogs.vala:2758 #, c-format msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"Shotwell no pudo reproducir el vídeo seleccionado:\n" -"%s" +"The photo or video cannot be moved to your desktop trash. Delete this file?" +msgid_plural "" +"%d photos/videos cannot be moved to your desktop trash. Delete these files?" +msgstr[0] "" +"No se puede mover la foto o el vídeo a la papelera de su escritorio. " +"¿Eliminar este archivo?" +msgstr[1] "" +"No se pueden mover las %d fotos o vídeos a la papelera de su escritorio. " +"¿Eliminar estos archivos?" -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "No hay fotos/vídeos" +#. Alert the user that the files were not removed. +#: src/Dialogs.vala:2775 +#, c-format +msgid "The photo or video cannot be deleted." +msgid_plural "%d photos/videos cannot be deleted." +msgstr[0] "No se puede eliminar la foto o el vídeo." +msgstr[1] "No se pueden eliminar las %d fotos o vídeos." -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "No se encontraron fotos/vídeos" +#: src/Dimensions.vala:23 +msgid "Width" +msgstr "Anchura" -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "No se pueden exportar las fotos a este directorio." +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "Altura" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "modificada" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Archivo" -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Foto anterior" +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "_Guardar" -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Siguiente foto" +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Guardar la foto" -#: ../src/PhotoPage.vala:1845 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Falta el archivo de origen de la foto: %s" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "G_uardar como…" -#: ../src/PhotoPage.vala:2412 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:343 -msgid "_View" -msgstr "_Ver" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Guardar la foto con un nombre diferente" + +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Imprimir la foto en una impresora conectada a su equipo" + +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "_Editar" + +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_Foto" -#: ../src/PhotoPage.vala:2416 ../src/direct/DirectPhotoPage.vala:81 +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 msgid "T_ools" msgstr "_Herramientas" -#: ../src/PhotoPage.vala:2421 ../src/direct/DirectPhotoPage.vala:86 +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "Foto _anterior" -#: ../src/PhotoPage.vala:2422 ../src/direct/DirectPhotoPage.vala:87 +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "Foto anterior" -#: ../src/PhotoPage.vala:2427 ../src/direct/DirectPhotoPage.vala:92 +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "_Siguiente foto" -#: ../src/PhotoPage.vala:2428 ../src/direct/DirectPhotoPage.vala:93 +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "Siguiente foto" -#: ../src/PhotoPage.vala:2592 ../src/direct/DirectPhotoPage.vala:175 +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Ver" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "Ay_uda" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "_Ampliar" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "Aumentar la ampliación de la foto" -#: ../src/PhotoPage.vala:2598 ../src/direct/DirectPhotoPage.vala:181 +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "Re_ducir" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "Reducir la ampliación de la foto" -#: ../src/PhotoPage.vala:2603 ../src/direct/DirectPhotoPage.vala:186 +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "Aj_ustar a la página" -#: ../src/PhotoPage.vala:2604 ../src/direct/DirectPhotoPage.vala:187 +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "Aumentar la foto hasta ajustar a la pantalla" -#: ../src/PhotoPage.vala:2610 ../src/direct/DirectPhotoPage.vala:193 +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "Ampliar al _100%" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:195 +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Ampliar la foto al 100%" -#: ../src/PhotoPage.vala:2618 ../src/direct/DirectPhotoPage.vala:201 +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "Ampliar al _200%" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:203 +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Ampliar la foto al 200%" -#: ../src/PhotoPage.vala:3229 +#: src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "Unable to export %s: %s" -msgstr "No se puede exportar %s: %s" - -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Llenar la página entera" - -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 imágenes por página" - -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 imágenes por página" - -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 imágenes por página" - -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 imágenes por página" - -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 imágenes por página" - -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 imágenes por página" - -#: ../src/Printing.vala:348 -msgid "in." -msgstr "pulg." - -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" - -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 -msgid "Wallet (2 x 3 in.)" -msgstr "Cartera (2 × 3 pulg.)" - -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 -msgid "Notecard (3 x 5 in.)" -msgstr "Tarjeta de notas (3 × 5 pulg.)" - -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 -msgid "4 x 6 in." -msgstr "4 × 6 pulg." - -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 -msgid "5 x 7 in." -msgstr "5 × 7 pulg." - -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 -msgid "8 x 10 in." -msgstr "8 × 10 pulg." - -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 -msgid "11 x 14 in." -msgstr "11 × 14 pulg." - -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 -msgid "16 x 20 in." -msgstr "16 × 20 pulg." - -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 -msgid "Metric Wallet (9 x 13 cm)" -msgstr "Cartera métrica (9 × 13 cm)" - -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 -msgid "Postcard (10 x 15 cm)" -msgstr "Tarjeta postal (10 × 15 cm)" - -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 -msgid "13 x 18 cm" -msgstr "13 × 18 cm" - -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 -msgid "18 x 24 cm" -msgstr "18 × 24 cm" - -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 -msgid "20 x 30 cm" -msgstr "20 × 30 cm" - -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 -msgid "24 x 40 cm" -msgstr "24 × 40 cm" - -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 -msgid "30 x 40 cm" -msgstr "30 × 40 cm" - -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Ajustes de la imagen" +msgid "%s does not exist." +msgstr "%s no existe." -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "Imprimiendo…" +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s no es un archivo." -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 +#: src/direct/DirectPhotoPage.vala:231 #, c-format msgid "" -"Unable to print photo:\n" -"\n" -"%s" +"%s does not support the file format of\n" +"%s." msgstr "" -"No se puede imprimir la foto:\n" -"\n" -"%s" - -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Hoy" - -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Ayer" - -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:311 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" - -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Elementos:" +"%s no es compatible con el formato de archivo de\n" +"%s." -#: ../src/Properties.vala:346 +#: src/direct/DirectPhotoPage.vala:248 #, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d evento" -msgstr[1] "%d eventos" +msgid "Unable open photo %s. Sorry." +msgstr "No se puede abrir la foto %s." -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 -#, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "%d foto" -msgstr[1] "%d fotos" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "_Guardar una copia" -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 +#: src/direct/DirectPhotoPage.vala:435 #, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d vídeo" -msgstr[1] "%d vídeos" - -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Fecha:" - -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Hora:" - -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "De:" - -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "A:" - -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1872 -msgid "Size:" -msgstr "Tamaño:" +msgid "Lose changes to %s?" +msgstr "¿Quiere descartar los cambios a %s?" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Duración:" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Cerrar _sin guardar" -#: ../src/Properties.vala:404 +#: src/direct/DirectPhotoPage.vala:469 #, c-format -msgid "%.1f seconds" -msgstr "%.1f segundos" +msgid "Error while saving to %s: %s" +msgstr "Error al guardar en %s: %s" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Revelador:" +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Guardar como" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2240 -msgid "Exposure:" -msgstr "Exposición:" +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 +#, c-format +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "No se puede monitorizar %s: No es un directorio (%s)" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Ubicación:" +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Volver a las dimensiones actuales de la foto" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Tamaño del archivo:" +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Establecer el corte para esta foto" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Desarrollo actual:" +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "" +"Girar el rectángulo de corte entre las orientaciones vertical y horizontal" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Dimensiones originales:" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Sin restricciones" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Cámara:" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Cuadrado" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Modelo de la cámara:" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Pantalla" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Flash:" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Longitud focal:" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "Vídeo SD (4:3)" -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Fecha de exposición:" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "Vídeo HD (16:9)" -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Tiempo de exposición:" +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "Cartera (2 × 3 pulg.)" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Exposición:" +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "Tarjeta de notas (3 × 5 pulg.)" -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "Latitud GPS:" +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "4 × 6 pulg." -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "Longitud GPS:" +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "5 × 7 pulg." -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Artista:" +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "8 × 10 pulg." -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Copyright:" +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Carta (8.5 × 11 pulg.)" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Software:" +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "11 × 14 pulg." -#: ../src/Properties.vala:641 -msgid "Extended Information" -msgstr "Información extendida" +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloide (11 × 17 pulg.)" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Gestor de fotos" +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "16 × 20 pulg." -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Visor de fotos" +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "Cartera métrica (9 × 13 cm)" -#: ../src/Resources.vala:139 -msgid "Rotate _Right" -msgstr "Girar a la _derecha" +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "Tarjeta postal (10 × 15 cm)" -#: ../src/Resources.vala:140 ../src/Resources.vala:145 -msgid "Rotate" -msgstr "Girar" +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "13 × 18 cm" -#: ../src/Resources.vala:141 -msgid "Rotate Right" -msgstr "Girar a la derecha" +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "18 × 24 cm" -#: ../src/Resources.vala:142 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "Girar las fotos a la derecha (oprima Ctrl para girar a la izquierda)" +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 × 297 mm)" -#: ../src/Resources.vala:144 -msgid "Rotate _Left" -msgstr "Girar a la izq_uierda" +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "20 × 30 cm" -#: ../src/Resources.vala:146 -msgid "Rotate Left" -msgstr "Girar a la izquierda" +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "24 × 40 cm" -#: ../src/Resources.vala:147 -msgid "Rotate the photos left" -msgstr "Girar las fotos a la izquierda" +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "30 × 40 cm" -#: ../src/Resources.vala:149 -msgid "Flip Hori_zontally" -msgstr "Voltear hori_zontalmente" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297 × 420 mm)" -#: ../src/Resources.vala:150 -msgid "Flip Horizontally" -msgstr "Voltear horizontalmente" +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "Tamaño:" -#: ../src/Resources.vala:152 -msgid "Flip Verti_cally" -msgstr "Voltear _verticalmente" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Cerrar la herramienta de ojos rojos" -#: ../src/Resources.vala:153 -msgid "Flip Vertically" -msgstr "Voltear verticalmente" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Quitar cualquier efecto de ojos rojos en la región seleccionada" -#: ../src/Resources.vala:155 -msgid "_About" -msgstr "_Acerca de" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_Restablecer" -#: ../src/Resources.vala:156 -msgid "_Apply" -msgstr "_Aplicar" +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "Exposición:" -#: ../src/Resources.vala:159 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:339 -msgid "_Edit" -msgstr "_Editar" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Saturación:" -#: ../src/Resources.vala:160 -msgid "_Forward" -msgstr "_Adelante" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Matiz:" -#: ../src/Resources.vala:161 -msgid "Fulls_creen" -msgstr "Pantalla c_ompleta" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Temperatura:" -#: ../src/Resources.vala:162 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:363 -msgid "_Help" -msgstr "Ay_uda" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Sombras:" -#: ../src/Resources.vala:163 -msgid "Leave _Fullscreen" -msgstr "Salir de pantalla co_mpleta" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Resaltadas:" -#: ../src/Resources.vala:164 ../src/Resources.vala:366 -msgid "_New" -msgstr "_Nueva" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Restablecer colores" -#: ../src/Resources.vala:165 -msgid "_Next" -msgstr "_Siguiente" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Restablecer todos los ajustes de color al original" -#: ../src/Resources.vala:166 -msgid "_OK" -msgstr "_Aceptar" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Temperatura" -#: ../src/Resources.vala:167 -msgid "_Play" -msgstr "_Reproducir" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Matiz" -#: ../src/Resources.vala:168 ../src/Resources.vala:320 -msgid "_Preferences" -msgstr "_Preferencias" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Saturación" -#: ../src/Resources.vala:169 -msgid "_Previous" -msgstr "_Anterior" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Exposición" -#: ../src/Resources.vala:170 -msgid "_Print" -msgstr "_Imprimir" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Sombras" -#: ../src/Resources.vala:171 -msgid "_Quit" -msgstr "_Salir" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Resaltadas" -#: ../src/Resources.vala:172 -msgid "_Refresh" -msgstr "_Actualizar" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Expansión de contraste" -#: ../src/Resources.vala:174 -msgid "_Revert" -msgstr "_Revertir" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Ángulo:" -#: ../src/Resources.vala:175 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save" -msgstr "_Guardar" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "_Enderezar" -#: ../src/Resources.vala:176 -msgid "Save _As" -msgstr "Guardar _como" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "Eventos" -#: ../src/Resources.vala:177 -msgid "Sort _Ascending" -msgstr "Ordenar _ascendentemente" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d foto/vídeo" +msgstr[1] "%d fotos/vídeos" -#: ../src/Resources.vala:178 -msgid "Sort _Descending" -msgstr "Ordenar d_escendentemente" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d vídeo" +msgstr[1] "%d vídeos" -#: ../src/Resources.vala:179 -msgid "_Stop" -msgstr "_Detener" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "%d foto" +msgstr[1] "%d fotos" -#: ../src/Resources.vala:180 -msgid "_Undelete" -msgstr "_Recuperar" +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "No hay eventos" -#: ../src/Resources.vala:181 -msgid "_Normal Size" -msgstr "Tamaño _normal" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "_Comentarios" -#: ../src/Resources.vala:182 -msgid "Best _Fit" -msgstr "_Mejor ajuste" +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Mostrar el comentario de cada evento" -#: ../src/Resources.vala:186 -msgid "_Enhance" -msgstr "M_ejorar" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "No hay eventos" -#: ../src/Resources.vala:187 -msgid "Enhance" -msgstr "Mejorar" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "No se encontraron eventos" -#: ../src/Resources.vala:188 -msgid "Automatically improve the photo's appearance" -msgstr "Mejorar automáticamente la apariencia de la foto" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Todos los eventos" -#: ../src/Resources.vala:190 -msgid "_Copy Color Adjustments" -msgstr "_Copiar ajustes de color" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Sin fecha" -#: ../src/Resources.vala:191 -msgid "Copy Color Adjustments" -msgstr "Copiar ajustes de color" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:192 -msgid "Copy the color adjustments applied to the photo" -msgstr "Copiar los ajustes de color aplicados a la foto" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Resources.vala:194 -msgid "_Paste Color Adjustments" -msgstr "_Pegar ajustes de color" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Evento %s" -#: ../src/Resources.vala:195 -msgid "Paste Color Adjustments" -msgstr "Pegar ajustes de color" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "No se puede crear el directorio temporal %s: %s" -#: ../src/Resources.vala:196 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Aplicar ajuste de color copiado a las fotos seleccionadas" +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "Exportando" -#: ../src/Resources.vala:198 -msgid "_Crop" -msgstr "Re_cortar" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "El archivo %s ya existe. ¿Quiere reemplazarlo?" -#: ../src/Resources.vala:199 -msgid "Crop" -msgstr "Recortar" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "_Omitir" -#: ../src/Resources.vala:200 -msgid "Crop the photo's size" -msgstr "Recortar el tamaño de la foto" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "_Reemplazar" -#: ../src/Resources.vala:202 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "_Enderezar" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "Reempla_zar todo" -#: ../src/Resources.vala:203 -msgid "Straighten" -msgstr "Enderezar" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "Exportar" -#: ../src/Resources.vala:204 -msgid "Straighten the photo" -msgstr "Enderezar la foto" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Carpetas" -#: ../src/Resources.vala:206 -msgid "_Red-eye" -msgstr "Ojos _rojos" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "Colección" -#: ../src/Resources.vala:207 -msgid "Red-eye" -msgstr "Ojos rojos" +#: src/library/Branch.vala:97 src/SearchFilter.vala:594 +#: src/SearchFilter.vala:595 +msgid "Photos" +msgstr "Fotos" -#: ../src/Resources.vala:208 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Reducir o eliminar cualquier efecto de ojos rojos en la foto" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:588 +#: src/SearchFilter.vala:589 src/SearchFilter.vala:988 +msgid "Flagged" +msgstr "Marcada" -#: ../src/Resources.vala:210 -msgid "_Adjust" -msgstr "_Ajuste" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "Importando…" -#: ../src/Resources.vala:211 -msgid "Adjust" -msgstr "Ajuste" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "_Detener importación" -#: ../src/Resources.vala:212 -msgid "Adjust the photo's color and tone" -msgstr "Ajustar el color y el tono de la foto" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Detener la importación de fotos" -#: ../src/Resources.vala:214 -msgid "Re_vert to Original" -msgstr "_Volver al original" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "Preparando importación…" -#: ../src/Resources.vala:215 -msgid "Revert to Original" -msgstr "Volver al original" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "Importada %s" -#: ../src/Resources.vala:217 -msgid "Revert External E_dits" -msgstr "Revertir e_diciones externas" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Última importación" -#: ../src/Resources.vala:218 -msgid "Revert to the master photo" -msgstr "Revertir a la foto original" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "_Importar desde carpeta…" -#: ../src/Resources.vala:220 -msgid "Set as _Desktop Background" -msgstr "Establecer como fondo _de escritorio" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Importar fotos desde el disco a la colección" -#: ../src/Resources.vala:221 -msgid "Set selected image to be the new desktop background" -msgstr "Establezca la imagen seleccionada como nuevo fondo de escritorio" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Importar desde _aplicación…" -#: ../src/Resources.vala:222 -msgid "Set as _Desktop Slideshow..." -msgstr "Establecer como pase de _diapositivas de escritorio…" +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "Ordenar _eventos" -#: ../src/Resources.vala:224 -msgid "_Undo" -msgstr "_Deshacer" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "Vaciar la papele_ra" -#: ../src/Resources.vala:225 -msgid "Undo" -msgstr "Deshacer" +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Eliminar todas las fotos en la papelera" -#: ../src/Resources.vala:227 -msgid "_Redo" -msgstr "_Rehacer" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "Ver eve_nto para la foto" -#: ../src/Resources.vala:228 -msgid "Redo" -msgstr "Rehacer" +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Buscar" -#: ../src/Resources.vala:230 -msgid "Re_name Event..." -msgstr "Re_nombrar evento…" +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Buscar fotos y vídeos por criterio de búsqueda" -#: ../src/Resources.vala:233 -msgid "Make _Key Photo for Event" -msgstr "Hacer foto _clave para el evento" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "_Búsqueda guardada nueva…" -#: ../src/Resources.vala:234 -msgid "Make Key Photo for Event" -msgstr "Hacer foto clave para el evento" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_Fotos" -#: ../src/Resources.vala:236 -msgid "_New Event" -msgstr "Evento _nuevo" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "Even_tos" -#: ../src/Resources.vala:237 -msgid "New Event" -msgstr "Evento nuevo" +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "_Etiquetas" -#: ../src/Resources.vala:239 -msgid "Move Photos" -msgstr "Mover fotos" +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "Información _básica" -#: ../src/Resources.vala:240 -msgid "Move photos to an event" -msgstr "Mover fotos a un evento" +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Mostrar la información básica para la selección" -#: ../src/Resources.vala:242 -msgid "_Merge Events" -msgstr "_Combinar eventos" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "Información e_xtendida" -#: ../src/Resources.vala:243 -msgid "Merge" -msgstr "Combinar" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Mostrar la información extendida para la selección" -#: ../src/Resources.vala:244 -msgid "Combine events into a single event" -msgstr "Combinar eventos en uno solo" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "_Barra de búsqueda" -#: ../src/Resources.vala:246 -msgid "_Set Rating" -msgstr "Establecer p_untuación" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Mostrar la barra de búsqueda" -#: ../src/Resources.vala:247 -msgid "Set Rating" -msgstr "Establecer puntuación" +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "_Barra lateral" -#: ../src/Resources.vala:248 -msgid "Change the rating of your photo" -msgstr "Cambiar la puntuación de su foto" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Mostrar la barra lateral" -#: ../src/Resources.vala:250 -msgid "_Increase" -msgstr "_Aumentar" +#: src/library/LibraryWindow.vala:405 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "_Ascendente" -#: ../src/Resources.vala:251 -msgid "Increase Rating" -msgstr "Aumentar puntuación" +#: src/library/LibraryWindow.vala:406 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Ordenar fotos en orden ascendente" -#: ../src/Resources.vala:253 -msgid "_Decrease" -msgstr "Disminuir" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "D_escendente" -#: ../src/Resources.vala:254 -msgid "Decrease Rating" -msgstr "Disminuir puntuación" +#: src/library/LibraryWindow.vala:413 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Ordenar fotos en orden descendente" -#: ../src/Resources.vala:256 -msgid "_Unrated" -msgstr "_Sin puntuar" +#: src/library/LibraryWindow.vala:651 +msgid "Import From Folder" +msgstr "Importar desde carpeta" -#: ../src/Resources.vala:257 -msgid "Unrated" -msgstr "Sin puntuar" +#: src/library/LibraryWindow.vala:720 +msgid "Empty Trash" +msgstr "Vaciar la papelera" -#: ../src/Resources.vala:258 -msgid "Rate Unrated" -msgstr "Puntuar no puntuadas" +#: src/library/LibraryWindow.vala:720 +msgid "Emptying Trash..." +msgstr "Vaciando la papelera…" -#: ../src/Resources.vala:259 -msgid "Setting as unrated" -msgstr "Establecer como sin puntuación" +#: src/library/LibraryWindow.vala:879 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"Shotwell esta´configurado para importar fotos a su carpeta personal.\n" +"Se recomienda cambiar esto en Editar %s Preferencias.\n" +"¿Quiere seguir importando fotos?" -#: ../src/Resources.vala:260 -msgid "Remove any ratings" -msgstr "Quitar cualquier puntuación" +#: src/library/LibraryWindow.vala:882 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "Ubicación de la colección" -#: ../src/Resources.vala:262 -msgid "_Rejected" -msgstr "_Rechazado" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:895 +msgid "Photos cannot be imported from this directory." +msgstr "Las fotos no pueden importarse desde esta carpeta." -#: ../src/Resources.vala:263 -msgid "Rejected" -msgstr "Rechazada" +#: src/library/LibraryWindow.vala:1181 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:264 -msgid "Rate Rejected" -msgstr "Puntuar rechazadas" +#: src/library/LibraryWindow.vala:1225 src/library/LibraryWindow.vala:1236 +msgid "Updating library..." +msgstr "Actualizando la colección…" -#: ../src/Resources.vala:265 -msgid "Setting as rejected" -msgstr "Estableciendo como rechazada" +#: src/library/LibraryWindow.vala:1242 +msgid "Preparing to auto-import photos..." +msgstr "Preparando importación automática…" -#: ../src/Resources.vala:266 -msgid "Set rating to rejected" -msgstr "Establecer puntuación para rechazadas" +#: src/library/LibraryWindow.vala:1247 +msgid "Auto-importing photos..." +msgstr "Importando fotos automáticamente…" -#: ../src/Resources.vala:268 -msgid "Rejected _Only" -msgstr "Solo _rechazadas" +#: src/library/LibraryWindow.vala:1255 +msgid "Writing metadata to files..." +msgstr "Escribiendo metadatos en los archivos…" -#: ../src/Resources.vala:269 -msgid "Rejected Only" -msgstr "Solo rechazadas" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Archivos faltantes" -#: ../src/Resources.vala:270 -msgid "Show only rejected photos" -msgstr "Mostrar solo las fotos rechazadas" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "Eliminando…" -#: ../src/Resources.vala:272 -msgid "All + _Rejected" -msgstr "Todas + _rechazadas" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Papelera" -#: ../src/Resources.vala:273 ../src/Resources.vala:274 -msgid "Show all photos, including rejected" -msgstr "Mostrar todas las fotos, incluyendo las rechazadas" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "La papelera está vacía" -#: ../src/Resources.vala:276 -msgid "_All Photos" -msgstr "Todas las _fotos" +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Eliminar" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:278 ../src/Resources.vala:280 -msgid "Show all photos" -msgstr "Mostrar todas las fotos" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "Eliminando fotos" -#: ../src/Resources.vala:282 -msgid "_Ratings" -msgstr "_Puntuaciones" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"Su colección de fotos no es compatible con esta versión de Shotwell. Parece " +"que fue creada por Shotwell %s (esquema %d). Esta versión es %s (esquema " +"%d). Use la versión más reciente de Shotwell." -#: ../src/Resources.vala:283 -msgid "Display each photo's rating" -msgstr "Mostrar la puntuación de cada foto" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"Shotwell no pudo actualizar su colección de fotos desde la versión %s " +"(esquema %d) a la %s (esquema %d). Para obtener más información , consulte " +"el wiki de Shotwell en %s" -#: ../src/Resources.vala:285 -msgid "_Filter Photos" -msgstr "_Filtrar fotos" +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"Su colección de fotos no es compatible con esta versión de Shotwell. Parece " +"que fue creada por Shotwell %s (esquema %d). Esta versión es %s (esquema " +"%d). Vacíe la colección mediante la eliminación de %s, y vuelva a importar " +"las fotos." -#: ../src/Resources.vala:286 -msgid "Filter Photos" -msgstr "Filtrar fotos" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "" +"Error desconocido al intentar verificar la base de datos de Shotwell: %s" -#: ../src/Resources.vala:287 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Limitar el número de fotos mostradas en base al filtro" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "Cargando Shotwell" -#: ../src/Resources.vala:289 -msgid "_Duplicate" -msgstr "_Duplicar" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Ruta a los datos privados de Shotwell" -#: ../src/Resources.vala:290 -msgid "Duplicate" -msgstr "Duplicar" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "DIRECTORIO" -#: ../src/Resources.vala:291 -msgid "Make a duplicate of the photo" -msgstr "Hacer un duplicado de la foto" +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "" +"No monitorear el directorio de la colección en tiempo de ejecución para " +"buscar cambios" -#: ../src/Resources.vala:293 -msgid "_Export..." -msgstr "_Exportar…" +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "No mostrar medidor de progreso de inicio" -#: ../src/Resources.vala:295 -msgid "_Print..." -msgstr "_Imprimir…" +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "Mostrar la versión de la aplicación" -#: ../src/Resources.vala:297 -msgid "Pu_blish..." -msgstr "Pu_blicar…" +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[ARCHIVO]" -#: ../src/Resources.vala:299 -msgid "Publish to various websites" -msgstr "Publicar en varios sitios web" +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Ejecute «%s --help» para ver una lista completa de opciones de línea de " +"órdenes.\n" -#: ../src/Resources.vala:301 -msgid "Edit _Title..." -msgstr "Editar el _título…" +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "No se pueden procesar las actualizaciones de la monitorización %s" -#: ../src/Resources.vala:305 -msgid "Edit _Comment..." -msgstr "Editar _comentario…" +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Ajustar el tamaño de las miniaturas" -#. Button label -#: ../src/Resources.vala:307 -msgid "Edit Comment" -msgstr "Editar comentario" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Aumentar la ampliación de las miniaturas" -#: ../src/Resources.vala:309 -msgid "Edit Event _Comment..." -msgstr "Editar _comentario del evento…" +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Disminuir la ampliación de las miniaturas" -#: ../src/Resources.vala:312 -msgid "_Adjust Date and Time..." -msgstr "_Ajustar fecha y hora…" +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "Ordenar _fotos" -#: ../src/Resources.vala:313 -msgid "Adjust Date and Time" -msgstr "Ajustar fecha y hora" +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "_Reproducir vídeo" -#: ../src/Resources.vala:315 -msgid "Add _Tags..." -msgstr "Añadir e_tiquetas…" +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "Abrir los vídeos seleccionados en el reproductor de vídeos del sistema" -#: ../src/Resources.vala:316 -msgid "_Add Tags..." -msgstr "_Añadir etiquetas…" +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Revelador" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:318 ../src/Resources.vala:351 -msgid "Add Tags" -msgstr "Añadir etiquetas" +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Mostrar el comentario de cada foto" -#: ../src/Resources.vala:322 -msgid "Open With E_xternal Editor" -msgstr "Abrir con editor e_xterno" +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Mostrar la etiqueta de cada foto" -#: ../src/Resources.vala:324 -msgid "Open With RA_W Editor" -msgstr "Abrir con editor RA_W" +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Por _título" -#: ../src/Resources.vala:326 -msgid "Send _To..." -msgstr "En_viar a…" +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Ordenar las fotos por título" -#: ../src/Resources.vala:327 -msgid "Send T_o..." -msgstr "En_viar a…" +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "Por fecha de exposición" -#: ../src/Resources.vala:329 -msgid "_Find..." -msgstr "Buscar…" +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Ordenar fotos por fecha de exposición" -#: ../src/Resources.vala:330 -msgid "Find" -msgstr "Buscar" +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Por p_untuación" -#: ../src/Resources.vala:331 -msgid "Find an image by typing text that appears in its name or tags" -msgstr "" -"Buscar una imagen escribiendo el texto que aparece en su nombre o etiquetas" +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Ordenar fotos por puntuación" -#: ../src/Resources.vala:333 -msgid "_Flag" -msgstr "_Marcar" +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Por _nombre del archivo" -#: ../src/Resources.vala:335 -msgid "Un_flag" -msgstr "_Desmarcar" +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Ordenar fotos por nombre" -#: ../src/Resources.vala:338 +#: src/MediaPage.vala:723 #, c-format -msgid "Unable to launch editor: %s" -msgstr "No se puede abrir el editor: %s" +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" +"Shotwell no pudo reproducir el vídeo seleccionado:\n" +"%s" -#: ../src/Resources.vala:343 -#, c-format -msgid "Add Tag \"%s\"" -msgstr "Añadir etiqueta «%s»" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "No hay fotos/vídeos" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:346 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Añadir etiquetas «%s» y «%s»" +#: src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "No se han encontrado fotos/vídeos que coincidan con el filtro actual" -#: ../src/Resources.vala:356 -#, c-format -msgid "_Delete Tag \"%s\"" -msgstr "_Eliminar etiqueta «%s»" +#: src/Page.vala:2568 +msgid "Photos cannot be exported to this directory." +msgstr "No se pueden exportar las fotos a este directorio." -#: ../src/Resources.vala:360 -#, c-format -msgid "Delete Tag \"%s\"" -msgstr "Eliminar etiqueta «%s»" +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Foto anterior" -#: ../src/Resources.vala:363 -msgid "Delete Tag" -msgstr "Eliminar etiqueta" +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Siguiente foto" -#: ../src/Resources.vala:369 +#: src/PhotoPage.vala:1845 #, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Re_nombrar etiqueta «%s»…" +msgid "Photo source file missing: %s" +msgstr "Falta el archivo de origen de la foto: %s" -#: ../src/Resources.vala:373 +#: src/PhotoPage.vala:3229 #, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Renombrar la etiqueta «%s» a «%s»" - -#: ../src/Resources.vala:376 -msgid "_Rename..." -msgstr "_Renombrar…" +msgid "Unable to export %s: %s" +msgstr "No se puede exportar %s: %s" -#: ../src/Resources.vala:378 -msgid "Modif_y Tags..." -msgstr "Modif_icar etiquetas…" +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:379 -msgid "Modify Tags" -msgstr "Modificar etiquetas" +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:185 #, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Etiquetar fotos como «%s»" +msgid "Low (%d%%)" +msgstr "Baja (%d%%)" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Etiquetar fotos como «%s»" +msgid "Medium (%d%%)" +msgstr "Media (%d%%)" -#: ../src/Resources.vala:386 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Etiquetar las fotos seleccionadas como «%s»" +msgid "High (%d%%)" +msgstr "Alta (%d%%)" -#: ../src/Resources.vala:387 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Etiquetar las fotos seleccionadas como «%s»" +msgid "Maximum (%d%%)" +msgstr "Máxima (%d%%)" -#: ../src/Resources.vala:391 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Quitar la etiqueta «%s» de las _fotos" +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:392 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Quitar la etiqueta «%s» de las _fotos" +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Quitar la etiqueta «%s» de las fotos" +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Quitar la etiqueta «%s» de las fotos" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "modificada" -#: ../src/Resources.vala:401 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "No se puede renombrar la etiqueta a «%s» porque la etiqueta ya existe." +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Llenar la página entera" + +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 imágenes por página" + +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 imágenes por página" -#: ../src/Resources.vala:405 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "No se pudo renombrar la búsqueda «%s» porque la búsqueda ya existe." +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 imágenes por página" -#: ../src/Resources.vala:408 -msgid "Saved Search" -msgstr "Búsqueda guardada" +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 imágenes por página" -#: ../src/Resources.vala:410 -msgid "Delete Search" -msgstr "Eliminar búsqueda" +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 imágenes por página" -#: ../src/Resources.vala:413 -msgid "_Edit..." -msgstr "_Editar…" +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 imágenes por página" -#: ../src/Resources.vala:414 -msgid "Re_name..." -msgstr "Re_nombrar…" +#: src/Printing.vala:348 +msgid "in." +msgstr "pulg." -#: ../src/Resources.vala:417 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Renombrar la búsqueda «%s» a «%s»" +#: src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:421 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "Eliminar búsqueda «%s»" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "Ajustes de la imagen" -#: ../src/Resources.vala:579 -#, c-format -msgid "Rate %s" -msgstr "Puntuar %s" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "Imprimiendo…" -#: ../src/Resources.vala:580 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Set rating to %s" -msgstr "Establecer puntuación para %s" +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"No se puede imprimir la foto:\n" +"\n" +"%s" -#: ../src/Resources.vala:581 -#, c-format -msgid "Setting rating to %s" -msgstr "Estableciendo la puntuación de %s" +#: src/Properties.vala:84 +msgid "Today" +msgstr "Hoy" -#: ../src/Resources.vala:583 -#, c-format -msgid "Display %s" -msgstr "Mostrar %s" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "Ayer" -#: ../src/Resources.vala:584 -#, c-format -msgid "Only show photos with a rating of %s" -msgstr "Solo mostrar fotos con puntuación %s" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "Elementos:" -#: ../src/Resources.vala:585 +#: src/Properties.vala:346 #, c-format -msgid "%s or Better" -msgstr "%s o mayor" +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d evento" +msgstr[1] "%d eventos" -#: ../src/Resources.vala:586 -#, c-format -msgid "Display %s or Better" -msgstr "Mostrar %s o mayor" +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "Fecha:" -#: ../src/Resources.vala:587 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Solo mostrar fotos con puntuación %s o mayor" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "Hora:" -#: ../src/Resources.vala:678 -msgid "Remove the selected photos from the trash" -msgstr "Quitar las fotos seleccionadas de la papelera" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "De:" -#: ../src/Resources.vala:679 -msgid "Remove the selected photos from the library" -msgstr "Quitar las fotos seleccionadas de la colección" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "A:" -#: ../src/Resources.vala:681 -msgid "_Restore" -msgstr "_Restaurar" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "Duración:" -#: ../src/Resources.vala:682 -msgid "Move the selected photos back into the library" -msgstr "Mover las fotos seleccionadas de vuelta a la colección" +#: src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "%.1f segundos" -#: ../src/Resources.vala:684 -msgid "Show in File Mana_ger" -msgstr "Mostrar en ge_stor de archivos" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "Revelador:" -#: ../src/Resources.vala:685 -msgid "Open the selected photo's directory in the file manager" -msgstr "Abrir el directorio de la foto seleccionada en el gestor de archivos" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "Ubicación:" -#: ../src/Resources.vala:688 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "No se puede abrir el gestor de archivos: %s" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "Tamaño del archivo:" -#: ../src/Resources.vala:691 -msgid "R_emove From Library" -msgstr "_Quitar de la colección" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "Desarrollo actual:" -#: ../src/Resources.vala:693 -msgid "_Move to Trash" -msgstr "_Mover a la papelera" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Dimensiones originales:" -#: ../src/Resources.vala:695 -msgid "Select _All" -msgstr "Seleccionar _todo" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "Cámara:" -#: ../src/Resources.vala:696 -msgid "Select all items" -msgstr "Seleccionar todos los elementos" +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "Modelo de la cámara:" -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:775 -msgid "%-I:%M %p" -msgstr "%-I:%M %p" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "Flash:" -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M:%S %p" -msgstr "%-I:%M:%S %p" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "Longitud focal:" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:784 -msgid "%a %b %d, %Y" -msgstr "%a %d de %b de %Y" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Fecha de exposición:" -#. / 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 -#. / 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 -#: ../src/Resources.vala:789 ../src/Resources.vala:799 -msgid "%a %b %d" -msgstr "%a, %d de %b" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Tiempo de exposición:" -#. / 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 -#: ../src/Resources.vala:794 -msgid "%d, %Y" -msgstr "%d, %Y" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Exposición:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Diapositivas" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "Latitud GPS:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Marcada" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "Longitud GPS:" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Fotos" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "Artista:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Vídeos" +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "Copyright:" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "Fotos RAW" +#: src/Properties.vala:624 +msgid "Software:" +msgstr "Software:" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "Fotos RAW" +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "Información extendida" -#: ../src/SearchFilter.vala:934 -#, c-format -msgid "Error loading UI file %s: %s" -msgstr "Error al cargar el archivo de IU %s: %s" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "Preparando para subir" -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Cerrar" +#: src/publishing/PublishingPluginHost.vala:12 +#, c-format +msgid "Uploading %d of %d" +msgstr "Subiendo %d de %d" -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Tipo" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "No se puede continuar la publicación en %s porque ocurrió un error:" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Puntuación" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "" +"Para intentar publicar en otro servicio, seleccione uno en el menú de arriba." -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Configuración" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "Las fotos/vídeos seleccionados se publicaron correctamente." -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Atrás" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "Las fotos seleccionadas se publicaron correctamente." -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Ir a la foto anterior" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "Las fotos seleccionadas se publicaron correctamente." -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Pausa" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "El vídeo seleccionado se publicó correctamente." -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Pausar la presentación" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "La foto seleccionada se publicó correctamente." -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Siguiente" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "Obteniendo información de la cuenta…" -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Ir a la siguiente foto" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "Iniciando sesión…" -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Cambiar la configuración de la presentación" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Publicar fotos" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Todos los archivos origen de fotos están perdidos." +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Publicar fo_tos en:" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Reproducir" +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Publicar vídeos" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Continuar la presentación" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Publicar vídeos _en" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "sin título" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Publicar fotos y vídeos" -#. multiple videos -#: ../src/VideoSupport.vala:490 -msgid "Export Videos" -msgstr "Exportar vídeos" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Publicar fotos y vídeos _en" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Cámaras" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "No se pudo publicar" -#: ../src/camera/ImportPage.vala:458 +#: src/publishing/PublishingUI.vala:398 +#, c-format msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"No se puede desmontar la cámara. Intente desmontar la cámara desde el gestor " -"de archivos." +"Shotwell no puede publicar el elemento seleccionado porque no tiene activado " +"un complemento compatible. Para corregir esto, vaya a Editar %s " +"Preferencias y active uno o más complementos de publicación en la " +"pestaña Complementos." -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:775 -msgid "Hide photos already imported" -msgstr "Ocultar fotos ya importadas" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Publicando" -#: ../src/camera/ImportPage.vala:776 -msgid "Only display photos that have not been imported" -msgstr "Mostrar solo las fotos que no han sido importadas" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Girar a la _derecha" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:846 -msgid "Starting import, please wait..." -msgstr "Iniciando la importación, espere un momento…" +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "Girar" -#: ../src/camera/ImportPage.vala:885 -msgid "Import _Selected" -msgstr "Importar _seleccionadas" +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Girar a la derecha" -#: ../src/camera/ImportPage.vala:886 -msgid "Import the selected photos into your library" -msgstr "Importar las fotos seleccionadas a su colección" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "Girar las fotos a la derecha (oprima Ctrl para girar a la izquierda)" -#: ../src/camera/ImportPage.vala:891 -msgid "Import _All" -msgstr "Importar tod_as" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Girar a la izq_uierda" -#: ../src/camera/ImportPage.vala:892 -msgid "Import all the photos into your library" -msgstr "Importar todas las fotos a su colección" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Girar a la izquierda" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1013 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Shotwell necesita desmontar la cámara del sistema de archivos con el fin de " -"acceder a ella. ¿Continuar?" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Girar las fotos a la izquierda" -#: ../src/camera/ImportPage.vala:1019 -msgid "_Unmount" -msgstr "_Desmontar" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Voltear hori_zontalmente" -#: ../src/camera/ImportPage.vala:1024 -msgid "Please unmount the camera." -msgstr "Desmonte la cámara." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Voltear horizontalmente" -#: ../src/camera/ImportPage.vala:1029 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"La cámara está bloqueada por otra aplicación. Shotwell solo puede acceder a " -"la cámara cuando está desbloqueada. Cierre cualquier otra aplicación que " -"esté utilizando la cámara e inténtelo de nuevo." +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Voltear _verticalmente" -#: ../src/camera/ImportPage.vala:1039 -msgid "Please close any other application using the camera." -msgstr "Cierre cualquier otra aplicación que esté utilizando la cámara." +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Voltear verticalmente" -#: ../src/camera/ImportPage.vala:1044 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"No se pueden obtener previsualizaciones de la cámara:\n" -"%s" +#: src/Resources.vala:155 +msgid "_About" +msgstr "_Acerca de" -#: ../src/camera/ImportPage.vala:1061 -msgid "Unmounting..." -msgstr "Desmontando…" +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "_Aplicar" -#: ../src/camera/ImportPage.vala:1167 -msgid "Fetching photo information" -msgstr "Obteniendo información de la foto" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "_Adelante" -#: ../src/camera/ImportPage.vala:1522 -#, c-format -msgid "Fetching preview for %s" -msgstr "Obteniendo previsualización para %s" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "Pantalla c_ompleta" -#: ../src/camera/ImportPage.vala:1638 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "No se puede bloquear la cámara: %s" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "Salir de pantalla co_mpleta" -#: ../src/camera/ImportPage.vala:1723 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "¿Quiere eliminar esta foto de la cámara?" -msgstr[1] "¿Quiere eliminar estas %d fotos de la cámara?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_Nueva" -#: ../src/camera/ImportPage.vala:1726 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "¿Quiere eliminar esta foto de la cámara?" -msgstr[1] "¿Quiere eliminar estas %d fotos de la cámara?" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "_Siguiente" -#: ../src/camera/ImportPage.vala:1729 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "¿Quiere eliminar esta foto/vídeo de la cámara?" -msgstr[1] "¿Quiere eliminar estas %d fotos/vídeos de la cámara?" +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_Aceptar" -#: ../src/camera/ImportPage.vala:1732 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "¿Eliminar este archivo de la cámara?" -msgstr[1] "¿Eliminar estos %d archivos de la cámara?" +#: src/Resources.vala:167 +msgid "_Play" +msgstr "_Reproducir" -#: ../src/camera/ImportPage.vala:1759 -msgid "Removing photos/videos from camera" -msgstr "Eliminando fotos/vídeos de la cámara" +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "_Preferencias" -#: ../src/camera/ImportPage.vala:1763 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "No se puede eliminar %d foto/vídeo de la cámara, debido a errores." -msgstr[1] "" -"No se pueden eliminar %d fotos/vídeos de la cámara, debido a errores." +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "_Anterior" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Importaciones de datos" +#: src/Resources.vala:170 +msgid "_Print" +msgstr "_Imprimir" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "Base de datos %s" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "_Salir" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "" -"La importación desde %s no puede continuar porque ha ocurrido un error:" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "_Actualizar" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "" -"Para intentar importar desde otro servicio, seleccione uno desde el menú " -"anterior." +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "_Revertir" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"No tiene ningún complemento de importación de datos activado.\n" -"\n" -"Para utilizar la función Importar desde aplicación, necesita activar al " -"menos un complemento de importación. Puede hacerlo en el cuadro de diálogo " -"Preferencias." +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "Guardar _como" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Archivo de base de datos:" +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "Ordenar _ascendentemente" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:882 -msgid "_Import" -msgstr "_Importar" +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "Ordenar d_escendentemente" -#: ../src/data_imports/DataImportsUI.vala:220 -msgid "Import From Application" -msgstr "Importar desde aplicación" +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "_Detener" -#: ../src/data_imports/DataImportsUI.vala:221 -msgid "Import media _from:" -msgstr "Importar medios _desde:" +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "_Recuperar" -#: ../src/data_imports/DataImportsUI.vala:408 -#: ../src/publishing/PublishingUI.vala:507 -msgid "_Close" -msgstr "_Cerrar" +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "Tamaño _normal" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "No se puede abrir/crear base de datos de fotos %s: código de error %d" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "_Mejor ajuste" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"No se pudo escribir el archivo de la base de datos de fotos:\n" -"%s" +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "M_ejorar" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"Error al acceder al archivo de la base de datos:\n" -"%s\n" -"\n" -"El error fue:\n" -"%s" +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "Mejorar" + +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Mejorar automáticamente la apariencia de la foto" + +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "_Copiar ajustes de color" -#: ../src/db/DatabaseTable.vala:81 -#, c-format -msgid "Unable to restore photo database %s" -msgstr "No se pudo restaurar la base de datos de fotos %s" +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Copiar ajustes de color" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 -msgid "_File" -msgstr "_Archivo" +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Copiar los ajustes de color aplicados a la foto" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Guardar la foto" +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "_Pegar ajustes de color" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "G_uardar como…" +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Pegar ajustes de color" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Guardar la foto con un nombre diferente" +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Aplicar ajuste de color copiado a las fotos seleccionadas" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Imprimir la foto en una impresora conectada a su equipo" +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "Re_cortar" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 -msgid "_Photo" -msgstr "_Foto" +#: src/Resources.vala:199 +msgid "Crop" +msgstr "Recortar" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s no existe." +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Recortar el tamaño de la foto" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s no es un archivo." +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "Enderezar" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"%s no es compatible con el formato de archivo de\n" -"%s." +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Enderezar la foto" -#: ../src/direct/DirectPhotoPage.vala:248 -#, c-format -#| msgid "" -#| "Unable to print photo:\n" -#| "\n" -#| "%s" -msgid "Unable open photo %s. Sorry." -msgstr "No se puede abrir la foto %s." +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "Ojos _rojos" -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save a Copy" -msgstr "_Guardar una copia" +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "Ojos rojos" -#: ../src/direct/DirectPhotoPage.vala:435 -#, c-format -msgid "Lose changes to %s?" -msgstr "¿Quiere descartar los cambios a %s?" +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Reducir o eliminar cualquier efecto de ojos rojos en la foto" -#: ../src/direct/DirectPhotoPage.vala:436 -msgid "Close _without Saving" -msgstr "Cerrar _sin guardar" +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Ajuste" -#: ../src/direct/DirectPhotoPage.vala:469 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "Error al guardar en %s: %s" +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "Ajuste" -#: ../src/direct/DirectPhotoPage.vala:497 -#: ../src/direct/DirectPhotoPage.vala:518 -msgid "Save As" -msgstr "Guardar como" +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Ajustar el color y el tono de la foto" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Volver a las dimensiones actuales de la foto" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "_Volver al original" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Establecer el corte para esta foto" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Volver al original" -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "" -"Girar el rectángulo de corte entre las orientaciones vertical y horizontal" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Revertir e_diciones externas" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Sin restricciones" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Revertir a la foto original" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Cuadrado" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "Establecer como fondo _de escritorio" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Pantalla" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "Establezca la imagen seleccionada como nuevo fondo de escritorio" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "Establecer como pase de _diapositivas de escritorio…" -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "Vídeo SD (4:3)" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "_Deshacer" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "Vídeo HD (16:9)" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "Deshacer" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Carta (8.5 × 11 pulg.)" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "_Rehacer" -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloide (11 × 17 pulg.)" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "Rehacer" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 × 297 mm)" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Re_nombrar evento…" -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297 × 420 mm)" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "Hacer foto _clave para el evento" -#: ../src/editing_tools/EditingTools.vala:1887 -msgid "Close the red-eye tool" -msgstr "Cerrar la herramienta de ojos rojos" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Hacer foto clave para el evento" -#: ../src/editing_tools/EditingTools.vala:1890 -msgid "Remove any red-eye effects in the selected region" -msgstr "Quitar cualquier efecto de ojos rojos en la región seleccionada" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "Evento _nuevo" -#: ../src/editing_tools/EditingTools.vala:2226 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_Restablecer" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "Evento nuevo" -#: ../src/editing_tools/EditingTools.vala:2248 -msgid "Saturation:" -msgstr "Saturación:" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "Mover fotos" -#: ../src/editing_tools/EditingTools.vala:2256 -msgid "Tint:" -msgstr "Matiz:" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Mover fotos a un evento" -#: ../src/editing_tools/EditingTools.vala:2265 -msgid "Temperature:" -msgstr "Temperatura:" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "_Combinar eventos" -#: ../src/editing_tools/EditingTools.vala:2273 -msgid "Shadows:" -msgstr "Sombras:" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "Combinar" -#: ../src/editing_tools/EditingTools.vala:2281 -msgid "Highlights:" -msgstr "Resaltadas:" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Combinar eventos en uno solo" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset Colors" -msgstr "Restablecer colores" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "Establecer p_untuación" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset all color adjustments to original" -msgstr "Restablecer todos los ajustes de color al original" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "Establecer puntuación" -#: ../src/editing_tools/EditingTools.vala:2687 -msgid "Temperature" -msgstr "Temperatura" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Cambiar la puntuación de su foto" -#: ../src/editing_tools/EditingTools.vala:2700 -msgid "Tint" -msgstr "Matiz" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "_Aumentar" -#: ../src/editing_tools/EditingTools.vala:2713 -msgid "Saturation" -msgstr "Saturación" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Aumentar puntuación" -#: ../src/editing_tools/EditingTools.vala:2726 -msgid "Exposure" -msgstr "Exposición" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "Disminuir" -#: ../src/editing_tools/EditingTools.vala:2739 -msgid "Shadows" -msgstr "Sombras" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Disminuir puntuación" -#: ../src/editing_tools/EditingTools.vala:2752 -msgid "Highlights" -msgstr "Resaltadas" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Sin puntuar" -#: ../src/editing_tools/EditingTools.vala:2762 -msgid "Contrast Expansion" -msgstr "Expansión de contraste" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "Sin puntuar" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Ángulo:" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Puntuar no puntuadas" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Eventos" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "Establecer como sin puntuación" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d foto/vídeo" -msgstr[1] "%d fotos/vídeos" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Quitar cualquier puntuación" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "No hay eventos" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "_Rechazado" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Mostrar el comentario de cada evento" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "Rechazada" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "No hay eventos" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Puntuar rechazadas" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "No se encontraron eventos" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "Estableciendo como rechazada" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Todos los eventos" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Establecer puntuación para rechazadas" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Sin fecha" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "Solo _rechazadas" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Solo rechazadas" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Mostrar solo las fotos rechazadas" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Carpetas" +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Todas + _rechazadas" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Colección" +#: src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Mostrar todas las fotos, incluyendo las rechazadas" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "Importando…" +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "Todas las _fotos" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "_Detener importación" +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "Mostrar todas las fotos" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Detener la importación de fotos" +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "_Puntuaciones" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "Preparando importación…" +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Mostrar la puntuación de cada foto" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "Importada %s" +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_Filtrar fotos" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Última importación" +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Filtrar fotos" -#: ../src/library/LibraryWindow.vala:285 -msgid "_Import From Folder..." -msgstr "_Importar desde carpeta…" +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Limitar el número de fotos mostradas en base al filtro" -#: ../src/library/LibraryWindow.vala:286 -msgid "Import photos from disk to library" -msgstr "Importar fotos desde el disco a la colección" +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "_Duplicar" -#: ../src/library/LibraryWindow.vala:293 -msgid "Import From _Application..." -msgstr "Importar desde _aplicación…" +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "Duplicar" -#: ../src/library/LibraryWindow.vala:297 -msgid "Sort _Events" -msgstr "Ordenar _eventos" +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Hacer un duplicado de la foto" -#: ../src/library/LibraryWindow.vala:307 -msgid "Empty T_rash" -msgstr "Vaciar la papele_ra" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "_Exportar…" -#: ../src/library/LibraryWindow.vala:308 -msgid "Delete all photos in the trash" -msgstr "Eliminar todas las fotos en la papelera" +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "_Imprimir…" -#: ../src/library/LibraryWindow.vala:313 -msgid "View Eve_nt for Photo" -msgstr "Ver eve_nto para la foto" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "Pu_blicar…" -#: ../src/library/LibraryWindow.vala:317 -msgid "_Find" -msgstr "_Buscar" +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Publicar en varios sitios web" -#: ../src/library/LibraryWindow.vala:318 -msgid "Find photos and videos by search criteria" -msgstr "Buscar fotos y vídeos por criterio de búsqueda" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "Editar el _título…" -#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "_Búsqueda guardada nueva…" +#. Button label +#: src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Editar título" -#: ../src/library/LibraryWindow.vala:351 -msgid "_Photos" -msgstr "_Fotos" +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "Editar _comentario…" -#: ../src/library/LibraryWindow.vala:355 -msgid "Even_ts" -msgstr "Even_tos" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Editar comentario" -#: ../src/library/LibraryWindow.vala:374 -msgid "_Basic Information" -msgstr "Información _básica" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "Editar _comentario del evento…" -#: ../src/library/LibraryWindow.vala:375 -msgid "Display basic information for the selection" -msgstr "Mostrar la información básica para la selección" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "_Ajustar fecha y hora…" -#: ../src/library/LibraryWindow.vala:380 -msgid "E_xtended Information" -msgstr "Información e_xtendida" +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Ajustar fecha y hora" -#: ../src/library/LibraryWindow.vala:381 -msgid "Display extended information for the selection" -msgstr "Mostrar la información extendida para la selección" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "Añadir e_tiquetas…" -#: ../src/library/LibraryWindow.vala:386 -msgid "_Search Bar" -msgstr "_Barra de búsqueda" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "_Añadir etiquetas…" -#: ../src/library/LibraryWindow.vala:387 -msgid "Display the search bar" -msgstr "Mostrar la barra de búsqueda" +#. Dialog title +#: src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Añadir etiquetas" -#: ../src/library/LibraryWindow.vala:392 -msgid "S_idebar" -msgstr "_Barra lateral" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "Abrir con editor e_xterno" -#: ../src/library/LibraryWindow.vala:393 -msgid "Display the sidebar" -msgstr "Mostrar la barra lateral" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Abrir con editor RA_W" -#: ../src/library/LibraryWindow.vala:651 -msgid "Import From Folder" -msgstr "Importar desde carpeta" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "En_viar a…" -#: ../src/library/LibraryWindow.vala:720 -msgid "Empty Trash" -msgstr "Vaciar la papelera" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "En_viar a…" -#: ../src/library/LibraryWindow.vala:720 -msgid "Emptying Trash..." -msgstr "Vaciando la papelera…" +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "Buscar…" -#: ../src/library/LibraryWindow.vala:879 -#, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" +#: src/Resources.vala:327 +msgid "Find" +msgstr "Buscar" + +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" msgstr "" -"Shotwell esta´configurado para importar fotos a su carpeta personal.\n" -"Se recomienda cambiar esto en Editar %s Preferencias.\n" -"¿Quiere seguir importando fotos?" +"Buscar una imagen escribiendo el texto que aparece en su nombre o etiquetas" -#: ../src/library/LibraryWindow.vala:882 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Ubicación de la colección" +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "_Marcar" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:895 -msgid "Photos cannot be imported from this directory." -msgstr "Las fotos no pueden importarse desde esta carpeta." +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "_Desmarcar" -#: ../src/library/LibraryWindow.vala:1183 +#: src/Resources.vala:335 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "Unable to launch editor: %s" +msgstr "No se puede abrir el editor: %s" -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 -msgid "Updating library..." -msgstr "Actualizando la colección…" +#: src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "Añadir etiqueta «%s»" -#: ../src/library/LibraryWindow.vala:1244 -msgid "Preparing to auto-import photos..." -msgstr "Preparando importación automática…" +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Añadir etiquetas «%s» y «%s»" -#: ../src/library/LibraryWindow.vala:1249 -msgid "Auto-importing photos..." -msgstr "Importando fotos automáticamente…" +#. Undo/Redo command name (in Edit menu) +#: src/Resources.vala:348 +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "Añadir etiquetas" -#: ../src/library/LibraryWindow.vala:1257 -msgid "Writing metadata to files..." -msgstr "Escribiendo metadatos en los archivos…" +#: src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "_Eliminar etiqueta «%s»" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Archivos faltantes" +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Eliminar etiqueta «%s»" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "Eliminando…" +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Eliminar etiqueta" -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Papelera" +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Re_nombrar etiqueta «%s»…" -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "La papelera está vacía" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Renombrar la etiqueta «%s» a «%s»" -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Eliminar" +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Renombrar…" -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "Eliminando fotos" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "Modif_icar etiquetas…" -#: ../src/main.vala:54 -#, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"Su colección de fotos no es compatible con esta versión de Shotwell. Parece " -"que fue creada por Shotwell %s (esquema %d). Esta versión es %s (esquema " -"%d). Use la versión más reciente de Shotwell." +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Modificar etiquetas" -#: ../src/main.vala:59 +#: src/Resources.vala:379 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"Shotwell no pudo actualizar su colección de fotos desde la versión %s " -"(esquema %d) a la %s (esquema %d). Para obtener más información , consulte " -"el wiki de Shotwell en %s" +msgid "Tag Photo as \"%s\"" +msgstr "Etiquetar fotos como «%s»" -#: ../src/main.vala:65 +#: src/Resources.vala:379 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"Su colección de fotos no es compatible con esta versión de Shotwell. Parece " -"que fue creada por Shotwell %s (esquema %d). Esta versión es %s (esquema " -"%d). Vacíe la colección mediante la eliminación de %s, y vuelva a importar " -"las fotos." +msgid "Tag Photos as \"%s\"" +msgstr "Etiquetar fotos como «%s»" -#: ../src/main.vala:71 +#: src/Resources.vala:383 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "" -"Error desconocido al intentar verificar la base de datos de Shotwell: %s" - -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "Cargando Shotwell" +msgid "Tag the selected photo as \"%s\"" +msgstr "Etiquetar las fotos seleccionadas como «%s»" -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Ruta a los datos privados de Shotwell" +#: src/Resources.vala:384 +#, c-format +msgid "Tag the selected photos as \"%s\"" +msgstr "Etiquetar las fotos seleccionadas como «%s»" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "DIRECTORIO" +#: src/Resources.vala:388 +#, c-format +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Quitar la etiqueta «%s» de las _fotos" -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "" -"No monitorear el directorio de la colección en tiempo de ejecución para " -"buscar cambios" +#: src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Quitar la etiqueta «%s» de las _fotos" -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "No mostrar medidor de progreso de inicio" +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "Quitar la etiqueta «%s» de las fotos" -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Mostrar la versión de la aplicación" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Quitar la etiqueta «%s» de las fotos" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[ARCHIVO]" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "No se puede renombrar la etiqueta a «%s» porque la etiqueta ya existe." -#: ../src/main.vala:342 +#: src/Resources.vala:402 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" -msgstr "" -"Ejecute «%s --help» para ver una lista completa de opciones de línea de " -"órdenes.\n" +msgid "Unable to rename search to \"%s\" because the search already exists." +msgstr "No se pudo renombrar la búsqueda «%s» porque la búsqueda ya existe." -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#: src/Resources.vala:405 +msgid "Saved Search" +msgstr "Búsqueda guardada" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "Eliminar búsqueda" -#: ../src/photos/JfifSupport.vala:185 -#, c-format -msgid "Low (%d%%)" -msgstr "Baja (%d%%)" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Editar…" + +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "Re_nombrar…" -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:414 #, c-format -msgid "Medium (%d%%)" -msgstr "Media (%d%%)" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Renombrar la búsqueda «%s» a «%s»" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:418 #, c-format -msgid "High (%d%%)" -msgstr "Alta (%d%%)" +msgid "Delete Search \"%s\"" +msgstr "Eliminar búsqueda «%s»" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:576 #, c-format -msgid "Maximum (%d%%)" -msgstr "Máxima (%d%%)" +msgid "Rate %s" +msgstr "Puntuar %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "Establecer puntuación para %s" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "Estableciendo la puntuación de %s" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "Mostrar %s" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "Publicando" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Solo mostrar fotos con puntuación %s" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "Preparando para subir" +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s o mayor" -#: ../src/publishing/PublishingPluginHost.vala:12 +#: src/Resources.vala:583 #, c-format -msgid "Uploading %d of %d" -msgstr "Subiendo %d de %d" +msgid "Display %s or Better" +msgstr "Mostrar %s o mayor" -#: ../src/publishing/PublishingPluginHost.vala:81 +#: src/Resources.vala:584 #, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "No se puede continuar la publicación en %s porque ocurrió un error:" +msgid "Only show photos with a rating of %s or better" +msgstr "Solo mostrar fotos con puntuación %s o mayor" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "" -"Para intentar publicar en otro servicio, seleccione uno en el menú de arriba." +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Quitar las fotos seleccionadas de la papelera" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "Las fotos/vídeos seleccionados se publicaron correctamente." +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Quitar las fotos seleccionadas de la colección" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "Las fotos seleccionadas se publicaron correctamente." +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "_Restaurar" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "Las fotos seleccionadas se publicaron correctamente." +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Mover las fotos seleccionadas de vuelta a la colección" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "El vídeo seleccionado se publicó correctamente." +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Mostrar en ge_stor de archivos" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "La foto seleccionada se publicó correctamente." +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Abrir el directorio de la foto seleccionada en el gestor de archivos" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "Obteniendo información de la cuenta…" +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "No se puede abrir el gestor de archivos: %s" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "Iniciando sesión…" +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "_Quitar de la colección" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Photos" -msgstr "Publicar fotos" +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "_Mover a la papelera" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish photos _to:" -msgstr "Publicar fo_tos en:" +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "Seleccionar _todo" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Videos" -msgstr "Publicar vídeos" +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "Seleccionar todos los elementos" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish videos _to" -msgstr "Publicar vídeos _en" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:772 +msgid "%-I:%M %p" +msgstr "%-I:%M %p" -#: ../src/publishing/PublishingUI.vala:194 -msgid "Publish Photos and Videos" -msgstr "Publicar fotos y vídeos" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:777 +msgid "%-I:%M:%S %p" +msgstr "%-I:%M:%S %p" -#: ../src/publishing/PublishingUI.vala:195 -msgid "Publish photos and videos _to" -msgstr "Publicar fotos y vídeos _en" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:781 +msgid "%a %b %d, %Y" +msgstr "%a %d de %b de %Y" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:397 -msgid "Unable to publish" -msgstr "No se pudo publicar" +#. / 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 +#. / 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 +#: src/Resources.vala:786 src/Resources.vala:796 +msgid "%a %b %d" +msgstr "%a, %d de %b" -#: ../src/publishing/PublishingUI.vala:398 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"Shotwell no puede publicar el elemento seleccionado porque no tiene activado " -"un complemento compatible. Para corregir esto, vaya a Editar %s " -"Preferencias y active uno o más complementos de publicación en la " -"pestaña Complementos." +#. / 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 +#: src/Resources.vala:791 +msgid "%d, %Y" +msgstr "%d, %Y" + +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Diapositivas" -#: ../src/searches/Branch.vala:68 +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "Búsquedas guardadas" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "contiene" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "es exactamente" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "comienza por" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "termina por" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "no contiene" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "no está establecida" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "está establecida" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "es" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "no es" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "cualquier foto" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "una foto en «raw»" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "un vídeo" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "tiene" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "no tiene" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "modificaciones" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "modificaciones internas" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "modificaciones externas" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "marcada" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "no marcada" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "y superior" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "solo" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "e inferior" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "está después" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "está antes" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "está entre" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "y" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "Búsqueda" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "Cancelar" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "Aceptar" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "cualquiera" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "todos" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "ninguna" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr "Cualquier texto" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "Título" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "Etiqueta" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "Comentario" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "Nombre del acontecimiento" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "Nombre del archivo" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "Tipo de medio" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "Estado de la opción" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "Estado de la foto" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:999 +msgid "Rating" +msgstr "Puntuación" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Fecha" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:600 src/SearchFilter.vala:601 +msgid "Videos" +msgstr "Vídeos" + +#: src/SearchFilter.vala:606 +msgid "RAW Photos" +msgstr "Fotos RAW" + +#: src/SearchFilter.vala:607 +msgid "RAW photos" +msgstr "Fotos RAW" + +#: src/SearchFilter.vala:948 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "Error al cargar el archivo de IU %s: %s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:959 +msgid "Close" +msgstr "Cerrar" + +#. Type label and toggles +#: src/SearchFilter.vala:965 +msgid "Type" +msgstr "Tipo" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "E_tiqueta nueva…" -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Configuración" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Atrás" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Ir a la foto anterior" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Pausa" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Pausar la presentación" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Siguiente" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Ir a la siguiente foto" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Cambiar la configuración de la presentación" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Todos los archivos origen de fotos están perdidos." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Reproducir" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Continuar la presentación" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "Transiciones de diapositiva" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(Ninguna)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "Ninguna" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "Aleatorio" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "Etiquetas" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:817 +msgid "untitled" +msgstr "sin título" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Exportar vídeos" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "Establecer como fondo de escritorio" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "Usar para el escritorio" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "Usar para la pantalla de bloqueo" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" msgstr "Establecer como pase de diapositivas de escritorio" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "Mostrar cada foto para" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "periodo de tiempo" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" msgstr "Generar un pase de diapositivas de fondo de escritorio" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "Cuánto tiempo se muestra cada foto en el fondo de escritorio" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_Nombre de la búsqueda:" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "_Coincidir" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "de los siguientes:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "Tamaño de imagen impresa" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" msgstr "Utilizar un tamaño e_stándar:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "Utilizar un tamaño p_ersonalizado:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "E_mparejar relación de aspecto de la foto" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "Tamaño _automático:" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "Títulos" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" msgstr "Imprimir el _título de la imagen" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "Resolución de píxeles" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" msgstr "_Salida de foto en:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "píxeles por pulgada" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "etiqueta" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Preferencias de Shotwell" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "blanco" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "negro" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "_Vigilar mi colección en busca de archivos nuevos" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "Metadatos" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" msgstr "" "Escribir etiquetas, títulos y otros _metadatos en los archivos de fotos" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "Mostrar" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "_Importar fotos a:" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "_Fondo:" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "Importando" -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" msgstr "Estructura de _carpetas:" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "_Patrón:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "Ejemplo:" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" msgstr "R_enombrar los archivos importados a minúsculas" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "Revelador RAW" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" msgstr "_Predeterminado:" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" msgstr "Editor de fotos e_xterno:" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "Editor _RAW externo:" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "Editores externos" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "Complementos" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" -msgstr "_Retraso:" +msgstr "_Retardo:" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" msgstr "Efecto de _transición:" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" msgstr "R_etraso de transición:" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" msgstr "Mostrar tít_ulo" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "segundos" +#~ msgid "Intro message replaced at runtime" +#~ msgstr "Mensaje de introducción reemplazado en tiempo de ejecución" + +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "" +#~ "«Publicando en $url como $username» (informado en el código de la " +#~ "aplicación)" + +#~ msgid "you are logged in rajce as $name" +#~ msgstr "ha iniciado sesión en rajce como $name" + +#~ msgid "$mediatype will appear in" +#~ msgstr "$mediatype aparecerá en" + +#~ msgid "No photos/videos found" +#~ msgstr "No se encontraron fotos/vídeos" + #~ msgid "Copyright 2009-2015 Yorba Foundation" #~ msgstr "Copyright 2009-2015 Fundación Yorba" diff --git a/po/et.gmo b/po/et.gmo new file mode 100644 index 0000000..60c6e4c Binary files /dev/null and b/po/et.gmo differ diff --git a/po/et.po b/po/et.po index 5ecba78..7a62705 100644 --- a/po/et.po +++ b/po/et.po @@ -9,7 +9,6 @@ # Mattias Põldaru , 2011-2013 # verayin , 2011 # lsbeeler , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/eu.gmo b/po/eu.gmo new file mode 100644 index 0000000..c5a27ef Binary files /dev/null and b/po/eu.gmo differ diff --git a/po/fi.gmo b/po/fi.gmo new file mode 100644 index 0000000..08ce7b1 Binary files /dev/null and b/po/fi.gmo differ diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 0000000..bd3a589 Binary files /dev/null and b/po/fr.gmo differ diff --git a/po/gd.gmo b/po/gd.gmo new file mode 100644 index 0000000..7046926 Binary files /dev/null and b/po/gd.gmo differ diff --git a/po/gl.gmo b/po/gl.gmo new file mode 100644 index 0000000..f2cae92 Binary files /dev/null and b/po/gl.gmo differ diff --git a/po/gu.gmo b/po/gu.gmo new file mode 100644 index 0000000..e7bf038 Binary files /dev/null and b/po/gu.gmo differ diff --git a/po/gu.po b/po/gu.po index 71c8822..0b029f2 100644 --- a/po/gu.po +++ b/po/gu.po @@ -7,7 +7,6 @@ # Translators: # sweta , 2013 # sweta , 2012 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" @@ -1585,7 +1584,7 @@ msgid "Zoom _100%" msgstr "100% જેટલુ મોટુ કરો (_1)" #: src/PhotoPage.vala:2602 src/direct/DirectPhotoPage.vala:193 -#, c-format +#, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "ફોટો 100% જેટલો વિસ્તૃત કરો" @@ -1594,7 +1593,7 @@ msgid "Zoom _200%" msgstr "200% જેટલુ મોટુ કરો (_2)" #: src/PhotoPage.vala:2608 src/direct/DirectPhotoPage.vala:199 -#, c-format +#, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "ફોટો 200% જેટલો વિસ્તૃત કરો" diff --git a/po/he.gmo b/po/he.gmo new file mode 100644 index 0000000..c4e6c32 Binary files /dev/null and b/po/he.gmo differ diff --git a/po/he.po b/po/he.po index c5ff627..2bb38f4 100644 --- a/po/he.po +++ b/po/he.po @@ -12,1430 +12,2911 @@ # lsbeeler , 2011 # Amiad B , 2011 # Yaron Shahrabani , 2011-2012 -# Yosef Or Boczko , 2015. +# Yosef Or Boczko , 2015, 2016. # msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-08-30 11:34+0300\n" -"PO-Revision-Date: 2015-08-30 11:35+0300\n" -"Last-Translator: Yosef Or Boczko \n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" +"product=Shotwell&component=Internationalization\n" +"POT-Creation-Date: 2016-08-14 17:56+0300\n" +"PO-Revision-Date: 2016-08-14 18:17+0300\n" +"Last-Translator: Yosef Or Boczko \n" "Language-Team: עברית <>\n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural= (n!=1);\n" -"X-Generator: Gtranslator 2.91.6\n" +"X-Generator: Gtranslator 2.91.7\n" -#: ../plugins/common/RESTSupport.vala:424 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" -msgstr "קובץ זמני הנדרש להפקה אינו זמין" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" -#: ../plugins/common/RESTSupport.vala:1138 +#: misc/shotwell.appdata.xml.in:9 +msgid "Popular photo manager" +msgstr "מנהל תמונות פופולרי" + +#: misc/shotwell.appdata.xml.in:11 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"כבר התחברת ומחוץ לשרתי Google תחת הפעלת Shotwell.\n" -"\n" -"בכדי להמשיך לפרסם על שרתי Google, יש לצאת ולהפעיל מחדש את Shotwell, ואחר " -"לנסות לפרסם שוב." - -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "ביקור באתר של Shotwell" +"‏Shotwell הוא מנהל תמונות מהיר וקל לשימוש שעוצב עבור שולחן העבודה GNOME. הוא " +"מאפשר לך לייבא תמונות מהמצלמה שלך לכונן הקשיח, לארגן אתם לפי תאריך, נושא " +"ואפילו לפי דירוג. הוא גם מציע עריכת תמונות בסיסית, כמו חיתוך, תיקון עיניים " +"אדומות, התאמת צבעים ויישור. עורך התמונות של Shotwell אינו הורס תמונות, הוא " +"אינו משנה את התמונות המקוריות, מה שמקל על ביצוע ניסיונות ותיקון טעויות." -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:705 -msgid "translator-credits" +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." msgstr "" -"ירון שהרבני \n" -"יוסף אור בוצ׳קו " +"בעת צפייה, Shotwell יכול להעלות את התמונות שלך למגוון של אתרי אינטרנט, כמו " +"Facebook, Flickr, ‏Picasa ‏(Google Plus) ועוד." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2009-2015 Yorba Foundation" -msgstr "כל הזכויות שמורות 2009‏-2015 לעמותת יורבה" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." +msgstr "‏Shotwell תומך ב־JPEG, PNG, TIFF ובתבניות קובץ RAW אחרות ." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 -msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." -msgstr "" -"ברוך בואך לשרות ייבוא הספריה של F-Spot.\n" -"\n" -"אנא בחר ספריה לייבוא, או ע\"י בחירת אחת הספריות שאותרו ע\"י Shotwell או ע\"י " -"בחירת קובץ מסד נתונים של F-Spot." +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "מנהל תמונות" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "ארגון התמונות שלך" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"ברוך בואך לשרות ייבוא הספריה של F-Spot.\n" -"\n" -"אנא בחר קובץ מסד נתונים של F-Spot." +"אלבום;אלבומים;מצלמה;מצלמות;חיתוך;עריכה;שיפור;הגדלה;ייצוא;יצוא;גלריה;תמונה;" +"תמונות;ייבוא;יבוא;ארגון;תצלום;תצלומים;צילום;" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "בחר באופן ידני קובץ מסד נתונים של F-Spot לטעינה:" +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +msgid "shotwell" +msgstr "shotwell" + +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "מציג התמונות Shotwell" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "מציג תמונות" + +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "authentication token" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." +msgstr "Yandex-Fotki authentication token, if logged in." + +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "Token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "The token to access tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "Secret token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" +msgstr "The secret token to sign oauth requests" + +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:416 +msgid "default size" +msgstr "default size" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +"A numeric code representing the default size for photos uploaded to Tumblr" msgstr "" -"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: הקובץ לא קיים או שאינו קובץ " -"מסד נתונים" - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 +"A numeric code representing the default size for photos uploaded to Tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" +msgstr "default blog" + +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "The name of the default blog of the user, if any" + +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "Rajce URL" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "URL of the Rajce server." + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:384 +#: misc/org.yorba.shotwell.gschema.xml:442 +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "username" +msgstr "username" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "Rajce username, if logged in." + +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "user token, if remembered." + +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last category" +msgstr "last category" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "The last selected Rajce category." + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:472 +msgid "last photo size" +msgstr "last photo size" + +#: misc/org.yorba.shotwell-extras.gschema.xml:65 msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." msgstr "" -"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: גרסת הקובץ אינה נתמכת ע\"י " -"Shotwell" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "remember" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." +msgstr "If true, remember last login." + +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "hide album" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." +msgstr "If true, hide the newly created Rajce album." + +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +msgid "open album in web browser" +msgstr "open album in web browser" + +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +"If true, open target album in the web browser just after uploading photos" msgstr "" -"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: חלה שגיאה בעת טעינת טבלת " -"התגיות" - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 +"If true, open target album in the web browser just after uploading photos" + +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:364 +#: misc/org.yorba.shotwell.gschema.xml:402 +#: misc/org.yorba.shotwell.gschema.xml:428 +#: misc/org.yorba.shotwell.gschema.xml:478 +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "remove sensitive info from uploads" +msgstr "remove sensitive info from uploads" + +#: misc/org.yorba.shotwell-extras.gschema.xml:89 msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +"Whether images being uploaded to Rajce should have their metadata removed " +"first" msgstr "" -"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: חלה שגיאה בעת טעינת טבלת " -"התמונות." +"Whether images being uploaded to Rajce should have their metadata removed " +"first" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "display basic properties" + +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." +msgstr "True if the basic properties pane is to be displayed, false otherwise." + +#: misc/org.yorba.shotwell.gschema.xml:28 +msgid "display extended properties" +msgstr "display extended properties" + +#: misc/org.yorba.shotwell.gschema.xml:29 msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +"True if the extended properties window is to be displayed, false otherwise." msgstr "" -"Shotwell מצא %d תמונות בספריית F-Spot והן מיובאות כרגע.תמונות כפולות יזוהו " -"ויוסרו באופן אוטומטי.\n" -"\n" -"באפשרותך לסגור חלונית זו ולהתחיל להשתמש ב-Shotwell בזמן שהייבוא מתבצע ברקע." +"True if the extended properties window is to be displayed, false otherwise." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "ספריית F-Spot: %s" +#: misc/org.yorba.shotwell.gschema.xml:34 +msgid "display sidebar" +msgstr "display sidebar" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "מתכונן לייבוא" +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "True if the sidebar is to be displayed, false otherwise." -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "שרותי ייבוא מידע בסיסי" +#: misc/org.yorba.shotwell.gschema.xml:40 +msgid "display toolbar" +msgstr "display toolbar" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "‏Gallery3 מודול פרסום" +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the bottom toolbar is to be displayed, false otherwise." +msgstr "True if the bottom toolbar is to be displayed, false otherwise." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 -msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." -msgstr "" -"נכון לעכשיו לא נכנסת לשירות Gallery.\n" -"\n" -"כדי להמשיך אמור להיות ברשותך חשבון Gallery3." +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display search bar" +msgstr "display search bar" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:47 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "True if the Search/Filter Toolbar is to be displayed, false otherwise." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "תיקיית בררת מחדל עבור Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo titles" +msgstr "display photo titles" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:53 msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"\n" -"\n" -"הקובץ „%s” עשוי שלא להיתמך או להיות גדול מדי עבור שלב זה של Gallery3." +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display photo comments" +msgstr "display photo comments" + +#: misc/org.yorba.shotwell.gschema.xml:59 msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"יש לשים לב כי Gallery3 תומך בסוגי וידאו אשר Flowplayer תומך." +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:64 +msgid "display event comments" +msgstr "display event comments" + +#: misc/org.yorba.shotwell.gschema.xml:65 msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." -msgstr "קובץ הנדרש לפרסום אינו זמין. הפרסום ל־%s לא יכול להמשך." +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." +msgstr "" +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "פרסום ל־%s כ־%s." +#: misc/org.yorba.shotwell.gschema.xml:70 +msgid "display photo tags" +msgstr "display photo tags" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: misc/org.yorba.shotwell.gschema.xml:71 msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." msgstr "" -"יש להזין את הכתובת עבור אתר ה־Gallery3 שלך ואת שם המשתמש והססמה (או מפתח " -"API) עבור חשבון ה־Gallery3 שלך." +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "display photo ratings" +msgstr "display photo ratings" + +#: misc/org.yorba.shotwell.gschema.xml:77 msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." msgstr "" -"שם המשתמש והססמה או מפתח ה־API שגויים. יש לנסות שוב, להזין מחדש את שם המשתמש " -"והססמה שלך להלן." +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." + +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "rating filter level" +msgstr "rating filter level" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: misc/org.yorba.shotwell.gschema.xml:83 msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." msgstr "" -"הכתובת שהוזנה אינה מופיעה בתיקייה הראשית של מופע Gallery3. יש לוודא כי הזנת " -"אותה כראוי והיא אינה מכילה רכיבים נגררים (כמו index.php)." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "משתמש לא מוכר" +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort events ascending" +msgstr "sort events ascending" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr "האתר לא נמצא" +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if events should be sorted ascending, false if descending." +msgstr "True if events should be sorted ascending, false if descending." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "כל הזכויות שמורות (C) 2013 rajce." +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos ascending" +msgstr "sort library photos ascending" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." -msgstr "אירעה שגיאה בעת הפרסום ל־Rajce. נא לנסות שוב." +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "True if library photos should be sorted ascending, false if descending." +msgstr "" +"True if library photos should be sorted ascending, false if descending." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." -msgstr "נא להזין את כתובת הדוא״ל והססמה של חשבון ה־Rajce שלך." +#: misc/org.yorba.shotwell.gschema.xml:100 +msgid "sort library photos criteria" +msgstr "sort library photos criteria" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "כתובת דוא״ל ו/או ססמה שגויים. נא לנסות שנית" +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." +msgstr "" +"A numeric code that specifies the sort criteria for photos in library views." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "שם משתמש דוא״ל או ססמה שגויים" +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos ascending" +msgstr "sort event photos ascending" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "כתובת _דוא״ל" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "True if event photos should be sorted ascending, false if descending." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_ססמה" +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "sort event photos criteria" +msgstr "sort event photos criteria" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "_זכירת ססמה" +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "Specifies the sort criteria for event photos." +msgstr "Specifies the sort criteria for event photos." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "כניסה" +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "use 24 hour time" +msgstr "use 24 hour time" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "ה_סתרת אלבום" +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "נכנסת ל־Rajce בשם %s." +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "keep relative time between photos" +msgstr "keep relative time between photos" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "התמונות יופיעו תחת:" +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "אלבום _קיים:" +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "modify original photo files" +msgstr "modify original photo files" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "_אלבום חדש בשם:" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "פתיחת ידע ה_אלבום בדפדפן" +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "show welcome dialog on startup" +msgstr "show welcome dialog on startup" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "_פרסום" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "י_ציאה" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "sidebar position" +msgstr "sidebar position" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "כל הזכויות שמורות 2012 ל־BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The width, in pixels, of the sidebar" +msgstr "The width, in pixels, of the sidebar" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500‎ × 375 פיקסלים" +#: misc/org.yorba.shotwell.gschema.xml:148 +msgid "photo thumbnail scale" +msgstr "photo thumbnail scale" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024‎ × 768 פיקסלים" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "The scale of photo thumbnails, ranging from 72 to 360." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280‎ × 853 פיקסלים" +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "pin toolbar state" +msgstr "pin toolbar state" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" -msgstr "'%s' אינו פלט תקין לבקשת אימות מסוג OAuth" +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "Pin toolbar in fullscreen, or not." +msgstr "Pin toolbar in fullscreen, or not." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "background color" +msgstr "background color" + +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "A grayscale color for use as the background color." +msgstr "A grayscale color for use as the background color." + +#: misc/org.yorba.shotwell.gschema.xml:166 +msgid "Selection state of \"hide photos\" option" +msgstr "Selection state of \"hide photos\" option" + +#: misc/org.yorba.shotwell.gschema.xml:167 msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." msgstr "" -"TumblrPublisher: start( )‎: אינו ניתן לאתחול, כיוון שמנשק זה אינו ניתן לאתחול " -"מחדש." +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." -msgstr "נא להזין את שם המשתמש והססמה של חשבון ה־Tumblr שלך" +#: misc/org.yorba.shotwell.gschema.xml:174 +msgid "delay" +msgstr "delay" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" -msgstr "שם המשתמש ו/או הססמה אינם נכונים. נא לנסות שנית" +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "Delay (in seconds) between photos in the slideshow." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "שם משתמש או ססמה שגויים" +#: misc/org.yorba.shotwell.gschema.xml:180 +msgid "transition delay" +msgstr "transition delay" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "טעינת המנשק נכשלה: %s" +#: misc/org.yorba.shotwell.gschema.xml:181 +msgid "" +"The time (in seconds) that a transition runs between photos in a slideshow" +msgstr "" +"The time (in seconds) that a transition runs between photos in a slideshow" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:186 +msgid "transition effect id" +msgstr "transition effect id" + +#: misc/org.yorba.shotwell.gschema.xml:187 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"The name of the transition effect that will be used between photos when " +"running a slideshow" msgstr "" -"נכנסת לחשבונך ב־Tumblr בשם %s.\n" -"\n" +"The name of the transition effect that will be used between photos when " +"running a slideshow" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "כל הזכויות שמורות 2010+ ל־Evgeniy Polyakov‏ " +#: misc/org.yorba.shotwell.gschema.xml:192 +msgid "Show title" +msgstr "Show title" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "ביקור באתר Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:193 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "Whether to show the title of a photo during the slideshow" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:632 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "לא נכנסת לשירות Yandex.Fotki." +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "maximize library window" +msgstr "maximize library window" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "שירותי פרסום נוספים של Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "True if library application is maximized, false otherwise." +msgstr "True if library application is maximized, false otherwise." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "_חזרה" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "width of library window" +msgstr "width of library window" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "_התחברות" +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded width of the library application window." +msgstr "The last recorded width of the library application window." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "הודעת פתיחה הוחלפה בזמן ריצה" +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "height of library window" +msgstr "height of library window" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "כתובת _Gallery3:" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "The last recorded height of the library application window." +msgstr "The last recorded height of the library application window." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "שם _משתמש:" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "maximize direct-edit window" +msgstr "maximize direct-edit window" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_ססמה:" +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "True if direct-edit application is maximized, false otherwise." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_מפתח API:" +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "width of direct-edit window" +msgstr "width of direct-edit window" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "או" +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded width of the direct-edit application window." +msgstr "The last recorded width of the direct-edit application window." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "אלבום _חדש" +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "height of direct-edit window" +msgstr "height of direct-edit window" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "אלבום _קיים" +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "The last recorded height of the direct-edit application window." +msgstr "The last recorded height of the direct-edit application window." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" -msgstr "ה_סרת מידע אודות מיקום, תג או מזהה מצלמה לפני העלאה" +#: misc/org.yorba.shotwell.gschema.xml:236 +msgid "sidebar divider position" +msgstr "sidebar divider position" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" -msgstr "'פרסום ע־$url בשם $usernamr' (מאוכלס בקוד יישום)" +#: misc/org.yorba.shotwell.gschema.xml:237 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." +msgstr "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "אילוץ שמירת יחס:" +#: misc/org.yorba.shotwell.gschema.xml:244 +msgid "import directory" +msgstr "import directory" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr "פיקסלים" +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "Directory in which imported photo files are placed." +msgstr "Directory in which imported photo files are placed." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "הגודל המקורי" +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "watch library directory for new files" +msgstr "watch library directory for new files" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "רוחב או גובה" +#: misc/org.yorba.shotwell.gschema.xml:251 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" +"If true, files added to the library directory are automatically imported." -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "תווית" +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "write metadata to master files" +msgstr "write metadata to master files" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "בלוגים:" +#: misc/org.yorba.shotwell.gschema.xml:257 +msgid "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." +msgstr "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "_גודל תמונה:" +#: misc/org.yorba.shotwell.gschema.xml:262 +msgid "use lowercase filenames" +msgstr "use lowercase filenames" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "נכנסת ל־rajce בשם $name" +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" +msgstr "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype יופיעו בתוך" +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern" +msgstr "directory pattern" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "_אלבומים (או כתיבת חדש):" +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "_סוג הגישה" +#: misc/org.yorba.shotwell.gschema.xml:274 +msgid "directory pattern custom" +msgstr "directory pattern custom" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "נטרול הה_ערות" +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "_איסור הורדת התמונה המקורית" +#: misc/org.yorba.shotwell.gschema.xml:280 +msgid "RAW developer default" +msgstr "RAW developer default" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "ציבורי" +#: misc/org.yorba.shotwell.gschema.xml:281 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "Default option for which RAW developer Shotwell will use." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1181 -msgid "Friends" -msgstr "חברים" +#: misc/org.yorba.shotwell.gschema.xml:288 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "Most-recently-used crop aspect ratio menu choice." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "פרטי" +#: misc/org.yorba.shotwell.gschema.xml:289 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "A numeric code representing the last crop menu choice the user made." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Shotwell Connect" +#: misc/org.yorba.shotwell.gschema.xml:293 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "Most-recently-used crop custom aspect ratio's numerator." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:294 msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." msgstr "" -"נכון לעכשיו לא ביצעת כניסה לחשבון ה־Facebook שלך.\n" -"\n" -"אם עדיין אין לך חשבון Facebook, באפשרותך ליצור אחד במהלך הכניסה. במשך תהליך " -"הכניסה, Shotwell Connect עלול לבקש את רשותך להעלות תמונות ולפרסם אותן בהזנה " -"שלך. הרשאות אלו נחוצות כדי ש־Shotwell Connect יוכל לתפקד." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 +#: misc/org.yorba.shotwell.gschema.xml:298 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "Most-recently-used crop custom aspect ratio's denominator." + +#: misc/org.yorba.shotwell.gschema.xml:299 msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." msgstr "" -"כבר יצאת מ־Facebook במהלך הפעלה זו של Shotwell.\n" -"כדי להמשיך לפרסם ל־Facebook, עליך לצאת ולהפעיל מחדש את Shotwell ואז לנסות " -"לפרסם שוב." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "רגיל (720 פיקסלים)" +#: misc/org.yorba.shotwell.gschema.xml:306 +msgid "external photo editor" +msgstr "external photo editor" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "גדול (2048 פיקסלים)" +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit photos." +msgstr "External application used to edit photos." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "החיבור ל־Facebook נבדק..." +#: misc/org.yorba.shotwell.gschema.xml:312 +msgid "external raw editor" +msgstr "external raw editor" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "אלבום נוצר..." +#: misc/org.yorba.shotwell.gschema.xml:313 +msgid "External application used to edit RAW photos." +msgstr "External application used to edit RAW photos." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 +#: misc/org.yorba.shotwell.gschema.xml:320 +msgid "last used publishing service" +msgstr "last used publishing service" + +#: misc/org.yorba.shotwell.gschema.xml:321 +#: misc/org.yorba.shotwell.gschema.xml:327 msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." +"A numeric code representing the last service to which photos were published" msgstr "" -"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Facebook לא תוכל להתבצע." +"A numeric code representing the last service to which photos were published" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1019 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:326 +msgid "default publishing service" +msgstr "default publishing service" + +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "access token" +msgstr "access token" + +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook OAuth token for the currently logged in session, if any" +msgstr "Facebook OAuth token for the currently logged in session, if any" + +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user i.d." +msgstr "user i.d." + +#: misc/org.yorba.shotwell.gschema.xml:347 +msgid "Facebook user i.d. for the currently logged in user, if any" +msgstr "Facebook user i.d. for the currently logged in user, if any" + +#: misc/org.yorba.shotwell.gschema.xml:352 +msgid "user name" +msgstr "user name" + +#: misc/org.yorba.shotwell.gschema.xml:353 +msgid "The name of the currently logged in Facebook user, if any" +msgstr "The name of the currently logged in Facebook user, if any" + +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default size code" +msgstr "default size code" + +#: misc/org.yorba.shotwell.gschema.xml:359 msgid "" -"You are logged into Facebook as %s.\n" -"\n" +"A numeric code representing the default size for photos published to Facebook" msgstr "" -"נכנסת ל־Facebook בשם %s.\n" -"\n" +"A numeric code representing the default size for photos published to Facebook" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1020 -msgid "Where would you like to publish the selected photos?" -msgstr "להיכן ברצונך לפרסם את התמונות הנבחרות?" +#: misc/org.yorba.shotwell.gschema.xml:365 +msgid "" +"Whether images being uploaded to Facebook should have their metadata removed " +"first" +msgstr "" +"Whether images being uploaded to Facebook should have their metadata removed " +"first" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1021 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "גודל הה_עלאה:" +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token" +msgstr "OAuth Access Phase Token" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1180 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "רק לי" +#: misc/org.yorba.shotwell.gschema.xml:373 +msgid "The authorization token for the currently logged in Flickr user, if any" +msgstr "" +"The authorization token for the currently logged in Flickr user, if any" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1182 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "כולם" +#: misc/org.yorba.shotwell.gschema.xml:378 +msgid "OAuth Access Phase Token Secret" +msgstr "OAuth Access Phase Token Secret" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 +#: misc/org.yorba.shotwell.gschema.xml:379 msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" msgstr "" -"לא נכנסת ל־Flickr.\n" -"\n" -"יש ללחוץ על כניסה כדי להיכנס ל־Flickr בדפדפן שלך. יהיה עליך לאמת את " -"Shotwell Connect כדי לקשר אל חשבון ה־Flickr שלך." +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "The user name of the currently logged in Flickr user, if any" + +#: misc/org.yorba.shotwell.gschema.xml:391 msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +"A numeric code representing the default size for photos published to Flickr" msgstr "" -"כבר נכנסת ויצאת מ־Flick במהלך הפעלה זו של Shotwell.\n" -"כדי להמשיך לפרסם ל־Flickr, עליך לצאת ולהפעיל מחדש את Shotwell ואז לנסות " -"לפרסם שוב." +"A numeric code representing the default size for photos published to Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "בהכנות לכניסה..." +#: misc/org.yorba.shotwell.gschema.xml:396 +msgid "default visibility" +msgstr "default visibility" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 +#: misc/org.yorba.shotwell.gschema.xml:397 msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +"A numeric code representing the default visibility for photos published to " +"Flickr" msgstr "" -"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Flickr לא תוכל להתבצע." +"A numeric code representing the default visibility for photos published to " +"Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "האימות בווידוא..." +#: misc/org.yorba.shotwell.gschema.xml:403 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:410 +#: misc/org.yorba.shotwell.gschema.xml:542 +msgid "refresh token" +msgstr "refresh token" + +#: misc/org.yorba.shotwell.gschema.xml:411 msgid "" -"You are logged into Flickr as %s.\n" -"\n" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." msgstr "" -"נכנסת ל־Flickr בשם %s.\n" -"\n" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:417 msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"חשבונך הפטור מתשלום ב־Flickr מגביל את כמות המידע שניתן להעלות בחודש.\n" -"החודש, נותרו לך %d מגה בתים במכסת ההעלאה שלך." -msgstr[1] "" -"חשבונך הפטור מתשלום ב־Flickr מגביל את כמות המידע שניתן להעלות בחודש.\n" -"החודש, נותרו לך %d מגה בתים במכסת ההעלאה שלך." +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." -msgstr "חשבון ה־Flickr Pro שלך מזכה אותך בכמויות העלאה בלתי מוגבלות." +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "last album" +msgstr "last album" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "התמונות _גלויות לעיני:" +#: misc/org.yorba.shotwell.gschema.xml:423 +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "The name of the last album the user published photos to, if any" +msgstr "The name of the last album the user published photos to, if any" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "קטעי הווי_דאו גלוים לעיני:" +#: misc/org.yorba.shotwell.gschema.xml:429 +msgid "" +"Whether images being uploaded to Picasa should have their metadata removed " +"first" +msgstr "" +"Whether images being uploaded to Picasa should have their metadata removed " +"first" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "הת_מונות וקטעי הווידאו גלויים לעיני:" +#: misc/org.yorba.shotwell.gschema.xml:436 +msgid "Piwigo URL" +msgstr "Piwigo URL" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "חברים ומשפחה בלבד" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "URL of the Piwigo server." +msgstr "URL of the Piwigo server." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "רק משפחה" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo username, if logged in." +msgstr "Piwigo username, if logged in." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "רק חברים" +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "password" +msgstr "password" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048 x‏ 1536 פיקסלים" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "Piwigo password, if logged in." +msgstr "Piwigo password, if logged in." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096 x‏ 3072 פיקסלים" +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "remember password" +msgstr "remember password" + +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "If true, remember the Piwigo password." +msgstr "If true, remember the Piwigo password." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last selected Piwigo category." +msgstr "The last selected Piwigo category." + +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last permission level" +msgstr "last permission level" + +#: misc/org.yorba.shotwell.gschema.xml:467 +msgid "The last chosen Piwigo permission level." +msgstr "The last chosen Piwigo permission level." + +#: misc/org.yorba.shotwell.gschema.xml:473 msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." msgstr "" -"אינך מחובר לאתר Picasa Web Albums.\n" -"\n" -"הקלק על התחבר בכדי להכנס לחשבונך ב-Picasa Web Albums בדפדפן שלך. תצטרך לאשר " -"ל-Shotwell להתחבר על מנת לקשר לחשבון Picasa Web Albums שלך." +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 +#: misc/org.yorba.shotwell.gschema.xml:479 msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" msgstr "" -"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Picasa לא תוכל להתבצע." +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "נכנסת ל־Picasa Web Albums בשם %s." +#: misc/org.yorba.shotwell.gschema.xml:484 +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "קטעי הווידאו יופיעו בתוך:" +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "קטנה (640 x‏ 480 פיקסלים)" +#: misc/org.yorba.shotwell.gschema.xml:490 +msgid "do not upload tags when uploading to Piwigo" +msgstr "do not upload tags when uploading to Piwigo" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "בינונית (1024 x‏ 768 פיקסלים)" +#: misc/org.yorba.shotwell.gschema.xml:491 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "מומלצת (1600 x‏ 1200 פיקסלים)" +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 username" +msgstr "Gallery3 username" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048 x 1536 פיקסלים)" +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "API key" +msgstr "API key" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "הגודל המקורי" +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 API key" +msgstr "Gallery3 API key" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "מייצר אלבום %s…" +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "URL" +msgstr "URL" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." -msgstr "אירעה שגיאה בעת הפרסום לפיוויגו. נא לנסות שוב." +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "Gallery3 site URL" +msgstr "Gallery3 site URL" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: misc/org.yorba.shotwell.gschema.xml:523 msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" msgstr "" -"הזן את כתובת האתר של ספריית התמונות Piwigo שלך וכן את שם המשתמש והסיסמה " -"לגישה לחשבון -Piwigo שלך עבור ספריה זו." +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" + +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "scaling constraint of uploaded picture" +msgstr "scaling constraint of uploaded picture" + +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "The scaling constraint ID of the picture to be uploaded" + +#: misc/org.yorba.shotwell.gschema.xml:534 +msgid "pixels of the major axis uploaded picture" +msgstr "pixels of the major axis uploaded picture" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 +#: misc/org.yorba.shotwell.gschema.xml:535 msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" msgstr "" -"Shotwell אינו יכול להתחבר לספריית התמונות Piwigo. אנא בדוק את כתובת האתר " -"שהזנת" +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "כתובת אתר לא תקינה" - -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "מנהלי מערכת, משפחה, חברים, אנשי קשר" +#: misc/org.yorba.shotwell.gschema.xml:543 +msgid "" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." +msgstr "" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "מנהלי מערכת, משפחה, חברים" +#: misc/org.yorba.shotwell.gschema.xml:550 +msgid "last used import service" +msgstr "last used import service" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "מנהלי מערכת, משפחה" +#: misc/org.yorba.shotwell.gschema.xml:551 +msgid "" +"A numeric code representing the last service from which photos were imported" +msgstr "" +"A numeric code representing the last service from which photos were imported" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "מנהלי מערכת" +#: misc/org.yorba.shotwell.gschema.xml:558 +msgid "interpreter state cookie" +msgstr "interpreter state cookie" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 +#: misc/org.yorba.shotwell.gschema.xml:559 msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." +"A numeric code that captures the state of the GStreamer plug-in environment" msgstr "" -"נכון לעכשיו לא נכנסת לשירות YouTube.\n" -"\n" -"כדי להמשיך אמור להיות ברשותך חשבון Google המוגדר לשימוש בשילוב YouTube. ניתן " -"להגדיר את רוב החשבונות על ידי שימוש בדפדפן האינטרנט שלך כדי להיכנס ל־YouTube " -"לפחות פעם אחת." +"A numeric code that captures the state of the GStreamer plug-in environment" + +#: misc/org.yorba.shotwell.gschema.xml:566 +msgid "content layout mode" +msgstr "content layout mode" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 +#: misc/org.yorba.shotwell.gschema.xml:567 msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." +"A numeric code that describes how photos are laid out on the page during " +"printing" msgstr "" -"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Youtube לא תוכל להתבצע." +"A numeric code that describes how photos are laid out on the page during " +"printing" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "נכנסת ל־YouTube בשם %s." +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content ppi" +msgstr "content ppi" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "קטעי הווידאו יופיעו בתוך '%s'" +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "" +"The number of pixels per inch (ppi) sent to the printer during printing" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "הצגה ציבורית" +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content width" +msgstr "content width" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "לא מוצג לכלל הציבור" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The width of the printed emulsion on the page when printing" +msgstr "The width of the printed emulsion on the page when printing" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "פרסום לאלבום _קיים:" +#: misc/org.yorba.shotwell.gschema.xml:584 +msgid "content height" +msgstr "content height" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "יצירת אלבום _חדש בשם:" +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "The height of the printed emulsion on the page when printing" +msgstr "The height of the printed emulsion on the page when printing" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "קטעי הווידאו והתמונות החדשים _גלויים לעיני:" +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "content units" +msgstr "content units" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 +#: misc/org.yorba.shotwell.gschema.xml:591 msgid "" -"_Remove location, camera, and other identifying information before uploading" -msgstr "ה_סרת נתונים אודות מיקום, מצלמה ומידע מזהה אחר לפני העלאה" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" +msgstr "" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" + +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "images per page code" +msgstr "images per page code" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 +#: misc/org.yorba.shotwell.gschema.xml:597 msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." -msgstr "נא להזין את מספר האימות שמופיע לאחר הכניסה ל־Flickr בדפדפן שלך." +"A numeric code representing the currently selected images per page mode used " +"when printing" +msgstr "" +"A numeric code representing the currently selected images per page mode used " +"when printing" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "מספר ה_אימות:" +#: misc/org.yorba.shotwell.gschema.xml:602 +msgid "size selection" +msgstr "size selection" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "המ_שך" +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" +"The index of the current print size in a pre-defined list of standard sizes" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "ה_צגת האלבום בגלריה ציבורית" +#: misc/org.yorba.shotwell.gschema.xml:608 +msgid "match aspect ratio" +msgstr "match aspect ratio" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "ערכת _גודל התמונה:" +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "_כתובת של ספריית התמונות שלך ב־Piwigo" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "print titles" +msgstr "print titles" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "_שם משתמש" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "_זכור ססמה" +#: misc/org.yorba.shotwell.gschema.xml:620 +msgid "titles font" +msgstr "titles font" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "_קטגוריה קיימת:" +#: misc/org.yorba.shotwell.gschema.xml:621 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "The name of the font to use for photo titles when they are printed." -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "התמונות יהיו זמינות _עד:" +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable facebook publishing plugin" +msgstr "enable facebook publishing plugin" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "גודל התמונה:" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "True if the Facebook publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "בתוך קטגוריה:" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable flickr publishing plugin" +msgstr "enable flickr publishing plugin" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "הערת אלבום:" +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "True if the Flickr publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" -msgstr "_אם כותרת נקבעה והערת חסרה, הכותרת תשמש כהערה" +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable picasa publishing plugin" +msgstr "enable picasa publishing plugin" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "_לא להעלות תגים" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "התנתקות" +#: misc/org.yorba.shotwell.gschema.xml:650 +msgid "enable youtube publishing plugin" +msgstr "enable youtube publishing plugin" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:303 -msgid "Publish" -msgstr "פרסום" +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "True if the YouTube publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "שירותי פרסום של הליבה" +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable piwigo publishing plugin" +msgstr "enable piwigo publishing plugin" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "הגדרות ה_פרטיות של הווידאו:" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "True if the Piwigo publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "תריסים" +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable yandex publishing plugin" +msgstr "enable yandex publishing plugin" -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "שח מט" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "עיגול" +#: misc/org.yorba.shotwell.gschema.xml:668 +msgid "enable tumblr publishing plugin" +msgstr "enable tumblr publishing plugin" -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "עיגולים" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "True if the Tumblr publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "שעון" +#: misc/org.yorba.shotwell.gschema.xml:674 +msgid "enable rajce publishing plugin" +msgstr "enable rajce publishing plugin" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "התפוררות" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "True if the Rajce publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "עמעום" +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable gallery3 publishing plugin" +msgstr "enable gallery3 publishing plugin" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "שקופית" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "True if the Gallery3 publishing plugin is enabled, false otherwise" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "ריבועים" +#: misc/org.yorba.shotwell.gschema.xml:686 +msgid "enable F-Spot import plugin" +msgstr "enable F-Spot import plugin" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "פסים" +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "True if the F-Spot import plugin is enabled, false otherwise" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "מעברי ליבה של מצגות" +#: misc/org.yorba.shotwell.gschema.xml:692 +msgid "enable slideshow crumble transition" +msgstr "enable slideshow crumble transition" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 -msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" +#: misc/org.yorba.shotwell.gschema.xml:693 +msgid "" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" msgstr "" -"כל הזכויות שמורות 2010 למקסים קרטשב, כל הזכויות שמורות 2011-2015 לעמותת יורבה" - -#: ../src/AppDirs.vala:48 ../src/AppDirs.vala:99 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "אין אפשרות לייצר את ספריית המטמון %s: %s" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" -#: ../src/AppDirs.vala:58 ../src/AppDirs.vala:88 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "לא ניתן ליצור את תיקייה הנתונים %s:‏ %s" +#: misc/org.yorba.shotwell.gschema.xml:698 +msgid "enable slideshow fade transition" +msgstr "enable slideshow fade transition" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:152 -msgid "Pictures" -msgstr "תמונות" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" -#: ../src/AppDirs.vala:190 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "לא ניתן ליצור את התיקייה הזמנית %s:‏ %s" +#: misc/org.yorba.shotwell.gschema.xml:704 +#: misc/org.yorba.shotwell.gschema.xml:728 +msgid "enable slideshow slide transition" +msgstr "enable slideshow slide transition" -#: ../src/AppDirs.vala:207 ../src/AppDirs.vala:238 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "לא ניתן ליצור את תת־תיקיית הנתונים %s: ‏%s" +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" -#: ../src/AppDirs.vala:220 -#, c-format -msgid "Could not make directory %s writable" -msgstr "לא ניתן להפוך את התיקייה %s לניתנת לכתיבה" +#: misc/org.yorba.shotwell.gschema.xml:710 +msgid "enable slideshow clock transition" +msgstr "enable slideshow clock transition" -#: ../src/AppDirs.vala:223 -#, c-format -msgid "Could not make directory %s writable: %s" -msgstr "לא ניתן להפוך את התיקייה %s לניתנת לכתיבה: ‏%s" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" -#: ../src/AppWindow.vala:53 -msgid "Pin Toolbar" -msgstr "הצמדת סרגל הכלים" +#: misc/org.yorba.shotwell.gschema.xml:716 +#: misc/org.yorba.shotwell.gschema.xml:722 +msgid "enable slideshow circle transition" +msgstr "enable slideshow circle transition" -#: ../src/AppWindow.vala:54 -msgid "Pin the toolbar open" -msgstr "הצמדת סרגל הכלים שיישאר פתוח" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" -#: ../src/AppWindow.vala:59 -msgid "Leave fullscreen" -msgstr "יציאה ממסך מלא" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" -#: ../src/AppWindow.vala:525 -msgid "_Contents" -msgstr "_תכנים" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" -#: ../src/AppWindow.vala:530 -msgid "_Frequently Asked Questions" -msgstr "שאלות _נפוצות" +#: misc/org.yorba.shotwell.gschema.xml:734 +msgid "enable slideshow squares transition" +msgstr "enable slideshow squares transition" -#: ../src/AppWindow.vala:535 -msgid "_Report a Problem..." -msgstr "_דווח על בעיה..." +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" -#: ../src/AppWindow.vala:634 ../src/AppWindow.vala:655 -#: ../src/AppWindow.vala:672 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1418 ../src/Dialogs.vala:1441 ../src/Resources.vala:162 -#: ../src/data_imports/DataImportsUI.vala:374 -#: ../src/publishing/PublishingUI.vala:475 -msgid "_Cancel" -msgstr "_ביטול" +#: misc/org.yorba.shotwell.gschema.xml:740 +msgid "enable slideshow stripes transition" +msgstr "enable slideshow stripes transition" -#: ../src/AppWindow.vala:682 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:741 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" -"\n" -"%s" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" msgstr "" -"אירעה שגיאה קריטית בעת הגישה לספרייה של Shotwell. ‏Shotwell לא תוכל להמשיך.\n" -"\n" -"%s" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" -#: ../src/AppWindow.vala:702 -msgid "Visit the Yorba web site" -msgstr "ביקור באתר של Yorba" +#: misc/org.yorba.shotwell.gschema.xml:746 +msgid "enable slideshow chess transition" +msgstr "enable slideshow chess transition" -#: ../src/AppWindow.vala:714 -#, c-format -msgid "Unable to display help: %s" -msgstr "לא ניתן להציג את העזרה: %s" +#: misc/org.yorba.shotwell.gschema.xml:747 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" -#: ../src/AppWindow.vala:722 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "אין אפשרות לגלוש למסד נתוני התקלות: %s" +#: plugins/common/Resources.vala:12 +msgid "Visit the Shotwell home page" +msgstr "ביקור באתר של Shotwell" -#: ../src/AppWindow.vala:730 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "לא ניתן להציג את השאלות הנפוצות: %s" +#: plugins/common/Resources.vala:31 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"ירון שהרבני \n" +"יוסף אור בוצ׳קו " -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "הצלחה" +#: plugins/common/RESTSupport.vala:451 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:958 +msgid "A temporary file needed for publishing is unavailable" +msgstr "קובץ זמני הנדרש להפקה אינו זמין" -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "שגיאת קובץ" +#: plugins/common/RESTSupport.vala:1157 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" +"כבר התחברת ומחוץ לשרתי Google תחת הפעלת Shotwell.\n" +"\n" +"בכדי להמשיך לפרסם על שרתי Google, יש לצאת ולהפעיל מחדש את Shotwell, ואחר " +"לנסות לפרסם שוב." -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "לא ניתן לפענח את הקובץ" +#: plugins/shotwell-data-imports/FSpotImporter.vala:36 +#: plugins/shotwell-publishing/FacebookPublishing.vala:33 +#: plugins/shotwell-publishing/FlickrPublishing.vala:33 +#: plugins/shotwell-publishing/PicasaPublishing.vala:33 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:33 +#: plugins/shotwell-publishing/YouTubePublishing.vala:33 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "כל הזכויות שמורות 2016 מוסד חופש התכנה בע״מ." -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "שגיאת מסד נתונים" +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"ברוך בואך לשרות ייבוא הספריה של F-Spot.\n" +"\n" +"אנא בחר ספריה לייבוא, או ע\"י בחירת אחת הספריות שאותרו ע\"י Shotwell או ע\"י " +"בחירת קובץ מסד נתונים של F-Spot." -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "המשתמש ביטל את היבוא" +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"ברוך בואך לשרות ייבוא הספריה של F-Spot.\n" +"\n" +"אנא בחר קובץ מסד נתונים של F-Spot." -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "לא קובץ" +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "Manually select an F-Spot database file to import:" +msgstr "בחר באופן ידני קובץ מסד נתונים של F-Spot לטעינה:" -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "הקובץ כבר קיים במסד הנתונים" +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: הקובץ לא קיים או שאינו קובץ " +"מסד נתונים" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "מבנה הקובץ אינו נתמך" +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: גרסת הקובץ אינה נתמכת ע\"י " +"Shotwell" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "לא קובץ תמונה" +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: חלה שגיאה בעת טעינת טבלת " +"התגיות" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "שגיאה בכונן" +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"אין אפשרות לפתוח את קובץ מסד הנתונים של F-Spot: חלה שגיאה בעת טעינת טבלת " +"התמונות." -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "הכונן מלא" +#: plugins/shotwell-data-imports/FSpotImporter.vala:72 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"Shotwell מצא %d תמונות בספריית F-Spot והן מיובאות כרגע.תמונות כפולות יזוהו " +"ויוסרו באופן אוטומטי.\n" +"\n" +"באפשרותך לסגור חלונית זו ולהתחיל להשתמש ב-Shotwell בזמן שהייבוא מתבצע ברקע." -#: ../src/BatchImport.vala:59 -msgid "Camera error" -msgstr "שגיאת מצלמה" +#: plugins/shotwell-data-imports/FSpotImporter.vala:86 +#, c-format +msgid "F-Spot library: %s" +msgstr "ספריית F-Spot: %s" -#: ../src/BatchImport.vala:62 -msgid "File write error" -msgstr "שגיאת כתיבה לקובץ" +#: plugins/shotwell-data-imports/FSpotImporter.vala:424 +msgid "Preparing to import" +msgstr "מתכונן לייבוא" -#: ../src/BatchImport.vala:65 -msgid "Corrupt image file" -msgstr "קובץ תמונה מושחת" +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "שרותי ייבוא מידע בסיסי" -#: ../src/BatchImport.vala:68 -#, c-format -msgid "Imported failed (%d)" -msgstr "המיובאות כשלו (%d)" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "_חזרה" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2637 -msgid "S_lideshow" -msgstr "מ_צגת" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "_התחברות" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2638 -msgid "Play a slideshow" -msgstr "הפעלת מצגת" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "כתובת _Gallery3:" -#: ../src/CollectionPage.vala:456 -msgid "Export Photo/Video" -msgstr "יצוא תמונות/קטעי וידאו" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "שם _משתמש:" -#: ../src/CollectionPage.vala:456 -msgid "Export Photos/Videos" -msgstr "יצוא תמונות/קטעי וידאו" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_ססמה:" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3211 -msgid "Export Photo" -msgstr "יצוא תמונות" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "_מפתח API:" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 -msgid "Export Photos" -msgstr "יצוא תמונות" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "או" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Rotating" -msgstr "סיבוב" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "י_ציאה" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Undoing Rotate" -msgstr "ביטול הסיבוב" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "_פרסום" -#: ../src/CollectionPage.vala:570 -msgid "Flipping Horizontally" -msgstr "היפוך אופקי" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "אלבום _חדש" -#: ../src/CollectionPage.vala:571 -msgid "Undoing Flip Horizontally" -msgstr "ביטול היפוך אופקי" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "אלבום _קיים" -#: ../src/CollectionPage.vala:580 -msgid "Flipping Vertically" -msgstr "היפוך אנכי" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "ה_סרת מידע אודות מיקום, תג או מזהה מצלמה לפני העלאה" -#: ../src/CollectionPage.vala:581 -msgid "Undoing Flip Vertically" -msgstr "ביטול היפוך אנכי" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "אילוץ שמירת יחס:" -#: ../src/Commands.vala:733 -msgid "Reverting" -msgstr "שחזור" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "פיקסלים" -#: ../src/Commands.vala:733 -msgid "Undoing Revert" -msgstr "ביטול השחזור" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "הגודל המקורי" -#: ../src/Commands.vala:777 -msgid "Enhancing" -msgstr "שיפור" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "רוחב או גובה" -#: ../src/Commands.vala:777 -msgid "Undoing Enhance" -msgstr "ביטול השיפור" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "‏Gallery3 מודול פרסום" -#: ../src/Commands.vala:853 -msgid "Applying Color Transformations" -msgstr "החלת שינויי צבע" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" +"נכון לעכשיו לא נכנסת לשירות Gallery.\n" +"\n" +"כדי להמשיך אמור להיות ברשותך חשבון Gallery3." -#: ../src/Commands.vala:853 -msgid "Undoing Color Transformations" -msgstr "ביטול שינויי צבע" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "תיקיית בררת מחדל עבור Shotwell" -#: ../src/Commands.vala:1003 -msgid "Creating New Event" -msgstr "יצירת אירוע חדש" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" +"\n" +"\n" +"\n" +"הקובץ „%s” עשוי שלא להיתמך או להיות גדול מדי עבור שלב זה של Gallery3." -#: ../src/Commands.vala:1004 -msgid "Removing Event" -msgstr "הסרת האירוע" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" +"\n" +"יש לשים לב כי Gallery3 תומך בסוגי וידאו אשר Flowplayer תומך." -#: ../src/Commands.vala:1013 -msgid "Moving Photos to New Event" -msgstr "העברת תמונות לאירוע חדש" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1021 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1773 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "קובץ הנדרש לפרסום אינו זמין. הפרסום ל־%s לא יכול להמשך." -#: ../src/Commands.vala:1014 -msgid "Setting Photos to Previous Event" -msgstr "הגדרת התמונות לאירוע הקודם" +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1550 +#, c-format +msgid "Publishing to %s as %s." +msgstr "פרסום ל־%s כ־%s." -#: ../src/Commands.vala:1071 -msgid "Merging" -msgstr "מיזוג" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1817 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"יש להזין את הכתובת עבור אתר ה־Gallery3 שלך ואת שם המשתמש והססמה (או מפתח " +"API) עבור חשבון ה־Gallery3 שלך." -#: ../src/Commands.vala:1072 -msgid "Unmerging" -msgstr "ביטול המיזוג" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1818 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"שם המשתמש והססמה או מפתח ה־API שגויים. יש לנסות שוב, להזין מחדש את שם המשתמש " +"והססמה שלך להלן." -#: ../src/Commands.vala:1081 -msgid "Duplicating photos" -msgstr "התמונות משוכפלות" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"הכתובת שהוזנה אינה מופיעה בתיקייה הראשית של מופע Gallery3. יש לוודא כי הזנת " +"אותה כראוי והיא אינה מכילה רכיבים נגררים (כמו index.php)." -#: ../src/Commands.vala:1081 -msgid "Removing duplicated photos" -msgstr "הסרת תמונות משוכפלות" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1872 +msgid "Unrecognized User" +msgstr "משתמש לא מוכר" -#: ../src/Commands.vala:1104 -#, c-format -msgid "Unable to duplicate one photo due to a file error" -msgid_plural "Unable to duplicate %d photos due to file errors" -msgstr[0] "לא ניתן לשכפל תמונה אחת עקב שגיאת קובץ" -msgstr[1] "לא ניתן לשכפל %d תמונות עקב שגיאות בקבצים" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1877 +msgid " Site Not Found" +msgstr "האתר לא נמצא" -#: ../src/Commands.vala:1191 -msgid "Restoring previous rating" -msgstr "הדירוג הקודם משוחזר" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "כתובת _דוא״ל" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Increasing ratings" -msgstr "הדירוגים עולים" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_ססמה" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Decreasing ratings" -msgstr "הדירוגים יורדים" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:894 +msgid "_Remember" +msgstr "_זכירת ססמה" -#: ../src/Commands.vala:1252 -msgid "Setting RAW developer" -msgstr "הגדרת מתכנת RAW" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:895 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "כניסה" -#: ../src/Commands.vala:1252 -msgid "Restoring previous RAW developer" -msgstr "מתכנת ה־RAW הקודם משוחזר" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "אלבום _קיים:" -#: ../src/Commands.vala:1253 -msgid "Set Developer" -msgstr "הגדרת מתכנת" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "_אלבום חדש בשם:" -#: ../src/Commands.vala:1343 -msgid "Original photo could not be adjusted." -msgstr "לא ניתן להתאים את התמונה המקורית." +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1005 +msgid "_Hide album" +msgstr "ה_סתרת אלבום" -#: ../src/Commands.vala:1364 -msgid "Adjusting Date and Time" -msgstr "התאריך והשעה מכוונים" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +msgid "Open target _album in browser" +msgstr "פתיחת ידע ה_אלבום בדפדפן" -#: ../src/Commands.vala:1364 -msgid "Undoing Date and Time Adjustment" -msgstr "כיוון התאריך והשעה מבוטלים" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:40 +msgid "Copyright (C) 2013 rajce.net" +msgstr "כל הזכויות שמורות (C) 2013 rajce." -#: ../src/Commands.vala:1395 -msgid "One original photo could not be adjusted." -msgid_plural "The following original photos could not be adjusted." -msgstr[0] "לא ניתן להתאים תמונה מקורית אחת." -msgstr[1] "לא ניתן להתאים את התמונות המקוריות שלהלן." +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:744 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "אירעה שגיאה בעת הפרסום ל־Rajce. נא לנסות שוב." -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 -msgid "Time Adjustment Error" -msgstr "שגיאה בכיוון הזמן" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:833 +msgid "Enter email and password associated with your Rajce account." +msgstr "נא להזין את כתובת הדוא״ל והססמה של חשבון ה־Rajce שלך." -#: ../src/Commands.vala:1419 -msgid "Time adjustments could not be undone on the following photo file." -msgid_plural "" -"Time adjustments could not be undone on the following photo files." -msgstr[0] "לא ניתן לבטל את כיוון הזמן לקובץ התמונה הבא." -msgstr[1] "לא ניתן לבטל את כיוון הזמן לקובצי התמונה הבאים." +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:834 +msgid "Invalid email and/or password. Please try again" +msgstr "כתובת דוא״ל ו/או ססמה שגויים. נא לנסות שנית" -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 -msgid "Create Tag" -msgstr "יצירת תגית" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:865 +msgid "Invalid User Email or Password" +msgstr "שם משתמש דוא״ל או ססמה שגויים" -#: ../src/Commands.vala:1691 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 #, c-format -msgid "Move Tag \"%s\"" -msgstr "העברת התגית „%s“" +msgid "You are logged into Rajce as %s." +msgstr "נכנסת ל־Rajce בשם %s." -#: ../src/Commands.vala:2343 -msgid "Move Photos to Trash" -msgstr "העברת תמונות לאשפה" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "התמונות יופיעו תחת:" -#: ../src/Commands.vala:2343 -msgid "Restore Photos from Trash" -msgstr "שחזור תמונות מהאשפה" +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "שירותי פרסום נוספים של Shotwell" -#: ../src/Commands.vala:2344 -msgid "Move the photos to the Shotwell trash" -msgstr "העברת התמונות לאשפה של Shotwell" +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "בלוגים:" -#: ../src/Commands.vala:2344 -msgid "Restore the photos back to the Shotwell library" -msgstr "שחזור תמונות מהאשפה של Shotwell" +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "_גודל תמונה:" -#: ../src/Commands.vala:2363 -msgid "Moving Photos to Trash" -msgstr "תמונות מועברות לאשפה" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:36 +msgid "Copyright 2012 BJA Electronics" +msgstr "כל הזכויות שמורות 2012 ל־BJA Electronics" -#: ../src/Commands.vala:2363 -msgid "Restoring Photos From Trash" -msgstr "תמונות משוחזרות מהאשפה" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1231 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1230 +msgid "500 x 375 pixels" +msgstr "500‎ × 375 פיקסלים" -#: ../src/Commands.vala:2449 -msgid "Flag selected photos" -msgstr "סימון התמונה הנבחרת בדגל" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1231 +msgid "1024 x 768 pixels" +msgstr "1024‎ × 768 פיקסלים" -#: ../src/Commands.vala:2450 -msgid "Unflag selected photos" -msgstr "ביטול הדגל לתמונה הנבחרת" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:107 +msgid "1280 x 853 pixels" +msgstr "1280‎ × 853 פיקסלים" -#: ../src/Commands.vala:2451 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:311 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:321 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "'%s' אינו פלט תקין לבקשת אימות מסוג OAuth" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:559 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start( )‎: אינו ניתן לאתחול, כיוון שמנשק זה אינו ניתן לאתחול " +"מחדש." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "נא להזין את שם המשתמש והססמה של חשבון ה־Tumblr שלך" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:588 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:992 +msgid "Username and/or password invalid. Please try again" +msgstr "שם המשתמש ו/או הססמה אינם נכונים. נא לנסות שנית" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:615 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1026 +msgid "Invalid User Name or Password" +msgstr "שם משתמש או ססמה שגויים" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:634 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:752 +#, c-format +msgid "Could not load UI: %s" +msgstr "טעינת המנשק נכשלה: %s" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:734 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"נכנסת לחשבונך ב־Tumblr בשם %s.\n" +"\n" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "כל הזכויות שמורות 2010+ ל־Evgeniy Polyakov‏ " + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "ביקור באתר Yandex.Fotki" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:658 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "לא נכנסת לשירות Yandex.Fotki." + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "_אלבומים (או כתיבת חדש):" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "_סוג הגישה" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "נטרול הה_ערות" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "_איסור הורדת התמונה המקורית" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "ציבורי" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "חברים" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:498 +msgid "Private" +msgstr "פרטי" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "פרסום לאלבום _קיים:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "יצירת אלבום _חדש בשם:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "גודל הה_עלאה:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "קטעי הווידאו והתמונות החדשים _גלויים לעיני:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 +msgid "" +"_Remove location, camera, and other identifying information before uploading" +msgstr "ה_סרת נתונים אודות מיקום, מצלמה ומידע מזהה אחר לפני העלאה" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:62 +#: plugins/shotwell-publishing/PicasaPublishing.vala:60 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1114 +msgid "Shotwell Connect" +msgstr "Shotwell Connect" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:64 +msgid "" +"You are not currently logged into Facebook.\n" +"\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." +msgstr "" +"נכון לעכשיו לא ביצעת כניסה לחשבון ה־Facebook שלך.\n" +"\n" +"אם עדיין אין לך חשבון Facebook, באפשרותך ליצור אחד במהלך הכניסה. במשך תהליך " +"הכניסה, Shotwell Connect עלול לבקש את רשותך להעלות תמונות ולפרסם אותן בהזנה " +"שלך. הרשאות אלו נחוצות כדי ש־Shotwell Connect יוכל לתפקד." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:66 +msgid "" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"כבר יצאת מ־Facebook במהלך הפעלה זו של Shotwell.\n" +"כדי להמשיך לפרסם ל־Facebook, עליך לצאת ולהפעיל מחדש את Shotwell ואז לנסות " +"לפרסם שוב." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:87 +msgid "Standard (720 pixels)" +msgstr "רגיל (720 פיקסלים)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:90 +msgid "Large (2048 pixels)" +msgstr "גדול (2048 פיקסלים)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:255 +msgid "Testing connection to Facebook..." +msgstr "החיבור ל־Facebook נבדק..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:348 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "אלבום נוצר..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Facebook לא תוכל להתבצע." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"נכנסת ל־Facebook בשם %s.\n" +"\n" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "להיכן ברצונך לפרסם את התמונות הנבחרות?" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Just me" +msgstr "רק לי" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1209 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1218 +msgid "Everyone" +msgstr "כולם" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "נא להזין את מספר האימות שמופיע לאחר הכניסה ל־Flickr בדפדפן שלך." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "מספר ה_אימות:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 src/Dialogs.vala:132 +msgid "Con_tinue" +msgstr "המ_שך" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:60 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"לא נכנסת ל־Flickr.\n" +"\n" +"יש ללחוץ על כניסה כדי להיכנס ל־Flickr בדפדפן שלך. יהיה עליך לאמת את " +"Shotwell Connect כדי לקשר אל חשבון ה־Flickr שלך." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:62 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"כבר נכנסת ויצאת מ־Flick במהלך הפעלה זו של Shotwell.\n" +"כדי להמשיך לפרסם ל־Flickr, עליך לצאת ולהפעיל מחדש את Shotwell ואז לנסות " +"לפרסם שוב." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:374 +msgid "Preparing for login..." +msgstr "בהכנות לכניסה..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:444 +#: plugins/shotwell-publishing/FlickrPublishing.vala:594 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Flickr לא תוכל להתבצע." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:457 +msgid "Verifying authorization..." +msgstr "האימות בווידוא..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1152 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"נכנסת ל־Flickr בשם %s.\n" +"\n" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1155 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"חשבונך הפטור מתשלום ב־Flickr מגביל את כמות המידע שניתן להעלות בחודש.\n" +"החודש, נותרו לך %d מגה בתים במכסת ההעלאה שלך." +msgstr[1] "" +"חשבונך הפטור מתשלום ב־Flickr מגביל את כמות המידע שניתן להעלות בחודש.\n" +"החודש, נותרו לך %d מגה בתים במכסת ההעלאה שלך." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1159 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "חשבון ה־Flickr Pro שלך מזכה אותך בכמויות העלאה בלתי מוגבלות." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1164 +msgid "Photos _visible to:" +msgstr "התמונות _גלויות לעיני:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1166 +msgid "Videos _visible to:" +msgstr "קטעי הווי_דאו גלוים לעיני:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1169 +msgid "Photos and videos _visible to:" +msgstr "הת_מונות וקטעי הווידאו גלויים לעיני:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1210 +msgid "Friends & family only" +msgstr "חברים ומשפחה בלבד" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +msgid "Family only" +msgstr "רק משפחה" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Friends only" +msgstr "רק חברים" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1232 +msgid "2048 x 1536 pixels" +msgstr "2048 x‏ 1536 פיקסלים" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1233 +msgid "4096 x 3072 pixels" +msgstr "4096 x‏ 3072 פיקסלים" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "ה_צגת האלבום בגלריה ציבורית" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "ערכת _גודל התמונה:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"אינך מחובר לאתר Picasa Web Albums.\n" +"\n" +"הקלק על התחבר בכדי להכנס לחשבונך ב-Picasa Web Albums בדפדפן שלך. תצטרך לאשר " +"ל-Shotwell להתחבר על מנת לקשר לחשבון Picasa Web Albums שלך." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Picasa לא תוכל להתבצע." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "נכנסת ל־Picasa Web Albums בשם %s." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "קטעי הווידאו יופיעו בתוך:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "קטנה (640 x‏ 480 פיקסלים)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "בינונית (1024 x‏ 768 פיקסלים)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "מומלצת (1600 x‏ 1200 פיקסלים)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048 x 1536 פיקסלים)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "הגודל המקורי" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "_כתובת של ספריית התמונות שלך ב־Piwigo" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "_שם משתמש" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "_זכור ססמה" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "_קטגוריה קיימת:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "התמונות יהיו זמינות _עד:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "גודל התמונה:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "בתוך קטגוריה:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "הערת אלבום:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "_אם כותרת נקבעה והערת חסרה, הכותרת תשמש כהערה" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "_לא להעלות תגים" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "התנתקות" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "פרסום" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:747 +#, c-format +msgid "Creating album %s..." +msgstr "מייצר אלבום %s…" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:920 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "אירעה שגיאה בעת הפרסום לפיוויגו. נא לנסות שוב." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:990 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"הזן את כתובת האתר של ספריית התמונות Piwigo שלך וכן את שם המשתמש והסיסמה " +"לגישה לחשבון -Piwigo שלך עבור ספריה זו." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:991 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"Shotwell אינו יכול להתחבר לספריית התמונות Piwigo. אנא בדוק את כתובת האתר " +"שהזנת" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1021 +msgid "Invalid URL" +msgstr "כתובת אתר לא תקינה" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1219 +msgid "Admins, Family, Friends, Contacts" +msgstr "מנהלי מערכת, משפחה, חברים, אנשי קשר" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1220 +msgid "Admins, Family, Friends" +msgstr "מנהלי מערכת, משפחה, חברים" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1221 +msgid "Admins, Family" +msgstr "מנהלי מערכת, משפחה" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1222 +msgid "Admins" +msgstr "מנהלי מערכת" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "שירותי פרסום של הליבה" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "הגדרות ה_פרטיות של הווידאו:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:58 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"נכון לעכשיו לא נכנסת לשירות YouTube.\n" +"\n" +"כדי להמשיך אמור להיות ברשותך חשבון Google המוגדר לשימוש בשילוב YouTube. ניתן " +"להגדיר את רוב החשבונות על ידי שימוש בדפדפן האינטרנט שלך כדי להיכנס ל־YouTube " +"לפחות פעם אחת." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:363 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"קובץ הנדרש להעלאת התוכן אינו זמין. העלאת התוכן ל-Youtube לא תוכל להתבצע." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:462 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "נכנסת ל־YouTube בשם %s." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:464 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "קטעי הווידאו יופיעו בתוך '%s'" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public listed" +msgstr "הצגה ציבורית" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Public unlisted" +msgstr "לא מוצג לכלל הציבור" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "תריסים" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "שח מט" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "עיגול" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "עיגולים" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "שעון" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "התפוררות" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "עמעום" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "מעברי ליבה של מצגות" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:76 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"כל הזכויות שמורות 2010 למקסים קרטשב, כל הזכויות שמורות 2016 למוסד חופש התכנה " +"בע״מ." + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "שקופית" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "ריבועים" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "פסים" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "אין אפשרות לייצר את ספריית המטמון %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "לא ניתן ליצור את תיקייה הנתונים %s:‏ %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "תמונות" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "לא ניתן ליצור את התיקייה הזמנית %s:‏ %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "לא ניתן ליצור את תת־תיקיית הנתונים %s: ‏%s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "לא ניתן להפוך את התיקייה %s לניתנת לכתיבה" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "לא ניתן להפוך את התיקייה %s לניתנת לכתיבה: ‏%s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "הצמדת סרגל הכלים" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "הצמדת סרגל הכלים שיישאר פתוח" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "יציאה ממסך מלא" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "_תכנים" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "שאלות _נפוצות" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "_דווח על בעיה..." + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1425 src/Dialogs.vala:1448 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_ביטול" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"אירעה שגיאה קריטית בעת הגישה לספרייה של Shotwell. ‏Shotwell לא תוכל להמשיך.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "ביקור באתר Shotwell" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "לא ניתן להציג את העזרה: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "אין אפשרות לגלוש למסד נתוני התקלות: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "לא ניתן להציג את השאלות הנפוצות: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "הצלחה" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "שגיאת קובץ" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "לא ניתן לפענח את הקובץ" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "שגיאת מסד נתונים" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "המשתמש ביטל את היבוא" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "לא קובץ" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "הקובץ כבר קיים במסד הנתונים" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "מבנה הקובץ אינו נתמך" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "לא קובץ תמונה" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "שגיאה בכונן" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "הכונן מלא" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "שגיאת מצלמה" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "שגיאת כתיבה לקובץ" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "קובץ תמונה מושחת" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" +msgstr "המיובאות כשלו (%d)" + +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "מצלמות" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "מצלמה" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "לא ניתן לנתק את המצלמה. יש לנסות לנתק את המצלמה ממנהל הקבצים." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "הסתרת תמונות שכבר יובאו" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "יש להציג תמונות שלא יובאו בלבד" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "הייבוא מתחיל, נא להמתין..." + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_כותרות" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "הצגת הכותרת של כל תמונה" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "יבוא ה_נבחרות" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "יבוא התמונות הנבחרות לספרייה שלך" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "יבוא ה_כול" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "יבוא כל התמונות לספרייה שלך" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "על Shotwell לנתק את המצלמה ממערכת הקבצים כדי לגשת אליה. האם להמשיך?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_ניתוק" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "נא לנתק את מערכת הקבצים של המצלמה." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"המצלמה נעולה על ידי יישום אחר. Shotwell יכולה לגשת למצלמה רק כאשר אינה " +"נעולה. נא לסגור כל יישום אחר המשתמש במצלמה ולנסות שוב." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "נא לסגור כל יישום אחר המשתמש במצלמה." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"לא ניתן לקבל את התצוגות המקדימות מהמצלמה:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "מתבצע ניתוק..." + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "פרטי התמונה מתקבלים" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "התצוגה המקדימה עבור %s מתקבלת" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "לא ניתן לנעול את המצלמה: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "האם למחוק תמונה זו מהמצלמה?" +msgstr[1] "האם למחוק %d תמונות אלה מהמצלמה?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "האם למחוק קטע וידאו זה מהמצלמה?" +msgstr[1] "האם למחוק %d קטעי וידאו אלה?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "האם למחוק תמונה/וידאו אלו מהמצלמה?" +msgstr[1] "האם למחוק %d תמונות/קטעי וידאו אלו מהמצלמה?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "האם למחוק קובץ זה מהמצלמה?" +msgstr[1] "האם למחוק %d קבצים אלה מהמצלמה?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1392 +msgid "_Keep" +msgstr "_שמירה" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "התמונות/קטעי הווידאו מוסרים מהמצלמה" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "לא ניתן למחוק תמונה אחת/וידאו אחד מהמצלמה עקב שגיאות." +msgstr[1] "לא ניתן למחוק %d תמונות/קטעי וידאו מהמצלמה עקב שגיאות." + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "מ_צגת" + +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "הפעלת מצגת" + +#: src/CollectionPage.vala:456 +msgid "Export Photo/Video" +msgstr "יצוא תמונות/קטעי וידאו" + +#: src/CollectionPage.vala:456 +msgid "Export Photos/Videos" +msgstr "יצוא תמונות/קטעי וידאו" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:59 src/PhotoPage.vala:3209 +msgid "Export Photo" +msgstr "יצוא תמונות" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:88 +msgid "Export Photos" +msgstr "יצוא תמונות" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Rotating" +msgstr "סיבוב" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Undoing Rotate" +msgstr "ביטול הסיבוב" + +#: src/CollectionPage.vala:570 +msgid "Flipping Horizontally" +msgstr "היפוך אופקי" + +#: src/CollectionPage.vala:571 +msgid "Undoing Flip Horizontally" +msgstr "ביטול היפוך אופקי" + +#: src/CollectionPage.vala:580 +msgid "Flipping Vertically" +msgstr "היפוך אנכי" + +#: src/CollectionPage.vala:581 +msgid "Undoing Flip Vertically" +msgstr "ביטול היפוך אנכי" + +#: src/Commands.vala:737 +msgid "Reverting" +msgstr "שחזור" + +#: src/Commands.vala:737 +msgid "Undoing Revert" +msgstr "ביטול השחזור" + +#: src/Commands.vala:781 +msgid "Enhancing" +msgstr "שיפור" + +#: src/Commands.vala:781 +msgid "Undoing Enhance" +msgstr "ביטול השיפור" + +#: src/Commands.vala:857 +msgid "Applying Color Transformations" +msgstr "החלת שינויי צבע" + +#: src/Commands.vala:857 +msgid "Undoing Color Transformations" +msgstr "ביטול שינויי צבע" + +#: src/Commands.vala:1007 +msgid "Creating New Event" +msgstr "יצירת אירוע חדש" + +#: src/Commands.vala:1008 +msgid "Removing Event" +msgstr "הסרת האירוע" + +#: src/Commands.vala:1017 +msgid "Moving Photos to New Event" +msgstr "העברת תמונות לאירוע חדש" + +#: src/Commands.vala:1018 +msgid "Setting Photos to Previous Event" +msgstr "הגדרת התמונות לאירוע הקודם" + +#: src/Commands.vala:1075 +msgid "Merging" +msgstr "מיזוג" + +#: src/Commands.vala:1076 +msgid "Unmerging" +msgstr "ביטול המיזוג" + +#: src/Commands.vala:1085 +msgid "Duplicating photos" +msgstr "התמונות משוכפלות" + +#: src/Commands.vala:1085 +msgid "Removing duplicated photos" +msgstr "הסרת תמונות משוכפלות" + +#: src/Commands.vala:1108 +#, c-format +msgid "Unable to duplicate one photo due to a file error" +msgid_plural "Unable to duplicate %d photos due to file errors" +msgstr[0] "לא ניתן לשכפל תמונה אחת עקב שגיאת קובץ" +msgstr[1] "לא ניתן לשכפל %d תמונות עקב שגיאות בקבצים" + +#: src/Commands.vala:1195 +msgid "Restoring previous rating" +msgstr "הדירוג הקודם משוחזר" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Increasing ratings" +msgstr "הדירוגים עולים" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Decreasing ratings" +msgstr "הדירוגים יורדים" + +#: src/Commands.vala:1256 +msgid "Setting RAW developer" +msgstr "הגדרת מתכנת RAW" + +#: src/Commands.vala:1256 +msgid "Restoring previous RAW developer" +msgstr "מתכנת ה־RAW הקודם משוחזר" + +#: src/Commands.vala:1257 +msgid "Set Developer" +msgstr "הגדרת מתכנת" + +#: src/Commands.vala:1347 +msgid "Original photo could not be adjusted." +msgstr "לא ניתן להתאים את התמונה המקורית." + +#: src/Commands.vala:1368 +msgid "Adjusting Date and Time" +msgstr "התאריך והשעה מכוונים" + +#: src/Commands.vala:1368 +msgid "Undoing Date and Time Adjustment" +msgstr "כיוון התאריך והשעה מבוטלים" + +#: src/Commands.vala:1399 +msgid "One original photo could not be adjusted." +msgid_plural "The following original photos could not be adjusted." +msgstr[0] "לא ניתן להתאים תמונה מקורית אחת." +msgstr[1] "לא ניתן להתאים את התמונות המקוריות שלהלן." + +#: src/Commands.vala:1401 src/Commands.vala:1425 +msgid "Time Adjustment Error" +msgstr "שגיאה בכיוון הזמן" + +#: src/Commands.vala:1423 +msgid "Time adjustments could not be undone on the following photo file." +msgid_plural "" +"Time adjustments could not be undone on the following photo files." +msgstr[0] "לא ניתן לבטל את כיוון הזמן לקובץ התמונה הבא." +msgstr[1] "לא ניתן לבטל את כיוון הזמן לקובצי התמונה הבאים." + +#: src/Commands.vala:1637 src/Commands.vala:1660 +msgid "Create Tag" +msgstr "יצירת תגית" + +#: src/Commands.vala:1695 +#, c-format +msgid "Move Tag \"%s\"" +msgstr "העברת התגית „%s“" + +#: src/Commands.vala:2347 +msgid "Move Photos to Trash" +msgstr "העברת תמונות לאשפה" + +#: src/Commands.vala:2347 +msgid "Restore Photos from Trash" +msgstr "שחזור תמונות מהאשפה" + +#: src/Commands.vala:2348 +msgid "Move the photos to the Shotwell trash" +msgstr "העברת התמונות לאשפה של Shotwell" + +#: src/Commands.vala:2348 +msgid "Restore the photos back to the Shotwell library" +msgstr "שחזור תמונות מהאשפה של Shotwell" + +#: src/Commands.vala:2367 +msgid "Moving Photos to Trash" +msgstr "תמונות מועברות לאשפה" + +#: src/Commands.vala:2367 +msgid "Restoring Photos From Trash" +msgstr "תמונות משוחזרות מהאשפה" + +#: src/Commands.vala:2453 +msgid "Flag selected photos" +msgstr "סימון התמונה הנבחרת בדגל" + +#: src/Commands.vala:2454 +msgid "Unflag selected photos" +msgstr "ביטול הדגל לתמונה הנבחרת" + +#: src/Commands.vala:2455 msgid "Flagging selected photos" msgstr "סימון תמונות נבחרות" -#: ../src/Commands.vala:2452 +#: src/Commands.vala:2456 msgid "Unflagging selected photos" msgstr "ביטול סימון תמונות נבחרות" -#: ../src/Commands.vala:2459 +#: src/Commands.vala:2463 msgid "Flag" msgstr "סימון בדגל" -#: ../src/Commands.vala:2459 +#: src/Commands.vala:2463 msgid "Unflag" msgstr "ביטול הדגל" -#: ../src/DesktopIntegration.vala:121 +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "מסד נתונים %s" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "הייבוא מהמיקום %s לא יכול להימשך עקב השגיאה שאירעה:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "כדי לנסות לייבוא משירות אחר, נא לבחור באחר מהתפריט שלהלן." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"אין לך שום תוספי יבוא נתונים פעילים.\n" +"\n" +"על מנת להשתמש בתכונת הייבוא מתוך יישום צריך שיהיה לך לפחות תוסף אחד של יבוא " +"נתונים פעיל. ניתן להפעיל תוספים בדו־שיח ההעדפות." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "קובץ מסד נתונים:" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:904 +msgid "_Import" +msgstr "י_בוא" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "יבוא מיישום" + +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "יבוא מדיה מהמי_קום:" + +#: src/data_imports/DataImportsUI.vala:408 src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "_סגירה" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "יבוא נתונים" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "לא ניתן לפתוח/ליצור מסד נתוני תמונות %s: קוד השגיאה %d" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"לא ניתן לכתוב אל קובץ מסד נתוני התמונות:\n" +" %s" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"אירעה שגיאה במהלך הגישה לקובץ מסד הנתונים:\n" +" %s\n" +"\n" +"השגיאה הייתה: \n" +"%s" + +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "לא נתן לשחזר את מסד נתוני התמונות %s" + +#: src/DesktopIntegration.vala:121 #, c-format msgid "Unable to launch Nautilus Send-To: %s" -msgstr "לא ניתן לטעון את Nautilus Send-To: ‏%s" +msgstr "לא נתן לטעון את Nautilus Send-To: ‏%s" -#: ../src/DesktopIntegration.vala:129 +#: src/DesktopIntegration.vala:129 msgid "Send To" msgstr "שליחה אל" -#: ../src/DesktopIntegration.vala:174 +#: src/DesktopIntegration.vala:174 #, c-format msgid "Unable to export background to %s: %s" -msgstr "לא ניתן לייצא את הרקע אל %s:‏ %s" +msgstr "לא נתן לייצא את הרקע אל %s:‏ %s" -#: ../src/DesktopIntegration.vala:311 +#: src/DesktopIntegration.vala:311 #, c-format msgid "Unable to prepare desktop slideshow: %s" -msgstr "לא ניתן להכין את מצגת שולחן העבודה: %s" +msgstr "לא נתן להכין את מצגת שולחן העבודה: %s" -#: ../src/Dialogs.vala:16 +#: src/Dialogs.vala:16 #, c-format msgid "This will remove the tag \"%s\" from one photo. Continue?" msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" msgstr[0] "פעולה זו תסיר את התגית \"%s\" מתמונה %d. להמשיך?" msgstr[1] "פעולה זו תסיר את התגית \"%s\" מ־%d תמונות. להמשיך?" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1386 -#: ../src/Resources.vala:163 ../src/Resources.vala:369 -#: ../src/Resources.vala:417 ../src/Resources.vala:682 +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1393 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 msgid "_Delete" msgstr "מ_חיקה" -#: ../src/Dialogs.vala:25 +#: src/Dialogs.vala:25 #, c-format msgid "This will remove the saved search \"%s\". Continue?" msgstr "פעולה זו תסיר את החיפוש השמור \"%s\". להמשיך?" -#: ../src/Dialogs.vala:35 +#: src/Dialogs.vala:36 msgid "" "Switching developers will undo all changes you have made to this photo in " "Shotwell" @@ -1445,11 +2926,11 @@ msgid_plural "" msgstr[0] "החלפת מפתחים תבטל את כל השינויים שביצעת בתמונה זו ב-Shotwell." msgstr[1] "החלפת מפתחים תבטל את כל השינויים שביצעת בתמונות אלו ב-Shotwell." -#: ../src/Dialogs.vala:39 +#: src/Dialogs.vala:40 msgid "_Switch Developer" msgstr "ה_חלף מפתח" -#: ../src/Dialogs.vala:58 +#: src/Dialogs.vala:59 msgid "Export Video" msgstr "יצוא וידאו" @@ -1458,7 +2939,7 @@ msgstr "יצוא וידאו" #. if we can't copy an image over for editing in an external tool. #. Did we fail because we can't write to this directory? #. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 +#: src/Dialogs.vala:116 #, c-format msgid "" "Shotwell couldn't create a file for editing this photo because you do not " @@ -1467,7 +2948,7 @@ msgstr "" "אין באפשרות Shotwell ליצור קובץ לעריכת תמונה זו כיוון שאין לך הרשאות לכתוב " "אל %s." -#: ../src/Dialogs.vala:124 +#: src/Dialogs.vala:125 msgid "" "Unable to export the following photo due to a file error.\n" "\n" @@ -1475,7 +2956,7 @@ msgstr "" "לא ניתן לייצא את התמונה הבאה עקב שגיאת קובץ.\n" "\n" -#: ../src/Dialogs.vala:130 +#: src/Dialogs.vala:131 msgid "" "\n" "\n" @@ -1488,60 +2969,60 @@ msgstr "" #. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really #. aren't formats so much as they are operating modes that determine specific formats. #. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 +#: src/Dialogs.vala:148 msgid "Unmodified" msgstr "ללא שינוי" -#: ../src/Dialogs.vala:148 +#: src/Dialogs.vala:149 msgid "Current" msgstr "נוכחי" #. layout controls -#: ../src/Dialogs.vala:213 +#: src/Dialogs.vala:216 msgid "_Format:" msgstr "מ_בנה:" -#: ../src/Dialogs.vala:216 +#: src/Dialogs.vala:219 msgid "_Quality:" msgstr "_איכות:" -#: ../src/Dialogs.vala:219 +#: src/Dialogs.vala:222 msgid "_Scaling constraint:" msgstr "_אילוץ שמירת יחס:" -#: ../src/Dialogs.vala:222 +#: src/Dialogs.vala:225 msgid "_Pixels:" msgstr "_פיקסלים:" -#: ../src/Dialogs.vala:225 +#: src/Dialogs.vala:228 msgid "Export metadata" msgstr "יצוא נתוני העל" -#: ../src/Dialogs.vala:459 +#: src/Dialogs.vala:462 msgid "Save Details..." msgstr "שמירת הפרטים…" -#: ../src/Dialogs.vala:460 +#: src/Dialogs.vala:463 msgid "Save Details" msgstr "שמירת הפרטים" -#: ../src/Dialogs.vala:475 +#: src/Dialogs.vala:478 #, c-format msgid "(and %d more)\n" msgstr "(ועוד %d)\n" -#: ../src/Dialogs.vala:528 +#: src/Dialogs.vala:531 msgid "Import Results Report" msgstr "יבוא דוח התוצאות" -#: ../src/Dialogs.vala:532 +#: src/Dialogs.vala:535 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." msgstr[0] "התבצע ניסיון לייבוא של קובץ אחד (%d)." msgstr[1] "התבצע ניסיון לייבוא של %d קבצים" -#: ../src/Dialogs.vala:535 +#: src/Dialogs.vala:538 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." @@ -1551,37 +3032,37 @@ msgstr[1] "מתוכם, %d קבצים יובאו בהצלחה." #. #. Duplicates #. -#: ../src/Dialogs.vala:547 +#: src/Dialogs.vala:550 msgid "Duplicate Photos/Videos Not Imported:" msgstr "קובצי וידאו/תמונות כפולים לא יובאו:" -#: ../src/Dialogs.vala:551 +#: src/Dialogs.vala:554 msgid "duplicates existing media item" msgstr "משכפל פריט מדיה קיים" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:562 +#: src/Dialogs.vala:565 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "תמונות/סרטי וידאו לא יובאו עקב שגיאות מצלמה:" -#: ../src/Dialogs.vala:565 ../src/Dialogs.vala:580 ../src/Dialogs.vala:595 -#: ../src/Dialogs.vala:611 ../src/Dialogs.vala:626 ../src/Dialogs.vala:640 +#: src/Dialogs.vala:568 src/Dialogs.vala:583 src/Dialogs.vala:598 +#: src/Dialogs.vala:614 src/Dialogs.vala:629 src/Dialogs.vala:643 msgid "error message:" msgstr "הודעת שגיאה:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:576 +#: src/Dialogs.vala:579 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "הקבצים לא יובאו כיוון שלא זוהו כתמונות או כסרטי וידאו:" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:591 +#: src/Dialogs.vala:594 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1591,7 +3072,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:606 +#: src/Dialogs.vala:609 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" @@ -1599,7 +3080,7 @@ msgstr "" "התמונות/סרטי הווידאו לא יובאו כיוון ש־Shotwell נכשל בהעתקתם לספרייה הפנימית " "שלו:" -#: ../src/Dialogs.vala:610 +#: src/Dialogs.vala:613 #, c-format msgid "" "couldn't copy %s\n" @@ -1611,46 +3092,46 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:622 +#: src/Dialogs.vala:625 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "תמונות/סרטי וידאו שלא יובאו עקב היותם מושחתים:" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:637 +#: src/Dialogs.vala:640 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "התמונות/סרטי הווידאו לא יובאו עקב סיבות שונות:" -#: ../src/Dialogs.vala:657 +#: src/Dialogs.vala:660 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" msgstr[0] "תמונה משוכפלת אחת לא יובאה:\n" msgstr[1] "%d תמונות משוכפלות לא יובאו:\n" -#: ../src/Dialogs.vala:660 +#: src/Dialogs.vala:663 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" msgstr[0] "קטע וידאו משוכפל אחד לא יובא:\n" msgstr[1] "%d קטעי וידאו משוכפלים לא יובאו:\n" -#: ../src/Dialogs.vala:663 +#: src/Dialogs.vala:666 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" msgstr[0] "תמונה משוכפלת או קטע וידאו משוכפל לא יובאו:\n" msgstr[1] "%d תמונות/קטעי וידאו משוכפלים לא יובאו:\n" -#: ../src/Dialogs.vala:677 +#: src/Dialogs.vala:680 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" msgstr[0] "אירע כשל ביבוא אחת התמונות עקב שגיאת חומרה או קובץ:\n" msgstr[1] "אירע כשל ביבוא %d מהתמונות עקב שגיאת חומרה או קובץ:\n" -#: ../src/Dialogs.vala:680 +#: src/Dialogs.vala:683 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1658,7 +3139,7 @@ msgstr[0] "אירע כשל ביבוא אחד מקטעי הווידאו עקב ש msgstr[1] "" "אירע כשל ביבוא %d מהתמונות או מקטעי הווידאו עקב שגיאת חומרה או קובץ:\n" -#: ../src/Dialogs.vala:683 +#: src/Dialogs.vala:686 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1667,14 +3148,14 @@ msgstr[0] "" "אירע כשל ביבוא אחת התמונות/אחד מקטעי הווידאו עקב שגיאת חומרה או קובץ:\n" msgstr[1] "אירע כשל ביבוא %d מהתמונות/קטעי הווידאו עקב שגיאת חומרה או קובץ:\n" -#: ../src/Dialogs.vala:686 +#: src/Dialogs.vala:689 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" msgstr[0] "יבוא של אחד הקבצים כשל עקב שגיאה בקובץ או בחומרה:\n" msgstr[1] "יבוא של %d מהקבצים נכשל עקב שגיאה בקובץ או בחומרה:\n" -#: ../src/Dialogs.vala:700 +#: src/Dialogs.vala:703 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1688,7 +3169,7 @@ msgstr[1] "" "היבוא של %d התמונות נכשל כיוון שהתיקייה בה נמצאת ספריית התמונות אינה ניתנת " "לכתיבה:\n" -#: ../src/Dialogs.vala:703 +#: src/Dialogs.vala:706 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1702,7 +3183,7 @@ msgstr[1] "" "היבוא של %d קטעי הווידאו נכשל כיוון שהתיקייה בה נמצאת ספריית התמונות אינה " "ניתנת לכתיבה:\n" -#: ../src/Dialogs.vala:706 +#: src/Dialogs.vala:709 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1717,7 +3198,7 @@ msgstr[1] "" "היבוא של %d מהתמונות/מקטעי הווידאו נכשל כיוון שהתיקייה בה נמצאת ספריית " "התמונות אינה ניתנת לכתיבה:\n" -#: ../src/Dialogs.vala:709 +#: src/Dialogs.vala:712 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1729,56 +3210,56 @@ msgstr[0] "" msgstr[1] "" "יבוא %d מהקבצים נכשל כיוון שתיקיית ספריית התמונות סגורה בפני כתיבה:\n" -#: ../src/Dialogs.vala:723 +#: src/Dialogs.vala:726 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" msgstr[0] "אירע כשל ביבוא אחת מהתמונות עקב שגיאה במצלמה:\n" msgstr[1] "אירע כשל ביבוא %d מהתמונות עקב שגיאה במצלמה:\n" -#: ../src/Dialogs.vala:726 +#: src/Dialogs.vala:729 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" msgstr[0] "אירע כשל ביבוא אחד מקטעי הווידאו עקב שגיאה במצלמה:\n" msgstr[1] "אירע כשל ביבוא %d מקטעי הווידאו עקב שגיאה במצלמה:\n" -#: ../src/Dialogs.vala:729 +#: src/Dialogs.vala:732 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" msgstr[0] "אירע כשל ביבוא אחת מהתמונות/אחד מקטעי הווידאו עקב שגיאה במצלמה:\n" msgstr[1] "אירע כשל ביבוא %d מהתמונות/קטעי הווידאו עקב שגיאה במצלמה:\n" -#: ../src/Dialogs.vala:732 +#: src/Dialogs.vala:735 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" msgstr[0] "יבוא אחד הקבצים נכשל עקב שגיאת מצלמה:\n" msgstr[1] "יבוא %d מהקבצים נכשל עקב שגיאת מצלמה:\n" -#: ../src/Dialogs.vala:746 +#: src/Dialogs.vala:749 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" msgstr[0] "ייבוא תמונה אחת נכשל היות והיא מושחתת:\n" msgstr[1] "ייבוא %d קבצים נכשל עקב היותם מושחתים:\n" -#: ../src/Dialogs.vala:749 +#: src/Dialogs.vala:752 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" msgstr[0] "ייבוא סרט וידאו אחד נכשל היות והיה מושחת:\n" msgstr[1] "ייבוא %d סרטי וידאו נכשל עקב היותם מושחתים:\n" -#: ../src/Dialogs.vala:752 +#: src/Dialogs.vala:755 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" msgstr[0] "ייבוא תמונה/סרט וידאו נכשל עקב היותו מושחת:\n" msgstr[1] "ייבוא %d תמונות/סרטי וידאו נכשל עקב היותם מושחתים:\n" -#: ../src/Dialogs.vala:755 +#: src/Dialogs.vala:758 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1789,7 +3270,7 @@ msgstr[1] "ייבוא %d קבצים נכשל עקב היותם מושחתים:\n #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:772 +#: src/Dialogs.vala:775 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1798,56 +3279,56 @@ msgstr[1] "בוצע דילוג על %d תמונות שאינן נתמכות:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:787 +#: src/Dialogs.vala:790 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" msgstr[0] "בוצע דילוג על קובץ אחד שאינו תמונה.\n" msgstr[1] "בוצע דילוג על %d קבצים שאינם תמונה.\n" -#: ../src/Dialogs.vala:798 +#: src/Dialogs.vala:801 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" msgstr[0] "בוצע דילוג על תמונה אחת עקב ביטול המשתמש:\n" msgstr[1] "בוצע דילוג על %d תמונות עקב ביטול המשתמש:\n" -#: ../src/Dialogs.vala:801 +#: src/Dialogs.vala:804 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" msgstr[0] "בוצע דילוג על וידאו אחד עקב ביטול המשתמש:\n" msgstr[1] "בוצע דילוג על %d קטעי וידאו עקב ביטול המשתמש:\n" -#: ../src/Dialogs.vala:804 +#: src/Dialogs.vala:807 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" msgstr[0] "בוצע דילוג על תמונה אחת/וידאו אחד עקב ביטול המשתמש:\n" msgstr[1] "בוצע דילוג על %d תמונות/קטעי וידאו עקב ביטול המשתמש:\n" -#: ../src/Dialogs.vala:807 +#: src/Dialogs.vala:810 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" msgstr[0] "קובץ אחד נפסח עקב ביטול המשתמש:\n" msgstr[1] "%d קבצים נפסחו עקב ביטול המשתמש:\n" -#: ../src/Dialogs.vala:821 +#: src/Dialogs.vala:824 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" msgstr[0] "תמונה אחת יובאה בהצלחה.\n" msgstr[1] "%d תמונות יובאו בהצלחה.\n" -#: ../src/Dialogs.vala:824 +#: src/Dialogs.vala:827 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" msgstr[0] "קטע וידאו אחד יובא בהצלחה.\n" msgstr[1] "%d קטעי וידאו יובאו בהצלחה.\n" -#: ../src/Dialogs.vala:827 +#: src/Dialogs.vala:830 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1856,93 +3337,89 @@ msgstr[1] "%d תמונות/קטעי וידאו יובאו בהצלחה.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:843 +#: src/Dialogs.vala:846 msgid "No photos or videos imported.\n" msgstr "לא יובאו כלל תמונות או קטעי וידאו.\n" -#: ../src/Dialogs.vala:850 ../src/Dialogs.vala:869 +#: src/Dialogs.vala:853 src/Dialogs.vala:872 msgid "Import Complete" msgstr "היבוא הושלם" -#: ../src/Dialogs.vala:1155 +#: src/Dialogs.vala:1158 #, c-format msgid "%d second" msgid_plural "%d seconds" msgstr[0] "שנייה אחת" msgstr[1] "%d שניות" -#: ../src/Dialogs.vala:1158 +#: src/Dialogs.vala:1161 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "דקה אחת" msgstr[1] "%d דקות" -#: ../src/Dialogs.vala:1162 +#: src/Dialogs.vala:1165 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "שעה אחת" msgstr[1] "%d שעות" -#: ../src/Dialogs.vala:1165 +#: src/Dialogs.vala:1168 msgid "1 day" msgstr "יום אחד" -#: ../src/Dialogs.vala:1315 ../src/Resources.vala:236 +#: src/Dialogs.vala:1322 src/Resources.vala:231 msgid "Rename Event" msgstr "שינוי שם האירוע" -#: ../src/Dialogs.vala:1315 +#: src/Dialogs.vala:1322 msgid "Name:" msgstr "שם:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1326 ../src/Resources.vala:308 +#: src/Dialogs.vala:1333 +msgctxt "Dialog Title" msgid "Edit Title" -msgstr "עריכת הכותרת" +msgstr "עריכת כותרת" -#: ../src/Dialogs.vala:1327 ../src/Properties.vala:340 +#: src/Dialogs.vala:1334 src/Properties.vala:340 msgid "Title:" msgstr "כותרת:" #. Dialog title -#: ../src/Dialogs.vala:1343 ../src/Resources.vala:315 +#: src/Dialogs.vala:1350 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "עריכת הערות האירוע" -#: ../src/Dialogs.vala:1344 +#: src/Dialogs.vala:1351 msgid "Edit Photo/Video Comment" msgstr "עריכת הערות תמונה/וידאו" -#: ../src/Dialogs.vala:1345 ../src/Properties.vala:628 +#: src/Dialogs.vala:1352 src/Properties.vala:628 msgid "Comment:" msgstr "הערה:" -#: ../src/Dialogs.vala:1361 +#: src/Dialogs.vala:1368 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "הסרת קובץ והשלכתו לא_שפה" msgstr[1] "הסרת קבצים והשלכתם לא_שפה" -#: ../src/Dialogs.vala:1365 +#: src/Dialogs.vala:1372 msgid "_Remove From Library" msgstr "ה_סרה מהספרייה" -#: ../src/Dialogs.vala:1385 ../src/camera/ImportPage.vala:1741 -msgid "_Keep" -msgstr "_שמירה" - -#: ../src/Dialogs.vala:1408 +#: src/Dialogs.vala:1415 msgid "Revert External Edit?" msgstr "האם לשחזר עריכות חיצוניות?" -#: ../src/Dialogs.vala:1408 +#: src/Dialogs.vala:1415 msgid "Revert External Edits?" msgstr "האם לבטל את העריכות החיצוניות?" -#: ../src/Dialogs.vala:1410 +#: src/Dialogs.vala:1417 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -1950,87 +3427,87 @@ msgid_plural "" msgstr[0] "פעולה זו תשמיד את כל השינויים שבוצעו בקובץ החיצוני. להמשיך?" msgstr[1] "פעולה זו תשמיד את כל השינויים שבוצעו ב־%d קבצים חיצוניים. להמשיך?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edit" msgstr "_ביטול העריכות החיצונית" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edits" msgstr "בי_טול העריכות החיצוניות" -#: ../src/Dialogs.vala:1435 +#: src/Dialogs.vala:1442 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" msgstr[0] "פעולה זו תסיר את התמונה מהספרייה. להמשיך?" msgstr[1] "פעולה זו תסיר %d תמונות מהספרייה. להמשיך?" -#: ../src/Dialogs.vala:1442 ../src/Resources.vala:178 +#: src/Dialogs.vala:1449 src/Resources.vala:173 msgid "_Remove" msgstr "ה_סרה" -#: ../src/Dialogs.vala:1443 +#: src/Dialogs.vala:1450 msgid "Remove Photo From Library" msgstr "הסרת תמונות מהספרייה" -#: ../src/Dialogs.vala:1443 +#: src/Dialogs.vala:1450 msgid "Remove Photos From Library" msgstr "הסרת תמונות מהספרייה" -#: ../src/Dialogs.vala:1536 +#: src/Dialogs.vala:1543 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1688 +#: src/Dialogs.vala:1697 msgid "AM" msgstr "AM" -#: ../src/Dialogs.vala:1689 +#: src/Dialogs.vala:1698 msgid "PM" msgstr "PM" -#: ../src/Dialogs.vala:1690 +#: src/Dialogs.vala:1699 msgid "24 Hr" msgstr "24 שעות" -#: ../src/Dialogs.vala:1705 +#: src/Dialogs.vala:1714 msgid "_Shift photos/videos by the same amount" msgstr "ה_זחת התמונות/קטעי הווידאו באותו האופן" -#: ../src/Dialogs.vala:1710 +#: src/Dialogs.vala:1719 msgid "Set _all photos/videos to this time" msgstr "ה_גדרת כל התמונות/קטעי הווידאו למועד זה" -#: ../src/Dialogs.vala:1717 +#: src/Dialogs.vala:1726 msgid "_Modify original photo file" msgstr "שנה את קובץ התמונה ה_מקורית" -#: ../src/Dialogs.vala:1717 +#: src/Dialogs.vala:1726 msgid "_Modify original photo files" msgstr "שנה את קבצי התמונה ה_מקורית" -#: ../src/Dialogs.vala:1720 +#: src/Dialogs.vala:1729 msgid "_Modify original file" msgstr "_שינוי הקבצים המקוריים" -#: ../src/Dialogs.vala:1720 +#: src/Dialogs.vala:1729 msgid "_Modify original files" msgstr "_שינוי קובצי המקור" -#: ../src/Dialogs.vala:1806 +#: src/Dialogs.vala:1815 msgid "Original: " msgstr "מקור:" -#: ../src/Dialogs.vala:1807 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d/%m/%Y, %H:%M:%S" -#: ../src/Dialogs.vala:1808 +#: src/Dialogs.vala:1817 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d/%m/%Y, %I:%M:%S %p" -#: ../src/Dialogs.vala:1897 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2039,7 +3516,7 @@ msgstr "" "זמן החשיפה יוארך ב־\n" "%d %s, %d %s, %d %sו־ %d %s." -#: ../src/Dialogs.vala:1898 +#: src/Dialogs.vala:1907 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2048,31 +3525,31 @@ msgstr "" "זמן החשיפה יוקדם ב־\n" "%d %s, %d %s, %d %sו־ %d %s." -#: ../src/Dialogs.vala:1900 +#: src/Dialogs.vala:1909 msgid "day" msgid_plural "days" msgstr[0] "יום" msgstr[1] "ימים" -#: ../src/Dialogs.vala:1901 +#: src/Dialogs.vala:1910 msgid "hour" msgid_plural "hours" msgstr[0] "שעה" msgstr[1] "שעות" -#: ../src/Dialogs.vala:1902 +#: src/Dialogs.vala:1911 msgid "minute" msgid_plural "minutes" msgstr[0] "דקה" msgstr[1] "דקות" -#: ../src/Dialogs.vala:1903 +#: src/Dialogs.vala:1912 msgid "second" msgid_plural "seconds" msgstr[0] "שנייה" msgstr[1] "שניות" -#: ../src/Dialogs.vala:1947 +#: src/Dialogs.vala:1956 #, c-format msgid "" "\n" @@ -2091,91 +3568,91 @@ msgstr[1] "" "\n" "ו־%d נוספים." -#: ../src/Dialogs.vala:1969 ../src/Dialogs.vala:1996 +#: src/Dialogs.vala:1980 src/Dialogs.vala:2007 msgid "Tags (separated by commas):" msgstr "תגיות (מופרדות בפסיקים):" -#: ../src/Dialogs.vala:2076 +#: src/Dialogs.vala:2087 msgid "Welcome!" msgstr "ברוך בואך!" -#: ../src/Dialogs.vala:2083 +#: src/Dialogs.vala:2094 msgid "Welcome to Shotwell!" msgstr "ברוך בואך ל־Shotwell!" -#: ../src/Dialogs.vala:2087 +#: src/Dialogs.vala:2098 msgid "To get started, import photos in any of these ways:" msgstr "כדי להתחיל יש לייבא תמונות באחת מהדרכים הבאות:" -#: ../src/Dialogs.vala:2106 +#: src/Dialogs.vala:2117 #, c-format msgid "Choose File %s Import From Folder" msgstr "יש לבחור בקובץ %s יבוא מתיקייה" -#: ../src/Dialogs.vala:2107 +#: src/Dialogs.vala:2118 msgid "Drag and drop photos onto the Shotwell window" msgstr "לגרור ולהשליך תמונות לחלון של Shotwell" -#: ../src/Dialogs.vala:2108 +#: src/Dialogs.vala:2119 msgid "Connect a camera to your computer and import" msgstr "לחבר מצלמה למחשב שלך ולייבא ממנה" -#: ../src/Dialogs.vala:2118 +#: src/Dialogs.vala:2129 #, c-format msgid "_Import photos from your %s folder" msgstr "י_בוא תמונות מתיקיית ה־%s שלך" -#: ../src/Dialogs.vala:2125 +#: src/Dialogs.vala:2136 msgid "You can also import photos in any of these ways:" msgstr "ניתן לייבא תמונות בכל אחת מהדרכים הבאות:" -#: ../src/Dialogs.vala:2135 +#: src/Dialogs.vala:2146 msgid "_Don't show this message again" msgstr "_אין להציג הודעה זו שוב" -#: ../src/Dialogs.vala:2170 +#: src/Dialogs.vala:2181 #, c-format msgid "Import photos from your %s library" msgstr "יבוא תמונות מספריית ה־%s שלך" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2311 ../src/Dialogs.vala:2315 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2328 src/Dialogs.vala:2332 msgid "(Help)" msgstr "(עזרה)" -#: ../src/Dialogs.vala:2324 +#: src/Dialogs.vala:2341 #, c-format msgid "Year%sMonth%sDay" msgstr "שנה%sחודש%sיום" -#: ../src/Dialogs.vala:2326 +#: src/Dialogs.vala:2343 #, c-format msgid "Year%sMonth" msgstr "שנה%sחודש" -#: ../src/Dialogs.vala:2328 +#: src/Dialogs.vala:2345 #, c-format msgid "Year%sMonth-Day" msgstr "שנה%sחודש-יום" -#: ../src/Dialogs.vala:2330 +#: src/Dialogs.vala:2347 msgid "Year-Month-Day" msgstr "שנה-חודש-יום" -#: ../src/Dialogs.vala:2331 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2348 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "התאמה אישית" #. Invalid pattern. -#: ../src/Dialogs.vala:2568 +#: src/Dialogs.vala:2585 msgid "Invalid pattern" msgstr "התבנית שגויה" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2670 +#: src/Dialogs.vala:2687 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2183,31 +3660,31 @@ msgstr "" "באפשרות Shotwell להעתיק את התמונות לספרייה שלך או לייבא את התמונות מבלי " "להעתיק אותן." -#: ../src/Dialogs.vala:2675 +#: src/Dialogs.vala:2692 msgid "Co_py Photos" msgstr "ה_עתקת תמונות" -#: ../src/Dialogs.vala:2676 +#: src/Dialogs.vala:2693 msgid "_Import in Place" msgstr "יבוא ל_כאן" -#: ../src/Dialogs.vala:2677 +#: src/Dialogs.vala:2694 msgid "Import to Library" msgstr "יבוא לספרייה" -#: ../src/Dialogs.vala:2687 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2704 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "הסרה מהספרייה" -#: ../src/Dialogs.vala:2688 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2705 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "הסרת תמונות מהספרייה" -#: ../src/Dialogs.vala:2688 +#: src/Dialogs.vala:2705 msgid "Removing Photos From Library" msgstr "התמונות מוסרות מהתיקייה" -#: ../src/Dialogs.vala:2702 +#: src/Dialogs.vala:2719 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2223,2768 +3700,2586 @@ msgstr[0] "" "פעולה זו תסיר את התמונה/סרטון הווידאו מספריית ה־Shotwell שלך. האם ברצונך " "להעביר את הקבצים לאשפה של שולחן העבודה שלך?\n" "\n" -"לא ניתן לבטל פעולה זו. %d" -msgstr[1] "" -"פעולה זו תסיר %d תמונות/סרטוני וידאו מספריית ה־Shotwell שלך. האם ברצונך " -"להעביר את הקבצים לאשפה של שולחן העבודה שלך?\n" -"\n" -"לא ניתן לבטל פעולה זו." - -#: ../src/Dialogs.vala:2706 -#, c-format -msgid "" -"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." -msgid_plural "" -"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." -msgstr[0] "" -"פעולה זו תסיר את סרטון הווידאו מספריית ה־Shotwell שלך. האם בנוסף על כך " -"ברצונך להעביר את הקובץ לאשפה?\n" -"\n" -"לא ניתן לבטל פעולה זו. %d" -msgstr[1] "" -"פעולה זו תסיר את %d סרטוני הווידאו מספריית ה־Shotwell שלך. האם בנוסף על כך " -"ברצונך להעביר את הקובץ לאשפה?\n" -"\n" -"לא ניתן לבטל פעולה זו." - -#: ../src/Dialogs.vala:2710 -#, c-format -msgid "" -"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." -msgid_plural "" -"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." -msgstr[0] "" -"פעולה זו תסיר את התמונה מספריית ה־Shotwell שלך.\n" -"האם ברצונך להעביר את הקובץ לסל האשפה שלך?\n" -"\n" -"לא ניתן לבטל פעולה זו." -msgstr[1] "" -"פעולה זו תסיר %d תמונות מספריית ה־Shotwell שלך.\n" -"האם ברצונך להעביר את הקובץ לסל האשפה שלך?\n" -"\n" -"לא ניתן לבטל פעולה זו." - -#: ../src/Dialogs.vala:2742 -#, c-format -msgid "" -"The photo or video cannot be moved to your desktop trash. Delete this file?" -msgid_plural "" -"%d photos/videos cannot be moved to your desktop trash. Delete these files?" -msgstr[0] "" -"לא ניתן להעביר את התמונה/וידאו לאשפה של שולחן העבודה שלך. האם למחוק קובץ זה?" -msgstr[1] "" -"לא ניתן להעביר %d תמונות/קטעי וידאו לאשפה של שולחן העבודה שלך. האם למחוק " -"קבצים אלו?" - -#. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2759 -#, c-format -msgid "The photo or video cannot be deleted." -msgid_plural "%d photos/videos cannot be deleted." -msgstr[0] "לא ניתן למחוק את התמונה או את הווידאו." -msgstr[1] "לא ניתן למחוק %d תמונות/קטעי וידאו." - -#: ../src/Dimensions.vala:23 -msgid "Width" -msgstr "רוחב" - -#: ../src/Dimensions.vala:26 -msgid "Height" -msgstr "גובה" - -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "לא ניתן לעקוב אחר %s: לא תיקייה (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "האירוע %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "לא ניתן ליצור את הקובץ הזמני עבור %s:‏ %s" - -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "יצוא" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "הקובץ %s כבר קיים. להחליף?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_דילוג" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "ה_חלפה" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "החלפת ה_כול" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "יצוא" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "לא ניתן לעבד את עדכוני המעקב: %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "התאמת גודל התמונות הממוזערות" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2593 -#: ../src/Resources.vala:188 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "הת_קרבות" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "הגדלת רמת התקריב בתמונות הממוזערות" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2599 -#: ../src/Resources.vala:189 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "התר_חקות" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "הקטנת רמת התקריב בתמונות הממוזערות" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "_סידור תמונות" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "נגינת _וידאו" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "פתיחת קטעי הווידאו הנבחרים בנגן הווידאו של המערכת" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2642 -msgid "_Developer" -msgstr "מ_תכנת" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:711 ../src/camera/ImportPage.vala:727 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "מצלמה" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:874 -msgid "_Titles" -msgstr "_כותרות" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:875 -msgid "Display the title of each photo" -msgstr "הצגת הכותרת של כל תמונה" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "ה_ערות" - -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "יש להציג הערה זו עבור כל תמונה" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:359 -msgid "Ta_gs" -msgstr "ת_גיות" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "הצגת התגיות עבור כל תמונה" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "לפי _כותרת" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "סידור התמונות לפי כותרת" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "לפי תאריך _חשיפה" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "דירוג התמונות לפי תאריך החשיפה" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "לפי _דירוג" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "סידור התמונות לפי דירוג" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "לפי _שם קובץ" +"לא ניתן לבטל פעולה זו. %d" +msgstr[1] "" +"פעולה זו תסיר %d תמונות/סרטוני וידאו מספריית ה־Shotwell שלך. האם ברצונך " +"להעביר את הקבצים לאשפה של שולחן העבודה שלך?\n" +"\n" +"לא ניתן לבטל פעולה זו." -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "מיון תמונות לפי שמות קבצים" +#: src/Dialogs.vala:2723 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +"פעולה זו תסיר את סרטון הווידאו מספריית ה־Shotwell שלך. האם בנוסף על כך " +"ברצונך להעביר את הקובץ לאשפה?\n" +"\n" +"לא ניתן לבטל פעולה זו. %d" +msgstr[1] "" +"פעולה זו תסיר את %d סרטוני הווידאו מספריית ה־Shotwell שלך. האם בנוסף על כך " +"ברצונך להעביר את הקובץ לאשפה?\n" +"\n" +"לא ניתן לבטל פעולה זו." -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:405 -msgid "_Ascending" -msgstr "_עולה" +#: src/Dialogs.vala:2727 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +"פעולה זו תסיר את התמונה מספריית ה־Shotwell שלך.\n" +"האם ברצונך להעביר את הקובץ לסל האשפה שלך?\n" +"\n" +"לא ניתן לבטל פעולה זו." +msgstr[1] "" +"פעולה זו תסיר %d תמונות מספריית ה־Shotwell שלך.\n" +"האם ברצונך להעביר את הקובץ לסל האשפה שלך?\n" +"\n" +"לא ניתן לבטל פעולה זו." -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:406 -msgid "Sort photos in an ascending order" -msgstr "סידור התמונות בסדר עולה" +#: src/Dialogs.vala:2759 +#, c-format +msgid "" +"The photo or video cannot be moved to your desktop trash. Delete this file?" +msgid_plural "" +"%d photos/videos cannot be moved to your desktop trash. Delete these files?" +msgstr[0] "" +"לא ניתן להעביר את התמונה/וידאו לאשפה של שולחן העבודה שלך. האם למחוק קובץ זה?" +msgstr[1] "" +"לא ניתן להעביר %d תמונות/קטעי וידאו לאשפה של שולחן העבודה שלך. האם למחוק " +"קבצים אלו?" -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:412 -msgid "D_escending" -msgstr "_יורד" +#. Alert the user that the files were not removed. +#: src/Dialogs.vala:2776 +#, c-format +msgid "The photo or video cannot be deleted." +msgid_plural "%d photos/videos cannot be deleted." +msgstr[0] "לא ניתן למחוק את התמונה או את הווידאו." +msgstr[1] "לא ניתן למחוק %d תמונות/קטעי וידאו." -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:413 -msgid "Sort photos in a descending order" -msgstr "סידור התמונות בסדר יורד" +#: src/Dimensions.vala:23 +msgid "Width" +msgstr "רוחב" -#: ../src/MediaPage.vala:723 -#, c-format -msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"לא הייתה באפשרות Shotwell לנגן את הווידאו הבא:\n" -"%s" +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "גובה" -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "אין תמונות/קטעי וידאו" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_קובץ" -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "לא נמצאו תמונות/קטעי וידאו" +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "_שמירה" -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "לא ניתן לייצא תמונות לתיקייה זו." +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "שמירת התמונה" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "השתנתה" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "שמירה _בשם..." -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "התמונה הקודמת" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "שמירת תמונה בשם אחר" -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "התמונה הבאה" +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "הדפסת התמונה במדפסת המחוברת למחשב שלך" -#: ../src/PhotoPage.vala:1847 -#, c-format -msgid "Photo source file missing: %s" -msgstr "קובץ המקור לתמונה חסר: %s" +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "ע_ריכה" -#: ../src/PhotoPage.vala:2414 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:343 -msgid "_View" -msgstr "ת_צוגה" +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_תמונה" -#: ../src/PhotoPage.vala:2418 ../src/direct/DirectPhotoPage.vala:81 +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 msgid "T_ools" msgstr "_כלים" -#: ../src/PhotoPage.vala:2423 ../src/direct/DirectPhotoPage.vala:86 +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "התמונה ה_קודמת" -#: ../src/PhotoPage.vala:2424 ../src/direct/DirectPhotoPage.vala:87 +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "התמונה הקודמת" -#: ../src/PhotoPage.vala:2429 ../src/direct/DirectPhotoPage.vala:92 +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "התמונה ה_באה" -#: ../src/PhotoPage.vala:2430 ../src/direct/DirectPhotoPage.vala:93 +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "התמונה הבאה" -#: ../src/PhotoPage.vala:2594 ../src/direct/DirectPhotoPage.vala:175 +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "ת_צוגה" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "ע_זרה" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "הת_קרבות" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "התקרבות לתמונה" -#: ../src/PhotoPage.vala:2600 ../src/direct/DirectPhotoPage.vala:181 +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "התר_חקות" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "התרחקות מהתמונה" -#: ../src/PhotoPage.vala:2605 ../src/direct/DirectPhotoPage.vala:186 +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "ה_תאמה לעמוד" -#: ../src/PhotoPage.vala:2606 ../src/direct/DirectPhotoPage.vala:187 +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "הגדרת תקריב התמונה כך שתוצג במלואה במסך" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:193 +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "תקריב _100%" -#: ../src/PhotoPage.vala:2614 ../src/direct/DirectPhotoPage.vala:195 +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "הגדרת תקריב התמונה לכדי הגדלה של 100%" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:201 +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "תקריב _200%" -#: ../src/PhotoPage.vala:2622 ../src/direct/DirectPhotoPage.vala:203 +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "הגדרת תקריב התמונה לכדי הגדלה של 200%" -#: ../src/PhotoPage.vala:3231 +#: src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "Unable to export %s: %s" -msgstr "לא ניתן לייצא את %s:‏ %s" - -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "מילוי העמוד כולו" - -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 תמונות בעמוד" - -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 תמונות בעמוד" - -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 תמונות בעמוד" - -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 תמונות בעמוד" - -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 תמונות בעמוד" - -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 תמונות בעמוד" - -#: ../src/Printing.vala:348 -msgid "in." -msgstr "אינ׳" - -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "ס״מ" - -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 -msgid "Wallet (2 x 3 in.)" -msgstr "ארנק (2 x‏ 3 אינטש)" - -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 -msgid "Notecard (3 x 5 in.)" -msgstr "כרטיסייה (3 x‏ 5 אינטש)" - -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 -msgid "4 x 6 in." -msgstr "4 x‏ 6 אינטש" - -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 -msgid "5 x 7 in." -msgstr "5 x‏ 7 אינטש" - -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 -msgid "8 x 10 in." -msgstr "8 x‏ 10 אינטש" - -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 -msgid "11 x 14 in." -msgstr "11 x‏ 14 אינטש" - -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 -msgid "16 x 20 in." -msgstr "‏16 x‏ 20 אינטש" - -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 -msgid "Metric Wallet (9 x 13 cm)" -msgstr "9 x‏ 13 ס״מ" - -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 -msgid "Postcard (10 x 15 cm)" -msgstr "גלויה (10 x‏ 15 ס״מ)" - -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 -msgid "13 x 18 cm" -msgstr "13 x‏ 18 ס״מ" - -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 -msgid "18 x 24 cm" -msgstr "18 x‏ 24 ס״מ" - -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 -msgid "20 x 30 cm" -msgstr "20 x‏ 30 ס״מ" - -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 -msgid "24 x 40 cm" -msgstr "24 x‏ 40 ס״מ" - -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 -msgid "30 x 40 cm" -msgstr "30 x‏ 40 ס״מ" - -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "הגדרות התמונה" +msgid "%s does not exist." +msgstr "%s אינו קיים." -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "הדפסה..." +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s אינו סוג קובץ." -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 +#: src/direct/DirectPhotoPage.vala:231 #, c-format msgid "" -"Unable to print photo:\n" -"\n" -"%s" +"%s does not support the file format of\n" +"%s." msgstr "" -"לא ניתן להדפיס את התמונה:\n" -"\n" -"%s" +"ל־%s אין תמיכה במבנה הקובץ\n" +"%s." -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "היום" +#: src/direct/DirectPhotoPage.vala:248 +#, c-format +msgid "Unable open photo %s. Sorry." +msgstr "לא נתן לפתוח את התמונה %s. מצטערים." -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "אתמול" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "שמירת _עותק" -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:312 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" +#: src/direct/DirectPhotoPage.vala:435 +#, c-format +msgid "Lose changes to %s?" +msgstr "האם לאבד את השינויים לקובץ %s?" -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "פריטים:" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "סגירה _ללא שמירה" -#: ../src/Properties.vala:346 +#: src/direct/DirectPhotoPage.vala:469 #, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "אירוע אחד" -msgstr[1] "%d אירועים" +msgid "Error while saving to %s: %s" +msgstr "שגיאה בעת השמירה אל %s: ‏%s" + +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "שמירה בשם" -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 #, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "תמונה אחת" -msgstr[1] "%d תמונות" +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "לא ניתן לעקוב אחר %s: לא תיקייה (%s)" + +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "חזרה לממדי התמונה המקוריים" -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 -#, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "קטע וידאו אחד" -msgstr[1] "%d קטעי וידאו" +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "הגדרת החיתוך לתמונה זו" -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "תאריך:" +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "הטיית ריבוע החיתוך בין הגדרת כיווניות לאורך לבין הגדרת כיוונית לרוחב" -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "שעה:" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "ללא קיבוע" -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "מ־:" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "ריבוע" -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "עד:" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "מסך" -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1872 -msgid "Size:" -msgstr "גודל:" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "משך:" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "וידאו SD‏ (4 : 3)" -#: ../src/Properties.vala:404 -#, c-format -msgid "%.1f seconds" -msgstr "%.1f שניות" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "וידאו HD‏ (16 : 9)" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "מתכנת:" +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "ארנק (2 x‏ 3 אינטש)" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2240 -msgid "Exposure:" -msgstr "חשיפה:" +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "כרטיסייה (3 x‏ 5 אינטש)" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "מיקום:" +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "4 x‏ 6 אינטש" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "גודל הקובץ:" +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "5 x‏ 7 אינטש" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "פיתוח נוכחי:" +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "8 x‏ 10 אינטש" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "הממדים המקוריים:" +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Letter (8.5 x 11 אינץ')" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "יצרן המצלמה:" +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "11 x‏ 14 אינטש" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "דגם המצלמה:" +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloid (11 x 17 אינץ')" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "מבזק:" +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "‏16 x‏ 20 אינטש" -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "אורך מוקדי:" +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "9 x‏ 13 ס״מ" -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "תאריך החשיפה:" +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "גלויה (10 x‏ 15 ס״מ)" -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "זמן החשיפה:" +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "13 x‏ 18 ס״מ" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "הטיית חשיפה:" +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "18 x‏ 24 ס״מ" -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "קו רוחב GPS:" +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 x 297 מ\"מ)" -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "קו אורך GPS:" +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "20 x‏ 30 ס״מ" -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "אמן:" +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "24 x‏ 40 ס״מ" -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "זכויות יוצרים:" +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "30 x‏ 40 ס״מ" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "תכנה:" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297 x 420 מ\"מ)" -#: ../src/Properties.vala:639 -msgid "Extended Information" -msgstr "פרטים מורחבים" +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "גודל:" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "מנהל תמונות" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "סגירת הכלי לעיניים אדומות" -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "מציג תמונות" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "הסרת אפקטים של עין אדומה באזור הנבחר" -#: ../src/Resources.vala:144 -msgid "Rotate _Right" -msgstr "סיבוב _ימינה" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_איפוס" -#: ../src/Resources.vala:145 ../src/Resources.vala:150 -msgid "Rotate" -msgstr "סיבוב" +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "חשיפה:" -#: ../src/Resources.vala:146 -msgid "Rotate Right" -msgstr "סיבוב ימינה" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "רוויה:" -#: ../src/Resources.vala:147 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "סיבוב התמונות ימינה (לחיצה על Ctrl כדי לסובב שמאלה)" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "גוון:" -#: ../src/Resources.vala:149 -msgid "Rotate _Left" -msgstr "סיבוב _שמאלה" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "טמפרטורה:" -#: ../src/Resources.vala:151 -msgid "Rotate Left" -msgstr "סיבוב שמאלה" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "צללים:" -#: ../src/Resources.vala:152 -msgid "Rotate the photos left" -msgstr "סיבוב התמונה שמאלה" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "הדגשה:" -#: ../src/Resources.vala:154 -msgid "Flip Hori_zontally" -msgstr "היפוך או_פקית" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "איפוס הצבעים" -#: ../src/Resources.vala:155 -msgid "Flip Horizontally" -msgstr "היפוך אופקי" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "איפוס כל ההתאמות לצבע המקורי" -#: ../src/Resources.vala:157 -msgid "Flip Verti_cally" -msgstr "היפוך א_נכי" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "טמפרטורה" -#: ../src/Resources.vala:158 -msgid "Flip Vertically" -msgstr "היפוך אנכי" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "גוון" -#: ../src/Resources.vala:160 -msgid "_About" -msgstr "על _אודות" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "רוויה" -#: ../src/Resources.vala:161 -msgid "_Apply" -msgstr "ה_חלה" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "חשיפה" -#: ../src/Resources.vala:164 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:339 -msgid "_Edit" -msgstr "ע_ריכה" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "צללים" -#: ../src/Resources.vala:165 -msgid "_Forward" -msgstr "ה_בא" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "הדגשות" -#: ../src/Resources.vala:166 -msgid "Fulls_creen" -msgstr "מ_סך מלא" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "הרחבת הניגודיות" -#: ../src/Resources.vala:167 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:363 -msgid "_Help" -msgstr "ע_זרה" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "זווית:" -#: ../src/Resources.vala:168 -msgid "Leave _Fullscreen" -msgstr "יציאה ממסך מ_לא" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "יי_שור" -#: ../src/Resources.vala:169 ../src/Resources.vala:371 -msgid "_New" -msgstr "_חדש" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "אירועים" -#: ../src/Resources.vala:170 -msgid "_Next" -msgstr "ה_בא" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d תמונות/קטעי וידאו" +msgstr[1] "תמונה/וידאו %d" -#: ../src/Resources.vala:171 -msgid "_OK" -msgstr "_אישור" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "קטע וידאו אחד" +msgstr[1] "%d קטעי וידאו" -#: ../src/Resources.vala:172 -msgid "_Play" -msgstr "_ניגון" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "תמונה אחת" +msgstr[1] "%d תמונות" -#: ../src/Resources.vala:173 ../src/Resources.vala:325 -msgid "_Preferences" -msgstr "ה_עדפות" +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "אין אירועים" -#: ../src/Resources.vala:174 -msgid "_Previous" -msgstr "ה_קודם" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "ה_ערות" -#: ../src/Resources.vala:175 -msgid "_Print" -msgstr "ה_דפסה" +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "הצגת הערה לכל אירוע" -#: ../src/Resources.vala:176 -msgid "_Quit" -msgstr "י_ציאה" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "אין אירועים" -#: ../src/Resources.vala:177 -msgid "_Refresh" -msgstr "ר_ענון" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "לא נמצאו אירועים" -#: ../src/Resources.vala:179 -msgid "_Revert" -msgstr "ה_יפוך" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "כל האירועים" -#: ../src/Resources.vala:180 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save" -msgstr "_שמירה" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "ללא תאריך" -#: ../src/Resources.vala:181 -msgid "Save _As" -msgstr "שמירה _בשם" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:182 -msgid "Sort _Ascending" -msgstr "מיון בסדר _עולה" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Resources.vala:183 -msgid "Sort _Descending" -msgstr "מיון בסדר יו_רד" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "האירוע %s" -#: ../src/Resources.vala:184 -msgid "_Stop" -msgstr "ע_צירה" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "לא ניתן ליצור את הקובץ הזמני עבור %s:‏ %s" -#: ../src/Resources.vala:185 -msgid "_Undelete" -msgstr "_ביטול מחיקה" +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "יצוא" -#: ../src/Resources.vala:186 -msgid "_Normal Size" -msgstr "גודל _רגיל" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "הקובץ %s כבר קיים. להחליף?" -#: ../src/Resources.vala:187 -msgid "Best _Fit" -msgstr "התאמה הטובה _ביותר" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "_דילוג" -#: ../src/Resources.vala:191 -msgid "_Enhance" -msgstr "_שיפור" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "ה_חלפה" -#: ../src/Resources.vala:192 -msgid "Enhance" -msgstr "שיפור" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "החלפת ה_כול" -#: ../src/Resources.vala:193 -msgid "Automatically improve the photo's appearance" -msgstr "שיפור חזות התמונה אוטומטית" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "יצוא" -#: ../src/Resources.vala:195 -msgid "_Copy Color Adjustments" -msgstr "ה_עתקת התאמות צבאים" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "תיקיות" -#: ../src/Resources.vala:196 -msgid "Copy Color Adjustments" -msgstr "העתקת התאמות צבעים" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "ספרייה" -#: ../src/Resources.vala:197 -msgid "Copy the color adjustments applied to the photo" -msgstr "העתקת התאמות הצבעים החלים על התמונה" +#: src/library/Branch.vala:97 src/SearchFilter.vala:608 +#: src/SearchFilter.vala:609 +msgid "Photos" +msgstr "תמונות" -#: ../src/Resources.vala:199 -msgid "_Paste Color Adjustments" -msgstr "ה_דבקת התאמות צבעים" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:602 +#: src/SearchFilter.vala:603 src/SearchFilter.vala:1188 +msgid "Flagged" +msgstr "סימון בדגל" -#: ../src/Resources.vala:200 -msgid "Paste Color Adjustments" -msgstr "הדבקת התאמות צבעים" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "מתבצע יבוא..." -#: ../src/Resources.vala:201 -msgid "Apply copied color adjustments to the selected photos" -msgstr "החלת העתקת התאמות הצבעים לתמונות הנבחרות" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "ע_צירת היבוא" -#: ../src/Resources.vala:203 -msgid "_Crop" -msgstr "_חיתוך" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "עצירת יבוא התמונות" -#: ../src/Resources.vala:204 -msgid "Crop" -msgstr "חיתוך" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "בהכנות ליבוא..." -#: ../src/Resources.vala:205 -msgid "Crop the photo's size" -msgstr "חיתוך גודל התמונה" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "יובאו %s" -#: ../src/Resources.vala:207 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "יי_שור" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "היבוא האחרון" -#: ../src/Resources.vala:208 -msgid "Straighten" -msgstr "יישור" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "י_בוא מתיקייה..." -#: ../src/Resources.vala:209 -msgid "Straighten the photo" -msgstr "יישור התמונה" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "יבוא תמונות מהכונן לספרייה" -#: ../src/Resources.vala:211 -msgid "_Red-eye" -msgstr "_עיניים אדומות" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "ייבוא מ_יישום..." -#: ../src/Resources.vala:212 -msgid "Red-eye" -msgstr "עיניים אדומות" +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "מיון _אירועים" -#: ../src/Resources.vala:213 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "הפחתת או העלמת אפקטים של עיניים אדומות בתמונה" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "פינוי ה_אשפה" -#: ../src/Resources.vala:215 -msgid "_Adjust" -msgstr "ה_תאמה" +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "מחיקת כל התמונות באשפה" -#: ../src/Resources.vala:216 -msgid "Adjust" -msgstr "התאמה" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "צפייה ב_אירוע עבור תמונה" -#: ../src/Resources.vala:217 -msgid "Adjust the photo's color and tone" -msgstr "התאמת גוון וצבע התמונה" +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_חיפוש" -#: ../src/Resources.vala:219 -msgid "Re_vert to Original" -msgstr "_שחזור למקור" +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "חיפוש תמונות וקטעי וידאו לפי קריטריונים של חיפוש" -#: ../src/Resources.vala:220 -msgid "Revert to Original" -msgstr "שחזור למקור" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "חיפוש _שמור חדש..." -#: ../src/Resources.vala:222 -msgid "Revert External E_dits" -msgstr "ביטול עריכות _חיצוניות" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_תמונות" -#: ../src/Resources.vala:223 -msgid "Revert to the master photo" -msgstr "שחזור לתמונה הראשית" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "_אירועים" -#: ../src/Resources.vala:225 -msgid "Set as _Desktop Background" -msgstr "הגדרה כ_רקע שולחן העבודה" +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "ת_גיות" -#: ../src/Resources.vala:226 -msgid "Set selected image to be the new desktop background" -msgstr "הגדרת התמונה הנבחרת כרקע החדש לשולחן העבודה" +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "פרטים _בסיסיים" -#: ../src/Resources.vala:227 -msgid "Set as _Desktop Slideshow..." -msgstr "הגדרה כ_מצגת שולחן העבודה..." +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "הצגת פרטים בסיסיים עבור הבחירה" -#: ../src/Resources.vala:229 -msgid "_Undo" -msgstr "_ביטול" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "_פרטים מורחבים" -#: ../src/Resources.vala:230 -msgid "Undo" -msgstr "ביטול" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "הצגת פרטים מורחבים עבור הבחירה" -#: ../src/Resources.vala:232 -msgid "_Redo" -msgstr "ביצוע _חוזר" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "_סרגל חיפוש" -#: ../src/Resources.vala:233 -msgid "Redo" -msgstr "ביצוע חוזר" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "הצגת סרגל החיפוש" -#: ../src/Resources.vala:235 -msgid "Re_name Event..." -msgstr "החלפת _שם האירוע..." +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "סרגל _צד" -#: ../src/Resources.vala:238 -msgid "Make _Key Photo for Event" -msgstr "הגדרה לתמונה המיי_צגת לאירוע" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "הצגת סרגל הצד" -#: ../src/Resources.vala:239 -msgid "Make Key Photo for Event" -msgstr "הגדרה לתמונה המייצגת לאירוע" +#: src/library/LibraryWindow.vala:398 +msgid "T_oolbar" +msgstr "_סרגל כלים" -#: ../src/Resources.vala:241 -msgid "_New Event" -msgstr "_אירוע חדש" +#: src/library/LibraryWindow.vala:399 +msgid "Display the tool bar" +msgstr "הצגת סרגל הכלים" -#: ../src/Resources.vala:242 -msgid "New Event" -msgstr "אירוע חדש" +#: src/library/LibraryWindow.vala:411 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "_עולה" -#: ../src/Resources.vala:244 -msgid "Move Photos" -msgstr "העברת תמונות" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "סידור התמונות בסדר עולה" -#: ../src/Resources.vala:245 -msgid "Move photos to an event" -msgstr "העברת תמונות לאירוע" +#: src/library/LibraryWindow.vala:418 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "_יורד" -#: ../src/Resources.vala:247 -msgid "_Merge Events" -msgstr "מי_זוג אירועים" +#: src/library/LibraryWindow.vala:419 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "סידור התמונות בסדר יורד" -#: ../src/Resources.vala:248 -msgid "Merge" -msgstr "מיזוג" +#: src/library/LibraryWindow.vala:657 +msgid "Import From Folder" +msgstr "יבוא מתיקייה" -#: ../src/Resources.vala:249 -msgid "Combine events into a single event" -msgstr "חבר ארועים לארוע בודד" +#: src/library/LibraryWindow.vala:726 +msgid "Empty Trash" +msgstr "פינוי האשפה" -#: ../src/Resources.vala:251 -msgid "_Set Rating" -msgstr "ה_גדרת דירוג" +#: src/library/LibraryWindow.vala:726 +msgid "Emptying Trash..." +msgstr "האשפה מתרוקנת..." -#: ../src/Resources.vala:252 -msgid "Set Rating" -msgstr "הגדרת דירוג" +#: src/library/LibraryWindow.vala:901 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"‏Shotwell מוגדר לייבא תמונות לתיקיית הבית שלך.\n" +"אנו ממליצים לשנות זאת בעריכה %s העדפות.\n" +"האם ברצונך להמשיך בייבוא התמונות?" -#: ../src/Resources.vala:253 -msgid "Change the rating of your photo" -msgstr "שינוי הדירוג לתמונה שלך" +#: src/library/LibraryWindow.vala:904 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "מיקום הספרייה" -#: ../src/Resources.vala:255 -msgid "_Increase" -msgstr "ה_גדלה" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:917 +msgid "Photos cannot be imported from this directory." +msgstr "לא ניתן לייבא תמונות לתיקייה זו." -#: ../src/Resources.vala:256 -msgid "Increase Rating" -msgstr "הגדלת הדירוג" +#: src/library/LibraryWindow.vala:1203 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:258 -msgid "_Decrease" -msgstr "ה_פחתה" +#: src/library/LibraryWindow.vala:1247 src/library/LibraryWindow.vala:1258 +msgid "Updating library..." +msgstr "הספרייה מתעדכנת..." -#: ../src/Resources.vala:259 -msgid "Decrease Rating" -msgstr "הפחתת הדירוג" +#: src/library/LibraryWindow.vala:1264 +msgid "Preparing to auto-import photos..." +msgstr "בהכנות ליבוא תמונות באופן אוטומטי...." -#: ../src/Resources.vala:261 -msgid "_Unrated" -msgstr "_ללא דירוג" +#: src/library/LibraryWindow.vala:1269 +msgid "Auto-importing photos..." +msgstr "התמונות מיובאות אוטומטית..." -#: ../src/Resources.vala:262 -msgid "Unrated" -msgstr "אין דירוג" +#: src/library/LibraryWindow.vala:1277 +msgid "Writing metadata to files..." +msgstr "נתוני העל נכתבים לקבצים..." -#: ../src/Resources.vala:263 -msgid "Rate Unrated" -msgstr "ביטול הדירוג" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "קבצים חסרים" -#: ../src/Resources.vala:264 -msgid "Setting as unrated" -msgstr "הגדרה כלא מדורגת" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "מחיקה..." -#: ../src/Resources.vala:265 -msgid "Remove any ratings" -msgstr "הסרת כל הדירוגים" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "סל האשפה" -#: ../src/Resources.vala:267 -msgid "_Rejected" -msgstr "ד_חויהה" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "סל האשפה ריק" + +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "מחיקה" -#: ../src/Resources.vala:268 -msgid "Rejected" -msgstr "נדחה" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "התמונות נמחקות" -#: ../src/Resources.vala:269 -msgid "Rate Rejected" -msgstr "דירוג דחויה" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"ספריית התמונות שלך אינה נתמכת בגרסה זו של Shotwell. נראה כי הספרייה נוצרה " +"באמצעות Shotwell %s (סכמה %d). גרסה זו הנה %s (סכמה %d). נא להשתמש בגרסה " +"העדכנית ביותר של Shotwell." -#: ../src/Resources.vala:270 -msgid "Setting as rejected" -msgstr "דרג כדחויה" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"לא עלה בידי Shotwell לשדרג את ספריית התמונות שלך מגרסה %s (סכמה%d) לגרסה %s " +"(סכמה %d). למידע נוסף ניתן לבקר באתר הוויקי של Shotwell בכתובת %s" -#: ../src/Resources.vala:271 -msgid "Set rating to rejected" -msgstr "הגדרת הדירוג לדחויה" +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"ספריית התמונות שלך אינה תואמת לגרסה זו של Shotwell. נראה כי ספרייה זו נוצרה " +"על ידי Shotwell %s (סכמה%d). גרסה זו הנה %s (סכמה %d). נא לפנות את ספריית " +"התמונות שלך על ידי מחיקת %s ויבוא התמונות שלך מחדש." -#: ../src/Resources.vala:273 -msgid "Rejected _Only" -msgstr "נדחות _בלבד" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "אירעה שגיאה בלתי ידועה בעת הניסיון לאימות מסד הנתונים של Shotwell: %s" -#: ../src/Resources.vala:274 -msgid "Rejected Only" -msgstr "הנדחות בלבד" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "Loading Shotwell" -#: ../src/Resources.vala:275 -msgid "Show only rejected photos" -msgstr "הצגות התמונות שנדחו בלבד" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "הנתיב לנתונים הפרטיים של Shotwell" -#: ../src/Resources.vala:277 -msgid "All + _Rejected" -msgstr "הכול + _דחויות" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "DIRECTORY" -#: ../src/Resources.vala:278 ../src/Resources.vala:279 -msgid "Show all photos, including rejected" -msgstr "הצגת כל התמונות, לרבות אלו שנדחו" +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "אין לבדוק מה השינויים בתיקיות בזמן פעולת התכנית" -#: ../src/Resources.vala:281 -msgid "_All Photos" -msgstr "_כל התמונות" +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "אין להציג מד התקדמות בזמן ההפעלה" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:283 ../src/Resources.vala:285 -msgid "Show all photos" -msgstr "הצגת כל התמונות" +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "הצגת גרסת היישום" -#: ../src/Resources.vala:287 -msgid "_Ratings" -msgstr "_דירוגים" +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[FILE]" -#: ../src/Resources.vala:288 -msgid "Display each photo's rating" -msgstr "הצגת הדירוג של כל תמונה" +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Run '%s --help' to see a full list of available command line options.\n" -#: ../src/Resources.vala:290 -msgid "_Filter Photos" -msgstr "_סינון תמונות" +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "לא ניתן לעבד את עדכוני המעקב: %s" -#: ../src/Resources.vala:291 -msgid "Filter Photos" -msgstr "סינון תמונות" +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "התאמת גודל התמונות הממוזערות" -#: ../src/Resources.vala:292 -msgid "Limit the number of photos displayed based on a filter" -msgstr "הגבלת מספר התמונות המוצגות בהתאם למסנן" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "הגדלת רמת התקריב בתמונות הממוזערות" -#: ../src/Resources.vala:294 -msgid "_Duplicate" -msgstr "_שכפול" +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "הקטנת רמת התקריב בתמונות הממוזערות" -#: ../src/Resources.vala:295 -msgid "Duplicate" -msgstr "שכפול" +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "_סידור תמונות" -#: ../src/Resources.vala:296 -msgid "Make a duplicate of the photo" -msgstr "שכפול התמונה" +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "נגינת _וידאו" -#: ../src/Resources.vala:298 -msgid "_Export..." -msgstr "י_צוא..." +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "פתיחת קטעי הווידאו הנבחרים בנגן הווידאו של המערכת" -#: ../src/Resources.vala:300 -msgid "_Print..." -msgstr "ה_דפסה..." +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "מ_תכנת" -#: ../src/Resources.vala:302 -msgid "Pu_blish..." -msgstr "פ_רסום..." +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "יש להציג הערה זו עבור כל תמונה" -#: ../src/Resources.vala:304 -msgid "Publish to various websites" -msgstr "פרסום למגוון של אתרים" +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "הצגת התגיות עבור כל תמונה" -#: ../src/Resources.vala:306 -msgid "Edit _Title..." -msgstr "_עריכת הכותרת..." +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "לפי _כותרת" -#: ../src/Resources.vala:310 -msgid "Edit _Comment..." -msgstr "ע_ריכת ההערה..." +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "סידור התמונות לפי כותרת" -#. Button label -#: ../src/Resources.vala:312 -msgid "Edit Comment" -msgstr "עריכת ההערה" +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "לפי תאריך _חשיפה" -#: ../src/Resources.vala:314 -msgid "Edit Event _Comment..." -msgstr "עריכת ה_ערת אירוע…" +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "דירוג התמונות לפי תאריך החשיפה" -#: ../src/Resources.vala:317 -msgid "_Adjust Date and Time..." -msgstr "_כיוון התאריך והשעה..." +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "לפי _דירוג" -#: ../src/Resources.vala:318 -msgid "Adjust Date and Time" -msgstr "כיוון תאריך ושעה" +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "סידור התמונות לפי דירוג" -#: ../src/Resources.vala:320 -msgid "Add _Tags..." -msgstr "הוספת _תגיות..." +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "לפי _שם קובץ" -#: ../src/Resources.vala:321 -msgid "_Add Tags..." -msgstr "_הוסף תגיות..." +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "מיון תמונות לפי שמות קבצים" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:323 ../src/Resources.vala:356 -msgid "Add Tags" -msgstr "הוספת תגיות" +#: src/MediaPage.vala:723 +#, c-format +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" +"לא הייתה באפשרות Shotwell לנגן את הווידאו הבא:\n" +"%s" -#: ../src/Resources.vala:327 -msgid "Open With E_xternal Editor" -msgstr "פתיחה בעורך _חיצוני" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "אין תמונות/קטעי וידאו" -#: ../src/Resources.vala:329 -msgid "Open With RA_W Editor" -msgstr "פתיחה באמצעות _עורך RAW" +#: src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "לא נמצאו תמונות/סרטוני וידאו המתאימים לסינון הנוכחי" -#: ../src/Resources.vala:331 -msgid "Send _To..." -msgstr "שליחה _אל..." +#: src/Page.vala:2576 +msgid "Photos cannot be exported to this directory." +msgstr "לא ניתן לייצא תמונות לתיקייה זו." -#: ../src/Resources.vala:332 -msgid "Send T_o..." -msgstr "_שלח ל..." +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "התמונה הקודמת" -#: ../src/Resources.vala:334 -msgid "_Find..." -msgstr "_חיפוש…" +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "התמונה הבאה" -#: ../src/Resources.vala:335 -msgid "Find" -msgstr "חיפוש" +#: src/PhotoPage.vala:1845 +#, c-format +msgid "Photo source file missing: %s" +msgstr "קובץ המקור לתמונה חסר: %s" -#: ../src/Resources.vala:336 -msgid "Find an image by typing text that appears in its name or tags" -msgstr "חיפוש תמונה על ידי הקלדת הטקסט המופיע בשמה או בתגיות שלה" +#: src/PhotoPage.vala:3229 +#, c-format +msgid "Unable to export %s: %s" +msgstr "לא ניתן לייצא את %s:‏ %s" -#: ../src/Resources.vala:338 -msgid "_Flag" -msgstr "סימון ב_דגל" +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:340 -msgid "Un_flag" -msgstr "_ביטול הדגל" +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:343 +#: src/photos/JfifSupport.vala:185 #, c-format -msgid "Unable to launch editor: %s" -msgstr "לא ניתן להפעיל את העורך: %s" +msgid "Low (%d%%)" +msgstr "נמוכה (%d%%)" -#: ../src/Resources.vala:348 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Add Tag \"%s\"" -msgstr "הוספת התגית \"%s\"" +msgid "Medium (%d%%)" +msgstr "בינונית (%d%%)" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:351 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "הוספת התגיות \"%s\" ו \"%s\"" +msgid "High (%d%%)" +msgstr "גבוהה (%d%%)" -#: ../src/Resources.vala:361 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "_Delete Tag \"%s\"" -msgstr "מ_חיקת התגית \"%s\"" +msgid "Maximum (%d%%)" +msgstr "מרבית (%d%%)" -#: ../src/Resources.vala:365 -#, c-format -msgid "Delete Tag \"%s\"" -msgstr "מחיקת התגית \"%s\"" +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:368 -msgid "Delete Tag" -msgstr "מחיקת תגית" +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:374 -#, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "_שינוי שם התגית \"%s\"..." +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:378 -#, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "שינוי שם התגית \"%s\" ל־\"%s\"" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "השתנתה" -#: ../src/Resources.vala:381 -msgid "_Rename..." -msgstr "_שינוי שם..." +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "מילוי העמוד כולו" -#: ../src/Resources.vala:383 -msgid "Modif_y Tags..." -msgstr "ה_חלפת תגיות..." +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 תמונות בעמוד" -#: ../src/Resources.vala:384 -msgid "Modify Tags" -msgstr "החלפת התגיות" +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 תמונות בעמוד" -#: ../src/Resources.vala:387 -#, c-format -msgid "Tag Photo as \"%s\"" -msgstr "תיוג התמונות בתור \"%s\"" +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 תמונות בעמוד" -#: ../src/Resources.vala:387 -#, c-format -msgid "Tag Photos as \"%s\"" -msgstr "תיוג תמונות בתור \"%s\"" +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 תמונות בעמוד" -#: ../src/Resources.vala:391 -#, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "תיוג התמונות הנבחרות בתור \"%s\"" +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 תמונות בעמוד" -#: ../src/Resources.vala:392 -#, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "תיוג התמונות הנבחרות בתור \"%s\"" +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 תמונות בעמוד" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "הסרת התגית \"%s\" מתמו_נות" +#: src/Printing.vala:348 +msgid "in." +msgstr "אינ׳" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "הסרת התגית \"%s\" מה_תמונות" +#: src/Printing.vala:349 +msgid "cm" +msgstr "ס״מ" -#: ../src/Resources.vala:401 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "הסרת התגית \"%s\" מתמונות" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "הגדרות התמונה" -#: ../src/Resources.vala:402 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "הסרת התגית \"%s\" מהתמונות" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "הדפסה..." -#: ../src/Resources.vala:406 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "לא ניתן לשנות את שם התגית ל־\"%s\" כיוון שהתגית כבר קיימת." +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"לא ניתן להדפיס את התמונה:\n" +"\n" +"%s" -#: ../src/Resources.vala:410 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "לא ניתן לשנות את שם החיפוש ל־\"%s\" כיוון שהחיפוש כבר קיים." +#: src/Properties.vala:84 +msgid "Today" +msgstr "היום" -#: ../src/Resources.vala:413 -msgid "Saved Search" -msgstr "חיפוש שנשמר" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "אתמול" -#: ../src/Resources.vala:415 -msgid "Delete Search" -msgstr "מחיקת החיפוש" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "פריטים:" -#: ../src/Resources.vala:418 -msgid "_Edit..." -msgstr "ע_ריכה..." +#: src/Properties.vala:346 +#, c-format +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "אירוע אחד" +msgstr[1] "%d אירועים" -#: ../src/Resources.vala:419 -msgid "Re_name..." -msgstr "_שינוי שם..." +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "תאריך:" -#: ../src/Resources.vala:422 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "שינוי שם החיפוש \"%s\" לשם \"%s\"" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "שעה:" -#: ../src/Resources.vala:426 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "מחיקת החיפוש \"%s\"" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "מ־:" -#: ../src/Resources.vala:584 -#, c-format -msgid "Rate %s" -msgstr "דירוג %s" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "עד:" -#: ../src/Resources.vala:585 -#, c-format -msgid "Set rating to %s" -msgstr "הגדרת הדירוג ל־%s" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "משך:" -#: ../src/Resources.vala:586 +#: src/Properties.vala:404 #, c-format -msgid "Setting rating to %s" -msgstr "הדירוג מוגדר ל־%s" +msgid "%.1f seconds" +msgstr "%.1f שניות" -#: ../src/Resources.vala:588 -#, c-format -msgid "Display %s" -msgstr "הצגת %s" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "מתכנת:" -#: ../src/Resources.vala:589 -#, c-format -msgid "Only show photos with a rating of %s" -msgstr "יש להציג תמונות בדירוג %s בלבד" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "מיקום:" -#: ../src/Resources.vala:590 -#, c-format -msgid "%s or Better" -msgstr "%s ומעלה" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "גודל הקובץ:" -#: ../src/Resources.vala:591 -#, c-format -msgid "Display %s or Better" -msgstr "הצגת %s ומעלה" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "פיתוח נוכחי:" -#: ../src/Resources.vala:592 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "רק תמונות בעלות דירוג של %s ומעלה" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "הממדים המקוריים:" -#: ../src/Resources.vala:683 -msgid "Remove the selected photos from the trash" -msgstr "הסרת התמונות הנבחרות מהאשפה" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "יצרן המצלמה:" -#: ../src/Resources.vala:684 -msgid "Remove the selected photos from the library" -msgstr "הסרת התמונות הנבחרות מהספרייה." +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "דגם המצלמה:" -#: ../src/Resources.vala:686 -msgid "_Restore" -msgstr "_שחזור" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "מבזק:" -#: ../src/Resources.vala:687 -msgid "Move the selected photos back into the library" -msgstr "העברת התמונות הנבחרות בחזרה לספרייה" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "אורך מוקדי:" -#: ../src/Resources.vala:689 -msgid "Show in File Mana_ger" -msgstr "הצ_גה במנהל הקבצים" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "תאריך החשיפה:" -#: ../src/Resources.vala:690 -msgid "Open the selected photo's directory in the file manager" -msgstr "פתיחת תיקיית התמונה הנבחרת במנהל הקבצים" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "זמן החשיפה:" -#: ../src/Resources.vala:693 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "לא ניתן לפתוח במנהל הקבצים: %s" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "הטיית חשיפה:" -#: ../src/Resources.vala:696 -msgid "R_emove From Library" -msgstr "ה_סרה מהספרייה" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "קו רוחב GPS:" -#: ../src/Resources.vala:698 -msgid "_Move to Trash" -msgstr "ה_עברה לאשפה" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "קו אורך GPS:" -#: ../src/Resources.vala:700 -msgid "Select _All" -msgstr "בחירת ה_כול" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "אמן:" -#: ../src/Resources.vala:701 -msgid "Select all items" -msgstr "בחירת כל הפריטים" +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "זכויות יוצרים:" -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M %p" -msgstr "%-I:%M %p" +#: src/Properties.vala:624 +msgid "Software:" +msgstr "תכנה:" -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:785 -msgid "%-I:%M:%S %p" -msgstr "%-I:%M:%S %p" +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "פרטים מורחבים" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:789 -msgid "%a %b %d, %Y" -msgstr "%a ה־%b ב%d, %Y" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "בהכנה להעלאה" -#. / 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 -#. / 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 -#: ../src/Resources.vala:794 ../src/Resources.vala:804 -msgid "%a %b %d" -msgstr "%a ה־%d ב%b" +#: src/publishing/PublishingPluginHost.vala:12 +#, c-format +msgid "Uploading %d of %d" +msgstr "%d נשלחו מתוך %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 -#: ../src/Resources.vala:799 -msgid "%d, %Y" -msgstr "%d %Y" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "לא ניתן להמשיך בפרסום אל %s כיוון שאירעה שגיאה:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "מצגת" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "כדי לנסות לפרסם לשירות אחד, יש לבחור באחד מהתפריט שלהלן." -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "סימון בדגל" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "התמונה/וידאו הנבחרים פורסמו בהצלחה." -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "תמונות" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "קטעי הווידאו פורסמו בהצלחה." -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "קטעי וידאו" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "התמונות הנבחרות פורסמו בהצלחה." -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "תמונות גולמיות (RAW)" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "קטע הווידאו הנבחר פורסם בהצלחה." -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "תמונות גולמיות (RAW)" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "התמונה הנבחרת פורסמה בהצלחה." -#: ../src/SearchFilter.vala:934 -#, c-format -msgid "Error loading UI file %s: %s" -msgstr "שגיאה בטעינת קובץ מנשק המשתמש %s: %s" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "פרטי החשבון מתקבלים..." -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "סגירה" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "בהליכי כניסה..." -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "סוג" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "פרסום תמונות" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "דירוג" +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "פרסום תמונות _אל:" + +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "פרסום קטעי וידאו" -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "הגדרות" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "פרסום קטעי וידאו _אל:" -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "הקודמת" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "פרסום תמונות וקטעי וידאו" -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "מעבר לתמונה הקודמת" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "פרסום תמונות וקטעי וידאו _אל:" -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "השהייה" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "לא ניתן לפרסם" -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "השהיית המצגת" +#: src/publishing/PublishingUI.vala:398 +#, c-format +msgid "" +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." +msgstr "" +"Shotwell אינו יכול להעלות את התכנים המבוקשים מאחר ואין תוסף טעינה מתאים " +"לשרות הנדרש. על מנת לתקן זאת, בחר באפשרות ערוך העדפות %s והפעל את אחד " +"או יותר מתוספי ההעלאה בלשונית תוספים." -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "הבאה" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "פרסום" -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "מעבר לתמונה הבאה" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "סיבוב _ימינה" -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "שינוי הגדרות המצגת" +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "סיבוב" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "כל קובצי המקור של התמונות חסרים." +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "סיבוב ימינה" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "הצגה" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "סיבוב התמונות ימינה (לחיצה על Ctrl כדי לסובב שמאלה)" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "המשך בהצגת המצגת" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "סיבוב _שמאלה" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "ללא שם" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "סיבוב שמאלה" -#. multiple videos -#: ../src/VideoSupport.vala:489 -msgid "Export Videos" -msgstr "יצוא קטעי וידאו" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "סיבוב התמונה שמאלה" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "מצלמות" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "היפוך או_פקית" -#: ../src/camera/ImportPage.vala:459 -msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." -msgstr "לא ניתן לנתק את המצלמה. יש לנסות לנתק את המצלמה ממנהל הקבצים." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "היפוך אופקי" -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:776 -msgid "Hide photos already imported" -msgstr "הסתרת תמונות שכבר יובאו" +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "היפוך א_נכי" -#: ../src/camera/ImportPage.vala:777 -msgid "Only display photos that have not been imported" -msgstr "יש להציג תמונות שלא יובאו בלבד" +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "היפוך אנכי" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:847 -msgid "Starting import, please wait..." -msgstr "הייבוא מתחיל, נא להמתין..." +#: src/Resources.vala:155 +msgid "_About" +msgstr "על _אודות" -#: ../src/camera/ImportPage.vala:886 -msgid "Import _Selected" -msgstr "יבוא ה_נבחרות" +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "ה_חלה" -#: ../src/camera/ImportPage.vala:887 -msgid "Import the selected photos into your library" -msgstr "יבוא התמונות הנבחרות לספרייה שלך" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "ה_בא" -#: ../src/camera/ImportPage.vala:892 -msgid "Import _All" -msgstr "יבוא ה_כול" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "מ_סך מלא" -#: ../src/camera/ImportPage.vala:893 -msgid "Import all the photos into your library" -msgstr "יבוא כל התמונות לספרייה שלך" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "יציאה ממסך מ_לא" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1014 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "על Shotwell לנתק את המצלמה ממערכת הקבצים כדי לגשת אליה. האם להמשיך?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_חדש" -#: ../src/camera/ImportPage.vala:1020 -msgid "_Unmount" -msgstr "_ניתוק" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "ה_בא" -#: ../src/camera/ImportPage.vala:1025 -msgid "Please unmount the camera." -msgstr "נא לנתק את מערכת הקבצים של המצלמה." +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_אישור" -#: ../src/camera/ImportPage.vala:1030 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"המצלמה נעולה על ידי יישום אחר. Shotwell יכולה לגשת למצלמה רק כאשר אינה " -"נעולה. נא לסגור כל יישום אחר המשתמש במצלמה ולנסות שוב." +#: src/Resources.vala:167 +msgid "_Play" +msgstr "_ניגון" -#: ../src/camera/ImportPage.vala:1040 -msgid "Please close any other application using the camera." -msgstr "נא לסגור כל יישום אחר המשתמש במצלמה." +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "ה_עדפות" -#: ../src/camera/ImportPage.vala:1045 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"לא ניתן לקבל את התצוגות המקדימות מהמצלמה:\n" -"%s" +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "ה_קודם" -#: ../src/camera/ImportPage.vala:1062 -msgid "Unmounting..." -msgstr "מתבצע ניתוק..." +#: src/Resources.vala:170 +msgid "_Print" +msgstr "ה_דפסה" -#: ../src/camera/ImportPage.vala:1168 -msgid "Fetching photo information" -msgstr "פרטי התמונה מתקבלים" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "י_ציאה" -#: ../src/camera/ImportPage.vala:1523 -#, c-format -msgid "Fetching preview for %s" -msgstr "התצוגה המקדימה עבור %s מתקבלת" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "ר_ענון" -#: ../src/camera/ImportPage.vala:1639 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "לא ניתן לנעול את המצלמה: %s" +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "ה_יפוך" -#: ../src/camera/ImportPage.vala:1724 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "האם למחוק תמונה זו מהמצלמה?" -msgstr[1] "האם למחוק %d תמונות אלה מהמצלמה?" +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "שמירה _בשם" -#: ../src/camera/ImportPage.vala:1727 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "האם למחוק קטע וידאו זה מהמצלמה?" -msgstr[1] "האם למחוק %d קטעי וידאו אלה?" +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "מיון בסדר _עולה" -#: ../src/camera/ImportPage.vala:1730 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "האם למחוק תמונה/וידאו אלו מהמצלמה?" -msgstr[1] "האם למחוק %d תמונות/קטעי וידאו אלו מהמצלמה?" +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "מיון בסדר יו_רד" -#: ../src/camera/ImportPage.vala:1733 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "האם למחוק קובץ זה מהמצלמה?" -msgstr[1] "האם למחוק %d קבצים אלה מהמצלמה?" +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "ע_צירה" -#: ../src/camera/ImportPage.vala:1760 -msgid "Removing photos/videos from camera" -msgstr "התמונות/קטעי הווידאו מוסרים מהמצלמה" +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "_ביטול מחיקה" -#: ../src/camera/ImportPage.vala:1764 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "לא ניתן למחוק תמונה אחת/וידאו אחד מהמצלמה עקב שגיאות." -msgstr[1] "לא ניתן למחוק %d תמונות/קטעי וידאו מהמצלמה עקב שגיאות." +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "גודל _רגיל" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "יבוא נתונים" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "התאמה הטובה _ביותר" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "מסד נתונים %s" +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "_שיפור" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "הייבוא מהמיקום %s לא יכול להימשך עקב השגיאה שאירעה:" +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "שיפור" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "כדי לנסות לייבוא משירות אחר, נא לבחור באחר מהתפריט שלהלן." +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "שיפור חזות התמונה אוטומטית" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"אין לך שום תוספי יבוא נתונים פעילים.\n" -"\n" -"על מנת להשתמש בתכונת הייבוא מתוך יישום צריך שיהיה לך לפחות תוסף אחד של יבוא " -"נתונים פעיל. ניתן להפעיל תוספים בדו־שיח ההעדפות." +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "ה_עתקת התאמות צבאים" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "קובץ מסד נתונים:" +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "העתקת התאמות צבעים" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:882 -msgid "_Import" -msgstr "י_בוא" +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "העתקת התאמות הצבעים החלים על התמונה" -#: ../src/data_imports/DataImportsUI.vala:217 -msgid "Import From Application" -msgstr "יבוא מיישום" +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "ה_דבקת התאמות צבעים" -#: ../src/data_imports/DataImportsUI.vala:369 -#: ../src/publishing/PublishingUI.vala:470 -msgid "_Close" -msgstr "_סגירה" +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "הדבקת התאמות צבעים" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "לא ניתן לפתוח/ליצור מסד נתוני תמונות %s: קוד השגיאה %d" +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "החלת העתקת התאמות הצבעים לתמונות הנבחרות" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"לא ניתן לכתוב אל קובץ מסד נתוני התמונות:\n" -" %s" +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "_חיתוך" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"אירעה שגיאה במהלך הגישה לקובץ מסד הנתונים:\n" -" %s\n" -"\n" -"השגיאה הייתה: \n" -"%s" +#: src/Resources.vala:199 +msgid "Crop" +msgstr "חיתוך" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 -msgid "_File" -msgstr "_קובץ" +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "חיתוך גודל התמונה" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "שמירת התמונה" +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "יישור" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "שמירה _בשם..." +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "יישור התמונה" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "שמירת תמונה בשם אחר" +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "_עיניים אדומות" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "הדפסת התמונה במדפסת המחוברת למחשב שלך" +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "עיניים אדומות" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 -msgid "_Photo" -msgstr "_תמונה" +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "הפחתת או העלמת אפקטים של עיניים אדומות בתמונה" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s אינו קיים." +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "ה_תאמה" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s אינו סוג קובץ." +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "התאמה" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"ל־%s אין תמיכה במבנה הקובץ\n" -"%s." +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "התאמת גוון וצבע התמונה" -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save a Copy" -msgstr "שמירת _עותק" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "_שחזור למקור" -#: ../src/direct/DirectPhotoPage.vala:425 -#, c-format -msgid "Lose changes to %s?" -msgstr "האם לאבד את השינויים לקובץ %s?" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "שחזור למקור" -#: ../src/direct/DirectPhotoPage.vala:426 -msgid "Close _without Saving" -msgstr "סגירה _ללא שמירה" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "ביטול עריכות _חיצוניות" -#: ../src/direct/DirectPhotoPage.vala:459 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "שגיאה בעת השמירה אל %s: ‏%s" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "שחזור לתמונה הראשית" -#: ../src/direct/DirectPhotoPage.vala:487 -#: ../src/direct/DirectPhotoPage.vala:508 -msgid "Save As" -msgstr "שמירה בשם" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "הגדרה כ_רקע שולחן העבודה" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "חזרה לממדי התמונה המקוריים" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "הגדרת התמונה הנבחרת כרקע החדש לשולחן העבודה" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "הגדרת החיתוך לתמונה זו" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "הגדרה כ_מצגת שולחן העבודה..." -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "הטיית ריבוע החיתוך בין הגדרת כיווניות לאורך לבין הגדרת כיוונית לרוחב" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "_ביטול" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "ללא קיבוע" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "ביטול" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "ריבוע" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "ביצוע _חוזר" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "מסך" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "ביצוע חוזר" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "החלפת _שם האירוע..." -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "וידאו SD‏ (4 : 3)" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "הגדרה לתמונה המיי_צגת לאירוע" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "וידאו HD‏ (16 : 9)" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "הגדרה לתמונה המייצגת לאירוע" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Letter (8.5 x 11 אינץ')" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "_אירוע חדש" -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloid (11 x 17 אינץ')" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "אירוע חדש" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 x 297 מ\"מ)" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "העברת תמונות" -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297 x 420 מ\"מ)" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "העברת תמונות לאירוע" -#: ../src/editing_tools/EditingTools.vala:1887 -msgid "Close the red-eye tool" -msgstr "סגירת הכלי לעיניים אדומות" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "מי_זוג אירועים" -#: ../src/editing_tools/EditingTools.vala:1890 -msgid "Remove any red-eye effects in the selected region" -msgstr "הסרת אפקטים של עין אדומה באזור הנבחר" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "מיזוג" -#: ../src/editing_tools/EditingTools.vala:2226 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_איפוס" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "חבר ארועים לארוע בודד" -#: ../src/editing_tools/EditingTools.vala:2248 -msgid "Saturation:" -msgstr "רוויה:" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "ה_גדרת דירוג" -#: ../src/editing_tools/EditingTools.vala:2256 -msgid "Tint:" -msgstr "גוון:" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "הגדרת דירוג" -#: ../src/editing_tools/EditingTools.vala:2265 -msgid "Temperature:" -msgstr "טמפרטורה:" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "שינוי הדירוג לתמונה שלך" -#: ../src/editing_tools/EditingTools.vala:2273 -msgid "Shadows:" -msgstr "צללים:" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "ה_גדלה" -#: ../src/editing_tools/EditingTools.vala:2281 -msgid "Highlights:" -msgstr "הדגשה:" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "הגדלת הדירוג" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset Colors" -msgstr "איפוס הצבעים" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "ה_פחתה" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset all color adjustments to original" -msgstr "איפוס כל ההתאמות לצבע המקורי" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "הפחתת הדירוג" -#: ../src/editing_tools/EditingTools.vala:2687 -msgid "Temperature" -msgstr "טמפרטורה" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_ללא דירוג" -#: ../src/editing_tools/EditingTools.vala:2700 -msgid "Tint" -msgstr "גוון" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "אין דירוג" -#: ../src/editing_tools/EditingTools.vala:2713 -msgid "Saturation" -msgstr "רוויה" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "ביטול הדירוג" -#: ../src/editing_tools/EditingTools.vala:2726 -msgid "Exposure" -msgstr "חשיפה" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "הגדרה כלא מדורגת" -#: ../src/editing_tools/EditingTools.vala:2739 -msgid "Shadows" -msgstr "צללים" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "הסרת כל הדירוגים" -#: ../src/editing_tools/EditingTools.vala:2752 -msgid "Highlights" -msgstr "הדגשות" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "ד_חויהה" -#: ../src/editing_tools/EditingTools.vala:2762 -msgid "Contrast Expansion" -msgstr "הרחבת הניגודיות" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "נדחה" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "זווית:" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "דירוג דחויה" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "אירועים" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "דרג כדחויה" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d תמונות/קטעי וידאו" -msgstr[1] "תמונה/וידאו %d" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "הגדרת הדירוג לדחויה" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "אין אירועים" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "נדחות _בלבד" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "הצגת הערה לכל אירוע" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "הנדחות בלבד" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "אין אירועים" +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "הצגות התמונות שנדחו בלבד" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "לא נמצאו אירועים" +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "הכול + _דחויות" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "כל האירועים" +#: src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "הצגת כל התמונות, לרבות אלו שנדחו" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "ללא תאריך" +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "_כל התמונות" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "הצגת כל התמונות" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "_דירוגים" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "תיקיות" +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "הצגת הדירוג של כל תמונה" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "ספרייה" +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_סינון תמונות" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "מתבצע יבוא..." +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "סינון תמונות" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "ע_צירת היבוא" +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "הגבלת מספר התמונות המוצגות בהתאם למסנן" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "עצירת יבוא התמונות" +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "_שכפול" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "בהכנות ליבוא..." +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "שכפול" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "יובאו %s" +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "שכפול התמונה" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "היבוא האחרון" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "י_צוא..." -#: ../src/library/LibraryWindow.vala:285 -msgid "_Import From Folder..." -msgstr "י_בוא מתיקייה..." +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "ה_דפסה..." -#: ../src/library/LibraryWindow.vala:286 -msgid "Import photos from disk to library" -msgstr "יבוא תמונות מהכונן לספרייה" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "פ_רסום..." -#: ../src/library/LibraryWindow.vala:293 -msgid "Import From _Application..." -msgstr "ייבוא מ_יישום..." +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "פרסום למגוון של אתרים" -#: ../src/library/LibraryWindow.vala:297 -msgid "Sort _Events" -msgstr "מיון _אירועים" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "_עריכת הכותרת..." -#: ../src/library/LibraryWindow.vala:307 -msgid "Empty T_rash" -msgstr "פינוי ה_אשפה" +#. Button label +#: src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "עריכת הכותרת" -#: ../src/library/LibraryWindow.vala:308 -msgid "Delete all photos in the trash" -msgstr "מחיקת כל התמונות באשפה" +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "ע_ריכת ההערה..." -#: ../src/library/LibraryWindow.vala:313 -msgid "View Eve_nt for Photo" -msgstr "צפייה ב_אירוע עבור תמונה" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "עריכת ההערה" -#: ../src/library/LibraryWindow.vala:317 -msgid "_Find" -msgstr "_חיפוש" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "עריכת ה_ערת אירוע…" -#: ../src/library/LibraryWindow.vala:318 -msgid "Find photos and videos by search criteria" -msgstr "חיפוש תמונות וקטעי וידאו לפי קריטריונים של חיפוש" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "_כיוון התאריך והשעה..." -#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "חיפוש _שמור חדש..." +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "כיוון תאריך ושעה" -#: ../src/library/LibraryWindow.vala:351 -msgid "_Photos" -msgstr "_תמונות" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "הוספת _תגיות..." -#: ../src/library/LibraryWindow.vala:355 -msgid "Even_ts" -msgstr "_אירועים" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "_הוסף תגיות..." -#: ../src/library/LibraryWindow.vala:374 -msgid "_Basic Information" -msgstr "פרטים _בסיסיים" +#. Dialog title +#: src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "הוספת תגיות" -#: ../src/library/LibraryWindow.vala:375 -msgid "Display basic information for the selection" -msgstr "הצגת פרטים בסיסיים עבור הבחירה" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "פתיחה בעורך _חיצוני" -#: ../src/library/LibraryWindow.vala:380 -msgid "E_xtended Information" -msgstr "_פרטים מורחבים" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "פתיחה באמצעות _עורך RAW" -#: ../src/library/LibraryWindow.vala:381 -msgid "Display extended information for the selection" -msgstr "הצגת פרטים מורחבים עבור הבחירה" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "שליחה _אל..." -#: ../src/library/LibraryWindow.vala:386 -msgid "_Search Bar" -msgstr "_סרגל חיפוש" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "_שלח ל..." -#: ../src/library/LibraryWindow.vala:387 -msgid "Display the search bar" -msgstr "הצגת סרגל החיפוש" +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "_חיפוש…" -#: ../src/library/LibraryWindow.vala:392 -msgid "S_idebar" -msgstr "סרגל _צד" +#: src/Resources.vala:327 +msgid "Find" +msgstr "חיפוש" -#: ../src/library/LibraryWindow.vala:393 -msgid "Display the sidebar" -msgstr "הצגת סרגל הצד" +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" +msgstr "חיפוש תמונה על ידי הקלדת הטקסט המופיע בשמה או בתגיות שלה" -#: ../src/library/LibraryWindow.vala:651 -msgid "Import From Folder" -msgstr "יבוא מתיקייה" +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "סימון ב_דגל" -#: ../src/library/LibraryWindow.vala:720 -msgid "Empty Trash" -msgstr "פינוי האשפה" +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "_ביטול הדגל" -#: ../src/library/LibraryWindow.vala:720 -msgid "Emptying Trash..." -msgstr "האשפה מתרוקנת..." +#: src/Resources.vala:335 +#, c-format +msgid "Unable to launch editor: %s" +msgstr "לא ניתן להפעיל את העורך: %s" -#: ../src/library/LibraryWindow.vala:879 +#: src/Resources.vala:340 #, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" -msgstr "" -"‏Shotwell מוגדר לייבא תמונות לתיקיית הבית שלך.\n" -"אנו ממליצים לשנות זאת בעריכה %s העדפות.\n" -"האם ברצונך להמשיך בייבוא התמונות?" +msgid "Add Tag \"%s\"" +msgstr "הוספת התגית \"%s\"" -#: ../src/library/LibraryWindow.vala:882 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "מיקום הספרייה" +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "הוספת התגיות \"%s\" ו \"%s\"" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:895 -msgid "Photos cannot be imported from this directory." -msgstr "לא ניתן לייבא תמונות לתיקייה זו." +#. Undo/Redo command name (in Edit menu) +#: src/Resources.vala:348 +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "הוספת תגיות" -#: ../src/library/LibraryWindow.vala:1183 +#: src/Resources.vala:353 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" - -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 -msgid "Updating library..." -msgstr "הספרייה מתעדכנת..." +msgid "_Delete Tag \"%s\"" +msgstr "מ_חיקת התגית \"%s\"" -#: ../src/library/LibraryWindow.vala:1244 -msgid "Preparing to auto-import photos..." -msgstr "בהכנות ליבוא תמונות באופן אוטומטי...." +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "מחיקת התגית \"%s\"" -#: ../src/library/LibraryWindow.vala:1249 -msgid "Auto-importing photos..." -msgstr "התמונות מיובאות אוטומטית..." +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "מחיקת תגית" -#: ../src/library/LibraryWindow.vala:1257 -msgid "Writing metadata to files..." -msgstr "נתוני העל נכתבים לקבצים..." +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "_שינוי שם התגית \"%s\"..." -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "קבצים חסרים" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "שינוי שם התגית \"%s\" ל־\"%s\"" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "מחיקה..." +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_שינוי שם..." -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "סל האשפה" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "ה_חלפת תגיות..." -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "סל האשפה ריק" +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "החלפת התגיות" -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "מחיקה" +#: src/Resources.vala:379 +#, c-format +msgid "Tag Photo as \"%s\"" +msgstr "תיוג התמונות בתור \"%s\"" -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "התמונות נמחקות" +#: src/Resources.vala:379 +#, c-format +msgid "Tag Photos as \"%s\"" +msgstr "תיוג תמונות בתור \"%s\"" -#: ../src/main.vala:54 +#: src/Resources.vala:383 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"ספריית התמונות שלך אינה נתמכת בגרסה זו של Shotwell. נראה כי הספרייה נוצרה " -"באמצעות Shotwell %s (סכמה %d). גרסה זו הנה %s (סכמה %d). נא להשתמש בגרסה " -"העדכנית ביותר של Shotwell." +msgid "Tag the selected photo as \"%s\"" +msgstr "תיוג התמונות הנבחרות בתור \"%s\"" -#: ../src/main.vala:59 +#: src/Resources.vala:384 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"לא עלה בידי Shotwell לשדרג את ספריית התמונות שלך מגרסה %s (סכמה%d) לגרסה %s " -"(סכמה %d). למידע נוסף ניתן לבקר באתר הוויקי של Shotwell בכתובת %s" +msgid "Tag the selected photos as \"%s\"" +msgstr "תיוג התמונות הנבחרות בתור \"%s\"" -#: ../src/main.vala:65 +#: src/Resources.vala:388 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"ספריית התמונות שלך אינה תואמת לגרסה זו של Shotwell. נראה כי ספרייה זו נוצרה " -"על ידי Shotwell %s (סכמה%d). גרסה זו הנה %s (סכמה %d). נא לפנות את ספריית " -"התמונות שלך על ידי מחיקת %s ויבוא התמונות שלך מחדש." +msgid "Remove Tag \"%s\" From _Photo" +msgstr "הסרת התגית \"%s\" מתמו_נות" -#: ../src/main.vala:71 +#: src/Resources.vala:389 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "אירעה שגיאה בלתי ידועה בעת הניסיון לאימות מסד הנתונים של Shotwell: %s" +msgid "Remove Tag \"%s\" From _Photos" +msgstr "הסרת התגית \"%s\" מה_תמונות" -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "Loading Shotwell" +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "הסרת התגית \"%s\" מתמונות" -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "הנתיב לנתונים הפרטיים של Shotwell" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "הסרת התגית \"%s\" מהתמונות" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "DIRECTORY" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "לא ניתן לשנות את שם התגית ל־\"%s\" כיוון שהתגית כבר קיימת." -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "אין לבדוק מה השינויים בתיקיות בזמן פעולת התכנית" +#: src/Resources.vala:402 +#, c-format +msgid "Unable to rename search to \"%s\" because the search already exists." +msgstr "לא ניתן לשנות את שם החיפוש ל־\"%s\" כיוון שהחיפוש כבר קיים." -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "אין להציג מד התקדמות בזמן ההפעלה" +#. Saved search button +#: src/Resources.vala:405 src/SearchFilter.vala:1210 +msgid "Saved Search" +msgstr "חיפוש שנשמר" -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "הצגת גרסת היישום" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "מחיקת החיפוש" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[FILE]" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "ע_ריכה..." -#: ../src/main.vala:342 -#, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" -msgstr "" -"Run '%s --help' to see a full list of available command line options.\n" +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "_שינוי שם..." -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#: src/Resources.vala:414 +#, c-format +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "שינוי שם החיפוש \"%s\" לשם \"%s\"" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:418 +#, c-format +msgid "Delete Search \"%s\"" +msgstr "מחיקת החיפוש \"%s\"" -#: ../src/photos/JfifSupport.vala:185 +#: src/Resources.vala:576 #, c-format -msgid "Low (%d%%)" -msgstr "נמוכה (%d%%)" +msgid "Rate %s" +msgstr "דירוג %s" -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:577 #, c-format -msgid "Medium (%d%%)" -msgstr "בינונית (%d%%)" +msgid "Set rating to %s" +msgstr "הגדרת הדירוג ל־%s" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:578 #, c-format -msgid "High (%d%%)" -msgstr "גבוהה (%d%%)" +msgid "Setting rating to %s" +msgstr "הדירוג מוגדר ל־%s" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:580 #, c-format -msgid "Maximum (%d%%)" -msgstr "מרבית (%d%%)" +msgid "Display %s" +msgstr "הצגת %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "יש להציג תמונות בדירוג %s בלבד" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s ומעלה" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:583 +#, c-format +msgid "Display %s or Better" +msgstr "הצגת %s ומעלה" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "פרסום" +#: src/Resources.vala:584 +#, c-format +msgid "Only show photos with a rating of %s or better" +msgstr "רק תמונות בעלות דירוג של %s ומעלה" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "בהכנה להעלאה" +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "הסרת התמונות הנבחרות מהאשפה" -#: ../src/publishing/PublishingPluginHost.vala:12 -#, c-format -msgid "Uploading %d of %d" -msgstr "%d נשלחו מתוך %d" +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "הסרת התמונות הנבחרות מהספרייה." -#: ../src/publishing/PublishingPluginHost.vala:81 -#, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "לא ניתן להמשיך בפרסום אל %s כיוון שאירעה שגיאה:" +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "_שחזור" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "כדי לנסות לפרסם לשירות אחד, יש לבחור באחד מהתפריט שלהלן." +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "העברת התמונות הנבחרות בחזרה לספרייה" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "התמונה/וידאו הנבחרים פורסמו בהצלחה." +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "הצ_גה במנהל הקבצים" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "קטעי הווידאו פורסמו בהצלחה." +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "פתיחת תיקיית התמונה הנבחרת במנהל הקבצים" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "התמונות הנבחרות פורסמו בהצלחה." +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "לא ניתן לפתוח במנהל הקבצים: %s" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "קטע הווידאו הנבחר פורסם בהצלחה." +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "ה_סרה מהספרייה" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "התמונה הנבחרת פורסמה בהצלחה." +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "ה_עברה לאשפה" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "פרטי החשבון מתקבלים..." +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "בחירת ה_כול" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "בהליכי כניסה..." +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "בחירת כל הפריטים" -#: ../src/publishing/PublishingUI.vala:185 -msgid "Publish Photos" -msgstr "פרסום תמונות" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:773 +msgid "%-I:%M %p" +msgstr "%-I:%M %p" -#: ../src/publishing/PublishingUI.vala:186 -msgid "Publish photos _to:" -msgstr "פרסום תמונות _אל:" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:778 +msgid "%-I:%M:%S %p" +msgstr "%-I:%M:%S %p" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Videos" -msgstr "פרסום קטעי וידאו" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:782 +msgid "%a %b %d, %Y" +msgstr "%a ה־%b ב%d, %Y" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish videos _to" -msgstr "פרסום קטעי וידאו _אל:" +#. / 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 +#: src/Resources.vala:787 +msgctxt "MultidayFormat" +msgid "%a %b %d" +msgstr "%a ה־%d ב%b" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Photos and Videos" -msgstr "פרסום תמונות וקטעי וידאו" +#. / 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 +#: src/Resources.vala:792 +msgctxt "MultidayFormat" +msgid "%d, %Y" +msgstr "%d, ‏%Y" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish photos and videos _to" -msgstr "פרסום תמונות וקטעי וידאו _אל:" +#. / 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 +#: src/Resources.vala:797 +msgctxt "MultimonthFormat" +msgid "%a %b %d" +msgstr "%a ה־%d ב%b" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:360 -msgid "Unable to publish" -msgstr "לא ניתן לפרסם" +#. / 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 +#: src/Resources.vala:802 +msgctxt "MultimonthFormat" +msgid "%a %b %d, %Y" +msgstr "%a ה־%b ב%d, %Y" -#: ../src/publishing/PublishingUI.vala:361 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"Shotwell אינו יכול להעלות את התכנים המבוקשים מאחר ואין תוסף טעינה מתאים " -"לשרות הנדרש. על מנת לתקן זאת, בחר באפשרות ערוך העדפות %s והפעל את אחד " -"או יותר מתוספי ההעלאה בלשונית תוספים." +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "מצגת" -#: ../src/searches/Branch.vala:68 +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "החיפושים השמורים" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "מכיל" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "הוא בדיוק" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "מתחיל ב־" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "מסתיים ב־" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "אינו מכיל" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "לא מוגדר" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "מוגדר" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "הוא" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "אינו" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "כל תמונה שהיא" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "תמונה גולמית" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "וידאו" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "יש" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "אין" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "שינויים" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "שינויים פנימיים" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "שינויים חיצוניים" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "מסומן בדגלון" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "לא מסומן בדגלון" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "ומעלה" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "בלבד" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "ומטה" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "הוא לאחר" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "הוא לפני" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "הוא בין" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "וגם" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "חיפוש" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "ביטול" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "אישור" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "כלשהו" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "הכול" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "אף אחד מאלה" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr " כלשהו" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "כותרת" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "תגית" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "הערה" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "שם האירוע" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "שם הקובץ" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "סוג המדיה" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "מצב הדגלון" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "מצב תמונה" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:1199 +msgid "Rating" +msgstr "דירוג" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "תאריך" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:614 src/SearchFilter.vala:615 +msgid "Videos" +msgstr "קטעי וידאו" + +#: src/SearchFilter.vala:620 +msgid "RAW Photos" +msgstr "תמונות גולמיות (RAW)" + +#: src/SearchFilter.vala:621 +msgid "RAW photos" +msgstr "תמונות גולמיות (RAW)" + +#: src/SearchFilter.vala:1148 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "שגיאה בטעינת קובץ מנשק המשתמש %s: %s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:1159 +msgid "Close" +msgstr "סגירה" + +#. Type label and toggles +#: src/SearchFilter.vala:1165 +msgid "Type" +msgstr "סוג" + +#: src/SearchFilter.vala:1211 +msgid "Use a saved search to filter items in the current view" +msgstr "שימוש בחיפושים שמורים לסינון פריטים בתצוגה הנוכחית" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "תגית _חדשה..." -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "הגדרות" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "הקודמת" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "מעבר לתמונה הקודמת" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "השהייה" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "השהיית המצגת" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "הבאה" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "מעבר לתמונה הבאה" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "שינוי הגדרות המצגת" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "כל קובצי המקור של התמונות חסרים." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "הצגה" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "המשך בהצגת המצגת" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "מעברים במצגת" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(אין)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "אין" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "אקראי" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "תגיות" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:830 +msgid "untitled" +msgstr "ללא שם" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "יצוא קטעי וידאו" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "הגדרה כרקע שולחן העבודה" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "שימוש עבור שולחן העבודה" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "שימוש עבור מסך הנעילה" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" msgstr "הגדרה כמצגת שולחן העבודה" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "הצגת כל תמונה למשך" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "משך הזמן" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" msgstr "יצירת מצגת לרקע שולחן העבודה" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "כמה זמן תופיע כל תמונה ברקע שולחן העבודה" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_שם החיפוש:" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "ה_תאמה" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "מהבאים:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "גודל התמונה המודפסת" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" msgstr "שימוש בגודל _רגיל:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "שימוש בגודל _מותאם אישית:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "התאמת _יחס התצוגה של התמונה" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "_גודל אוטומטי:" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "כותרות" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" msgstr "הדפסת _כותרת התמונה" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "רזולוציית הפיקסלים" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" msgstr "_פלט התמונה תחת:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "פיקסלים לאינטש" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "תווית" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Shotwell העדפות" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "לבן" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "שחור" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "מ_עקב אחר התיקייה של הספרייה לגילוי קבצים חדשים" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "נתוני על" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" msgstr "ניתן לכתוב תגיות, כותרות ונתוני _על נוספים לקובצי תמונה" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "תצוגה" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "י_בוא תמונות אל:" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "_רקע:" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "בהליכי יבוא" -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" msgstr "מבנה ה_תיקיות:" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "ת_בנית:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "דוגמה:" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" msgstr "שי_נוי שמות כל הקבצים המיובאים לאותיות קטנות" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "מתכנת ה־RAW" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" msgstr "_ברירת מחדל" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" msgstr "עורך תמונות _חיצוני:" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "עורך RAW _חיצוני:" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "עורכים חיצוניים" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "תוספים" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" msgstr "ה_שהיה:" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" msgstr "_אפקט מעבר:" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" msgstr "ה_שהיית המעבר:" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" msgstr "הצג _כותרת" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "שניות" +#~ msgid "Copyright 2009-2015 Yorba Foundation" +#~ msgstr "כל הזכויות שמורות 2009‏-2015 לעמותת יורבה" + +#~ msgid "Intro message replaced at runtime" +#~ msgstr "הודעת פתיחה הוחלפה בזמן ריצה" + +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "'פרסום ע־$url בשם $usernamr' (מאוכלס בקוד יישום)" + +#~ msgid "you are logged in rajce as $name" +#~ msgstr "נכנסת ל־rajce בשם $name" + +#~ msgid "$mediatype will appear in" +#~ msgstr "$mediatype יופיעו בתוך" + +#~ msgid "Visit the Yorba web site" +#~ msgstr "ביקור באתר של Yorba" + +#~ msgid "No photos/videos found" +#~ msgstr "לא נמצאו תמונות/קטעי וידאו" + #~ msgid "Only _Remove" #~ msgstr "ה_סרה בלבד" -#~ msgid "Import media _from:" -#~ msgstr "יבוא מדיה מהמי_קום:" - #~ msgid "Shotwell is configured to import photos to your home directory.\n" #~ msgstr "Shotwell מוגדרת לייבא תמונות לתיקיית הבית שלך.\n" diff --git a/po/hi.gmo b/po/hi.gmo new file mode 100644 index 0000000..e0428b0 Binary files /dev/null and b/po/hi.gmo differ diff --git a/po/hi.po b/po/hi.po index ca6d5de..5e90b32 100644 --- a/po/hi.po +++ b/po/hi.po @@ -9,7 +9,6 @@ # Rajesh Ranjan , 2012-2013 # Shaswat Nimesh , 2011 # Rajesh Ranjan , 2012 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/hr.gmo b/po/hr.gmo new file mode 100644 index 0000000..5e9b947 Binary files /dev/null and b/po/hr.gmo differ diff --git a/po/hr.po b/po/hr.po index 6740686..5aa0527 100644 --- a/po/hr.po +++ b/po/hr.po @@ -10,7 +10,6 @@ # Miro , 2011 # verayin , 2011 # lsbeeler , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/hu.gmo b/po/hu.gmo new file mode 100644 index 0000000..8d69537 Binary files /dev/null and b/po/hu.gmo differ diff --git a/po/ia.gmo b/po/ia.gmo new file mode 100644 index 0000000..497d74e Binary files /dev/null and b/po/ia.gmo differ diff --git a/po/id.gmo b/po/id.gmo new file mode 100644 index 0000000..acbe11e Binary files /dev/null and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po index ee71d99..d2ccda4 100644 --- a/po/id.po +++ b/po/id.po @@ -19,8 +19,8 @@ msgstr "" "Project-Id-Version: shotwell shotwell-0.22\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=shotwell&keywords=I18N+L10N&component=Internationalization\n" -"POT-Creation-Date: 2016-06-11 13:15+0000\n" -"PO-Revision-Date: 2016-06-13 17:23+0700\n" +"POT-Creation-Date: 2016-07-04 19:42+0000\n" +"PO-Revision-Date: 2016-07-09 21:29+0700\n" "Last-Translator: Andika Triwidada \n" "Language-Team: Indonesian \n" "Language: id\n" @@ -28,1423 +28,2870 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 1.6.10\n" +"X-Generator: Poedit 1.8.7.1\n" -#: ../plugins/common/RESTSupport.vala:424 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" -msgstr "Berkas sementara yang diperlukan untuk penerbitan tidak tersedia" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" -#: ../plugins/common/RESTSupport.vala:1138 +#: misc/shotwell.appdata.xml.in:9 +#, fuzzy +#| msgid "Photo Manager" +msgid "Popular photo manager" +msgstr "Album Foto" + +#: misc/shotwell.appdata.xml.in:11 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"Anda telah log masuk dan log keluar dari suatu layanan Google selama sesi " -"Shotwell ini.\n" -"\n" -"Untuk melanjutkan penerbitan ke layanan Google, keluar dan jalankan lagi " -"Shotwell, lalu cobalah mempublikasikan lagi." - -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Kunjungi laman serambi Shotwell" +"Shotwell mudah digunakan, pengorganisasi foto yang didesain untuk desktop " +"GNOME. Dapat digunakan untuk mengimpor foto dari kamera atau diska, " +"organisasikan berdasarkan waktu dan subyek pokok, bahkan penilaian. Juga " +"menawarkan penyuntingan foto dasar, seperti memotong, koreksi mata-merah, " +"penyeimbang warna, pelurusan. Penyunting foto non-desktruktif Shotwell tidak " +"mengubah foto asli Anda, sehingga aman untuk bereksperimen dan memperbaiki " +"kesalahan." + +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." +msgstr "" +"Ketika telah siap, Shotwell dapat mengunggah foto Anda ke berbagai situs " +"web, seperti Facebook, Flickr, Picasa (Google Plus), dan lain sebagainya." -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:705 -msgid "translator-credits" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." msgstr "" -"Mohammad Anwari , 2010\n" -"verayin , 2011\n" -" , 2012\n" -"elementary Indonesia , 2012\n" -" , 2012\n" -"Malsasa , 2012\n" -"Mohamad Hasan Al Banna, 2013\n" -"Rahman Yusri Aftian , 2012, 2013\n" -"Andika Triwidada , 2011, 2014" +"Shotwell mendukung JPEG, PNG, TIFF, dan varietas berkas berformat RAW " +"lainnya." + +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Album Foto" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2009-2015 Yorba Foundation" -msgstr "Hak Cipta 2009-2015 Yorba Foundation" +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "Organisasikan foto Anda" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"Selamat datang ke layanan impor pustaka F-Spot.\n" -"\n" -"Harap pilih pustaka yang akan diimpor, bisa dengan memilih pustaka yang " -"ditemukan oleh Shotwell atau dengan memilih berkas basis data F-Spot " -"alternatif." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +#, fuzzy +#| msgid "Shotwell" +msgid "shotwell" +msgstr "Shotwell" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 -msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "Shotwell Penampil" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Penampil Foto" + +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "token autentikasi" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." msgstr "" -"Selamat datang di perpustakaan layanan impor F-Spot.\n" -"\n" -"Silahkan pilih berkas basis data F-Spot." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "Pilih manual basis data F-Spot untuk di impor:" +# Ini untuk string apa ya? +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "Token" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 -msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "Token untuk mengakses tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "Token rahasia" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" msgstr "" -"Tidak dapat membuka berkas basis data F-Spot terpilih: berkas tidak ada atau " -"bukan basis data F-Spot" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:410 +msgid "default size" +msgstr "ukuran bawaan" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +"A numeric code representing the default size for photos uploaded to Tumblr" msgstr "" -"Tidak dapat membuka berkas basis data F-Spot terpilih: versi basis data F-" -"Spot ini tidak didukung oleh Shotwell" +"Code numerik yang merepresentasikan ukuran bawaan untuk foto yang diunggah " +"ke Tumblr" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 -msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" msgstr "" -"Tidak dapat membaca berkas basis data F-Spot terpilih: kesalahan saat " -"membaca tabel tag" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 -msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" msgstr "" -"Tidak dapat membaca berkas basis data F-Spot terpilih: kesalahan saat " -"membaca tabel foto" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format -msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "Rajce URL" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "URL dari server Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:378 +#: misc/org.yorba.shotwell.gschema.xml:436 +#: misc/org.yorba.shotwell.gschema.xml:492 +msgid "username" +msgstr "nama pengguna" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." msgstr "" -"Shotwell menemukan %d foto pada daftar F-Spot dan sedang mengimpornya. Foto " -"yang sama akan otomatis terdeteksi dan dihapus.\n" -"\n" -"Anda dapat menutup dialog ini dan mulai menggunakan Shotwell saat proses " -"impor berlangsung di belakang." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "Pustaka F-Spot: %s" +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "token" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "Bersiap mengimpor" +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "token pengguna, jika ingat." -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "Servis Impor Data Inti" +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "last category" +msgstr "kategori terakhir" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "Modul publikasi Gallery3" +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "Kategori Racje yang terakhir dipilih." + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last photo size" +msgstr "ukuran foto terakhir" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +#: misc/org.yorba.shotwell-extras.gschema.xml:65 msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." msgstr "" -"Anda tidak sedang masuk ke Gallery.\n" -"\n" -"Anda harus telah mendaftar akun Gallery3 untuk melengkapi proses log masuk." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "ingat" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "Direktori baku Shotwell" +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." +msgstr "Jika bernilai benar, maka akan mengingat terakhir kali masuk." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format -msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "sembunyikan album" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." msgstr "" -"\n" -"\n" -"Berkas \"%s\" mungkin tak didukung atau mungkin terlalu besar bagi instansi " -"Gallery3 ini." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +#, fuzzy +#| msgid "Open target _album in browser" +msgid "open album in web browser" +msgstr "Buka _album target dalam peramban" + +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +"If true, open target album in the web browser just after uploading photos" msgstr "" -"\n" -"Perhatikan bahwa Gallery3 hanya mendukung tipe video yang didukung oleh " -"Flowplayer." - -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format +"Jika bernilai benar, maka buka album target dalam peramban hanya setelah " +"mengunggah foto" + +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:396 +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:472 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "remove sensitive info from uploads" +msgstr "hilangkan informasi senitif dari unggahan" + +#: misc/org.yorba.shotwell-extras.gschema.xml:89 msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." +"Whether images being uploaded to Rajce should have their metadata removed " +"first" msgstr "" -"Sebuah berkas yang diperlukan untuk penerbitan tidak tersedia. Tak dapat " -"lanjutkan menerbitkan ke %s." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "Menerbitkan ke %s sebagai %s." +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "tampilkan properti dasar" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 -msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." msgstr "" -"Masukkan URL untuk situs Gallery3 dan nama pengguna serta sandi (atau kunci " -"API) bagi akun Gallery3 Anda." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: misc/org.yorba.shotwell.gschema.xml:28 +#, fuzzy +#| msgid "Display extended information for the selection" +msgid "display extended properties" +msgstr "Tampilkan informasi lanjutan foto terpilih" + +#: misc/org.yorba.shotwell.gschema.xml:29 msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +"True if the extended properties window is to be displayed, false otherwise." msgstr "" -"Nama pengguna dan sandi atau kunci API salah. Untuk mencoba lagi, masukkan " -"lagi nama pengguna dan sandi di bawah." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 -msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +#: misc/org.yorba.shotwell.gschema.xml:34 +#, fuzzy +#| msgid "Display the sidebar" +msgid "display sidebar" +msgstr "Tampilkan bilah sisi" + +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." msgstr "" -"URL yang dimasukkan nampaknya bukan direktori utama dari suatu instansi " -"Gallery3. Harap pastikan bahwa Anda mengetikkannya dengan benar dan itu tak " -"memiliki sebarang komponen ekor (mis., index.php)." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "Pengguna Tak Dikenal" +#: misc/org.yorba.shotwell.gschema.xml:40 +#, fuzzy +#| msgid "Display the search bar" +msgid "display search bar" +msgstr "Tampilkan bilah pencarian" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr "Situs Tak Ditemukan" +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "Hak Cipta (C) 2013 rajce.net" +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display photo titles" +msgstr "Tampilkan judul setiap foto" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:47 +msgid "" +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"Terjadi pesan kesalahan ketika mempublikasikan ke Rajce. Harap coba lagi." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo comments" +msgstr "Tampilkan komentar setiap foto" + +#: misc/org.yorba.shotwell.gschema.xml:53 +msgid "" +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"Masukkan nama pengguna dan sandi yang berhubungan dengan akun Rajce Anda." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "Surel dan/atau sandi tak valid. Harap coba lagi" +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display event comments" +msgstr "tampilkan komentar kejadian" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "Sandi atau Surel Pengguna Tak Valid" +#: misc/org.yorba.shotwell.gschema.xml:59 +msgid "" +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "_Alamat Email" +#: misc/org.yorba.shotwell.gschema.xml:64 +#, fuzzy +#| msgid "Display each photo's tags" +msgid "display photo tags" +msgstr "Tampilkan tanda setiap foto" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_Kata Sandi" +#: misc/org.yorba.shotwell.gschema.xml:65 +msgid "" +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "_Ingat" +#: misc/org.yorba.shotwell.gschema.xml:70 +#, fuzzy +#| msgid "Display each photo's rating" +msgid "display photo ratings" +msgstr "Tampilkan rating tiap foto" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "Masuk" +#: misc/org.yorba.shotwell.gschema.xml:71 +msgid "" +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "Sembuny_ikan album" +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "rating filter level" +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "Anda masuk ke Rajce sebagai %s." +#: misc/org.yorba.shotwell.gschema.xml:77 +msgid "" +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "Foto akan muncul di:" +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "sort events ascending" +msgstr "Urutkan kejadian secara menurun" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "Album _yang ada:" +#: misc/org.yorba.shotwell.gschema.xml:83 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "Nama album _baru:" +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort library photos ascending" +msgstr "urutkan foto dengan urut naik" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "Buka _album target dalam peramban" +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if library photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "_Terbitkan" +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos criteria" +msgstr "Urutkan kriteria daftar pustaka foto" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "_Keluar" +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "Hak Cipta 2012 BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:100 +#, fuzzy +#| msgid "Sort photos in an ascending order" +msgid "sort event photos ascending" +msgstr "Urutkan foto dengan urut naik" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500 x 375 piksel" +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024 x 768 piksel" +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos criteria" +msgstr "Urutkan foto berdasarkan kriteria" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280 x 853 piksel" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "Specifies the sort criteria for event photos." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" -msgstr "'%s' permintaan otentikasi OAuth ke yang tidak valid" +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "use 24 hour time" +msgstr "gunakan waktu 24 jam" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: misc/org.yorba.shotwell.gschema.xml:113 msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." msgstr "" -"TumblrPublisher: start(): tidak dapat memulai, penerbit ini tidak " -"restartable." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "keep relative time between photos" msgstr "" -"Masukkan nama pengguna dan kata sandi yang berhubungan dengan akun Tumblr " -"anda." - -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" -msgstr "Nama pengguna dan/atau kata sandi tak valid. Harap coba lagi" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "Nama Pengguna atau Kata Sandi Tak Valid" +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "Tidak dapat membuka UI: %s" +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "modify original photo files" +msgstr "modifikasi berkas asli foto" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:125 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." msgstr "" -"Anda belum masuk ke Tumblr sebagai %s.\n" -"\n" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "Hak Cipta 2010+ Evgeniy Polyakov " +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "show welcome dialog on startup" +msgstr "tampilkan dialog selamat datang saat memulai" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "Kunjungi situs Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:632 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "Anda belum masuk ke Yandex.Fotki." +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "sidebar position" +msgstr "posisi bilah sisi" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Layanan Penerbit Ekstra Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "The width, in pixels, of the sidebar" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "_Mundur" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "photo thumbnail scale" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "_Login" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Pesan perkenalan digantikan saat berjalan" +#: misc/org.yorba.shotwell.gschema.xml:148 +msgid "pin toolbar state" +msgstr "sematkan batang alat" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "URL _Gallery3:" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "Pin toolbar in fullscreen, or not." +msgstr "Sematkan atau tidak pada mode layar penuh" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "Nama pengg_una:" +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "background color" +msgstr "warna latar belakang" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Sandi:" +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "A grayscale color for use as the background color." +msgstr "Warna hitam-putih digunakan sebagai warna latar belakang." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_Kunci API:" +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "Selection state of \"hide photos\" option" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "atau" +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "" +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "Sebuah album _baru" +#: misc/org.yorba.shotwell.gschema.xml:168 +#, fuzzy +#| msgid "_Delay:" +msgid "delay" +msgstr "Penun_daan" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "Album _yang ada" +#: misc/org.yorba.shotwell.gschema.xml:169 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "Penundaan (dalam detik) antar foto pada tampilan slide." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" -msgstr "" -"Hapus lokasi, tag, dan data pengidentifikasian kameda sebelum mengunggah" +#: misc/org.yorba.shotwell.gschema.xml:174 +#, fuzzy +#| msgid "Transition d_elay:" +msgid "transition delay" +msgstr "P_enundaan Peralihan" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "" +"The time (in seconds) that a transition runs between photos in a slideshow" msgstr "" -"'Mempublikasikan ke $url sebagai $username' (diisi dalam kode aplikasi)" +"Waktu (dalam detik) transisi yang berjalan antar foto pada tampilan slide" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "Kendala penskalaan:" +#: misc/org.yorba.shotwell.gschema.xml:180 +#, fuzzy +#| msgid "_Transition effect:" +msgid "transition effect id" +msgstr "Efek _Transisi" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr "piksel" +#: misc/org.yorba.shotwell.gschema.xml:181 +msgid "" +"The name of the transition effect that will be used between photos when " +"running a slideshow" +msgstr "" +"Nama efek transisi yang akan digunakan ketika menjalankan tampilan slide" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Ukuran asal" +#: misc/org.yorba.shotwell.gschema.xml:186 +#, fuzzy +#| msgid "Show t_itle" +msgid "Show title" +msgstr "Tampilkan _judul" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Lebar atau tinggi" +#: misc/org.yorba.shotwell.gschema.xml:187 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "Apakah tampilkan judul dari foto pada saat tampilan slide" -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "label" +#: misc/org.yorba.shotwell.gschema.xml:194 +msgid "maximize library window" +msgstr "maksimumkan jendela pustaka" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blog:" +#: misc/org.yorba.shotwell.gschema.xml:195 +msgid "True if library application is maximized, false otherwise." +msgstr "Benar jika pustaka aplikasi dimaksimalkan, salah jika sebaliknya." -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "Ukuran _foto:" +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "width of library window" +msgstr "lebar dari jendela pustaka" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "Anda log masuk rajce sebagai $name" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "The last recorded width of the library application window." +msgstr "lebar yang tersimpan dari jendela pustaka aplikasi sebelumnya." -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype akan muncul dalam" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "height of library window" +msgstr "tingga dari jendela pustaka" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "_Album (atau tulis baru):" +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded height of the library application window." +msgstr "tinggi yang tersimpan dari jendela pustaka aplikasi sebelumnya." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "Jenis _akses:" +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "maximize direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "Nonaktifkan _komentar" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "_Dilarang mengunduh foto asli" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "width of direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Publik" +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "The last recorded width of the direct-edit application window." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1181 -msgid "Friends" -msgstr "Teman" +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "height of direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Privat" +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded height of the direct-edit application window." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Kiriman dari Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "sidebar divider position" +msgstr "posisi pemisah bilah sisi" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:231 msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +"The last recorded position of the divider between the sidebar and view in " +"library application window." msgstr "" -"Anda belum terhubung ke Facebook.\n" -"\n" -"Jika belum memiliki akun Facebook, Anda dapat membuatnya nanti saat login. " -"Saat login, Shotwell akan menanyakan hak unggah dan hak penerbitan berita. " -"Hak-hak tersebut diperlukan oleh Shotwell." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 -msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." -msgstr "" -"Selama menggunakan Shotwell tadi, Anda sudah keluar dan masuk dari " -"Facebook.\n" -"Untuk dapat mengirim foto ke Facebook, silakan keluar dan jalankan Shotwell " -"kembali, kemudian ulangi proses pengiriman." +#: misc/org.yorba.shotwell.gschema.xml:238 +#, fuzzy +#| msgid "Import to Library" +msgid "import directory" +msgstr "Impor ke Album" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "Standar (720 piksel)" +#: misc/org.yorba.shotwell.gschema.xml:239 +msgid "Directory in which imported photo files are placed." +msgstr "Direktori dari berkas foto yang diimpor" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "Besar (2048 piksel)" +#: misc/org.yorba.shotwell.gschema.xml:244 +#, fuzzy +#| msgid "_Watch library directory for new files" +msgid "watch library directory for new files" +msgstr "_Pantau berkas baru di direktori album" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "Mencoba koneksi ke Facebook..." +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "Membuat album..." +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "write metadata to master files" +msgstr "menulis metadata ke berkas" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 +#: misc/org.yorba.shotwell.gschema.xml:251 msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." msgstr "" -"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke " -"Facebook." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1019 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "use lowercase filenames" +msgstr "gunakan huruf kecil untuk nama berkas" + +#: misc/org.yorba.shotwell.gschema.xml:257 msgid "" -"You are logged into Facebook as %s.\n" -"\n" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" msgstr "" -"Anda terhubung ke Facebook sebagai %s.\n" -"\n" - -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1020 -msgid "Where would you like to publish the selected photos?" -msgstr "Kirim foto ke mana?" +"Jika bernilai benar, Shotwell akan mengubah semua nama berkas menjadi huruf " +"kecil ketika mengimpor berkas foto" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1021 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "U_kuran unggah" +#: misc/org.yorba.shotwell.gschema.xml:262 +#, fuzzy +#| msgid "_Directory structure:" +msgid "directory pattern" +msgstr "_Struktur direktori" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1180 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "Saya sendiri saja" +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1182 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "Semua orang" +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern custom" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 +#: misc/org.yorba.shotwell.gschema.xml:269 msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." msgstr "" -"Anda masih belum masuk ke Flickr.\n" -"\n" -"Klik Masuk untuk masuk ke Flickr pada peramban Web anda. Anda diharuskan " -"memberikan izin Shotwell menyambungkan ke akun Flickr anda." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 -msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +#: misc/org.yorba.shotwell.gschema.xml:274 +#, fuzzy +#| msgid "RAW Developer" +msgid "RAW developer default" +msgstr "RAW Developer" + +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "Default option for which RAW developer Shotwell will use." msgstr "" -"Saat menggunakan Shotwell tadi, Anda sudah keluar dan masuk dari Flickr.\n" -"Untuk dapat mengirim foto ke Facebook, silakan keluar dan jalankan Shotwell " -"kembali, kemudian ulangi proses pengiriman." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "Bersiap untuk login..." +#: misc/org.yorba.shotwell.gschema.xml:282 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 -msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +#: misc/org.yorba.shotwell.gschema.xml:283 +msgid "A numeric code representing the last crop menu choice the user made." msgstr "" -"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke Flickr." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "Verifikasi wewenang..." +#: misc/org.yorba.shotwell.gschema.xml:287 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:288 msgid "" -"You are logged into Flickr as %s.\n" -"\n" +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." msgstr "" -"Anda sudah login ke Flickr atas nama %s.\n" -"\n" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format -msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"Akun Flickr gratis Anda membatasi besarnya data yang dapat Anda kirim per " -"bulan.\n" -"Bulan ini, Anda punya sisa jatah kuota unggah %d megabyte." +#: misc/org.yorba.shotwell.gschema.xml:292 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." -msgstr "Anda memiliki akun Flickr Pro yang tidak memiliki batas pengiriman." +#: misc/org.yorba.shotwell.gschema.xml:293 +msgid "" +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "Foto ini dapat _dilihat oleh:" +#: misc/org.yorba.shotwell.gschema.xml:300 +#, fuzzy +#| msgid "E_xternal photo editor:" +msgid "external photo editor" +msgstr "Penyunting foto e_ksternal" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "Video ini dapat _dilihat oleh:" +#: misc/org.yorba.shotwell.gschema.xml:301 +msgid "External application used to edit photos." +msgstr "Aplikasi ekternal untuk mengubah foto." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "Foto dan video ini dapat _dilihat oleh:" +#: misc/org.yorba.shotwell.gschema.xml:306 +#, fuzzy +#| msgid "External _RAW editor:" +msgid "external raw editor" +msgstr "Penyunting _RAW eksternal" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "Teman dan keluarga saja" +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit RAW photos." +msgstr "Aplikasi eksternal untuk mengubah RAW foto." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "Hanya keluarga" +#: misc/org.yorba.shotwell.gschema.xml:314 +msgid "last used publishing service" +msgstr "layanan penerbitan yang terakhir digunakan" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "Hanya teman" +#: misc/org.yorba.shotwell.gschema.xml:315 +#: misc/org.yorba.shotwell.gschema.xml:321 +msgid "" +"A numeric code representing the last service to which photos were published" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048 x 1536 piksel" +#: misc/org.yorba.shotwell.gschema.xml:320 +msgid "default publishing service" +msgstr "layanan penerbitan bawaan" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096 x 3072 piksel" +#: misc/org.yorba.shotwell.gschema.xml:334 +msgid "access token" +msgstr "token akses" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 -msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +#: misc/org.yorba.shotwell.gschema.xml:335 +msgid "Facebook OAuth token for the currently logged in session, if any" msgstr "" -"Kamu belum masuk ke Album Web Picasa.\n" -"\n" -"Klik Login untuk masuk ke Album Web Picasa lewat Peramban Web. Kamu perlu " -"memberi wewenang Shotwell Connect menyambung ke akun Album Web Picasa mu." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 -msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "user i.d." msgstr "" -"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke Picasa." -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "Anda sudah masuk ke Album Web Picasa atas nama %s." +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook user i.d. for the currently logged in user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "Video akan muncul di:" +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user name" +msgstr "nama pengguna" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "Kecil (640 x 480 piksel)" +#: misc/org.yorba.shotwell.gschema.xml:347 +#, fuzzy +#| msgid "You are not currently logged into Yandex.Fotki." +msgid "The name of the currently logged in Facebook user, if any" +msgstr "Anda belum masuk ke Yandex.Fotki." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "Sedang (1024 x 768 piksel)" +#: misc/org.yorba.shotwell.gschema.xml:352 +#: misc/org.yorba.shotwell.gschema.xml:384 +msgid "default size code" +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "Ideal (1600 x 1200 piksel)" +#: misc/org.yorba.shotwell.gschema.xml:353 +msgid "" +"A numeric code representing the default size for photos published to Facebook" +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048 x 1536 pixel)" +#: misc/org.yorba.shotwell.gschema.xml:359 +msgid "" +"Whether images being uploaded to Facebook should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "Ukuran Asli" +#: misc/org.yorba.shotwell.gschema.xml:366 +msgid "OAuth Access Phase Token" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "Membuat akbum %s..." +#: misc/org.yorba.shotwell.gschema.xml:367 +msgid "The authorization token for the currently logged in Flickr user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token Secret" msgstr "" -"Terjadi pesan kesalahan ketika mempublikasikan ke Piwigo. Harap coba lagi." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: misc/org.yorba.shotwell.gschema.xml:373 msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" msgstr "" -"Masukkan URL pustaka foto Piwigo mu beserta username dan password akun " -"Piwigo untuk pustaka tersebut." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 -msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +#: misc/org.yorba.shotwell.gschema.xml:379 +msgid "The user name of the currently logged in Flickr user, if any" msgstr "" -"Shotwell tidak bisa menghubungi pustaka foto Piwigo. Harap periksa kembali " -"URL yang kamu masukkan" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "URL tidak sah" +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "" +"A numeric code representing the default size for photos published to Flickr" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "Admin, Keluarga, Teman, Kontak" +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default visibility" +msgstr "visibilitas bawaan" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "Admin, Keluarga, Teman" +#: misc/org.yorba.shotwell.gschema.xml:391 +msgid "" +"A numeric code representing the default visibility for photos published to " +"Flickr" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "Admin, Keluarga" +#: misc/org.yorba.shotwell.gschema.xml:397 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "Admin" +#: misc/org.yorba.shotwell.gschema.xml:404 +#: misc/org.yorba.shotwell.gschema.xml:536 +msgid "refresh token" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 +#: misc/org.yorba.shotwell.gschema.xml:405 msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." msgstr "" -"Anda tidak terhubung ke YouTube.\n" -"\n" -"Anda harus memiliki akun Google/YouTube untuk melanjutkan." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 +#: misc/org.yorba.shotwell.gschema.xml:411 msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" msgstr "" -"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke Youtube." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "Anda terhubung ke YouTube sebagai %s" +#: misc/org.yorba.shotwell.gschema.xml:416 +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "last album" +msgstr "album terakhir" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "Video akan tampil dalam '%s'" +#: misc/org.yorba.shotwell.gschema.xml:417 +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "The name of the last album the user published photos to, if any" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "Publik terdaftar" +#: misc/org.yorba.shotwell.gschema.xml:423 +msgid "" +"Whether images being uploaded to Picasa should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "Publik tak terdaftar" +#: misc/org.yorba.shotwell.gschema.xml:430 +msgid "Piwigio URL" +msgstr "Piwigio URL" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "Terbitkan ke album yang _sudah ada:" +#: misc/org.yorba.shotwell.gschema.xml:431 +msgid "URL of the Piwigo server." +msgstr "URL dari server Piwigio." -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Buat album baru dengan _nama:" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "Piwigo username, if logged in." +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "_Video dan album foto baru tampak ke:" +#: misc/org.yorba.shotwell.gschema.xml:442 +msgid "password" +msgstr "kata sandi" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 -msgid "" -"_Remove location, camera, and other identifying information before uploading" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo password, if logged in." msgstr "" -"Hapus lokasi, kame_ra, dan informasi pengidentifikasi lain sebelum mengunggah" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 -msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." -msgstr "" -"Masukkan nomor konfirmasi yang muncul setelah Anda log masuk ke Flickr dalam " -"peramban Web Anda." +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "remember password" +msgstr "ingat Sandi" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "_Nomor Otorisasi:" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "If true, remember the Piwigo password." +msgstr "" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "Lanju_tkan" +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "The last selected Piwigo category." +msgstr "Kategori Piwigio yang terakhir dipilih." -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "Daftarkan album dalam galeri publ_ik" +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last permission level" +msgstr "tingkatan hak akses yang terakhir digunakan" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "Pratata uku_ran foto:" +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last chosen Piwigo permission level." +msgstr "Tingkatan hak akses Piwigio yang terakhir dipilih." -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "_URL dari pustaka gambar Piwigo Anda" +#: misc/org.yorba.shotwell.gschema.xml:467 +msgid "" +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "_Nama pengguna" +#: misc/org.yorba.shotwell.gschema.xml:473 +msgid "" +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "_Ingat Sandi" +#: misc/org.yorba.shotwell.gschema.xml:478 +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "" +"bila judul diatur dan komentar kosong, pakai judul sebagai komentar untuk " +"diunggah ke Piwigio" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "Direktori yang _ada:" +#: misc/org.yorba.shotwell.gschema.xml:479 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "Gambar akan bisa _dilihat oleh:" +#: misc/org.yorba.shotwell.gschema.xml:484 +msgid "do not upload tags when uploading to Piwigo" +msgstr "jangan unggah tanda ketika mengunggah ke Piwigio" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Ukuran foto:" +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "dalam kategori:" +#: misc/org.yorba.shotwell.gschema.xml:493 +msgid "Gallery3 username" +msgstr "Nama pengguna Gallery3" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Komentar album:" +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "API key" +msgstr "Kunci API" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" -msgstr "B_ila judul diatur dan komentar kosong, pakai judul sebagai komentar" +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 API key" +msgstr "Kunci API Gallery3" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "_Jangan unggah tag" +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "URL" +msgstr "URL" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Catat keluar" +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 site URL" +msgstr "URL _Gallery3" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:303 -msgid "Publish" -msgstr "Kirim" +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "" +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" +msgstr "" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Layanan Penerbit Utama" +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "scaling constraint of uploaded picture" +msgstr "" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "Pengaturan priva_si video:" +#: misc/org.yorba.shotwell.gschema.xml:523 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "Tirai" +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "pixels of the major axis uploaded picture" +msgstr "" -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "Catur" +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "" +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" +msgstr "" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "Lingkaran" +#: misc/org.yorba.shotwell.gschema.xml:537 +msgid "" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." +msgstr "" -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "Lingkaran" +#: misc/org.yorba.shotwell.gschema.xml:544 +msgid "last used import service" +msgstr "layanan impor yang terakhir digunakan" -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "Jam" +#: misc/org.yorba.shotwell.gschema.xml:545 +msgid "" +"A numeric code representing the last service from which photos were imported" +msgstr "" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "Runtuh" +#: misc/org.yorba.shotwell.gschema.xml:552 +msgid "interpreter state cookie" +msgstr "" -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "Kabur" +#: misc/org.yorba.shotwell.gschema.xml:553 +msgid "" +"A numeric code that captures the state of the GStreamer plug-in environment" +msgstr "" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "Salindia" +#: misc/org.yorba.shotwell.gschema.xml:560 +msgid "content layout mode" +msgstr "" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "Kotak" +#: misc/org.yorba.shotwell.gschema.xml:561 +msgid "" +"A numeric code that describes how photos are laid out on the page during " +"printing" +msgstr "" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "Strip" +#: misc/org.yorba.shotwell.gschema.xml:566 +#, fuzzy +#| msgid "_Contents" +msgid "content ppi" +msgstr "Daftar _Isi" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Peralihan Salindia Utama" +#: misc/org.yorba.shotwell.gschema.xml:567 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 -msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" -msgstr "Hak Cipta 2010 Maxim Kartashev, Hak Cipta 2011-2015 Yorba Foundation" +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content width" +msgstr "lebar konten" -#: ../src/AppDirs.vala:48 ../src/AppDirs.vala:99 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "Gagal membuat direktori cache %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The width of the printed emulsion on the page when printing" +msgstr "" -#: ../src/AppDirs.vala:58 ../src/AppDirs.vala:88 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "Gagal membuat direktori data %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content height" +msgstr "tinggi konten" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:152 -msgid "Pictures" -msgstr "Foto" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The height of the printed emulsion on the page when printing" +msgstr "" -#: ../src/AppDirs.vala:190 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "Gagal membuat direktori temporer %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:584 +#, fuzzy +#| msgid "_Contents" +msgid "content units" +msgstr "Daftar _Isi" -#: ../src/AppDirs.vala:207 ../src/AppDirs.vala:223 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "Gagal membuat direktori data %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" +msgstr "" -#: ../src/AppWindow.vala:53 -msgid "Pin Toolbar" -msgstr "Semat Batang Alat" +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "images per page code" +msgstr "gambar per kode halaman" -#: ../src/AppWindow.vala:54 -msgid "Pin the toolbar open" -msgstr "Sematkan batang alat terbuka" +#: misc/org.yorba.shotwell.gschema.xml:591 +msgid "" +"A numeric code representing the currently selected images per page mode used " +"when printing" +msgstr "" -#: ../src/AppWindow.vala:59 -msgid "Leave fullscreen" -msgstr "Tinggalkan layar penuh" +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "size selection" +msgstr "" -#: ../src/AppWindow.vala:525 -msgid "_Contents" -msgstr "Daftar _Isi" +#: misc/org.yorba.shotwell.gschema.xml:597 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" -#: ../src/AppWindow.vala:530 -msgid "_Frequently Asked Questions" -msgstr "_Pertanyaan Sering Ditanyakan" +#: misc/org.yorba.shotwell.gschema.xml:602 +#, fuzzy +#| msgid "_Match photo aspect ratio" +msgid "match aspect ratio" +msgstr "_Sesuaikan dengan rasio foto" -#: ../src/AppWindow.vala:535 -msgid "_Report a Problem..." -msgstr "Lapo_r Masalah..." +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" -#: ../src/AppWindow.vala:634 ../src/AppWindow.vala:655 -#: ../src/AppWindow.vala:672 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1418 ../src/Dialogs.vala:1441 ../src/Resources.vala:162 -#: ../src/data_imports/DataImportsUI.vala:374 -#: ../src/publishing/PublishingUI.vala:475 -msgid "_Cancel" -msgstr "_Batal" +#: misc/org.yorba.shotwell.gschema.xml:608 +#, fuzzy +#| msgid "Print image _title" +msgid "print titles" +msgstr "Ce_tak judul gambar" -#: ../src/AppWindow.vala:682 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:609 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" -"\n" -"%s" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." msgstr "" -"Ada kesalahan yang fatal saat mengakses pustaka Shotwell. Terpaksa tidak " -"dapat dilanjutkan.\n" -"\n" -"%s" -#: ../src/AppWindow.vala:702 -msgid "Visit the Yorba web site" -msgstr "Kunjungi situs Yorba" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "titles font" +msgstr "fonta judul" -#: ../src/AppWindow.vala:714 -#, c-format -msgid "Unable to display help: %s" -msgstr "Pedoman penggunaan tidak dapat ditampilkan: %s" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "" -#: ../src/AppWindow.vala:722 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "Gagal menavigasi basis data bug: %s" +#: misc/org.yorba.shotwell.gschema.xml:626 +msgid "enable facebook publishing plugin" +msgstr "aktifkan plugin penerbitan facebook" -#: ../src/AppWindow.vala:730 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "Gagal menampilkan FAQ: %s" +#: misc/org.yorba.shotwell.gschema.xml:627 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "Berhasil" +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable flickr publishing plugin" +msgstr "aktifkan plugin penerbitan flickr" -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "Kesalahan berkas" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "Berkas tidak dapat dibaca" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable picasa publishing plugin" +msgstr "aktifkan plugin penerbitan picasa" -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "Kesalahan basis data" +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "Impor yang Anda batalkan" +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable youtube publishing plugin" +msgstr "aktifkan plugin penerbitan youtube" -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "Bukan berkas" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "Berkas sudah ada di basis data" +#: misc/org.yorba.shotwell.gschema.xml:650 +msgid "enable piwigo publishing plugin" +msgstr "aktifkan plugin penerbitan piwigio" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "Jenis berkas tidak dapat dibuka" +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "Bukan berkas foto" +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable yandex publishing plugin" +msgstr "aktifkan plugin penerbitan yandex" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "Kegagalan cakram" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "Cakram penuh" +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable tumblr publishing plugin" +msgstr "aktifkan plugin penerbitan tublr" -#: ../src/BatchImport.vala:59 -msgid "Camera error" -msgstr "Kesalahan kamera" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:62 -msgid "File write error" -msgstr "Kesalahan penulisan berkas" +#: misc/org.yorba.shotwell.gschema.xml:668 +msgid "enable rajce publishing plugin" +msgstr "aktifkan plugin penerbitan rajce" -#: ../src/BatchImport.vala:65 -msgid "Corrupt image file" -msgstr "Berkas citra rusak" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:68 -#, c-format -msgid "Imported failed (%d)" -msgstr "Impor yang gagal (%d)" +#: misc/org.yorba.shotwell.gschema.xml:674 +msgid "enable gallery3 publishing plugin" +msgstr "aktifkan plugin penerbitan gallery3" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2637 -msgid "S_lideshow" -msgstr "Sa_lindia" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2638 -msgid "Play a slideshow" -msgstr "Putar tampilan salindia" +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable F-Spot import plugin" +msgstr "aktifkan plugin impor F-Spot" -#: ../src/CollectionPage.vala:456 -msgid "Export Photo/Video" -msgstr "Ekspor Foto/Video" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:456 -msgid "Export Photos/Videos" -msgstr "Ekspor Foto-foto/Video-video" +#: misc/org.yorba.shotwell.gschema.xml:686 +msgid "enable slideshow crumble transition" +msgstr "aktifkan transisi hancur pada tampilan slide" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3211 -msgid "Export Photo" -msgstr "Ekspor Foto" +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 -msgid "Export Photos" -msgstr "Ekspor Foto-foto" +#: misc/org.yorba.shotwell.gschema.xml:692 +msgid "enable slideshow fade transition" +msgstr "aktifkan transisi luntur pada tampilan slide" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Rotating" -msgstr "Memutar" +#: misc/org.yorba.shotwell.gschema.xml:693 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Undoing Rotate" -msgstr "Batalkan Pemutaran" +#: misc/org.yorba.shotwell.gschema.xml:698 +#: misc/org.yorba.shotwell.gschema.xml:722 +msgid "enable slideshow slide transition" +msgstr "aktifkan transisi tampilan slide" -#: ../src/CollectionPage.vala:570 -msgid "Flipping Horizontally" -msgstr "Balikkan Horizontal" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:571 -msgid "Undoing Flip Horizontally" -msgstr "Batalkan Batal Horizontal" +#: misc/org.yorba.shotwell.gschema.xml:704 +msgid "enable slideshow clock transition" +msgstr "aktifkan transisi jam pada tampilan slide" -#: ../src/CollectionPage.vala:580 -msgid "Flipping Vertically" -msgstr "Balikkan Vertikal" +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:581 -msgid "Undoing Flip Vertically" -msgstr "Batalkan Balik Vertikal" +#: misc/org.yorba.shotwell.gschema.xml:710 +#: misc/org.yorba.shotwell.gschema.xml:716 +msgid "enable slideshow circle transition" +msgstr "aktifkan transisi lingkaran pada tampilan slide" -#: ../src/Commands.vala:733 -msgid "Reverting" -msgstr "Membalikkan" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:733 -msgid "Undoing Revert" -msgstr "Batalkan pembalikan" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:777 -msgid "Enhancing" -msgstr "Menajamkan gambar" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:777 -msgid "Undoing Enhance" -msgstr "Batalkan Penajaman Gambar" +#: misc/org.yorba.shotwell.gschema.xml:728 +msgid "enable slideshow squares transition" +msgstr "aktifkan transisi kotak pada tampilan slide" -#: ../src/Commands.vala:853 -msgid "Applying Color Transformations" -msgstr "Menerapkan Transformasi Warna" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:853 -msgid "Undoing Color Transformations" -msgstr "Membatalkan Transformasi Warna" +#: misc/org.yorba.shotwell.gschema.xml:734 +msgid "enable slideshow stripes transition" +msgstr "aktifkan transisi bergaris pada tampilan slide" -#: ../src/Commands.vala:1003 -msgid "Creating New Event" -msgstr "Buat Rangkaian Baru" +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1004 -msgid "Removing Event" -msgstr "Hapus Rangkaian" +#: misc/org.yorba.shotwell.gschema.xml:740 +msgid "enable slideshow chess transition" +msgstr "aktifkan transisi papan catur pada tampilan slide" -#: ../src/Commands.vala:1013 -msgid "Moving Photos to New Event" -msgstr "Memindahkan Semua Foto Ini ke Rangkaian Baru" +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" -#: ../src/Commands.vala:1014 -msgid "Setting Photos to Previous Event" -msgstr "Menandai Foto ke Rangkaian Sebelumnya" +#: plugins/common/Resources.vala:9 +msgid "Visit the Shotwell home page" +msgstr "Kunjungi laman serambi Shotwell" -#: ../src/Commands.vala:1071 -msgid "Merging" -msgstr "Menggabungkan" +#: plugins/common/Resources.vala:28 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"Mohammad Anwari , 2010\n" +"verayin , 2011\n" +" , 2012\n" +"elementary Indonesia , 2012\n" +" , 2012\n" +"Malsasa , 2012\n" +"Mohamad Hasan Al Banna, 2013\n" +"Rahman Yusri Aftian , 2012, 2013\n" +"Andika Triwidada , 2011, 2014" -#: ../src/Commands.vala:1072 -msgid "Unmerging" -msgstr "Membatalkan Penggabungan" +#: plugins/common/RESTSupport.vala:448 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:960 +msgid "A temporary file needed for publishing is unavailable" +msgstr "Berkas sementara yang diperlukan untuk penerbitan tidak tersedia" -#: ../src/Commands.vala:1081 -msgid "Duplicating photos" -msgstr "Gandakan foto" +#: plugins/common/RESTSupport.vala:1154 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" +"Anda telah log masuk dan log keluar dari suatu layanan Google selama sesi " +"Shotwell ini.\n" +"\n" +"Untuk melanjutkan penerbitan ke layanan Google, keluar dan jalankan lagi " +"Shotwell, lalu cobalah mempublikasikan lagi." -#: ../src/Commands.vala:1081 -msgid "Removing duplicated photos" -msgstr "Hapus foto ganda" +#: plugins/shotwell-data-imports/FSpotImporter.vala:34 +#: plugins/shotwell-publishing/FacebookPublishing.vala:32 +#: plugins/shotwell-publishing/FlickrPublishing.vala:34 +#: plugins/shotwell-publishing/PicasaPublishing.vala:32 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:32 +#: plugins/shotwell-publishing/YouTubePublishing.vala:32 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Hak Cipta 2016 Software Freedom Conservancy Inc." -#: ../src/Commands.vala:1104 -#, c-format -msgid "Unable to duplicate one photo due to a file error" -msgid_plural "Unable to duplicate %d photos due to file errors" -msgstr[0] "Ada %d foto yang tidak dapat digandakan karena ada kesalahan teknis" +#: plugins/shotwell-data-imports/FSpotImporter.vala:56 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"Selamat datang ke layanan impor pustaka F-Spot.\n" +"\n" +"Harap pilih pustaka yang akan diimpor, bisa dengan memilih pustaka yang " +"ditemukan oleh Shotwell atau dengan memilih berkas basis data F-Spot " +"alternatif." -#: ../src/Commands.vala:1191 -msgid "Restoring previous rating" -msgstr "Mengembalikan rating sebelumnya" +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"Selamat datang di perpustakaan layanan impor F-Spot.\n" +"\n" +"Silahkan pilih berkas basis data F-Spot." -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Increasing ratings" -msgstr "Naikkan rating" +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "Manually select an F-Spot database file to import:" +msgstr "Pilih manual basis data F-Spot untuk di impor:" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Decreasing ratings" -msgstr "Turunkan rating" +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"Tidak dapat membuka berkas basis data F-Spot terpilih: berkas tidak ada atau " +"bukan basis data F-Spot" -#: ../src/Commands.vala:1252 -msgid "Setting RAW developer" -msgstr "Atur RAW pengembang" +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"Tidak dapat membuka berkas basis data F-Spot terpilih: versi basis data F-" +"Spot ini tidak didukung oleh Shotwell" -#: ../src/Commands.vala:1252 -msgid "Restoring previous RAW developer" -msgstr "Mengembalikan pembangun RAW sebelumnya" +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"Tidak dapat membaca berkas basis data F-Spot terpilih: kesalahan saat " +"membaca tabel tag" -#: ../src/Commands.vala:1253 -msgid "Set Developer" -msgstr "Atur Pengembang" +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"Tidak dapat membaca berkas basis data F-Spot terpilih: kesalahan saat " +"membaca tabel foto" -#: ../src/Commands.vala:1343 -msgid "Original photo could not be adjusted." -msgstr "Foto asli tidak dapat diatur" +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"Shotwell menemukan %d foto pada daftar F-Spot dan sedang mengimpornya. Foto " +"yang sama akan otomatis terdeteksi dan dihapus.\n" +"\n" +"Anda dapat menutup dialog ini dan mulai menggunakan Shotwell saat proses " +"impor berlangsung di belakang." -#: ../src/Commands.vala:1364 -msgid "Adjusting Date and Time" -msgstr "Mengatur Tanggal dan Jam" +#: plugins/shotwell-data-imports/FSpotImporter.vala:84 +#, c-format +msgid "F-Spot library: %s" +msgstr "Pustaka F-Spot: %s" -#: ../src/Commands.vala:1364 -msgid "Undoing Date and Time Adjustment" -msgstr "Batalkan Pengaturan Tanggal dan Jam" +#: plugins/shotwell-data-imports/FSpotImporter.vala:422 +msgid "Preparing to import" +msgstr "Bersiap mengimpor" -#: ../src/Commands.vala:1395 -msgid "One original photo could not be adjusted." -msgid_plural "The following original photos could not be adjusted." -msgstr[0] "Foto ini tidak dapat diatur" +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "Servis Impor Data Inti" -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 -msgid "Time Adjustment Error" -msgstr "Tidak Dapat Mengatur Jam" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "_Mundur" -#: ../src/Commands.vala:1419 -msgid "Time adjustments could not be undone on the following photo file." -msgid_plural "" -"Time adjustments could not be undone on the following photo files." -msgstr[0] "Jam asli pada foto ini tidak dapat dikembalikan" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "_Login" -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 -msgid "Create Tag" -msgstr "Buat Tanda" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "URL _Gallery3:" -#: ../src/Commands.vala:1691 -#, c-format -msgid "Move Tag \"%s\"" -msgstr "Pindah Tag \"%s\"" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "Nama pengg_una:" -#: ../src/Commands.vala:2343 -msgid "Move Photos to Trash" -msgstr "Pindahkan Foto ke Tempat Pembuangan" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_Sandi:" -#: ../src/Commands.vala:2343 -msgid "Restore Photos from Trash" -msgstr "Kembalikan Foto dari Tempat Pembuangan" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "_Kunci API:" -#: ../src/Commands.vala:2344 -msgid "Move the photos to the Shotwell trash" -msgstr "Pindahkan foto-foto tersebut ke tempat pembuangan" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "atau" -#: ../src/Commands.vala:2344 -msgid "Restore the photos back to the Shotwell library" -msgstr "Kembalikan foto-foto yang dibuang ke album" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "_Keluar" -#: ../src/Commands.vala:2363 -msgid "Moving Photos to Trash" -msgstr "Pindahkan Foto ke Tempat Pembuangan" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "_Terbitkan" -#: ../src/Commands.vala:2363 -msgid "Restoring Photos From Trash" -msgstr "Kembalikan Foto dari Tempat Pembuangan" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "Sebuah album _baru" -#: ../src/Commands.vala:2449 -msgid "Flag selected photos" -msgstr "Tandai foto terpilih" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "Album _yang ada" -#: ../src/Commands.vala:2450 -msgid "Unflag selected photos" -msgstr "Hapus tanda foto terpilih" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "" +"Hapus lokasi, tag, dan data pengidentifikasian kameda sebelum mengunggah" -#: ../src/Commands.vala:2451 -msgid "Flagging selected photos" -msgstr "Tandai foto terpilih" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "Kendala penskalaan:" -#: ../src/Commands.vala:2452 -msgid "Unflagging selected photos" -msgstr "Hapus tanda foto terpilih" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "piksel" -#: ../src/Commands.vala:2459 -msgid "Flag" -msgstr "Tanda" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1236 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1237 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "Ukuran asal" -#: ../src/Commands.vala:2459 -msgid "Unflag" -msgstr "Hapus Tanda" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Lebar atau tinggi" -#: ../src/DesktopIntegration.vala:121 -#, c-format +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "Modul publikasi Gallery3" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" +"Anda tidak sedang masuk ke Gallery.\n" +"\n" +"Anda harus telah mendaftar akun Gallery3 untuk melengkapi proses log masuk." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "Direktori baku Shotwell" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" +"\n" +"\n" +"Berkas \"%s\" mungkin tak didukung atau mungkin terlalu besar bagi instansi " +"Gallery3 ini." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" +"\n" +"Perhatikan bahwa Gallery3 hanya mendukung tipe video yang didukung oleh " +"Flowplayer." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" +"Sebuah berkas yang diperlukan untuk penerbitan tidak tersedia. Tak dapat " +"lanjutkan menerbitkan ke %s." + +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 +#, c-format +msgid "Publishing to %s as %s." +msgstr "Menerbitkan ke %s sebagai %s." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"Masukkan URL untuk situs Gallery3 dan nama pengguna serta sandi (atau kunci " +"API) bagi akun Gallery3 Anda." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"Nama pengguna dan sandi atau kunci API salah. Untuk mencoba lagi, masukkan " +"lagi nama pengguna dan sandi di bawah." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"URL yang dimasukkan nampaknya bukan direktori utama dari suatu instansi " +"Gallery3. Harap pastikan bahwa Anda mengetikkannya dengan benar dan itu tak " +"memiliki sebarang komponen ekor (mis., index.php)." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 +msgid "Unrecognized User" +msgstr "Pengguna Tak Dikenal" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 +msgid " Site Not Found" +msgstr "Situs Tak Ditemukan" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:890 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "_Alamat Email" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:891 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_Kata Sandi" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +msgid "_Remember" +msgstr "_Ingat" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "Masuk" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "Album _yang ada:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "Nama album _baru:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1004 +msgid "_Hide album" +msgstr "Sembuny_ikan album" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +msgid "Open target _album in browser" +msgstr "Buka _album target dalam peramban" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:38 +msgid "Copyright (C) 2013 rajce.net" +msgstr "Hak Cipta (C) 2013 rajce.net" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:742 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "" +"Terjadi pesan kesalahan ketika mempublikasikan ke Rajce. Harap coba lagi." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:831 +msgid "Enter email and password associated with your Rajce account." +msgstr "" +"Masukkan nama pengguna dan sandi yang berhubungan dengan akun Rajce Anda." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:832 +msgid "Invalid email and/or password. Please try again" +msgstr "Surel dan/atau sandi tak valid. Harap coba lagi" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:863 +msgid "Invalid User Email or Password" +msgstr "Sandi atau Surel Pengguna Tak Valid" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1011 +#, c-format +msgid "You are logged into Rajce as %s." +msgstr "Anda masuk ke Rajce sebagai %s." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "Foto akan muncul di:" + +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Layanan Penerbit Ekstra Shotwell" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "Blog:" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "Ukuran _foto:" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:34 +msgid "Copyright 2012 BJA Electronics" +msgstr "Hak Cipta 2012 BJA Electronics" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:103 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1233 +msgid "500 x 375 pixels" +msgstr "500 x 375 piksel" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +msgid "1024 x 768 pixels" +msgstr "1024 x 768 piksel" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +msgid "1280 x 853 pixels" +msgstr "1280 x 853 piksel" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:309 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:319 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "'%s' permintaan otentikasi OAuth ke yang tidak valid" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:557 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start(): tidak dapat memulai, penerbit ini tidak " +"restartable." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:585 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "" +"Masukkan nama pengguna dan kata sandi yang berhubungan dengan akun Tumblr " +"anda." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:989 +msgid "Username and/or password invalid. Please try again" +msgstr "Nama pengguna dan/atau kata sandi tak valid. Harap coba lagi" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:616 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1026 +msgid "Invalid User Name or Password" +msgstr "Nama Pengguna atau Kata Sandi Tak Valid" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:635 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:754 +#, c-format +msgid "Could not load UI: %s" +msgstr "Tidak dapat membuka UI: %s" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:736 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"Anda belum masuk ke Tumblr sebagai %s.\n" +"\n" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "Hak Cipta 2010+ Evgeniy Polyakov " + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "Kunjungi situs Yandex.Fotki" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:659 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "Anda belum masuk ke Yandex.Fotki." + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "_Album (atau tulis baru):" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "Jenis _akses:" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "Nonaktifkan _komentar" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "_Dilarang mengunduh foto asli" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "Publik" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Teman" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Private" +msgstr "Privat" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "Terbitkan ke album yang _sudah ada:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "Buat album baru dengan _nama:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "U_kuran unggah" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "_Video dan album foto baru tampak ke:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 +msgid "" +"_Remove location, camera, and other identifying information before uploading" +msgstr "" +"Hapus lokasi, kame_ra, dan informasi pengidentifikasi lain sebelum mengunggah" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:61 +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1114 +msgid "Shotwell Connect" +msgstr "Kiriman dari Shotwell" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:63 +msgid "" +"You are not currently logged into Facebook.\n" +"\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." +msgstr "" +"Anda belum terhubung ke Facebook.\n" +"\n" +"Jika belum memiliki akun Facebook, Anda dapat membuatnya nanti saat login. " +"Saat login, Shotwell akan menanyakan hak unggah dan hak penerbitan berita. " +"Hak-hak tersebut diperlukan oleh Shotwell." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:65 +msgid "" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Selama menggunakan Shotwell tadi, Anda sudah keluar dan masuk dari " +"Facebook.\n" +"Untuk dapat mengirim foto ke Facebook, silakan keluar dan jalankan Shotwell " +"kembali, kemudian ulangi proses pengiriman." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:86 +msgid "Standard (720 pixels)" +msgstr "Standar (720 piksel)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:89 +msgid "Large (2048 pixels)" +msgstr "Besar (2048 piksel)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:254 +msgid "Testing connection to Facebook..." +msgstr "Mencoba koneksi ke Facebook..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:347 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "Membuat album..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke " +"Facebook." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"Anda terhubung ke Facebook sebagai %s.\n" +"\n" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "Kirim foto ke mana?" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1214 +msgid "Just me" +msgstr "Saya sendiri saja" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1210 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1221 +msgid "Everyone" +msgstr "Semua orang" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" +"Masukkan nomor konfirmasi yang muncul setelah Anda log masuk ke Flickr dalam " +"peramban Web Anda." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "_Nomor Otorisasi:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 src/Dialogs.vala:131 +msgid "Con_tinue" +msgstr "Lanju_tkan" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:61 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"Anda masih belum masuk ke Flickr.\n" +"\n" +"Klik Masuk untuk masuk ke Flickr pada peramban Web anda. Anda diharuskan " +"memberikan izin Shotwell menyambungkan ke akun Flickr anda." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:63 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Saat menggunakan Shotwell tadi, Anda sudah keluar dan masuk dari Flickr.\n" +"Untuk dapat mengirim foto ke Facebook, silakan keluar dan jalankan Shotwell " +"kembali, kemudian ulangi proses pengiriman." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:375 +msgid "Preparing for login..." +msgstr "Bersiap untuk login..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:444 +#: plugins/shotwell-publishing/FlickrPublishing.vala:595 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke Flickr." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:457 +msgid "Verifying authorization..." +msgstr "Verifikasi wewenang..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1153 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"Anda sudah login ke Flickr atas nama %s.\n" +"\n" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1156 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"Akun Flickr gratis Anda membatasi besarnya data yang dapat Anda kirim per " +"bulan.\n" +"Bulan ini, Anda punya sisa jatah kuota unggah %d megabyte." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1160 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "Anda memiliki akun Flickr Pro yang tidak memiliki batas pengiriman." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1165 +msgid "Photos _visible to:" +msgstr "Foto ini dapat _dilihat oleh:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1167 +msgid "Videos _visible to:" +msgstr "Video ini dapat _dilihat oleh:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1170 +msgid "Photos and videos _visible to:" +msgstr "Foto dan video ini dapat _dilihat oleh:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +msgid "Friends & family only" +msgstr "Teman dan keluarga saja" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Family only" +msgstr "Hanya keluarga" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Friends only" +msgstr "Hanya teman" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1235 +msgid "2048 x 1536 pixels" +msgstr "2048 x 1536 piksel" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1236 +msgid "4096 x 3072 pixels" +msgstr "4096 x 3072 piksel" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "Daftarkan album dalam galeri publ_ik" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "Pratata uku_ran foto:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:58 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"Kamu belum masuk ke Album Web Picasa.\n" +"\n" +"Klik Login untuk masuk ke Album Web Picasa lewat Peramban Web. Kamu perlu " +"memberi wewenang Shotwell Connect menyambung ke akun Album Web Picasa mu." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke Picasa." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "Anda sudah masuk ke Album Web Picasa atas nama %s." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "Video akan muncul di:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "Kecil (640 x 480 piksel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "Sedang (1024 x 768 piksel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "Ideal (1600 x 1200 piksel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048 x 1536 pixel)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "Ukuran Asli" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "_URL dari pustaka gambar Piwigo Anda" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "_Nama pengguna" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "_Ingat Sandi" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "Direktori yang _ada:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "Gambar akan bisa _dilihat oleh:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "Ukuran foto:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "dalam kategori:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "Komentar album:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "B_ila judul diatur dan komentar kosong, pakai judul sebagai komentar" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "_Jangan unggah tag" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "Catat keluar" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "Kirim" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:746 +#, c-format +msgid "Creating album %s..." +msgstr "Membuat akbum %s..." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:917 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "" +"Terjadi pesan kesalahan ketika mempublikasikan ke Piwigo. Harap coba lagi." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:987 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"Masukkan URL pustaka foto Piwigo mu beserta username dan password akun " +"Piwigo untuk pustaka tersebut." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:988 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"Shotwell tidak bisa menghubungi pustaka foto Piwigo. Harap periksa kembali " +"URL yang kamu masukkan" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1021 +msgid "Invalid URL" +msgstr "URL tidak sah" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1222 +msgid "Admins, Family, Friends, Contacts" +msgstr "Admin, Keluarga, Teman, Kontak" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1223 +msgid "Admins, Family, Friends" +msgstr "Admin, Keluarga, Teman" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1224 +msgid "Admins, Family" +msgstr "Admin, Keluarga" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1225 +msgid "Admins" +msgstr "Admin" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Layanan Penerbit Utama" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "Pengaturan priva_si video:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:57 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"Anda tidak terhubung ke YouTube.\n" +"\n" +"Anda harus memiliki akun Google/YouTube untuk melanjutkan." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:362 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"Berkas penting untuk penerbitan tidak tersedia. Gagal menerbitkan ke Youtube." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:461 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "Anda terhubung ke YouTube sebagai %s" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:463 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "Video akan tampil dalam '%s'" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:495 +msgid "Public listed" +msgstr "Publik terdaftar" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public unlisted" +msgstr "Publik tak terdaftar" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "Tirai" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "Catur" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "Lingkaran" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "Lingkaran" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "Jam" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "Runtuh" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "Kabur" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Peralihan Salindia Utama" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:75 +#, fuzzy +#| msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "Hak Cipta 2010 Maxim Kartashev, Hak Cipta 2011-2015 Yorba Foundation" + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "Salindia" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "Kotak" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "Strip" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "Gagal membuat direktori cache %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "Gagal membuat direktori data %s: %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "Foto" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "Gagal membuat direktori temporer %s: %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "Gagal membuat direktori data %s: %s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "" + +#: src/AppDirs.vala:239 +#, fuzzy, c-format +#| msgid "Unable to create cache directory %s: %s" +msgid "Could not make directory %s writable: %s" +msgstr "Gagal membuat direktori cache %s: %s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "Semat Batang Alat" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "Sematkan batang alat terbuka" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "Tinggalkan layar penuh" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "Daftar _Isi" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "_Pertanyaan Sering Ditanyakan" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "Lapo_r Masalah..." + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1424 src/Dialogs.vala:1447 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_Batal" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"Ada kesalahan yang fatal saat mengakses pustaka Shotwell. Terpaksa tidak " +"dapat dilanjutkan.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +#, fuzzy +#| msgid "Visit the Shotwell home page" +msgid "Visit the Shotwell web site" +msgstr "Kunjungi laman serambi Shotwell" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "Pedoman penggunaan tidak dapat ditampilkan: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "Gagal menavigasi basis data bug: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "Gagal menampilkan FAQ: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "Berhasil" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "Kesalahan berkas" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "Berkas tidak dapat dibaca" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "Kesalahan basis data" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "Impor yang Anda batalkan" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "Bukan berkas" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "Berkas sudah ada di basis data" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "Jenis berkas tidak dapat dibuka" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "Bukan berkas foto" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "Kegagalan cakram" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "Cakram penuh" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "Kesalahan kamera" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "Kesalahan penulisan berkas" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "Berkas citra rusak" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" +msgstr "Impor yang gagal (%d)" + +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Kamera" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Kamera" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"Kamera tidak dapat dilepas. Silakan lepas melalui program pengelola berkas." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Sembunyikan foto yang sudah selesai diimpor" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Hanya tampilkan foto yang belum diimpor" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "Mulai mengimpor, silakan tunggu..." + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Judul" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Tampilkan judul setiap foto" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "Impor Foto _Terpilih" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Impor foto terpilih ke album" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "Impor Semu_a" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Impor semua foto ke album" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Shotwell harus dapat melepaskan kamera dari sistem agar dapat mengaksesnya. " +"Izinkan?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_Lepas" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Silakan lepaskan kamera." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"Kamera sudah terkunci oleh aplikasi lain. Shotwell hanya dapat mengakses " +"kamera pada saat tidak terkunci. Silakan matikan aplikasi yang sedang " +"menggunakan kamera ini dan coba kembali." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "Mohon segera mematikan aplikasi lain yang sedang menggunakan kamera." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"Gambar pratayang tidak dapat diambil dari kamera:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "Melepaskan kamera..." + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "Mengambil informasi foto" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "Mengambil gambar pratayang %s" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "Kamera tidak dapat dikunci: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "Hapus %d foto ini dari kamera?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "Hapus %d video ini dari kamera?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "Hapus %d foto/video ini dari kamera?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "Hapus %d berkas ini dari kamera?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1391 +msgid "_Keep" +msgstr "_Simpan" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "Menghapus foto/video dari kamera" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "" +"Tidak dapat menghapus %d foto/video dari kamera karena adanya kesalahan" + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "Sa_lindia" + +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "Putar tampilan salindia" + +#: src/CollectionPage.vala:456 +msgid "Export Photo/Video" +msgstr "Ekspor Foto/Video" + +#: src/CollectionPage.vala:456 +msgid "Export Photos/Videos" +msgstr "Ekspor Foto-foto/Video-video" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:58 src/PhotoPage.vala:3209 +msgid "Export Photo" +msgstr "Ekspor Foto" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:87 +msgid "Export Photos" +msgstr "Ekspor Foto-foto" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Rotating" +msgstr "Memutar" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Undoing Rotate" +msgstr "Batalkan Pemutaran" + +#: src/CollectionPage.vala:570 +msgid "Flipping Horizontally" +msgstr "Balikkan Horizontal" + +#: src/CollectionPage.vala:571 +msgid "Undoing Flip Horizontally" +msgstr "Batalkan Batal Horizontal" + +#: src/CollectionPage.vala:580 +msgid "Flipping Vertically" +msgstr "Balikkan Vertikal" + +#: src/CollectionPage.vala:581 +msgid "Undoing Flip Vertically" +msgstr "Batalkan Balik Vertikal" + +#: src/Commands.vala:733 +msgid "Reverting" +msgstr "Membalikkan" + +#: src/Commands.vala:733 +msgid "Undoing Revert" +msgstr "Batalkan pembalikan" + +#: src/Commands.vala:777 +msgid "Enhancing" +msgstr "Menajamkan gambar" + +#: src/Commands.vala:777 +msgid "Undoing Enhance" +msgstr "Batalkan Penajaman Gambar" + +#: src/Commands.vala:853 +msgid "Applying Color Transformations" +msgstr "Menerapkan Transformasi Warna" + +#: src/Commands.vala:853 +msgid "Undoing Color Transformations" +msgstr "Membatalkan Transformasi Warna" + +#: src/Commands.vala:1003 +msgid "Creating New Event" +msgstr "Buat Rangkaian Baru" + +#: src/Commands.vala:1004 +msgid "Removing Event" +msgstr "Hapus Rangkaian" + +#: src/Commands.vala:1013 +msgid "Moving Photos to New Event" +msgstr "Memindahkan Semua Foto Ini ke Rangkaian Baru" + +#: src/Commands.vala:1014 +msgid "Setting Photos to Previous Event" +msgstr "Menandai Foto ke Rangkaian Sebelumnya" + +#: src/Commands.vala:1071 +msgid "Merging" +msgstr "Menggabungkan" + +#: src/Commands.vala:1072 +msgid "Unmerging" +msgstr "Membatalkan Penggabungan" + +#: src/Commands.vala:1081 +msgid "Duplicating photos" +msgstr "Gandakan foto" + +#: src/Commands.vala:1081 +msgid "Removing duplicated photos" +msgstr "Hapus foto ganda" + +#: src/Commands.vala:1104 +#, c-format +msgid "Unable to duplicate one photo due to a file error" +msgid_plural "Unable to duplicate %d photos due to file errors" +msgstr[0] "Ada %d foto yang tidak dapat digandakan karena ada kesalahan teknis" + +#: src/Commands.vala:1191 +msgid "Restoring previous rating" +msgstr "Mengembalikan rating sebelumnya" + +#: src/Commands.vala:1201 src/Commands.vala:1202 +msgid "Increasing ratings" +msgstr "Naikkan rating" + +#: src/Commands.vala:1201 src/Commands.vala:1202 +msgid "Decreasing ratings" +msgstr "Turunkan rating" + +#: src/Commands.vala:1252 +msgid "Setting RAW developer" +msgstr "Atur RAW pengembang" + +#: src/Commands.vala:1252 +msgid "Restoring previous RAW developer" +msgstr "Mengembalikan pembangun RAW sebelumnya" + +#: src/Commands.vala:1253 +msgid "Set Developer" +msgstr "Atur Pengembang" + +#: src/Commands.vala:1343 +msgid "Original photo could not be adjusted." +msgstr "Foto asli tidak dapat diatur" + +#: src/Commands.vala:1364 +msgid "Adjusting Date and Time" +msgstr "Mengatur Tanggal dan Jam" + +#: src/Commands.vala:1364 +msgid "Undoing Date and Time Adjustment" +msgstr "Batalkan Pengaturan Tanggal dan Jam" + +#: src/Commands.vala:1395 +msgid "One original photo could not be adjusted." +msgid_plural "The following original photos could not be adjusted." +msgstr[0] "Foto ini tidak dapat diatur" + +#: src/Commands.vala:1397 src/Commands.vala:1421 +msgid "Time Adjustment Error" +msgstr "Tidak Dapat Mengatur Jam" + +#: src/Commands.vala:1419 +msgid "Time adjustments could not be undone on the following photo file." +msgid_plural "" +"Time adjustments could not be undone on the following photo files." +msgstr[0] "Jam asli pada foto ini tidak dapat dikembalikan" + +#: src/Commands.vala:1633 src/Commands.vala:1656 +msgid "Create Tag" +msgstr "Buat Tanda" + +#: src/Commands.vala:1691 +#, c-format +msgid "Move Tag \"%s\"" +msgstr "Pindah Tag \"%s\"" + +#: src/Commands.vala:2343 +msgid "Move Photos to Trash" +msgstr "Pindahkan Foto ke Tempat Pembuangan" + +#: src/Commands.vala:2343 +msgid "Restore Photos from Trash" +msgstr "Kembalikan Foto dari Tempat Pembuangan" + +#: src/Commands.vala:2344 +msgid "Move the photos to the Shotwell trash" +msgstr "Pindahkan foto-foto tersebut ke tempat pembuangan" + +#: src/Commands.vala:2344 +msgid "Restore the photos back to the Shotwell library" +msgstr "Kembalikan foto-foto yang dibuang ke album" + +#: src/Commands.vala:2363 +msgid "Moving Photos to Trash" +msgstr "Pindahkan Foto ke Tempat Pembuangan" + +#: src/Commands.vala:2363 +msgid "Restoring Photos From Trash" +msgstr "Kembalikan Foto dari Tempat Pembuangan" + +#: src/Commands.vala:2449 +msgid "Flag selected photos" +msgstr "Tandai foto terpilih" + +#: src/Commands.vala:2450 +msgid "Unflag selected photos" +msgstr "Hapus tanda foto terpilih" + +#: src/Commands.vala:2451 +msgid "Flagging selected photos" +msgstr "Tandai foto terpilih" + +#: src/Commands.vala:2452 +msgid "Unflagging selected photos" +msgstr "Hapus tanda foto terpilih" + +#: src/Commands.vala:2459 +msgid "Flag" +msgstr "Tanda" + +#: src/Commands.vala:2459 +msgid "Unflag" +msgstr "Hapus Tanda" + +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "Basisdata %s" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "Gagal lanjut mengimpor dari %s karena terjadi eror:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "Untuk mengimpor dari layanan lain, pilih satu dari menu di atas." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"Kamu tidak punya pengaya impor data yang aktif.\n" +"\n" +"Untuk memakai fungsi Impor Dari Aplikasi, kamu perlu paling sedikit satu " +"pengaya impor data yang aktif. Pengaya dapat diaktifkan di Pengaturan." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Berkas basis data:" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:882 +msgid "_Import" +msgstr "_Impor" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Impor Dari Aplikasi" + +#: src/data_imports/DataImportsUI.vala:221 +#, fuzzy +#| msgid "Imported %s" +msgid "Import media _from:" +msgstr "%s diimpor" + +#: src/data_imports/DataImportsUI.vala:408 src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "_Tutup" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Impor Data" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "Gagal membuka/membuat basis data foto %s: kode galat %d" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"Gagal menulis ke berkas basis data foto:\n" +" %s" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"Kesalahan mengakses berkas basis data:\n" +" %s\n" +"\n" +"Kesalahan: \n" +"%s" + +#: src/db/DatabaseTable.vala:88 +#, fuzzy, c-format +#| msgid "" +#| "Unable to write to photo database file:\n" +#| " %s" +msgid "Unable to restore photo database %s" +msgstr "" +"Gagal menulis ke berkas basis data foto:\n" +" %s" + +#: src/DesktopIntegration.vala:121 +#, c-format msgid "Unable to launch Nautilus Send-To: %s" msgstr "Gagal menjalankan Nautilus Send-To: %s" -#: ../src/DesktopIntegration.vala:129 +#: src/DesktopIntegration.vala:129 msgid "Send To" msgstr "Kirim Ke" -#: ../src/DesktopIntegration.vala:174 +#: src/DesktopIntegration.vala:174 #, c-format msgid "Unable to export background to %s: %s" msgstr "Gambar latar tidak dapat diekspor ke %s: %s" -#: ../src/DesktopIntegration.vala:311 +#: src/DesktopIntegration.vala:311 #, c-format msgid "Unable to prepare desktop slideshow: %s" msgstr "Gagal menyiapkan salindia destop: %s" -#: ../src/Dialogs.vala:16 +#: src/Dialogs.vala:16 #, c-format msgid "This will remove the tag \"%s\" from one photo. Continue?" msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" msgstr[0] "Tanda \"%s\" akan dihapus dari %d foto. Teruskan?" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1386 -#: ../src/Resources.vala:163 ../src/Resources.vala:369 -#: ../src/Resources.vala:417 ../src/Resources.vala:682 +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1392 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 msgid "_Delete" msgstr "_Hapus" -#: ../src/Dialogs.vala:25 +#: src/Dialogs.vala:25 #, c-format msgid "This will remove the saved search \"%s\". Continue?" msgstr "Pencarian tersimpan \"%s\" akan dihapus. Teruskan?" -#: ../src/Dialogs.vala:35 +#: src/Dialogs.vala:35 msgid "" "Switching developers will undo all changes you have made to this photo in " "Shotwell" @@ -1455,11 +2902,11 @@ msgstr[0] "" "Mengganti pengembang akan membatalkan perubahan yang kamu buat ke foto ini " "di Shotwell" -#: ../src/Dialogs.vala:39 +#: src/Dialogs.vala:39 msgid "_Switch Developer" msgstr "_Ganti Pengembang" -#: ../src/Dialogs.vala:58 +#: src/Dialogs.vala:58 msgid "Export Video" msgstr "Ekspor Video" @@ -1468,7 +2915,7 @@ msgstr "Ekspor Video" #. if we can't copy an image over for editing in an external tool. #. Did we fail because we can't write to this directory? #. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 +#: src/Dialogs.vala:115 #, c-format msgid "" "Shotwell couldn't create a file for editing this photo because you do not " @@ -1477,7 +2924,7 @@ msgstr "" "Shotwell tidak dapat membuat berkas penyuntingan foto karena tidak ada izin " "menulisi %s" -#: ../src/Dialogs.vala:124 +#: src/Dialogs.vala:124 msgid "" "Unable to export the following photo due to a file error.\n" "\n" @@ -1485,7 +2932,7 @@ msgstr "" "Pengeksporan foto berikut gagal karena kesalahan teknis pada berkas.\n" "\n" -#: ../src/Dialogs.vala:130 +#: src/Dialogs.vala:130 msgid "" "\n" "\n" @@ -1498,59 +2945,59 @@ msgstr "" #. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really #. aren't formats so much as they are operating modes that determine specific formats. #. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 +#: src/Dialogs.vala:147 msgid "Unmodified" msgstr "Tidak dimodifikasi" -#: ../src/Dialogs.vala:148 +#: src/Dialogs.vala:148 msgid "Current" msgstr "Sekarang" #. layout controls -#: ../src/Dialogs.vala:213 +#: src/Dialogs.vala:215 msgid "_Format:" msgstr "_Format:" -#: ../src/Dialogs.vala:216 +#: src/Dialogs.vala:218 msgid "_Quality:" msgstr "_Kualitas:" -#: ../src/Dialogs.vala:219 +#: src/Dialogs.vala:221 msgid "_Scaling constraint:" msgstr "_Batas skala:" -#: ../src/Dialogs.vala:222 +#: src/Dialogs.vala:224 msgid "_Pixels:" msgstr "_Piksel:" -#: ../src/Dialogs.vala:225 +#: src/Dialogs.vala:227 msgid "Export metadata" msgstr "Ekspor metadata" -#: ../src/Dialogs.vala:459 +#: src/Dialogs.vala:461 msgid "Save Details..." msgstr "Simpan Rincian..." -#: ../src/Dialogs.vala:460 +#: src/Dialogs.vala:462 msgid "Save Details" msgstr "Simpan Rincian" -#: ../src/Dialogs.vala:475 +#: src/Dialogs.vala:477 #, c-format msgid "(and %d more)\n" msgstr "(dan %d buah lagi)\n" -#: ../src/Dialogs.vala:528 +#: src/Dialogs.vala:530 msgid "Import Results Report" msgstr "Impor Laporan Hasil" -#: ../src/Dialogs.vala:532 +#: src/Dialogs.vala:534 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." msgstr[0] "Mencoba mengimpor %d berkas." -#: ../src/Dialogs.vala:535 +#: src/Dialogs.vala:537 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." @@ -1559,37 +3006,37 @@ msgstr[0] "Dari sekian banyak, %d berkas sukses diimpor." #. #. Duplicates #. -#: ../src/Dialogs.vala:547 +#: src/Dialogs.vala:549 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Foto/Video Duplikat Yang Tak Diimpor:" -#: ../src/Dialogs.vala:551 +#: src/Dialogs.vala:553 msgid "duplicates existing media item" msgstr "butir media yang ada yang duplikat" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:562 +#: src/Dialogs.vala:564 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "Foto/Video Yang Tak Diimpor Karena Galat Kamera:" -#: ../src/Dialogs.vala:565 ../src/Dialogs.vala:580 ../src/Dialogs.vala:595 -#: ../src/Dialogs.vala:611 ../src/Dialogs.vala:626 ../src/Dialogs.vala:640 +#: src/Dialogs.vala:567 src/Dialogs.vala:582 src/Dialogs.vala:597 +#: src/Dialogs.vala:613 src/Dialogs.vala:628 src/Dialogs.vala:642 msgid "error message:" msgstr "pesan kesalahan:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:576 +#: src/Dialogs.vala:578 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "Berkas Yang Tak Diimpor Karena Tak Dikenali Sebagai Foto atau Video:" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:591 +#: src/Dialogs.vala:593 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1599,7 +3046,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:606 +#: src/Dialogs.vala:608 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" @@ -1607,7 +3054,7 @@ msgstr "" "Foto/Video Yang Tak Diimpor Karena Shotwell Tak Bisa Menyalin Mereka Ke " "Pustaka:" -#: ../src/Dialogs.vala:610 +#: src/Dialogs.vala:612 #, c-format msgid "" "couldn't copy %s\n" @@ -1619,36 +3066,36 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:622 +#: src/Dialogs.vala:624 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "Foto/Video Yang Tak Diimpor Karena Berkas Rusak:" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:637 +#: src/Dialogs.vala:639 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "Foto Video Yang Tak Diimpor Karena Alasan Lain:" -#: ../src/Dialogs.vala:657 +#: src/Dialogs.vala:659 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" msgstr[0] "%d foto duplikat tidak diimpor:\n" -#: ../src/Dialogs.vala:660 +#: src/Dialogs.vala:662 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" msgstr[0] "%d video duplikat tidak diimpor:\n" -#: ../src/Dialogs.vala:663 +#: src/Dialogs.vala:665 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" msgstr[0] "%d foto/video duplikat tidak diimpor:\n" -#: ../src/Dialogs.vala:677 +#: src/Dialogs.vala:679 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1657,7 +3104,7 @@ msgstr[0] "" "keras:\n" "\r\n" -#: ../src/Dialogs.vala:680 +#: src/Dialogs.vala:682 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1665,7 +3112,7 @@ msgstr[0] "" "Ada %d video gagal diimpor karena kesalahan pada berkas atau perangkat " "keras:\n" -#: ../src/Dialogs.vala:683 +#: src/Dialogs.vala:685 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1674,7 +3121,7 @@ msgstr[0] "" "Ada %d foto/video gagal diimpor karena kesalahan pada berkas atau perangkat " "keras:\n" -#: ../src/Dialogs.vala:686 +#: src/Dialogs.vala:688 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1682,7 +3129,7 @@ msgstr[0] "" "Ada %d berkas gagal diimpor karena kesalahan pada berkas atau perangkat " "keras:\n" -#: ../src/Dialogs.vala:700 +#: src/Dialogs.vala:702 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1692,7 +3139,7 @@ msgid_plural "" msgstr[0] "" "%d foto tidak dapat diimpor karena folder album foto tidak dapat ditulisi:\n" -#: ../src/Dialogs.vala:703 +#: src/Dialogs.vala:705 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1702,7 +3149,7 @@ msgid_plural "" msgstr[0] "" "%d video tidak dapat diimpor karena folder album foto tidak dapat ditulisi:\n" -#: ../src/Dialogs.vala:706 +#: src/Dialogs.vala:708 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1714,7 +3161,7 @@ msgstr[0] "" "%d foto/video tidak dapat diimpor karena folder album foto tidak dapat " "ditulisi:\n" -#: ../src/Dialogs.vala:709 +#: src/Dialogs.vala:711 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1725,7 +3172,7 @@ msgstr[0] "" "%d berkas tidak dapat diimpor karena folder album foto tidak dapat " "ditulisi:\n" -#: ../src/Dialogs.vala:723 +#: src/Dialogs.vala:725 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" @@ -1733,43 +3180,43 @@ msgstr[0] "" "Ada %d foto gagal diimpor karena kesalahan pada kamera:\n" "\r\n" -#: ../src/Dialogs.vala:726 +#: src/Dialogs.vala:728 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" msgstr[0] "%d video gagal diimpor karena kesalahan pada kamera:\n" -#: ../src/Dialogs.vala:729 +#: src/Dialogs.vala:731 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" msgstr[0] "%d foto/video gagal diimpor karena kesalahan pada kamera:\n" -#: ../src/Dialogs.vala:732 +#: src/Dialogs.vala:734 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" msgstr[0] "%d berkas gagal diimpor karena kesalahan pada kamera:\n" -#: ../src/Dialogs.vala:746 +#: src/Dialogs.vala:748 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" msgstr[0] "%d foto gagal diimpor karena rusak:\n" -#: ../src/Dialogs.vala:749 +#: src/Dialogs.vala:751 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" msgstr[0] "%d video gagal diimpor karena rusak:\n" -#: ../src/Dialogs.vala:752 +#: src/Dialogs.vala:754 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" msgstr[0] "%d foto/video gagal diimpor karena rusak:\n" -#: ../src/Dialogs.vala:755 +#: src/Dialogs.vala:757 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1779,7 +3226,7 @@ msgstr[0] "%d berkas gagal diimpor karena rusak:\n" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:772 +#: src/Dialogs.vala:774 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1789,49 +3236,49 @@ msgstr[0] "" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:787 +#: src/Dialogs.vala:789 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" msgstr[0] "Ada %d berkas yang bukan berupa foto.\n" -#: ../src/Dialogs.vala:798 +#: src/Dialogs.vala:800 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" msgstr[0] "Ada %d foto yang tidak masuk karena Anda batalkan:\n" -#: ../src/Dialogs.vala:801 +#: src/Dialogs.vala:803 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" msgstr[0] "Ada %d video yang tidak masuk karena Anda batalkan:\n" -#: ../src/Dialogs.vala:804 +#: src/Dialogs.vala:806 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" msgstr[0] "Ada %d foto/video yang tidak masuk karena Anda batalkan:\n" -#: ../src/Dialogs.vala:807 +#: src/Dialogs.vala:809 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" msgstr[0] "Ada %d berkas yang tidak masuk karena Anda batalkan:\n" -#: ../src/Dialogs.vala:821 +#: src/Dialogs.vala:823 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" msgstr[0] "%d foto telah berhasil diimpor.\n" -#: ../src/Dialogs.vala:824 +#: src/Dialogs.vala:826 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" msgstr[0] "%d video telah berhasil diimpor.\n" -#: ../src/Dialogs.vala:827 +#: src/Dialogs.vala:829 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1839,89 +3286,80 @@ msgstr[0] "%d foto/video telah berhasil diimpor.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:843 +#: src/Dialogs.vala:845 msgid "No photos or videos imported.\n" msgstr "Tidak ada foto atau video yang diimpor.\n" -#: ../src/Dialogs.vala:850 ../src/Dialogs.vala:869 +#: src/Dialogs.vala:852 src/Dialogs.vala:871 msgid "Import Complete" msgstr "Impor Selesai" -#: ../src/Dialogs.vala:1155 +#: src/Dialogs.vala:1157 #, c-format msgid "%d second" msgid_plural "%d seconds" msgstr[0] "%d detik" -#: ../src/Dialogs.vala:1158 +#: src/Dialogs.vala:1160 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d menit" -#: ../src/Dialogs.vala:1162 +#: src/Dialogs.vala:1164 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d jam" -#: ../src/Dialogs.vala:1165 +#: src/Dialogs.vala:1167 msgid "1 day" msgstr "1 hari" -#: ../src/Dialogs.vala:1315 ../src/Resources.vala:236 +#: src/Dialogs.vala:1321 src/Resources.vala:231 msgid "Rename Event" msgstr "Ubah Nama Peristiwa" -#: ../src/Dialogs.vala:1315 +#: src/Dialogs.vala:1321 msgid "Name:" msgstr "Nama:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1326 ../src/Resources.vala:308 -msgid "Edit Title" -msgstr "Sunting Judul" - -#: ../src/Dialogs.vala:1327 ../src/Properties.vala:340 +#: src/Dialogs.vala:1333 src/Properties.vala:340 msgid "Title:" msgstr "Judul:" #. Dialog title -#: ../src/Dialogs.vala:1343 ../src/Resources.vala:315 +#: src/Dialogs.vala:1349 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Sunting Komentar Peristiwa" -#: ../src/Dialogs.vala:1344 +#: src/Dialogs.vala:1350 msgid "Edit Photo/Video Comment" msgstr "Sunting Komentar Foto/Video" -#: ../src/Dialogs.vala:1345 ../src/Properties.vala:628 +#: src/Dialogs.vala:1351 src/Properties.vala:628 msgid "Comment:" msgstr "Komentar:" -#: ../src/Dialogs.vala:1361 +#: src/Dialogs.vala:1367 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "Hapus dan _Buang Berkas" -#: ../src/Dialogs.vala:1365 +#: src/Dialogs.vala:1371 msgid "_Remove From Library" msgstr "Hapus Da_ri Pustaka" -#: ../src/Dialogs.vala:1385 ../src/camera/ImportPage.vala:1741 -msgid "_Keep" -msgstr "_Simpan" - -#: ../src/Dialogs.vala:1408 +#: src/Dialogs.vala:1414 msgid "Revert External Edit?" msgstr "Batalkan Penyuntingan Eksternal?" -#: ../src/Dialogs.vala:1408 +#: src/Dialogs.vala:1414 msgid "Revert External Edits?" msgstr "Batalkan Penyuntingan Eksternal?" -#: ../src/Dialogs.vala:1410 +#: src/Dialogs.vala:1416 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -1930,86 +3368,86 @@ msgstr[0] "" "Jika proses ini diteruskan maka semua perubahan yang sudah Anda lakukan pada " "berkas %d foto eksternal tidak akan disimpan. Lanjutan?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1420 msgid "Re_vert External Edit" msgstr "_Batalkan Penyuntingan Eksternal" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1420 msgid "Re_vert External Edits" msgstr "_Batalkan Penyuntingan Eksternal" -#: ../src/Dialogs.vala:1435 +#: src/Dialogs.vala:1441 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" msgstr[0] "%d foto akan dihapus dari album. Lanjutkan?" -#: ../src/Dialogs.vala:1442 ../src/Resources.vala:178 +#: src/Dialogs.vala:1448 src/Resources.vala:173 msgid "_Remove" msgstr "_Hapus" -#: ../src/Dialogs.vala:1443 +#: src/Dialogs.vala:1449 msgid "Remove Photo From Library" msgstr "Hapus Foto Dari Album" -#: ../src/Dialogs.vala:1443 +#: src/Dialogs.vala:1449 msgid "Remove Photos From Library" msgstr "Hapus Foto Dari Album" -#: ../src/Dialogs.vala:1536 +#: src/Dialogs.vala:1542 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1688 +#: src/Dialogs.vala:1696 msgid "AM" msgstr "Pagi" -#: ../src/Dialogs.vala:1689 +#: src/Dialogs.vala:1697 msgid "PM" msgstr "Siang/Malam" -#: ../src/Dialogs.vala:1690 +#: src/Dialogs.vala:1698 msgid "24 Hr" msgstr "24 Jam" -#: ../src/Dialogs.vala:1705 +#: src/Dialogs.vala:1713 msgid "_Shift photos/videos by the same amount" msgstr "Ge_ser foto/video dalam jumlah sama" -#: ../src/Dialogs.vala:1710 +#: src/Dialogs.vala:1718 msgid "Set _all photos/videos to this time" msgstr "Atur semu_a foto/video ke waktu ini" -#: ../src/Dialogs.vala:1717 +#: src/Dialogs.vala:1725 msgid "_Modify original photo file" msgstr "_Modifikasi berkas asli foto" -#: ../src/Dialogs.vala:1717 +#: src/Dialogs.vala:1725 msgid "_Modify original photo files" msgstr "_Modifikasi berkas asli foto" -#: ../src/Dialogs.vala:1720 +#: src/Dialogs.vala:1728 msgid "_Modify original file" msgstr "Ubah pada _berkas foto aslinya" -#: ../src/Dialogs.vala:1720 +#: src/Dialogs.vala:1728 msgid "_Modify original files" msgstr "Ubah pada _berkas foto aslinya" -#: ../src/Dialogs.vala:1806 +#: src/Dialogs.vala:1814 msgid "Original: " msgstr "Aslinya:" -#: ../src/Dialogs.vala:1807 +#: src/Dialogs.vala:1815 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d/%m/%Y, %H:%M:%S" -#: ../src/Dialogs.vala:1808 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d/%m/%Y, %I:%M:%S %p" -#: ../src/Dialogs.vala:1897 +#: src/Dialogs.vala:1905 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2018,7 +3456,7 @@ msgstr "" "Tanggal pengambilan gambar akan dimajukan\n" "%d %s, %d %s, %d %s, dan %d %s." -#: ../src/Dialogs.vala:1898 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2027,27 +3465,27 @@ msgstr "" "Tanggal pengambilan gambar akan dimundurkan\n" "%d %s, %d %s, %d %s, dan %d %s." -#: ../src/Dialogs.vala:1900 +#: src/Dialogs.vala:1908 msgid "day" msgid_plural "days" msgstr[0] "hari" -#: ../src/Dialogs.vala:1901 +#: src/Dialogs.vala:1909 msgid "hour" msgid_plural "hours" msgstr[0] "jam" -#: ../src/Dialogs.vala:1902 +#: src/Dialogs.vala:1910 msgid "minute" msgid_plural "minutes" msgstr[0] "menit" -#: ../src/Dialogs.vala:1903 +#: src/Dialogs.vala:1911 msgid "second" msgid_plural "seconds" msgstr[0] "detik" -#: ../src/Dialogs.vala:1947 +#: src/Dialogs.vala:1955 #, c-format msgid "" "\n" @@ -2062,91 +3500,91 @@ msgstr[0] "" "\n" "Dan %d lainnya." -#: ../src/Dialogs.vala:1969 ../src/Dialogs.vala:1996 +#: src/Dialogs.vala:1977 src/Dialogs.vala:2004 msgid "Tags (separated by commas):" msgstr "Tanda (pisahkan dengan koma):" -#: ../src/Dialogs.vala:2076 +#: src/Dialogs.vala:2084 msgid "Welcome!" msgstr "Selamat Datang!" -#: ../src/Dialogs.vala:2083 +#: src/Dialogs.vala:2091 msgid "Welcome to Shotwell!" msgstr "Selamat Datang di Shotwell!" -#: ../src/Dialogs.vala:2087 +#: src/Dialogs.vala:2095 msgid "To get started, import photos in any of these ways:" msgstr "Silakan memulai dengan mengimpor foto melalui cara berikut:" -#: ../src/Dialogs.vala:2106 +#: src/Dialogs.vala:2114 #, c-format msgid "Choose File %s Import From Folder" msgstr "Pilih Berkas %s Impor Dari Folder" -#: ../src/Dialogs.vala:2107 +#: src/Dialogs.vala:2115 msgid "Drag and drop photos onto the Shotwell window" msgstr "Ambil dan letakkan foto ke jendela Shotwell" -#: ../src/Dialogs.vala:2108 +#: src/Dialogs.vala:2116 msgid "Connect a camera to your computer and import" msgstr "Sambungkan kamera ke komputer dan lakukan impor" -#: ../src/Dialogs.vala:2118 +#: src/Dialogs.vala:2126 #, c-format msgid "_Import photos from your %s folder" msgstr "_Impor foto dari folder %s" -#: ../src/Dialogs.vala:2125 +#: src/Dialogs.vala:2133 msgid "You can also import photos in any of these ways:" msgstr "Anda juga dapat mengimpor foto dengan cara berikut" -#: ../src/Dialogs.vala:2135 +#: src/Dialogs.vala:2143 msgid "_Don't show this message again" msgstr "_Jangan tampilkan pesan ini pada masa mendatang" -#: ../src/Dialogs.vala:2170 +#: src/Dialogs.vala:2178 #, c-format msgid "Import photos from your %s library" msgstr "Impor foto dari %s pustakamu" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2311 ../src/Dialogs.vala:2315 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2325 src/Dialogs.vala:2329 msgid "(Help)" msgstr "(Bantuan)" -#: ../src/Dialogs.vala:2324 +#: src/Dialogs.vala:2338 #, c-format msgid "Year%sMonth%sDay" msgstr "Tahun%sBulan%sHari" -#: ../src/Dialogs.vala:2326 +#: src/Dialogs.vala:2340 #, c-format msgid "Year%sMonth" msgstr "Tahun%sBulan" -#: ../src/Dialogs.vala:2328 +#: src/Dialogs.vala:2342 #, c-format msgid "Year%sMonth-Day" msgstr "Tahun%sBulan-Hari" -#: ../src/Dialogs.vala:2330 +#: src/Dialogs.vala:2344 msgid "Year-Month-Day" msgstr "Tahun-Bulan-Hari" -#: ../src/Dialogs.vala:2331 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2345 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Bebas" #. Invalid pattern. -#: ../src/Dialogs.vala:2568 +#: src/Dialogs.vala:2582 msgid "Invalid pattern" msgstr "Pola tak sah" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2670 +#: src/Dialogs.vala:2684 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2154,2779 +3592,2577 @@ msgstr "" "Shotwell dapat menyalin foto foto ke folder album ataupun mengimpor tanpa " "menyalin" -#: ../src/Dialogs.vala:2675 +#: src/Dialogs.vala:2689 msgid "Co_py Photos" msgstr "Sa_lin Foto" -#: ../src/Dialogs.vala:2676 +#: src/Dialogs.vala:2690 msgid "_Import in Place" msgstr "_Impor di Lokasi" -#: ../src/Dialogs.vala:2677 +#: src/Dialogs.vala:2691 msgid "Import to Library" msgstr "Impor ke Album" -#: ../src/Dialogs.vala:2687 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2701 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Hapus Dari Album" -#: ../src/Dialogs.vala:2688 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2702 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "Hapus Foto dari Album" -#: ../src/Dialogs.vala:2688 +#: src/Dialogs.vala:2702 msgid "Removing Photos From Library" msgstr "Hapus Foto Dari Album" -#: ../src/Dialogs.vala:2702 -#, c-format -msgid "" -"This will remove the photo/video from your Shotwell library. Would you also " -"like to move the file to your desktop trash?\n" -"\n" -"This action cannot be undone." -msgid_plural "" -"This will remove %d photos/videos from your Shotwell library. Would you " -"also like to move the files to your desktop trash?\n" -"\n" -"This action cannot be undone." -msgstr[0] "" -"Anda dapat menghapus %d foto/video ini dari Album saja atau memindahkannya " -"ke tempat pembuangan. Mana yang Anda pilih?\n" -"\n" -"(proses ini tidak dapat dikembalikan ke semula)" - -#: ../src/Dialogs.vala:2706 -#, c-format -msgid "" -"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." -msgid_plural "" -"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." -msgstr[0] "" -"Anda dapat menghapus %d video ini dari Album saja atau memindahkannya ke " -"tempat pembuangan. Mana yang Anda pilih?\n" -"\n" -"(proses ini tidak dapat dikembalikan ke semula)" - -#: ../src/Dialogs.vala:2710 -#, c-format -msgid "" -"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." -msgid_plural "" -"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." -msgstr[0] "" -"Anda dapat menghapus %d foto ini dari Album saja atau memindahkannya ke " -"tempat pembuangan. Mana yang Anda pilih?\n" -"\n" -"(proses ini tidak dapat dikembalikan ke semula)" - -#: ../src/Dialogs.vala:2742 -#, c-format -msgid "" -"The photo or video cannot be moved to your desktop trash. Delete this file?" -msgid_plural "" -"%d photos/videos cannot be moved to your desktop trash. Delete these files?" -msgstr[0] "" -"Foto/video %d tidak dapat dipindahkan ke tempat pembuangan. Hapus berkas ini?" - -#. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2759 -#, c-format -msgid "The photo or video cannot be deleted." -msgid_plural "%d photos/videos cannot be deleted." -msgstr[0] "Foto/video %d tidak dapat dihapus" - -#: ../src/Dimensions.vala:23 -msgid "Width" -msgstr "Lebar" - -#: ../src/Dimensions.vala:26 -msgid "Height" -msgstr "Tinggi" - -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "Gagal memantau %s: Bukan direktori (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Rangkaian %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "Gagal membuat berkas temporer untuk %s: %s" - -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "Mengekspor" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "Berkas %s sudah ada. Timpa?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_Lewati" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "_Timpa" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "Timpa Semu_a" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Ekspor" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "Gagal memroses pembaruan pemantauan: %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Atur ukuran gambar mini" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2593 -#: ../src/Resources.vala:188 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "Zum _Masuk" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Tingkatkan perbesaran gambar mini" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2599 -#: ../src/Resources.vala:189 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "Zum _Keluar" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Surutkan perbesaran gambar mini" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "Urutkan _Foto" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "_Mainkan Video" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "Buka video-video terpilih di pemutar video" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2642 -msgid "_Developer" -msgstr "_Developer" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:711 ../src/camera/ImportPage.vala:727 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Kamera" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:874 -msgid "_Titles" -msgstr "_Judul" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:875 -msgid "Display the title of each photo" -msgstr "Tampilkan judul setiap foto" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "_Komentar" - -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Tampilkan komentar setiap foto" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:360 -msgid "Ta_gs" -msgstr "Tan_da" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Tampilkan tanda setiap foto" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Berdasarkan _Judul" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Urutkan foto berdasarkan judul" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "Ber_dasarkan Tanggal Pengambilan" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Urutkan foto berdasarkan tanggal pengambilan" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Berdasarkan _Rating" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Urutkan foto berdasarkan rating" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Berdasarkan _Nama Berkas" - -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Urutkan foto menurut nama berkasnya" - -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:406 -msgid "_Ascending" -msgstr "N_aik" - -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:407 -msgid "Sort photos in an ascending order" -msgstr "Urutkan foto dengan urut naik" +#: src/Dialogs.vala:2716 +#, c-format +msgid "" +"This will remove the photo/video from your Shotwell library. Would you also " +"like to move the file to your desktop trash?\n" +"\n" +"This action cannot be undone." +msgid_plural "" +"This will remove %d photos/videos from your Shotwell library. Would you " +"also like to move the files to your desktop trash?\n" +"\n" +"This action cannot be undone." +msgstr[0] "" +"Anda dapat menghapus %d foto/video ini dari Album saja atau memindahkannya " +"ke tempat pembuangan. Mana yang Anda pilih?\n" +"\n" +"(proses ini tidak dapat dikembalikan ke semula)" -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:413 -msgid "D_escending" -msgstr "T_urun" +#: src/Dialogs.vala:2720 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +"Anda dapat menghapus %d video ini dari Album saja atau memindahkannya ke " +"tempat pembuangan. Mana yang Anda pilih?\n" +"\n" +"(proses ini tidak dapat dikembalikan ke semula)" -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:414 -msgid "Sort photos in a descending order" -msgstr "Urutkan foto dengan urut turun" +#: src/Dialogs.vala:2724 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +"Anda dapat menghapus %d foto ini dari Album saja atau memindahkannya ke " +"tempat pembuangan. Mana yang Anda pilih?\n" +"\n" +"(proses ini tidak dapat dikembalikan ke semula)" -#: ../src/MediaPage.vala:723 +#: src/Dialogs.vala:2756 #, c-format msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"Shotwell gagal memutar video terpilih:\n" -"%s" +"The photo or video cannot be moved to your desktop trash. Delete this file?" +msgid_plural "" +"%d photos/videos cannot be moved to your desktop trash. Delete these files?" +msgstr[0] "" +"Foto/video %d tidak dapat dipindahkan ke tempat pembuangan. Hapus berkas ini?" -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "Tidak ada foto/video" +#. Alert the user that the files were not removed. +#: src/Dialogs.vala:2773 +#, c-format +msgid "The photo or video cannot be deleted." +msgid_plural "%d photos/videos cannot be deleted." +msgstr[0] "Foto/video %d tidak dapat dihapus" -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "Foto/video tidak ditemukan" +#: src/Dimensions.vala:23 +msgid "Width" +msgstr "Lebar" -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "Foto tidak dapat diekspor ke direktori tersebut." +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "Tinggi" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "berubah" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Berkas" -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Foto sebelumnya" +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "_Simpan" -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Foto berikutnya" +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Simpan foto" -#: ../src/PhotoPage.vala:1847 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Sumber foto asli hilang: %s" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "Simpan seb_agai..." -#: ../src/PhotoPage.vala:2414 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:344 -msgid "_View" -msgstr "_Tampilkan" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Simpan foto dengan nama lain" + +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Cetak foto ke pencetak yang terhubung ke komputer ini" + +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "S_unting" -#: ../src/PhotoPage.vala:2418 ../src/direct/DirectPhotoPage.vala:81 +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_Foto" + +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 msgid "T_ools" msgstr "P_eralatan" -#: ../src/PhotoPage.vala:2423 ../src/direct/DirectPhotoPage.vala:86 +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "Foto Se_belumnya" -#: ../src/PhotoPage.vala:2424 ../src/direct/DirectPhotoPage.vala:87 +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "Foto Sebelumnya" -#: ../src/PhotoPage.vala:2429 ../src/direct/DirectPhotoPage.vala:92 +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "Foto B_erikutnya" -#: ../src/PhotoPage.vala:2430 ../src/direct/DirectPhotoPage.vala:93 +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "Foto Berikutnya" -#: ../src/PhotoPage.vala:2594 ../src/direct/DirectPhotoPage.vala:175 +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Tampilkan" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "Ba_ntuan" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "Zum _Masuk" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "Tingkatkan perbesaran foto" -#: ../src/PhotoPage.vala:2600 ../src/direct/DirectPhotoPage.vala:181 +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "Zum _Keluar" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "Surutkan perbesaran foto" -#: ../src/PhotoPage.vala:2605 ../src/direct/DirectPhotoPage.vala:186 +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "_Pas ke laman" -#: ../src/PhotoPage.vala:2606 ../src/direct/DirectPhotoPage.vala:187 +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "Zum foto untuk pas ke layar" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:193 +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "Zum _100%" -#: ../src/PhotoPage.vala:2614 ../src/direct/DirectPhotoPage.vala:195 +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Zum foto ke perbesaran 100%" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:201 +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "Zum _200%" -#: ../src/PhotoPage.vala:2622 ../src/direct/DirectPhotoPage.vala:203 +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Zum foto ke perbesaran 200%" -#: ../src/PhotoPage.vala:3231 -#, c-format -msgid "Unable to export %s: %s" -msgstr "Proses ekspor %s gagal: %s" - -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Sehalaman penuh" - -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 gambar per halaman" - -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 gambar per halaman" - -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 gambar per halaman" - -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 gambar per halaman" - -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 gambar per halaman" - -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 gambar per halaman" - -#: ../src/Printing.vala:348 -msgid "in." -msgstr "inci" - -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" - -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 -msgid "Wallet (2 x 3 in.)" -msgstr "Dompet (2 x 3 inci)" - -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 -msgid "Notecard (3 x 5 in.)" -msgstr "Kertas catatan (3 x 5 inci)" - -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 -msgid "4 x 6 in." -msgstr "4 x 6 inci." - -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 -msgid "5 x 7 in." -msgstr "5 x 7 inci" - -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 -msgid "8 x 10 in." -msgstr "8 x 10 inci" - -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 -msgid "11 x 14 in." -msgstr "11 x 14 inci" - -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 -msgid "16 x 20 in." -msgstr "16 x 20 inci" - -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 -msgid "Metric Wallet (9 x 13 cm)" -msgstr "Dompet (9 x 13 cm)" - -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 -msgid "Postcard (10 x 15 cm)" -msgstr "Kartupos (10 x 15 cm)" - -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 -msgid "13 x 18 cm" -msgstr "13 x 18 cm" - -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 -msgid "18 x 24 cm" -msgstr "18 x 24 cm" - -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 -msgid "20 x 30 cm" -msgstr "20 x 30 cm" - -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 -msgid "24 x 40 cm" -msgstr "24 x 40 cm" - -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 -msgid "30 x 40 cm" -msgstr "30 x 40 cm" - -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Penataan Gambar" - -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "Mencetak..." - -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 -#, c-format -msgid "" -"Unable to print photo:\n" -"\n" -"%s" -msgstr "" -"Foto tidak dapat dicetak:\n" -"\n" -"%s" - -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Hari ini" - -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Kemarin" - -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:312 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" - -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Jumlah Foto:" - -#: ../src/Properties.vala:346 +#: src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d Rangkaian" +msgid "%s does not exist." +msgstr "%s tidak ada." -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 +#: src/direct/DirectPhotoPage.vala:229 #, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "%d Foto" +msgid "%s is not a file." +msgstr "%s bukan berkas." -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 +#: src/direct/DirectPhotoPage.vala:231 #, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d Video" - -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Tanggal:" - -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Jam:" - -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "Sejak:" - -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "Hingga:" +msgid "" +"%s does not support the file format of\n" +"%s." +msgstr "" +"%s tidak dapat mendukung berkas jenis\n" +"%s." -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1890 -msgid "Size:" -msgstr "Ukuran:" +#: src/direct/DirectPhotoPage.vala:248 +#, fuzzy, c-format +#| msgid "" +#| "Unable to print photo:\n" +#| "\n" +#| "%s" +msgid "Unable open photo %s. Sorry." +msgstr "" +"Foto tidak dapat dicetak:\n" +"\n" +"%s" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Durasi:" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "Buat _Salinan" -#: ../src/Properties.vala:404 +#: src/direct/DirectPhotoPage.vala:435 #, c-format -msgid "%.1f seconds" -msgstr "%.1f detik" +msgid "Lose changes to %s?" +msgstr "Jangan simpan perubahan pada %s?" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Pengembang:" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Tutup _tanpa menyimpan" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2258 -msgid "Exposure:" -msgstr "Bukaan:" +#: src/direct/DirectPhotoPage.vala:469 +#, c-format +msgid "Error while saving to %s: %s" +msgstr "Ada kesalahan saat menyimpan ke %s: %s" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Letak di sistem:" +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Simpan Sebagai" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Ukuran berkas:" +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 +#, c-format +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "Gagal memantau %s: Bukan direktori (%s)" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Pengembangan Saat Ini:" +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Kembalikan ukuran foto saat ini" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Ukuran asli:" +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Atur pemotongan foto ini" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Merek kamera:" +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "Atur kotak pemotongan antara orientasi mendatar dan berdiri" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Model kamera:" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Tanpa batas" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Lampu kilat:" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Kotak" -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Panjang fokus:" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Seukuran Layar" -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Tanggal bukaan:" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Waktu bukaan:" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "Video SD (4:3)" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Bias bukaan:" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "Video HD (16:9)" -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "Garis lintang GPS:" +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "Dompet (2 x 3 inci)" -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "Garis bujur GPS:" +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "Kertas catatan (3 x 5 inci)" -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Pengambil gambar:" +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "4 x 6 inci." -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Hak cipta:" +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "5 x 7 inci" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Perangkat Lunak:" +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "8 x 10 inci" -#: ../src/Properties.vala:639 -msgid "Extended Information" -msgstr "Informasi Lanjutan" +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Letter (8.5 x 11 in.)" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Album Foto" +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "11 x 14 inci" -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Album Foto" +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloid (11 x 17 in.)" -#: ../src/Resources.vala:144 -msgid "Rotate _Right" -msgstr "Puta_r Kanan" +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "16 x 20 inci" -#: ../src/Resources.vala:145 ../src/Resources.vala:150 -msgid "Rotate" -msgstr "Putar" +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "Dompet (9 x 13 cm)" -#: ../src/Resources.vala:146 -msgid "Rotate Right" -msgstr "Putar Kanan" +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "Kartupos (10 x 15 cm)" -#: ../src/Resources.vala:147 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "Putar foto ke kanan (tekan Ctrl untuk putar ke kiri)" +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "13 x 18 cm" -#: ../src/Resources.vala:149 -msgid "Rotate _Left" -msgstr "Putar _Kiri" +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "18 x 24 cm" -#: ../src/Resources.vala:151 -msgid "Rotate Left" -msgstr "Putar Kiri" +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 x 297 mm)" -#: ../src/Resources.vala:152 -msgid "Rotate the photos left" -msgstr "Putar foto ke kiri" +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "20 x 30 cm" -#: ../src/Resources.vala:154 -msgid "Flip Hori_zontally" -msgstr "Balik hori_zontal" +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "24 x 40 cm" -#: ../src/Resources.vala:155 -msgid "Flip Horizontally" -msgstr "Balik Horizontal" +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "30 x 40 cm" -#: ../src/Resources.vala:157 -msgid "Flip Verti_cally" -msgstr "Balik Verti_kal" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297 x 420 mm)" -#: ../src/Resources.vala:158 -msgid "Flip Vertically" -msgstr "Balik Vertikal" +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "Ukuran:" -#: ../src/Resources.vala:160 -msgid "_About" -msgstr "Tent_ang" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Tutup penghilang mata merah" -#: ../src/Resources.vala:161 -msgid "_Apply" -msgstr "Ter_apkan" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Hilangkan efek mata merah pada area yang diinginkan" -#: ../src/Resources.vala:164 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:340 -msgid "_Edit" -msgstr "S_unting" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_Reset" -#: ../src/Resources.vala:165 -msgid "_Forward" -msgstr "Ma_ju" +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "Bukaan:" -#: ../src/Resources.vala:166 -msgid "Fulls_creen" -msgstr "Layar _Penuh" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Saturasi:" -#: ../src/Resources.vala:167 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:364 -msgid "_Help" -msgstr "Ba_ntuan" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Tint:" -#: ../src/Resources.vala:168 -msgid "Leave _Fullscreen" -msgstr "Layar _Biasa" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Suhu:" -#: ../src/Resources.vala:169 ../src/Resources.vala:371 -msgid "_New" -msgstr "_Baru" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Kegelapan:" -#: ../src/Resources.vala:170 -msgid "_Next" -msgstr "Sela_njutnya" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Highlight:" -#: ../src/Resources.vala:171 -msgid "_OK" -msgstr "_OK" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Reset Warna" -#: ../src/Resources.vala:172 -msgid "_Play" -msgstr "_Putar" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Kembalikan warna ke nilai aslinya" -#: ../src/Resources.vala:173 ../src/Resources.vala:325 -msgid "_Preferences" -msgstr "_Pengaturan" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Suhu" -#: ../src/Resources.vala:174 -msgid "_Previous" -msgstr "Se_belumnya" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Tint" -#: ../src/Resources.vala:175 -msgid "_Print" -msgstr "_Cetak" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Saturasi" -#: ../src/Resources.vala:176 -msgid "_Quit" -msgstr "_Keluar" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Bukaan" -#: ../src/Resources.vala:177 -msgid "_Refresh" -msgstr "Sega_rkan" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Kegelapan" -#: ../src/Resources.vala:179 -msgid "_Revert" -msgstr "Puli_hkan" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Highlight" -#: ../src/Resources.vala:180 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save" -msgstr "_Simpan" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Naikkan Kontras" -#: ../src/Resources.vala:181 -msgid "Save _As" -msgstr "Simpan Seb_agai" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Sudut:" -#: ../src/Resources.vala:182 -msgid "Sort _Ascending" -msgstr "Urutkan N_aik" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "_Luruskan" -#: ../src/Resources.vala:183 -msgid "Sort _Descending" -msgstr "Urut _Turun" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "Rangkaian" -#: ../src/Resources.vala:184 -msgid "_Stop" -msgstr "_Berhenti" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d Foto/Video" -#: ../src/Resources.vala:185 -msgid "_Undelete" -msgstr "Tak Jadi Hap_us" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d Video" -#: ../src/Resources.vala:186 -msgid "_Normal Size" -msgstr "Ukuran _Normal" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "%d Foto" + +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "Tidak Ada Rangkaian" -#: ../src/Resources.vala:187 -msgid "Best _Fit" -msgstr "_Pas Terbaik" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "_Komentar" -#: ../src/Resources.vala:191 -msgid "_Enhance" -msgstr "Taja_mkan" +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Tampilkan komentar setiap foto" -#: ../src/Resources.vala:192 -msgid "Enhance" -msgstr "Tajamkan" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "Tidak ada rangkaian" -#: ../src/Resources.vala:193 -msgid "Automatically improve the photo's appearance" -msgstr "Membuat foto lebih tajam" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "Tidak ada rangkaian ditemukan" -#: ../src/Resources.vala:195 -msgid "_Copy Color Adjustments" -msgstr "Salin Penyetelan _Warna" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Semua Kejadian" -#: ../src/Resources.vala:196 -msgid "Copy Color Adjustments" -msgstr "Salin Penyetelan Warna" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Tidak bertanggal" -#: ../src/Resources.vala:197 -msgid "Copy the color adjustments applied to the photo" -msgstr "Salin penyetelan warna yang diterapkan ke foto" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:199 -msgid "_Paste Color Adjustments" -msgstr "Tem_pel Penyetelan Warna" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Resources.vala:200 -msgid "Paste Color Adjustments" -msgstr "Tempel Penyetelan Warna" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Rangkaian %s" -#: ../src/Resources.vala:201 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Terapkan penyetelan warna yang disalin ke foto yang dipilih" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "Gagal membuat berkas temporer untuk %s: %s" -#: ../src/Resources.vala:203 -msgid "_Crop" -msgstr "_Potong" +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "Mengekspor" -#: ../src/Resources.vala:204 -msgid "Crop" -msgstr "Potong" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "Berkas %s sudah ada. Timpa?" -#: ../src/Resources.vala:205 -msgid "Crop the photo's size" -msgstr "Potong ukuran foto" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "_Lewati" -#: ../src/Resources.vala:207 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "_Luruskan" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "_Timpa" -#: ../src/Resources.vala:208 -msgid "Straighten" -msgstr "Luruskan" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "Timpa Semu_a" -#: ../src/Resources.vala:209 -msgid "Straighten the photo" -msgstr "Luruskan foto" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "Ekspor" -#: ../src/Resources.vala:211 -msgid "_Red-eye" -msgstr "Mata-me_rah" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Folder" -#: ../src/Resources.vala:212 -msgid "Red-eye" -msgstr "Mata-merah" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "Album" -#: ../src/Resources.vala:213 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Hilangkan efek mata merah pada foto" +#: src/library/Branch.vala:97 src/SearchFilter.vala:593 +#: src/SearchFilter.vala:594 +msgid "Photos" +msgstr "Foto" -#: ../src/Resources.vala:215 -msgid "_Adjust" -msgstr "_Atur" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:587 +#: src/SearchFilter.vala:588 src/SearchFilter.vala:987 +msgid "Flagged" +msgstr "Ditandai" -#: ../src/Resources.vala:216 -msgid "Adjust" -msgstr "Atur" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "Mengimpor..." -#: ../src/Resources.vala:217 -msgid "Adjust the photo's color and tone" -msgstr "Atur warna dan tonal foto" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "_Hentikan Impor" -#: ../src/Resources.vala:219 -msgid "Re_vert to Original" -msgstr "K_embalikan ke Asal" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Hentikan proses impor foto" -#: ../src/Resources.vala:220 -msgid "Revert to Original" -msgstr "Kembalikan ke Asal" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "Menyiapkan impor..." -#: ../src/Resources.vala:222 -msgid "Revert External E_dits" -msgstr "Kembalikan Suntingan E_ksternal" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "%s diimpor" -#: ../src/Resources.vala:223 -msgid "Revert to the master photo" -msgstr "Abaikan perubahan dan kembalikan ke foto asal" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Impor terakhir" -#: ../src/Resources.vala:225 -msgid "Set as _Desktop Background" -msgstr "Atur sebagai Latar _Destop" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "_Impor Dari Folder ..." -#: ../src/Resources.vala:226 -msgid "Set selected image to be the new desktop background" -msgstr "Jadikan foto ini menjadi gambar latar desktop" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Impor foto dari cakram ke album" -#: ../src/Resources.vala:227 -msgid "Set as _Desktop Slideshow..." -msgstr "Atur sebagai Salindia _Destop" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Impor Dari _Aplikasi..." -#: ../src/Resources.vala:229 -msgid "_Undo" -msgstr "_Batalkan: " +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "_Rangkaian Dengan Urutan" -#: ../src/Resources.vala:230 -msgid "Undo" -msgstr "Batalkan" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "Hapus Pe_rmanen Foto Buangan" -#: ../src/Resources.vala:232 -msgid "_Redo" -msgstr "_Jadikan: " +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Hapus semua foto yang pernah dibuang" -#: ../src/Resources.vala:233 -msgid "Redo" -msgstr "Jadikan" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "Lihat Eve_nt Foto" -#: ../src/Resources.vala:235 -msgid "Re_name Event..." -msgstr "Ga_nti Nama Rangkaian..." +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Cari" -#: ../src/Resources.vala:238 -msgid "Make _Key Photo for Event" -msgstr "Jadi_kan Foto Utama Untuk Rangkaian Ini" +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Cari foto dan video menurut kriteria pencarian" -#: ../src/Resources.vala:239 -msgid "Make Key Photo for Event" -msgstr "Jadikan Foto Utama Untuk Rangkaian Ini" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "Pencarian Tersimpan B_aru" -#: ../src/Resources.vala:241 -msgid "_New Event" -msgstr "Rangkaia_n Baru" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_Foto-foto" -#: ../src/Resources.vala:242 -msgid "New Event" -msgstr "Rangkaian Baru" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "_Rangkaian" -#: ../src/Resources.vala:244 -msgid "Move Photos" -msgstr "Pindahkan Foto" +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "Tan_da" -#: ../src/Resources.vala:245 -msgid "Move photos to an event" -msgstr "Pindahkan foto ke sebuah rangkaian" +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "Informasi _Dasar" -#: ../src/Resources.vala:247 -msgid "_Merge Events" -msgstr "_Gabungkan Rangkaian" +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Tampilkan informasi dasar foto terpilih" -#: ../src/Resources.vala:248 -msgid "Merge" -msgstr "Gabungkan" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "Informasi _Lanjut" -#: ../src/Resources.vala:249 -msgid "Combine events into a single event" -msgstr "Gabungkan acara-acara ke satu acara" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Tampilkan informasi lanjutan foto terpilih" -#: ../src/Resources.vala:251 -msgid "_Set Rating" -msgstr "_Atur Rating" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "_Bilah Pencarian" -#: ../src/Resources.vala:252 -msgid "Set Rating" -msgstr "Atur Rating" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Tampilkan bilah pencarian" -#: ../src/Resources.vala:253 -msgid "Change the rating of your photo" -msgstr "Ubah rating foto" +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "Bilah S_isi" -#: ../src/Resources.vala:255 -msgid "_Increase" -msgstr "_Naik" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Tampilkan bilah sisi" -#: ../src/Resources.vala:256 -msgid "Increase Rating" -msgstr "Naikkan Rating" +#: src/library/LibraryWindow.vala:405 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "N_aik" -#: ../src/Resources.vala:258 -msgid "_Decrease" -msgstr "_Turun" +#: src/library/LibraryWindow.vala:406 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Urutkan foto dengan urut naik" -#: ../src/Resources.vala:259 -msgid "Decrease Rating" -msgstr "Turunkan Rating" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "T_urun" -#: ../src/Resources.vala:261 -msgid "_Unrated" -msgstr "_Tanpa Rating" +#: src/library/LibraryWindow.vala:413 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Urutkan foto dengan urut turun" -#: ../src/Resources.vala:262 -msgid "Unrated" -msgstr "Tanpa Rating" +#: src/library/LibraryWindow.vala:651 +msgid "Import From Folder" +msgstr "Impor Dari Folder" -#: ../src/Resources.vala:263 -msgid "Rate Unrated" -msgstr "Belum Dirating" +#: src/library/LibraryWindow.vala:720 +msgid "Empty Trash" +msgstr "Hapus Permanen Foto Buangan" -#: ../src/Resources.vala:264 -msgid "Setting as unrated" -msgstr "Atur sebagai Tanpa Rating" +#: src/library/LibraryWindow.vala:720 +msgid "Emptying Trash..." +msgstr "Foto Buangan Sedang Dihapus Permanen..." -#: ../src/Resources.vala:265 -msgid "Remove any ratings" -msgstr "Hapus rating" +#: src/library/LibraryWindow.vala:879 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"Shotwell dikonfigurasi untuk mengimpor foto ke direktori rumah Anda.\n" +"Kami sarankan untuk mengubah ini dalam Sunting " +"Preferensi %s.\n" +"Apakah Anda ingin melanjutkan mengimpor foto?" -#: ../src/Resources.vala:267 -msgid "_Rejected" -msgstr "_Ditolak" +#: src/library/LibraryWindow.vala:882 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "Lokasi Album:" -#: ../src/Resources.vala:268 -msgid "Rejected" -msgstr "Ditolak" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:895 +msgid "Photos cannot be imported from this directory." +msgstr "Foto tidak dapat diimpor dari direktori tersebut." -#: ../src/Resources.vala:269 -msgid "Rate Rejected" -msgstr "Rating Ditolak" +#: src/library/LibraryWindow.vala:1181 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:270 -msgid "Setting as rejected" -msgstr "Atur ke ditolak" +#: src/library/LibraryWindow.vala:1225 src/library/LibraryWindow.vala:1236 +msgid "Updating library..." +msgstr "Memperbaharui album..." -#: ../src/Resources.vala:271 -msgid "Set rating to rejected" -msgstr "Atur rating ke ditolak" +#: src/library/LibraryWindow.vala:1242 +msgid "Preparing to auto-import photos..." +msgstr "Bersiap impor foto otomatis..." -#: ../src/Resources.vala:273 -msgid "Rejected _Only" -msgstr "_Hanya Ditolak" +#: src/library/LibraryWindow.vala:1247 +msgid "Auto-importing photos..." +msgstr "Mengimpor foto otomatis" -#: ../src/Resources.vala:274 -msgid "Rejected Only" -msgstr "Hanya Ditolak" +#: src/library/LibraryWindow.vala:1255 +msgid "Writing metadata to files..." +msgstr "Menulis metadata ke berkas..." -#: ../src/Resources.vala:275 -msgid "Show only rejected photos" -msgstr "Tampilkan hanya foto yang ditolak" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Berkas Hilang" -#: ../src/Resources.vala:277 -msgid "All + _Rejected" -msgstr "Semua + _Ditolak" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "Menghapus..." -#: ../src/Resources.vala:278 ../src/Resources.vala:279 -msgid "Show all photos, including rejected" -msgstr "Tampilkan semua foto, termasuk yang ditolak" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Tempat Pembuangan" -#: ../src/Resources.vala:281 -msgid "_All Photos" -msgstr "Semu_a foto" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "Tempat Pembuangan kosong" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:283 ../src/Resources.vala:285 -msgid "Show all photos" -msgstr "Tunjukkan semua foto" +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Hapus" -#: ../src/Resources.vala:287 -msgid "_Ratings" -msgstr "_Rating" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "Menghapus foto-foto" -#: ../src/Resources.vala:288 -msgid "Display each photo's rating" -msgstr "Tampilkan rating tiap foto" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"Album foto tidak kompatibel dengan versi Shotwell sekarang. Tampaknya album " +"dibuat dengan Shotwell %s (schema %d). Versi sekarang adalah %s (schema %d). " +"Harap gunakan Shotwell versi terbaru" -#: ../src/Resources.vala:290 -msgid "_Filter Photos" -msgstr "_Saring Foto" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"Shotwell gagal meningkatkan album foto dari versi %s (schema %d) ke %s " +"(schema %d). Untuk informasi lebih lanjut, silakan periksa Shotwell Wiki di " +"%s" -#: ../src/Resources.vala:291 -msgid "Filter Photos" -msgstr "Saring Foto" +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"Album foto tidak kompatibel dengan versi Shotwell sekarang. Tampaknya album " +"dibuat dengan Shotwell %s (schema %d). Versi sekarang adalah %s (schema %d). " +"Harap bersihkan album dengan menghapus %s dan mengimpor ulang foto" -#: ../src/Resources.vala:292 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Batasi jumlah foto yang tampil berdasarkan penyaringan" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "Kesalahan tak dikenal saat mencoba verifikasi database Shotwell: %s" -#: ../src/Resources.vala:294 -msgid "_Duplicate" -msgstr "_Gandakan" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "Menjalankan Shotwell" -#: ../src/Resources.vala:295 -msgid "Duplicate" -msgstr "Gandakan" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Path ke data privat Shotwell" -#: ../src/Resources.vala:296 -msgid "Make a duplicate of the photo" -msgstr "Gandakan foto-foto ini" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "DIREKTORI" -#: ../src/Resources.vala:298 -msgid "_Export..." -msgstr "_Ekspor..." +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "Jangan pantau perubahan direktori pustaka saat runtime" -#: ../src/Resources.vala:300 -msgid "_Print..." -msgstr "_Cetak" +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "Jangan tampilkan meter kemajuan awal mula" -#: ../src/Resources.vala:302 -msgid "Pu_blish..." -msgstr "_Kirim..." +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "Menampilkan versi aplikasi" -#: ../src/Resources.vala:304 -msgid "Publish to various websites" -msgstr "Kirim foto ini ke beragam situs" +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[FILE]" -#: ../src/Resources.vala:306 -msgid "Edit _Title..." -msgstr "Sun_ting Judul..." +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Jalankan dengan perintah '%s --help' untuk melihat daftar opsi yang bisa " +"digunakan.\n" -#: ../src/Resources.vala:310 -msgid "Edit _Comment..." -msgstr "Sunting _Komentar..." +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "Gagal memroses pembaruan pemantauan: %s" -#. Button label -#: ../src/Resources.vala:312 -msgid "Edit Comment" -msgstr "Sunting Komentar" +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Atur ukuran gambar mini" -#: ../src/Resources.vala:314 -msgid "Edit Event _Comment..." -msgstr "Sunting _Komentar Peristiwa" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Tingkatkan perbesaran gambar mini" -#: ../src/Resources.vala:317 -msgid "_Adjust Date and Time..." -msgstr "_Atur Jam dan Tanggal..." +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Surutkan perbesaran gambar mini" -#: ../src/Resources.vala:318 -msgid "Adjust Date and Time" -msgstr "Atur Jam dan Tanggal" +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "Urutkan _Foto" -#: ../src/Resources.vala:320 -msgid "Add _Tags..." -msgstr "_Beri _Tanda..." +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "_Mainkan Video" -#: ../src/Resources.vala:321 -msgid "_Add Tags..." -msgstr "T_ambah Tag..." +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "Buka video-video terpilih di pemutar video" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:323 ../src/Resources.vala:356 -msgid "Add Tags" -msgstr "Beri Tanda" +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Developer" -#: ../src/Resources.vala:327 -msgid "Open With E_xternal Editor" -msgstr "Buka Oleh Penyunting E_ksternal" +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Tampilkan komentar setiap foto" -#: ../src/Resources.vala:329 -msgid "Open With RA_W Editor" -msgstr "Buka Dengan Penyunting RA_W" +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Tampilkan tanda setiap foto" -#: ../src/Resources.vala:331 -msgid "Send _To..." -msgstr "Kirim _Ke" +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Berdasarkan _Judul" -#: ../src/Resources.vala:332 -msgid "Send T_o..." -msgstr "Kirim _Ke..." +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Urutkan foto berdasarkan judul" -#: ../src/Resources.vala:334 -msgid "_Find..." -msgstr "_Cari" +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "Ber_dasarkan Tanggal Pengambilan" -#: ../src/Resources.vala:335 -msgid "Find" -msgstr "Cari" +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Urutkan foto berdasarkan tanggal pengambilan" -#: ../src/Resources.vala:336 -msgid "Find an image by typing text that appears in its name or tags" -msgstr "Cari foto dengan mengetikkan teks yang muncul di nama atau tanda" +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Berdasarkan _Rating" -#: ../src/Resources.vala:338 -msgid "_Flag" -msgstr "_Tanda" +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Urutkan foto berdasarkan rating" -#: ../src/Resources.vala:340 -msgid "Un_flag" -msgstr "Lepas _tanda" +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Berdasarkan _Nama Berkas" -#: ../src/Resources.vala:343 -#, c-format -msgid "Unable to launch editor: %s" -msgstr "Program penyunting tidak dapat dijalankan: %s" +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Urutkan foto menurut nama berkasnya" -#: ../src/Resources.vala:348 +#: src/MediaPage.vala:723 #, c-format -msgid "Add Tag \"%s\"" -msgstr "Beri Tanda \"%s\"" +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" +"Shotwell gagal memutar video terpilih:\n" +"%s" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:351 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Beri Tanda \"%s\" dan \"%s\"" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "Tidak ada foto/video" -#: ../src/Resources.vala:361 -#, c-format -msgid "_Delete Tag \"%s\"" -msgstr "_Hapus Tanda \"%s\"" +#: src/Page.vala:1270 +msgid "No photos/videos found" +msgstr "Foto/video tidak ditemukan" -#: ../src/Resources.vala:365 -#, c-format -msgid "Delete Tag \"%s\"" -msgstr "Hapus Tanda \"%s\"" +#: src/Page.vala:2568 +msgid "Photos cannot be exported to this directory." +msgstr "Foto tidak dapat diekspor ke direktori tersebut." -#: ../src/Resources.vala:368 -msgid "Delete Tag" -msgstr "Hapus Tanda" +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Foto sebelumnya" + +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Foto berikutnya" -#: ../src/Resources.vala:374 +#: src/PhotoPage.vala:1845 #, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Ganti _Nama Tanda \"%s\"..." +msgid "Photo source file missing: %s" +msgstr "Sumber foto asli hilang: %s" -#: ../src/Resources.vala:378 +#: src/PhotoPage.vala:3229 #, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Ganti Nama Tanda \"%s\" menjadi \"%s\"" +msgid "Unable to export %s: %s" +msgstr "Proses ekspor %s gagal: %s" -#: ../src/Resources.vala:381 -msgid "_Rename..." -msgstr "_Ganti nama" +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:383 -msgid "Modif_y Tags..." -msgstr "_Ubah Tanda..." +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:384 -msgid "Modify Tags" -msgstr "Ubah Tanda" +#: src/photos/JfifSupport.vala:185 +#, c-format +msgid "Low (%d%%)" +msgstr "Rendah (%d%%)" -#: ../src/Resources.vala:387 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Tandai Foto Sebagai \"%s\"" +msgid "Medium (%d%%)" +msgstr "Sedang (%d%%)" -#: ../src/Resources.vala:387 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Tandai Foto Sebagai \"%s\"" +msgid "High (%d%%)" +msgstr "Tinggi (%d%%)" -#: ../src/Resources.vala:391 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Tandai foto terpilih sebagai \"%s\"" +msgid "Maximum (%d%%)" +msgstr "Maksimum (%d%%)" + +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" + +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:392 -#, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Tandai foto terpilih sebagai \"%s\"" +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Hapus Tanda \"%s\" Dari _Foto" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "berubah" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Hapus Tanda \"%s\" Dari _Foto" +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Sehalaman penuh" -#: ../src/Resources.vala:401 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Hapus Tanda \"%s\" Dari Foto" +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 gambar per halaman" -#: ../src/Resources.vala:402 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Hapus Tanda \"%s\" Dari _Foto" +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 gambar per halaman" -#: ../src/Resources.vala:406 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "Tanda tidak dapat diganti menjadi \"%s\" karena sudah ada." +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 gambar per halaman" -#: ../src/Resources.vala:410 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "Gagal mengubah nama pencarian ke \"%s\" karena sudah ada " +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 gambar per halaman" -#: ../src/Resources.vala:413 -msgid "Saved Search" -msgstr "Pencarian Tersimpan" +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 gambar per halaman" -#: ../src/Resources.vala:415 -msgid "Delete Search" -msgstr "Hapus Pencarian" +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 gambar per halaman" -#: ../src/Resources.vala:418 -msgid "_Edit..." -msgstr "_Sunting..." +#: src/Printing.vala:348 +msgid "in." +msgstr "inci" -#: ../src/Resources.vala:419 -msgid "Re_name..." -msgstr "Ganti _nama..." +#: src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:422 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Ubah Nama Pencarian \"%s\" ke \"%s\"" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "Penataan Gambar" -#: ../src/Resources.vala:426 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "Hapus Pencarian \"%s\"" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "Mencetak..." -#: ../src/Resources.vala:584 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Rate %s" -msgstr "Nilai %s" +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"Foto tidak dapat dicetak:\n" +"\n" +"%s" -#: ../src/Resources.vala:585 -#, c-format -msgid "Set rating to %s" -msgstr "Atur nilai rating ke %s" +#: src/Properties.vala:84 +msgid "Today" +msgstr "Hari ini" -#: ../src/Resources.vala:586 -#, c-format -msgid "Setting rating to %s" -msgstr "Mengatur rating ke %s" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "Kemarin" -#: ../src/Resources.vala:588 -#, c-format -msgid "Display %s" -msgstr "Tampilkan %s" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "Jumlah Foto:" -#: ../src/Resources.vala:589 +#: src/Properties.vala:346 #, c-format -msgid "Only show photos with a rating of %s" -msgstr "Hanya tampilkan foto dengan rating %s" +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d Rangkaian" -#: ../src/Resources.vala:590 -#, c-format -msgid "%s or Better" -msgstr "%s atau lebih baik" +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "Tanggal:" -#: ../src/Resources.vala:591 -#, c-format -msgid "Display %s or Better" -msgstr "Tampilkan %s atau lebih baik" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "Jam:" -#: ../src/Resources.vala:592 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Hanya tampilkan foto dengan rating %s atau lebih baik" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "Sejak:" -#: ../src/Resources.vala:683 -msgid "Remove the selected photos from the trash" -msgstr "Hapus foto-foto terpilih dari tempat pembuangan" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "Hingga:" -#: ../src/Resources.vala:684 -msgid "Remove the selected photos from the library" -msgstr "Hapus foto-foto terpilih dari album" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "Durasi:" -#: ../src/Resources.vala:686 -msgid "_Restore" -msgstr "_Kembalikan" +#: src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "%.1f detik" -#: ../src/Resources.vala:687 -msgid "Move the selected photos back into the library" -msgstr "Kembalikan foto-foto ke album" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "Pengembang:" -#: ../src/Resources.vala:689 -msgid "Show in File Mana_ger" -msgstr "Lihat di Program Pengatur Berkas" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "Letak di sistem:" -#: ../src/Resources.vala:690 -msgid "Open the selected photo's directory in the file manager" -msgstr "Buka direktori foto dengan program pengatur berkas" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "Ukuran berkas:" -#: ../src/Resources.vala:693 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "Program pengatur berkas tidak dapat dibuka: %s" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "Pengembangan Saat Ini:" -#: ../src/Resources.vala:696 -msgid "R_emove From Library" -msgstr "Hapus _Dari Album" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Ukuran asli:" -#: ../src/Resources.vala:698 -msgid "_Move to Trash" -msgstr "Pindahkan ke Tempat Pembuangan" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "Merek kamera:" -#: ../src/Resources.vala:700 -msgid "Select _All" -msgstr "Pilih semu_a" +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "Model kamera:" -#: ../src/Resources.vala:701 -msgid "Select all items" -msgstr "Pilih semua item" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "Lampu kilat:" -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M %p" -msgstr "%-I:%M %p" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "Panjang fokus:" -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:785 -msgid "%-I:%M:%S %p" -msgstr "%-I:%M:%S %p" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Tanggal bukaan:" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:789 -msgid "%a %b %d, %Y" -msgstr "%a %d %b, %Y" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Waktu bukaan:" -#. / 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 -#. / 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 -#: ../src/Resources.vala:794 ../src/Resources.vala:804 -msgid "%a %b %d" -msgstr "%a %d %b" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Bias bukaan:" -#. / 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 -#: ../src/Resources.vala:799 -msgid "%d, %Y" -msgstr "%d, %Y" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "Garis lintang GPS:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Tampil salindia (slideshow)" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "Garis bujur GPS:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Ditandai" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "Pengambil gambar:" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Foto" +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "Hak cipta:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Video" +#: src/Properties.vala:624 +msgid "Software:" +msgstr "Perangkat Lunak:" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "Foto RAW" +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "Informasi Lanjutan" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "Foto RAW" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "Bersiap mengunggah" -#: ../src/SearchFilter.vala:934 +#: src/publishing/PublishingPluginHost.vala:12 #, c-format -msgid "Error loading UI file %s: %s" -msgstr "Gagal memuat berkas UI %s:%s" - -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Tutup" +msgid "Uploading %d of %d" +msgstr "Mengunggah %d dari %d" -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Tipe" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "Unggahan ke %s tidak dapat diteruskan karena galat berikut" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Rating" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "Pilih dari menu untuk menggunakan layanan lain." -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Pengaturan" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "Foto/video terpilih telah berhasil dikirim" -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Mundur" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "Video terpilih telah berhasil dikirim" -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Mundur ke foto sebelumnya" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "Foto tadi sudah berhasil dikirim." -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Hentikan" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "Video terpilih telah berhasil dikirim" -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Hentikan tampilan salindia" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "Foto terpilih telah berhasil dikirim" -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Berikutnya" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "Mengambil informasi akun..." -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Maju ke foto berikutnya" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "Masuk ke sistem..." -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Atur tampilan salindia" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Kirim Foto" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Semua sumber foto telah lenyap." +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Kirim foto _ke:" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Jalankan" +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Kirim Video" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Teruskan tampilan salindia" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Kirim video _ke" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "tanpa judul" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Kirim Foto dan Video" -#. multiple videos -#: ../src/VideoSupport.vala:489 -msgid "Export Videos" -msgstr "Ekspor video" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Kirim Foto dan Video _ke" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Kamera" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "Tidak dapat mengirim" -#: ../src/camera/ImportPage.vala:459 +#: src/publishing/PublishingUI.vala:398 +#, c-format msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"Kamera tidak dapat dilepas. Silakan lepas melalui program pengelola berkas." +"Shotwell tak bisa mempublikasikan butir yang dipilih karena Anda tak " +"memiliki pengaya publikasi kompatibel yang difungsikan. Untuk memperbaiki " +"hal ini, pilih Sunting Preferensi %s dan fungsikan satu atau lebih " +"pengaya publikasi pada tab Pengaya." -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:776 -msgid "Hide photos already imported" -msgstr "Sembunyikan foto yang sudah selesai diimpor" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Kirimkan" -#: ../src/camera/ImportPage.vala:777 -msgid "Only display photos that have not been imported" -msgstr "Hanya tampilkan foto yang belum diimpor" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Puta_r Kanan" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:847 -msgid "Starting import, please wait..." -msgstr "Mulai mengimpor, silakan tunggu..." +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "Putar" -#: ../src/camera/ImportPage.vala:886 -msgid "Import _Selected" -msgstr "Impor Foto _Terpilih" +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Putar Kanan" -#: ../src/camera/ImportPage.vala:887 -msgid "Import the selected photos into your library" -msgstr "Impor foto terpilih ke album" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "Putar foto ke kanan (tekan Ctrl untuk putar ke kiri)" -#: ../src/camera/ImportPage.vala:892 -msgid "Import _All" -msgstr "Impor Semu_a" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Putar _Kiri" -#: ../src/camera/ImportPage.vala:893 -msgid "Import all the photos into your library" -msgstr "Impor semua foto ke album" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Putar Kiri" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1014 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Shotwell harus dapat melepaskan kamera dari sistem agar dapat mengaksesnya. " -"Izinkan?" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Putar foto ke kiri" -#: ../src/camera/ImportPage.vala:1020 -msgid "_Unmount" -msgstr "_Lepas" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Balik hori_zontal" -#: ../src/camera/ImportPage.vala:1025 -msgid "Please unmount the camera." -msgstr "Silakan lepaskan kamera." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Balik Horizontal" -#: ../src/camera/ImportPage.vala:1030 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"Kamera sudah terkunci oleh aplikasi lain. Shotwell hanya dapat mengakses " -"kamera pada saat tidak terkunci. Silakan matikan aplikasi yang sedang " -"menggunakan kamera ini dan coba kembali." +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Balik Verti_kal" -#: ../src/camera/ImportPage.vala:1040 -msgid "Please close any other application using the camera." -msgstr "Mohon segera mematikan aplikasi lain yang sedang menggunakan kamera." +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Balik Vertikal" -#: ../src/camera/ImportPage.vala:1045 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"Gambar pratayang tidak dapat diambil dari kamera:\n" -"%s" +#: src/Resources.vala:155 +msgid "_About" +msgstr "Tent_ang" -#: ../src/camera/ImportPage.vala:1062 -msgid "Unmounting..." -msgstr "Melepaskan kamera..." +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "Ter_apkan" -#: ../src/camera/ImportPage.vala:1168 -msgid "Fetching photo information" -msgstr "Mengambil informasi foto" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "Ma_ju" -#: ../src/camera/ImportPage.vala:1523 -#, c-format -msgid "Fetching preview for %s" -msgstr "Mengambil gambar pratayang %s" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "Layar _Penuh" -#: ../src/camera/ImportPage.vala:1639 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "Kamera tidak dapat dikunci: %s" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "Layar _Biasa" -#: ../src/camera/ImportPage.vala:1724 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "Hapus %d foto ini dari kamera?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_Baru" -#: ../src/camera/ImportPage.vala:1727 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "Hapus %d video ini dari kamera?" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "Sela_njutnya" -#: ../src/camera/ImportPage.vala:1730 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "Hapus %d foto/video ini dari kamera?" +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_OK" -#: ../src/camera/ImportPage.vala:1733 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "Hapus %d berkas ini dari kamera?" +#: src/Resources.vala:167 +msgid "_Play" +msgstr "_Putar" -#: ../src/camera/ImportPage.vala:1760 -msgid "Removing photos/videos from camera" -msgstr "Menghapus foto/video dari kamera" +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "_Pengaturan" -#: ../src/camera/ImportPage.vala:1764 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "" -"Tidak dapat menghapus %d foto/video dari kamera karena adanya kesalahan" +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "Se_belumnya" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Impor Data" +#: src/Resources.vala:170 +msgid "_Print" +msgstr "_Cetak" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "Basisdata %s" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "_Keluar" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "Gagal lanjut mengimpor dari %s karena terjadi eror:" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "Sega_rkan" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "Untuk mengimpor dari layanan lain, pilih satu dari menu di atas." +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "Puli_hkan" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"Kamu tidak punya pengaya impor data yang aktif.\n" -"\n" -"Untuk memakai fungsi Impor Dari Aplikasi, kamu perlu paling sedikit satu " -"pengaya impor data yang aktif. Pengaya dapat diaktifkan di Pengaturan." +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "Simpan Seb_agai" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Berkas basis data:" +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "Urutkan N_aik" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:883 -msgid "_Import" -msgstr "_Impor" +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "Urut _Turun" -#: ../src/data_imports/DataImportsUI.vala:217 -msgid "Import From Application" -msgstr "Impor Dari Aplikasi" +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "_Berhenti" -#: ../src/data_imports/DataImportsUI.vala:369 -#: ../src/publishing/PublishingUI.vala:470 -msgid "_Close" -msgstr "_Tutup" +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "Tak Jadi Hap_us" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "Gagal membuka/membuat basis data foto %s: kode galat %d" +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "Ukuran _Normal" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"Gagal menulis ke berkas basis data foto:\n" -" %s" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "_Pas Terbaik" + +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "Taja_mkan" + +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "Tajamkan" + +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Membuat foto lebih tajam" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"Kesalahan mengakses berkas basis data:\n" -" %s\n" -"\n" -"Kesalahan: \n" -"%s" +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "Salin Penyetelan _Warna" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:336 -msgid "_File" -msgstr "_Berkas" +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Salin Penyetelan Warna" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Simpan foto" +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Salin penyetelan warna yang diterapkan ke foto" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "Simpan seb_agai..." +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "Tem_pel Penyetelan Warna" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Simpan foto dengan nama lain" +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Tempel Penyetelan Warna" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Cetak foto ke pencetak yang terhubung ke komputer ini" +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Terapkan penyetelan warna yang disalin ke foto yang dipilih" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:348 -msgid "_Photo" -msgstr "_Foto" +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "_Potong" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s tidak ada." +#: src/Resources.vala:199 +msgid "Crop" +msgstr "Potong" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s bukan berkas." +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Potong ukuran foto" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"%s tidak dapat mendukung berkas jenis\n" -"%s." +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "Luruskan" -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save a Copy" -msgstr "Buat _Salinan" +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Luruskan foto" -#: ../src/direct/DirectPhotoPage.vala:425 -#, c-format -msgid "Lose changes to %s?" -msgstr "Jangan simpan perubahan pada %s?" +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "Mata-me_rah" -#: ../src/direct/DirectPhotoPage.vala:426 -msgid "Close _without Saving" -msgstr "Tutup _tanpa menyimpan" +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "Mata-merah" -#: ../src/direct/DirectPhotoPage.vala:459 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "Ada kesalahan saat menyimpan ke %s: %s" +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Hilangkan efek mata merah pada foto" -#: ../src/direct/DirectPhotoPage.vala:487 -#: ../src/direct/DirectPhotoPage.vala:508 -msgid "Save As" -msgstr "Simpan Sebagai" +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Atur" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Kembalikan ukuran foto saat ini" +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "Atur" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Atur pemotongan foto ini" +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Atur warna dan tonal foto" -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "Atur kotak pemotongan antara orientasi mendatar dan berdiri" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "K_embalikan ke Asal" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Tanpa batas" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Kembalikan ke Asal" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Kotak" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Kembalikan Suntingan E_ksternal" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Seukuran Layar" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Abaikan perubahan dan kembalikan ke foto asal" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "Atur sebagai Latar _Destop" -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "Video SD (4:3)" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "Jadikan foto ini menjadi gambar latar desktop" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "Video HD (16:9)" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "Atur sebagai Salindia _Destop" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Letter (8.5 x 11 in.)" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "_Batalkan: " -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloid (11 x 17 in.)" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "Batalkan" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 x 297 mm)" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "_Jadikan: " -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297 x 420 mm)" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "Jadikan" -#: ../src/editing_tools/EditingTools.vala:1905 -msgid "Close the red-eye tool" -msgstr "Tutup penghilang mata merah" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Ga_nti Nama Rangkaian..." -#: ../src/editing_tools/EditingTools.vala:1908 -msgid "Remove any red-eye effects in the selected region" -msgstr "Hilangkan efek mata merah pada area yang diinginkan" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "Jadi_kan Foto Utama Untuk Rangkaian Ini" -#: ../src/editing_tools/EditingTools.vala:2244 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_Reset" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Jadikan Foto Utama Untuk Rangkaian Ini" -#: ../src/editing_tools/EditingTools.vala:2266 -msgid "Saturation:" -msgstr "Saturasi:" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "Rangkaia_n Baru" -#: ../src/editing_tools/EditingTools.vala:2274 -msgid "Tint:" -msgstr "Tint:" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "Rangkaian Baru" -#: ../src/editing_tools/EditingTools.vala:2283 -msgid "Temperature:" -msgstr "Suhu:" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "Pindahkan Foto" -#: ../src/editing_tools/EditingTools.vala:2291 -msgid "Shadows:" -msgstr "Kegelapan:" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Pindahkan foto ke sebuah rangkaian" -#: ../src/editing_tools/EditingTools.vala:2299 -msgid "Highlights:" -msgstr "Highlight:" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "_Gabungkan Rangkaian" -#: ../src/editing_tools/EditingTools.vala:2353 -msgid "Reset Colors" -msgstr "Reset Warna" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "Gabungkan" -#: ../src/editing_tools/EditingTools.vala:2353 -msgid "Reset all color adjustments to original" -msgstr "Kembalikan warna ke nilai aslinya" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Gabungkan acara-acara ke satu acara" -#: ../src/editing_tools/EditingTools.vala:2705 -msgid "Temperature" -msgstr "Suhu" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "_Atur Rating" -#: ../src/editing_tools/EditingTools.vala:2718 -msgid "Tint" -msgstr "Tint" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "Atur Rating" -#: ../src/editing_tools/EditingTools.vala:2731 -msgid "Saturation" -msgstr "Saturasi" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Ubah rating foto" -#: ../src/editing_tools/EditingTools.vala:2744 -msgid "Exposure" -msgstr "Bukaan" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "_Naik" -#: ../src/editing_tools/EditingTools.vala:2757 -msgid "Shadows" -msgstr "Kegelapan" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Naikkan Rating" -#: ../src/editing_tools/EditingTools.vala:2770 -msgid "Highlights" -msgstr "Highlight" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "_Turun" -#: ../src/editing_tools/EditingTools.vala:2780 -msgid "Contrast Expansion" -msgstr "Naikkan Kontras" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Turunkan Rating" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Sudut:" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Tanpa Rating" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Rangkaian" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "Tanpa Rating" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d Foto/Video" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Belum Dirating" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "Tidak Ada Rangkaian" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "Atur sebagai Tanpa Rating" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Tampilkan komentar setiap foto" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Hapus rating" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "Tidak ada rangkaian" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "_Ditolak" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "Tidak ada rangkaian ditemukan" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "Ditolak" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Semua Kejadian" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Rating Ditolak" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Tidak bertanggal" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "Atur ke ditolak" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Atur rating ke ditolak" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "_Hanya Ditolak" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Folder" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Hanya Ditolak" + +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Tampilkan hanya foto yang ditolak" + +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Semua + _Ditolak" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Album" +#: src/Resources.vala:273 +#, fuzzy +#| msgid "Show all photos, including rejected" +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Tampilkan semua foto, termasuk yang ditolak" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "Mengimpor..." +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "Semu_a foto" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "_Hentikan Impor" +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "Tunjukkan semua foto" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Hentikan proses impor foto" +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "_Rating" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "Menyiapkan impor..." +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Tampilkan rating tiap foto" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "%s diimpor" +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_Saring Foto" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Impor terakhir" +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Saring Foto" -#: ../src/library/LibraryWindow.vala:286 -msgid "_Import From Folder..." -msgstr "_Impor Dari Folder ..." +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Batasi jumlah foto yang tampil berdasarkan penyaringan" -#: ../src/library/LibraryWindow.vala:287 -msgid "Import photos from disk to library" -msgstr "Impor foto dari cakram ke album" +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "_Gandakan" -#: ../src/library/LibraryWindow.vala:294 -msgid "Import From _Application..." -msgstr "Impor Dari _Aplikasi..." +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "Gandakan" -#: ../src/library/LibraryWindow.vala:298 -msgid "Sort _Events" -msgstr "_Rangkaian Dengan Urutan" +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Gandakan foto-foto ini" -#: ../src/library/LibraryWindow.vala:308 -msgid "Empty T_rash" -msgstr "Hapus Pe_rmanen Foto Buangan" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "_Ekspor..." -#: ../src/library/LibraryWindow.vala:309 -msgid "Delete all photos in the trash" -msgstr "Hapus semua foto yang pernah dibuang" +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "_Cetak" -#: ../src/library/LibraryWindow.vala:314 -msgid "View Eve_nt for Photo" -msgstr "Lihat Eve_nt Foto" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "_Kirim..." -#: ../src/library/LibraryWindow.vala:318 -msgid "_Find" -msgstr "_Cari" +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Kirim foto ini ke beragam situs" -#: ../src/library/LibraryWindow.vala:319 -msgid "Find photos and videos by search criteria" -msgstr "Cari foto dan video menurut kriteria pencarian" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "Sun_ting Judul..." -#: ../src/library/LibraryWindow.vala:330 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "Pencarian Tersimpan B_aru" +#. Button label +#: src/Resources.vala:300 +#, fuzzy +#| msgid "Edit Title" +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Sunting Judul" -#: ../src/library/LibraryWindow.vala:352 -msgid "_Photos" -msgstr "_Foto-foto" +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "Sunting _Komentar..." -#: ../src/library/LibraryWindow.vala:356 -msgid "Even_ts" -msgstr "_Rangkaian" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Sunting Komentar" -#: ../src/library/LibraryWindow.vala:375 -msgid "_Basic Information" -msgstr "Informasi _Dasar" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "Sunting _Komentar Peristiwa" -#: ../src/library/LibraryWindow.vala:376 -msgid "Display basic information for the selection" -msgstr "Tampilkan informasi dasar foto terpilih" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "_Atur Jam dan Tanggal..." -#: ../src/library/LibraryWindow.vala:381 -msgid "E_xtended Information" -msgstr "Informasi _Lanjut" +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Atur Jam dan Tanggal" -#: ../src/library/LibraryWindow.vala:382 -msgid "Display extended information for the selection" -msgstr "Tampilkan informasi lanjutan foto terpilih" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "_Beri _Tanda..." -#: ../src/library/LibraryWindow.vala:387 -msgid "_Search Bar" -msgstr "_Bilah Pencarian" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "T_ambah Tag..." -#: ../src/library/LibraryWindow.vala:388 -msgid "Display the search bar" -msgstr "Tampilkan bilah pencarian" +#. Dialog title +#: src/Resources.vala:315 +#, fuzzy +#| msgid "Add Tags" +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Beri Tanda" -#: ../src/library/LibraryWindow.vala:393 -msgid "S_idebar" -msgstr "Bilah S_isi" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "Buka Oleh Penyunting E_ksternal" -#: ../src/library/LibraryWindow.vala:394 -msgid "Display the sidebar" -msgstr "Tampilkan bilah sisi" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Buka Dengan Penyunting RA_W" -#: ../src/library/LibraryWindow.vala:652 -msgid "Import From Folder" -msgstr "Impor Dari Folder" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "Kirim _Ke" -#: ../src/library/LibraryWindow.vala:721 -msgid "Empty Trash" -msgstr "Hapus Permanen Foto Buangan" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "Kirim _Ke..." -#: ../src/library/LibraryWindow.vala:721 -msgid "Emptying Trash..." -msgstr "Foto Buangan Sedang Dihapus Permanen..." +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "_Cari" -#: ../src/library/LibraryWindow.vala:880 -#, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" -msgstr "" -"Shotwell dikonfigurasi untuk mengimpor foto ke direktori rumah Anda.\n" -"Kami sarankan untuk mengubah ini dalam Sunting " -"Preferensi %s.\n" -"Apakah Anda ingin melanjutkan mengimpor foto?" +#: src/Resources.vala:327 +msgid "Find" +msgstr "Cari" -#: ../src/library/LibraryWindow.vala:883 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Lokasi Album:" +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" +msgstr "Cari foto dengan mengetikkan teks yang muncul di nama atau tanda" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:896 -msgid "Photos cannot be imported from this directory." -msgstr "Foto tidak dapat diimpor dari direktori tersebut." +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "_Tanda" + +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "Lepas _tanda" -#: ../src/library/LibraryWindow.vala:1184 +#: src/Resources.vala:335 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "Unable to launch editor: %s" +msgstr "Program penyunting tidak dapat dijalankan: %s" -#: ../src/library/LibraryWindow.vala:1228 -#: ../src/library/LibraryWindow.vala:1239 -msgid "Updating library..." -msgstr "Memperbaharui album..." +#: src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "Beri Tanda \"%s\"" -#: ../src/library/LibraryWindow.vala:1245 -msgid "Preparing to auto-import photos..." -msgstr "Bersiap impor foto otomatis..." +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Beri Tanda \"%s\" dan \"%s\"" -#: ../src/library/LibraryWindow.vala:1250 -msgid "Auto-importing photos..." -msgstr "Mengimpor foto otomatis" +#: src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "_Hapus Tanda \"%s\"" -#: ../src/library/LibraryWindow.vala:1258 -msgid "Writing metadata to files..." -msgstr "Menulis metadata ke berkas..." +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Hapus Tanda \"%s\"" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Berkas Hilang" +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Hapus Tanda" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "Menghapus..." +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Ganti _Nama Tanda \"%s\"..." -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Tempat Pembuangan" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Ganti Nama Tanda \"%s\" menjadi \"%s\"" -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "Tempat Pembuangan kosong" +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Ganti nama" -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Hapus" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "_Ubah Tanda..." -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "Menghapus foto-foto" +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Ubah Tanda" -#: ../src/main.vala:54 +#: src/Resources.vala:379 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"Album foto tidak kompatibel dengan versi Shotwell sekarang. Tampaknya album " -"dibuat dengan Shotwell %s (schema %d). Versi sekarang adalah %s (schema %d). " -"Harap gunakan Shotwell versi terbaru" +msgid "Tag Photo as \"%s\"" +msgstr "Tandai Foto Sebagai \"%s\"" -#: ../src/main.vala:59 +#: src/Resources.vala:379 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"Shotwell gagal meningkatkan album foto dari versi %s (schema %d) ke %s " -"(schema %d). Untuk informasi lebih lanjut, silakan periksa Shotwell Wiki di " -"%s" +msgid "Tag Photos as \"%s\"" +msgstr "Tandai Foto Sebagai \"%s\"" -#: ../src/main.vala:65 +#: src/Resources.vala:383 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"Album foto tidak kompatibel dengan versi Shotwell sekarang. Tampaknya album " -"dibuat dengan Shotwell %s (schema %d). Versi sekarang adalah %s (schema %d). " -"Harap bersihkan album dengan menghapus %s dan mengimpor ulang foto" +msgid "Tag the selected photo as \"%s\"" +msgstr "Tandai foto terpilih sebagai \"%s\"" -#: ../src/main.vala:71 +#: src/Resources.vala:384 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "Kesalahan tak dikenal saat mencoba verifikasi database Shotwell: %s" - -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "Menjalankan Shotwell" - -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Path ke data privat Shotwell" +msgid "Tag the selected photos as \"%s\"" +msgstr "Tandai foto terpilih sebagai \"%s\"" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "DIREKTORI" +#: src/Resources.vala:388 +#, c-format +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Hapus Tanda \"%s\" Dari _Foto" -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "Jangan pantau perubahan direktori pustaka saat runtime" +#: src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Hapus Tanda \"%s\" Dari _Foto" -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "Jangan tampilkan meter kemajuan awal mula" +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "Hapus Tanda \"%s\" Dari Foto" -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Menampilkan versi aplikasi" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Hapus Tanda \"%s\" Dari _Foto" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[FILE]" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "Tanda tidak dapat diganti menjadi \"%s\" karena sudah ada." -#: ../src/main.vala:342 +#: src/Resources.vala:402 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" -msgstr "" -"Jalankan dengan perintah '%s --help' untuk melihat daftar opsi yang bisa " -"digunakan.\n" +msgid "Unable to rename search to \"%s\" because the search already exists." +msgstr "Gagal mengubah nama pencarian ke \"%s\" karena sudah ada " -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#: src/Resources.vala:405 +msgid "Saved Search" +msgstr "Pencarian Tersimpan" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "Hapus Pencarian" -#: ../src/photos/JfifSupport.vala:185 -#, c-format -msgid "Low (%d%%)" -msgstr "Rendah (%d%%)" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Sunting..." + +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "Ganti _nama..." -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:414 #, c-format -msgid "Medium (%d%%)" -msgstr "Sedang (%d%%)" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Ubah Nama Pencarian \"%s\" ke \"%s\"" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:418 #, c-format -msgid "High (%d%%)" -msgstr "Tinggi (%d%%)" +msgid "Delete Search \"%s\"" +msgstr "Hapus Pencarian \"%s\"" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:576 #, c-format -msgid "Maximum (%d%%)" -msgstr "Maksimum (%d%%)" +msgid "Rate %s" +msgstr "Nilai %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "Atur nilai rating ke %s" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "Mengatur rating ke %s" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "Tampilkan %s" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "Kirimkan" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Hanya tampilkan foto dengan rating %s" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "Bersiap mengunggah" +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s atau lebih baik" -#: ../src/publishing/PublishingPluginHost.vala:12 +#: src/Resources.vala:583 #, c-format -msgid "Uploading %d of %d" -msgstr "Mengunggah %d dari %d" +msgid "Display %s or Better" +msgstr "Tampilkan %s atau lebih baik" -#: ../src/publishing/PublishingPluginHost.vala:81 +#: src/Resources.vala:584 #, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "Unggahan ke %s tidak dapat diteruskan karena galat berikut" +msgid "Only show photos with a rating of %s or better" +msgstr "Hanya tampilkan foto dengan rating %s atau lebih baik" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "Pilih dari menu untuk menggunakan layanan lain." +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Hapus foto-foto terpilih dari tempat pembuangan" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "Foto/video terpilih telah berhasil dikirim" +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Hapus foto-foto terpilih dari album" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "Video terpilih telah berhasil dikirim" +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "_Kembalikan" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "Foto tadi sudah berhasil dikirim." +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Kembalikan foto-foto ke album" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "Video terpilih telah berhasil dikirim" +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Lihat di Program Pengatur Berkas" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "Foto terpilih telah berhasil dikirim" +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Buka direktori foto dengan program pengatur berkas" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "Mengambil informasi akun..." +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "Program pengatur berkas tidak dapat dibuka: %s" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "Masuk ke sistem..." +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "Hapus _Dari Album" -#: ../src/publishing/PublishingUI.vala:185 -msgid "Publish Photos" -msgstr "Kirim Foto" +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "Pindahkan ke Tempat Pembuangan" -#: ../src/publishing/PublishingUI.vala:186 -msgid "Publish photos _to:" -msgstr "Kirim foto _ke:" +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "Pilih semu_a" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Videos" -msgstr "Kirim Video" +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "Pilih semua item" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish videos _to" -msgstr "Kirim video _ke" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:772 +msgid "%-I:%M %p" +msgstr "%-I:%M %p" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Photos and Videos" -msgstr "Kirim Foto dan Video" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:777 +msgid "%-I:%M:%S %p" +msgstr "%-I:%M:%S %p" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish photos and videos _to" -msgstr "Kirim Foto dan Video _ke" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:781 +msgid "%a %b %d, %Y" +msgstr "%a %d %b, %Y" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:360 -msgid "Unable to publish" -msgstr "Tidak dapat mengirim" +#. / 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 +#. / 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 +#: src/Resources.vala:786 src/Resources.vala:796 +msgid "%a %b %d" +msgstr "%a %d %b" -#: ../src/publishing/PublishingUI.vala:361 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"Shotwell tak bisa mempublikasikan butir yang dipilih karena Anda tak " -"memiliki pengaya publikasi kompatibel yang difungsikan. Untuk memperbaiki " -"hal ini, pilih Sunting Preferensi %s dan fungsikan satu atau lebih " -"pengaya publikasi pada tab Pengaya." +#. / 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 +#: src/Resources.vala:791 +msgid "%d, %Y" +msgstr "%d, %Y" + +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Tampil salindia (slideshow)" -#: ../src/searches/Branch.vala:68 +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "Pencarian Tersimpan" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "mengandung" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "persis" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "dimulai dengan" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "diakhiri dengan" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "tidak mengandung" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "tak ditata" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "ditata" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "adalah" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "bukan" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "foto manapun" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "adalah foto mentah" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "video" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "punya" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "tak punya" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "modifikasi" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "modifikasi internal" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "modifikasi eksternal" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "ditandai" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "tidak ditandai" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "dan lebih tinggi" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "hanya" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "dan lebih rendah" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "setelah" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "sebelum" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "antara" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "dan" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "Pencarian" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "Batal" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "OK" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "manapun" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "semua" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "tidak ada" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr "Teks manapun" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "Judul" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "Tanda" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "Komentar" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "Nama rangkaian" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "Nama berkas" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "Tipe media" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "Status tanda" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "Status foto" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:998 +msgid "Rating" +msgstr "Rating" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Tanggal" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:599 src/SearchFilter.vala:600 +msgid "Videos" +msgstr "Video" + +#: src/SearchFilter.vala:605 +msgid "RAW Photos" +msgstr "Foto RAW" + +#: src/SearchFilter.vala:606 +msgid "RAW photos" +msgstr "Foto RAW" + +#: src/SearchFilter.vala:947 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "Gagal memuat berkas UI %s:%s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:958 +msgid "Close" +msgstr "Tutup" + +#. Type label and toggles +#: src/SearchFilter.vala:964 +msgid "Type" +msgstr "Tipe" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "_Tag Baru..." -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Pengaturan" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Mundur" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Mundur ke foto sebelumnya" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Hentikan" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Hentikan tampilan salindia" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Berikutnya" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Maju ke foto berikutnya" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Atur tampilan salindia" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Semua sumber foto telah lenyap." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Jalankan" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Teruskan tampilan salindia" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "Transisi Salindia" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(Tidak ada)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "Tidak ada" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "Acak" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "Tanda" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:817 +msgid "untitled" +msgstr "tanpa judul" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Ekspor video" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "Jadikan Latar Desktop" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "Gunakan untuk Desktop" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "Gunakan untuk Layar Kunci" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" msgstr "Atur sebagai Salindia Destop" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "Tampilkan tiap foto untuk" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "jangka waktu" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" msgstr "Membuat salindia latar destop" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "Berapa lama tiap foto ditampilkan di latar destop" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_Nama pencarian" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "_Cocokkan" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "yang berikut ini:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "Ukuran Foto Tercetak" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" msgstr "Gunakan ukuran _standar:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "Gunakan _ukuran bebas:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "_Sesuaikan dengan rasio foto" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "_Ukuran otomatis" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "Judul" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" msgstr "Ce_tak judul gambar" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "Resolusi Piksel" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" msgstr "Tampilkan f_oto pada:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "piksel per inci" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "label" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Pengaturan Shotwell" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "putih" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "hitam" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "_Pantau berkas baru di direktori album" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "Metadata" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" msgstr "Tulis tanda, judul dan metadata lainnya ke berkas foto" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "Tampilan" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "_Impor foto ke" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "Latar _Belakang" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "Mengimpor" -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" msgstr "_Struktur direktori" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "_Pola:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "Contoh" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" msgstr "Ubah n_ama berkas impor ke huruf kecil" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "RAW Developer" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" msgstr "De_fault:" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" msgstr "Penyunting foto e_ksternal" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "Penyunting _RAW eksternal" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "Penyunting eksternal" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "Pengaya" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" msgstr "Penun_daan" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" msgstr "Efek _Transisi" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" msgstr "P_enundaan Peralihan" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" msgstr "Tampilkan _judul" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "detik" + +#~ msgid "Copyright 2009-2015 Yorba Foundation" +#~ msgstr "Hak Cipta 2009-2015 Yorba Foundation" + +#~ msgid "Intro message replaced at runtime" +#~ msgstr "Pesan perkenalan digantikan saat berjalan" + +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "" +#~ "'Mempublikasikan ke $url sebagai $username' (diisi dalam kode aplikasi)" + +#~ msgid "you are logged in rajce as $name" +#~ msgstr "Anda log masuk rajce sebagai $name" + +#~ msgid "$mediatype will appear in" +#~ msgstr "$mediatype akan muncul dalam" + +#~ msgid "Visit the Yorba web site" +#~ msgstr "Kunjungi situs Yorba" diff --git a/po/insert-header.sin b/po/insert-header.sin new file mode 100644 index 0000000..b26de01 --- /dev/null +++ b/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/it.gmo b/po/it.gmo new file mode 100644 index 0000000..bd8802c Binary files /dev/null and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index 8848ac7..81267e0 100644 --- a/po/it.po +++ b/po/it.po @@ -20,7 +20,6 @@ # lsbeeler , 2011 # Luca Ferretti , 2011-2012 # milo , 2012 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/ja.gmo b/po/ja.gmo new file mode 100644 index 0000000..ad48aa3 Binary files /dev/null and b/po/ja.gmo differ diff --git a/po/kk.gmo b/po/kk.gmo new file mode 100644 index 0000000..b780d48 Binary files /dev/null and b/po/kk.gmo differ diff --git a/po/km.gmo b/po/km.gmo new file mode 100644 index 0000000..0a476fe Binary files /dev/null and b/po/km.gmo differ diff --git a/po/kn.gmo b/po/kn.gmo new file mode 100644 index 0000000..95ca65f Binary files /dev/null and b/po/kn.gmo differ diff --git a/po/ko.gmo b/po/ko.gmo new file mode 100644 index 0000000..a777583 Binary files /dev/null and b/po/ko.gmo differ diff --git a/po/ky.gmo b/po/ky.gmo new file mode 100644 index 0000000..aa1a4ff Binary files /dev/null and b/po/ky.gmo differ diff --git a/po/lt.gmo b/po/lt.gmo new file mode 100644 index 0000000..538b105 Binary files /dev/null and b/po/lt.gmo differ diff --git a/po/lv.gmo b/po/lv.gmo new file mode 100644 index 0000000..c2b594e Binary files /dev/null and b/po/lv.gmo differ diff --git a/po/lv.po b/po/lv.po index 2ab2270..d088c72 100644 --- a/po/lv.po +++ b/po/lv.po @@ -9,7 +9,6 @@ # Rūdolfs Mazurs , 2012 # Rūdolfs Mazurs , 2011 # verayin , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/mk.gmo b/po/mk.gmo new file mode 100644 index 0000000..c89b785 Binary files /dev/null and b/po/mk.gmo differ diff --git a/po/mk.po b/po/mk.po index d094298..48f0e8d 100644 --- a/po/mk.po +++ b/po/mk.po @@ -8,7 +8,6 @@ # Mitko Krstev , 2011 # verayin , 2011 # lsbeeler , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/ml.gmo b/po/ml.gmo new file mode 100644 index 0000000..fc7374a Binary files /dev/null and b/po/ml.gmo differ diff --git a/po/ml.po b/po/ml.po index e128e5a..caad2b0 100644 --- a/po/ml.po +++ b/po/ml.po @@ -7,7 +7,6 @@ # Translators: # Ani Peter , 2013 # Ani Peter , 2013 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/mr.gmo b/po/mr.gmo new file mode 100644 index 0000000..901e283 Binary files /dev/null and b/po/mr.gmo differ diff --git a/po/mr.po b/po/mr.po index 8606dc0..070c8b5 100644 --- a/po/mr.po +++ b/po/mr.po @@ -7,7 +7,6 @@ # Translators: # sandeeps , 2012 # sandeeps , 2012-2013 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/nb.gmo b/po/nb.gmo new file mode 100644 index 0000000..9daec23 Binary files /dev/null and b/po/nb.gmo differ diff --git a/po/nl.gmo b/po/nl.gmo new file mode 100644 index 0000000..2469444 Binary files /dev/null and b/po/nl.gmo differ diff --git a/po/nn.gmo b/po/nn.gmo new file mode 100644 index 0000000..956b999 Binary files /dev/null and b/po/nn.gmo differ diff --git a/po/nn.po b/po/nn.po index 6729eb5..ce661e1 100644 --- a/po/nn.po +++ b/po/nn.po @@ -5,7 +5,6 @@ # # # Translators: -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" @@ -18,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" +"Language: nn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/Event.vala:737 diff --git a/po/oc.gmo b/po/oc.gmo new file mode 100644 index 0000000..722906b Binary files /dev/null and b/po/oc.gmo differ diff --git a/po/or.gmo b/po/or.gmo new file mode 100644 index 0000000..dc5bde1 Binary files /dev/null and b/po/or.gmo differ diff --git a/po/or.po b/po/or.po index 348c74e..bb7e067 100644 --- a/po/or.po +++ b/po/or.po @@ -6,7 +6,6 @@ # # Translators: # Manoj Kumar Giri , 2012-2013 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/pa.gmo b/po/pa.gmo new file mode 100644 index 0000000..83422a5 Binary files /dev/null and b/po/pa.gmo differ diff --git a/po/pa.po b/po/pa.po index c5084c4..639212f 100644 --- a/po/pa.po +++ b/po/pa.po @@ -10,7 +10,6 @@ # A S Alam , 2012 # Jaswinder Singh , 2012 # verayin , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/pl.gmo b/po/pl.gmo new file mode 100644 index 0000000..5fbe45b Binary files /dev/null and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index a6e0a5d..92c4b1b 100644 --- a/po/pl.po +++ b/po/pl.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: shotwell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-22 12:44+0200\n" -"PO-Revision-Date: 2016-05-22 12:47+0200\n" +"POT-Creation-Date: 2016-08-13 09:00+0000\n" +"PO-Revision-Date: 2016-08-14 23:45+0200\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -22,1570 +22,3113 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Poedit-Language: Polish\n" -"X-Poedit-Country: Poland\n" -#: ../plugins/common/RESTSupport.vala:425 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" -msgstr "Plik tymczasowy wymagany do publikacji jest niedostępny" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" -#: ../plugins/common/RESTSupport.vala:1145 +#: misc/shotwell.appdata.xml.in:9 +msgid "Popular photo manager" +msgstr "Popularny menedżer zdjęć" + +#: misc/shotwell.appdata.xml.in:11 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"Już zalogowano się i wylogowano z serwisów Google podczas tej sesji programu " -"Shotwell.\n" -"\n" -"Aby kontynuować publikowanie do serwisów Google, należy zakończyć i ponownie " -"uruchomić program Shotwell, a następnie ponownie spróbować publikacji." - -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Witryna programu Shotwell" +"Shotwell to łatwy w użyciu, szybki organizator zdjęć dla środowiska GNOME. " +"Umożliwia on importowanie zdjęć z aparatu lub dysku, organizowanie ich " +"według dat i tematyki, a nawet ocen. Oferuje on także podstawowe funkcje " +"edycji zdjęć, takie jak kadrowanie, korekta efektu czerwonych oczu, " +"dostosowanie kolorów i wyrównywanie. Niedestrukcyjny edytor zdjęć programu " +"Shotwell nie zmienia głównych kopii zdjęć, znacznie ułatwiając " +"eksperymentowanie i poprawianie błędów." + +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." +msgstr "" +"Po edycji, program Shotwell może wysłać zdjęcia do różnych serwisów " +"internetowych, takich jak Facebook, Flickr, Picasa (Google Plus) i wiele " +"więcej." -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:676 -msgid "translator-credits" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." msgstr "" -"verayin , 2011\n" -"lsbeeler , 2011\n" -"Piotr Drąg , 2011-2016\n" -"Aviary.pl , 2014-2016" +"Shotwell obsługuje formaty JPEG, PNG, TIFF i wiele rodzajów plików RAW." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2016 Software Freedom Conservancy Inc." -msgstr "Copyright 2016 Software Freedom Conservancy Inc." +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Menedżer zdjęć" + +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "Organizowanie zdjęć" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"Witamy w usłudze importu kolekcji programu F-Spot.\n" -"\n" -"Proszę wybrać kolekcję do zaimportowania, wybierając jedną z istniejących " -"kolekcji odnalezionych przez program Shotwell lub wybierając alternatywny " -"plik bazy danych programu F-Spot." +"album;aparat;aparaty;kamera;kamery;kadruj;kadrowanie;przytnij;przycinanie;" +"modyfikacja;modyfikuj;edycja;edytuj;uwydatnij;uwydatnianie;ulepsz;ulepszanie;" +"wyeksportuj;eksport;galeria;obraz;obrazy;obrazek;obrazki;zaimportuj;import;" +"zorganizuj;organizacja;zdjęcie;fotografia;zdjęcia;fotografie;wydrukuj;" +"drukowanie;opublikuj;publikacja;publikowanie;obróć;obracanie;obrót;" +"udostępnij;udostępnianie;współdziel;współdzielenie;etykiety;znaczniki;tagi;" +"tagowanie;filmy;wideo;filmiki;facebook;fejsbuk;flickr;picasa;youtube;jutube;" +"piwigo;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +msgid "shotwell" +msgstr "shotwell" + +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "Przeglądarka Shotwell" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Przeglądarka zdjęć" + +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "token uwierzytelnienia" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." +msgstr "Token uwierzytelnienia serwisu Yandex-Fotki, jeśli zalogowano." + +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "Token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "Token dostępu do serwisu Tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "Tajny token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" +msgstr "Tajny token do podpisywania żądań OAuth" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:416 +msgid "default size" +msgstr "domyślne wymiary" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." +"A numeric code representing the default size for photos uploaded to Tumblr" msgstr "" -"Witamy w usłudze importu kolekcji programu F-Spot.\n" -"\n" -"Proszę wybrać plik bazy danych programu F-Spot." +"Kod numeryczny przedstawiający domyślne wymiary zdjęć wysyłanych do serwisu " +"Tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" +msgstr "domyślny blog" + +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "Nazwa domyślnego bloga użytkownika, jeśli istnieje" + +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "Adres URL serwera Rajce" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "Adres URL serwera Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:384 +#: misc/org.yorba.shotwell.gschema.xml:442 +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "username" +msgstr "nazwa użytkownika" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "Nazwa użytkownika serwera Rajce, jeśli zalogowano." + +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "token użytkownika, jeśli jest zapamiętany." + +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last category" +msgstr "ostatnia kategoria" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "Ostatnio zaznaczona kategoria serwera Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:472 +msgid "last photo size" +msgstr "ostatnie wymiary zdjęcia" + +#: misc/org.yorba.shotwell-extras.gschema.xml:65 +msgid "" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." +msgstr "" +"Kod numeryczny przedstawiający ostatnie wymiary zdjęć używane podczas " +"publikowania do serwera Rajce." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "Ręczny wybór pliku bazy danych programu F-Spot do zaimportowania:" +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "zapamiętanie" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 -msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." +msgstr "Jeśli jest ustawione na wartość „true”, zapamiętuje ostatni login." + +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "ukrycie albumu" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." msgstr "" -"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: plik nie " -"istnieje lub nie jest bazą danych programu F-Spot" +"Jeśli jest ustawione na wartość „true”, ukrywa nowo utworzony album serwera " +"Rajce." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +msgid "open album in web browser" +msgstr "otwieranie albumu w przeglądarce WWW" + +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +"If true, open target album in the web browser just after uploading photos" msgstr "" -"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: ta wersja " -"bazy danych programu F-Spot nie jest obsługiwana przez program Shotwell" - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 +"Jeśli jest ustawione na wartość „true”, otwiera album docelowy w " +"przeglądarce WWW od razu po wysłaniu zdjęć" + +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:364 +#: misc/org.yorba.shotwell.gschema.xml:402 +#: misc/org.yorba.shotwell.gschema.xml:428 +#: misc/org.yorba.shotwell.gschema.xml:478 +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "remove sensitive info from uploads" +msgstr "usuwanie informacji osobistych z wysyłanych zdjęć" + +#: misc/org.yorba.shotwell-extras.gschema.xml:89 msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +"Whether images being uploaded to Rajce should have their metadata removed " +"first" msgstr "" -"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: błąd podczas " -"odczytywania tablicy etykiet" +"Czy zdjęcia wysyłane do serwera Rajce mają mieć najpierw usuwane metadane" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 -msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "wyświetlanie podstawowych właściwości" + +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." msgstr "" -"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: błąd podczas " -"odczytywania tablicy zdjęć" +"Jeśli jest ustawione na wartość „true”, wyświetlany jest panel podstawowych " +"właściwości." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:28 +msgid "display extended properties" +msgstr "wyświetlanie rozszerzonych właściwości" + +#: misc/org.yorba.shotwell.gschema.xml:29 msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +"True if the extended properties window is to be displayed, false otherwise." msgstr "" -"Program Shotwell odnalazł %d zdjęć w kolekcji programu F-Spot i obecnie je " -"importuje. Duplikaty zostaną automatycznie wykryte i usunięte.\n" -"\n" -"Można zamknąć to okno i używać programu Shotwell, podczas gdy import jest " -"przeprowadzany w tle." - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "Kolekcja programu F-Spot: %s" +"Jeśli jest ustawione na wartość „true”, wyświetlany jest panel rozszerzonych " +"właściwości." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "Przygotowywanie importu" +#: misc/org.yorba.shotwell.gschema.xml:34 +msgid "display sidebar" +msgstr "wyświetlanie panelu bocznego" -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "Usługi importowania głównych danych" +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "Jeśli jest ustawione na wartość „true”, wyświetlany jest panel boczny." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "Moduł publikowania w serwisie Gallery3" +#: misc/org.yorba.shotwell.gschema.xml:40 +msgid "display toolbar" +msgstr "wyświetlanie panelu narzędziowego" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 -msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the bottom toolbar is to be displayed, false otherwise." msgstr "" -"Nie zalogowano w serwisie Gallery.\n" -"\n" -"Należy już posiadać konto w serwisie Gallery3, aby ukończyć proces logowania." +"Jeśli jest ustawione na wartość „true”, wyświetlany jest dolny panel " +"narzędziowy." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display search bar" +msgstr "wyświetlanie paska wyszukiwania" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "Domyślny katalog programu Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:47 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" +"Jeśli jest ustawione na wartość „true”, wyświetlany jest pasek wyszukiwania/" +"filtrów." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo titles" +msgstr "wyświetlanie tytułów zdjęć" + +#: misc/org.yorba.shotwell.gschema.xml:53 msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"\n" -"Plik „%s” może nie być obsługiwany lub może być za dużo dla tej witryny " -"Gallery3." +"Jeśli jest ustawione na wartość „true”, tytuły zdjęć są wyświetlane pod " +"miniaturami w widokach kolekcji." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display photo comments" +msgstr "wyświetlanie komentarzy zdjęć" + +#: misc/org.yorba.shotwell.gschema.xml:59 msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"Proszę zauważyć, że serwis Gallery3 obsługuje tylko rodzaje nagrań wideo " -"obsługiwane przez oprogramowanie Flowplayer." +"Jeśli jest ustawione na wartość „true”, komentarze zdjęć są wyświetlane pod " +"miniaturami w widokach kolekcji." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:64 +msgid "display event comments" +msgstr "wyświetlanie komentarzy wydarzeń" + +#: misc/org.yorba.shotwell.gschema.xml:65 msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." msgstr "" -"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " -"publikowania do serwisu %s." +"Jeśli jest ustawione na wartość „true”, komentarze wydarzeń są wyświetlane " +"pod miniaturami w widokach kolekcji." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "Publikowanie w %s jako użytkownik %s." +#: misc/org.yorba.shotwell.gschema.xml:70 +msgid "display photo tags" +msgstr "wyświetlanie etykiet zdjęć" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: misc/org.yorba.shotwell.gschema.xml:71 msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." msgstr "" -"Proszę podać adres URL witryny Gallery3 oraz nazwę użytkownika i hasło (lub " -"klucz API) dla konta w serwisie Gallery3." +"Jeśli jest ustawione na wartość „true”, etykiety zdjęć są wyświetlane pod " +"miniaturami w widokach kolekcji." + +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "display photo ratings" +msgstr "wyświetlanie ocen zdjęć" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: misc/org.yorba.shotwell.gschema.xml:77 msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." msgstr "" -"Niepoprawna nazwa użytkownika i hasło lub klucz API. Proszę spróbować " -"ponownie, wpisując nazwę użytkownika i hasło poniżej." +"Jeśli jest ustawione na wartość „true”, oceny zdjęć są wyświetlane jako " +"nakładki." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "rating filter level" +msgstr "poziom filtru ocen" + +#: misc/org.yorba.shotwell.gschema.xml:83 msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." msgstr "" -"Podany adres URL nie jest głównym katalogiem witryny Gallery3. Proszę się " -"upewnić, że wpisano go poprawnie i nie zawiera żadnych dodatkowych części " -"końcowych (np. index.php)." +"Określa sposób filtrowania zdjęć w oparciu o ich oceny. 1: odrzucone lub " +"lepsze, 2: nieocenione lub lepsze, 3: jeden lub lepsze, 4: dwa lub lepsze, " +"5: trzy lub lepsze, 6: cztery lub lepsze, 7: pięć lub lepsze." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "Nierozpoznany użytkownik" +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort events ascending" +msgstr "rosnące porządkowanie wydarzeń" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr " Nie odnaleziono witryny" +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" +"Jeśli jest ustawione na wartość „true”, wydarzenia będą porządkowane rosnąco." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "Copyright © 2013 rajce.net" +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos ascending" +msgstr "rosnące porządkowanie zdjęć w bibliotece" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "True if library photos should be sorted ascending, false if descending." msgstr "" -"Wystąpił komunikat błędu podczas publikowania w serwisie Rajce. Proszę " -"spróbować ponownie." +"Jeśli jest ustawione na wartość „true”, zdjęcia w bibliotece będą " +"porządkowane rosnąco." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." -msgstr "Proszę podać adres e-mail i hasło powiązane z kontem serwisu Rajce." +#: misc/org.yorba.shotwell.gschema.xml:100 +msgid "sort library photos criteria" +msgstr "kryteria porządkowania zdjęć w kolekcji" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "Nieprawidłowy adres e-mail i/lub hasło. Proszę spróbować ponownie" +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." +msgstr "" +"Kod numeryczny określający kryteria porządkowania zdjęć w widoku kolekcji." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "Nieprawidłowa adres e-mail lub hasło użytkownika" +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos ascending" +msgstr "rosnące porządkowanie zdjęć wydarzeń" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "Adres _e-mail" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" +"Jeśli jest ustawione na wartość „true”, zdjęcia wydarzeń są porządkowane " +"rosnąco." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_Hasło" +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "sort event photos criteria" +msgstr "kryteria porządkowania zdjęć wydarzeń" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "_Zapamiętanie" +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "Specifies the sort criteria for event photos." +msgstr "Określa kryteria porządkowania zdjęć wydarzeń." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "Zaloguj" +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "use 24 hour time" +msgstr "czas 24-godzinny" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "_Ukrycie albumu" +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" +"Jeśli jest ustawione na wartość „true”, czas jest wyświetlany za pomocą " +"zegara 24-godzinnego zamiast notacji AM/PM." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "Zalogowano w serwisie Rajce jako użytkownik %s." +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "keep relative time between photos" +msgstr "utrzymywanie względnego czasu między zdjęciami" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "Zdjęcia pojawią się w:" +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" +"Jeśli jest ustawione na wartość „true”, czas względny podczas zmieniania " +"czasu/daty zdjęć będzie utrzymywany, zamiast ustawiania wszystkich zdjęć na " +"ten sam czas." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "Istni_ejącym albumie:" +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "modify original photo files" +msgstr "modyfikowanie oryginalnych plików zdjęć" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "_Nowym albumie o nazwie:" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" +"Jeśli jest ustawione na wartość „true”, oryginalne pliki będą także " +"modyfikowane podczas zmieniania czasu/daty zdjęć." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "Otwieranie _albumu docelowego w przeglądarce" +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "show welcome dialog on startup" +msgstr "wyświetlanie okna powitanego podczas uruchamiania" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "Opu_blikuj" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" +"Jeśli jest ustawione na wartość „true”, okno powitalne jest wyświetlane " +"podczas uruchamiania." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "_Wyloguj" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "sidebar position" +msgstr "położenie panelu bocznego" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "Copyright 2012 BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The width, in pixels, of the sidebar" +msgstr "Szerokość panelu bocznego w pikselach" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500×375 pikseli" +#: misc/org.yorba.shotwell.gschema.xml:148 +msgid "photo thumbnail scale" +msgstr "skala miniatur zdjęć" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024×768 pikseli" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "Skala miniatur zdjęć, zakres od 72 do 360." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280×853 piksele" +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "pin toolbar state" +msgstr "przypinanie paska narzędziowego" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" -msgstr "„%s” nie jest prawidłową odpowiedzią na żądanie uwierzytelnienia OAuth" +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "Pin toolbar in fullscreen, or not." +msgstr "Przypinanie paska narzędziowego na pełnym ekranie." + +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "background color" +msgstr "kolor tła" + +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "A grayscale color for use as the background color." +msgstr "Kolor w skali szarości używany jako kolor tła." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: misc/org.yorba.shotwell.gschema.xml:166 +msgid "Selection state of \"hide photos\" option" +msgstr "Stan zaznaczenia opcji ukrywania zdjęć" + +#: misc/org.yorba.shotwell.gschema.xml:167 msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." msgstr "" -"TumblrPublisher: start( ): nie można uruchomić; tego modułu publikującego " -"nie można uruchamiać ponownie." +"Ostatnio używany stan zaznaczenia opcji ukrywania już zaimportowanych zdjęć " +"na stronie importowania." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." -msgstr "" -"Proszę podać nazwę użytkownika i hasło powiązane z kontem serwisu Tumblr." +#: misc/org.yorba.shotwell.gschema.xml:174 +msgid "delay" +msgstr "opóźnienie" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" -msgstr "Nieprawidłowa nazwa użytkownika i/lub hasło. Proszę spróbować ponownie" +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "Opóźnienie między zdjęciami w pokazie slajdów w sekundach." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "Nieprawidłowa nazwa użytkownika lub hasło" +#: misc/org.yorba.shotwell.gschema.xml:180 +msgid "transition delay" +msgstr "opóźnienie przejścia" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "Nie można wczytać interfejsu użytkownika: %s" +#: misc/org.yorba.shotwell.gschema.xml:181 +msgid "" +"The time (in seconds) that a transition runs between photos in a slideshow" +msgstr "Czas przejścia między zdjęciami w pokazie slajdów w sekundach" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:186 +msgid "transition effect id" +msgstr "identyfikator efektu przejścia" + +#: misc/org.yorba.shotwell.gschema.xml:187 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"The name of the transition effect that will be used between photos when " +"running a slideshow" msgstr "" -"Zalogowano w serwisie Tumblr jako %s.\n" -"\n" +"Nazwa efektu przejścia używanego między zdjęciami podczas pokazu slajdów" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "Copyright 2010+ Evgeniy Polyakov " +#: misc/org.yorba.shotwell.gschema.xml:192 +msgid "Show title" +msgstr "Wyświetlanie tytułu" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "Witryna serwisu Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:193 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "Czy wyświetlać tytuł zdjęcia podczas pokazu slajdów" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:659 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "Obecnie nie zalogowano w serwisie Yandex.Fotki." +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "maximize library window" +msgstr "maksymalizacja okna kolekcji" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Dodatkowe usługi publikowania programu Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "True if library application is maximized, false otherwise." +msgstr "" +"Jeśli jest ustawione na wartość „true”, okno kolekcji jest zmaksymalizowane." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "_Wstecz" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "width of library window" +msgstr "szerokość okna kolekcji" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "Za_loguj" +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded width of the library application window." +msgstr "Ostatnio zapisana szerokość okna kolekcji." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Komunikat powitalny zastępowany podczas uruchamiania" +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "height of library window" +msgstr "wysokość okna kolekcji" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "Adres URL witryny _Gallery3:" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "The last recorded height of the library application window." +msgstr "Ostatnio zapisana wysokość okna kolekcji." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "_Nazwa użytkownika:" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "maximize direct-edit window" +msgstr "maksymalizacja okna bezpośredniego modyfikowania" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Hasło:" +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" +"Jeśli jest ustawione na wartość „true”, okno bezpośredniego modyfikowania " +"jest zmaksymalizowane." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_Klucz API:" +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "width of direct-edit window" +msgstr "szerokość okna bezpośredniego modyfikowania" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "lub" +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded width of the direct-edit application window." +msgstr "Ostatnio zapisana szerokość okna bezpośredniego modyfikowania." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "_Nowy album" +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "height of direct-edit window" +msgstr "wysokość okna bezpośredniego modyfikowania" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "Istni_ejący album" +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "The last recorded height of the direct-edit application window." +msgstr "Ostatnio zapisana wysokość okna bezpośredniego modyfikowania." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" -msgstr "" -"_Usunięcie położenia, etykiety, aparatu i innych informacji " -"identyfikacyjnych przed wysłaniem" +#: misc/org.yorba.shotwell.gschema.xml:236 +msgid "sidebar divider position" +msgstr "położenie przegrody panelu bocznego" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" +#: misc/org.yorba.shotwell.gschema.xml:237 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." msgstr "" -"„Publikowanie w $url jako użytkownika $username” (uzupełniane w kodzie " -"programu)" +"Ostatnio zapisane położenie przegrody między panelem bocznym a widokiem w " +"oknie kolekcji." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "Ograniczenie skalowania:" +#: misc/org.yorba.shotwell.gschema.xml:244 +msgid "import directory" +msgstr "katalog importu" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr "piksele" +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "Directory in which imported photo files are placed." +msgstr "Katalog, w którym umieszczać zaimportowane pliki zdjęć." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Rozmiar pierwotny" +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "watch library directory for new files" +msgstr "obserwowanie katalogu kolekcji pod kątem nowych plików" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Szerokość lub wysokość" +#: misc/org.yorba.shotwell.gschema.xml:251 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" +"Jeśli jest ustawione na wartość „true”, pliki dodane do katalogu kolekcji są " +"automatycznie importowane." -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "etykieta" +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "write metadata to master files" +msgstr "zapisywanie metadanych do głównych plików" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blogi:" +#: misc/org.yorba.shotwell.gschema.xml:257 +msgid "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." +msgstr "" +"Jeśli jest ustawione na wartość „true”, zmiany metadanych (etykiety, tytuły " +"itp.) są zapisywane do głównych plików zdjęć." -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "_Rozmiar zdjęcia:" +#: misc/org.yorba.shotwell.gschema.xml:262 +msgid "use lowercase filenames" +msgstr "małe litery nazw plików" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "zalogowano w serwisie Rajce jako użytkownik $name" +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" +msgstr "" +"Jeśli jest ustawione na wartość „true”, program Shotwell będzie konwertował " +"wszystkie nazwy plików na małe litery podczas importowania plików zdjęć" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype pojawi się w" +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern" +msgstr "wzorzec katalogów" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "_Albumy (lub zapisanie nowego):" +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"Ciąg kodujący wzorzec nazw używany do nazywania katalogów zdjęć podczas " +"importowania." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "_Typ dostępu:" +#: misc/org.yorba.shotwell.gschema.xml:274 +msgid "directory pattern custom" +msgstr "niestandardowy wzorzec katalogów" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "Wyłączenie _komentarzy" +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"Ciąg kodujący niestandardowy wzorzec nazw używany do nazywania katalogów " +"zdjęć podczas importowania." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "_Zakazanie pobierania oryginalnego zdjęcia" +#: misc/org.yorba.shotwell.gschema.xml:280 +msgid "RAW developer default" +msgstr "domyślne wywoływacza RAW" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Publiczne" +#: misc/org.yorba.shotwell.gschema.xml:281 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "Domyślna opcja używana dla wywoływacza RAW." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1195 -msgid "Friends" -msgstr "Przyjaciele" +#: misc/org.yorba.shotwell.gschema.xml:288 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "Najczęściej używane proporcje kadrowania w menu." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Prywatne" +#: misc/org.yorba.shotwell.gschema.xml:289 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "Kod numeryczny przedstawiający ostatnio wybrane proporcje kadrowania." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Połączenie programu Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:293 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "Numerator najczęściej używanych niestandardowych proporcji kadrowania." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:294 msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." msgstr "" -"Nie zalogowano w serwisie Facebook.\n" -"\n" -"Jeśli użytkownik nie posiada jeszcze konta w serwisie Facebook, można je " -"utworzyć podczas procesu logowania. Podczas logowania Shotwell Connect może " -"zapytać o pozwolenie na wysyłanie zdjęć i publikowanie ich w kanale " -"użytkownika. To pozwolenie jest wymagane, aby Shotwell Connect mogło działać." +"Niezerowa, dodatnia liczba całkowita przedstawiająca szerokość ostatnio " +"wprowadzonych niestandardowych proporcji kadrowania." + +#: misc/org.yorba.shotwell.gschema.xml:298 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "" +"Denominator najczęściej używanych niestandardowych proporcji kadrowania." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 +#: misc/org.yorba.shotwell.gschema.xml:299 msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." msgstr "" -"Już zalogowano się i wylogowano z serwisu Facebook podczas tej sesji " -"programu Shotwell.\n" -"Aby kontynuować publikowanie do serwisu Facebook, należy zakończyć i " -"ponownie uruchomić program Shotwell, a następnie ponownie spróbować " -"publikacji." +"Niezerowa, dodatnia liczba całkowita przedstawiająca wysokość ostatnio " +"wprowadzonych niestandardowych proporcji kadrowania." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "Standardowe (720 pikseli)" +#: misc/org.yorba.shotwell.gschema.xml:306 +msgid "external photo editor" +msgstr "zewnętrzny edytor zdjęć" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "Duże (2048 pikseli)" +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit photos." +msgstr "Zewnętrzny program używany do modyfikowania zdjęć." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "Testowanie połączenia z serwisem Facebook…" +#: misc/org.yorba.shotwell.gschema.xml:312 +msgid "external raw editor" +msgstr "zewnętrzny edytor plików RAW" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "Tworzenie albumu…" +#: misc/org.yorba.shotwell.gschema.xml:313 +msgid "External application used to edit RAW photos." +msgstr "Zewnętrzny program używany do modyfikowania zdjęć RAW." + +#: misc/org.yorba.shotwell.gschema.xml:320 +msgid "last used publishing service" +msgstr "ostatnio używana usługa publikowania" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 +#: misc/org.yorba.shotwell.gschema.xml:321 +#: misc/org.yorba.shotwell.gschema.xml:327 msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." +"A numeric code representing the last service to which photos were published" msgstr "" -"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " -"publikowania do serwisu Facebook." +"Kod numeryczny przedstawiający ostatnią usługę, w której zdjęcia były " +"publikowane" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1033 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:326 +msgid "default publishing service" +msgstr "domyślna usługa publikowania" + +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "access token" +msgstr "token dostępu" + +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook OAuth token for the currently logged in session, if any" +msgstr "Token OAuth serwisu Facebook obecnie zalogowanej sesji" + +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user i.d." +msgstr "identyfikator użytkownika" + +#: misc/org.yorba.shotwell.gschema.xml:347 +msgid "Facebook user i.d. for the currently logged in user, if any" +msgstr "Identyfikator serwisu Facebook dla obecnie zalogowanego użytkownika" + +#: misc/org.yorba.shotwell.gschema.xml:352 +msgid "user name" +msgstr "nazwa użytkownika" + +#: misc/org.yorba.shotwell.gschema.xml:353 +msgid "The name of the currently logged in Facebook user, if any" +msgstr "Nazwa obecnie zalogowanego użytkownika serwisu Facebook" + +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default size code" +msgstr "kod domyślnych wymiarów" + +#: misc/org.yorba.shotwell.gschema.xml:359 msgid "" -"You are logged into Facebook as %s.\n" -"\n" +"A numeric code representing the default size for photos published to Facebook" msgstr "" -"Zalogowano w serwisie Facebook jako użytkownik %s.\n" -"\n" +"Kod numeryczny przedstawiający domyślne wymiary zdjęć publikowanych w " +"serwisie Facebook" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1034 -msgid "Where would you like to publish the selected photos?" -msgstr "Gdzie opublikować wybrane zdjęcia?" +#: misc/org.yorba.shotwell.gschema.xml:365 +msgid "" +"Whether images being uploaded to Facebook should have their metadata removed " +"first" +msgstr "" +"Czy obrazy wysyłane do serwisu Facebook mają mieć najpierw usuwane metadane" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1035 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "_Rozmiar wysyłania:" +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token" +msgstr "Token etapu dostępu OAuth" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1194 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "Tylko dla mnie" +#: misc/org.yorba.shotwell.gschema.xml:373 +msgid "The authorization token for the currently logged in Flickr user, if any" +msgstr "Token upoważnienia obecnie zalogowanego użytkownika serwisu Flickr" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1196 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "Wszystkich" +#: misc/org.yorba.shotwell.gschema.xml:378 +msgid "OAuth Access Phase Token Secret" +msgstr "Hasło tokenu etapu dostępu OAuth" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 +#: misc/org.yorba.shotwell.gschema.xml:379 msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" msgstr "" -"Nie zalogowano w serwisie Flickr.\n" -"\n" -"Należy nacisnąć przycisk Zaloguj, aby zalogować się w serwisie Flickr w " -"przeglądarce WWW. Następnie należy upoważnić Shotwell Connect na dowiązanie " -"do konta serwisu Flickr." +"Hasło kryptograficzne używane do podpisywania żądań dla tokenu upoważnienia " +"dla obecnie zalogowanego użytkownika serwisu Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "Nazwa obecnie zalogowanego użytkownika serwisu Flickr" + +#: misc/org.yorba.shotwell.gschema.xml:391 msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +"A numeric code representing the default size for photos published to Flickr" msgstr "" -"Już zalogowano się i wylogowano z serwisu Flickr podczas tej sesji programu " -"Shotwell.\n" -"Aby kontynuować publikowanie do serwisu Flickr, należy zakończyć i ponownie " -"uruchomić program Shotwell, a następnie ponownie spróbować publikacji." +"Kod numeryczny przedstawiający domyślne wymiary zdjęć publikowanych w " +"serwisie Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "Przygotowywanie do zalogowania…" +#: misc/org.yorba.shotwell.gschema.xml:396 +msgid "default visibility" +msgstr "domyślna widoczność" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 +#: misc/org.yorba.shotwell.gschema.xml:397 msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +"A numeric code representing the default visibility for photos published to " +"Flickr" msgstr "" -"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " -"publikowania do serwisu Flickr." +"Kod numeryczny przedstawiający domyślną widoczność zdjęć publikowanych w " +"serwisie Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "Sprawdzanie upoważnienia…" +#: misc/org.yorba.shotwell.gschema.xml:403 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" +"Czy obrazy wysyłane do serwisu Flickr mają mieć najpierw usuwane metadane" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:410 +#: misc/org.yorba.shotwell.gschema.xml:542 +msgid "refresh token" +msgstr "token odświeżania" + +#: misc/org.yorba.shotwell.gschema.xml:411 msgid "" -"You are logged into Flickr as %s.\n" -"\n" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." msgstr "" -"Zalogowano w serwisie Flickr jako użytkownik %s.\n" -"\n" +"Token OAuth używany do odświeżania sesji serwisu Picasa Web Albums dla " +"obecnie zalogowanego użytkownika." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:417 msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"Darmowe konto w serwisie Flickr ogranicza ilość przesyłanych danych na " -"miesiąc.\n" -"W tym miesiącu pozostało %d megabajt." -msgstr[1] "" -"Darmowe konto w serwisie Flickr ogranicza ilość przesyłanych danych na " -"miesiąc.\n" -"W tym miesiącu pozostało %d megabajty." -msgstr[2] "" -"Darmowe konto w serwisie Flickr ogranicza ilość przesyłanych danych na " -"miesiąc.\n" -"W tym miesiącu pozostało %d megabajtów." +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" +"Kod numeryczny przedstawiający domyślne wymiary zdjęć wysyłanych do serwisu " +"Picasa Web Albums" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." -msgstr "Konto Flickr Pro umożliwia nieograniczone wysyłanie." +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "last album" +msgstr "ostatni album" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "Zdjęcia _widoczne dla:" +#: misc/org.yorba.shotwell.gschema.xml:423 +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "The name of the last album the user published photos to, if any" +msgstr "Nazwa albumu, w którym ostatnio publikowano zdjęcia" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "Nagrania wideo _widoczne dla:" +#: misc/org.yorba.shotwell.gschema.xml:429 +msgid "" +"Whether images being uploaded to Picasa should have their metadata removed " +"first" +msgstr "" +"Czy obrazy wysyłane do serwisu Picasa mają mieć najpierw usuwane metadane" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "Zdjęcia i nagrania wideo _widoczne dla:" +#: misc/org.yorba.shotwell.gschema.xml:436 +msgid "Piwigo URL" +msgstr "Adres URL serwera Piwigo" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "Tylko przyjaciół i rodziny" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "URL of the Piwigo server." +msgstr "Adres URL serwera Piwigo." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "Tylko rodzina" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo username, if logged in." +msgstr "Nazwa użytkownika serwera Piwigo." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "Tylko przyjaciele" +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "password" +msgstr "hasło" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048×1536 pikseli" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "Piwigo password, if logged in." +msgstr "Hasło serwera Piwigo." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096×3072 piksele" +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "remember password" +msgstr "zapamiętanie hasła" + +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "If true, remember the Piwigo password." +msgstr "" +"Jeśli jest ustawione na wartość „true”, zapamiętuje hasło serwera Piwigo." + +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last selected Piwigo category." +msgstr "Ostatnio wybrana kategoria serwera Piwigo." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last permission level" +msgstr "ostatni poziom uprawnień" + +#: misc/org.yorba.shotwell.gschema.xml:467 +msgid "The last chosen Piwigo permission level." +msgstr "Ostatnio wybrany poziom uprawnień serwera Piwigo." + +#: misc/org.yorba.shotwell.gschema.xml:473 msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." msgstr "" -"Obecnie nie zalogowano w serwisie Picasa Web Albums.\n" -"\n" -"Należy kliknąć przycisk Zaloguj, aby zalogować w serwisie Picasa Web Albums " -"w przeglądarce WWW. Należy upoważnić program Shotwell Connect do powiązania " -"z kontem serwisu Picasa Web Albums." +"Kod numeryczny przedstawiający ostatnie ustawienie wymiarów zdjęcia używane " +"podczas publikowania na serwerze Piwigo." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 +#: misc/org.yorba.shotwell.gschema.xml:479 msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" msgstr "" -"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " -"publikowania do serwisu Picasa." +"Czy obrazy wysyłane do serwera Piwigo mają mieć najpierw usuwane metadane" -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "Zalogowano w serwisie Picasa Web Albums jako użytkownik %s." +#: misc/org.yorba.shotwell.gschema.xml:484 +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "" +"jeśli tytuł jest ustawiony, a komentarz nie, to używanie tytułu jako " +"komentarz podczas wysyłania do serwera Piwigo" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "Nagrania wideo pojawią się w:" +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" +"Czy obrazy wysłane do serwera Piwigo mają mieć ustawiany komentarz z tytułu, " +"jeśli tytuł jest ustawiony, a komentarz nie" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "Małe (640×480 pikseli)" +#: misc/org.yorba.shotwell.gschema.xml:490 +msgid "do not upload tags when uploading to Piwigo" +msgstr "bez wysyłania etykiet podczas wysyłania do serwera Piwigo" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "Średnie (1024×768 pikseli)" +#: misc/org.yorba.shotwell.gschema.xml:491 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" +"Czy obrazy wysłane do serwera Piwigo mają mieć usuwane etykiety podczas " +"wysyłania, aby nie pojawiały się na zdalnym serwerze Piwigo." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "Zalecane (1600×1200 pikseli)" +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 username" +msgstr "Nazwa użytkownika serwisu Gallery3" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048×1536 pikseli)" +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "API key" +msgstr "klucz API" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "Rozmiar pierwotny" +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 API key" +msgstr "Klucz API serwisu Gallery3" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "Tworzenie albumu %s…" +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "URL" +msgstr "URL" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "Gallery3 site URL" +msgstr "Adres URL witryny Gallery3" + +#: misc/org.yorba.shotwell.gschema.xml:523 +msgid "" +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" msgstr "" -"Wystąpił komunikat błędu podczas publikowania w serwisie Piwigo. Proszę " -"spróbować ponownie." +"Wskazuje, czy obrazy wysyłane do serwisu Gallery3 mają mieć najpierw usuwane " +"metadane" + +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "scaling constraint of uploaded picture" +msgstr "ograniczenie skalowania wysyłanego zdjęcia" + +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "Identyfikator ograniczenia skalowania wysyłanego zdjęcia" + +#: misc/org.yorba.shotwell.gschema.xml:534 +msgid "pixels of the major axis uploaded picture" +msgstr "piksele głównej osi wysyłanego zdjęcia" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: misc/org.yorba.shotwell.gschema.xml:535 msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" msgstr "" -"Proszę podać adres URL kolekcji zdjęć serwisu Piwigo oraz nazwę użytkownika " -"i hasło powiązane z kontem w serwisie Piwigo dla tej kolekcji." +"Piksele głównej osi wysyłanego zdjęcia. Używane tylko, jeśli „scaling-" +"constraint-id” ma odpowiednią wartość" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 +#: misc/org.yorba.shotwell.gschema.xml:543 msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." msgstr "" -"Program Shotwell nie może połączyć się z kolekcją zdjęć serwisu Piwigo. " -"Proszę sprawdzić podany adres URL" +"Token OAuth używany do odświeżania sesji serwisu YouTube dla obecnie " +"zalogowanego użytkownika." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "Nieprawidłowy adres URL" +#: misc/org.yorba.shotwell.gschema.xml:550 +msgid "last used import service" +msgstr "ostatnio używana usługa importowania" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "Administratorzy, rodzina, przyjaciele, kontakty" - -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "Administratorzy, rodzina, przyjaciele" - -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "Administratorzy, rodzina" +#: misc/org.yorba.shotwell.gschema.xml:551 +msgid "" +"A numeric code representing the last service from which photos were imported" +msgstr "" +"Kod numeryczny przedstawiający ostatnią usługę, z której importowano zdjęcia" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "Administratorzy" +#: misc/org.yorba.shotwell.gschema.xml:558 +msgid "interpreter state cookie" +msgstr "ciasteczko stanu interpretatora" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 +#: misc/org.yorba.shotwell.gschema.xml:559 msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." -msgstr "" -"Nie zalogowano w serwisie YouTube.\n" -"\n" -"Aby kontynuować używanie serwisu YouTube, należy się zalogować do konta " -"Google i ustawić je do używania serwisu YouTube. Większość kont można " -"ustawić używając przeglądarki WWW do zalogowania się do serwisu YouTube co " -"najmniej raz." +"A numeric code that captures the state of the GStreamer plug-in environment" +msgstr "Kod numeryczny przechwytujący stan środowiska wtyczki GStreamer" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 +#: misc/org.yorba.shotwell.gschema.xml:566 +msgid "content layout mode" +msgstr "tryb układu treści" + +#: misc/org.yorba.shotwell.gschema.xml:567 msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." +"A numeric code that describes how photos are laid out on the page during " +"printing" msgstr "" -"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " -"publikowania do serwisu YouTube." +"Kod numeryczny opisujący sposób ułożenia zdjęć na stronie podczas drukowania" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "Zalogowano w serwisie YouTube jako użytkownik %s." +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content ppi" +msgstr "ppi treści" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "Nagrania wideo pojawią się w „%s”" +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "Liczba pikseli na cal (ppi) wysyłanych do drukarki podczas drukowania" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "Wyświetlane publicznie" +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content width" +msgstr "szerokość treści" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "Nie wyświetlane publicznie" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The width of the printed emulsion on the page when printing" +msgstr "Szerokość drukowanej emulsji na stronie podczas drukowania" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "Opublikowanie do i_stniejącego albumu:" +#: misc/org.yorba.shotwell.gschema.xml:584 +msgid "content height" +msgstr "wysokość treści" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Utworzenie _nowego albumu o nazwie:" +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "The height of the printed emulsion on the page when printing" +msgstr "Wysokość drukowanej emulsji na stronie podczas drukowania" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "Nagrania wideo i nowe albumy zdjęć _widoczne dla:" +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "content units" +msgstr "jednostki treści" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 +#: misc/org.yorba.shotwell.gschema.xml:591 msgid "" -"_Remove location, camera, and other identifying information before uploading" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" msgstr "" -"_Usunięcie położenia, aparatu i innych informacji identyfikacyjnych przed " -"wysłaniem" +"Kod numeryczny przedstawiający jednostkę miary (cale lub centymetry) używaną " +"podczas drukowania" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "images per page code" +msgstr "kod obrazów na stronę" + +#: misc/org.yorba.shotwell.gschema.xml:597 msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." +"A numeric code representing the currently selected images per page mode used " +"when printing" msgstr "" -"Proszę podać numer potwierdzenia pojawiający się po zalogowaniu do serwisu " -"Flickr w przeglądarce WWW." - -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "_Numer upoważnienia:" +"Kod numeryczny przedstawiający obecnie wybrany tryb obrazów na stronę " +"używany podczas drukowania" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "Ko_ntynuuj" +#: misc/org.yorba.shotwell.gschema.xml:602 +msgid "size selection" +msgstr "wybór rozmiaru" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "Wyśw_ietlenie listy albumów w publicznej galerii" +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" +"Indeks bieżącego rozmiaru drukowania na wcześniej określonej liście " +"standardowych rozmiarów" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "Rozmiar _zdjęcia:" +#: misc/org.yorba.shotwell.gschema.xml:608 +msgid "match aspect ratio" +msgstr "utrzymywanie proporcji" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "Adres _URL kolekcji zdjęć Piwigo" +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" +"Określa, czy niestandardowe rozmiary drukowania muszą pasować do proporcji " +"oryginalnego zdjęcia" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "_Nazwa użytkownika" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "print titles" +msgstr "drukowanie tytułów" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "_Zapamiętanie hasła" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" +"Jeśli jest ustawione na wartość „true”, tytuł zdjęcia jest drukowany podczas " +"drukowania zdjęcia." -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "_Istniejącej kategorii:" +#: misc/org.yorba.shotwell.gschema.xml:620 +msgid "titles font" +msgstr "czcionka tytułów" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "Zdjęcia będą _widoczne dla:" +#: misc/org.yorba.shotwell.gschema.xml:621 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "Nazwa czcionki używanej dla tytułów zdjęć podczas drukowania." -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Rozmiar zdjęcia:" +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable facebook publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie Facebook" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "w kategorii:" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"Facebook jest włączona" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Komentarz albumu:" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable flickr publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie Flickr" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" msgstr "" -"_Jeśli tytuł jest ustawiony, a komentarz nie, to użycie tytułu jako komentarz" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"Flickr jest włączona" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "_Bez wysyłania etykiet" +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable picasa publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie Picasa" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Wyloguj" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"Picasa Web Albums jest włączona" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:298 -msgid "Publish" -msgstr "Opublikuj" +#: misc/org.yorba.shotwell.gschema.xml:650 +msgid "enable youtube publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie YouTube" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Główne usługi publikowania" +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"YouTube jest włączona" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "U_stawienia prywatności nagrań wideo:" +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable piwigo publishing plugin" +msgstr "włączenie wtyczki publikowania na serwerze Piwigo" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "Zasłony" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania na serwerze " +"Piwigo jest włączona" -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "Szachy" +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable yandex publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie Yandex" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "Kółko" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"Yandex.Fotki jest włączona" -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "Kółka" +#: misc/org.yorba.shotwell.gschema.xml:668 +msgid "enable tumblr publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie Tumblr" -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "Zegar" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"Tumblr jest włączona" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "Kruszenie" +#: misc/org.yorba.shotwell.gschema.xml:674 +msgid "enable rajce publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie Rajce" -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "Przenikanie" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"Rajce jest włączona" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "Slajd" +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable gallery3 publishing plugin" +msgstr "włączenie wtyczki publikowania w serwisie Gallery3" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "Kwadraty" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka publikowania w serwisie " +"Gallery3 jest włączona" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "Paski" +#: misc/org.yorba.shotwell.gschema.xml:686 +msgid "enable F-Spot import plugin" +msgstr "włączenie wtyczki importu z programu F-Spot" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Główne przejścia pokazu slajdów" +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka importowania z programu F-" +"Spot jest włączona" + +#: misc/org.yorba.shotwell.gschema.xml:692 +msgid "enable slideshow crumble transition" +msgstr "włączenie przejścia wykruszania pokazu slajdów" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 +#: misc/org.yorba.shotwell.gschema.xml:693 msgid "" -"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " -"Inc." +"True if the Crumble slideshow transition plugin is enabled, false otherwise" msgstr "" -"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " -"Inc." +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia wykruszania pokazu " +"slajdów jest włączona" -#: ../src/AppDirs.vala:64 ../src/AppDirs.vala:115 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "Nie można utworzyć katalogu pamięci podręcznej %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:698 +msgid "enable slideshow fade transition" +msgstr "włączenie przejścia przenikania pokazu slajdów" -#: ../src/AppDirs.vala:74 ../src/AppDirs.vala:104 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "Nie można utworzyć katalogu danych %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia przenikania pokazu " +"slajdów jest włączona" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:168 -msgid "Pictures" -msgstr "Obrazy" +#: misc/org.yorba.shotwell.gschema.xml:704 +#: misc/org.yorba.shotwell.gschema.xml:728 +msgid "enable slideshow slide transition" +msgstr "włączenie przejścia osunięcia pokazu slajdów" -#: ../src/AppDirs.vala:206 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "Nie można utworzyć katalogu tymczasowego %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia osunięcia pokazu " +"slajdów jest włączona" -#: ../src/AppDirs.vala:223 ../src/AppDirs.vala:254 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "Nie można utworzyć podkatalogu danych %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:710 +msgid "enable slideshow clock transition" +msgstr "włączenie przejścia zegara pokazu slajdów" -#: ../src/AppDirs.vala:236 -#, c-format -msgid "Could not make directory %s writable" -msgstr "Nie można ustawić katalogu %s jako zapisywalnego" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia zegara pokazu " +"slajdów jest włączona" -#: ../src/AppDirs.vala:239 -#, c-format -msgid "Could not make directory %s writable: %s" -msgstr "Nie można ustawić katalogu %s jako zapisywalnego: %s" +#: misc/org.yorba.shotwell.gschema.xml:716 +#: misc/org.yorba.shotwell.gschema.xml:722 +msgid "enable slideshow circle transition" +msgstr "włączenie przejścia okręgu pokazu slajdów" -#: ../src/AppWindow.vala:54 -msgid "Pin Toolbar" -msgstr "Przypnij pasek narzędziowy" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia okręgu pokazu " +"slajdów jest włączona" -#: ../src/AppWindow.vala:55 -msgid "Pin the toolbar open" -msgstr "Przypina pasek narzędziowy" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia okręgów pokazu " +"slajdów jest włączona" -#: ../src/AppWindow.vala:60 -msgid "Leave fullscreen" -msgstr "Opuszcza pełny ekran" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia żaluzji pokazu " +"slajdów jest włączona" -#: ../src/AppWindow.vala:496 -msgid "_Contents" -msgstr "_Spis treści" +#: misc/org.yorba.shotwell.gschema.xml:734 +msgid "enable slideshow squares transition" +msgstr "włączenie przejścia kwadratów pokazu slajdów" -#: ../src/AppWindow.vala:501 -msgid "_Frequently Asked Questions" -msgstr "Naj_częściej zadawane pytania" +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia kwadratów pokazu " +"slajdów jest włączona" -#: ../src/AppWindow.vala:506 -msgid "_Report a Problem..." -msgstr "_Zgłoś problem…" +#: misc/org.yorba.shotwell.gschema.xml:740 +msgid "enable slideshow stripes transition" +msgstr "włączenie przejścia pasków pokazu slajdów" -#: ../src/AppWindow.vala:605 ../src/AppWindow.vala:626 -#: ../src/AppWindow.vala:643 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1424 ../src/Dialogs.vala:1447 ../src/Resources.vala:157 -#: ../src/data_imports/DataImportsUI.vala:413 -#: ../src/publishing/PublishingUI.vala:512 -msgid "_Cancel" -msgstr "_Anuluj" +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia pasków pokazu " +"slajdów jest włączona" -#: ../src/AppWindow.vala:653 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:746 +msgid "enable slideshow chess transition" +msgstr "włączenie przejścia szachownicy pokazu slajdów" + +#: misc/org.yorba.shotwell.gschema.xml:747 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" -"\n" -"%s" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" msgstr "" -"Wystąpił krytyczny błąd podczas uzyskiwania dostępu do kolekcji programu " -"Shotwell. Program nie może kontynuować.\n" -"\n" -"%s" +"Jeśli jest ustawione na wartość „true”, wtyczka przejścia szachownicy pokazu " +"slajdów jest włączona" -#: ../src/AppWindow.vala:673 -msgid "Visit the Shotwell web site" +#: plugins/common/Resources.vala:12 +msgid "Visit the Shotwell home page" msgstr "Witryna programu Shotwell" -#: ../src/AppWindow.vala:685 -#, c-format -msgid "Unable to display help: %s" -msgstr "Nie można wyświetlić pomocy: %s" +#: plugins/common/Resources.vala:31 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"verayin , 2011\n" +"lsbeeler , 2011\n" +"Piotr Drąg , 2011-2016\n" +"Aviary.pl , 2014-2016" -#: ../src/AppWindow.vala:693 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "Nie można przejść do bazy danych błędów: %s" +#: plugins/common/RESTSupport.vala:451 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:958 +msgid "A temporary file needed for publishing is unavailable" +msgstr "Plik tymczasowy wymagany do publikacji jest niedostępny" -#: ../src/AppWindow.vala:701 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "Nie można wyświetlić dokumentu FAQ: %s" +#: plugins/common/RESTSupport.vala:1157 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" +"Już zalogowano się i wylogowano z serwisów Google podczas tej sesji programu " +"Shotwell.\n" +"\n" +"Aby kontynuować publikowanie do serwisów Google, należy zakończyć i ponownie " +"uruchomić program Shotwell, a następnie ponownie spróbować publikacji." -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "Powodzenie" +#: plugins/shotwell-data-imports/FSpotImporter.vala:36 +#: plugins/shotwell-publishing/FacebookPublishing.vala:33 +#: plugins/shotwell-publishing/FlickrPublishing.vala:33 +#: plugins/shotwell-publishing/PicasaPublishing.vala:33 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:33 +#: plugins/shotwell-publishing/YouTubePublishing.vala:33 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Copyright 2016 Software Freedom Conservancy Inc." -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "Błąd pliku" +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"Witamy w usłudze importu kolekcji programu F-Spot.\n" +"\n" +"Proszę wybrać kolekcję do zaimportowania, wybierając jedną z istniejących " +"kolekcji odnalezionych przez program Shotwell lub wybierając alternatywny " +"plik bazy danych programu F-Spot." -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "Nie można dekodować pliku" +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"Witamy w usłudze importu kolekcji programu F-Spot.\n" +"\n" +"Proszę wybrać plik bazy danych programu F-Spot." -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "Błąd bazy danych" +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "Manually select an F-Spot database file to import:" +msgstr "Ręczny wybór pliku bazy danych programu F-Spot do zaimportowania:" -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "Użytkownik przerwał importowanie" - -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "Nie jest plikiem" +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: plik nie " +"istnieje lub nie jest bazą danych programu F-Spot" -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "Plik już istnieje w bazie danych" +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: ta wersja " +"bazy danych programu F-Spot nie jest obsługiwana przez program Shotwell" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "Nieobsługiwany format pliku" +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: błąd podczas " +"odczytywania tablicy etykiet" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "Nie jest plikiem obrazu" +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"Nie można otworzyć wybranego pliku bazy danych programu F-Spot: błąd podczas " +"odczytywania tablicy zdjęć" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "Niepowodzenie dysku" +#: plugins/shotwell-data-imports/FSpotImporter.vala:72 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"Program Shotwell odnalazł %d zdjęć w kolekcji programu F-Spot i obecnie je " +"importuje. Duplikaty zostaną automatycznie wykryte i usunięte.\n" +"\n" +"Można zamknąć to okno i używać programu Shotwell, podczas gdy import jest " +"przeprowadzany w tle." -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "Dysk jest pełny" +#: plugins/shotwell-data-imports/FSpotImporter.vala:86 +#, c-format +msgid "F-Spot library: %s" +msgstr "Kolekcja programu F-Spot: %s" -#: ../src/BatchImport.vala:59 -msgid "Camera error" -msgstr "Błąd aparatu" +#: plugins/shotwell-data-imports/FSpotImporter.vala:424 +msgid "Preparing to import" +msgstr "Przygotowywanie importu" -#: ../src/BatchImport.vala:62 -msgid "File write error" -msgstr "Błąd zapisu pliku" +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "Usługi importowania głównych danych" -#: ../src/BatchImport.vala:65 -msgid "Corrupt image file" -msgstr "Uszkodzony plik obrazu" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "_Wstecz" -#: ../src/BatchImport.vala:68 -#, c-format -msgid "Imported failed (%d)" -msgstr "Zaimportowanie się nie powiodło (%d)" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "Za_loguj" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2635 -msgid "S_lideshow" -msgstr "Pokaz s_lajdów" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "Adres URL witryny _Gallery3:" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2636 -msgid "Play a slideshow" -msgstr "Odtwarza pokaz slajdów" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "_Nazwa użytkownika:" -#: ../src/CollectionPage.vala:456 -msgid "Export Photo/Video" -msgstr "Eksport zdjęcia/nagrania wideo" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_Hasło:" -#: ../src/CollectionPage.vala:456 -msgid "Export Photos/Videos" -msgstr "Eksport zdjęć/nagrań wideo" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "_Klucz API:" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3209 -msgid "Export Photo" -msgstr "Eksport zdjęcia" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "lub" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 -msgid "Export Photos" -msgstr "Eksport zdjęć" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "_Wyloguj" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Rotating" -msgstr "Obracanie" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "Opu_blikuj" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Undoing Rotate" -msgstr "Cofanie obrotu" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "_Nowy album" -#: ../src/CollectionPage.vala:570 -msgid "Flipping Horizontally" -msgstr "Odwracanie poziome" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "Istni_ejący album" -#: ../src/CollectionPage.vala:571 -msgid "Undoing Flip Horizontally" -msgstr "Cofanie odwrócenia poziomego" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "" +"_Usunięcie położenia, etykiety, aparatu i innych informacji " +"identyfikacyjnych przed wysłaniem" -#: ../src/CollectionPage.vala:580 -msgid "Flipping Vertically" -msgstr "Odwracanie pionowe" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "Ograniczenie skalowania:" -#: ../src/CollectionPage.vala:581 -msgid "Undoing Flip Vertically" -msgstr "Cofanie odwrócenia pionowego" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "piksele" -#: ../src/Commands.vala:733 -msgid "Reverting" -msgstr "Przywracanie" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "Rozmiar pierwotny" -#: ../src/Commands.vala:733 -msgid "Undoing Revert" -msgstr "Cofanie przywracania" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Szerokość lub wysokość" -#: ../src/Commands.vala:777 -msgid "Enhancing" -msgstr "Ulepszanie" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "Moduł publikowania w serwisie Gallery3" -#: ../src/Commands.vala:777 -msgid "Undoing Enhance" -msgstr "Cofanie ulepszania" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" +"Nie zalogowano w serwisie Gallery.\n" +"\n" +"Należy już posiadać konto w serwisie Gallery3, aby ukończyć proces logowania." -#: ../src/Commands.vala:853 -msgid "Applying Color Transformations" -msgstr "Zastosowywanie przekształceń kolorów" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "Domyślny katalog programu Shotwell" -#: ../src/Commands.vala:853 -msgid "Undoing Color Transformations" -msgstr "Cofanie przekształceń kolorów" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" +"\n" +"\n" +"Plik „%s” może nie być obsługiwany lub może być za dużo dla tej witryny " +"Gallery3." -#: ../src/Commands.vala:1003 -msgid "Creating New Event" -msgstr "Tworzenie nowego wydarzenia" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" +"\n" +"Proszę zauważyć, że serwis Gallery3 obsługuje tylko rodzaje nagrań wideo " +"obsługiwane przez oprogramowanie Flowplayer." -#: ../src/Commands.vala:1004 -msgid "Removing Event" -msgstr "Usuwanie wydarzenia" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1021 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1773 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" +"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " +"publikowania do serwisu %s." -#: ../src/Commands.vala:1013 -msgid "Moving Photos to New Event" -msgstr "Przenoszenie zdjęć do nowego wydarzenia" +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1550 +#, c-format +msgid "Publishing to %s as %s." +msgstr "Publikowanie w %s jako użytkownik %s." -#: ../src/Commands.vala:1014 -msgid "Setting Photos to Previous Event" -msgstr "Ustawianie zdjęć do poprzedniego wydarzenia" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1817 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"Proszę podać adres URL witryny Gallery3 oraz nazwę użytkownika i hasło (lub " +"klucz API) dla konta w serwisie Gallery3." -#: ../src/Commands.vala:1071 -msgid "Merging" -msgstr "Łączenie" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1818 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"Niepoprawna nazwa użytkownika i hasło lub klucz API. Proszę spróbować " +"ponownie, wpisując nazwę użytkownika i hasło poniżej." -#: ../src/Commands.vala:1072 -msgid "Unmerging" -msgstr "Cofanie łączenia" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"Podany adres URL nie jest głównym katalogiem witryny Gallery3. Proszę się " +"upewnić, że wpisano go poprawnie i nie zawiera żadnych dodatkowych części " +"końcowych (np. index.php)." -#: ../src/Commands.vala:1081 -msgid "Duplicating photos" -msgstr "Tworzenie duplikatów zdjęć" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1872 +msgid "Unrecognized User" +msgstr "Nierozpoznany użytkownik" -#: ../src/Commands.vala:1081 -msgid "Removing duplicated photos" -msgstr "Usuwanie duplikatów zdjęć" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1877 +msgid " Site Not Found" +msgstr " Nie odnaleziono witryny" -#: ../src/Commands.vala:1104 -#, c-format -msgid "Unable to duplicate one photo due to a file error" -msgid_plural "Unable to duplicate %d photos due to file errors" -msgstr[0] "Nie można utworzyć duplikatu zdjęcia z powodu błędu pliku" -msgstr[1] "Nie można utworzyć duplikatu %d zdjęć z powodu błędów plików" -msgstr[2] "Nie można utworzyć duplikatu %d zdjęć z powodu błędów plików" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "Adres _e-mail" -#: ../src/Commands.vala:1191 -msgid "Restoring previous rating" -msgstr "Przywracanie poprzedniej oceny" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_Hasło" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Increasing ratings" -msgstr "Zwiększanie ocen" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:894 +msgid "_Remember" +msgstr "_Zapamiętanie" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Decreasing ratings" -msgstr "Zmniejszanie ocen" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:895 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "Zaloguj" -#: ../src/Commands.vala:1252 -msgid "Setting RAW developer" -msgstr "Ustawianie wywoływacza RAW" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "Istni_ejącym albumie:" -#: ../src/Commands.vala:1252 -msgid "Restoring previous RAW developer" -msgstr "Przywracanie poprzedniego wywoływacza RAW" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "_Nowym albumie o nazwie:" -#: ../src/Commands.vala:1253 -msgid "Set Developer" -msgstr "Ustaw wywoływacz" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1005 +msgid "_Hide album" +msgstr "_Ukrycie albumu" -#: ../src/Commands.vala:1343 -msgid "Original photo could not be adjusted." -msgstr "Nie można dostosować pierwotnego zdjęcia." +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +msgid "Open target _album in browser" +msgstr "Otwieranie _albumu docelowego w przeglądarce" -#: ../src/Commands.vala:1364 -msgid "Adjusting Date and Time" -msgstr "Dostosowywanie daty i czasu" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:40 +msgid "Copyright (C) 2013 rajce.net" +msgstr "Copyright © 2013 rajce.net" -#: ../src/Commands.vala:1364 -msgid "Undoing Date and Time Adjustment" -msgstr "Cofanie dostosowania daty i czasu" - -#: ../src/Commands.vala:1395 -msgid "One original photo could not be adjusted." -msgid_plural "The following original photos could not be adjusted." -msgstr[0] "Nie można dostosować jednego pierwotnego zdjęcia." -msgstr[1] "Nie można dostosować poniższych pierwotnych zdjęć." -msgstr[2] "Nie można dostosować poniższych pierwotnych zdjęć." +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:744 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "" +"Wystąpił komunikat błędu podczas publikowania w serwisie Rajce. Proszę " +"spróbować ponownie." -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 -msgid "Time Adjustment Error" -msgstr "Błąd dostosowania czasu" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:833 +msgid "Enter email and password associated with your Rajce account." +msgstr "Proszę podać adres e-mail i hasło powiązane z kontem serwisu Rajce." -#: ../src/Commands.vala:1419 -msgid "Time adjustments could not be undone on the following photo file." -msgid_plural "" -"Time adjustments could not be undone on the following photo files." -msgstr[0] "Nie można cofnąć dostosowania czasu na poniższym pliku zdjęcia." -msgstr[1] "Nie można cofnąć dostosowania czasu na poniższych plikach zdjęć." -msgstr[2] "Nie można cofnąć dostosowania czasu na poniższych plikach zdjęć." +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:834 +msgid "Invalid email and/or password. Please try again" +msgstr "Nieprawidłowy adres e-mail i/lub hasło. Proszę spróbować ponownie" -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 -msgid "Create Tag" -msgstr "Utwórz etykietę" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:865 +msgid "Invalid User Email or Password" +msgstr "Nieprawidłowa adres e-mail lub hasło użytkownika" -#: ../src/Commands.vala:1691 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 #, c-format -msgid "Move Tag \"%s\"" -msgstr "Przenieś etykietę „%s”" - -#: ../src/Commands.vala:2343 -msgid "Move Photos to Trash" -msgstr "Przenieś zdjęcia do kosza" +msgid "You are logged into Rajce as %s." +msgstr "Zalogowano w serwisie Rajce jako użytkownik %s." -#: ../src/Commands.vala:2343 -msgid "Restore Photos from Trash" -msgstr "Przywróć zdjęcia z kosza" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "Zdjęcia pojawią się w:" -#: ../src/Commands.vala:2344 -msgid "Move the photos to the Shotwell trash" -msgstr "Przenosi zdjęcia do kosza programu Shotwell" +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Dodatkowe usługi publikowania programu Shotwell" -#: ../src/Commands.vala:2344 -msgid "Restore the photos back to the Shotwell library" -msgstr "Przywraca zdjęcia z powrotem do kolekcji programu Shotwell" +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "Blogi:" -#: ../src/Commands.vala:2363 -msgid "Moving Photos to Trash" -msgstr "Przenoszenie zdjęć do kosza" +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "_Rozmiar zdjęcia:" -#: ../src/Commands.vala:2363 -msgid "Restoring Photos From Trash" -msgstr "Przywracanie zdjęć z kosza" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:36 +msgid "Copyright 2012 BJA Electronics" +msgstr "Copyright 2012 BJA Electronics" -#: ../src/Commands.vala:2449 -msgid "Flag selected photos" -msgstr "Dodaje flagę do wybranych zdjęć" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1231 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1230 +msgid "500 x 375 pixels" +msgstr "500×375 pikseli" -#: ../src/Commands.vala:2450 -msgid "Unflag selected photos" -msgstr "Usuwa flagę z wybranych zdjęć" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1231 +msgid "1024 x 768 pixels" +msgstr "1024×768 pikseli" -#: ../src/Commands.vala:2451 -msgid "Flagging selected photos" -msgstr "Oznaczanie zaznaczonych zdjęć flagą" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:107 +msgid "1280 x 853 pixels" +msgstr "1280×853 piksele" -#: ../src/Commands.vala:2452 -msgid "Unflagging selected photos" -msgstr "Cofanie oznaczeń zdjęć flagą" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:311 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:321 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "„%s” nie jest prawidłową odpowiedzią na żądanie uwierzytelnienia OAuth" -#: ../src/Commands.vala:2459 -msgid "Flag" -msgstr "Dodaj flagę" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:559 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start( ): nie można uruchomić; tego modułu publikującego " +"nie można uruchamiać ponownie." -#: ../src/Commands.vala:2459 -msgid "Unflag" -msgstr "Usuń flagę" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "" +"Proszę podać nazwę użytkownika i hasło powiązane z kontem serwisu Tumblr." -#: ../src/DesktopIntegration.vala:121 -#, c-format -msgid "Unable to launch Nautilus Send-To: %s" -msgstr "Nie można uruchomić rozszerzenia „Wyślij do” programu Nautilus: %s" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:588 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:992 +msgid "Username and/or password invalid. Please try again" +msgstr "Nieprawidłowa nazwa użytkownika i/lub hasło. Proszę spróbować ponownie" -#: ../src/DesktopIntegration.vala:129 -msgid "Send To" -msgstr "Wyślij do" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:615 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1026 +msgid "Invalid User Name or Password" +msgstr "Nieprawidłowa nazwa użytkownika lub hasło" -#: ../src/DesktopIntegration.vala:174 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:634 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:752 #, c-format -msgid "Unable to export background to %s: %s" -msgstr "Nie można wyeksportować tła do %s: %s" +msgid "Could not load UI: %s" +msgstr "Nie można wczytać interfejsu użytkownika: %s" -#: ../src/DesktopIntegration.vala:311 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:734 #, c-format -msgid "Unable to prepare desktop slideshow: %s" -msgstr "Nie można przygotować pokazu slajdów pulpitu: %s" +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"Zalogowano w serwisie Tumblr jako %s.\n" +"\n" -#: ../src/Dialogs.vala:16 -#, c-format -msgid "This will remove the tag \"%s\" from one photo. Continue?" -msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" -msgstr[0] "Etykieta „%s” zostanie usunięta ze zdjęcia. Kontynuować?" -msgstr[1] "Etykieta „%s” zostanie usunięta z %d zdjęć. Kontynuować?" -msgstr[2] "Etykieta „%s” zostanie usunięta z %d zdjęć. Kontynuować?" +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "Copyright 2010+ Evgeniy Polyakov " -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1392 -#: ../src/Resources.vala:158 ../src/Resources.vala:364 -#: ../src/Resources.vala:412 ../src/Resources.vala:677 -msgid "_Delete" -msgstr "_Usuń" +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "Witryna serwisu Yandex.Fotki" -#: ../src/Dialogs.vala:25 -#, c-format -msgid "This will remove the saved search \"%s\". Continue?" -msgstr "Spowoduje to usunięcie zapisanego wyszukiwania „%s”. Kontynuować?" +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:658 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "Obecnie nie zalogowano w serwisie Yandex.Fotki." -#: ../src/Dialogs.vala:35 -msgid "" -"Switching developers will undo all changes you have made to this photo in " -"Shotwell" -msgid_plural "" -"Switching developers will undo all changes you have made to these photos in " -"Shotwell" -msgstr[0] "" -"Przełączenie wywoływacza cofnie wszystkie zmiany wprowadzone do zdjęcia w " -"programie Shotwell" -msgstr[1] "" -"Przełączenie wywoływacza cofnie wszystkie zmiany wprowadzone do zdjęć w " -"programie Shotwell" -msgstr[2] "" -"Przełączenie wywoływacza cofnie wszystkie zmiany wprowadzone do zdjęć w " -"programie Shotwell" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "_Albumy (lub zapisanie nowego):" -#: ../src/Dialogs.vala:39 -msgid "_Switch Developer" -msgstr "_Przełącz wywoływacz" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "_Typ dostępu:" -#: ../src/Dialogs.vala:58 -msgid "Export Video" -msgstr "Eksport nagrań wideo" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "Wyłączenie _komentarzy" -#. Ticket #3023 -#. Attempt to replace the system error with something friendlier -#. if we can't copy an image over for editing in an external tool. -#. Did we fail because we can't write to this directory? -#. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 -#, c-format +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "_Zakazanie pobierania oryginalnego zdjęcia" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "Publiczne" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Przyjaciele" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:498 +msgid "Private" +msgstr "Prywatne" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "Opublikowanie do i_stniejącego albumu:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "Utworzenie _nowego albumu o nazwie:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "_Rozmiar wysyłania:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "Nagrania wideo i nowe albumy zdjęć _widoczne dla:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 msgid "" -"Shotwell couldn't create a file for editing this photo because you do not " -"have permission to write to %s." +"_Remove location, camera, and other identifying information before uploading" msgstr "" -"Program Shotwell nie może utworzyć pliku do modyfikowania tego zdjęcia, " -"ponieważ brak uprawnień do zapisywania w %s." +"_Usunięcie położenia, aparatu i innych informacji identyfikacyjnych przed " +"wysłaniem" -#: ../src/Dialogs.vala:124 +#: plugins/shotwell-publishing/FacebookPublishing.vala:62 +#: plugins/shotwell-publishing/PicasaPublishing.vala:60 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1114 +msgid "Shotwell Connect" +msgstr "Połączenie programu Shotwell" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:64 msgid "" -"Unable to export the following photo due to a file error.\n" +"You are not currently logged into Facebook.\n" "\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." msgstr "" -"Nie można wyeksportować zdjęcia z powodu błędu pliku.\n" +"Nie zalogowano w serwisie Facebook.\n" "\n" +"Jeśli użytkownik nie posiada jeszcze konta w serwisie Facebook, można je " +"utworzyć podczas procesu logowania. Podczas logowania Shotwell Connect może " +"zapytać o pozwolenie na wysyłanie zdjęć i publikowanie ich w kanale " +"użytkownika. To pozwolenie jest wymagane, aby Shotwell Connect mogło działać." -#: ../src/Dialogs.vala:130 +#: plugins/shotwell-publishing/FacebookPublishing.vala:66 msgid "" -"\n" -"\n" -"Would you like to continue exporting?" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." msgstr "" -"\n" -"\n" -"Kontynuować eksportowanie?" +"Już zalogowano się i wylogowano z serwisu Facebook podczas tej sesji " +"programu Shotwell.\n" +"Aby kontynuować publikowanie do serwisu Facebook, należy zakończyć i " +"ponownie uruchomić program Shotwell, a następnie ponownie spróbować " +"publikacji." -#. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really -#. aren't formats so much as they are operating modes that determine specific formats. -#. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 -msgid "Unmodified" -msgstr "Niezmodyfikowane" +#: plugins/shotwell-publishing/FacebookPublishing.vala:87 +msgid "Standard (720 pixels)" +msgstr "Standardowe (720 pikseli)" -#: ../src/Dialogs.vala:148 -msgid "Current" -msgstr "Bieżące" +#: plugins/shotwell-publishing/FacebookPublishing.vala:90 +msgid "Large (2048 pixels)" +msgstr "Duże (2048 pikseli)" -#. layout controls -#: ../src/Dialogs.vala:215 -msgid "_Format:" -msgstr "_Format:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:255 +msgid "Testing connection to Facebook..." +msgstr "Testowanie połączenia z serwisem Facebook…" -#: ../src/Dialogs.vala:218 -msgid "_Quality:" -msgstr "_Jakość:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:348 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "Tworzenie albumu…" -#: ../src/Dialogs.vala:221 -msgid "_Scaling constraint:" -msgstr "Ograniczenie _skalowania:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " +"publikowania do serwisu Facebook." -#: ../src/Dialogs.vala:224 -msgid "_Pixels:" -msgstr "_Piksele:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"Zalogowano w serwisie Facebook jako użytkownik %s.\n" +"\n" -#: ../src/Dialogs.vala:227 -msgid "Export metadata" -msgstr "Wyeksportuj metadane" +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "Gdzie opublikować wybrane zdjęcia?" -#: ../src/Dialogs.vala:461 -msgid "Save Details..." +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Just me" +msgstr "Tylko dla mnie" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1209 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1218 +msgid "Everyone" +msgstr "Wszystkich" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" +"Proszę podać numer potwierdzenia pojawiający się po zalogowaniu do serwisu " +"Flickr w przeglądarce WWW." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "_Numer upoważnienia:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 src/Dialogs.vala:132 +msgid "Con_tinue" +msgstr "Ko_ntynuuj" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:60 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"Nie zalogowano w serwisie Flickr.\n" +"\n" +"Należy nacisnąć przycisk Zaloguj, aby zalogować się w serwisie Flickr w " +"przeglądarce WWW. Następnie należy upoważnić Shotwell Connect na dowiązanie " +"do konta serwisu Flickr." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:62 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Już zalogowano się i wylogowano z serwisu Flickr podczas tej sesji programu " +"Shotwell.\n" +"Aby kontynuować publikowanie do serwisu Flickr, należy zakończyć i ponownie " +"uruchomić program Shotwell, a następnie ponownie spróbować publikacji." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:374 +msgid "Preparing for login..." +msgstr "Przygotowywanie do zalogowania…" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:444 +#: plugins/shotwell-publishing/FlickrPublishing.vala:594 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " +"publikowania do serwisu Flickr." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:457 +msgid "Verifying authorization..." +msgstr "Sprawdzanie upoważnienia…" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1152 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"Zalogowano w serwisie Flickr jako użytkownik %s.\n" +"\n" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1155 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"Darmowe konto w serwisie Flickr ogranicza ilość przesyłanych danych na " +"miesiąc.\n" +"W tym miesiącu pozostało %d megabajt." +msgstr[1] "" +"Darmowe konto w serwisie Flickr ogranicza ilość przesyłanych danych na " +"miesiąc.\n" +"W tym miesiącu pozostało %d megabajty." +msgstr[2] "" +"Darmowe konto w serwisie Flickr ogranicza ilość przesyłanych danych na " +"miesiąc.\n" +"W tym miesiącu pozostało %d megabajtów." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1159 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "Konto Flickr Pro umożliwia nieograniczone wysyłanie." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1164 +msgid "Photos _visible to:" +msgstr "Zdjęcia _widoczne dla:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1166 +msgid "Videos _visible to:" +msgstr "Nagrania wideo _widoczne dla:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1169 +msgid "Photos and videos _visible to:" +msgstr "Zdjęcia i nagrania wideo _widoczne dla:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1210 +msgid "Friends & family only" +msgstr "Tylko przyjaciół i rodziny" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +msgid "Family only" +msgstr "Tylko rodzina" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Friends only" +msgstr "Tylko przyjaciele" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1232 +msgid "2048 x 1536 pixels" +msgstr "2048×1536 pikseli" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1233 +msgid "4096 x 3072 pixels" +msgstr "4096×3072 piksele" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "Wyśw_ietlenie listy albumów w publicznej galerii" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "Rozmiar _zdjęcia:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"Obecnie nie zalogowano w serwisie Picasa Web Albums.\n" +"\n" +"Należy kliknąć przycisk Zaloguj, aby zalogować w serwisie Picasa Web Albums " +"w przeglądarce WWW. Należy upoważnić program Shotwell Connect do powiązania " +"z kontem serwisu Picasa Web Albums." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " +"publikowania do serwisu Picasa." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "Zalogowano w serwisie Picasa Web Albums jako użytkownik %s." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "Nagrania wideo pojawią się w:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "Małe (640×480 pikseli)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "Średnie (1024×768 pikseli)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "Zalecane (1600×1200 pikseli)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048×1536 pikseli)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "Rozmiar pierwotny" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "Adres _URL kolekcji zdjęć Piwigo" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "_Nazwa użytkownika" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "_Zapamiętanie hasła" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "_Istniejącej kategorii:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "Zdjęcia będą _widoczne dla:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "Rozmiar zdjęcia:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "w kategorii:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "Komentarz albumu:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "" +"_Jeśli tytuł jest ustawiony, a komentarz nie, to używanie tytułu jako " +"komentarz" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "_Bez wysyłania etykiet" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "Wyloguj" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "Opublikuj" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:747 +#, c-format +msgid "Creating album %s..." +msgstr "Tworzenie albumu %s…" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:920 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "" +"Wystąpił komunikat błędu podczas publikowania w serwisie Piwigo. Proszę " +"spróbować ponownie." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:990 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"Proszę podać adres URL kolekcji zdjęć serwisu Piwigo oraz nazwę użytkownika " +"i hasło powiązane z kontem w serwisie Piwigo dla tej kolekcji." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:991 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"Program Shotwell nie może połączyć się z kolekcją zdjęć serwisu Piwigo. " +"Proszę sprawdzić podany adres URL" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1021 +msgid "Invalid URL" +msgstr "Nieprawidłowy adres URL" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1219 +msgid "Admins, Family, Friends, Contacts" +msgstr "Administratorzy, rodzina, przyjaciele, kontakty" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1220 +msgid "Admins, Family, Friends" +msgstr "Administratorzy, rodzina, przyjaciele" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1221 +msgid "Admins, Family" +msgstr "Administratorzy, rodzina" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1222 +msgid "Admins" +msgstr "Administratorzy" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Główne usługi publikowania" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "U_stawienia prywatności nagrań wideo:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:58 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"Nie zalogowano w serwisie YouTube.\n" +"\n" +"Aby kontynuować używanie serwisu YouTube, należy się zalogować do konta " +"Google i ustawić je do używania serwisu YouTube. Większość kont można " +"ustawić używając przeglądarki WWW do zalogowania się do serwisu YouTube co " +"najmniej raz." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:363 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"Plik wymagany do publikowania jest niedostępny. Nie można kontynuować " +"publikowania do serwisu YouTube." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:462 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "Zalogowano w serwisie YouTube jako użytkownik %s." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:464 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "Nagrania wideo pojawią się w „%s”" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public listed" +msgstr "Wyświetlane publicznie" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Public unlisted" +msgstr "Nie wyświetlane publicznie" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "Zasłony" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "Szachy" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "Kółko" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "Kółka" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "Zegar" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "Kruszenie" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "Przenikanie" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Główne przejścia pokazu slajdów" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:76 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "Slajd" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "Kwadraty" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "Paski" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "Nie można utworzyć katalogu pamięci podręcznej %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "Nie można utworzyć katalogu danych %s: %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "Obrazy" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "Nie można utworzyć katalogu tymczasowego %s: %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "Nie można utworzyć podkatalogu danych %s: %s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "Nie można ustawić katalogu %s jako zapisywalnego" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "Nie można ustawić katalogu %s jako zapisywalnego: %s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "Przypnij pasek narzędziowy" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "Przypina pasek narzędziowy" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "Opuszcza pełny ekran" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "_Spis treści" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "Naj_częściej zadawane pytania" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "_Zgłoś problem…" + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1425 src/Dialogs.vala:1448 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_Anuluj" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"Wystąpił krytyczny błąd podczas uzyskiwania dostępu do kolekcji programu " +"Shotwell. Program nie może kontynuować.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "Witryna programu Shotwell" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "Nie można wyświetlić pomocy: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "Nie można przejść do bazy danych błędów: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "Nie można wyświetlić dokumentu FAQ: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "Powodzenie" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "Błąd pliku" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "Nie można dekodować pliku" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "Błąd bazy danych" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "Użytkownik przerwał importowanie" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "Nie jest plikiem" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "Plik już istnieje w bazie danych" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "Nieobsługiwany format pliku" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "Nie jest plikiem obrazu" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "Niepowodzenie dysku" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "Dysk jest pełny" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "Błąd aparatu" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "Błąd zapisu pliku" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "Uszkodzony plik obrazu" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" +msgstr "Zaimportowanie się nie powiodło (%d)" + +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Aparaty" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Aparat" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"Nie można odmontować aparatu. Proszę spróbować odmontować aparat w " +"menedżerze plików." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Ukrywa już zaimportowane zdjęcia" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Wyświetla tylko zdjęcia, które nie zostały jeszcze zaimportowane" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "Rozpoczynanie importowania, proszę czekać…" + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Tytuły" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Wyświetla tytuł każdego zdjęcia" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "_Zaimportuj wybrane" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Importuje wybrane zdjęcia do kolekcji" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "Z_aimportuj wszystkie" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Importuje wszystkie zdjęcia do kolekcji" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Program Shotwell musi odmontować aparat z systemu plików, aby uzyskać do " +"niego dostęp. Kontynuować?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "Odmont_uj" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Proszę odmontować aparat." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"Aparat jest zablokowany przez inny program. Program Shotwell może uzyskać " +"dostęp do aparatu tylko wtedy, kiedy nie jest zablokowany. Proszę zamknąć " +"wszystkie pozostałe programy używające aparatu i spróbować ponownie." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "Proszę zamknąć inne programy używające aparatu." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"Nie można pobrać podglądu z aparatu:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "Odmontowywanie…" + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "Pobieranie informacji o zdjęciach" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "Pobieranie podglądu dla %s" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "Nie można zablokować aparatu: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "Usunąć to zdjęcie z aparatu?" +msgstr[1] "Usunąć te %d zdjęcia z aparatu?" +msgstr[2] "Usunąć te %d zdjęć z aparatu?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "Usunąć to nagranie wideo z aparatu?" +msgstr[1] "Usunąć te %d nagrania wideo z aparatu?" +msgstr[2] "Usunąć te %d nagrań wideo z aparatu?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "Usunąć to zdjęcie/nagranie wideo z aparatu?" +msgstr[1] "Usunąć te %d zdjęcia/nagrania wideo z aparatu?" +msgstr[2] "Usunąć te %d zdjęć/nagrań wideo z aparatu?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "Usunąć te pliki z aparatu?" +msgstr[1] "Usunąć %d pliki z aparatu?" +msgstr[2] "Usunąć %d plików z aparatu?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1392 +msgid "_Keep" +msgstr "_Zatrzymaj" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "Usuwanie zdjęć/nagrań wideo z aparatu" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "" +"Nie można usunąć %d zdjęcia/nagrania wideo z aparatu z powodu błędów." +msgstr[1] "Nie można usunąć %d zdjęć/nagrań wideo z aparatu z powodu błędów." +msgstr[2] "Nie można usunąć %d zdjęć/nagrań wideo z aparatu z powodu błędów." + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "Pokaz s_lajdów" + +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "Odtwarza pokaz slajdów" + +#: src/CollectionPage.vala:456 +msgid "Export Photo/Video" +msgstr "Eksport zdjęcia/nagrania wideo" + +#: src/CollectionPage.vala:456 +msgid "Export Photos/Videos" +msgstr "Eksport zdjęć/nagrań wideo" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:59 src/PhotoPage.vala:3209 +msgid "Export Photo" +msgstr "Eksport zdjęcia" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:88 +msgid "Export Photos" +msgstr "Eksport zdjęć" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Rotating" +msgstr "Obracanie" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Undoing Rotate" +msgstr "Cofanie obrotu" + +#: src/CollectionPage.vala:570 +msgid "Flipping Horizontally" +msgstr "Odwracanie poziome" + +#: src/CollectionPage.vala:571 +msgid "Undoing Flip Horizontally" +msgstr "Cofanie odwrócenia poziomego" + +#: src/CollectionPage.vala:580 +msgid "Flipping Vertically" +msgstr "Odwracanie pionowe" + +#: src/CollectionPage.vala:581 +msgid "Undoing Flip Vertically" +msgstr "Cofanie odwrócenia pionowego" + +#: src/Commands.vala:737 +msgid "Reverting" +msgstr "Przywracanie" + +#: src/Commands.vala:737 +msgid "Undoing Revert" +msgstr "Cofanie przywracania" + +#: src/Commands.vala:781 +msgid "Enhancing" +msgstr "Uwydatnianie" + +#: src/Commands.vala:781 +msgid "Undoing Enhance" +msgstr "Cofanie uwydatniania" + +#: src/Commands.vala:857 +msgid "Applying Color Transformations" +msgstr "Zastosowywanie przekształceń kolorów" + +#: src/Commands.vala:857 +msgid "Undoing Color Transformations" +msgstr "Cofanie przekształceń kolorów" + +#: src/Commands.vala:1007 +msgid "Creating New Event" +msgstr "Tworzenie nowego wydarzenia" + +#: src/Commands.vala:1008 +msgid "Removing Event" +msgstr "Usuwanie wydarzenia" + +#: src/Commands.vala:1017 +msgid "Moving Photos to New Event" +msgstr "Przenoszenie zdjęć do nowego wydarzenia" + +#: src/Commands.vala:1018 +msgid "Setting Photos to Previous Event" +msgstr "Ustawianie zdjęć do poprzedniego wydarzenia" + +#: src/Commands.vala:1075 +msgid "Merging" +msgstr "Łączenie" + +#: src/Commands.vala:1076 +msgid "Unmerging" +msgstr "Cofanie łączenia" + +#: src/Commands.vala:1085 +msgid "Duplicating photos" +msgstr "Tworzenie duplikatów zdjęć" + +#: src/Commands.vala:1085 +msgid "Removing duplicated photos" +msgstr "Usuwanie duplikatów zdjęć" + +#: src/Commands.vala:1108 +#, c-format +msgid "Unable to duplicate one photo due to a file error" +msgid_plural "Unable to duplicate %d photos due to file errors" +msgstr[0] "Nie można utworzyć duplikatu zdjęcia z powodu błędu pliku" +msgstr[1] "Nie można utworzyć duplikatu %d zdjęć z powodu błędów plików" +msgstr[2] "Nie można utworzyć duplikatu %d zdjęć z powodu błędów plików" + +#: src/Commands.vala:1195 +msgid "Restoring previous rating" +msgstr "Przywracanie poprzedniej oceny" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Increasing ratings" +msgstr "Zwiększanie ocen" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Decreasing ratings" +msgstr "Zmniejszanie ocen" + +#: src/Commands.vala:1256 +msgid "Setting RAW developer" +msgstr "Ustawianie wywoływacza RAW" + +#: src/Commands.vala:1256 +msgid "Restoring previous RAW developer" +msgstr "Przywracanie poprzedniego wywoływacza RAW" + +#: src/Commands.vala:1257 +msgid "Set Developer" +msgstr "Ustaw wywoływacz" + +#: src/Commands.vala:1347 +msgid "Original photo could not be adjusted." +msgstr "Nie można dostosować pierwotnego zdjęcia." + +#: src/Commands.vala:1368 +msgid "Adjusting Date and Time" +msgstr "Dostosowywanie daty i czasu" + +#: src/Commands.vala:1368 +msgid "Undoing Date and Time Adjustment" +msgstr "Cofanie dostosowania daty i czasu" + +#: src/Commands.vala:1399 +msgid "One original photo could not be adjusted." +msgid_plural "The following original photos could not be adjusted." +msgstr[0] "Nie można dostosować jednego pierwotnego zdjęcia." +msgstr[1] "Nie można dostosować poniższych pierwotnych zdjęć." +msgstr[2] "Nie można dostosować poniższych pierwotnych zdjęć." + +#: src/Commands.vala:1401 src/Commands.vala:1425 +msgid "Time Adjustment Error" +msgstr "Błąd dostosowania czasu" + +#: src/Commands.vala:1423 +msgid "Time adjustments could not be undone on the following photo file." +msgid_plural "" +"Time adjustments could not be undone on the following photo files." +msgstr[0] "Nie można cofnąć dostosowania czasu na poniższym pliku zdjęcia." +msgstr[1] "Nie można cofnąć dostosowania czasu na poniższych plikach zdjęć." +msgstr[2] "Nie można cofnąć dostosowania czasu na poniższych plikach zdjęć." + +#: src/Commands.vala:1637 src/Commands.vala:1660 +msgid "Create Tag" +msgstr "Utwórz etykietę" + +#: src/Commands.vala:1695 +#, c-format +msgid "Move Tag \"%s\"" +msgstr "Przenieś etykietę „%s”" + +#: src/Commands.vala:2347 +msgid "Move Photos to Trash" +msgstr "Przenieś zdjęcia do kosza" + +#: src/Commands.vala:2347 +msgid "Restore Photos from Trash" +msgstr "Przywróć zdjęcia z kosza" + +#: src/Commands.vala:2348 +msgid "Move the photos to the Shotwell trash" +msgstr "Przenosi zdjęcia do kosza programu Shotwell" + +#: src/Commands.vala:2348 +msgid "Restore the photos back to the Shotwell library" +msgstr "Przywraca zdjęcia z powrotem do kolekcji programu Shotwell" + +#: src/Commands.vala:2367 +msgid "Moving Photos to Trash" +msgstr "Przenoszenie zdjęć do kosza" + +#: src/Commands.vala:2367 +msgid "Restoring Photos From Trash" +msgstr "Przywracanie zdjęć z kosza" + +#: src/Commands.vala:2453 +msgid "Flag selected photos" +msgstr "Dodaje flagę do wybranych zdjęć" + +#: src/Commands.vala:2454 +msgid "Unflag selected photos" +msgstr "Usuwa flagę z wybranych zdjęć" + +#: src/Commands.vala:2455 +msgid "Flagging selected photos" +msgstr "Oznaczanie zaznaczonych zdjęć flagą" + +#: src/Commands.vala:2456 +msgid "Unflagging selected photos" +msgstr "Cofanie oznaczeń zdjęć flagą" + +#: src/Commands.vala:2463 +msgid "Flag" +msgstr "Dodaj flagę" + +#: src/Commands.vala:2463 +msgid "Unflag" +msgstr "Usuń flagę" + +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "Baza danych %s" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "" +"Importowanie z %s nie może być kontynuowane z powodu wystąpienia błędu:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "" +"Aby spróbować zaimportować z innego serwisu należy wybrać go z powyższego " +"menu." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"Nie włączono żadnych wtyczek importowania danych.\n" +"\n" +"Aby użyć funkcji importowania z programu należy posiadać co najmniej jedną " +"włączoną wtyczkę importowania danych. Wtyczki można włączać w oknie " +"Preferencji." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Plik bazy danych:" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:904 +msgid "_Import" +msgstr "Zai_mportuj" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Import z programu" + +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "Importowanie multimediów _z:" + +#: src/data_imports/DataImportsUI.vala:408 src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "Zam_knij" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Importowanie danych" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "Nie można otworzyć/utworzyć bazy danych zdjęć %s: kod błędu: %d" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"Nie można zapisać do pliku bazy danych zdjęć:\n" +" %s" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"Błąd podczas uzyskiwania dostępu do pliku bazy danych:\n" +" %s\n" +"\n" +"Błąd: \n" +"%s" + +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "Nie można przywrócić bazy danych zdjęć %s" + +#: src/DesktopIntegration.vala:121 +#, c-format +msgid "Unable to launch Nautilus Send-To: %s" +msgstr "Nie można uruchomić rozszerzenia „Wyślij do” programu Nautilus: %s" + +#: src/DesktopIntegration.vala:129 +msgid "Send To" +msgstr "Wyślij do" + +#: src/DesktopIntegration.vala:174 +#, c-format +msgid "Unable to export background to %s: %s" +msgstr "Nie można wyeksportować tła do %s: %s" + +#: src/DesktopIntegration.vala:311 +#, c-format +msgid "Unable to prepare desktop slideshow: %s" +msgstr "Nie można przygotować pokazu slajdów pulpitu: %s" + +#: src/Dialogs.vala:16 +#, c-format +msgid "This will remove the tag \"%s\" from one photo. Continue?" +msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" +msgstr[0] "Etykieta „%s” zostanie usunięta ze zdjęcia. Kontynuować?" +msgstr[1] "Etykieta „%s” zostanie usunięta z %d zdjęć. Kontynuować?" +msgstr[2] "Etykieta „%s” zostanie usunięta z %d zdjęć. Kontynuować?" + +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1393 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 +msgid "_Delete" +msgstr "_Usuń" + +#: src/Dialogs.vala:25 +#, c-format +msgid "This will remove the saved search \"%s\". Continue?" +msgstr "Spowoduje to usunięcie zapisanego wyszukiwania „%s”. Kontynuować?" + +#: src/Dialogs.vala:36 +msgid "" +"Switching developers will undo all changes you have made to this photo in " +"Shotwell" +msgid_plural "" +"Switching developers will undo all changes you have made to these photos in " +"Shotwell" +msgstr[0] "" +"Przełączenie wywoływacza cofnie wszystkie zmiany wprowadzone do zdjęcia w " +"programie Shotwell" +msgstr[1] "" +"Przełączenie wywoływacza cofnie wszystkie zmiany wprowadzone do zdjęć w " +"programie Shotwell" +msgstr[2] "" +"Przełączenie wywoływacza cofnie wszystkie zmiany wprowadzone do zdjęć w " +"programie Shotwell" + +#: src/Dialogs.vala:40 +msgid "_Switch Developer" +msgstr "_Przełącz wywoływacz" + +#: src/Dialogs.vala:59 +msgid "Export Video" +msgstr "Eksport nagrań wideo" + +#. Ticket #3023 +#. Attempt to replace the system error with something friendlier +#. if we can't copy an image over for editing in an external tool. +#. Did we fail because we can't write to this directory? +#. Yes - display an alternate error message here. +#: src/Dialogs.vala:116 +#, c-format +msgid "" +"Shotwell couldn't create a file for editing this photo because you do not " +"have permission to write to %s." +msgstr "" +"Program Shotwell nie może utworzyć pliku do modyfikowania tego zdjęcia, " +"ponieważ brak uprawnień do zapisywania w %s." + +#: src/Dialogs.vala:125 +msgid "" +"Unable to export the following photo due to a file error.\n" +"\n" +msgstr "" +"Nie można wyeksportować zdjęcia z powodu błędu pliku.\n" +"\n" + +#: src/Dialogs.vala:131 +msgid "" +"\n" +"\n" +"Would you like to continue exporting?" +msgstr "" +"\n" +"\n" +"Kontynuować eksportowanie?" + +#. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really +#. aren't formats so much as they are operating modes that determine specific formats. +#. Hereafter we'll refer to these as "special formats." +#: src/Dialogs.vala:148 +msgid "Unmodified" +msgstr "Niezmodyfikowane" + +#: src/Dialogs.vala:149 +msgid "Current" +msgstr "Bieżące" + +#. layout controls +#: src/Dialogs.vala:216 +msgid "_Format:" +msgstr "_Format:" + +#: src/Dialogs.vala:219 +msgid "_Quality:" +msgstr "_Jakość:" + +#: src/Dialogs.vala:222 +msgid "_Scaling constraint:" +msgstr "Ograniczenie _skalowania:" + +#: src/Dialogs.vala:225 +msgid "_Pixels:" +msgstr "_Piksele:" + +#: src/Dialogs.vala:228 +msgid "Export metadata" +msgstr "Wyeksportuj metadane" + +#: src/Dialogs.vala:462 +msgid "Save Details..." msgstr "Zapisz szczegóły…" -#: ../src/Dialogs.vala:462 +#: src/Dialogs.vala:463 msgid "Save Details" msgstr "Zapisz szczegóły" -#: ../src/Dialogs.vala:477 +#: src/Dialogs.vala:478 #, c-format msgid "(and %d more)\n" msgstr "(oraz %d więcej)\n" -#: ../src/Dialogs.vala:530 +#: src/Dialogs.vala:531 msgid "Import Results Report" msgstr "Zaimportuj raport o wynikach" -#: ../src/Dialogs.vala:534 +#: src/Dialogs.vala:535 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." @@ -1593,7 +3136,7 @@ msgstr[0] "Spróbowano zaimportować %d plik." msgstr[1] "Spróbowano zaimportować %d pliki." msgstr[2] "Spróbowano zaimportować %d plików." -#: ../src/Dialogs.vala:537 +#: src/Dialogs.vala:538 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." @@ -1604,30 +3147,30 @@ msgstr[2] "%d plik zostało pomyślnie zaimportowanych." #. #. Duplicates #. -#: ../src/Dialogs.vala:549 +#: src/Dialogs.vala:550 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Niezaimportowane duplikaty zdjęć/nagrań wideo:" -#: ../src/Dialogs.vala:553 +#: src/Dialogs.vala:554 msgid "duplicates existing media item" msgstr "duplikuje istniejący element multimedialny" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:564 +#: src/Dialogs.vala:565 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "Niezaimportowane zdjęcia/nagrania wideo z powodu błędów aparatu:" -#: ../src/Dialogs.vala:567 ../src/Dialogs.vala:582 ../src/Dialogs.vala:597 -#: ../src/Dialogs.vala:613 ../src/Dialogs.vala:628 ../src/Dialogs.vala:642 +#: src/Dialogs.vala:568 src/Dialogs.vala:583 src/Dialogs.vala:598 +#: src/Dialogs.vala:614 src/Dialogs.vala:629 src/Dialogs.vala:643 msgid "error message:" msgstr "komunikat błędu:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:578 +#: src/Dialogs.vala:579 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "" "Niezaimportowane pliki, ponieważ nie zostały rozpoznane jako zdjęcia lub " @@ -1636,7 +3179,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:593 +#: src/Dialogs.vala:594 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1647,7 +3190,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:608 +#: src/Dialogs.vala:609 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" @@ -1655,7 +3198,7 @@ msgstr "" "Niezaimportowane pliki, ponieważ program Shotwell nie mógł skopiować ich do " "kolekcji:" -#: ../src/Dialogs.vala:612 +#: src/Dialogs.vala:613 #, c-format msgid "" "couldn't copy %s\n" @@ -1667,18 +3210,18 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:624 +#: src/Dialogs.vala:625 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "Nie zaimportowano zdjęć/nagrań wideo, ponieważ pliki są uszkodzone:" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:639 +#: src/Dialogs.vala:640 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "Niezaimportowane pliki z innego powodu:" -#: ../src/Dialogs.vala:659 +#: src/Dialogs.vala:660 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" @@ -1686,7 +3229,7 @@ msgstr[0] "Jeden duplikat zdjęcia nie został zaimportowany:\n" msgstr[1] "%d duplikaty zdjęć nie zostały zaimportowane:\n" msgstr[2] "%d duplikatów zdjęć nie zostało zaimportowanych:\n" -#: ../src/Dialogs.vala:662 +#: src/Dialogs.vala:663 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" @@ -1694,7 +3237,7 @@ msgstr[0] "Jeden duplikat nagrania wideo nie został zaimportowany:\n" msgstr[1] "%d duplikaty nagrań wideo nie zostały zaimportowane:\n" msgstr[2] "%d duplikatów nagrań wideo nie zostało zaimportowanych:\n" -#: ../src/Dialogs.vala:665 +#: src/Dialogs.vala:666 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" @@ -1702,7 +3245,7 @@ msgstr[0] "Jeden duplikat zdjęcia/nagrania wideo nie został zaimportowany:\n" msgstr[1] "%d duplikaty zdjęć/nagrań wideo nie zostały zaimportowane:\n" msgstr[2] "%d duplikatów zdjęć/nagrań wideo nie zostało zaimportowanych:\n" -#: ../src/Dialogs.vala:679 +#: src/Dialogs.vala:680 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1714,7 +3257,7 @@ msgstr[1] "" msgstr[2] "" "Zaimportowanie %d zdjęć się nie powiodło z powodu błędu pliku lub sprzętu:\n" -#: ../src/Dialogs.vala:682 +#: src/Dialogs.vala:683 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1728,7 +3271,7 @@ msgstr[2] "" "Zaimportowanie %d nagrań wideo się nie powiodło z powodu błędu pliku lub " "sprzętu:\n" -#: ../src/Dialogs.vala:685 +#: src/Dialogs.vala:686 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1743,7 +3286,7 @@ msgstr[2] "" "Zaimportowanie %d zdjęć/nagrań wideo się nie powiodło z powodu błędu pliku " "lub sprzętu:\n" -#: ../src/Dialogs.vala:688 +#: src/Dialogs.vala:689 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1755,7 +3298,7 @@ msgstr[1] "" msgstr[2] "" "Zaimportowanie %d plików się nie powiodło z powodu błędu pliku lub sprzętu:\n" -#: ../src/Dialogs.vala:702 +#: src/Dialogs.vala:703 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1772,7 +3315,7 @@ msgstr[2] "" "Zaimportowanie %d zdjęć się nie powiodło, ponieważ katalog kolekcji zdjęć " "nie jest zapisywalny:\n" -#: ../src/Dialogs.vala:705 +#: src/Dialogs.vala:706 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1789,7 +3332,7 @@ msgstr[2] "" "Zaimportowanie %d nagrań wideo się nie powiodło, ponieważ katalog kolekcji " "zdjęć nie jest zapisywalny:\n" -#: ../src/Dialogs.vala:708 +#: src/Dialogs.vala:709 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1807,7 +3350,7 @@ msgstr[2] "" "Zaimportowanie %d zdjęć/nagrań wideo się nie powiodło, ponieważ katalog " "kolekcji zdjęć nie jest zapisywalny:\n" -#: ../src/Dialogs.vala:711 +#: src/Dialogs.vala:712 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1824,7 +3367,7 @@ msgstr[2] "" "Zaimportowanie %d plików się nie powiodło, ponieważ katalog kolekcji zdjęć " "nie jest zapisywalny:\n" -#: ../src/Dialogs.vala:725 +#: src/Dialogs.vala:726 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" @@ -1833,7 +3376,7 @@ msgstr[0] "" msgstr[1] "Zaimportowanie %d zdjęć się nie powiodło z powodu błędu aparatu:\n" msgstr[2] "Zaimportowanie %d zdjęć się nie powiodło z powodu błędu aparatu:\n" -#: ../src/Dialogs.vala:728 +#: src/Dialogs.vala:729 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" @@ -1845,7 +3388,7 @@ msgstr[1] "" msgstr[2] "" "Zaimportowanie %d nagrań wideo się nie powiodło z powodu błędu aparatu:\n" -#: ../src/Dialogs.vala:731 +#: src/Dialogs.vala:732 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" @@ -1859,7 +3402,7 @@ msgstr[2] "" "Zaimportowanie %d zdjęć/nagrań wideo się nie powiodło z powodu błędu " "aparatu:\n" -#: ../src/Dialogs.vala:734 +#: src/Dialogs.vala:735 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" @@ -1868,7 +3411,7 @@ msgstr[0] "" msgstr[1] "Zaimportowanie %d plików się nie powiodło z powodu błędu aparatu:\n" msgstr[2] "Zaimportowanie %d plików się nie powiodło z powodu błędu aparatu:\n" -#: ../src/Dialogs.vala:748 +#: src/Dialogs.vala:749 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" @@ -1880,7 +3423,7 @@ msgstr[1] "" msgstr[2] "" "Zaimportowanie %d zdjęć się nie powiodło, ponieważ są one uszkodzone:\n" -#: ../src/Dialogs.vala:751 +#: src/Dialogs.vala:752 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" @@ -1894,7 +3437,7 @@ msgstr[2] "" "Zaimportowanie %d nagrań wideo się nie powiodło, ponieważ są one " "uszkodzone:\n" -#: ../src/Dialogs.vala:754 +#: src/Dialogs.vala:755 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" @@ -1908,7 +3451,7 @@ msgstr[2] "" "Zaimportowanie %d zdjęć/nagrań wideo się nie powiodło, ponieważ są one " "uszkodzone:\n" -#: ../src/Dialogs.vala:757 +#: src/Dialogs.vala:758 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1923,7 +3466,7 @@ msgstr[2] "" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:774 +#: src/Dialogs.vala:775 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1933,7 +3476,7 @@ msgstr[2] "Pominięto %d nieobsługiwanych zdjęć:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:789 +#: src/Dialogs.vala:790 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" @@ -1941,7 +3484,7 @@ msgstr[0] "Pominięto jeden plik nie będący obrazem.\n" msgstr[1] "Pominięto %d pliki nie będące obrazami.\n" msgstr[2] "Pominięto %d plików nie będących obrazami.\n" -#: ../src/Dialogs.vala:800 +#: src/Dialogs.vala:801 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" @@ -1949,7 +3492,7 @@ msgstr[0] "Pominięto jedno zdjęcie z powodu anulowania przez użytkownika:\n" msgstr[1] "Pominięto %d zdjęcia z powodu anulowania przez użytkownika:\n" msgstr[2] "Pominięto %d zdjęć z powodu anulowania przez użytkownika:\n" -#: ../src/Dialogs.vala:803 +#: src/Dialogs.vala:804 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" @@ -1959,7 +3502,7 @@ msgstr[1] "" "Pominięto %d nagrania wideo z powodu anulowania przez użytkownika:\n" msgstr[2] "Pominięto %d nagrań wideo z powodu anulowania przez użytkownika:\n" -#: ../src/Dialogs.vala:806 +#: src/Dialogs.vala:807 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" @@ -1971,7 +3514,7 @@ msgstr[1] "" msgstr[2] "" "Pominięto %d zdjęć/nagrań wideo z powodu anulowania przez użytkownika:\n" -#: ../src/Dialogs.vala:809 +#: src/Dialogs.vala:810 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" @@ -1979,7 +3522,7 @@ msgstr[0] "Pominięto jeden plik z powodu anulowania na żądanie użytkownika:\ msgstr[1] "Pominięto %d pliki z powodu anulowania na żądanie użytkownika:\n" msgstr[2] "Pominięto %d plików z powodu anulowania na żądanie użytkownika:\n" -#: ../src/Dialogs.vala:823 +#: src/Dialogs.vala:824 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" @@ -1987,7 +3530,7 @@ msgstr[0] "Jedno zdjęcie zostało pomyślnie zaimportowane.\n" msgstr[1] "%d zdjęcia zostały pomyślnie zaimportowane.\n" msgstr[2] "%d zdjęć zostało pomyślnie zaimportowanych.\n" -#: ../src/Dialogs.vala:826 +#: src/Dialogs.vala:827 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" @@ -1995,7 +3538,7 @@ msgstr[0] "Jedno nagranie wideo zostało pomyślnie zaimportowane.\n" msgstr[1] "%d nagrania wideo zostały pomyślnie zaimportowane.\n" msgstr[2] "%d nagrań wideo zostało pomyślnie zaimportowanych.\n" -#: ../src/Dialogs.vala:829 +#: src/Dialogs.vala:830 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -2005,15 +3548,15 @@ msgstr[2] "%d zdjęć/nagrań wideo zostało pomyślnie zaimportowanych.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:845 +#: src/Dialogs.vala:846 msgid "No photos or videos imported.\n" msgstr "Nie zaimportowano żadnych zdjęć lub nagrań wideo.\n" -#: ../src/Dialogs.vala:852 ../src/Dialogs.vala:871 +#: src/Dialogs.vala:853 src/Dialogs.vala:872 msgid "Import Complete" msgstr "Ukończono importowanie" -#: ../src/Dialogs.vala:1157 +#: src/Dialogs.vala:1158 #, c-format msgid "%d second" msgid_plural "%d seconds" @@ -2021,7 +3564,7 @@ msgstr[0] "%d sekunda" msgstr[1] "%d sekundy" msgstr[2] "%d sekund" -#: ../src/Dialogs.vala:1160 +#: src/Dialogs.vala:1161 #, c-format msgid "%d minute" msgid_plural "%d minutes" @@ -2029,7 +3572,7 @@ msgstr[0] "%d minuta" msgstr[1] "%d minuty" msgstr[2] "%d minut" -#: ../src/Dialogs.vala:1164 +#: src/Dialogs.vala:1165 #, c-format msgid "%d hour" msgid_plural "%d hours" @@ -2037,65 +3580,61 @@ msgstr[0] "%d godzina" msgstr[1] "%d godziny" msgstr[2] "%d godzin" -#: ../src/Dialogs.vala:1167 +#: src/Dialogs.vala:1168 msgid "1 day" msgstr "dzień" -#: ../src/Dialogs.vala:1321 ../src/Resources.vala:231 +#: src/Dialogs.vala:1322 src/Resources.vala:231 msgid "Rename Event" msgstr "Zmień nazwę wydarzenia" -#: ../src/Dialogs.vala:1321 +#: src/Dialogs.vala:1322 msgid "Name:" msgstr "Nazwa:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1332 ../src/Resources.vala:303 +#: src/Dialogs.vala:1333 +msgctxt "Dialog Title" msgid "Edit Title" msgstr "Modyfikacja tytułu" -#: ../src/Dialogs.vala:1333 ../src/Properties.vala:340 +#: src/Dialogs.vala:1334 src/Properties.vala:340 msgid "Title:" msgstr "Tytuł:" #. Dialog title -#: ../src/Dialogs.vala:1349 ../src/Resources.vala:310 +#: src/Dialogs.vala:1350 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Modyfikuj komentarz wydarzenia" -#: ../src/Dialogs.vala:1350 +#: src/Dialogs.vala:1351 msgid "Edit Photo/Video Comment" msgstr "Modyfikuj komentarz zdjęcia/nagrania wideo" -#: ../src/Dialogs.vala:1351 ../src/Properties.vala:628 +#: src/Dialogs.vala:1352 src/Properties.vala:628 msgid "Comment:" msgstr "Komentarz:" -#: ../src/Dialogs.vala:1367 +#: src/Dialogs.vala:1368 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "_Przenieś plik do kosza" msgstr[1] "_Przenieś pliki do kosza" msgstr[2] "_Przenieś pliki do kosza" -#: ../src/Dialogs.vala:1371 +#: src/Dialogs.vala:1372 msgid "_Remove From Library" msgstr "_Usuń z kolekcji" -#: ../src/Dialogs.vala:1391 ../src/camera/ImportPage.vala:1740 -msgid "_Keep" -msgstr "_Zatrzymaj" - -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1415 msgid "Revert External Edit?" msgstr "Odwrócić zewnętrzną modyfikację?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1415 msgid "Revert External Edits?" msgstr "Odwrócić zewnętrzne modyfikacje?" -#: ../src/Dialogs.vala:1416 +#: src/Dialogs.vala:1417 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -2109,15 +3648,15 @@ msgstr[2] "" "Unieważni to wszystkie zmiany wprowadzone do %d zewnętrznych plików. " "Kontynuować?" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edit" msgstr "Od_wróć zewnętrzną modyfikację" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edits" msgstr "Od_wróć zewnętrzne modyfikacje" -#: ../src/Dialogs.vala:1441 +#: src/Dialogs.vala:1442 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" @@ -2125,72 +3664,72 @@ msgstr[0] "Zdjęcie zostanie usunięte z kolekcji. Kontynuować?" msgstr[1] "%d zdjęcia zostaną usunięte z kolekcji. Kontynuować?" msgstr[2] "%d zdjęć zostaną usuniętych z kolekcji. Kontynuować?" -#: ../src/Dialogs.vala:1448 ../src/Resources.vala:173 +#: src/Dialogs.vala:1449 src/Resources.vala:173 msgid "_Remove" msgstr "_Usuń" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1450 msgid "Remove Photo From Library" msgstr "Usuwanie zdjęcia z kolekcji" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1450 msgid "Remove Photos From Library" msgstr "Usuwanie zdjęć z kolekcji" -#: ../src/Dialogs.vala:1542 +#: src/Dialogs.vala:1543 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1696 +#: src/Dialogs.vala:1697 msgid "AM" msgstr "AM" -#: ../src/Dialogs.vala:1697 +#: src/Dialogs.vala:1698 msgid "PM" msgstr "PM" -#: ../src/Dialogs.vala:1698 +#: src/Dialogs.vala:1699 msgid "24 Hr" msgstr "24-godzinny" -#: ../src/Dialogs.vala:1713 +#: src/Dialogs.vala:1714 msgid "_Shift photos/videos by the same amount" msgstr "Prze_suń zdjęcia/nagrania wideo o tą samą wartość" -#: ../src/Dialogs.vala:1718 +#: src/Dialogs.vala:1719 msgid "Set _all photos/videos to this time" msgstr "Ust_aw wszystkie zdjęcia/nagrania wideo na ten czas" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1726 msgid "_Modify original photo file" msgstr "_Modyfikuj oryginalny plik zdjęcia" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1726 msgid "_Modify original photo files" msgstr "_Modyfikuj oryginalny pliki zdjęć" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1729 msgid "_Modify original file" msgstr "_Modyfikuj pierwotny plik" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1729 msgid "_Modify original files" msgstr "_Modyfikuj pierwotne pliki" -#: ../src/Dialogs.vala:1814 +#: src/Dialogs.vala:1815 msgid "Original: " msgstr "Oryginał: " -#: ../src/Dialogs.vala:1815 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d %b %Y, %H∶%M∶%S" -#: ../src/Dialogs.vala:1816 +#: src/Dialogs.vala:1817 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d %b %Y, %I∶%M∶%S %p" -#: ../src/Dialogs.vala:1905 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2199,7 +3738,7 @@ msgstr "" "Czas ekspozycji zostanie przesunięty do przodu o\n" "%d %s, %d %s, %d %s i %d %s." -#: ../src/Dialogs.vala:1906 +#: src/Dialogs.vala:1907 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2208,35 +3747,35 @@ msgstr "" "Czas ekspozycji zostanie przesunięty do tyłu o\n" "%d %s, %d %s, %d %s i %d %s." -#: ../src/Dialogs.vala:1908 +#: src/Dialogs.vala:1909 msgid "day" msgid_plural "days" msgstr[0] "dzień" msgstr[1] "dni" msgstr[2] "dni" -#: ../src/Dialogs.vala:1909 +#: src/Dialogs.vala:1910 msgid "hour" msgid_plural "hours" msgstr[0] "godzina" msgstr[1] "godziny" msgstr[2] "godzin" -#: ../src/Dialogs.vala:1910 +#: src/Dialogs.vala:1911 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: ../src/Dialogs.vala:1911 +#: src/Dialogs.vala:1912 msgid "second" msgid_plural "seconds" msgstr[0] "sekunda" msgstr[1] "sekundy" msgstr[2] "sekund" -#: ../src/Dialogs.vala:1955 +#: src/Dialogs.vala:1956 #, c-format msgid "" "\n" @@ -2259,92 +3798,92 @@ msgstr[2] "" "\n" "Oraz %d innych." -#: ../src/Dialogs.vala:1977 ../src/Dialogs.vala:2004 +#: src/Dialogs.vala:1980 src/Dialogs.vala:2007 msgid "Tags (separated by commas):" msgstr "Etykiety (oddzielone przecinkami):" -#: ../src/Dialogs.vala:2084 +#: src/Dialogs.vala:2087 msgid "Welcome!" msgstr "Witamy" -#: ../src/Dialogs.vala:2091 +#: src/Dialogs.vala:2094 msgid "Welcome to Shotwell!" msgstr "Witamy w programie Shotwell" -#: ../src/Dialogs.vala:2095 +#: src/Dialogs.vala:2098 msgid "To get started, import photos in any of these ways:" msgstr "" "Aby rozpocząć, należy zaimportować zdjęcia na jeden z poniższych sposobów:" -#: ../src/Dialogs.vala:2114 +#: src/Dialogs.vala:2117 #, c-format msgid "Choose File %s Import From Folder" msgstr "Wybranie Plik %s Zaimportuj z katalogu" -#: ../src/Dialogs.vala:2115 +#: src/Dialogs.vala:2118 msgid "Drag and drop photos onto the Shotwell window" msgstr "Przeniesienie zdjęć do okna programu Shotwell" -#: ../src/Dialogs.vala:2116 +#: src/Dialogs.vala:2119 msgid "Connect a camera to your computer and import" msgstr "Połączenie aparatu do komputera i zaimportowanie" -#: ../src/Dialogs.vala:2126 +#: src/Dialogs.vala:2129 #, c-format msgid "_Import photos from your %s folder" msgstr "_Zaimportuj zdjęcia z katalogu %s" -#: ../src/Dialogs.vala:2133 +#: src/Dialogs.vala:2136 msgid "You can also import photos in any of these ways:" msgstr "Można także zaimportować zdjęcia na jeden z poniższych sposobów:" -#: ../src/Dialogs.vala:2143 +#: src/Dialogs.vala:2146 msgid "_Don't show this message again" msgstr "_Bez wyświetlania tego komunikatu ponownie" -#: ../src/Dialogs.vala:2178 +#: src/Dialogs.vala:2181 #, c-format msgid "Import photos from your %s library" msgstr "Import zdjęć z kolekcji programu %s" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2325 ../src/Dialogs.vala:2329 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2328 src/Dialogs.vala:2332 msgid "(Help)" msgstr "(Pomoc)" -#: ../src/Dialogs.vala:2338 +#: src/Dialogs.vala:2341 #, c-format msgid "Year%sMonth%sDay" msgstr "Rok%smiesiąc%sdzień" -#: ../src/Dialogs.vala:2340 +#: src/Dialogs.vala:2343 #, c-format msgid "Year%sMonth" msgstr "Rok%smiesiąc" -#: ../src/Dialogs.vala:2342 +#: src/Dialogs.vala:2345 #, c-format msgid "Year%sMonth-Day" msgstr "Rok%smiesiąc-dzień" -#: ../src/Dialogs.vala:2344 +#: src/Dialogs.vala:2347 msgid "Year-Month-Day" msgstr "Rok-miesiąc-dzień" -#: ../src/Dialogs.vala:2345 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2348 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Własny" #. Invalid pattern. -#: ../src/Dialogs.vala:2582 +#: src/Dialogs.vala:2585 msgid "Invalid pattern" msgstr "Nieprawidłowy wzór" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2684 +#: src/Dialogs.vala:2687 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2352,31 +3891,31 @@ msgstr "" "Program Shotwell może skopiować zdjęcia do katalogu kolekcji lub może " "zaimportować je bez tworzenia ich kopii." -#: ../src/Dialogs.vala:2689 +#: src/Dialogs.vala:2692 msgid "Co_py Photos" msgstr "_Skopiowanie zdjęć" -#: ../src/Dialogs.vala:2690 +#: src/Dialogs.vala:2693 msgid "_Import in Place" msgstr "_Zaimportowanie" -#: ../src/Dialogs.vala:2691 +#: src/Dialogs.vala:2694 msgid "Import to Library" msgstr "Zaimportuj do kolekcji" -#: ../src/Dialogs.vala:2701 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2704 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Usuń z kolekcji" -#: ../src/Dialogs.vala:2702 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2705 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "Usuwanie zdjęcia z kolekcji" -#: ../src/Dialogs.vala:2702 +#: src/Dialogs.vala:2705 msgid "Removing Photos From Library" msgstr "Usuwanie zdjęć z kolekcji" -#: ../src/Dialogs.vala:2716 +#: src/Dialogs.vala:2719 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2404,7 +3943,7 @@ msgstr[2] "" "\n" "Tej czynności nie można cofnąć." -#: ../src/Dialogs.vala:2720 +#: src/Dialogs.vala:2723 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2432,7 +3971,7 @@ msgstr[2] "" "\n" "Tej czynności nie można cofnąć." -#: ../src/Dialogs.vala:2724 +#: src/Dialogs.vala:2727 #, c-format msgid "" "This will remove the photo from your Shotwell library. Would you also like " @@ -2456,2758 +3995,2530 @@ msgstr[1] "" "Tej czynności nie można cofnąć." msgstr[2] "" "%d zdjęcia zostaną usunięte z kolekcji programu Shotwell. Przenieść także " -"pliki do kosza?\n" -"\n" -"Tej czynności nie można cofnąć." - -#: ../src/Dialogs.vala:2756 -#, c-format -msgid "" -"The photo or video cannot be moved to your desktop trash. Delete this file?" -msgid_plural "" -"%d photos/videos cannot be moved to your desktop trash. Delete these files?" -msgstr[0] "" -"Nie można przenieść zdjęcia lub nagrania wideo do kosza. Usunąć ten plik?" -msgstr[1] "" -"Nie można przenieść %d zdjęć lub nagrań wideo do kosza. Usunąć te pliki?" -msgstr[2] "" -"Nie można przenieść %d zdjęć lub nagrań wideo do kosza. Usunąć te pliki?" - -#. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2773 -#, c-format -msgid "The photo or video cannot be deleted." -msgid_plural "%d photos/videos cannot be deleted." -msgstr[0] "Nie można usunąć zdjęcia lub nagrania wideo." -msgstr[1] "Nie można usunąć %d zdjęć lub nagrań wideo." -msgstr[2] "Nie można usunąć %d zdjęć lub nagrań wideo." - -#: ../src/Dimensions.vala:23 -msgid "Width" -msgstr "Szerokość" - -#: ../src/Dimensions.vala:26 -msgid "Height" -msgstr "Wysokość" - -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "Nie można monitorować %s: nie jest katalogiem (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Wydarzenie %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "Nie można utworzyć pliku tymczasowego dla %s: %s" - -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "Eksportowanie" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "Plik %s już istnieje. Zastąpić?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_Pomiń" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "_Zastąp" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "Z_astąp wszystkie" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Eksport" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "Nie można przetworzyć aktualizacji monitorowania: %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Dopasowuje rozmiar miniatur" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2591 -#: ../src/Resources.vala:183 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "Pow_iększ" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Zwiększa powiększenie miniatur" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2597 -#: ../src/Resources.vala:184 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "P_omniejsz" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Zmniejsza powiększenie miniatur" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "_Uporządkuj zdjęcia" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "_Odtwórz nagranie wideo" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "Otwiera wybrane nagrania wideo w systemowym odtwarzaczu filmów" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2640 -msgid "_Developer" -msgstr "_Wywoływacz" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:710 ../src/camera/ImportPage.vala:726 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Aparat" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:873 -msgid "_Titles" -msgstr "_Tytuły" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:874 -msgid "Display the title of each photo" -msgstr "Wyświetla tytuł każdego zdjęcia" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "_Komentarze" - -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Wyświetla komentarz każdego zdjęcia" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:359 -msgid "Ta_gs" -msgstr "_Etykiety" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Wyświetla etykiety każdego zdjęcia" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Według _tytułu" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Porządkuje zdjęcia według tytułu" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "We_dług daty ekspozycji" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Porządkuje zdjęcia według daty ekspozycji" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Według _oceny" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Porządkuje zdjęcia według oceny" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Według _nazw plików" - -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Porządkuje zdjęcia według nazw plików" - -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:405 -msgid "_Ascending" -msgstr "_Rosnąco" +"pliki do kosza?\n" +"\n" +"Tej czynności nie można cofnąć." -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:406 -msgid "Sort photos in an ascending order" -msgstr "Porządkuje zdjęcia w porządku rosnącym" +#: src/Dialogs.vala:2759 +#, c-format +msgid "" +"The photo or video cannot be moved to your desktop trash. Delete this file?" +msgid_plural "" +"%d photos/videos cannot be moved to your desktop trash. Delete these files?" +msgstr[0] "" +"Nie można przenieść zdjęcia lub nagrania wideo do kosza. Usunąć ten plik?" +msgstr[1] "" +"Nie można przenieść %d zdjęć lub nagrań wideo do kosza. Usunąć te pliki?" +msgstr[2] "" +"Nie można przenieść %d zdjęć lub nagrań wideo do kosza. Usunąć te pliki?" -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:412 -msgid "D_escending" -msgstr "Mal_ejąco" +#. Alert the user that the files were not removed. +#: src/Dialogs.vala:2776 +#, c-format +msgid "The photo or video cannot be deleted." +msgid_plural "%d photos/videos cannot be deleted." +msgstr[0] "Nie można usunąć zdjęcia lub nagrania wideo." +msgstr[1] "Nie można usunąć %d zdjęć lub nagrań wideo." +msgstr[2] "Nie można usunąć %d zdjęć lub nagrań wideo." -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:413 -msgid "Sort photos in a descending order" -msgstr "Porządkuje zdjęcia w porządku malejącym" +#: src/Dimensions.vala:23 +msgid "Width" +msgstr "Szerokość" -#: ../src/MediaPage.vala:723 -#, c-format -msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"Program Shotwell nie może odtworzyć wybranego nagrania wideo:\n" -"%s" +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "Wysokość" -#: ../src/Page.vala:1266 -msgid "No photos/videos" -msgstr "Brak zdjęć/nagrań wideo" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Plik" -#: ../src/Page.vala:1270 -msgid "No photos/videos found" -msgstr "Nie odnaleziono zdjęć/nagrań wideo" +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "Zapi_sz" -#: ../src/Page.vala:2568 -msgid "Photos cannot be exported to this directory." -msgstr "Nie można eksportować zdjęć do tego katalogu." +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Zapisuje zdjęcie" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "zmodyfikowany" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "Z_apisz jako…" -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Poprzednie zdjęcie" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Zapisuje zdjęcie pod inną nazwą" -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Następne zdjęcie" +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Drukuje zdjęcie na drukarce podłączonej do komputera" -#: ../src/PhotoPage.vala:1845 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Brak pliku źródłowego zdjęcia: %s" +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "_Edycja" -#: ../src/PhotoPage.vala:2412 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:343 -msgid "_View" -msgstr "_Widok" +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_Zdjęcie" -#: ../src/PhotoPage.vala:2416 ../src/direct/DirectPhotoPage.vala:81 +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 msgid "T_ools" msgstr "_Narzędzia" -#: ../src/PhotoPage.vala:2421 ../src/direct/DirectPhotoPage.vala:86 +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "_Poprzednie zdjęcie" -#: ../src/PhotoPage.vala:2422 ../src/direct/DirectPhotoPage.vala:87 +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "Poprzednie zdjęcie" -#: ../src/PhotoPage.vala:2427 ../src/direct/DirectPhotoPage.vala:92 +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "_Następne zdjęcie" -#: ../src/PhotoPage.vala:2428 ../src/direct/DirectPhotoPage.vala:93 +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "Następne zdjęcie" -#: ../src/PhotoPage.vala:2592 ../src/direct/DirectPhotoPage.vala:175 +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Widok" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "Pomo_c" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "Pow_iększ" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "Zwiększa powiększenie zdjęcia" -#: ../src/PhotoPage.vala:2598 ../src/direct/DirectPhotoPage.vala:181 +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "P_omniejsz" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "Zmniejsza powiększenie zdjęcia" -#: ../src/PhotoPage.vala:2603 ../src/direct/DirectPhotoPage.vala:186 +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "Dopasowanie do _strony" -#: ../src/PhotoPage.vala:2604 ../src/direct/DirectPhotoPage.vala:187 +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "Powiększa zdjęcie, aby pasowało do ekranu" -#: ../src/PhotoPage.vala:2610 ../src/direct/DirectPhotoPage.vala:193 +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "Powiększenie _100%" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:195 +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Powiększa zdjęcie do 100%" -#: ../src/PhotoPage.vala:2618 ../src/direct/DirectPhotoPage.vala:201 +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "Powiększenie _200%" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:203 +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Powiększa zdjęcie do 200%" -#: ../src/PhotoPage.vala:3229 +#: src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "Unable to export %s: %s" -msgstr "Nie można wyeksportować: %s: %s" - -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Wypełnienie całej strony" - -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "Dwa obrazy na stronę" - -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "Cztery obrazy na stronę" - -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "Sześć obrazów na stronę" - -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "Osiem obrazów na stronę" - -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 obrazów na stronę" - -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 obrazy na stronę" - -#: ../src/Printing.vala:348 -msgid "in." -msgstr "cale" - -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" - -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 -msgid "Wallet (2 x 3 in.)" -msgstr "Portfel (2×3 cale)" - -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 -msgid "Notecard (3 x 5 in.)" -msgstr "Notatka (3×5 cali)" - -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 -msgid "4 x 6 in." -msgstr "4×6 cali" - -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 -msgid "5 x 7 in." -msgstr "5×7 cali" - -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 -msgid "8 x 10 in." -msgstr "8×10 cali" - -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 -msgid "11 x 14 in." -msgstr "11×14 cali" - -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 -msgid "16 x 20 in." -msgstr "16×20 cali" - -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 -msgid "Metric Wallet (9 x 13 cm)" -msgstr "Portfel metryczny (9×13 cm)" - -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 -msgid "Postcard (10 x 15 cm)" -msgstr "Kartka pocztowa (10×15 cm)" - -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 -msgid "13 x 18 cm" -msgstr "13×18 cm" - -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 -msgid "18 x 24 cm" -msgstr "18×24 cm" - -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 -msgid "20 x 30 cm" -msgstr "20×30 cm" - -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 -msgid "24 x 40 cm" -msgstr "24×40 cm" - -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 -msgid "30 x 40 cm" -msgstr "30×40 cm" - -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Ustawienia obrazu" +msgid "%s does not exist." +msgstr "%s nie istnieje." -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "Drukowanie…" +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s nie jest plikiem." -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 +#: src/direct/DirectPhotoPage.vala:231 #, c-format msgid "" -"Unable to print photo:\n" -"\n" -"%s" +"%s does not support the file format of\n" +"%s." msgstr "" -"Nie można wydrukować zdjęcia:\n" -"\n" -"%s" - -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Dzisiaj" - -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Wczoraj" - -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:311 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" - -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Elementy:" +"Program %s nie obsługuje formatu pliku\n" +"%s." -#: ../src/Properties.vala:346 +#: src/direct/DirectPhotoPage.vala:248 #, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d wydarzenie" -msgstr[1] "%d wydarzenia" -msgstr[2] "%d wydarzeń" +msgid "Unable open photo %s. Sorry." +msgstr "Nie można otworzyć zdjęcia %s." -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 -#, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "%d zdjęcie" -msgstr[1] "%d zdjęcia" -msgstr[2] "%d zdjęć" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "Zapi_sz kopię" -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 +#: src/direct/DirectPhotoPage.vala:435 #, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d nagranie wideo" -msgstr[1] "%d nagrania wideo" -msgstr[2] "%d nagrań wideo" - -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Data:" - -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Czas:" - -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "Od:" +msgid "Lose changes to %s?" +msgstr "Utracić zmiany w %s?" -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "Do:" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Zamknij _bez zapisywania" -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1872 -msgid "Size:" -msgstr "Rozmiar:" +#: src/direct/DirectPhotoPage.vala:469 +#, c-format +msgid "Error while saving to %s: %s" +msgstr "Błąd podczas zapisywania zdjęcia do %s: %s" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Czas trwania:" +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Zapisz jako" -#: ../src/Properties.vala:404 +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 #, c-format -msgid "%.1f seconds" -msgstr "%.1f s" - -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Wywoływacz:" +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "Nie można monitorować %s: nie jest katalogiem (%s)" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2240 -msgid "Exposure:" -msgstr "Ekspozycja:" +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Powraca do bieżących wymiarów zdjęcia" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Położenie:" +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Ustawia przycięcie tego zdjęcia" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Rozmiar pliku:" +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "Obraca prostokąt przycięcia między orientacją poziomą a pionową" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Bieżący wywoływacz:" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Niewymuszony" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Wymiary pierwotne:" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Kwadratowy" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Producent aparatu:" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Ekran" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Model aparatu:" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Lampa błyskowa:" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "Plik wideo SD (4∶3)" -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Odległość ogniskowa:" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "Plik wideo HD (16∶9)" -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Data ekspozycji:" +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "Portfel (2×3 cale)" -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Czas ekspozycji:" +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "Notatka (3×5 cali)" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Wpływ na ekspozycję:" +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "4×6 cali" -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "Szerokość geograficzna GPS:" +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "5×7 cali" -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "Długość geograficzna GPS:" +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "8×10 cali" -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Artysta:" +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Letter (8.5×11 cali)" -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Prawa autorskie:" +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "11×14 cali" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Oprogramowanie:" +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloid (11×17 cali)" -#: ../src/Properties.vala:641 -msgid "Extended Information" -msgstr "Rozszerzone informacje" +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "16×20 cali" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Menedżer zdjęć" +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "Portfel metryczny (9×13 cm)" -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Przeglądarka zdjęć" +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "Kartka pocztowa (10×15 cm)" -#: ../src/Resources.vala:139 -msgid "Rotate _Right" -msgstr "Obróć w p_rawo" +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "13×18 cm" -#: ../src/Resources.vala:140 ../src/Resources.vala:145 -msgid "Rotate" -msgstr "Obróć" +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "18×24 cm" -#: ../src/Resources.vala:141 -msgid "Rotate Right" -msgstr "Obróć w prawo" +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210×297 mm)" -#: ../src/Resources.vala:142 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "Obraca zdjęcia w prawo (naciśnięcie klawisza Ctrl obraca w lewo)" +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "20×30 cm" -#: ../src/Resources.vala:144 -msgid "Rotate _Left" -msgstr "Obróć w _lewo" +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "24×40 cm" -#: ../src/Resources.vala:146 -msgid "Rotate Left" -msgstr "Obróć w lewo" +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "30×40 cm" -#: ../src/Resources.vala:147 -msgid "Rotate the photos left" -msgstr "Obraca zdjęcia w lewo" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297×420 mm)" -#: ../src/Resources.vala:149 -msgid "Flip Hori_zontally" -msgstr "Odwróć po_ziomo" +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "Rozmiar:" -#: ../src/Resources.vala:150 -msgid "Flip Horizontally" -msgstr "Odwróć poziomo" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Zamyka narzędzie usuwania czerwonych oczu" -#: ../src/Resources.vala:152 -msgid "Flip Verti_cally" -msgstr "Odwróć pi_onowo" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Usuwa wszystkie efekty czerwonych oczu na wybranym obszarze" -#: ../src/Resources.vala:153 -msgid "Flip Vertically" -msgstr "Odwróć pionowo" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "P_rzywróć" -#: ../src/Resources.vala:155 -msgid "_About" -msgstr "_O programie" +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "Ekspozycja:" -#: ../src/Resources.vala:156 -msgid "_Apply" -msgstr "_Zastosuj" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Nasycenie:" -#: ../src/Resources.vala:159 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:339 -msgid "_Edit" -msgstr "_Edycja" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Odcień:" -#: ../src/Resources.vala:160 -msgid "_Forward" -msgstr "_Dalej" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Temperatura:" -#: ../src/Resources.vala:161 -msgid "Fulls_creen" -msgstr "_Pełny ekran" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Cienie:" -#: ../src/Resources.vala:162 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:363 -msgid "_Help" -msgstr "Pomo_c" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Wyróżnienia:" -#: ../src/Resources.vala:163 -msgid "Leave _Fullscreen" -msgstr "Opuść p_ełny ekran" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Przywróć kolory" -#: ../src/Resources.vala:164 ../src/Resources.vala:366 -msgid "_New" -msgstr "_Nowa" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Przywraca wszystkie dostosowania kolorów do pierwotnych" -#: ../src/Resources.vala:165 -msgid "_Next" -msgstr "_Dalej" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Temperatura" -#: ../src/Resources.vala:166 -msgid "_OK" -msgstr "_OK" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Odcień" -#: ../src/Resources.vala:167 -msgid "_Play" -msgstr "Od_twórz" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Nasycenie" -#: ../src/Resources.vala:168 ../src/Resources.vala:320 -msgid "_Preferences" -msgstr "_Preferencje" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Ekspozycja" -#: ../src/Resources.vala:169 -msgid "_Previous" -msgstr "_Wstecz" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Cienie" -#: ../src/Resources.vala:170 -msgid "_Print" -msgstr "Wy_drukuj" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Wyróżnienia" -#: ../src/Resources.vala:171 -msgid "_Quit" -msgstr "Za_kończ" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Rozszerzenie kontrastu" -#: ../src/Resources.vala:172 -msgid "_Refresh" -msgstr "_Odśwież" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Kąt:" -#: ../src/Resources.vala:174 -msgid "_Revert" -msgstr "P_rzywróć" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "_Wyrównaj" -#: ../src/Resources.vala:175 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save" -msgstr "Zapi_sz" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "Wydarzenia" -#: ../src/Resources.vala:176 -msgid "Save _As" -msgstr "Z_apisz jako" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d zdjęcie/nagranie wideo" +msgstr[1] "%d zdjęcia/nagrania wideo" +msgstr[2] "%d zdjęć/nagrań wideo" -#: ../src/Resources.vala:177 -msgid "Sort _Ascending" -msgstr "Porządkowanie _rosnąco" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d nagranie wideo" +msgstr[1] "%d nagrania wideo" +msgstr[2] "%d nagrań wideo" -#: ../src/Resources.vala:178 -msgid "Sort _Descending" -msgstr "Porządkowanie mal_ejąco" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "%d zdjęcie" +msgstr[1] "%d zdjęcia" +msgstr[2] "%d zdjęć" -#: ../src/Resources.vala:179 -msgid "_Stop" -msgstr "_Zatrzymaj" +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "Brak wydarzenia" -#: ../src/Resources.vala:180 -msgid "_Undelete" -msgstr "_Cofnij usunięcie" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "_Komentarze" -#: ../src/Resources.vala:181 -msgid "_Normal Size" -msgstr "Z_wykły rozmiar" +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Wyświetlanie komentarza dla każdego wydarzenia" -#: ../src/Resources.vala:182 -msgid "Best _Fit" -msgstr "_Najlepsze dopasowanie" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "Brak wydarzeń" -#: ../src/Resources.vala:186 -msgid "_Enhance" -msgstr "Ul_epsz" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "Nie odnaleziono wydarzeń" -#: ../src/Resources.vala:187 -msgid "Enhance" -msgstr "Ulepsz" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Wszystkie wydarzenia" -#: ../src/Resources.vala:188 -msgid "Automatically improve the photo's appearance" -msgstr "Automatycznie ulepsza wygląd zdjęcia" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Niedatowane" -#: ../src/Resources.vala:190 -msgid "_Copy Color Adjustments" -msgstr "S_kopiuj dostosowania kolorów" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:191 -msgid "Copy Color Adjustments" -msgstr "Skopiuj dostosowania kolorów" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Resources.vala:192 -msgid "Copy the color adjustments applied to the photo" -msgstr "Kopiuje dostosowania kolorów zastosowane na zdjęciu" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Wydarzenie %s" -#: ../src/Resources.vala:194 -msgid "_Paste Color Adjustments" -msgstr "_Wklej dostosowania kolorów" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "Nie można utworzyć pliku tymczasowego dla %s: %s" + +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "Eksportowanie" -#: ../src/Resources.vala:195 -msgid "Paste Color Adjustments" -msgstr "Wklej dostosowania kolorów" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "Plik %s już istnieje. Zastąpić?" -#: ../src/Resources.vala:196 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Wkleja skopiowane dostosowania kolorów zastosowane na zdjęciu" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "_Pomiń" -#: ../src/Resources.vala:198 -msgid "_Crop" -msgstr "Przyt_nij" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "_Zastąp" -#: ../src/Resources.vala:199 -msgid "Crop" -msgstr "Przytnij" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "Z_astąp wszystkie" -#: ../src/Resources.vala:200 -msgid "Crop the photo's size" -msgstr "Przycina rozmiar zdjęcia" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "Eksport" -#: ../src/Resources.vala:202 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "_Wyrównaj" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Katalogi" -#: ../src/Resources.vala:203 -msgid "Straighten" -msgstr "Wyrównaj" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "Kolekcja" -#: ../src/Resources.vala:204 -msgid "Straighten the photo" -msgstr "Wyrównuje zdjęcie" +#: src/library/Branch.vala:97 src/SearchFilter.vala:608 +#: src/SearchFilter.vala:609 +msgid "Photos" +msgstr "Zdjęcia" -#: ../src/Resources.vala:206 -msgid "_Red-eye" -msgstr "_Czerwone oczy" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:602 +#: src/SearchFilter.vala:603 src/SearchFilter.vala:1188 +msgid "Flagged" +msgstr "Oznaczone flagą" -#: ../src/Resources.vala:207 -msgid "Red-eye" -msgstr "Czerwone oczy" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "Importowanie…" -#: ../src/Resources.vala:208 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Zmniejsza lub usuwa wszystkie efekty czerwonych oczu na zdjęciu" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "_Zatrzymaj importowanie" -#: ../src/Resources.vala:210 -msgid "_Adjust" -msgstr "_Dopasuj" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Zatrzymuje importowanie zdjęć" -#: ../src/Resources.vala:211 -msgid "Adjust" -msgstr "Dopasuj" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "Przygotowywanie do zaimportowania…" -#: ../src/Resources.vala:212 -msgid "Adjust the photo's color and tone" -msgstr "Dopasowuje kolor i tonację zdjęcia" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "Zaimportowano %s" -#: ../src/Resources.vala:214 -msgid "Re_vert to Original" -msgstr "Przy_wróć pierwotne" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Ostatni import" -#: ../src/Resources.vala:215 -msgid "Revert to Original" -msgstr "Przywróć pierwotne" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "_Zaimportuj z katalogu…" -#: ../src/Resources.vala:217 -msgid "Revert External E_dits" -msgstr "Odwróć zewnętrzne mo_dyfikacje" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Importuje zdjęcia z dysku do kolekcji" -#: ../src/Resources.vala:218 -msgid "Revert to the master photo" -msgstr "Przywraca pierwotne zdjęcie" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Zaimportuj z p_rogramu…" -#: ../src/Resources.vala:220 -msgid "Set as _Desktop Background" -msgstr "Ustaw jako tło p_ulpitu" +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "Uporządkuj wydarz_enia" -#: ../src/Resources.vala:221 -msgid "Set selected image to be the new desktop background" -msgstr "Ustawia wybrany obraz jako nowe tło pulpitu" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "Opróżnij _kosz" -#: ../src/Resources.vala:222 -msgid "Set as _Desktop Slideshow..." -msgstr "Ustaw jako pokaz slaj_dów pulpitu…" +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Usuwa wszystkie zdjęcia z kosza" -#: ../src/Resources.vala:224 -msgid "_Undo" -msgstr "Cof_nij" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "Wyświetl wydarze_nie dla zdjęcia" -#: ../src/Resources.vala:225 -msgid "Undo" -msgstr "Cofnij" +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Znajdź" -#: ../src/Resources.vala:227 -msgid "_Redo" -msgstr "P_onów" +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Wyszukuje zdjęcia i nagrania wideo według kryteriów wyszukiwania" -#: ../src/Resources.vala:228 -msgid "Redo" -msgstr "Ponów" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "No_we zapisane wyszukiwanie…" -#: ../src/Resources.vala:230 -msgid "Re_name Event..." -msgstr "Zmień _nazwę wydarzenia…" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_Zdjęcia" -#: ../src/Resources.vala:233 -msgid "Make _Key Photo for Event" -msgstr "Utwórz _kluczowe zdjęcie dla wydarzenia" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "Wy_darzenia" -#: ../src/Resources.vala:234 -msgid "Make Key Photo for Event" -msgstr "Tworzy kluczowe zdjęcie dla wydarzenia" +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "_Etykiety" -#: ../src/Resources.vala:236 -msgid "_New Event" -msgstr "_Nowe wydarzenie" +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "_Podstawowe informacje" -#: ../src/Resources.vala:237 -msgid "New Event" -msgstr "Nowe wydarzenie" +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Wyświetla podstawowe informacje o wybranych zdjęciach" -#: ../src/Resources.vala:239 -msgid "Move Photos" -msgstr "Przenieś zdjęcia" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "_Rozszerzone informacje" -#: ../src/Resources.vala:240 -msgid "Move photos to an event" -msgstr "Przenosi zdjęcia do innego wydarzenia" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Wyświetla rozszerzone informacje o wybranych zdjęciach" -#: ../src/Resources.vala:242 -msgid "_Merge Events" -msgstr "_Połącz wydarzenia" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "Pasek wy_szukiwania" -#: ../src/Resources.vala:243 -msgid "Merge" -msgstr "Połącz" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Wyświetla pasek wyszukiwania" -#: ../src/Resources.vala:244 -msgid "Combine events into a single event" -msgstr "Łączy wydarzenia w jedno" +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "Panel _boczny" -#: ../src/Resources.vala:246 -msgid "_Set Rating" -msgstr "U_staw ocenę" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Wyświetla panel boczny" -#: ../src/Resources.vala:247 -msgid "Set Rating" -msgstr "Ustaw ocenę" +#: src/library/LibraryWindow.vala:398 +msgid "T_oolbar" +msgstr "_Pasek narzędziowy" -#: ../src/Resources.vala:248 -msgid "Change the rating of your photo" -msgstr "Zmienia ocenę zdjęcia" +#: src/library/LibraryWindow.vala:399 +msgid "Display the tool bar" +msgstr "Wyświetla pasek narzędziowy" -#: ../src/Resources.vala:250 -msgid "_Increase" -msgstr "Z_większ" +#: src/library/LibraryWindow.vala:411 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "_Rosnąco" -#: ../src/Resources.vala:251 -msgid "Increase Rating" -msgstr "Zwiększ ocenę" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Porządkuje zdjęcia w porządku rosnącym" -#: ../src/Resources.vala:253 -msgid "_Decrease" -msgstr "_Zmniejsz" +#: src/library/LibraryWindow.vala:418 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "Mal_ejąco" -#: ../src/Resources.vala:254 -msgid "Decrease Rating" -msgstr "Zmniejsz ocenę" +#: src/library/LibraryWindow.vala:419 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Porządkuje zdjęcia w porządku malejącym" -#: ../src/Resources.vala:256 -msgid "_Unrated" -msgstr "_Bez oceny" +#: src/library/LibraryWindow.vala:657 +msgid "Import From Folder" +msgstr "Importowanie z katalogu" -#: ../src/Resources.vala:257 -msgid "Unrated" -msgstr "Bez oceny" +#: src/library/LibraryWindow.vala:726 +msgid "Empty Trash" +msgstr "Opróżnij kosz" -#: ../src/Resources.vala:258 -msgid "Rate Unrated" -msgstr "Ustaw jako bez oceny" +#: src/library/LibraryWindow.vala:726 +msgid "Emptying Trash..." +msgstr "Opróżnianie kosza…" -#: ../src/Resources.vala:259 -msgid "Setting as unrated" -msgstr "Ustawianie jako bez oceny" +#: src/library/LibraryWindow.vala:901 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"Program Shotwell został skonfigurowany, aby importować zdjęcia do katalogu " +"domowego.\n" +"Zalecana jest zmiana tego ustawienia w Edycja %s " +"Preferencje.\n" +"Kontynuować importowanie zdjęć?" -#: ../src/Resources.vala:260 -msgid "Remove any ratings" -msgstr "Usuwa wszystkie oceny" +#: src/library/LibraryWindow.vala:904 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "Położenie kolekcji" -#: ../src/Resources.vala:262 -msgid "_Rejected" -msgstr "_Odrzucona" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:917 +msgid "Photos cannot be imported from this directory." +msgstr "Nie można importować zdjęć z tego katalogu." -#: ../src/Resources.vala:263 -msgid "Rejected" -msgstr "Odrzucona" +#: src/library/LibraryWindow.vala:1203 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:264 -msgid "Rate Rejected" -msgstr "Odrzucona ocena" +#: src/library/LibraryWindow.vala:1247 src/library/LibraryWindow.vala:1258 +msgid "Updating library..." +msgstr "Aktualizowanie kolekcji…" -#: ../src/Resources.vala:265 -msgid "Setting as rejected" -msgstr "Ustawianie jako odrzucona" +#: src/library/LibraryWindow.vala:1264 +msgid "Preparing to auto-import photos..." +msgstr "Przygotowywanie do automatycznego zaimportowania zdjęć…" -#: ../src/Resources.vala:266 -msgid "Set rating to rejected" -msgstr "Ustawia ocenę jako odrzuconą" +#: src/library/LibraryWindow.vala:1269 +msgid "Auto-importing photos..." +msgstr "Automatyczne importowanie zdjęć…" -#: ../src/Resources.vala:268 -msgid "Rejected _Only" -msgstr "Tylko _odrzucone" +#: src/library/LibraryWindow.vala:1277 +msgid "Writing metadata to files..." +msgstr "Zapisywanie metadanych do plików…" -#: ../src/Resources.vala:269 -msgid "Rejected Only" -msgstr "Tylko odrzucone" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Brak plików" -#: ../src/Resources.vala:270 -msgid "Show only rejected photos" -msgstr "Wyświetla tylko odrzucone zdjęcia" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "Usuwanie…" -#: ../src/Resources.vala:272 -msgid "All + _Rejected" -msgstr "Wszystko + _odrzucone" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Kosz" -#: ../src/Resources.vala:273 ../src/Resources.vala:274 -msgid "Show all photos, including rejected" -msgstr "Wyświetla wszystkie zdjęcia, w tym odrzucone" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "Kosz jest pusty" -#: ../src/Resources.vala:276 -msgid "_All Photos" -msgstr "_Wszystkie zdjęcia" +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Usuń" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:278 ../src/Resources.vala:280 -msgid "Show all photos" -msgstr "Wyświetla wszystkie zdjęcia" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "Usuwanie zdjęć" -#: ../src/Resources.vala:282 -msgid "_Ratings" -msgstr "O_ceny" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"Kolekcja zdjęć nie jest zgodna z tą wersją programu Shotwell. Została " +"utworzona przez program Shotwell %s (schemat %d). Ta wersja to %s (schemat " +"%d). Proszę używać najnowszej wersji programu Shotwell." -#: ../src/Resources.vala:283 -msgid "Display each photo's rating" -msgstr "Wyświetla oceny każdego zdjęcia" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"Program Shotwell nie mógł zaktualizować kolekcji zdjęć z wersji %s (schemat " +"%d) do %s (schemat %d). Wiki programu Shotwell na %s zawiera więcej " +"informacji." -#: ../src/Resources.vala:285 -msgid "_Filter Photos" -msgstr "_Filtruj zdjęcia" +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"Kolekcja zdjęć nie jest zgodna z tą wersją programu Shotwell. Została " +"utworzona przez program Shotwell %s (schemat %d). Ta wersja to %s (schemat " +"%d). Proszę wyczyścić kolekcję przez usunięcie %s i ponowne zaimportowanie " +"zdjęć." -#: ../src/Resources.vala:286 -msgid "Filter Photos" -msgstr "Filtruj zdjęcia" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "" +"Nieznany błąd podczas próby sprawdzenia bazy danych programu Shotwell: %s" -#: ../src/Resources.vala:287 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Ogranicza liczbę wyświetlanych zdjęć w oparciu o filtr" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "Wczytywanie programu Shotwell" -#: ../src/Resources.vala:289 -msgid "_Duplicate" -msgstr "Utwórz _duplikat" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Ścieżka do prywatnych danych programu Shotwell" -#: ../src/Resources.vala:290 -msgid "Duplicate" -msgstr "Utwórz duplikat" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "KATALOG" -#: ../src/Resources.vala:291 -msgid "Make a duplicate of the photo" -msgstr "Tworzy duplikat zdjęcia" +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "Bez monitorowania zmian w katalogu kolekcji podczas uruchamiania" -#: ../src/Resources.vala:293 -msgid "_Export..." -msgstr "Wy_eksportuj…" +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "Bez wyświetlania paska postępu uruchamiania" -#: ../src/Resources.vala:295 -msgid "_Print..." -msgstr "Wy_drukuj…" +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "Wyświetla wersję programu" -#: ../src/Resources.vala:297 -msgid "Pu_blish..." -msgstr "Opu_blikuj…" +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[PLIK]" -#: ../src/Resources.vala:299 -msgid "Publish to various websites" -msgstr "Publikuje na różnych witrynach WWW" +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Polecenie „%s --help” wyświetli pełną listę dostępnych opcji wiersza " +"poleceń.\n" -#: ../src/Resources.vala:301 -msgid "Edit _Title..." -msgstr "Mo_dyfikuj tytuł…" +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "Nie można przetworzyć aktualizacji monitorowania: %s" -#: ../src/Resources.vala:305 -msgid "Edit _Comment..." -msgstr "Modyfikuj _komentarz…" +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Dopasowuje rozmiar miniatur" -#. Button label -#: ../src/Resources.vala:307 -msgid "Edit Comment" -msgstr "Modyfikacja komentarza" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Zwiększa powiększenie miniatur" -#: ../src/Resources.vala:309 -msgid "Edit Event _Comment..." -msgstr "Modyfikuj _komentarz wydarzenia…" +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Zmniejsza powiększenie miniatur" -#: ../src/Resources.vala:312 -msgid "_Adjust Date and Time..." -msgstr "Dostosuj d_atę i czas…" +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "_Uporządkuj zdjęcia" -#: ../src/Resources.vala:313 -msgid "Adjust Date and Time" -msgstr "Dostosowuje datę i czas" +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "_Odtwórz nagranie wideo" -#: ../src/Resources.vala:315 -msgid "Add _Tags..." -msgstr "Dodaj e_tykiety…" +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "Otwiera wybrane nagrania wideo w systemowym odtwarzaczu filmów" -#: ../src/Resources.vala:316 -msgid "_Add Tags..." -msgstr "_Dodaj etykiety…" +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Wywoływacz" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:318 ../src/Resources.vala:351 -msgid "Add Tags" -msgstr "Dodaj etykiety" +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Wyświetla komentarz każdego zdjęcia" -#: ../src/Resources.vala:322 -msgid "Open With E_xternal Editor" -msgstr "_Otwórz za pomocą zewnętrznego edytora" +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Wyświetla etykiety każdego zdjęcia" -#: ../src/Resources.vala:324 -msgid "Open With RA_W Editor" -msgstr "Otwórz za pomocą edytora plików _RAW" +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Według _tytułu" -#: ../src/Resources.vala:326 -msgid "Send _To..." -msgstr "Wyślij _do…" +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Porządkuje zdjęcia według tytułu" -#: ../src/Resources.vala:327 -msgid "Send T_o..." -msgstr "Wyślij d_o…" +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "We_dług daty ekspozycji" -#: ../src/Resources.vala:329 -msgid "_Find..." -msgstr "_Znajdź…" +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Porządkuje zdjęcia według daty ekspozycji" -#: ../src/Resources.vala:330 -msgid "Find" -msgstr "Wyszukiwanie" +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Według _oceny" -#: ../src/Resources.vala:331 -msgid "Find an image by typing text that appears in its name or tags" -msgstr "" -"Wyszukuje obraz przez wpisanie tekstu pojawiającego się w jego nazwie lub " -"etykietach" +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Porządkuje zdjęcia według oceny" -#: ../src/Resources.vala:333 -msgid "_Flag" -msgstr "_Dodaj flagę" +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Według _nazw plików" -#: ../src/Resources.vala:335 -msgid "Un_flag" -msgstr "_Usuń flagę" +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Porządkuje zdjęcia według nazw plików" -#: ../src/Resources.vala:338 +#: src/MediaPage.vala:723 #, c-format -msgid "Unable to launch editor: %s" -msgstr "Nie można uruchomić edytora: %s" +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" +"Program Shotwell nie może odtworzyć wybranego nagrania wideo:\n" +"%s" -#: ../src/Resources.vala:343 -#, c-format -msgid "Add Tag \"%s\"" -msgstr "Dodaj etykietę „%s”" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "Brak zdjęć/nagrań wideo" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:346 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Dodaj etykiety „%s” i „%s”" +#: src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "Nie odnaleziono zdjęć/nagrań wideo pasujących do bieżącego filtra" -#: ../src/Resources.vala:356 -#, c-format -msgid "_Delete Tag \"%s\"" -msgstr "_Usuń etykietę „%s”" +#: src/Page.vala:2576 +msgid "Photos cannot be exported to this directory." +msgstr "Nie można eksportować zdjęć do tego katalogu." -#: ../src/Resources.vala:360 -#, c-format -msgid "Delete Tag \"%s\"" -msgstr "Usuń etykietę „%s”" +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Poprzednie zdjęcie" -#: ../src/Resources.vala:363 -msgid "Delete Tag" -msgstr "Usuń etykietę" +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Następne zdjęcie" -#: ../src/Resources.vala:369 +#: src/PhotoPage.vala:1845 #, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Zmień _nazwę etykiety „%s”…" +msgid "Photo source file missing: %s" +msgstr "Brak pliku źródłowego zdjęcia: %s" -#: ../src/Resources.vala:373 +#: src/PhotoPage.vala:3229 #, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Zmień nazwę etykiety „%s” na „%s”" - -#: ../src/Resources.vala:376 -msgid "_Rename..." -msgstr "_Zmień nazwę…" +msgid "Unable to export %s: %s" +msgstr "Nie można wyeksportować: %s: %s" -#: ../src/Resources.vala:378 -msgid "Modif_y Tags..." -msgstr "M_odyfikuj etykiety…" +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:379 -msgid "Modify Tags" -msgstr "Modyfikuj etykiety" +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:185 #, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Dodaje etykietę „%s” do zdjęcia" +msgid "Low (%d%%)" +msgstr "Niskie (%d%%)" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Dodaje etykietę „%s” do zdjęć" +msgid "Medium (%d%%)" +msgstr "Średnie (%d%%)" -#: ../src/Resources.vala:386 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Dodaje etykietę „%s” do wybranego zdjęcia" +msgid "High (%d%%)" +msgstr "Wysokie (%d%%)" -#: ../src/Resources.vala:387 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Dodaje etykietę „%s” do wybranych zdjęć" +msgid "Maximum (%d%%)" +msgstr "Maksymalne (%d%%)" -#: ../src/Resources.vala:391 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Usuń etykietę „%s” ze _zdjęcia" +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:392 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Usuwa etykietę „%s” ze _zdjęć" +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Usuwa etykietę „%s” ze zdjęcia" +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Usuwa etykietę „%s” ze zdjęć" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "zmodyfikowany" -#: ../src/Resources.vala:401 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "" -"Nie można zmienić nazwy etykiety na „%s”, ponieważ ta etykieta już istnieje." +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Wypełnienie całej strony" -#: ../src/Resources.vala:405 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "" -"Nie można zmienić nazwy wyszukiwania na „%s”, ponieważ takie wyszukiwanie " -"już istnieje." +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "Dwa obrazy na stronę" + +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "Cztery obrazy na stronę" + +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "Sześć obrazów na stronę" + +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "Osiem obrazów na stronę" -#: ../src/Resources.vala:408 -msgid "Saved Search" -msgstr "Zapisane wyszukiwanie" +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 obrazów na stronę" -#: ../src/Resources.vala:410 -msgid "Delete Search" -msgstr "Usunięcie wyszukiwania" +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 obrazy na stronę" -#: ../src/Resources.vala:413 -msgid "_Edit..." -msgstr "_Modyfikuj…" +#: src/Printing.vala:348 +msgid "in." +msgstr "cale" -#: ../src/Resources.vala:414 -msgid "Re_name..." -msgstr "Zmień _nazwę…" +#: src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:417 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Zmienia nazwę wyszukiwania z „%s” na „%s”" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "Ustawienia obrazu" -#: ../src/Resources.vala:421 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "Usuwa wyszukiwanie „%s”" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "Drukowanie…" -#: ../src/Resources.vala:579 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Rate %s" -msgstr "Ocena %s" +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"Nie można wydrukować zdjęcia:\n" +"\n" +"%s" -#: ../src/Resources.vala:580 -#, c-format -msgid "Set rating to %s" -msgstr "Ustaw ocenę na %s" +#: src/Properties.vala:84 +msgid "Today" +msgstr "Dzisiaj" -#: ../src/Resources.vala:581 -#, c-format -msgid "Setting rating to %s" -msgstr "Ustawianie oceny na %s" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "Wczoraj" -#: ../src/Resources.vala:583 -#, c-format -msgid "Display %s" -msgstr "Wyświetlanie %s" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "Elementy:" -#: ../src/Resources.vala:584 +#: src/Properties.vala:346 #, c-format -msgid "Only show photos with a rating of %s" -msgstr "Wyświetla tylko z oceną %s" +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d wydarzenie" +msgstr[1] "%d wydarzenia" +msgstr[2] "%d wydarzeń" -#: ../src/Resources.vala:585 -#, c-format -msgid "%s or Better" -msgstr "%s lub lepszą" +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "Data:" -#: ../src/Resources.vala:586 -#, c-format -msgid "Display %s or Better" -msgstr "Wyświetlanie %s lub lepszych" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "Czas:" -#: ../src/Resources.vala:587 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Wyświetla tylko zdjęcia z oceną %s lub lepszą" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "Od:" -#: ../src/Resources.vala:678 -msgid "Remove the selected photos from the trash" -msgstr "Usuwa wybrane zdjęcia z kosza" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "Do:" -#: ../src/Resources.vala:679 -msgid "Remove the selected photos from the library" -msgstr "Usuwa wybrane zdjęcia z kolekcji" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "Czas trwania:" -#: ../src/Resources.vala:681 -msgid "_Restore" -msgstr "P_rzywróć" +#: src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "%.1f s" -#: ../src/Resources.vala:682 -msgid "Move the selected photos back into the library" -msgstr "Przenosi wybrane zdjęcia z powrotem do kolekcji" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "Wywoływacz:" -#: ../src/Resources.vala:684 -msgid "Show in File Mana_ger" -msgstr "Wyświetl w mene_dżerze plików" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "Położenie:" -#: ../src/Resources.vala:685 -msgid "Open the selected photo's directory in the file manager" -msgstr "Otwiera wybrany katalog zdjęć w menedżerze plików" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "Rozmiar pliku:" -#: ../src/Resources.vala:688 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "Nie można otworzyć w menedżerze plików: %s" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "Bieżący wywoływacz:" -#: ../src/Resources.vala:691 -msgid "R_emove From Library" -msgstr "_Usuń z kolekcji" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Wymiary pierwotne:" -#: ../src/Resources.vala:693 -msgid "_Move to Trash" -msgstr "Przenieś do _kosza" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "Producent aparatu:" -#: ../src/Resources.vala:695 -msgid "Select _All" -msgstr "Z_aznacz wszystkie" +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "Model aparatu:" -#: ../src/Resources.vala:696 -msgid "Select all items" -msgstr "Zaznacza wszystkie elementy" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "Lampa błyskowa:" -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:775 -msgid "%-I:%M %p" -msgstr "%H∶%M" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "Odległość ogniskowa:" -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M:%S %p" -msgstr "%H∶%M∶%S" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Data ekspozycji:" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:784 -msgid "%a %b %d, %Y" -msgstr "%a, %e %b %Y" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Czas ekspozycji:" -#. / 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 -#. / 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 -#: ../src/Resources.vala:789 ../src/Resources.vala:799 -msgid "%a %b %d" -msgstr "%a, %e %b" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Wpływ na ekspozycję:" -#. / 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 -#: ../src/Resources.vala:794 -msgid "%d, %Y" -msgstr "%e, %Y" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "Szerokość geograficzna GPS:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Pokaz slajdów" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "Długość geograficzna GPS:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Oznaczone flagą" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "Artysta:" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Zdjęcia" +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "Prawa autorskie:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Nagrania wideo" +#: src/Properties.vala:624 +msgid "Software:" +msgstr "Oprogramowanie:" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "Zdjęcia RAW" +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "Rozszerzone informacje" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "Zdjęcia RAW" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "Przygotowywanie do wysłania" -#: ../src/SearchFilter.vala:934 +#: src/publishing/PublishingPluginHost.vala:12 #, c-format -msgid "Error loading UI file %s: %s" -msgstr "Błąd podczas wczytywania pliku interfejsu użytkownika %s: %s" - -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Zamknij" +msgid "Uploading %d of %d" +msgstr "Wysyłanie %d z %d" -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Typ" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "Nie można kontynuować publikowania w serwisie %s z powodu błędu:" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Ocena" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "" +"Aby spróbować opublikowania do innego serwisu, należy wybrać jeden z " +"powyższego menu." -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Ustawienia" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "Wybrane zdjęcia/nagrania wideo zostały pomyślnie opublikowane." -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Wstecz" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "Wybrane nagrania wideo zostały pomyślnie opublikowane." -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Przechodzi do poprzedniego zdjęcia" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "Wybrane zdjęcia zostały pomyślnie opublikowane." -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Wstrzymaj" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "Wybrane nagranie wideo zostało pomyślnie opublikowane." -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Wstrzymuje pokaz slajdów" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "Wybrane nagrania wideo zostały pomyślnie opublikowane." -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Dalej" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "Pobieranie informacji o koncie…" -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Przechodzi do następnego zdjęcia" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "Logowanie…" -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Zmienia ustawienia pokazu slajdów" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Publikacja zdjęć" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Brak wszystkich plików źródłowych zdjęć." +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Publikowanie zdjęć _do:" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Odtwórz" +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Publikacja nagrań wideo" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Kontynuuje pokaz slajdów" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Publikowanie nagrań wideo _do" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "bez nazwy" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Publikacja zdjęć i nagrań wideo" -#. multiple videos -#: ../src/VideoSupport.vala:490 -msgid "Export Videos" -msgstr "Eksport nagrań wideo" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Publikowanie zdjęć i nagrań wideo _do" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Aparaty" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "Nie można opublikować" -#: ../src/camera/ImportPage.vala:458 +#: src/publishing/PublishingUI.vala:398 +#, c-format msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"Nie można odmontować aparatu. Proszę spróbować odmontować aparat w " -"menedżerze plików." +"Program Shotwell nie może opublikować wybranych elementów, ponieważ nie " +"włączono zgodnej wtyczki publikowania. Aby to naprawić, należy wybrać " +"Modyfikacja preferencji programu %s i włączyć jedną lub więcej " +"wtyczek publikowania w karcie Wtyczki." -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:775 -msgid "Hide photos already imported" -msgstr "Ukrywa już zaimportowane zdjęcia" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Publikowanie" -#: ../src/camera/ImportPage.vala:776 -msgid "Only display photos that have not been imported" -msgstr "Wyświetla tylko zdjęcia, które nie zostały jeszcze zaimportowane" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Obróć w p_rawo" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:846 -msgid "Starting import, please wait..." -msgstr "Rozpoczynanie importowania, proszę czekać…" +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "Obróć" -#: ../src/camera/ImportPage.vala:885 -msgid "Import _Selected" -msgstr "_Zaimportuj wybrane" +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Obróć w prawo" -#: ../src/camera/ImportPage.vala:886 -msgid "Import the selected photos into your library" -msgstr "Importuje wybrane zdjęcia do kolekcji" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "Obraca zdjęcia w prawo (naciśnięcie klawisza Ctrl obraca w lewo)" -#: ../src/camera/ImportPage.vala:891 -msgid "Import _All" -msgstr "Z_aimportuj wszystkie" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Obróć w _lewo" -#: ../src/camera/ImportPage.vala:892 -msgid "Import all the photos into your library" -msgstr "Importuje wszystkie zdjęcia do kolekcji" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Obróć w lewo" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1013 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Program Shotwell musi odmontować aparat z systemu plików, aby uzyskać do " -"niego dostęp. Kontynuować?" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Obraca zdjęcia w lewo" -#: ../src/camera/ImportPage.vala:1019 -msgid "_Unmount" -msgstr "Odmont_uj" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Odwróć po_ziomo" -#: ../src/camera/ImportPage.vala:1024 -msgid "Please unmount the camera." -msgstr "Proszę odmontować aparat." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Odwróć poziomo" -#: ../src/camera/ImportPage.vala:1029 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"Aparat jest zablokowany przez inny program. Program Shotwell może uzyskać " -"dostęp do aparatu tylko wtedy, kiedy nie jest zablokowany. Proszę zamknąć " -"wszystkie pozostałe programy używające aparatu i spróbować ponownie." +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Odwróć pi_onowo" -#: ../src/camera/ImportPage.vala:1039 -msgid "Please close any other application using the camera." -msgstr "Proszę zamknąć inne programy używające aparatu." +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Odwróć pionowo" -#: ../src/camera/ImportPage.vala:1044 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"Nie można pobrać podglądu z aparatu:\n" -"%s" +#: src/Resources.vala:155 +msgid "_About" +msgstr "_O programie" -#: ../src/camera/ImportPage.vala:1061 -msgid "Unmounting..." -msgstr "Odmontowywanie…" +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "_Zastosuj" -#: ../src/camera/ImportPage.vala:1167 -msgid "Fetching photo information" -msgstr "Pobieranie informacji o zdjęciach" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "_Dalej" -#: ../src/camera/ImportPage.vala:1522 -#, c-format -msgid "Fetching preview for %s" -msgstr "Pobieranie podglądu dla %s" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "_Pełny ekran" -#: ../src/camera/ImportPage.vala:1638 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "Nie można zablokować aparatu: %s" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "Opuść p_ełny ekran" -#: ../src/camera/ImportPage.vala:1723 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "Usunąć to zdjęcie z aparatu?" -msgstr[1] "Usunąć te %d zdjęcia z aparatu?" -msgstr[2] "Usunąć te %d zdjęć z aparatu?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_Nowa" -#: ../src/camera/ImportPage.vala:1726 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "Usunąć to nagranie wideo z aparatu?" -msgstr[1] "Usunąć te %d nagrania wideo z aparatu?" -msgstr[2] "Usunąć te %d nagrań wideo z aparatu?" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "_Dalej" -#: ../src/camera/ImportPage.vala:1729 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "Usunąć to zdjęcie/nagranie wideo z aparatu?" -msgstr[1] "Usunąć te %d zdjęcia/nagrania wideo z aparatu?" -msgstr[2] "Usunąć te %d zdjęć/nagrań wideo z aparatu?" +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_OK" -#: ../src/camera/ImportPage.vala:1732 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "Usunąć te pliki z aparatu?" -msgstr[1] "Usunąć %d pliki z aparatu?" -msgstr[2] "Usunąć %d plików z aparatu?" +#: src/Resources.vala:167 +msgid "_Play" +msgstr "Od_twórz" -#: ../src/camera/ImportPage.vala:1759 -msgid "Removing photos/videos from camera" -msgstr "Usuwanie zdjęć/nagrań wideo z aparatu" +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "_Preferencje" -#: ../src/camera/ImportPage.vala:1763 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "" -"Nie można usunąć %d zdjęcia/nagrania wideo z aparatu z powodu błędów." -msgstr[1] "Nie można usunąć %d zdjęć/nagrań wideo z aparatu z powodu błędów." -msgstr[2] "Nie można usunąć %d zdjęć/nagrań wideo z aparatu z powodu błędów." +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "_Wstecz" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Importowanie danych" +#: src/Resources.vala:170 +msgid "_Print" +msgstr "Wy_drukuj" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "Baza danych %s" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "Za_kończ" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "" -"Importowanie z %s nie może być kontynuowane z powodu wystąpienia błędu:" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "_Odśwież" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "" -"Aby spróbować zaimportować z innego serwisu należy wybrać go z powyższego " -"menu." +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "P_rzywróć" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"Nie włączono żadnych wtyczek importowania danych.\n" -"\n" -"Aby użyć funkcji importowania z programu należy posiadać co najmniej jedną " -"włączoną wtyczkę importowania danych. Wtyczki można włączać w oknie " -"Preferencji." +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "Z_apisz jako" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Plik bazy danych:" +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "Porządkowanie _rosnąco" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:882 -msgid "_Import" -msgstr "Zai_mportuj" +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "Porządkowanie mal_ejąco" -#: ../src/data_imports/DataImportsUI.vala:220 -msgid "Import From Application" -msgstr "Import z programu" +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "_Zatrzymaj" -#: ../src/data_imports/DataImportsUI.vala:221 -msgid "Import media _from:" -msgstr "Importowanie multimediów _z:" +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "_Cofnij usunięcie" -#: ../src/data_imports/DataImportsUI.vala:408 -#: ../src/publishing/PublishingUI.vala:507 -msgid "_Close" -msgstr "Zam_knij" +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "Z_wykły rozmiar" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "Nie można otworzyć/utworzyć bazy danych zdjęć %s: kod błędu: %d" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "_Najlepsze dopasowanie" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"Nie można zapisać do pliku bazy danych zdjęć:\n" -" %s" +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "_Uwydatnij" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"Błąd podczas uzyskiwania dostępu do pliku bazy danych:\n" -" %s\n" -"\n" -"Błąd: \n" -"%s" +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "Uwydatnij" + +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Automatycznie ulepsza wygląd zdjęcia" + +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "S_kopiuj dostosowania kolorów" + +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Skopiuj dostosowania kolorów" -#: ../src/db/DatabaseTable.vala:81 -#, c-format -msgid "Unable to restore photo database %s" -msgstr "Nie można przywrócić bazy danych zdjęć %s" +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Kopiuje dostosowania kolorów zastosowane na zdjęciu" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 -msgid "_File" -msgstr "_Plik" +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "_Wklej dostosowania kolorów" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Zapisuje zdjęcie" +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Wklej dostosowania kolorów" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "Z_apisz jako…" +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Wkleja skopiowane dostosowania kolorów zastosowane na zdjęciu" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Zapisuje zdjęcie pod inną nazwą" +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "Przyt_nij" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Drukuje zdjęcie na drukarce podłączonej do komputera" +#: src/Resources.vala:199 +msgid "Crop" +msgstr "Przytnij" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 -msgid "_Photo" -msgstr "_Zdjęcie" +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Przycina rozmiar zdjęcia" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s nie istnieje." +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "Wyrównaj" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s nie jest plikiem." +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Wyrównuje zdjęcie" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"Program %s nie obsługuje formatu pliku\n" -"%s." +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "_Czerwone oczy" -#: ../src/direct/DirectPhotoPage.vala:248 -#, c-format -msgid "Unable open photo %s. Sorry." -msgstr "Nie można otworzyć zdjęcia %s." +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "Czerwone oczy" -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save a Copy" -msgstr "Zapi_sz kopię" +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Zmniejsza lub usuwa wszystkie efekty czerwonych oczu na zdjęciu" -#: ../src/direct/DirectPhotoPage.vala:435 -#, c-format -msgid "Lose changes to %s?" -msgstr "Utracić zmiany w %s?" +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Dopasuj" -#: ../src/direct/DirectPhotoPage.vala:436 -msgid "Close _without Saving" -msgstr "Zamknij _bez zapisywania" +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "Dopasuj" -#: ../src/direct/DirectPhotoPage.vala:469 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "Błąd podczas zapisywania zdjęcia do %s: %s" +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Dopasowuje kolor i tonację zdjęcia" -#: ../src/direct/DirectPhotoPage.vala:497 -#: ../src/direct/DirectPhotoPage.vala:518 -msgid "Save As" -msgstr "Zapisz jako" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "Przy_wróć pierwotne" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Powraca do bieżących wymiarów zdjęcia" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Przywróć pierwotne" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Ustawia przycięcie tego zdjęcia" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Odwróć zewnętrzne mo_dyfikacje" -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "Obraca prostokąt przycięcia między orientacją poziomą a pionową" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Przywraca pierwotne zdjęcie" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Niewymuszony" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "Ustaw jako tło p_ulpitu" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Kwadratowy" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "Ustawia wybrany obraz jako nowe tło pulpitu" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Ekran" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "Ustaw jako pokaz slaj_dów pulpitu…" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "Cof_nij" -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "Plik wideo SD (4∶3)" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "Cofnij" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "Plik wideo HD (16∶9)" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "P_onów" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Letter (8.5×11 cali)" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "Ponów" -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloid (11×17 cali)" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Zmień _nazwę wydarzenia…" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210×297 mm)" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "Utwórz _kluczowe zdjęcie dla wydarzenia" -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297×420 mm)" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Tworzy kluczowe zdjęcie dla wydarzenia" -#: ../src/editing_tools/EditingTools.vala:1887 -msgid "Close the red-eye tool" -msgstr "Zamyka narzędzie usuwania czerwonych oczu" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "_Nowe wydarzenie" -#: ../src/editing_tools/EditingTools.vala:1890 -msgid "Remove any red-eye effects in the selected region" -msgstr "Usuwa wszystkie efekty czerwonych oczu na wybranym obszarze" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "Nowe wydarzenie" -#: ../src/editing_tools/EditingTools.vala:2226 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "P_rzywróć" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "Przenieś zdjęcia" -#: ../src/editing_tools/EditingTools.vala:2248 -msgid "Saturation:" -msgstr "Nasycenie:" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Przenosi zdjęcia do innego wydarzenia" -#: ../src/editing_tools/EditingTools.vala:2256 -msgid "Tint:" -msgstr "Odcień:" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "_Połącz wydarzenia" -#: ../src/editing_tools/EditingTools.vala:2265 -msgid "Temperature:" -msgstr "Temperatura:" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "Połącz" -#: ../src/editing_tools/EditingTools.vala:2273 -msgid "Shadows:" -msgstr "Cienie:" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Łączy wydarzenia w jedno" -#: ../src/editing_tools/EditingTools.vala:2281 -msgid "Highlights:" -msgstr "Wyróżnienia:" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "U_staw ocenę" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset Colors" -msgstr "Przywróć kolory" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "Ustaw ocenę" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset all color adjustments to original" -msgstr "Przywraca wszystkie dostosowania kolorów do pierwotnych" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Zmienia ocenę zdjęcia" -#: ../src/editing_tools/EditingTools.vala:2687 -msgid "Temperature" -msgstr "Temperatura" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "Z_większ" -#: ../src/editing_tools/EditingTools.vala:2700 -msgid "Tint" -msgstr "Odcień" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Zwiększ ocenę" -#: ../src/editing_tools/EditingTools.vala:2713 -msgid "Saturation" -msgstr "Nasycenie" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "_Zmniejsz" -#: ../src/editing_tools/EditingTools.vala:2726 -msgid "Exposure" -msgstr "Ekspozycja" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Zmniejsz ocenę" -#: ../src/editing_tools/EditingTools.vala:2739 -msgid "Shadows" -msgstr "Cienie" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Bez oceny" -#: ../src/editing_tools/EditingTools.vala:2752 -msgid "Highlights" -msgstr "Wyróżnienia" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "Bez oceny" -#: ../src/editing_tools/EditingTools.vala:2762 -msgid "Contrast Expansion" -msgstr "Rozszerzenie kontrastu" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Ustaw jako bez oceny" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Kąt:" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "Ustawianie jako bez oceny" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Wydarzenia" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Usuwa wszystkie oceny" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d zdjęcie/nagranie wideo" -msgstr[1] "%d zdjęcia/nagrania wideo" -msgstr[2] "%d zdjęć/nagrań wideo" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "_Odrzucona" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "Brak wydarzenia" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "Odrzucona" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Wyświetlanie komentarza dla każdego wydarzenia" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Odrzucona ocena" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "Brak wydarzeń" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "Ustawianie jako odrzucona" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "Nie odnaleziono wydarzeń" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Ustawia ocenę jako odrzuconą" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Wszystkie wydarzenia" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "Tylko _odrzucone" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Niedatowane" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Tylko odrzucone" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Wyświetla tylko odrzucone zdjęcia" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Wszystko + _odrzucone" + +#: src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Wyświetla wszystkie zdjęcia, w tym odrzucone" + +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "_Wszystkie zdjęcia" + +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "Wyświetla wszystkie zdjęcia" + +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "O_ceny" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Katalogi" +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Wyświetla oceny każdego zdjęcia" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Kolekcja" +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_Filtruj zdjęcia" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "Importowanie…" +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Filtruj zdjęcia" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "_Zatrzymaj importowanie" +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Ogranicza liczbę wyświetlanych zdjęć w oparciu o filtr" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Zatrzymuje importowanie zdjęć" +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "Utwórz _duplikat" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "Przygotowywanie do zaimportowania…" +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "Utwórz duplikat" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "Zaimportowano %s" +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Tworzy duplikat zdjęcia" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Ostatni import" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "Wy_eksportuj…" -#: ../src/library/LibraryWindow.vala:285 -msgid "_Import From Folder..." -msgstr "_Zaimportuj z katalogu…" +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "Wy_drukuj…" -#: ../src/library/LibraryWindow.vala:286 -msgid "Import photos from disk to library" -msgstr "Importuje zdjęcia z dysku do kolekcji" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "Opu_blikuj…" -#: ../src/library/LibraryWindow.vala:293 -msgid "Import From _Application..." -msgstr "Zaimportuj z p_rogramu…" +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Publikuje na różnych witrynach WWW" -#: ../src/library/LibraryWindow.vala:297 -msgid "Sort _Events" -msgstr "Uporządkuj wydarz_enia" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "Mo_dyfikuj tytuł…" -#: ../src/library/LibraryWindow.vala:307 -msgid "Empty T_rash" -msgstr "Opróżnij _kosz" +#. Button label +#: src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Modyfikuj tytuł" -#: ../src/library/LibraryWindow.vala:308 -msgid "Delete all photos in the trash" -msgstr "Usuwa wszystkie zdjęcia z kosza" +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "Modyfikuj _komentarz…" -#: ../src/library/LibraryWindow.vala:313 -msgid "View Eve_nt for Photo" -msgstr "Wyświetl wydarze_nie dla zdjęcia" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Modyfikacja komentarza" -#: ../src/library/LibraryWindow.vala:317 -msgid "_Find" -msgstr "_Znajdź" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "Modyfikuj _komentarz wydarzenia…" -#: ../src/library/LibraryWindow.vala:318 -msgid "Find photos and videos by search criteria" -msgstr "Wyszukuje zdjęcia i nagrania wideo według kryteriów wyszukiwania" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "Dostosuj d_atę i czas…" -#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "No_we zapisane wyszukiwanie…" +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Dostosowuje datę i czas" -#: ../src/library/LibraryWindow.vala:351 -msgid "_Photos" -msgstr "_Zdjęcia" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "Dodaj e_tykiety…" -#: ../src/library/LibraryWindow.vala:355 -msgid "Even_ts" -msgstr "Wy_darzenia" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "_Dodaj etykiety…" -#: ../src/library/LibraryWindow.vala:374 -msgid "_Basic Information" -msgstr "_Podstawowe informacje" +#. Dialog title +#: src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Dodanie etykiet" -#: ../src/library/LibraryWindow.vala:375 -msgid "Display basic information for the selection" -msgstr "Wyświetla podstawowe informacje o wybranych zdjęciach" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "_Otwórz za pomocą zewnętrznego edytora" -#: ../src/library/LibraryWindow.vala:380 -msgid "E_xtended Information" -msgstr "_Rozszerzone informacje" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Otwórz za pomocą edytora plików _RAW" -#: ../src/library/LibraryWindow.vala:381 -msgid "Display extended information for the selection" -msgstr "Wyświetla rozszerzone informacje o wybranych zdjęciach" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "Wyślij _do…" -#: ../src/library/LibraryWindow.vala:386 -msgid "_Search Bar" -msgstr "Pasek wy_szukiwania" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "Wyślij d_o…" -#: ../src/library/LibraryWindow.vala:387 -msgid "Display the search bar" -msgstr "Wyświetla pasek wyszukiwania" +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "_Znajdź…" -#: ../src/library/LibraryWindow.vala:392 -msgid "S_idebar" -msgstr "Panel _boczny" +#: src/Resources.vala:327 +msgid "Find" +msgstr "Wyszukiwanie" -#: ../src/library/LibraryWindow.vala:393 -msgid "Display the sidebar" -msgstr "Wyświetla panel boczny" +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" +msgstr "" +"Wyszukuje obraz przez wpisanie tekstu pojawiającego się w jego nazwie lub " +"etykietach" -#: ../src/library/LibraryWindow.vala:651 -msgid "Import From Folder" -msgstr "Importowanie z katalogu" +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "_Dodaj flagę" -#: ../src/library/LibraryWindow.vala:720 -msgid "Empty Trash" -msgstr "Opróżnij kosz" +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "_Usuń flagę" -#: ../src/library/LibraryWindow.vala:720 -msgid "Emptying Trash..." -msgstr "Opróżnianie kosza…" +#: src/Resources.vala:335 +#, c-format +msgid "Unable to launch editor: %s" +msgstr "Nie można uruchomić edytora: %s" -#: ../src/library/LibraryWindow.vala:879 +#: src/Resources.vala:340 #, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" -msgstr "" -"Program Shotwell został skonfigurowany, aby importować zdjęcia do katalogu " -"domowego.\n" -"Zalecana jest zmiana tego ustawienia w Edycja %s " -"Preferencje.\n" -"Kontynuować importowanie zdjęć?" +msgid "Add Tag \"%s\"" +msgstr "Dodaj etykietę „%s”" -#: ../src/library/LibraryWindow.vala:882 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Położenie kolekcji" +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Dodaj etykiety „%s” i „%s”" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:895 -msgid "Photos cannot be imported from this directory." -msgstr "Nie można importować zdjęć z tego katalogu." +#. Undo/Redo command name (in Edit menu) +#: src/Resources.vala:348 +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "Dodaj etykiety" -#: ../src/library/LibraryWindow.vala:1183 +#: src/Resources.vala:353 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "_Delete Tag \"%s\"" +msgstr "_Usuń etykietę „%s”" -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 -msgid "Updating library..." -msgstr "Aktualizowanie kolekcji…" +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Usuń etykietę „%s”" -#: ../src/library/LibraryWindow.vala:1244 -msgid "Preparing to auto-import photos..." -msgstr "Przygotowywanie do automatycznego zaimportowania zdjęć…" +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Usuń etykietę" -#: ../src/library/LibraryWindow.vala:1249 -msgid "Auto-importing photos..." -msgstr "Automatyczne importowanie zdjęć…" +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Zmień _nazwę etykiety „%s”…" -#: ../src/library/LibraryWindow.vala:1257 -msgid "Writing metadata to files..." -msgstr "Zapisywanie metadanych do plików…" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Zmień nazwę etykiety „%s” na „%s”" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Brak plików" +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Zmień nazwę…" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "Usuwanie…" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "M_odyfikuj etykiety…" -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Kosz" +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Modyfikuj etykiety" -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "Kosz jest pusty" +#: src/Resources.vala:379 +#, c-format +msgid "Tag Photo as \"%s\"" +msgstr "Dodaje etykietę „%s” do zdjęcia" -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Usuń" +#: src/Resources.vala:379 +#, c-format +msgid "Tag Photos as \"%s\"" +msgstr "Dodaje etykietę „%s” do zdjęć" -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "Usuwanie zdjęć" +#: src/Resources.vala:383 +#, c-format +msgid "Tag the selected photo as \"%s\"" +msgstr "Dodaje etykietę „%s” do wybranego zdjęcia" -#: ../src/main.vala:54 +#: src/Resources.vala:384 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"Kolekcja zdjęć nie jest zgodna z tą wersją programu Shotwell. Została " -"utworzona przez program Shotwell %s (schemat %d). Ta wersja to %s (schemat " -"%d). Proszę używać najnowszej wersji programu Shotwell." +msgid "Tag the selected photos as \"%s\"" +msgstr "Dodaje etykietę „%s” do wybranych zdjęć" -#: ../src/main.vala:59 +#: src/Resources.vala:388 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"Program Shotwell nie mógł zaktualizować kolekcji zdjęć z wersji %s (schemat " -"%d) do %s (schemat %d). Aby dowiedzieć się więcej, proszę sprawdzić wiki " -"programu Shotwell na %s" +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Usuń etykietę „%s” ze _zdjęcia" -#: ../src/main.vala:65 +#: src/Resources.vala:389 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"Kolekcja zdjęć nie jest zgodna z tą wersją programu Shotwell. Została " -"utworzona przez program Shotwell %s (schemat %d). Ta wersja to %s (schemat " -"%d). Proszę wyczyścić kolekcję przez usunięcie %s i ponowne zaimportowanie " -"zdjęć." +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Usuwa etykietę „%s” ze _zdjęć" -#: ../src/main.vala:71 +#: src/Resources.vala:393 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "" -"Nieznany błąd podczas próby sprawdzenia bazy danych programu Shotwell: %s" +msgid "Remove Tag \"%s\" From Photo" +msgstr "Usuwa etykietę „%s” ze zdjęcia" -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "Wczytywanie programu Shotwell" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Usuwa etykietę „%s” ze zdjęć" -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Ścieżka do prywatnych danych programu Shotwell" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "" +"Nie można zmienić nazwy etykiety na „%s”, ponieważ ta etykieta już istnieje." -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "KATALOG" +#: src/Resources.vala:402 +#, c-format +msgid "Unable to rename search to \"%s\" because the search already exists." +msgstr "" +"Nie można zmienić nazwy wyszukiwania na „%s”, ponieważ takie wyszukiwanie " +"już istnieje." -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "Bez monitorowania zmian w katalogu kolekcji podczas uruchamiania" +#. Saved search button +#: src/Resources.vala:405 src/SearchFilter.vala:1210 +msgid "Saved Search" +msgstr "Zapisane wyszukiwanie" -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "Bez wyświetlania paska postępu uruchamiania" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "Usunięcie wyszukiwania" -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Wyświetla wersję programu" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Modyfikuj…" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[PLIK]" +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "Zmień _nazwę…" -#: ../src/main.vala:342 +#: src/Resources.vala:414 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" -msgstr "" -"Polecenie „%s --help” wyświetli pełną listę dostępnych opcji wiersza " -"poleceń.\n" - -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Zmienia nazwę wyszukiwania z „%s” na „%s”" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:418 +#, c-format +msgid "Delete Search \"%s\"" +msgstr "Usuwa wyszukiwanie „%s”" -#: ../src/photos/JfifSupport.vala:185 +#: src/Resources.vala:576 #, c-format -msgid "Low (%d%%)" -msgstr "Niskie (%d%%)" +msgid "Rate %s" +msgstr "Ocena %s" -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:577 #, c-format -msgid "Medium (%d%%)" -msgstr "Średnie (%d%%)" +msgid "Set rating to %s" +msgstr "Ustaw ocenę na %s" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:578 #, c-format -msgid "High (%d%%)" -msgstr "Wysokie (%d%%)" +msgid "Setting rating to %s" +msgstr "Ustawianie oceny na %s" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:580 #, c-format -msgid "Maximum (%d%%)" -msgstr "Maksymalne (%d%%)" +msgid "Display %s" +msgstr "Wyświetlanie %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Wyświetla tylko z oceną %s" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s lub lepszą" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:583 +#, c-format +msgid "Display %s or Better" +msgstr "Wyświetlanie %s lub lepszych" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "Publikowanie" +#: src/Resources.vala:584 +#, c-format +msgid "Only show photos with a rating of %s or better" +msgstr "Wyświetla tylko zdjęcia z oceną %s lub lepszą" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "Przygotowywanie do wysłania" +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Usuwa wybrane zdjęcia z kosza" -#: ../src/publishing/PublishingPluginHost.vala:12 -#, c-format -msgid "Uploading %d of %d" -msgstr "Wysyłanie %d z %d" +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Usuwa wybrane zdjęcia z kolekcji" -#: ../src/publishing/PublishingPluginHost.vala:81 -#, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "Nie można kontynuować publikowania w serwisie %s z powodu błędu:" +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "P_rzywróć" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "" -"Aby spróbować opublikowania do innego serwisu, należy wybrać jeden z " -"powyższego menu." +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Przenosi wybrane zdjęcia z powrotem do kolekcji" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "Wybrane zdjęcia/nagrania wideo zostały pomyślnie opublikowane." +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Wyświetl w mene_dżerze plików" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "Wybrane nagrania wideo zostały pomyślnie opublikowane." +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Otwiera wybrany katalog zdjęć w menedżerze plików" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "Wybrane zdjęcia zostały pomyślnie opublikowane." +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "Nie można otworzyć w menedżerze plików: %s" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "Wybrane nagranie wideo zostało pomyślnie opublikowane." +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "_Usuń z kolekcji" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "Wybrane nagrania wideo zostały pomyślnie opublikowane." +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "Przenieś do _kosza" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "Pobieranie informacji o koncie…" +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "Z_aznacz wszystkie" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "Logowanie…" +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "Zaznacza wszystkie elementy" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Photos" -msgstr "Publikacja zdjęć" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:773 +msgid "%-I:%M %p" +msgstr "%H∶%M" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish photos _to:" -msgstr "Publikowanie zdjęć _do:" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:778 +msgid "%-I:%M:%S %p" +msgstr "%H∶%M∶%S" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Videos" -msgstr "Publikacja nagrań wideo" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:782 +msgid "%a %b %d, %Y" +msgstr "%a, %e %b %Y" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish videos _to" -msgstr "Publikowanie nagrań wideo _do" +#. / 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 +#: src/Resources.vala:787 +msgctxt "MultidayFormat" +msgid "%a %b %d" +msgstr "%a, %e %b" -#: ../src/publishing/PublishingUI.vala:194 -msgid "Publish Photos and Videos" -msgstr "Publikacja zdjęć i nagrań wideo" +#. / 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 +#: src/Resources.vala:792 +msgctxt "MultidayFormat" +msgid "%d, %Y" +msgstr "%e, %Y" -#: ../src/publishing/PublishingUI.vala:195 -msgid "Publish photos and videos _to" -msgstr "Publikowanie zdjęć i nagrań wideo _do" +#. / 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 +#: src/Resources.vala:797 +msgctxt "MultimonthFormat" +msgid "%a %b %d" +msgstr "%a, %e %b" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:397 -msgid "Unable to publish" -msgstr "Nie można opublikować" +#. / 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 +#: src/Resources.vala:802 +msgctxt "MultimonthFormat" +msgid "%a %b %d, %Y" +msgstr "%a, %e %b %Y" -#: ../src/publishing/PublishingUI.vala:398 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"Program Shotwell nie może opublikować wybranych elementów, ponieważ nie " -"włączono zgodnej wtyczki publikowania. Aby to naprawić, należy wybrać " -"Modyfikacja preferencji programu %s i włączyć jedną lub więcej " -"wtyczek publikowania w karcie Wtyczki." +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Pokaz slajdów" -#: ../src/searches/Branch.vala:68 +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "Zapisane wyszukiwania" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "zawiera" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "wynosi dokładnie" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "rozpoczyna się od" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "kończy się na" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "nie zawiera" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "nie jest ustawione" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "jest ustawione" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "jest" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "nie jest" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "wszystkie zdjęcia" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "surowe zdjęcie" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "nagranie wideo" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "posiada" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "nie posiada" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "modyfikacje" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "wewnętrzne modyfikacje" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "zewnętrzne modyfikacje" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "oznaczone flagą" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "nieoznaczone flagą" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "i wyższe" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "tylko" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "i niższe" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "jest po" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "jest przed" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "jest między" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "oraz" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "Wyszukiwanie" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "Anuluj" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "OK" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "dowolne" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "wszystko" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "brak" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr "Dowolny tekst" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "Tytuł" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "Etykieta" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "Komentarz" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "Nazwa wydarzenia" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "Nazwa pliku" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "Typ nośnika" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "Stan flagi" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "Stan zdjęcia" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:1199 +msgid "Rating" +msgstr "Ocena" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Data" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:614 src/SearchFilter.vala:615 +msgid "Videos" +msgstr "Nagrania wideo" + +#: src/SearchFilter.vala:620 +msgid "RAW Photos" +msgstr "Zdjęcia RAW" + +#: src/SearchFilter.vala:621 +msgid "RAW photos" +msgstr "Zdjęcia RAW" + +#: src/SearchFilter.vala:1148 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "Błąd podczas wczytywania pliku interfejsu użytkownika %s: %s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:1159 +msgid "Close" +msgstr "Zamknij" + +#. Type label and toggles +#: src/SearchFilter.vala:1165 +msgid "Type" +msgstr "Typ" + +#: src/SearchFilter.vala:1211 +msgid "Use a saved search to filter items in the current view" +msgstr "" +"Używa zapisanego wyszukiwania do filtrowania elementów w bieżącym widoku" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "Nowa _etykieta…" -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Ustawienia" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Wstecz" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Przechodzi do poprzedniego zdjęcia" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Wstrzymaj" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Wstrzymuje pokaz slajdów" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Dalej" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Przechodzi do następnego zdjęcia" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Zmienia ustawienia pokazu slajdów" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Brak wszystkich plików źródłowych zdjęć." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Odtwórz" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Kontynuuje pokaz slajdów" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "Przejścia pokazu slajdów" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(Brak)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "Brak" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "Losowe" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "Etykiety" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:830 +msgid "untitled" +msgstr "bez nazwy" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Eksport nagrań wideo" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "Ustaw jako tło pulpitu" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "Użycie na pulpicie" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "Użycie na ekranie blokady" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" msgstr "Ustaw jako pokaz slajdów pulpitu" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "Wyświetlanie każdego zdjęcia przez" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "okres czasu" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" msgstr "Utwórz pokaz slajdów tła pulpitu" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "Jak długo każde zdjęcie jest wyświetlane jako tło pulpitu" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_Nazwa wyszukiwania:" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "_Dopasowanie" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "następujących:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "Rozmiar wydrukowanego obrazu" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" msgstr "Użycie _standardowego rozmiaru:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "_Użycie własnego rozmiaru:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "Utrzy_mywanie proporcji zdjęcia" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "Rozmiar _automatyczny:" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "Tytuły" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" msgstr "Drukowanie _tytułów obrazów" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "Rozdzielczość w pikselach" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" -msgstr "Wyjście zdjęcia na:" +msgstr "_Wyjście zdjęcia na:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "piksele na cal" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "etykieta" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Preferencje programu Shotwell" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "biały" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "czarny" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "_Obserwacja katalogu kolekcji pod kątem nowych plików" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "Metadane" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" -msgstr "Zapisywanie etykiet, tytułów i innych metadanych do plików zdjęć" +msgstr "Zapisywanie etykiet, tytułów i innych _metadanych do plików zdjęć" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "Ekran" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "_Importowanie zdjęć do:" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "_Tło:" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "Importowanie" -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" msgstr "Struktura _katalogów:" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "_Wzór:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "Przykład:" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" msgstr "_Zmienianie nazw importowanych plików na małe litery" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "Wywoływacz RAW" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" msgstr "_Domyślnie:" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" msgstr "_Zewnętrzny edytor zdjęć:" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "Zewnętrzny edytor plików _RAW:" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "Zewnętrzne edytory" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "Wtyczki" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" msgstr "_Opóźnienie:" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" msgstr "_Efekt przejścia:" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" msgstr "Opóźnienie prz_ejścia:" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" msgstr "Wyświetlanie tyt_ułu" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "s" diff --git a/po/pt.gmo b/po/pt.gmo new file mode 100644 index 0000000..376ddca Binary files /dev/null and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po index 88a1d41..75c1e94 100644 --- a/po/pt.po +++ b/po/pt.po @@ -15,8 +15,8 @@ msgstr "" "Project-Id-Version: shotwell-0.15\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=shotwell&keywords=I18N+L10N&component=Internationalization\n" -"POT-Creation-Date: 2016-05-04 14:43+0000\n" -"PO-Revision-Date: 2016-05-04 20:06+0100\n" +"POT-Creation-Date: 2016-07-08 07:49+0000\n" +"PO-Revision-Date: 2016-07-09 06:57+0100\n" "Last-Translator: Tiago Santos \n" "Language-Team: Pedro Albuquerque\n" "Language: pt\n" @@ -27,1440 +27,2881 @@ msgstr "" "X-Generator: Poedit 1.5.4\n" "X-Project-Style: gnome\n" -#: ../plugins/common/RESTSupport.vala:425 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" + +#: misc/shotwell.appdata.xml.in:9 +#| msgid "Photo Manager" +msgid "Popular photo manager" +msgstr "Gestor de fotografias popular" + +#: misc/shotwell.appdata.xml.in:11 +msgid "" +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"Um ficheiro temporário necessário para a publicação não está disponível" -#: ../plugins/common/RESTSupport.vala:1145 +#: misc/shotwell.appdata.xml.in:18 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." msgstr "" -"Já acedeu e saiu do serviço Google durante esta sessão do Shotwell.\n" -"\n" -"Para publicar elementos nos serviços Google, deve reiniciar o Shotwell ou " -"tentar novamente a publicação." +"Quanto estiver pronto, o Shotwell pode enviar as suas fotografias para " +"vários websites, tais como o Facebook, Flickr, Picasa (Google Plus), entre " +"outros." -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Visite a página principal do Shotwell" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." +msgstr "O Shotwell suporta JPEG, PNG, TIFF e vários formatos de ficheiros RAW." -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:705 -msgid "translator-credits" -msgstr "" -"Djavan Fagundes \n" -"Helder Ribeiro \n" -"Seth Schoen \n" -"Slackhideo \n" -"Sérgio Marques \n" -"Pedro Albuquerque \n" -"Tiago Santos " +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Gestor de fotografias" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2009-2015 Yorba Foundation" -msgstr "Direitos de autor 2009-2015 Fundação Yorba" +#: misc/shotwell.desktop.in.in:6 +#| msgid "any photo" +msgid "Organize your photos" +msgstr "Organize as suas fotografias" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"Boas vindas ao serviço de importação das galerias do F-Spot.\n" -"\n" -"Escolha a galeria a importar, selecionando uma das galerias descobertas " -"pelos Shotwell ou selecionando uma base de dados do F-Spot." +"álbum;album;camara;recortar;editar;melhorar;exportar;galeria;imagem;imagens;" +"importar;organizar;fotografias;impressão;publicar;rodar;partilhar;etiquetas;" +"vídeo;video;facebook;flickr;picasa;youtube;piwigo;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +#| msgid "Shotwell" +msgid "shotwell" +msgstr "shotwell" + +#: misc/shotwell-viewer.desktop.in.in:4 +#| msgid "Photo Viewer" +msgid "Shotwell Viewer" +msgstr "Visualizador de fotografias Shorwell" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Visualizador de fotografias" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "código de autenticação" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." +msgstr "código de autenticação do Yandex-Fotki, se autenticado" + +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "Código" + +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "O código de acesso ao tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "Código secreto" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" +msgstr "O código secreto que autentica pedidos oauth" + +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:410 +msgid "default size" +msgstr "tamanho pré-definido" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." +"A numeric code representing the default size for photos uploaded to Tumblr" +msgstr "" +"Um código numérico que representa o tamanho padrão para as fotografias " +"enviadas para o Tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" +msgstr "blog pré-definido" + +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "O nome do blog pré-definido do utilizador, se existir" + +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "URL Rajce" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "URL do servidor Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:378 +#: misc/org.yorba.shotwell.gschema.xml:436 +#: misc/org.yorba.shotwell.gschema.xml:492 +#| msgid "User _name" +msgid "username" +msgstr "nome de utilizador" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "Nome de utilizador Rajce, se autenticado." + +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "código" + +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "código do utilizador, se memorizado." + +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:454 +#| msgid "within category:" +msgid "last category" +msgstr "última categoria:" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." msgstr "" -"Bem-vindo ao serviço de importação das galerias do F-Spot.\n" -"\n" -"Por favor escolha a base de dados do F-Spot." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "Escolher manualmente a base de dados do F-Spot a importar:" +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:466 +#| msgid "Photo size:" +msgid "last photo size" +msgstr "último tamanho da fotografia" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 +#: misc/org.yorba.shotwell-extras.gschema.xml:65 msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." msgstr "" -"Impossível abrir a base de dados do F-Spot. O ficheiro não existe ou não é " -"uma base de dados F-Spot" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 -msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +#| msgid "_Remember" +msgid "remember" +msgstr "lembrar" + +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." msgstr "" -"Impossível abrir a base de dados do F-Spot. A versão da base de dados não é " -"suportada pelo Shotwell." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 -msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +#| msgid "_Hide album" +msgid "hide album" +msgstr "ocultar álbum" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." msgstr "" -"Impossível ler a base de dados do F-Spot. Ocorreu um erro ao ler a tabela de " -"etiquetas." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +#| msgid "Open target _album in browser" +msgid "open album in web browser" +msgstr "abrir o álbum no navegador" + +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +"If true, open target album in the web browser just after uploading photos" msgstr "" -"Impossível ler a base de dados do F-Spot. Ocorreu um erro ao ler a tabela de " -"fotografias." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format -msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:396 +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:472 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "remove sensitive info from uploads" msgstr "" -"O Shotwell encontrou %d fotografias na galeria do F-Spot e está a importá-" -"las. As fotografias duplicadas serão removidas.\n" -"\n" -"Pode fechar este diálogo e começar a usar o Shotwell durante a importação." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "Galeria F-Spot: %s" +#: misc/org.yorba.shotwell-extras.gschema.xml:89 +msgid "" +"Whether images being uploaded to Rajce should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "A preparar importação" +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "" -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "Serviços de importação de dados" +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "Módulo de publicação Gallery3" +#: misc/org.yorba.shotwell.gschema.xml:28 +#| msgid "Display extended information for the selection" +msgid "display extended properties" +msgstr "mostrar informações detalhadas" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +#: misc/org.yorba.shotwell.gschema.xml:29 msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." +"True if the extended properties window is to be displayed, false otherwise." msgstr "" -"Atualmente, não está autenticado na sua galeria.\n" -"\n" -"Para continuar, deve ter uma conta Gallery3 configurada para completar o " -"processo de autenticação." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:34 +#| msgid "Display the sidebar" +msgid "display sidebar" +msgstr "mostrar barra lateral" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "Pasta predefinida do Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:40 +#| msgid "Display the search bar" +msgid "display search bar" +msgstr "mostrar barra de procura" + +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:46 +#| msgid "Display each photo's tags" +msgid "display photo titles" +msgstr "mostrar títulos da fotografia" + +#: misc/org.yorba.shotwell.gschema.xml:47 msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"\n" -"O ficheiro \"%s\" pode não ser suportado ou pode ser demasiado grande para " -"esta instância do Gallery3." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +#: misc/org.yorba.shotwell.gschema.xml:52 +#| msgid "Display each photo's tags" +msgid "display photo comments" +msgstr "mostrar comentários da fotografia" + +#: misc/org.yorba.shotwell.gschema.xml:53 msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"Note que o Gallery3 só suporta os mesmo tipos de vídeo que o Flowplayer." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:58 +#| msgid "Edit Event Comment" +msgid "display event comments" +msgstr "mostrar comentários do evento" + +#: misc/org.yorba.shotwell.gschema.xml:59 msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." msgstr "" -"Um ficheiro necessário para a publicação não está disponível. A publicação " -"em %s não é possível." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "A publicar em %s como %s." +#: misc/org.yorba.shotwell.gschema.xml:64 +#| msgid "Display each photo's tags" +msgid "display photo tags" +msgstr "mostrar etiquetas da fotografia" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: misc/org.yorba.shotwell.gschema.xml:65 msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." msgstr "" -"Indique o URL da página Gallery3, o nome de usador e a sua senha (ou chave " -"API) da sua conta Gallery3." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: misc/org.yorba.shotwell.gschema.xml:70 +#| msgid "Display each photo's rating" +msgid "display photo ratings" +msgstr "mostrar classificações da fotografia" + +#: misc/org.yorba.shotwell.gschema.xml:71 msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "rating filter level" msgstr "" -"O nome de usador e a senha ou chave API estão incorretos. Tente introduzi-" -"los novamente nos campos abaixo." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: misc/org.yorba.shotwell.gschema.xml:77 msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." msgstr "" -"O URL introduzido não parece ser a pasta principal de uma instância " -"Gallery3. Certifique-se que o introduziu corretamente e que não tem " -"componentes acessórios (p.ex. index.php)." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "Utilizador não reconhecido" +#: misc/org.yorba.shotwell.gschema.xml:82 +#| msgid "Sort _Descending" +msgid "sort events ascending" +msgstr "ordem ascendente de eventos " -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr "Site não encontrado" +#: misc/org.yorba.shotwell.gschema.xml:83 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "Copyright (C) 2013 rajce.net" +#: misc/org.yorba.shotwell.gschema.xml:88 +#| msgid "Sort photos in an ascending order" +msgid "sort library photos ascending" +msgstr "ordenar fotografias por ordem ascendente" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." -msgstr "Ocorreu um erro ao publicar no Rajce. Por favor, tente novamente." +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if library photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." -msgstr "Insira o email e a senha associados à sua conta Rajce." +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos criteria" +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "Email ou senha inválidos. Por favor, tente novamente" +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "Email ou senha inválida" +#: misc/org.yorba.shotwell.gschema.xml:100 +#| msgid "Sort photos in an ascending order" +msgid "sort event photos ascending" +msgstr "ordenar eventos por ordem ascendente" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "_Endereço eletrónico" +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_Senha" +#: misc/org.yorba.shotwell.gschema.xml:106 +#| msgid "Sort photos by title" +msgid "sort event photos criteria" +msgstr "ordenar fotografias do evento por critério" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "_Lembrar" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "Specifies the sort criteria for event photos." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "Iniciar sessão" +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "use 24 hour time" +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "_Ocultar álbum" +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "Está autenticado no Rajce como %s." +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "keep relative time between photos" +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "As fotografias aparecerão em:" +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "Um álbum _Existente:" +#: misc/org.yorba.shotwell.gschema.xml:124 +#| msgid "_Modify original photo files" +msgid "modify original photo files" +msgstr "modificar ficheiro da fotografia original" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "Um _Novo álbum com o nome:" +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "_Abrir o álbum alvo no navegador" +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "show welcome dialog on startup" +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "_Publicar" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "T_Erminar sessão" +#: misc/org.yorba.shotwell.gschema.xml:136 +#| msgid "Library Location" +msgid "sidebar position" +msgstr "localização da barra lateral" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "Direitos de autor 2012 BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "The width, in pixels, of the sidebar" +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500 x 375 pixels" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "photo thumbnail scale" +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024 x 768 pixels" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280 x 853 pixels" +#: misc/org.yorba.shotwell.gschema.xml:148 +#| msgid "Pin the toolbar open" +msgid "pin toolbar state" +msgstr "fixar extado da barra de ferramentas" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" -msgstr "\"%s\" não é uma resposta válida a um pedido de autenticação OAuth" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "Pin toolbar in fullscreen, or not." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:154 +#| msgid "_Background:" +msgid "background color" +msgstr "cor de fundo" + +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "A grayscale color for use as the background color." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "Selection state of \"hide photos\" option" +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: misc/org.yorba.shotwell.gschema.xml:161 msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." msgstr "" -"TumblrPublisher: start( ): não consegue iniciar. Este editor não pode ser " -"reiniciado." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." -msgstr "Insira o nome de usador e senha associados à sua conta Tumblr" +#: misc/org.yorba.shotwell.gschema.xml:168 +#| msgid "_Delay:" +msgid "delay" +msgstr "atraso" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" -msgstr "Nome de usador e/ou senha inválidos. Por favor, tente novamente." +#: misc/org.yorba.shotwell.gschema.xml:169 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "Nome de usador ou senha inválida" +#: misc/org.yorba.shotwell.gschema.xml:174 +#| msgid "Transition d_elay:" +msgid "transition delay" +msgstr "atraso da transição" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "Impossível carregar o ambiente: %s" +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "" +"The time (in seconds) that a transition runs between photos in a slideshow" +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:180 +#| msgid "_Transition effect:" +msgid "transition effect id" +msgstr "id do efeito de transição" + +#: misc/org.yorba.shotwell.gschema.xml:181 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"The name of the transition effect that will be used between photos when " +"running a slideshow" msgstr "" -"Sessão iniciada no Tumblr como %s.\n" -"\n" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "Direitos de autor 2010+ Evgeniy Polyakov " +#: misc/org.yorba.shotwell.gschema.xml:186 +#| msgid "Show t_itle" +msgid "Show title" +msgstr "Mostrar título" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "Visite a página web Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:187 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:659 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "Não está autenticado no Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:194 +msgid "maximize library window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Serviços extra de publicação do Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:195 +msgid "True if library application is maximized, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "_Recuar" +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "width of library window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "_Iniciar sessão" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "The last recorded width of the library application window." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Mensagem de introdução substituída no arranque" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "height of library window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "URL do _Gallery3:" +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded height of the library application window." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "_Utilizador:" +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "maximize direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Senha:" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_Chave API:" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "width of direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "ou" +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "The last recorded width of the direct-edit application window." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "Um _Novo álbum" +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "height of direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "Um álbum _Existente" +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded height of the direct-edit application window." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "sidebar divider position" msgstr "" -"_Remover localização, etiquetas e quaisquer outras informações que " -"identifiquem a câmara antes de enviar" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." msgstr "" -"\"A publicar para $url como $username\" (populado no código da aplicação)" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "Restrição de escala:" +#: misc/org.yorba.shotwell.gschema.xml:238 +#| msgid "Import to Library" +msgid "import directory" +msgstr "importar directório" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr "pixels" +#: misc/org.yorba.shotwell.gschema.xml:239 +msgid "Directory in which imported photo files are placed." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Tamanho original" +#: misc/org.yorba.shotwell.gschema.xml:244 +#| msgid "_Watch library directory for new files" +msgid "watch library directory for new files" +msgstr "vigiar diretório da biblioteca por novos ficheiros" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Largura ou altura" +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "etiqueta" +#: misc/org.yorba.shotwell.gschema.xml:250 +#| msgid "Writing metadata to files..." +msgid "write metadata to master files" +msgstr "escrever metadados nos ficheiros mestre" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blogues:" +#: misc/org.yorba.shotwell.gschema.xml:251 +msgid "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." +msgstr "" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "Tamanho da _Fotografia:" +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "use lowercase filenames" +msgstr "" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "está autenticado no rajce como $name" +#: misc/org.yorba.shotwell.gschema.xml:257 +msgid "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" +msgstr "" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype aparecerão em" +#: misc/org.yorba.shotwell.gschema.xml:262 +#| msgid "_Directory structure:" +msgid "directory pattern" +msgstr "estrutura do diretório" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "Ál_Bums (ou um novo):" +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "_Tipo de acesso:" +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern custom" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "Desativar _Comentários" +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "Proibir transferir _Fotografia original" +#: misc/org.yorba.shotwell.gschema.xml:274 +#| msgid "RAW Developer" +msgid "RAW developer default" +msgstr "predefinição de desenvolvimento RAW" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Público" +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1195 -msgid "Friends" -msgstr "Amigos" +#: misc/org.yorba.shotwell.gschema.xml:282 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Privado" +#: misc/org.yorba.shotwell.gschema.xml:283 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Shotwell Connect" +#: misc/org.yorba.shotwell.gschema.xml:287 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:288 msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:292 +msgid "Most-recently-used crop custom aspect ratio's denominator." msgstr "" -"Atualmente, não está autenticado no Facebook.\n" -"\n" -"Se ainda não possui uma conta Facebook, crie uma durante o processo de " -"autenticação. Durante o processo, o Shotwell pode solicitar-lhe a permissão " -"para enviar e publicar as fotografias. Estas permissões são obrigatórias " -"para que o Shotwell Connect funcione." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 +#: misc/org.yorba.shotwell.gschema.xml:293 msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." msgstr "" -"Já se autenticou e saiu do Facebook durante esta sessão do Shotwell.\n" -"Para continuar a publicar no Facebook, encerre e abra novamente o Shotwell e " -"tente publicar." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "Padrão (720 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:300 +#| msgid "E_xternal photo editor:" +msgid "external photo editor" +msgstr "editor externo de fotografias" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "Grande (2048 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:301 +msgid "External application used to edit photos." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "A testar ligação ao Facebook..." +#: misc/org.yorba.shotwell.gschema.xml:306 +#| msgid "External _RAW editor:" +msgid "external raw editor" +msgstr "editor RAW externo" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "A criar álbum..." +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit RAW photos." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:314 +#| msgid "Core Publishing Services" +msgid "last used publishing service" +msgstr "últimos serviços de publicação utilizados" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 +#: misc/org.yorba.shotwell.gschema.xml:315 +#: misc/org.yorba.shotwell.gschema.xml:321 msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." +"A numeric code representing the last service to which photos were published" msgstr "" -"O ficheiro necessário para a publicação não está disponível. A publicação no " -"Facebook não é possível." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1033 -#, c-format -msgid "" -"You are logged into Facebook as %s.\n" -"\n" +#: misc/org.yorba.shotwell.gschema.xml:320 +#| msgid "Core Publishing Services" +msgid "default publishing service" +msgstr "serviços de publicação prédefinido" + +#: misc/org.yorba.shotwell.gschema.xml:334 +#| msgid "Access _type:" +msgid "access token" +msgstr "código de acesso" + +#: misc/org.yorba.shotwell.gschema.xml:335 +msgid "Facebook OAuth token for the currently logged in session, if any" msgstr "" -"Está autenticado no Facebook como %s\n" -"\n" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1034 -msgid "Where would you like to publish the selected photos?" -msgstr "Onde é que pretende publicar as fotografias selecionadas?" +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "user i.d." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1035 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "_Tamanho do envio:" +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook user i.d. for the currently logged in user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1194 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "Para mim" +#: misc/org.yorba.shotwell.gschema.xml:346 +#| msgid "User _name" +msgid "user name" +msgstr "nome de utilizador" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1196 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "Todos" +#: misc/org.yorba.shotwell.gschema.xml:347 +#| msgid "You are not currently logged into Yandex.Fotki." +msgid "The name of the currently logged in Facebook user, if any" +msgstr "O nome do utilizador de Facebook autenticado, se existir" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 +#: misc/org.yorba.shotwell.gschema.xml:352 +#: misc/org.yorba.shotwell.gschema.xml:384 +msgid "default size code" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:353 msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +"A numeric code representing the default size for photos published to Facebook" msgstr "" -"Não está autenticado no Flickr.\n" -"\n" -"Clique em Iniciar sessão para se autenticar na conta Flickr através do seu " -"navegador web. Terá de permitir a ligação do Shotwell Connect à sua conta " -"Flickr." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:359 msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +"Whether images being uploaded to Facebook should have their metadata removed " +"first" msgstr "" -"Já se autenticou e saiu do Flickr durante esta sessão do Shotwell.\n" -"Para continuar a publicar no Flickr, encerre e abra novamente o Shotwell e " -"tente publicar." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "A preparar início de sessão..." +#: misc/org.yorba.shotwell.gschema.xml:366 +msgid "OAuth Access Phase Token" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 -msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +#: misc/org.yorba.shotwell.gschema.xml:367 +msgid "The authorization token for the currently logged in Flickr user, if any" msgstr "" -"O ficheiro necessário para a publicação não está disponível. A publicação no " -"Filckr não é possível." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "A verificar autorização..." +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token Secret" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:373 msgid "" -"You are logged into Flickr as %s.\n" -"\n" +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" msgstr "" -"Está autenticado no Flickr como %s\n" -"\n" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format -msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"A sua conta gratuita do Flickr limita a quantidade de dados que pode enviar " -"por mês.\n" -"Este mês ainda possui %d megabyte na sua cota de envio." -msgstr[1] "" -"A sua conta gratuita do Flickr limita a quantidade de dados que pode enviar " -"por mês.\n" -"Este mês ainda possui %d megabytes na sua cota de envio." +#: misc/org.yorba.shotwell.gschema.xml:379 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." -msgstr "A sua conta Pro do Flickr oferece-lhe envios ilimitados." +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "" +"A numeric code representing the default size for photos published to Flickr" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "Fotografias _Visíveis para:" +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default visibility" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "_Vídeos visíveis para:" +#: misc/org.yorba.shotwell.gschema.xml:391 +msgid "" +"A numeric code representing the default visibility for photos published to " +"Flickr" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "_Vídeos e fotografias visíveis para:" +#: misc/org.yorba.shotwell.gschema.xml:397 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "Só amigos e família" +#: misc/org.yorba.shotwell.gschema.xml:404 +#: misc/org.yorba.shotwell.gschema.xml:536 +msgid "refresh token" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "Só família" +#: misc/org.yorba.shotwell.gschema.xml:405 +msgid "" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "Só amigos" +#: misc/org.yorba.shotwell.gschema.xml:411 +msgid "" +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048 x 1536 pixels" +#: misc/org.yorba.shotwell.gschema.xml:416 +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "last album" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096 x 3072 pixels" +#: misc/org.yorba.shotwell.gschema.xml:417 +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "The name of the last album the user published photos to, if any" +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 +#: misc/org.yorba.shotwell.gschema.xml:423 msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +"Whether images being uploaded to Picasa should have their metadata removed " +"first" msgstr "" -"Atualmente, não está autenticado nos álbuns Picasa Web.\n" -"\n" -"Clique em Iniciar sessão para iniciar sessão nos álbuns Picasa Web através " -"do navegador web. Tem que autorizar o acesso do Shotwell Connect à sua conta." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 -msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +#: misc/org.yorba.shotwell.gschema.xml:430 +msgid "Piwigio URL" msgstr "" -"O ficheiro necessário para a publicação não está disponível. A publicação no " -"Picasa não é possível." -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "Está autenticado nos álbuns Picasa Web como %s." +#: misc/org.yorba.shotwell.gschema.xml:431 +msgid "URL of the Piwigo server." +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "Os vídeos aparecerão em:" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "Piwigo username, if logged in." +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "Pequeno (640 x 480 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:442 +#| msgid "_Password" +msgid "password" +msgstr "senha" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "Médio (1024 x 768 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo password, if logged in." +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "Recomendado (1600 x 1200 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:448 +#| msgid "_Remember Password" +msgid "remember password" +msgstr "lembrar senha" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048 x 1536 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "If true, remember the Piwigo password." +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "Tamanho original" +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "The last selected Piwigo category." +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "A criar o álbum %s..." +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last permission level" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." -msgstr "Ocorreu um erro ao publicar no Piwigo. Por favor, tente novamente." +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last chosen Piwigo permission level." +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: misc/org.yorba.shotwell.gschema.xml:467 msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." msgstr "" -"Indique o URL da galeria de fotografias Piwigo, o nome de usador e a sua " -"senha de acesso à galeria Piwigo." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 +#: misc/org.yorba.shotwell.gschema.xml:473 msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" msgstr "" -"O Shotwell não conseguiu comunicar com a galeria Piwigo. Por favor verifique " -"se o URL está correto." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "URL inválido" +#: misc/org.yorba.shotwell.gschema.xml:478 +#| msgid "_If a title is set and comment unset, use title as comment" +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "" +"se o título estiver definido e o comentário não, usar título como comentário " +"para enviar para o Piwigo" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "Administradores, família, amigos e contactos" +#: misc/org.yorba.shotwell.gschema.xml:479 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "Administradores, família e amigos" +#: misc/org.yorba.shotwell.gschema.xml:484 +msgid "do not upload tags when uploading to Piwigo" +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "Administradores e família" +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "Administradores" +#: misc/org.yorba.shotwell.gschema.xml:493 +#| msgid "Gallery3 publishing module" +msgid "Gallery3 username" +msgstr "Nome de utilizador Gallery3" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 -msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." +#: misc/org.yorba.shotwell.gschema.xml:498 +#| msgid "API _Key:" +msgid "API key" +msgstr "Chave API" + +#: misc/org.yorba.shotwell.gschema.xml:499 +#| msgid "_Gallery3 URL:" +msgid "Gallery3 API key" +msgstr "Chave API Gallery3" + +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "URL" msgstr "" -"Atualmente, não está autenticado no Youtube.\n" -"\n" -"Para continuar, deve ter uma conta Google configurada para usar o Youtube. " -"Pode configurar a maioria das contas, se usar o seu navegador e iniciar " -"sessão no Youtube, pelo menos uma vez." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 +#: misc/org.yorba.shotwell.gschema.xml:505 +#| msgid "_Gallery3 URL:" +msgid "Gallery3 site URL" +msgstr "URL do Gallery3" + +#: misc/org.yorba.shotwell.gschema.xml:517 msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" msgstr "" -"O ficheiro necessário para a publicação não está disponível. A publicação no " -"Youtube não é possível." - -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "Está autenticado no YouTube como %s." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "Os vídeos aparecerão em \"%s\"" +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "scaling constraint of uploaded picture" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "Público listado" +#: misc/org.yorba.shotwell.gschema.xml:523 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "Público não listado" +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "pixels of the major axis uploaded picture" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "Publicar num álbum e_Xistente:" +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "" +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Criar um _Novo álbum chamado:" +#: misc/org.yorba.shotwell.gschema.xml:537 +msgid "" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "_Vídeos e novos álbuns visíveis para:" +#: misc/org.yorba.shotwell.gschema.xml:544 +#| msgid "Core Data Import Services" +msgid "last used import service" +msgstr "último serviços de importação utilizado" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 +#: misc/org.yorba.shotwell.gschema.xml:545 msgid "" -"_Remove location, camera, and other identifying information before uploading" +"A numeric code representing the last service from which photos were imported" msgstr "" -"_Remover localização, câmara e quaisquer outras informações antes de enviar" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 +#: misc/org.yorba.shotwell.gschema.xml:552 +msgid "interpreter state cookie" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:553 msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." +"A numeric code that captures the state of the GStreamer plug-in environment" msgstr "" -"Insira o número de confirmação que aparece depois de iniciar sessão no " -"Flickr através do navegador Web." -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "_Número de autorização:" +#: misc/org.yorba.shotwell.gschema.xml:560 +msgid "content layout mode" +msgstr "" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "Con_Tinuar" +#: misc/org.yorba.shotwell.gschema.xml:561 +msgid "" +"A numeric code that describes how photos are laid out on the page during " +"printing" +msgstr "" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "L_Istar os álbuns na galeria pública" +#: misc/org.yorba.shotwell.gschema.xml:566 +#| msgid "_Contents" +msgid "content ppi" +msgstr "ppp do conteúdo" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "_Tamanho predefinido da fotografia:" +#: misc/org.yorba.shotwell.gschema.xml:567 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "_URL da galeria de fotografias Piwigo" +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content width" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "_Nome de usador" +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The width of the printed emulsion on the page when printing" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "_Lembrar senha" +#: misc/org.yorba.shotwell.gschema.xml:578 +#| msgid "Rotate Right" +msgid "content height" +msgstr "altura do conteúdo" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "Uma categoria _Existente:" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The height of the printed emulsion on the page when printing" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "As fotografias vão estar _Visíveis por:" +#: misc/org.yorba.shotwell.gschema.xml:584 +#| msgid "_Contents" +msgid "content units" +msgstr "unidades do conteúdo" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Tamanho da fotografia:" +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "na categoria:" +#: misc/org.yorba.shotwell.gschema.xml:590 +#| msgid "2 images per page" +msgid "images per page code" +msgstr "imagens por código de página" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Comentário do álbum:" +#: misc/org.yorba.shotwell.gschema.xml:591 +msgid "" +"A numeric code representing the currently selected images per page mode used " +"when printing" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "size selection" msgstr "" -"Se o título est_Iver definido e o comentário não, usar título como comentário" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "Não enviar _Detalhes" +#: misc/org.yorba.shotwell.gschema.xml:597 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Terminar sessão" +#: misc/org.yorba.shotwell.gschema.xml:602 +#| msgid "_Match photo aspect ratio" +msgid "match aspect ratio" +msgstr "corresponder proporção da fotografia" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:303 -msgid "Publish" -msgstr "Publicar" +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Serviços principais de publicação" +#: misc/org.yorba.shotwell.gschema.xml:608 +#| msgid "Print image _title" +msgid "print titles" +msgstr "imprimir título" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "_Definições de privacidade do vídeo:" +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "Persianas" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "titles font" +msgstr "" -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "Xadrez" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "Círculo" +#: misc/org.yorba.shotwell.gschema.xml:626 +#| msgid "Unable to publish" +msgid "enable facebook publishing plugin" +msgstr "ativar complemento de publicação no facebook" -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "Círculos" +#: misc/org.yorba.shotwell.gschema.xml:627 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "Relógio" +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable flickr publishing plugin" +msgstr "" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "Desintegrar" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "" -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "Desvanecer" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable picasa publishing plugin" +msgstr "" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "Diapositivo" +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "Quadrados" +#: misc/org.yorba.shotwell.gschema.xml:644 +#| msgid "Unable to publish" +msgid "enable youtube publishing plugin" +msgstr "ativar complemento de publicação no youtube" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "Riscas" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Transições principais" +#: misc/org.yorba.shotwell.gschema.xml:650 +#| msgid "Unable to publish" +msgid "enable piwigo publishing plugin" +msgstr "ativar complemento de publicação no piwigo" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 -msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" msgstr "" -"Direitos de autor 2010 Maxim Kartashev, Copyright 2011-2015 Fundação Yorba" - -#: ../src/AppDirs.vala:48 ../src/AppDirs.vala:99 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "Impossível criar pasta de cache %s: %s" -#: ../src/AppDirs.vala:58 ../src/AppDirs.vala:88 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "Impossível criar pasta de dados %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable yandex publishing plugin" +msgstr "" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:152 -msgid "Pictures" -msgstr "Imagens" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/AppDirs.vala:190 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "Impossível criar pasta temporária %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:662 +#| msgid "Unable to publish" +msgid "enable tumblr publishing plugin" +msgstr "ativar complemento de publicação no tumblr" -#: ../src/AppDirs.vala:207 ../src/AppDirs.vala:238 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "Impossível criar subpasta de dados %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/AppDirs.vala:220 -#, c-format -msgid "Could not make directory %s writable" -msgstr "Impossível tornar a pasta “%s” gravável" +#: misc/org.yorba.shotwell.gschema.xml:668 +#| msgid "Gallery3 publishing module" +msgid "enable rajce publishing plugin" +msgstr "ativar complemento de publicação no rajce" -#: ../src/AppDirs.vala:223 -#, c-format -msgid "Could not make directory %s writable: %s" -msgstr "Impossível tornar a pasta %s gravável: %s" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/AppWindow.vala:53 -msgid "Pin Toolbar" -msgstr "Fixar barra de ferramentas" +#: misc/org.yorba.shotwell.gschema.xml:674 +#| msgid "Gallery3 publishing module" +msgid "enable gallery3 publishing plugin" +msgstr "ativar complemento de publicação no gallery3" -#: ../src/AppWindow.vala:54 -msgid "Pin the toolbar open" -msgstr "Fixar barra de ferramentas aberta" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/AppWindow.vala:59 -msgid "Leave fullscreen" -msgstr "Sair do ecrã completo" +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable F-Spot import plugin" +msgstr "" -#: ../src/AppWindow.vala:525 -msgid "_Contents" -msgstr "_Conteúdo" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "" -#: ../src/AppWindow.vala:530 -msgid "_Frequently Asked Questions" -msgstr "Perguntas _Frequentes" +#: misc/org.yorba.shotwell.gschema.xml:686 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow crumble transition" +msgstr "ativar transição em migalhas da apresentação" -#: ../src/AppWindow.vala:535 -msgid "_Report a Problem..." -msgstr "_Reportar um erro..." +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/AppWindow.vala:634 ../src/AppWindow.vala:655 -#: ../src/AppWindow.vala:672 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1424 ../src/Dialogs.vala:1447 ../src/Resources.vala:162 -#: ../src/data_imports/DataImportsUI.vala:413 -#: ../src/publishing/PublishingUI.vala:512 -msgid "_Cancel" -msgstr "_Cancelar" +#: misc/org.yorba.shotwell.gschema.xml:692 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow fade transition" +msgstr "ativar transição em desvanecimento da apresentação" -#: ../src/AppWindow.vala:682 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:693 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" -"\n" -"%s" +"True if the Fade slideshow transition plugin is enabled, false otherwise" msgstr "" -"Ocorreu um erro fatal ao aceder à galeria do Shotwell. O Shotwell não pode " -"continuar.\n" -"\n" -"%s" -#: ../src/AppWindow.vala:702 -#| msgid "Visit the Shotwell home page" -msgid "Visit the Shotwell web site" -msgstr "Visite a página principal do Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:698 +#: misc/org.yorba.shotwell.gschema.xml:722 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow slide transition" +msgstr "ativar transição deslizante da apresentação" -#: ../src/AppWindow.vala:714 -#, c-format -msgid "Unable to display help: %s" -msgstr "Impossível mostrar a ajuda: %s" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/AppWindow.vala:722 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "Impossível navegar para a base de dados de erros: %s" +#: misc/org.yorba.shotwell.gschema.xml:704 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow clock transition" +msgstr "ativar transição em relógio da apresentação" -#: ../src/AppWindow.vala:730 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "Impossível mostrar as FAQ: %s" +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "Sucesso" +#: misc/org.yorba.shotwell.gschema.xml:710 +#: misc/org.yorba.shotwell.gschema.xml:716 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow circle transition" +msgstr "ativar transição em círculo da apresentação" -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "Erro de ficheiro" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "Impossível descodificar o ficheiro" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "Erro na base de dados" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "O utilizador cancelou a importação" +#: misc/org.yorba.shotwell.gschema.xml:728 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow squares transition" +msgstr "ativar transição em quadrados da apresentação" -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "Não é um ficheiro" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "O ficheiro já existe na base de dados" +#: misc/org.yorba.shotwell.gschema.xml:734 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow stripes transition" +msgstr "ativar transição em riscas da apresentação" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "O formato do ficheiro não é suportado" +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "Não é uma imagem" +#: misc/org.yorba.shotwell.gschema.xml:740 +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow chess transition" +msgstr "ativar transição em xadrez da apresentação" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "Falha de disco" +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "Disco cheio" +#: plugins/common/Resources.vala:9 +msgid "Visit the Shotwell home page" +msgstr "Visite a página principal do Shotwell" -#: ../src/BatchImport.vala:59 -msgid "Camera error" +#: plugins/common/Resources.vala:28 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"Djavan Fagundes \n" +"Helder Ribeiro \n" +"Seth Schoen \n" +"Slackhideo \n" +"Sérgio Marques \n" +"Pedro Albuquerque \n" +"Tiago Santos " + +#: plugins/common/RESTSupport.vala:448 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:960 +msgid "A temporary file needed for publishing is unavailable" +msgstr "" +"Um ficheiro temporário necessário para a publicação não está disponível" + +#: plugins/common/RESTSupport.vala:1154 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" +"Já acedeu e saiu do serviço Google durante esta sessão do Shotwell.\n" +"\n" +"Para publicar elementos nos serviços Google, deve reiniciar o Shotwell ou " +"tentar novamente a publicação." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:34 +#: plugins/shotwell-publishing/FacebookPublishing.vala:32 +#: plugins/shotwell-publishing/FlickrPublishing.vala:34 +#: plugins/shotwell-publishing/PicasaPublishing.vala:32 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:32 +#: plugins/shotwell-publishing/YouTubePublishing.vala:32 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:56 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"Boas vindas ao serviço de importação das galerias do F-Spot.\n" +"\n" +"Escolha a galeria a importar, selecionando uma das galerias descobertas " +"pelos Shotwell ou selecionando uma base de dados do F-Spot." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"Bem-vindo ao serviço de importação das galerias do F-Spot.\n" +"\n" +"Por favor escolha a base de dados do F-Spot." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "Manually select an F-Spot database file to import:" +msgstr "Escolher manualmente a base de dados do F-Spot a importar:" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"Impossível abrir a base de dados do F-Spot. O ficheiro não existe ou não é " +"uma base de dados F-Spot" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"Impossível abrir a base de dados do F-Spot. A versão da base de dados não é " +"suportada pelo Shotwell." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"Impossível ler a base de dados do F-Spot. Ocorreu um erro ao ler a tabela de " +"etiquetas." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"Impossível ler a base de dados do F-Spot. Ocorreu um erro ao ler a tabela de " +"fotografias." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"O Shotwell encontrou %d fotografias na galeria do F-Spot e está a importá-" +"las. As fotografias duplicadas serão removidas.\n" +"\n" +"Pode fechar este diálogo e começar a usar o Shotwell durante a importação." + +#: plugins/shotwell-data-imports/FSpotImporter.vala:84 +#, c-format +msgid "F-Spot library: %s" +msgstr "Galeria F-Spot: %s" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:422 +msgid "Preparing to import" +msgstr "A preparar importação" + +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "Serviços de importação de dados" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "_Recuar" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "_Iniciar sessão" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "URL do _Gallery3:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "_Utilizador:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_Senha:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "_Chave API:" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "ou" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "T_erminar sessão" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "_Publicar" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "Um _novo álbum" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "Um álbum _existente" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "" +"_Remover localização, etiquetas e quaisquer outras informações que " +"identifiquem a câmara antes de enviar" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "Restrição de escala:" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "pixels" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1236 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1237 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "Tamanho original" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Largura ou altura" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "Módulo de publicação Gallery3" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" +"Atualmente, não está autenticado na sua galeria.\n" +"\n" +"Para continuar, deve ter uma conta Gallery3 configurada para completar o " +"processo de autenticação." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "Pasta predefinida do Shotwell" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" +"\n" +"\n" +"O ficheiro \"%s\" pode não ser suportado ou pode ser demasiado grande para " +"esta instância do Gallery3." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" +"\n" +"Note que o Gallery3 só suporta os mesmo tipos de vídeo que o Flowplayer." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" +"Um ficheiro necessário para a publicação não está disponível. A publicação " +"em %s não é possível." + +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 +#, c-format +msgid "Publishing to %s as %s." +msgstr "A publicar em %s como %s." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"Indique o URL da página Gallery3, o nome de usador e a sua senha (ou chave " +"API) da sua conta Gallery3." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"O nome de usador e a senha ou chave API estão incorretos. Tente introduzi-" +"los novamente nos campos abaixo." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"O URL introduzido não parece ser a pasta principal de uma instância " +"Gallery3. Certifique-se que o introduziu corretamente e que não tem " +"componentes acessórios (p.ex. index.php)." + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 +msgid "Unrecognized User" +msgstr "Utilizador não reconhecido" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 +msgid " Site Not Found" +msgstr "Site não encontrado" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:890 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "_Endereço eletrónico" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:891 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_Senha" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +msgid "_Remember" +msgstr "_Lembrar" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "Iniciar sessão" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "Um álbum _existente:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "Um _novo álbum com o nome:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1004 +msgid "_Hide album" +msgstr "_Ocultar álbum" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +msgid "Open target _album in browser" +msgstr "_Abrir o álbum alvo no navegador" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:38 +msgid "Copyright (C) 2013 rajce.net" +msgstr "Copyright (C) 2013 rajce.net" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:742 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "Ocorreu um erro ao publicar no Rajce. Por favor, tente novamente." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:831 +msgid "Enter email and password associated with your Rajce account." +msgstr "Insira o email e a senha associados à sua conta Rajce." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:832 +msgid "Invalid email and/or password. Please try again" +msgstr "Email ou senha inválidos. Por favor, tente novamente" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:863 +msgid "Invalid User Email or Password" +msgstr "Email ou senha inválida" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1011 +#, c-format +msgid "You are logged into Rajce as %s." +msgstr "Está autenticado no Rajce como %s." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "As fotografias aparecerão em:" + +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Serviços extra de publicação do Shotwell" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "Blogues:" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "Tamanho da _fotografia:" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:34 +msgid "Copyright 2012 BJA Electronics" +msgstr "Direitos de autor 2012 BJA Electronics" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:103 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1233 +msgid "500 x 375 pixels" +msgstr "500 x 375 pixels" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +msgid "1024 x 768 pixels" +msgstr "1024 x 768 pixels" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +msgid "1280 x 853 pixels" +msgstr "1280 x 853 pixels" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:309 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:319 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "\"%s\" não é uma resposta válida a um pedido de autenticação OAuth" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:557 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start( ): não consegue iniciar. Este editor não pode ser " +"reiniciado." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:585 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "Insira o nome de usador e senha associados à sua conta Tumblr" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:989 +msgid "Username and/or password invalid. Please try again" +msgstr "Nome de usador e/ou senha inválidos. Por favor, tente novamente." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:616 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1026 +msgid "Invalid User Name or Password" +msgstr "Nome de usador ou senha inválida" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:635 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:754 +#, c-format +msgid "Could not load UI: %s" +msgstr "Impossível carregar o ambiente: %s" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:736 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"Sessão iniciada no Tumblr como %s.\n" +"\n" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "Direitos de autor 2010+ Evgeniy Polyakov " + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "Visite a página web Yandex.Fotki" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:659 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "Não está autenticado no Yandex.Fotki" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "Ál_bums (ou um novo):" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "_Tipo de acesso:" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "Desativar _comentários" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "Proibir transferir _fotografia original" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "Público" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Amigos" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Private" +msgstr "Privado" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "Publicar num álbum e_xistente:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "Criar um _novo álbum chamado:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "_Tamanho do envio:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "_Vídeos e novos álbuns visíveis para:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 +msgid "" +"_Remove location, camera, and other identifying information before uploading" +msgstr "" +"_Remover localização, câmara e quaisquer outras informações antes de enviar" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:61 +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1114 +msgid "Shotwell Connect" +msgstr "Shotwell Connect" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:63 +msgid "" +"You are not currently logged into Facebook.\n" +"\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." +msgstr "" +"Atualmente, não está autenticado no Facebook.\n" +"\n" +"Se ainda não possui uma conta Facebook, crie uma durante o processo de " +"autenticação. Durante o processo, o Shotwell pode solicitar-lhe a permissão " +"para enviar e publicar as fotografias. Estas permissões são obrigatórias " +"para que o Shotwell Connect funcione." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:65 +msgid "" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Já se autenticou e saiu do Facebook durante esta sessão do Shotwell.\n" +"Para continuar a publicar no Facebook, encerre e abra novamente o Shotwell e " +"tente publicar." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:86 +msgid "Standard (720 pixels)" +msgstr "Padrão (720 pixels)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:89 +msgid "Large (2048 pixels)" +msgstr "Grande (2048 pixels)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:254 +msgid "Testing connection to Facebook..." +msgstr "A testar ligação ao Facebook..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:347 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "A criar álbum..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"O ficheiro necessário para a publicação não está disponível. A publicação no " +"Facebook não é possível." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"Está autenticado no Facebook como %s\n" +"\n" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "Onde é que pretende publicar as fotografias selecionadas?" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1214 +msgid "Just me" +msgstr "Para mim" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1210 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1221 +msgid "Everyone" +msgstr "Todos" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" +"Insira o número de confirmação que aparece depois de iniciar sessão no " +"Flickr através do navegador Web." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "_Número de autorização:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 +#: src/Dialogs.vala:131 +msgid "Con_tinue" +msgstr "Con_tinuar" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:61 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"Não está autenticado no Flickr.\n" +"\n" +"Clique em Iniciar sessão para se autenticar na conta Flickr através do seu " +"navegador web. Terá de permitir a ligação do Shotwell Connect à sua conta " +"Flickr." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:63 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Já se autenticou e saiu do Flickr durante esta sessão do Shotwell.\n" +"Para continuar a publicar no Flickr, encerre e abra novamente o Shotwell e " +"tente publicar." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:375 +msgid "Preparing for login..." +msgstr "A preparar início de sessão..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:444 +#: plugins/shotwell-publishing/FlickrPublishing.vala:595 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"O ficheiro necessário para a publicação não está disponível. A publicação no " +"Filckr não é possível." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:457 +msgid "Verifying authorization..." +msgstr "A verificar autorização..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1153 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"Está autenticado no Flickr como %s\n" +"\n" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1156 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"A sua conta gratuita do Flickr limita a quantidade de dados que pode enviar " +"por mês.\n" +"Este mês ainda possui %d megabyte na sua cota de envio." +msgstr[1] "" +"A sua conta gratuita do Flickr limita a quantidade de dados que pode enviar " +"por mês.\n" +"Este mês ainda possui %d megabytes na sua cota de envio." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1160 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "A sua conta Pro do Flickr oferece-lhe envios ilimitados." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1165 +msgid "Photos _visible to:" +msgstr "Fotografias _visíveis para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1167 +msgid "Videos _visible to:" +msgstr "_Vídeos visíveis para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1170 +msgid "Photos and videos _visible to:" +msgstr "_Vídeos e fotografias visíveis para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +msgid "Friends & family only" +msgstr "Só amigos e família" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Family only" +msgstr "Só família" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Friends only" +msgstr "Só amigos" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1235 +msgid "2048 x 1536 pixels" +msgstr "2048 x 1536 pixels" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1236 +msgid "4096 x 3072 pixels" +msgstr "4096 x 3072 pixels" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "L_istar os álbuns na galeria pública" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "_Tamanho predefinido da fotografia:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:58 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"Atualmente, não está autenticado nos álbuns Picasa Web.\n" +"\n" +"Clique em Iniciar sessão para iniciar sessão nos álbuns Picasa Web através " +"do navegador web. Tem que autorizar o acesso do Shotwell Connect à sua conta." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"O ficheiro necessário para a publicação não está disponível. A publicação no " +"Picasa não é possível." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "Está autenticado nos álbuns Picasa Web como %s." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "Os vídeos aparecerão em:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "Pequeno (640 x 480 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "Médio (1024 x 768 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "Recomendado (1600 x 1200 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048 x 1536 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "Tamanho original" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "_URL da galeria de fotografias Piwigo" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "_Nome de utilizador" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "_Lembrar senha" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "Uma categoria _existente:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "As fotografias vão estar _visíveis por:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "Tamanho da fotografia:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "na categoria:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "Comentário do álbum:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "" +"Se o título est_iver definido e o comentário não, usar título como comentário" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "Não enviar _detalhes" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "Terminar sessão" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "Publicar" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:746 +#, c-format +msgid "Creating album %s..." +msgstr "A criar o álbum %s..." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:917 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "Ocorreu um erro ao publicar no Piwigo. Por favor, tente novamente." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:987 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"Indique o URL da galeria de fotografias Piwigo, o nome de usador e a sua " +"senha de acesso à galeria Piwigo." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:988 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"O Shotwell não conseguiu comunicar com a galeria Piwigo. Por favor verifique " +"se o URL está correto." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1021 +msgid "Invalid URL" +msgstr "URL inválido" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1222 +msgid "Admins, Family, Friends, Contacts" +msgstr "Administradores, família, amigos e contactos" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1223 +msgid "Admins, Family, Friends" +msgstr "Administradores, família e amigos" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1224 +msgid "Admins, Family" +msgstr "Administradores e família" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1225 +msgid "Admins" +msgstr "Administradores" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Serviços principais de publicação" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "_Definições de privacidade do vídeo:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:57 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"Atualmente, não está autenticado no Youtube.\n" +"\n" +"Para continuar, deve ter uma conta Google configurada para usar o Youtube. " +"Pode configurar a maioria das contas, se usar o seu navegador e iniciar " +"sessão no Youtube, pelo menos uma vez." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:362 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"O ficheiro necessário para a publicação não está disponível. A publicação no " +"Youtube não é possível." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:461 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "Está autenticado no YouTube como %s." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:463 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "Os vídeos aparecerão em \"%s\"" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:495 +msgid "Public listed" +msgstr "Público listado" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public unlisted" +msgstr "Público não listado" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "Persianas" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "Xadrez" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "Círculo" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "Círculos" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "Relógio" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "Desintegrar" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "Desvanecer" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Transições principais" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:75 +#| msgid "Copyright 2010 Maxim Kartashev, Copyright 2011-2015 Yorba Foundation" +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"Direitos de autor 2010 Maxim Kartashev, Copyright 2016 Software Freedom " +"Conservancy Inc." + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "Diapositivo" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "Quadrados" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "Riscas" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "Impossível criar pasta de cache %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "Impossível criar pasta de dados %s: %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "Imagens" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "Impossível criar pasta temporária %s: %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "Impossível criar subpasta de dados %s: %s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "Impossível tornar a pasta “%s” gravável" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "Impossível tornar a pasta %s gravável: %s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "Fixar barra de ferramentas" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "Fixar barra de ferramentas aberta" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "Sair do ecrã completo" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "_Conteúdo" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "Perguntas _frequentes" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "_Reportar um erro..." + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1424 src/Dialogs.vala:1447 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_Cancelar" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"Ocorreu um erro fatal ao aceder à galeria do Shotwell. O Shotwell não pode " +"continuar.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "Visite a página principal do Shotwell" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "Impossível mostrar a ajuda: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "Impossível navegar para a base de dados de erros: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "Impossível mostrar as FAQ: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "Sucesso" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "Erro de ficheiro" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "Impossível descodificar o ficheiro" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "Erro na base de dados" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "O utilizador cancelou a importação" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "Não é um ficheiro" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "O ficheiro já existe na base de dados" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "O formato do ficheiro não é suportado" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "Não é uma imagem" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "Falha de disco" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "Disco cheio" + +#: src/BatchImport.vala:59 +msgid "Camera error" msgstr "Erro de câmara" -#: ../src/BatchImport.vala:62 +#: src/BatchImport.vala:62 msgid "File write error" msgstr "Erro ao escrever" -#: ../src/BatchImport.vala:65 +#: src/BatchImport.vala:65 msgid "Corrupt image file" msgstr "Ficheiro danificado" -#: ../src/BatchImport.vala:68 +#: src/BatchImport.vala:68 #, c-format msgid "Imported failed (%d)" msgstr "Falha ao importar (%d)" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2637 +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Câmaras" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Câmara" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"Impossível desmontar a câmara. Tente desmontar a câmara com o gestor de " +"ficheiros." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Ocultar fotografias já importadas" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Mostrar apenas as fotografias que não foram importadas" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "A iniciar importação, aguarde..." + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Títulos" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Mostrar título de cada fotografia" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "Importar _seleção" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Importar fotografias selecionadas para a galeria" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "Importar _todas" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Importar todas as fotografias para a galeria" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Para aceder à câmara, o Shotwell tem que a desmontar do sistema de " +"ficheiros. Continuar?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_Desmontar" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Por favor desmonte a câmara." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"A câmara está bloqueada por outra aplicação. O Shotwell só pode aceder à " +"câmara se esta não estiver bloqueada. Por favor feche qualquer outra " +"aplicação que lhe esteja a aceder e tente novamente." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "Por favor feche qualquer outra aplicação que esteja a usar a câmara." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"Impossível obter antevisões da câmara:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "A desmontar..." + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "A obter informações da fotografia" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "A obter antevisão para %s" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "Impossível bloquear a câmara: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "Eliminar esta fotografia da câmara?" +msgstr[1] "Eliminar estas %d fotografias da câmara?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "Eliminar este vídeo da câmara?" +msgstr[1] "Eliminar estes %d vídeos da câmara?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "Eliminar esta fotografia/vídeo da câmara?" +msgstr[1] "Eliminar estas %d fotografias/vídeos da câmara?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "Eliminar este ficheiro da câmara?" +msgstr[1] "Eliminar estes %d ficheiros da câmara?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1391 +msgid "_Keep" +msgstr "_Manter" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "A remover fotografias/vídeos na câmara" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "Impossível eliminar %d fotografia/vídeo da câmara." +msgstr[1] "Impossível eliminar %d fotografias/vídeos da câmara." + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 msgid "S_lideshow" msgstr "_Diaporama" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2638 +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 msgid "Play a slideshow" msgstr "Iniciar diaporama" -#: ../src/CollectionPage.vala:456 +#: src/CollectionPage.vala:456 msgid "Export Photo/Video" msgstr "Exportar fotografia/vídeo" -#: ../src/CollectionPage.vala:456 +#: src/CollectionPage.vala:456 msgid "Export Photos/Videos" msgstr "Exportar fotografias/vídeos" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3211 +#: src/CollectionPage.vala:458 src/Dialogs.vala:58 src/PhotoPage.vala:3209 msgid "Export Photo" msgstr "Exportar fotografia" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 +#: src/CollectionPage.vala:458 src/Dialogs.vala:87 msgid "Export Photos" msgstr "Exportar fotografias" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 msgid "Rotating" msgstr "A rodar" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 msgid "Undoing Rotate" msgstr "A anular rotação" -#: ../src/CollectionPage.vala:570 +#: src/CollectionPage.vala:570 msgid "Flipping Horizontally" msgstr "A inverter horizontalmente" -#: ../src/CollectionPage.vala:571 +#: src/CollectionPage.vala:571 msgid "Undoing Flip Horizontally" msgstr "A desfazer inversão horizontal" -#: ../src/CollectionPage.vala:580 +#: src/CollectionPage.vala:580 msgid "Flipping Vertically" msgstr "A inverter verticalmente" -#: ../src/CollectionPage.vala:581 +#: src/CollectionPage.vala:581 msgid "Undoing Flip Vertically" msgstr "A desfazer inversão vertical" -#: ../src/Commands.vala:733 +#: src/Commands.vala:733 msgid "Reverting" msgstr "A reverter" -#: ../src/Commands.vala:733 +#: src/Commands.vala:733 msgid "Undoing Revert" msgstr "A desfazer reversão" -#: ../src/Commands.vala:777 +#: src/Commands.vala:777 msgid "Enhancing" msgstr "A melhorar" -#: ../src/Commands.vala:777 +#: src/Commands.vala:777 msgid "Undoing Enhance" msgstr "A desfazer melhoramento" -#: ../src/Commands.vala:853 +#: src/Commands.vala:853 msgid "Applying Color Transformations" msgstr "Aplicar transformações de cor" -#: ../src/Commands.vala:853 +#: src/Commands.vala:853 msgid "Undoing Color Transformations" msgstr "Anular transformações de cor" -#: ../src/Commands.vala:1003 +#: src/Commands.vala:1003 msgid "Creating New Event" msgstr "A criar novo evento" -#: ../src/Commands.vala:1004 +#: src/Commands.vala:1004 msgid "Removing Event" msgstr "A remover evento" -#: ../src/Commands.vala:1013 +#: src/Commands.vala:1013 msgid "Moving Photos to New Event" msgstr "A mover fotografias para novo evento" -#: ../src/Commands.vala:1014 +#: src/Commands.vala:1014 msgid "Setting Photos to Previous Event" msgstr "A atribuir fotografias ao evento anterior" -#: ../src/Commands.vala:1071 +#: src/Commands.vala:1071 msgid "Merging" msgstr "A unir" -#: ../src/Commands.vala:1072 +#: src/Commands.vala:1072 msgid "Unmerging" msgstr "A dividir" -#: ../src/Commands.vala:1081 +#: src/Commands.vala:1081 msgid "Duplicating photos" msgstr "A duplicar fotografias" -#: ../src/Commands.vala:1081 +#: src/Commands.vala:1081 msgid "Removing duplicated photos" msgstr "A remover fotografias duplicadas" -#: ../src/Commands.vala:1104 +#: src/Commands.vala:1104 #, c-format msgid "Unable to duplicate one photo due to a file error" msgid_plural "Unable to duplicate %d photos due to file errors" msgstr[0] "Impossível duplicar 1 fotografia devido a um erro" msgstr[1] "Impossível duplicar %d fotografias devido a um erro" -#: ../src/Commands.vala:1191 +#: src/Commands.vala:1191 msgid "Restoring previous rating" msgstr "A restaurar classificação anterior" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: src/Commands.vala:1201 src/Commands.vala:1202 msgid "Increasing ratings" msgstr "A aumentar classificações" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 +#: src/Commands.vala:1201 src/Commands.vala:1202 msgid "Decreasing ratings" msgstr "A diminuir classificações" -#: ../src/Commands.vala:1252 +#: src/Commands.vala:1252 msgid "Setting RAW developer" msgstr "A definir o editor RAW" -#: ../src/Commands.vala:1252 +#: src/Commands.vala:1252 msgid "Restoring previous RAW developer" msgstr "A restaurar o editor RAW" -#: ../src/Commands.vala:1253 +#: src/Commands.vala:1253 msgid "Set Developer" msgstr "Definir editor" -#: ../src/Commands.vala:1343 +#: src/Commands.vala:1343 msgid "Original photo could not be adjusted." msgstr "A fotografia original não foi ajustada" -#: ../src/Commands.vala:1364 +#: src/Commands.vala:1364 msgid "Adjusting Date and Time" msgstr "A ajustar data e hora" -#: ../src/Commands.vala:1364 +#: src/Commands.vala:1364 msgid "Undoing Date and Time Adjustment" msgstr "A desfazer o ajuste de data e hora" -#: ../src/Commands.vala:1395 +#: src/Commands.vala:1395 msgid "One original photo could not be adjusted." msgid_plural "The following original photos could not be adjusted." msgstr[0] "Uma fotografia original não foi ajustada." msgstr[1] "As seguintes fotografias originais não foram ajustadas." -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 +#: src/Commands.vala:1397 src/Commands.vala:1421 msgid "Time Adjustment Error" msgstr "Erro de ajuste de hora" -#: ../src/Commands.vala:1419 +#: src/Commands.vala:1419 msgid "Time adjustments could not be undone on the following photo file." msgid_plural "" "Time adjustments could not be undone on the following photo files." msgstr[0] "Os ajustes de hora não foram desfeitos nesta fotografia." msgstr[1] "Os ajustes de hora não foram desfeitos nestas fotografias." -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 +#: src/Commands.vala:1633 src/Commands.vala:1656 msgid "Create Tag" msgstr "Criar etiqueta" -#: ../src/Commands.vala:1691 +#: src/Commands.vala:1691 #, c-format msgid "Move Tag \"%s\"" msgstr "Mover a etiqueta \"%s\"" -#: ../src/Commands.vala:2343 +#: src/Commands.vala:2343 msgid "Move Photos to Trash" msgstr "Mover fotografias para o lixo" -#: ../src/Commands.vala:2343 +#: src/Commands.vala:2343 msgid "Restore Photos from Trash" msgstr "Restaurar fotografias do lixo" -#: ../src/Commands.vala:2344 +#: src/Commands.vala:2344 msgid "Move the photos to the Shotwell trash" msgstr "Mover fotografias para o lixo do Shotwell" -#: ../src/Commands.vala:2344 -msgid "Restore the photos back to the Shotwell library" -msgstr "Restaurar fotografias selecionadas para a galeria" +#: src/Commands.vala:2344 +msgid "Restore the photos back to the Shotwell library" +msgstr "Restaurar fotografias selecionadas para a galeria" + +#: src/Commands.vala:2363 +msgid "Moving Photos to Trash" +msgstr "A mover fotografias para o lixo" + +#: src/Commands.vala:2363 +msgid "Restoring Photos From Trash" +msgstr "A restaurar fotografias do lixo" + +#: src/Commands.vala:2449 +msgid "Flag selected photos" +msgstr "Marcar fotografias selecionadas" + +#: src/Commands.vala:2450 +msgid "Unflag selected photos" +msgstr "Desmarcar fotografias selecionadas" + +#: src/Commands.vala:2451 +msgid "Flagging selected photos" +msgstr "Marcando fotografias selecionadas" + +#: src/Commands.vala:2452 +msgid "Unflagging selected photos" +msgstr "A desmarcar fotografias selecionadas" + +#: src/Commands.vala:2459 +msgid "Flag" +msgstr "Marcar" + +#: src/Commands.vala:2459 +msgid "Unflag" +msgstr "Desmarcar" + +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "Base de dados %s" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "A importação de %s não pode continuar porque ocorreu um erro:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "Para importar de outros serviços, escolha uma opção no menu acima." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"Não possui qualquer extensão ativa para a importação de dados.\n" +"\n" +"Para poder usar a função Importar da aplicação tem que ter, pelo menos, uma " +"extensão de importação ativa. Estas podem ser ativadas no diálogo " +"Preferências." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Ficheiro da base de dados:" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:882 +msgid "_Import" +msgstr "_Importar" -#: ../src/Commands.vala:2363 -msgid "Moving Photos to Trash" -msgstr "A mover fotografias para o lixo" +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Importar da aplicação" -#: ../src/Commands.vala:2363 -msgid "Restoring Photos From Trash" -msgstr "A restaurar fotografias do lixo" +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "Importar _ficheiros de:" -#: ../src/Commands.vala:2449 -msgid "Flag selected photos" -msgstr "Marcar fotografias selecionadas" +#: src/data_imports/DataImportsUI.vala:408 +#: src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "_Fechar" -#: ../src/Commands.vala:2450 -msgid "Unflag selected photos" -msgstr "Desmarcar fotografias selecionadas" +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Importação de dados" -#: ../src/Commands.vala:2451 -msgid "Flagging selected photos" -msgstr "Marcando fotografias selecionadas" +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "Impossível abrir/criar a base de dados %s. Erro %d" -#: ../src/Commands.vala:2452 -msgid "Unflagging selected photos" -msgstr "A desmarcar fotografias selecionadas" +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"Impossível escrever na base de dados:\n" +" %s" -#: ../src/Commands.vala:2459 -msgid "Flag" -msgstr "Marcar" +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"Erro ao aceder à base de dados:\n" +" %s\n" +"\n" +"Detalhe do erro: \n" +"%s" -#: ../src/Commands.vala:2459 -msgid "Unflag" -msgstr "Desmarcar" +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "Impossível restaurar a base de dados %s" -#: ../src/DesktopIntegration.vala:121 +#: src/DesktopIntegration.vala:121 #, c-format msgid "Unable to launch Nautilus Send-To: %s" msgstr "Impossível iniciar o Nautilus Send-To: %s" -#: ../src/DesktopIntegration.vala:129 +#: src/DesktopIntegration.vala:129 msgid "Send To" msgstr "Enviar para" -#: ../src/DesktopIntegration.vala:174 +#: src/DesktopIntegration.vala:174 #, c-format msgid "Unable to export background to %s: %s" msgstr "Impossível exportar o fundo para %s: %s" -#: ../src/DesktopIntegration.vala:311 +#: src/DesktopIntegration.vala:311 #, c-format msgid "Unable to prepare desktop slideshow: %s" msgstr "Impossível preparar o diaporama: %s" -#: ../src/Dialogs.vala:16 +#: src/Dialogs.vala:16 #, c-format msgid "This will remove the tag \"%s\" from one photo. Continue?" msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" msgstr[0] "Vai remover a etiqueta \"%s\" de uma fotografia. Continuar?" msgstr[1] "Vai remover a etiqueta \"%s\" de %d fotografias. Continuar?" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1392 -#: ../src/Resources.vala:163 ../src/Resources.vala:369 -#: ../src/Resources.vala:417 ../src/Resources.vala:682 +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1392 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 msgid "_Delete" msgstr "_Eliminar" -#: ../src/Dialogs.vala:25 +#: src/Dialogs.vala:25 #, c-format msgid "This will remove the saved search \"%s\". Continue?" msgstr "Vai remover a pesquisa gravada \"%s\". Continuar?" -#: ../src/Dialogs.vala:35 +#: src/Dialogs.vala:35 msgid "" "Switching developers will undo all changes you have made to this photo in " "Shotwell" @@ -1474,11 +2915,11 @@ msgstr[1] "" "Se trocar de editor, todas as alterações efetuadas nestas fotografias com o " "Shotwell serão perdidas." -#: ../src/Dialogs.vala:39 +#: src/Dialogs.vala:39 msgid "_Switch Developer" msgstr "_Trocar editor" -#: ../src/Dialogs.vala:58 +#: src/Dialogs.vala:58 msgid "Export Video" msgstr "Exportar vídeo" @@ -1487,7 +2928,7 @@ msgstr "Exportar vídeo" #. if we can't copy an image over for editing in an external tool. #. Did we fail because we can't write to this directory? #. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 +#: src/Dialogs.vala:115 #, c-format msgid "" "Shotwell couldn't create a file for editing this photo because you do not " @@ -1496,7 +2937,7 @@ msgstr "" "O Shotwell não conseguiu criar o ficheiro para edição desta fotografias, " "porque não tem permissão para escrever em %s" -#: ../src/Dialogs.vala:124 +#: src/Dialogs.vala:124 msgid "" "Unable to export the following photo due to a file error.\n" "\n" @@ -1504,7 +2945,7 @@ msgstr "" "Impossível exportar a fotografia indicada devido a um erro\n" "\n" -#: ../src/Dialogs.vala:130 +#: src/Dialogs.vala:130 msgid "" "\n" "\n" @@ -1517,60 +2958,60 @@ msgstr "" #. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really #. aren't formats so much as they are operating modes that determine specific formats. #. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 +#: src/Dialogs.vala:147 msgid "Unmodified" msgstr "Não modificada" -#: ../src/Dialogs.vala:148 +#: src/Dialogs.vala:148 msgid "Current" msgstr "Atual" #. layout controls -#: ../src/Dialogs.vala:215 +#: src/Dialogs.vala:215 msgid "_Format:" msgstr "_Formato:" -#: ../src/Dialogs.vala:218 +#: src/Dialogs.vala:218 msgid "_Quality:" msgstr "_Qualidade:" -#: ../src/Dialogs.vala:221 +#: src/Dialogs.vala:221 msgid "_Scaling constraint:" -msgstr "Re_Strição de escala:" +msgstr "Re_strição de escala:" -#: ../src/Dialogs.vala:224 +#: src/Dialogs.vala:224 msgid "_Pixels:" -msgstr " _Pixels:" +msgstr " _Pixeis:" -#: ../src/Dialogs.vala:227 +#: src/Dialogs.vala:227 msgid "Export metadata" msgstr "Exportar metadados" -#: ../src/Dialogs.vala:461 +#: src/Dialogs.vala:461 msgid "Save Details..." msgstr "Gravar detalhes..." -#: ../src/Dialogs.vala:462 +#: src/Dialogs.vala:462 msgid "Save Details" msgstr "Gravar detalhes" -#: ../src/Dialogs.vala:477 +#: src/Dialogs.vala:477 #, c-format msgid "(and %d more)\n" msgstr "(e %d mais)\n" -#: ../src/Dialogs.vala:530 +#: src/Dialogs.vala:530 msgid "Import Results Report" msgstr "Relatório de importação" -#: ../src/Dialogs.vala:534 +#: src/Dialogs.vala:534 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." msgstr[0] "Tentativa de importação de %d ficheiro." msgstr[1] "Tentativa de importação de %d ficheiros." -#: ../src/Dialogs.vala:537 +#: src/Dialogs.vala:537 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." @@ -1580,30 +3021,30 @@ msgstr[1] "Destes, %d ficheiros foram importados com sucesso." #. #. Duplicates #. -#: ../src/Dialogs.vala:549 +#: src/Dialogs.vala:549 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Fotografias/Vídeos não importados por serem duplicados:" -#: ../src/Dialogs.vala:553 +#: src/Dialogs.vala:553 msgid "duplicates existing media item" msgstr "ficheiros duplicados" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:564 +#: src/Dialogs.vala:564 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "Fotografias/Vídeos não importados devido a erros da câmara:" -#: ../src/Dialogs.vala:567 ../src/Dialogs.vala:582 ../src/Dialogs.vala:597 -#: ../src/Dialogs.vala:613 ../src/Dialogs.vala:628 ../src/Dialogs.vala:642 +#: src/Dialogs.vala:567 src/Dialogs.vala:582 src/Dialogs.vala:597 +#: src/Dialogs.vala:613 src/Dialogs.vala:628 src/Dialogs.vala:642 msgid "error message:" msgstr "mensagem de erro:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:578 +#: src/Dialogs.vala:578 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "" "Ficheiros não importados por não serem reconhecidos como fotografias ou " @@ -1612,7 +3053,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:593 +#: src/Dialogs.vala:593 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1622,13 +3063,13 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:608 +#: src/Dialogs.vala:608 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" msgstr "Ficheiros não importados por não ser possível copiar para a galeria:" -#: ../src/Dialogs.vala:612 +#: src/Dialogs.vala:612 #, c-format msgid "" "couldn't copy %s\n" @@ -1640,7 +3081,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:624 +#: src/Dialogs.vala:624 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "" "Fotografias/Vídeos não importados porque os ficheiros estão danificados:" @@ -1648,32 +3089,32 @@ msgstr "" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:639 +#: src/Dialogs.vala:639 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "Fotografias/Vídeos não importados por outras razões:" -#: ../src/Dialogs.vala:659 +#: src/Dialogs.vala:659 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" msgstr[0] "Não foi importada 1 fotografias duplicada:\n" msgstr[1] "Não foram importadas %d fotografias duplicadas:\n" -#: ../src/Dialogs.vala:662 +#: src/Dialogs.vala:662 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" msgstr[0] "Não foi importado 1 vídeo duplicado:\n" msgstr[1] "Não foram importados %d vídeos duplicados:\n" -#: ../src/Dialogs.vala:665 +#: src/Dialogs.vala:665 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" msgstr[0] "Não foi importada(o) 1 fotografia/vídeo duplicada(o):\n" msgstr[1] "Não foram importada(o)s %d fotografias/vídeos duplicada(o)s:\n" -#: ../src/Dialogs.vala:679 +#: src/Dialogs.vala:679 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1684,7 +3125,7 @@ msgstr[1] "" "Falha ao importar %d fotografias. Ocorreu um erro no ficheiro ou no " "equipamento:\n" -#: ../src/Dialogs.vala:682 +#: src/Dialogs.vala:682 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1693,7 +3134,7 @@ msgstr[0] "" msgstr[1] "" "Falha ao importar %d vídeos. Ocorreu um erro no ficheiro ou no equipamento:\n" -#: ../src/Dialogs.vala:685 +#: src/Dialogs.vala:685 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1705,7 +3146,7 @@ msgstr[1] "" "Falha ao importar %d fotografias/vídeos. Ocorreu um erro no ficheiro ou no " "equipamento:\n" -#: ../src/Dialogs.vala:688 +#: src/Dialogs.vala:688 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1714,7 +3155,7 @@ msgstr[0] "" msgstr[1] "" "Falha ao importar%d ficheiros em virtude de um erro de equipamento:\n" -#: ../src/Dialogs.vala:702 +#: src/Dialogs.vala:702 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1728,7 +3169,7 @@ msgstr[1] "" "Ocorreu um erro ao importar %d fotografias. Não possui permissões de escrita " "na pasta:\n" -#: ../src/Dialogs.vala:705 +#: src/Dialogs.vala:705 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1742,7 +3183,7 @@ msgstr[1] "" "Ocorreu um erro ao importar %d vídeos. Não possui permissões de escrita na " "pasta:\n" -#: ../src/Dialogs.vala:708 +#: src/Dialogs.vala:708 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1757,7 +3198,7 @@ msgstr[1] "" "Ocorreu um erro ao importar %d fotografias/vídeos. Não possui permissões de " "escrita na pasta:\n" -#: ../src/Dialogs.vala:711 +#: src/Dialogs.vala:711 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1769,21 +3210,21 @@ msgstr[0] "" msgstr[1] "" "Falha ao importar %d ficheiros. Não pode escrever na pasta da galeria:\n" -#: ../src/Dialogs.vala:725 +#: src/Dialogs.vala:725 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" msgstr[0] "Falha ao importar 1 fotografia. Ocorreu um erro na câmara:\n" msgstr[1] "Falha ao importar %d fotografias. Ocorreu um erro na câmara:\n" -#: ../src/Dialogs.vala:728 +#: src/Dialogs.vala:728 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" msgstr[0] "Falha ao importar 1 vídeo. Ocorreu um erro na câmara:\n" msgstr[1] "Falha ao importar %d vídeos. Ocorreu um erro na câmara:\n" -#: ../src/Dialogs.vala:731 +#: src/Dialogs.vala:731 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" @@ -1791,28 +3232,28 @@ msgstr[0] "Falha ao importar 1 fotografia/vídeo. Ocorreu um erro na câmara:\n" msgstr[1] "" "Falha ao importar %d fotografias/vídeos. Ocorreu um erro na câmara:\n" -#: ../src/Dialogs.vala:734 +#: src/Dialogs.vala:734 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" msgstr[0] "Falha ao importar 1 ficheiro em virtude dum erro da câmara:\n" msgstr[1] "Falha ao importar %d ficheiros em virtude dum erro da câmara:\n" -#: ../src/Dialogs.vala:748 +#: src/Dialogs.vala:748 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" msgstr[0] "1 fotografia não foi importada por estar danificada:\n" msgstr[1] "%d fotografias não foram importadas por estarem danificadas:\n" -#: ../src/Dialogs.vala:751 +#: src/Dialogs.vala:751 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" msgstr[0] "1 vídeo não foi importado por estar danificado:\n" msgstr[1] "%d vídeos não foram importados por estarem danificados:\n" -#: ../src/Dialogs.vala:754 +#: src/Dialogs.vala:754 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" @@ -1820,7 +3261,7 @@ msgstr[0] "1 fotografia/vídeo não foi importada(o) por estar danificada(o):\n" msgstr[1] "" "%d fotografias/vídeos não foram importada(o)s por estarem danificada(o)s:\n" -#: ../src/Dialogs.vala:757 +#: src/Dialogs.vala:757 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1831,7 +3272,7 @@ msgstr[1] "%d ficheiros não foram importados por estarem danificados:\n" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:774 +#: src/Dialogs.vala:774 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1840,28 +3281,28 @@ msgstr[1] "%d fotografias não suportadas foram ignoradas:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:789 +#: src/Dialogs.vala:789 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" msgstr[0] "Foi ignorado 1 ficheiro pois não era uma imagem\n" msgstr[1] "Foram ignorados %d ficheiros pois não eram imagens\n" -#: ../src/Dialogs.vala:800 +#: src/Dialogs.vala:800 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" msgstr[0] "Foi ignorado 1 ficheiro em virtude do cancelamento:\n" msgstr[1] "Foram ignorados %d ficheiros em virtude do cancelamento:\n" -#: ../src/Dialogs.vala:803 +#: src/Dialogs.vala:803 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" msgstr[0] "Foi ignorado 1 vídeo em virtude do cancelamento:\n" msgstr[1] "Foram ignorados %d vídeos em virtude do cancelamento:\n" -#: ../src/Dialogs.vala:806 +#: src/Dialogs.vala:806 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" @@ -1869,28 +3310,28 @@ msgstr[0] "Foi ignorada(o) 1 fotografia/vídeo em virtude do cancelamento:\n" msgstr[1] "" "Foram ignorada(o)s %d fotografias/vídeos em virtude do cancelamento:\n" -#: ../src/Dialogs.vala:809 +#: src/Dialogs.vala:809 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" msgstr[0] "Foi ignorado 1 ficheiro em virtude do cancelamento:\n" msgstr[1] "Foram ignorados %d ficheiros em virtude do cancelamento:\n" -#: ../src/Dialogs.vala:823 +#: src/Dialogs.vala:823 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" msgstr[0] "Foi importada com sucesso 1 fotografia\n" msgstr[1] "Foram importadas com sucesso %d fotografias\n" -#: ../src/Dialogs.vala:826 +#: src/Dialogs.vala:826 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" msgstr[0] "Foi importado com sucesso 1 vídeo\n" msgstr[1] "Foram importados com sucesso %d vídeos\n" -#: ../src/Dialogs.vala:829 +#: src/Dialogs.vala:829 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1899,93 +3340,84 @@ msgstr[1] "Foram importada(o)s com sucesso %d fotografias/vídeos\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:845 +#: src/Dialogs.vala:845 msgid "No photos or videos imported.\n" msgstr "Nenhum(a) vídeo ou fotografia importado(a)\n" -#: ../src/Dialogs.vala:852 ../src/Dialogs.vala:871 +#: src/Dialogs.vala:852 src/Dialogs.vala:871 msgid "Import Complete" msgstr "Importação terminada" -#: ../src/Dialogs.vala:1157 +#: src/Dialogs.vala:1157 #, c-format msgid "%d second" msgid_plural "%d seconds" msgstr[0] "%d segundo" msgstr[1] "%d segundos" -#: ../src/Dialogs.vala:1160 +#: src/Dialogs.vala:1160 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minuto" msgstr[1] "%d minutos" -#: ../src/Dialogs.vala:1164 +#: src/Dialogs.vala:1164 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hora" msgstr[1] "%d horas" -#: ../src/Dialogs.vala:1167 +#: src/Dialogs.vala:1167 msgid "1 day" msgstr "1 dia" -#: ../src/Dialogs.vala:1321 ../src/Resources.vala:236 +#: src/Dialogs.vala:1321 src/Resources.vala:231 msgid "Rename Event" msgstr "Renomear evento" -#: ../src/Dialogs.vala:1321 +#: src/Dialogs.vala:1321 msgid "Name:" msgstr "Nome:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1332 ../src/Resources.vala:308 -msgid "Edit Title" -msgstr "Editar título" - -#: ../src/Dialogs.vala:1333 ../src/Properties.vala:340 +#: src/Dialogs.vala:1333 src/Properties.vala:340 msgid "Title:" msgstr "Título:" #. Dialog title -#: ../src/Dialogs.vala:1349 ../src/Resources.vala:315 +#: src/Dialogs.vala:1349 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Editar comentário" -#: ../src/Dialogs.vala:1350 +#: src/Dialogs.vala:1350 msgid "Edit Photo/Video Comment" msgstr "Editar comentário de fotografia/vídeo" -#: ../src/Dialogs.vala:1351 ../src/Properties.vala:628 +#: src/Dialogs.vala:1351 src/Properties.vala:628 msgid "Comment:" msgstr "Comentário:" -#: ../src/Dialogs.vala:1367 +#: src/Dialogs.vala:1367 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "_Remover e enviar o ficheiro para a lixeira" msgstr[1] "_Remover e enviar os ficheiros para a lixeira" -#: ../src/Dialogs.vala:1371 +#: src/Dialogs.vala:1371 msgid "_Remove From Library" msgstr "_Remover da galeria" -#: ../src/Dialogs.vala:1391 ../src/camera/ImportPage.vala:1741 -msgid "_Keep" -msgstr "_Manter" - -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1414 msgid "Revert External Edit?" msgstr "Reverter edição externa?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1414 msgid "Revert External Edits?" msgstr "Reverter edições externas?" -#: ../src/Dialogs.vala:1416 +#: src/Dialogs.vala:1416 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -1995,87 +3427,87 @@ msgstr[0] "" msgstr[1] "" "Vai destruir todas as alterações feitas em %d ficheiros externos. Continuar?" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1420 msgid "Re_vert External Edit" -msgstr "Re_Verter edição externa" +msgstr "Re_verter edição externa" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1420 msgid "Re_vert External Edits" -msgstr "Re_Verter edições externas" +msgstr "Re_verter edições externas" -#: ../src/Dialogs.vala:1441 +#: src/Dialogs.vala:1441 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" msgstr[0] "Vai remover a fotografia da galeria. Continuar?" msgstr[1] "Vai remover %d fotografias da galeria. Continuar?" -#: ../src/Dialogs.vala:1448 ../src/Resources.vala:178 +#: src/Dialogs.vala:1448 src/Resources.vala:173 msgid "_Remove" msgstr "_Remover" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1449 msgid "Remove Photo From Library" msgstr "Remover fotografia da galeria" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1449 msgid "Remove Photos From Library" msgstr "Remover fotografias da galeria" -#: ../src/Dialogs.vala:1542 +#: src/Dialogs.vala:1542 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1696 +#: src/Dialogs.vala:1696 msgid "AM" msgstr "AM" -#: ../src/Dialogs.vala:1697 +#: src/Dialogs.vala:1697 msgid "PM" msgstr "PM" -#: ../src/Dialogs.vala:1698 +#: src/Dialogs.vala:1698 msgid "24 Hr" msgstr "24 Hr" -#: ../src/Dialogs.vala:1713 +#: src/Dialogs.vala:1713 msgid "_Shift photos/videos by the same amount" -msgstr "De_Slocar fotografias/vídeos na mesma proporção" +msgstr "De_slocar fotografias/vídeos na mesma proporção" -#: ../src/Dialogs.vala:1718 +#: src/Dialogs.vala:1718 msgid "Set _all photos/videos to this time" -msgstr "Definir fotografias/videos para esta hor_A" +msgstr "Definir fotografias/vídeos para esta hor_a" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1725 msgid "_Modify original photo file" msgstr "_Modificar fotografia original" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1725 msgid "_Modify original photo files" msgstr "_Modificar fotografias originais" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1728 msgid "_Modify original file" msgstr "_Modificar ficheiro original" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1728 msgid "_Modify original files" msgstr "_Modificar ficheiros originais" -#: ../src/Dialogs.vala:1814 +#: src/Dialogs.vala:1814 msgid "Original: " msgstr "Original: " -#: ../src/Dialogs.vala:1815 +#: src/Dialogs.vala:1815 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d-%m-%Y, %H:%M:%S" -#: ../src/Dialogs.vala:1816 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d-%m-%Y, %I:%M:%S %p" -#: ../src/Dialogs.vala:1905 +#: src/Dialogs.vala:1905 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2084,7 +3516,7 @@ msgstr "" "O tempo de exposição será aumentado em\n" "%d %s, %d %s, %d %s, e %d %s." -#: ../src/Dialogs.vala:1906 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2093,31 +3525,31 @@ msgstr "" "O tempo de exposição será diminuído em\n" "%d %s, %d %s, %d %s, e %d %s." -#: ../src/Dialogs.vala:1908 +#: src/Dialogs.vala:1908 msgid "day" msgid_plural "days" msgstr[0] "dia" msgstr[1] "dias" -#: ../src/Dialogs.vala:1909 +#: src/Dialogs.vala:1909 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: ../src/Dialogs.vala:1910 +#: src/Dialogs.vala:1910 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../src/Dialogs.vala:1911 +#: src/Dialogs.vala:1911 msgid "second" msgid_plural "seconds" msgstr[0] "segundo" msgstr[1] "segundos" -#: ../src/Dialogs.vala:1955 +#: src/Dialogs.vala:1955 #, c-format msgid "" "\n" @@ -2136,91 +3568,91 @@ msgstr[1] "" "\n" "E mais %d." -#: ../src/Dialogs.vala:1977 ../src/Dialogs.vala:2004 +#: src/Dialogs.vala:1977 src/Dialogs.vala:2004 msgid "Tags (separated by commas):" msgstr "Etiquetas (separadas por vírgulas):" -#: ../src/Dialogs.vala:2084 +#: src/Dialogs.vala:2084 msgid "Welcome!" msgstr "Boas vindas!" -#: ../src/Dialogs.vala:2091 +#: src/Dialogs.vala:2091 msgid "Welcome to Shotwell!" msgstr "Boas vindas ao Shotwell!" -#: ../src/Dialogs.vala:2095 +#: src/Dialogs.vala:2095 msgid "To get started, import photos in any of these ways:" msgstr "Para iniciar, importe as fotografias de alguma destas formas:" -#: ../src/Dialogs.vala:2114 +#: src/Dialogs.vala:2114 #, c-format msgid "Choose File %s Import From Folder" msgstr "Escolha Ficheiro %s importar da pasta" -#: ../src/Dialogs.vala:2115 +#: src/Dialogs.vala:2115 msgid "Drag and drop photos onto the Shotwell window" msgstr "Arraste e solte as fotografias na janela do Shotwell" -#: ../src/Dialogs.vala:2116 +#: src/Dialogs.vala:2116 msgid "Connect a camera to your computer and import" msgstr "Ligue uma câmara ao computador e importe" -#: ../src/Dialogs.vala:2126 +#: src/Dialogs.vala:2126 #, c-format msgid "_Import photos from your %s folder" msgstr "_Importar fotografias da sua pasta %s" -#: ../src/Dialogs.vala:2133 +#: src/Dialogs.vala:2133 msgid "You can also import photos in any of these ways:" msgstr "Também pode importar fotografias de alguma destas formas:" -#: ../src/Dialogs.vala:2143 +#: src/Dialogs.vala:2143 msgid "_Don't show this message again" -msgstr "Não exibir no_Vamente a mensagem" +msgstr "Não exibir no_vamente a mensagem" -#: ../src/Dialogs.vala:2178 +#: src/Dialogs.vala:2178 #, c-format msgid "Import photos from your %s library" msgstr "Importar fotografias da galeria %s" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2325 ../src/Dialogs.vala:2329 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2325 src/Dialogs.vala:2329 msgid "(Help)" msgstr "(ajuda)" -#: ../src/Dialogs.vala:2338 +#: src/Dialogs.vala:2338 #, c-format msgid "Year%sMonth%sDay" msgstr "Dia%sMês%sAno" -#: ../src/Dialogs.vala:2340 +#: src/Dialogs.vala:2340 #, c-format msgid "Year%sMonth" msgstr "Mês%sAno" -#: ../src/Dialogs.vala:2342 +#: src/Dialogs.vala:2342 #, c-format msgid "Year%sMonth-Day" msgstr "Dia%sMês-Ano" -#: ../src/Dialogs.vala:2344 +#: src/Dialogs.vala:2344 msgid "Year-Month-Day" msgstr "Dia-Mês-Ano" -#: ../src/Dialogs.vala:2345 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2345 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Personalizar" #. Invalid pattern. -#: ../src/Dialogs.vala:2582 +#: src/Dialogs.vala:2582 msgid "Invalid pattern" msgstr "Padrão inválido" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2684 +#: src/Dialogs.vala:2684 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2228,31 +3660,31 @@ msgstr "" "O Shotwell pode copiar as fotografias para a galeria, mas também as consegue " "importar sem copiar" -#: ../src/Dialogs.vala:2689 +#: src/Dialogs.vala:2689 msgid "Co_py Photos" -msgstr "C_Opiar fotografias" +msgstr "C_opiar fotografias" -#: ../src/Dialogs.vala:2690 +#: src/Dialogs.vala:2690 msgid "_Import in Place" msgstr "_Importar sem copiar" -#: ../src/Dialogs.vala:2691 +#: src/Dialogs.vala:2691 msgid "Import to Library" msgstr "Importar para a galeria" -#: ../src/Dialogs.vala:2701 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2701 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Remover da galeria" -#: ../src/Dialogs.vala:2702 ../src/PhotoPage.vala:3087 +#: src/Dialogs.vala:2702 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "A remover fotografia da galeria" -#: ../src/Dialogs.vala:2702 +#: src/Dialogs.vala:2702 msgid "Removing Photos From Library" msgstr "A remover fotografias da galeria" -#: ../src/Dialogs.vala:2716 +#: src/Dialogs.vala:2716 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2275,7 +3707,7 @@ msgstr[1] "" "\n" "Esta ação não pode ser desfeita." -#: ../src/Dialogs.vala:2720 +#: src/Dialogs.vala:2720 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2298,7 +3730,7 @@ msgstr[1] "" "\n" "Esta ação não pode ser desfeita." -#: ../src/Dialogs.vala:2724 +#: src/Dialogs.vala:2724 #, c-format msgid "" "This will remove the photo from your Shotwell library. Would you also like " @@ -2321,7 +3753,7 @@ msgstr[1] "" "\n" "Esta ação não pode ser desfeita." -#: ../src/Dialogs.vala:2756 +#: src/Dialogs.vala:2756 #, c-format msgid "" "The photo or video cannot be moved to your desktop trash. Delete this file?" @@ -2335,2723 +3767,2494 @@ msgstr[1] "" "permanentemente?" #. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2773 +#: src/Dialogs.vala:2773 #, c-format msgid "The photo or video cannot be deleted." msgid_plural "%d photos/videos cannot be deleted." msgstr[0] "A fotografia/vídeo não pode ser eliminada(o)." msgstr[1] "%d fotografias/vídeos não podem ser eliminada(o)s." -#: ../src/Dimensions.vala:23 +#: src/Dimensions.vala:23 msgid "Width" msgstr "Largura" -#: ../src/Dimensions.vala:26 +#: src/Dimensions.vala:26 msgid "Height" msgstr "Altura" -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "Impossível monitorizar %s: não é uma pasta (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Evento %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "Impossível criar o ficheiro temporário para %s: %s" - -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "A exportar" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "%s já existe. Substituir?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_Ignorar" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "_Substituir" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "Substituir _Tudo" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Exportar" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "Impossível monitorizar as atualizações: %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Ajustar tamanho das miniaturas" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2593 -#: ../src/Resources.vala:188 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "_Ampliar" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Ficheiro" -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Aumentar tamanho das miniaturas" +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "_Gravar" -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2599 -#: ../src/Resources.vala:189 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "_Reduzir" +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Gravar fotografia" -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Diminuir tamanho das miniaturas" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "Gravar _como..." -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "_Organizar fotografias" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Gravar fotografias com um nome diferente" -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "Reprodu_Zir vídeos" +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Imprimir fotografias numa impressora ligada ao computador" -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "Abrir o vídeo selecionado no reprodutor de vídeos do sistema" +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "_Editar" -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2642 -msgid "_Developer" -msgstr "_Editor" +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "F_otografia" -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:711 ../src/camera/ImportPage.vala:727 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Câmara" +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 +msgid "T_ools" +msgstr "_Ferramentas" -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:874 -msgid "_Titles" -msgstr "_Títulos" +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 +msgid "_Previous Photo" +msgstr "Fotografia _anterior" -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:875 -msgid "Display the title of each photo" -msgstr "Mostrar título de cada fotografia" +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 +msgid "Previous Photo" +msgstr "Fotografia anterior" -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "_Comentários" +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 +msgid "_Next Photo" +msgstr "Fotografia _seguinte" -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Mostrar comentário de todas as fotografias" +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 +msgid "Next Photo" +msgstr "Fotografia seguinte" -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:359 -msgid "Ta_gs" -msgstr "Eti_Quetas" +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Ver" -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Mostrar etiquetas de cada fotografias" +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "A_juda" -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Por _Título" +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "_Ampliar" -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Organizar fotografias por título" +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 +msgid "Increase the magnification of the photo" +msgstr "Aumentar tamanho da fotografia" -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "Por _Data de exposição" +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "_Reduzir" -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Organizar fotografias por data de exposição" +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 +msgid "Decrease the magnification of the photo" +msgstr "Diminuir tamanho da fotografia" -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Por _Classificação" +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 +msgid "Fit to _Page" +msgstr "Ajustar à _página" -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Organizar fotografias por classificação" +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 +msgid "Zoom the photo to fit on the screen" +msgstr "Ampliar fotografias para ajustar ao ecrã" -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Por nome do _Ficheiro" +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 +#, no-c-format +msgid "Zoom _100%" +msgstr "Ampliação _100%" -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Ordenar fotografias por nome do ficheiro" +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 +#, no-c-format +msgid "Zoom the photo to 100% magnification" +msgstr "Ampliar fotografias para 100 por cento" -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:405 -msgid "_Ascending" -msgstr "_Ascendente" +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 +#, no-c-format +msgid "Zoom _200%" +msgstr "Ampliação _200%" -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:406 -msgid "Sort photos in an ascending order" -msgstr "Organizar fotografias por ordem ascendente" +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 +#, no-c-format +msgid "Zoom the photo to 200% magnification" +msgstr "Ampliar fotografias para 200 por cento" -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:412 -msgid "D_escending" -msgstr "D_Escendente" +#: src/direct/DirectPhotoPage.vala:227 +#, c-format +msgid "%s does not exist." +msgstr "%s não existe." -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:413 -msgid "Sort photos in a descending order" -msgstr "Organizar fotografias por ordem descendente" +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s não é um ficheiro." -#: ../src/MediaPage.vala:723 +#: src/direct/DirectPhotoPage.vala:231 #, c-format msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" +"%s does not support the file format of\n" +"%s." msgstr "" -"O Shotwell não conseguiu reproduzir o vídeo selecionado:\n" -"%s" - -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "Sem fotografias/vídeos" - -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "Nenhum(a) vídeo/fotografia encontrado(a)" - -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "As fotografias não podem ser exportadas para esta pasta." - -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "modificado" - -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Fotografia anterior" - -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Fotografia seguinte" - -#: ../src/PhotoPage.vala:1847 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Falta o ficheiro fonte da fotografia: %s" - -#: ../src/PhotoPage.vala:2414 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:343 -msgid "_View" -msgstr "_Ver" - -#: ../src/PhotoPage.vala:2418 ../src/direct/DirectPhotoPage.vala:81 -msgid "T_ools" -msgstr "_Ferramentas" - -#: ../src/PhotoPage.vala:2423 ../src/direct/DirectPhotoPage.vala:86 -msgid "_Previous Photo" -msgstr "Fotografia _Anterior" - -#: ../src/PhotoPage.vala:2424 ../src/direct/DirectPhotoPage.vala:87 -msgid "Previous Photo" -msgstr "Fotografia anterior" - -#: ../src/PhotoPage.vala:2429 ../src/direct/DirectPhotoPage.vala:92 -msgid "_Next Photo" -msgstr "Fotografia _Seguinte" - -#: ../src/PhotoPage.vala:2430 ../src/direct/DirectPhotoPage.vala:93 -msgid "Next Photo" -msgstr "Fotografia seguinte" - -#: ../src/PhotoPage.vala:2594 ../src/direct/DirectPhotoPage.vala:175 -msgid "Increase the magnification of the photo" -msgstr "Aumentar tamanho da fotografia" - -#: ../src/PhotoPage.vala:2600 ../src/direct/DirectPhotoPage.vala:181 -msgid "Decrease the magnification of the photo" -msgstr "Diminuir tamanho da fotografia" +"%s não possui suporte ao formato de\n" +"%s." -#: ../src/PhotoPage.vala:2605 ../src/direct/DirectPhotoPage.vala:186 -msgid "Fit to _Page" -msgstr "Ajustar à _Página" +#: src/direct/DirectPhotoPage.vala:248 +#, c-format +#| msgid "" +#| "Unable to print photo:\n" +#| "\n" +#| "%s" +msgid "Unable open photo %s. Sorry." +msgstr "Impossível abrir a fotografia %s. Lamentamos." -#: ../src/PhotoPage.vala:2606 ../src/direct/DirectPhotoPage.vala:187 -msgid "Zoom the photo to fit on the screen" -msgstr "Ampliar fotografias para ajustar ao ecrã" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "_Gravar uma cópia" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:193 -#, no-c-format -msgid "Zoom _100%" -msgstr "Ampliação _100%" +#: src/direct/DirectPhotoPage.vala:435 +#, c-format +msgid "Lose changes to %s?" +msgstr "Ignorar alterações em %s?" -#: ../src/PhotoPage.vala:2614 ../src/direct/DirectPhotoPage.vala:195 -#, no-c-format -msgid "Zoom the photo to 100% magnification" -msgstr "Ampliar fotografias para 100 por cento" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Fechar s_em gravar" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:201 -#, no-c-format -msgid "Zoom _200%" -msgstr "Ampliação _200%" +#: src/direct/DirectPhotoPage.vala:469 +#, c-format +msgid "Error while saving to %s: %s" +msgstr "Erro ao gravar em %s: %s" -#: ../src/PhotoPage.vala:2622 ../src/direct/DirectPhotoPage.vala:203 -#, no-c-format -msgid "Zoom the photo to 200% magnification" -msgstr "Ampliar fotografias para 200 por cento" +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Gravar como" -#: ../src/PhotoPage.vala:3231 +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 #, c-format -msgid "Unable to export %s: %s" -msgstr "Impossível exportar %s: %s" +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "Impossível monitorizar %s: não é uma pasta (%s)" -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Preencher a página" +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Restaurar dimensões atuais da fotografias" -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 imagens por página" +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Definir corte para esta fotografia" -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 imagens por página" +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "Corte de retângulo dinâmico entre as orientações de retrato e paisagem" -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 imagens por página" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Sem restrições" -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 imagens por página" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Quadrado" -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 imagens por página" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Ecrã" -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 imagens por página" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#: ../src/Printing.vala:348 -msgid "in." -msgstr "pol" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "SD Vídeo (4 : 3)" -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "HD Vídeo (16 : 9)" -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 msgid "Wallet (2 x 3 in.)" msgstr "Carteira (2 x 3 pol.)" -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 msgid "Notecard (3 x 5 in.)" msgstr "Cartão de visita (3 x 5 pol.)" -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 msgid "4 x 6 in." msgstr "4 x 6 pol." -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 msgid "5 x 7 in." msgstr "5 x 7 pol." -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 msgid "8 x 10 in." msgstr "8 x 10 pol." -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Carta (8.5 x 11 pol.)" + +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 msgid "11 x 14 in." msgstr "11 x 14 pol." -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloide (11 x 17 pol.)" + +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 msgid "16 x 20 in." msgstr "16 x 20 pol." -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 msgid "Metric Wallet (9 x 13 cm)" msgstr "Carteira métrica (9 x 13 cm)" -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 msgid "Postcard (10 x 15 cm)" msgstr "Postal (10 x 15 cm)" -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 msgid "13 x 18 cm" msgstr "13 x 18 cm" -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 msgid "18 x 24 cm" msgstr "18 x 24 cm" -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 x 297 mm)" + +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 msgid "20 x 30 cm" msgstr "20 x 30 cm" -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 msgid "24 x 40 cm" msgstr "24 x 40 cm" -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 msgid "30 x 40 cm" msgstr "30 x 40 cm" -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Definições da imagem" - -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "A imprimir..." - -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 -#, c-format -msgid "" -"Unable to print photo:\n" -"\n" -"%s" -msgstr "" -"Impossível imprimir a fotografia: \n" -"\n" -"%s" - -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Hoje" - -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Ontem" - -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:312 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" - -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Itens:" - -#: ../src/Properties.vala:346 -#, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d evento" -msgstr[1] "%d eventos" - -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 -#, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "%d fotografias" -msgstr[1] "%d fotografias" - -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 -#, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d vídeo" -msgstr[1] "%d vídeos" - -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Data:" - -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Hora:" - -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "De:" - -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "Para:" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297 x 420 mm)" -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1872 +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 msgid "Size:" msgstr "Tamanho:" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Duração:" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Fechar ferramenta de olhos vermelhos" -#: ../src/Properties.vala:404 -#, c-format -msgid "%.1f seconds" -msgstr "%.1f segundos" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Remove qualquer efeito de olhos vermelhos na região selecionada" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Editor:" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_Repor" #. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2240 +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 msgid "Exposure:" msgstr "Exposição:" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Localização:" - -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Tamanho:" - -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Desenvolvimento:" - -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Dimensões originais:" - -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Marca:" - -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Modelo:" - -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Flash:" - -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Distância focal:" - -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Data de exposição:" - -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Hora de exposição:" - -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Exposição:" - -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "Latitude GPS:" - -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "Longitude GPS:" - -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Artista:" - -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Direitos de autor:" - -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Aplicação:" - -#: ../src/Properties.vala:641 -msgid "Extended Information" -msgstr "Informações detalhadas" - -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Gestor de fotografias" - -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Visualizador de fotografias" - -#: ../src/Resources.vala:144 -msgid "Rotate _Right" -msgstr "Rodar à _Direita" - -#: ../src/Resources.vala:145 ../src/Resources.vala:150 -msgid "Rotate" -msgstr "Rodar" - -#: ../src/Resources.vala:146 -msgid "Rotate Right" -msgstr "Rodar à direita" - -#: ../src/Resources.vala:147 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "Rodar as fotografias à direita (prima Ctrl para rodar à esquerda)" - -#: ../src/Resources.vala:149 -msgid "Rotate _Left" -msgstr "Rodar à _Esquerda" - -#: ../src/Resources.vala:151 -msgid "Rotate Left" -msgstr "Rodar à esquerda" - -#: ../src/Resources.vala:152 -msgid "Rotate the photos left" -msgstr "Rodar as fotografias à esquerda" - -#: ../src/Resources.vala:154 -msgid "Flip Hori_zontally" -msgstr "Inverter hori_Zontalmente" - -#: ../src/Resources.vala:155 -msgid "Flip Horizontally" -msgstr "Inverter horizontalmente" - -#: ../src/Resources.vala:157 -msgid "Flip Verti_cally" -msgstr "Inverter verti_Calmente" - -#: ../src/Resources.vala:158 -msgid "Flip Vertically" -msgstr "Inverter verticalmente" - -#: ../src/Resources.vala:160 -msgid "_About" -msgstr "_Sobre" - -#: ../src/Resources.vala:161 -msgid "_Apply" -msgstr "_Aplicar" - -#: ../src/Resources.vala:164 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:339 -msgid "_Edit" -msgstr "_Editar" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Saturação:" -#: ../src/Resources.vala:165 -msgid "_Forward" -msgstr "_Avançar" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Tom:" -#: ../src/Resources.vala:166 -msgid "Fulls_creen" -msgstr "Ecrã _Completo" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Temperatura:" -#: ../src/Resources.vala:167 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:363 -msgid "_Help" -msgstr "A_Juda" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Sombras:" -#: ../src/Resources.vala:168 -msgid "Leave _Fullscreen" -msgstr "Sair de _Ecrã completo" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Destaques:" -#: ../src/Resources.vala:169 ../src/Resources.vala:371 -msgid "_New" -msgstr "_Novo" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Repor cores" -#: ../src/Resources.vala:170 -msgid "_Next" -msgstr "Segui_Nte" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Repor todas as cores originais" -#: ../src/Resources.vala:171 -msgid "_OK" -msgstr "_Aceitar" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Temperatura" -#: ../src/Resources.vala:172 -msgid "_Play" -msgstr "Re_Produzir" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Tom" -#: ../src/Resources.vala:173 ../src/Resources.vala:325 -msgid "_Preferences" -msgstr "_Preferências" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Saturação" -#: ../src/Resources.vala:174 -msgid "_Previous" -msgstr "_Anterior" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Exposição" -#: ../src/Resources.vala:175 -msgid "_Print" -msgstr "_Imprimir" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Sombras" -#: ../src/Resources.vala:176 -msgid "_Quit" -msgstr "_Sair" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Destaques" -#: ../src/Resources.vala:177 -msgid "_Refresh" -msgstr "Atualiza_R" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Expansão de contraste" -#: ../src/Resources.vala:179 -msgid "_Revert" -msgstr "_Reverter" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Ângulo:" -#: ../src/Resources.vala:180 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save" -msgstr "_Gravar" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "E_ndireitar" -#: ../src/Resources.vala:181 -msgid "Save _As" -msgstr "Gravar _Como" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "Eventos" -#: ../src/Resources.vala:182 -msgid "Sort _Ascending" -msgstr "Ordem _Ascendente" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d fotografia/vídeo" +msgstr[1] "%d fotografias/vídeos" -#: ../src/Resources.vala:183 -msgid "Sort _Descending" -msgstr "Ordem _Descendente" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d vídeo" +msgstr[1] "%d vídeos" -#: ../src/Resources.vala:184 -msgid "_Stop" -msgstr "_Parar" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "%d fotografias" +msgstr[1] "%d fotografias" -#: ../src/Resources.vala:185 -msgid "_Undelete" -msgstr "Rec_Uperar" +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "Sem evento" -#: ../src/Resources.vala:186 -msgid "_Normal Size" -msgstr "Tamanho _Normal" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "_Comentários" -#: ../src/Resources.vala:187 -msgid "Best _Fit" -msgstr "_Melhor ajuste" +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Mostrar comentário de cada evento" -#: ../src/Resources.vala:191 -msgid "_Enhance" -msgstr "M_Elhorar" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "Sem eventos" -#: ../src/Resources.vala:192 -msgid "Enhance" -msgstr "Melhorar" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "Nenhum evento encontrado" -#: ../src/Resources.vala:193 -msgid "Automatically improve the photo's appearance" -msgstr "Melhorar automaticamente o aspeto da fotografia" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Todos os eventos" -#: ../src/Resources.vala:195 -msgid "_Copy Color Adjustments" -msgstr "_Copiar ajustes de cor" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Sem data" -#: ../src/Resources.vala:196 -msgid "Copy Color Adjustments" -msgstr "Copiar ajustes de cor" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:197 -msgid "Copy the color adjustments applied to the photo" -msgstr "Copiar ajustes de cor efetuados na fotografia" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Resources.vala:199 -msgid "_Paste Color Adjustments" -msgstr "Co_Lar ajustes de cor" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Evento %s" -#: ../src/Resources.vala:200 -msgid "Paste Color Adjustments" -msgstr "Colar ajustes de cor" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "Impossível criar o ficheiro temporário para %s: %s" -#: ../src/Resources.vala:201 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Aplicar ajustes de cor copiados nas fotografias selecionadas" +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "A exportar" -#: ../src/Resources.vala:203 -msgid "_Crop" -msgstr "_Cortar" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "%s já existe. Substituir?" -#: ../src/Resources.vala:204 -msgid "Crop" -msgstr "Cortar" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "_Ignorar" -#: ../src/Resources.vala:205 -msgid "Crop the photo's size" -msgstr "Cortar tamanho da fotografia" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "_Substituir" -#: ../src/Resources.vala:207 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "E_Ndireitar" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "Substituir _tudo" -#: ../src/Resources.vala:208 -msgid "Straighten" -msgstr "Endireitar" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "Exportar" -#: ../src/Resources.vala:209 -msgid "Straighten the photo" -msgstr "Endireitar a fotografia" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Pastas" -#: ../src/Resources.vala:211 -msgid "_Red-eye" -msgstr "_Olhos vermelhos" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "Galeria" -#: ../src/Resources.vala:212 -msgid "Red-eye" -msgstr "Olhos vermelhos" +#: src/library/Branch.vala:97 src/SearchFilter.vala:593 +#: src/SearchFilter.vala:594 +msgid "Photos" +msgstr "Fotografias" -#: ../src/Resources.vala:213 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Reduz ou elimina qualquer efeito de olhos vermelhos" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:587 +#: src/SearchFilter.vala:588 src/SearchFilter.vala:987 +msgid "Flagged" +msgstr "Marcada" -#: ../src/Resources.vala:215 -msgid "_Adjust" -msgstr "_Ajustar" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "A importar..." -#: ../src/Resources.vala:216 -msgid "Adjust" -msgstr "Ajustar" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "Pa_rar importação" -#: ../src/Resources.vala:217 -msgid "Adjust the photo's color and tone" -msgstr "Ajustar cor e tom das fotografias" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Parar importação de fotografias" -#: ../src/Resources.vala:219 -msgid "Re_vert to Original" -msgstr "_Reverter para o original" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "A preparar importação..." -#: ../src/Resources.vala:220 -msgid "Revert to Original" -msgstr "Reverter para o original" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "Importado %s" -#: ../src/Resources.vala:222 -msgid "Revert External E_dits" -msgstr "Reverter e_Dição externa" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Última importação" -#: ../src/Resources.vala:223 -msgid "Revert to the master photo" -msgstr "Reverter para a fotografia principal" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "_Importar da pasta..." -#: ../src/Resources.vala:225 -msgid "Set as _Desktop Background" -msgstr "_Definir como fundo da área de trabalho" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Importar fotografias do disco para a galeria" -#: ../src/Resources.vala:226 -msgid "Set selected image to be the new desktop background" -msgstr "Definir a imagem selecionada como fundo da área de trabalho" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Importar da _aplicação..." -#: ../src/Resources.vala:227 -msgid "Set as _Desktop Slideshow..." -msgstr "_Definir como diaporama da área de trabalho..." +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "Organizar _eventos" -#: ../src/Resources.vala:229 -msgid "_Undo" -msgstr "_Desfazer" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "Esvazia_r lixo" -#: ../src/Resources.vala:230 -msgid "Undo" -msgstr "Desfazer" +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Eliminar todas as fotografias no lixo" -#: ../src/Resources.vala:232 -msgid "_Redo" -msgstr "_Refazer" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "_Ver evento da fotografia" -#: ../src/Resources.vala:233 -msgid "Redo" -msgstr "Refazer" +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Procurar" -#: ../src/Resources.vala:235 -msgid "Re_name Event..." -msgstr "Re_Nomear evento..." +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Procurar fotografias e vídeos por critérios de procura" -#: ../src/Resources.vala:238 -msgid "Make _Key Photo for Event" -msgstr "_Criar fotografias-chave para evento" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "No_va pesquisa gravada..." -#: ../src/Resources.vala:239 -msgid "Make Key Photo for Event" -msgstr "Criar fotografias-chave para evento" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "F_otografias" -#: ../src/Resources.vala:241 -msgid "_New Event" -msgstr "_Novo evento" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "Even_tos" -#: ../src/Resources.vala:242 -msgid "New Event" -msgstr "Novo evento" +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "Eti_quetas" -#: ../src/Resources.vala:244 -msgid "Move Photos" -msgstr "Mover fotografias" +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "Informações _básicas" -#: ../src/Resources.vala:245 -msgid "Move photos to an event" -msgstr "Mover fotografias para um evento" +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Mostrar informações básicas para a seleção" -#: ../src/Resources.vala:247 -msgid "_Merge Events" -msgstr "_Unir eventos" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "Informações detal_hadas" -#: ../src/Resources.vala:248 -msgid "Merge" -msgstr "Unir" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Mostrar informações detalhadas para a seleção" -#: ../src/Resources.vala:249 -msgid "Combine events into a single event" -msgstr "Combinar vários eventos num único" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "_Barra de procura" -#: ../src/Resources.vala:251 -msgid "_Set Rating" -msgstr "_Classificar" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Mostrar barra de procura" -#: ../src/Resources.vala:252 -msgid "Set Rating" -msgstr "Classificar" +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "Barra _lateral" -#: ../src/Resources.vala:253 -msgid "Change the rating of your photo" -msgstr "Alterar classificação da fotografia" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Mostrar barra lateral" -#: ../src/Resources.vala:255 -msgid "_Increase" -msgstr "_Aumentar" +#: src/library/LibraryWindow.vala:405 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "_Ascendente" -#: ../src/Resources.vala:256 -msgid "Increase Rating" -msgstr "Aumentar classificação" +#: src/library/LibraryWindow.vala:406 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Organizar fotografias por ordem ascendente" -#: ../src/Resources.vala:258 -msgid "_Decrease" -msgstr "_Diminuir" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "D_escendente" -#: ../src/Resources.vala:259 -msgid "Decrease Rating" -msgstr "Diminuir classificação" +#: src/library/LibraryWindow.vala:413 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Organizar fotografias por ordem descendente" -#: ../src/Resources.vala:261 -msgid "_Unrated" -msgstr "_Sem classificação" +#: src/library/LibraryWindow.vala:651 +msgid "Import From Folder" +msgstr "Importar da pasta" -#: ../src/Resources.vala:262 -msgid "Unrated" -msgstr "Sem classificação" +#: src/library/LibraryWindow.vala:720 +msgid "Empty Trash" +msgstr "Esvaziar lixo" -#: ../src/Resources.vala:263 -msgid "Rate Unrated" -msgstr "Classificar sem classificação" +#: src/library/LibraryWindow.vala:720 +msgid "Emptying Trash..." +msgstr "A esvaziar lixo..." -#: ../src/Resources.vala:264 -msgid "Setting as unrated" -msgstr "Definir como não classificada" +#: src/library/LibraryWindow.vala:879 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"O Shotwell está configurado para importar fotografias para a sua pasta " +"home.\n" +"Recomendamos mudar isto em Editar %s Preferências.\n" +"Quer continuar a importar as fotografias?" -#: ../src/Resources.vala:265 -msgid "Remove any ratings" -msgstr "Remover classificação" +#: src/library/LibraryWindow.vala:882 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "Localização da galeria" -#: ../src/Resources.vala:267 -msgid "_Rejected" -msgstr "_Rejeitada" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:895 +msgid "Photos cannot be imported from this directory." +msgstr "As fotografias nesta pasta não podem ser importadas." -#: ../src/Resources.vala:268 -msgid "Rejected" -msgstr "Rejeitada" +#: src/library/LibraryWindow.vala:1181 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:269 -msgid "Rate Rejected" -msgstr "Classificação rejeitada" +#: src/library/LibraryWindow.vala:1225 src/library/LibraryWindow.vala:1236 +msgid "Updating library..." +msgstr "A atualizar galeria..." -#: ../src/Resources.vala:270 -msgid "Setting as rejected" -msgstr "Definir como rejeitada" +#: src/library/LibraryWindow.vala:1242 +msgid "Preparing to auto-import photos..." +msgstr "A preparar importação de fotografias..." -#: ../src/Resources.vala:271 -msgid "Set rating to rejected" -msgstr "Definir classificação como rejeitada" +#: src/library/LibraryWindow.vala:1247 +msgid "Auto-importing photos..." +msgstr "A importar fotografias..." -#: ../src/Resources.vala:273 -msgid "Rejected _Only" -msgstr "_Só rejeitadas" +#: src/library/LibraryWindow.vala:1255 +msgid "Writing metadata to files..." +msgstr "A escrever metadados nos ficheiros..." -#: ../src/Resources.vala:274 -msgid "Rejected Only" -msgstr "Só rejeitadas" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Ficheiros em falta" -#: ../src/Resources.vala:275 -msgid "Show only rejected photos" -msgstr "Mostrar só as fotografias rejeitadas" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "A eliminar..." -#: ../src/Resources.vala:277 -msgid "All + _Rejected" -msgstr "Tudo + _Rejeitadas" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Lixo" -#: ../src/Resources.vala:278 ../src/Resources.vala:279 -msgid "Show all photos, including rejected" -msgstr "Mostrar todas as fotografias, inclusive as rejeitadas" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "O lixo está vazio" -#: ../src/Resources.vala:281 -msgid "_All Photos" -msgstr "Todas as _Fotografias" +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Eliminar" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:283 ../src/Resources.vala:285 -msgid "Show all photos" -msgstr "Mostrar todas as fotografias" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "A eliminar fotografias" -#: ../src/Resources.vala:287 -msgid "_Ratings" -msgstr "_Classificações" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"A sua galeria não é compatível com esta versão do Shotwell. Parece ter sido " +"criada pelo Shotwell %s (esquema %d). Esta é a versão %s (esquema %d). Por " +"favor use a última versão do Shotwell." -#: ../src/Resources.vala:288 -msgid "Display each photo's rating" -msgstr "Mostrar classificações de cada fotografias" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"O Shotwell não conseguiu atualizar a sua galeria de fotografias da versão %s " +"(esquema %d) para a versão %s (esquema %d). Para mais informações, consulte " +"a Wiki do Shotwell em %s." -#: ../src/Resources.vala:290 -msgid "_Filter Photos" -msgstr "_Filtrar fotografias" +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"A sua galeria de fotografias não é compatível com esta versão do Shotwell. " +"Parece ter sido criada pelo Shotwell %s (esquema %d). Esta é a versão %s " +"(esquema %d). Por favor apague a galeria existente em %s e faça uma nova " +"importação." -#: ../src/Resources.vala:291 -msgid "Filter Photos" -msgstr "Filtrar fotografias" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "Erro desconhecido ao tentar verificar a base de dados do Shotwell: %s" -#: ../src/Resources.vala:292 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Limitar número de fotografias mostradas com base num filtro" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "A carregar o Shotwell" -#: ../src/Resources.vala:294 -msgid "_Duplicate" -msgstr "_Duplicar" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Caminhos dos dados privados do Shotwell" -#: ../src/Resources.vala:295 -msgid "Duplicate" -msgstr "Duplicar" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "PASTA" -#: ../src/Resources.vala:296 -msgid "Make a duplicate of the photo" -msgstr "Criar um duplicado da fotografia" +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "Não monitorizar as alterações da galeria (ao iniciar)" -#: ../src/Resources.vala:298 -msgid "_Export..." -msgstr "_Exportar..." +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "Não mostrar medidor de evolução de arranque" -#: ../src/Resources.vala:300 -msgid "_Print..." -msgstr "_Imprimir..." +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "Mostrar versão da aplicação" -#: ../src/Resources.vala:302 -msgid "Pu_blish..." -msgstr "Pu_Blicar..." +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[FICHEIRO]" -#: ../src/Resources.vala:304 -msgid "Publish to various websites" -msgstr "Publicar para vários sítios web" +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Execute \"%s --help\" para ver a lista completa das opções de linha de " +"comandos\n" -#: ../src/Resources.vala:306 -msgid "Edit _Title..." -msgstr "Editar _Título..." +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "Impossível monitorizar as atualizações: %s" -#: ../src/Resources.vala:310 -msgid "Edit _Comment..." -msgstr "Editar _Comentário..." +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Ajustar tamanho das miniaturas" -#. Button label -#: ../src/Resources.vala:312 -msgid "Edit Comment" -msgstr "Editar comentário" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Aumentar tamanho das miniaturas" -#: ../src/Resources.vala:314 -msgid "Edit Event _Comment..." -msgstr "Editar _Comentário do evento..." +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Diminuir tamanho das miniaturas" -#: ../src/Resources.vala:317 -msgid "_Adjust Date and Time..." -msgstr "_Ajustar data e hora..." +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "_Organizar fotografias" -#: ../src/Resources.vala:318 -msgid "Adjust Date and Time" -msgstr "Ajustar data e hora" +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "Reprodu_zir vídeos" -#: ../src/Resources.vala:320 -msgid "Add _Tags..." -msgstr "_Adicionar etiquetas..." +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "Abrir o vídeo selecionado no reprodutor de vídeos do sistema" -#: ../src/Resources.vala:321 -msgid "_Add Tags..." -msgstr "_Adicionar etiquetas..." +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Editor" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:323 ../src/Resources.vala:356 -msgid "Add Tags" -msgstr "Adicionar etiquetas" +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Mostrar comentário de todas as fotografias" -#: ../src/Resources.vala:327 -msgid "Open With E_xternal Editor" -msgstr "Abrir com editor e_Xterno" +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Mostrar etiquetas de cada fotografias" -#: ../src/Resources.vala:329 -msgid "Open With RA_W Editor" -msgstr "Abrir com editor RA_W" +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Por _título" -#: ../src/Resources.vala:331 -msgid "Send _To..." -msgstr "_Enviar para..." +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Organizar fotografias por título" -#: ../src/Resources.vala:332 -msgid "Send T_o..." -msgstr "En_Viar para..." +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "Por _data de exposição" -#: ../src/Resources.vala:334 -msgid "_Find..." -msgstr "_Localizar..." +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Organizar fotografias por data de exposição" -#: ../src/Resources.vala:335 -msgid "Find" -msgstr "Localizar" +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Por _classificação" -#: ../src/Resources.vala:336 -msgid "Find an image by typing text that appears in its name or tags" -msgstr "Localizar imagem com base no texto do nome ou etiqueta" +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Organizar fotografias por classificação" -#: ../src/Resources.vala:338 -msgid "_Flag" -msgstr "Mar_Car" +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Por nome do _ficheiro" -#: ../src/Resources.vala:340 -msgid "Un_flag" -msgstr "De_Smarcar" +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Ordenar fotografias por nome do ficheiro" -#: ../src/Resources.vala:343 +#: src/MediaPage.vala:723 #, c-format -msgid "Unable to launch editor: %s" -msgstr "Impossível iniciar o editor: %s" +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" +"O Shotwell não conseguiu reproduzir o vídeo selecionado:\n" +"%s" -#: ../src/Resources.vala:348 -#, c-format -msgid "Add Tag \"%s\"" -msgstr "Adicionar etiqueta \"%s\"" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "Sem fotografias/vídeos" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:351 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Adicionar etiquetas \"%s\" e \"%s\"" +#: src/Page.vala:1270 +msgid "No photos/videos found" +msgstr "Nenhum(a) vídeo/fotografia encontrado(a)" -#: ../src/Resources.vala:361 -#, c-format -msgid "_Delete Tag \"%s\"" -msgstr "_Eliminar etiqueta \"%s\"" +#: src/Page.vala:2568 +msgid "Photos cannot be exported to this directory." +msgstr "As fotografias não podem ser exportadas para esta pasta." -#: ../src/Resources.vala:365 -#, c-format -msgid "Delete Tag \"%s\"" -msgstr "Eliminar etiqueta \"%s\"" +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Fotografia anterior" -#: ../src/Resources.vala:368 -msgid "Delete Tag" -msgstr "Eliminar etiqueta" +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Fotografia seguinte" -#: ../src/Resources.vala:374 +#: src/PhotoPage.vala:1845 #, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Re_Nomear etiqueta \"%s\"..." +msgid "Photo source file missing: %s" +msgstr "Falta o ficheiro fonte da fotografia: %s" -#: ../src/Resources.vala:378 +#: src/PhotoPage.vala:3229 #, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Renomear etiqueta \"%s\" para \"%s\"" - -#: ../src/Resources.vala:381 -msgid "_Rename..." -msgstr "_Renomear..." +msgid "Unable to export %s: %s" +msgstr "Impossível exportar %s: %s" -#: ../src/Resources.vala:383 -msgid "Modif_y Tags..." -msgstr "_Modificar etiquetas..." +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:384 -msgid "Modify Tags" -msgstr "Modificar etiquetas" +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:387 +#: src/photos/JfifSupport.vala:185 #, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Identificar fotografia como \"%s\"" +msgid "Low (%d%%)" +msgstr "Baixa (%d%%)" -#: ../src/Resources.vala:387 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Identificar fotografias como \"%s\"" +msgid "Medium (%d%%)" +msgstr "Média (%d%%)" -#: ../src/Resources.vala:391 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Identificar fotografia selecionada como \"%s\"" +msgid "High (%d%%)" +msgstr "Alta (%d%%)" -#: ../src/Resources.vala:392 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Identificar fotografias selecionadas como \"%s\"" +msgid "Maximum (%d%%)" +msgstr "Máxima (%d%%)" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Remover da fotografia a etiq_Ueta \"%s\"" +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Remover das fotografias a etiq_Ueta \"%s\"" +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:401 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Remover da fotografia a etiqueta \"%s\"" +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:402 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Remover das fotografias a etiqueta \"%s\"" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "modificado" -#: ../src/Resources.vala:406 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "Não pode renomear para \"%s\" pois esse nome já existe." +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Preencher a página" -#: ../src/Resources.vala:410 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "Não pode renomear para \"%s\" pois esse nome já existe." +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 imagens por página" -#: ../src/Resources.vala:413 -msgid "Saved Search" -msgstr "Procura gravada" +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 imagens por página" -#: ../src/Resources.vala:415 -msgid "Delete Search" -msgstr "Eliminar procura" +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 imagens por página" -#: ../src/Resources.vala:418 -msgid "_Edit..." -msgstr "_Editar..." +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 imagens por página" -#: ../src/Resources.vala:419 -msgid "Re_name..." -msgstr "Re_Nomear..." +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 imagens por página" -#: ../src/Resources.vala:422 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Renomear procura \"%s\" para \"%s\"" +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 imagens por página" -#: ../src/Resources.vala:426 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "Eliminar procura \"%s\"" +#: src/Printing.vala:348 +msgid "in." +msgstr "pol" -#: ../src/Resources.vala:584 -#, c-format -msgid "Rate %s" -msgstr "Classificar %s" +#: src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:585 -#, c-format -msgid "Set rating to %s" -msgstr "Classificar em %s" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "Definições da imagem" -#: ../src/Resources.vala:586 -#, c-format -msgid "Setting rating to %s" -msgstr "A classificar em %s" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "A imprimir..." -#: ../src/Resources.vala:588 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Display %s" -msgstr "Mostrar %s" +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"Impossível imprimir a fotografia: \n" +"\n" +"%s" -#: ../src/Resources.vala:589 -#, c-format -msgid "Only show photos with a rating of %s" -msgstr "Mostrar apenas as fotografias com classificação de %s" +#: src/Properties.vala:84 +msgid "Today" +msgstr "Hoje" -#: ../src/Resources.vala:590 -#, c-format -msgid "%s or Better" -msgstr "%s ou mais" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "Ontem" -#: ../src/Resources.vala:591 -#, c-format -msgid "Display %s or Better" -msgstr "Mostrar %s ou mais" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "Itens:" -#: ../src/Resources.vala:592 +#: src/Properties.vala:346 #, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Mostra apenas as fotografias com classificação de %s ou mais" - -#: ../src/Resources.vala:683 -msgid "Remove the selected photos from the trash" -msgstr "Remover do lixo as fotografias selecionadas" +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d evento" +msgstr[1] "%d eventos" -#: ../src/Resources.vala:684 -msgid "Remove the selected photos from the library" -msgstr "Remover da galeria as fotografias selecionadas" +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "Data:" -#: ../src/Resources.vala:686 -msgid "_Restore" -msgstr "_Restaurar" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "Hora:" -#: ../src/Resources.vala:687 -msgid "Move the selected photos back into the library" -msgstr "Mover para a galeria as fotografias selecionadas" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "De:" -#: ../src/Resources.vala:689 -msgid "Show in File Mana_ger" -msgstr "Mostrar no _Gestor de ficheiros" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "Para:" -#: ../src/Resources.vala:690 -msgid "Open the selected photo's directory in the file manager" -msgstr "Abrir a pasta da fotografia selecionada no gestor de ficheiros" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "Duração:" -#: ../src/Resources.vala:693 +#: src/Properties.vala:404 #, c-format -msgid "Unable to open in file manager: %s" -msgstr "Impossível abrir no gestor de ficheiros: %s" +msgid "%.1f seconds" +msgstr "%.1f segundos" -#: ../src/Resources.vala:696 -msgid "R_emove From Library" -msgstr "R_Emover da galeria" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "Editor:" -#: ../src/Resources.vala:698 -msgid "_Move to Trash" -msgstr "_Mover para o lixo" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "Localização:" -#: ../src/Resources.vala:700 -msgid "Select _All" -msgstr "_Selecionar tudo" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "Tamanho:" -#: ../src/Resources.vala:701 -msgid "Select all items" -msgstr "Selecionar todos os itens" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "Desenvolvimento:" -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M %p" -msgstr "%-I:%M %p" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Dimensões originais:" -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:785 -msgid "%-I:%M:%S %p" -msgstr "%-I:%M:%S %p" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "Marca:" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:789 -msgid "%a %b %d, %Y" -msgstr "%A, %d de %b de %Y" +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "Modelo:" -#. / 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 -#. / 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 -#: ../src/Resources.vala:794 ../src/Resources.vala:804 -msgid "%a %b %d" -msgstr "%a, %b. %d" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "Flash:" -#. / 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 -#: ../src/Resources.vala:799 -msgid "%d, %Y" -msgstr "%d, %Y" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "Distância focal:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Diaporama" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Data de exposição:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Marcada" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Hora de exposição:" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Fotografias" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Exposição:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Vídeos" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "Latitude GPS:" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "Fotografias RAW" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "Longitude GPS:" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "Fotografias RAW" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "Artista:" + +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "Direitos de autor:" + +#: src/Properties.vala:624 +msgid "Software:" +msgstr "Aplicação:" + +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "Informações detalhadas" -#: ../src/SearchFilter.vala:934 -#, c-format -msgid "Error loading UI file %s: %s" -msgstr "Erro ao abrir o ficheiro %s: %s" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "A preparar envio..." -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Fechar" +#: src/publishing/PublishingPluginHost.vala:12 +#, c-format +msgid "Uploading %d of %d" +msgstr "A enviar %d de %d" -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Tipo" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "A publicação para %s não pode continuar pois ocorreu um erro:" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Classificação" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "Para tentar publicar noutro serviço, selecione-o no menu acima." -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Definições" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "" +"A(O)s fotografias/vídeos escolhida(o)s foram publicada(o)s com sucesso." -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Anterior" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "Os vídeos escolhidos foram publicados com sucesso." -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Ir para a fotografia anterior" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "As fotografias escolhidas foram publicadas com sucesso." -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Pausa" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "O vídeo escolhido foi publicado com sucesso." -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Pausar diaporama" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "A fotografias escolhida foi publicada com sucesso." -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Seguinte" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "A obter informações da conta..." -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Ir para a fotografia seguinte" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "A autenticar..." -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Alterar definições do diaporama" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Publicar fotografias" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Faltam os ficheiros fonte de todas as fotografias." +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Publicar fotografias _no:" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Reproduzir" +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Publicar vídeos" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Continuar diaporama" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Publicar vídeos _no" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "sem título" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Publicar fotografias e vídeos" -#. multiple videos -#: ../src/VideoSupport.vala:490 -msgid "Export Videos" -msgstr "Exportar vídeos" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Publicar fotografias e vídeos _no" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Câmaras" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "Impossível publicar" -#: ../src/camera/ImportPage.vala:459 +#: src/publishing/PublishingUI.vala:398 +#, c-format msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"Impossível desmontar a câmara. Tente desmontar a câmara com o gestor de " -"ficheiros." +"O Shotwell não consegue publicar os itens selecionados porque as extensões " +"de publicação não estão ativas. Para as ativar, escolha Editar " +"preferências de %s e ative uma ou mais extensões no separador " +"\"Extensões\"." -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:776 -msgid "Hide photos already imported" -msgstr "Ocultar fotografias já importadas" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Publicar" -#: ../src/camera/ImportPage.vala:777 -msgid "Only display photos that have not been imported" -msgstr "Mostrar apenas as fotografias que não foram importadas" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Rodar à _direita" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:847 -msgid "Starting import, please wait..." -msgstr "A iniciar importação, aguarde..." +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "Rodar" -#: ../src/camera/ImportPage.vala:886 -msgid "Import _Selected" -msgstr "Importar _Seleção" +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Rodar à direita" -#: ../src/camera/ImportPage.vala:887 -msgid "Import the selected photos into your library" -msgstr "Importar fotografias selecionadas para a galeria" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "Rodar as fotografias à direita (prima Ctrl para rodar à esquerda)" -#: ../src/camera/ImportPage.vala:892 -msgid "Import _All" -msgstr "Importar _Todas" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Rodar à _esquerda" -#: ../src/camera/ImportPage.vala:893 -msgid "Import all the photos into your library" -msgstr "Importar todas as fotografias para a galeria" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Rodar à esquerda" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1014 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Para aceder à câmara, o Shotwell tem que a desmontar do sistema de " -"ficheiros. Continuar?" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Rodar as fotografias à esquerda" -#: ../src/camera/ImportPage.vala:1020 -msgid "_Unmount" -msgstr "_Desmontar" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Inverter hori_zontalmente" -#: ../src/camera/ImportPage.vala:1025 -msgid "Please unmount the camera." -msgstr "Por favor desmonte a câmara." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Inverter horizontalmente" -#: ../src/camera/ImportPage.vala:1030 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"A câmara está bloqueada por outra aplicação. O Shotwell só pode aceder à " -"câmara se esta não estiver bloqueada. Por favor feche qualquer outra " -"aplicação que lhe esteja a aceder e tente novamente." +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Inverter verti_calmente" -#: ../src/camera/ImportPage.vala:1040 -msgid "Please close any other application using the camera." -msgstr "Por favor feche qualquer outra aplicação que esteja a usar a câmara." +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Inverter verticalmente" -#: ../src/camera/ImportPage.vala:1045 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"Impossível obter antevisões da câmara:\n" -"%s" +#: src/Resources.vala:155 +msgid "_About" +msgstr "_Sobre" -#: ../src/camera/ImportPage.vala:1062 -msgid "Unmounting..." -msgstr "A desmontar..." +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "_Aplicar" -#: ../src/camera/ImportPage.vala:1168 -msgid "Fetching photo information" -msgstr "A obter informações da fotografia" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "_Avançar" -#: ../src/camera/ImportPage.vala:1523 -#, c-format -msgid "Fetching preview for %s" -msgstr "A obter antevisão para %s" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "Ecrã _completo" -#: ../src/camera/ImportPage.vala:1639 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "Impossível bloquear a câmara: %s" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "Sair de _ecrã completo" -#: ../src/camera/ImportPage.vala:1724 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "Eliminar esta fotografia da câmara?" -msgstr[1] "Eliminar estas %d fotografias da câmara?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_Novo" -#: ../src/camera/ImportPage.vala:1727 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "Eliminar este vídeo da câmara?" -msgstr[1] "Eliminar estes %d vídeos da câmara?" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "Segui_nte" -#: ../src/camera/ImportPage.vala:1730 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "Eliminar esta fotografia/vídeo da câmara?" -msgstr[1] "Eliminar estas %d fotografias/vídeos da câmara?" +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_Aceitar" -#: ../src/camera/ImportPage.vala:1733 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "Eliminar este ficheiro da câmara?" -msgstr[1] "Eliminar estes %d ficheiros da câmara?" +#: src/Resources.vala:167 +msgid "_Play" +msgstr "Re_produzir" -#: ../src/camera/ImportPage.vala:1760 -msgid "Removing photos/videos from camera" -msgstr "A remover fotografias/vídeos na câmara" +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "_Preferências" -#: ../src/camera/ImportPage.vala:1764 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "Impossível eliminar %d fotografia/vídeo da câmara." -msgstr[1] "Impossível eliminar %d fotografias/vídeos da câmara." +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "_Anterior" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Importação de dados" +#: src/Resources.vala:170 +msgid "_Print" +msgstr "_Imprimir" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "Base de dados %s" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "_Sair" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "A importação de %s não pode continuar porque ocorreu um erro:" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "Atualiza_r" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "Para importar de outros serviços, escolha uma opção no menu acima." +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "_Reverter" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"Não possui qualquer extensão ativa para a importação de dados.\n" -"\n" -"Para poder usar a função Importar da aplicação tem que ter, pelo menos, uma " -"extensão de importação ativa. Estas podem ser ativadas no diálogo " -"Preferências." +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "Gravar _como" + +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "Ordem _ascendente" + +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "Ordem _descendente" + +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "_Parar" + +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "Rec_uperar" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Ficheiro da base de dados:" +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "Tamanho _normal" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:882 -msgid "_Import" -msgstr "_Importar" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "_Melhor ajuste" -#: ../src/data_imports/DataImportsUI.vala:220 -msgid "Import From Application" -msgstr "Importar da aplicação" +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "M_elhorar" -#: ../src/data_imports/DataImportsUI.vala:221 -msgid "Import media _from:" -msgstr "Importar _ficheiros de:" +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "Melhorar" -#: ../src/data_imports/DataImportsUI.vala:408 -#: ../src/publishing/PublishingUI.vala:507 -msgid "_Close" -msgstr "_Fechar" +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Melhorar automaticamente o aspeto da fotografia" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "Impossível abrir/criar a base de dados %s. Erro %d" +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "_Copiar ajustes de cor" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"Impossível escrever na base de dados:\n" -" %s" +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Copiar ajustes de cor" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"Erro ao aceder à base de dados:\n" -" %s\n" -"\n" -"Detalhe do erro: \n" -"%s" +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Copiar ajustes de cor efetuados na fotografia" -#: ../src/db/DatabaseTable.vala:81 -#, c-format -#| msgid "" -#| "Unable to write to photo database file:\n" -#| " %s" -msgid "Unable to restore photo database %s" -msgstr "Impossível restaurar a base de dados %s" +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "Co_lar ajustes de cor" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 -msgid "_File" -msgstr "_Ficheiro" +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Colar ajustes de cor" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Gravar fotografia" +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Aplicar ajustes de cor copiados nas fotografias selecionadas" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "Gravar _Como..." +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "_Cortar" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Gravar fotografias com um nome diferente" +#: src/Resources.vala:199 +msgid "Crop" +msgstr "Cortar" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Imprimir fotografias numa impressora ligada ao computador" +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Cortar tamanho da fotografia" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 -msgid "_Photo" -msgstr "F_Otografia" +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "Endireitar" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s não existe." +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Endireitar a fotografia" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s não é um ficheiro." +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "_Olhos vermelhos" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"%s não possui suporte ao formato de\n" -"%s." +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "Olhos vermelhos" -#: ../src/direct/DirectPhotoPage.vala:422 -msgid "_Save a Copy" -msgstr "_Gravar uma cópia" +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Reduz ou elimina qualquer efeito de olhos vermelhos" -#: ../src/direct/DirectPhotoPage.vala:425 -#, c-format -msgid "Lose changes to %s?" -msgstr "Ignorar alterações em %s?" +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Ajustar" -#: ../src/direct/DirectPhotoPage.vala:426 -msgid "Close _without Saving" -msgstr "Fechar s_Em gravar" +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "Ajustar" -#: ../src/direct/DirectPhotoPage.vala:459 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "Erro ao gravar em %s: %s" +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Ajustar cor e tom das fotografias" -#: ../src/direct/DirectPhotoPage.vala:487 -#: ../src/direct/DirectPhotoPage.vala:508 -msgid "Save As" -msgstr "Gravar como" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "_Reverter para o original" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Restaurar dimensões atuais da fotografias" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Reverter para o original" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Definir corte para esta fotografia" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Reverter e_dição externa" -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "Corte de retângulo dinâmico entre as orientações de retrato e paisagem" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Reverter para a fotografia principal" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Sem restrições" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "_Definir como fundo da área de trabalho" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Quadrado" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "Definir a imagem selecionada como fundo da área de trabalho" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Ecrã" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "_Definir como diaporama da área de trabalho..." -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "_Desfazer" -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "SD Vídeo (4 : 3)" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "Desfazer" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "HD Vídeo (16 : 9)" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "_Refazer" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Carta (8.5 x 11 pol.)" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "Refazer" -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloide (11 x 17 pol.)" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Re_nomear evento..." -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 x 297 mm)" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "_Criar fotografias-chave para evento" -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297 x 420 mm)" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Criar fotografias-chave para evento" -#: ../src/editing_tools/EditingTools.vala:1887 -msgid "Close the red-eye tool" -msgstr "Fechar ferramenta de olhos vermelhos" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "_Novo evento" -#: ../src/editing_tools/EditingTools.vala:1890 -msgid "Remove any red-eye effects in the selected region" -msgstr "Remove qualquer efeito de olhos vermelhos na região selecionada" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "Novo evento" -#: ../src/editing_tools/EditingTools.vala:2226 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_Repor" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "Mover fotografias" -#: ../src/editing_tools/EditingTools.vala:2248 -msgid "Saturation:" -msgstr "Saturação:" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Mover fotografias para um evento" -#: ../src/editing_tools/EditingTools.vala:2256 -msgid "Tint:" -msgstr "Tom:" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "_Unir eventos" -#: ../src/editing_tools/EditingTools.vala:2265 -msgid "Temperature:" -msgstr "Temperatura:" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "Unir" -#: ../src/editing_tools/EditingTools.vala:2273 -msgid "Shadows:" -msgstr "Sombras:" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Combinar vários eventos num único" -#: ../src/editing_tools/EditingTools.vala:2281 -msgid "Highlights:" -msgstr "Destaques:" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "_Classificar" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset Colors" -msgstr "Repor cores" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "Classificar" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset all color adjustments to original" -msgstr "Repor todas as cores originais" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Alterar classificação da fotografia" -#: ../src/editing_tools/EditingTools.vala:2687 -msgid "Temperature" -msgstr "Temperatura" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "_Aumentar" -#: ../src/editing_tools/EditingTools.vala:2700 -msgid "Tint" -msgstr "Tom" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Aumentar classificação" -#: ../src/editing_tools/EditingTools.vala:2713 -msgid "Saturation" -msgstr "Saturação" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "_Diminuir" -#: ../src/editing_tools/EditingTools.vala:2726 -msgid "Exposure" -msgstr "Exposição" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Diminuir classificação" -#: ../src/editing_tools/EditingTools.vala:2739 -msgid "Shadows" -msgstr "Sombras" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Sem classificação" -#: ../src/editing_tools/EditingTools.vala:2752 -msgid "Highlights" -msgstr "Destaques" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "Sem classificação" -#: ../src/editing_tools/EditingTools.vala:2762 -msgid "Contrast Expansion" -msgstr "Expansão de contraste" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Classificar sem classificação" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Ângulo:" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "Definir como não classificada" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Eventos" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Remover classificação" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d fotografia/vídeo" -msgstr[1] "%d fotografias/vídeos" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "_Rejeitada" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "Sem evento" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "Rejeitada" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Mostrar comentário de cada evento" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Classificação rejeitada" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "Sem eventos" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "Definir como rejeitada" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "Nenhum evento encontrado" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Definir classificação como rejeitada" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Todos os eventos" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "_Só rejeitadas" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Sem data" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Só rejeitadas" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Mostrar só as fotografias rejeitadas" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Tudo + _Rejeitadas" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Pastas" +#: src/Resources.vala:273 +#| msgid "Show all photos, including rejected" +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Mostrar todas as fotografias, inclusive as rejeitadas" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Galeria" +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "Todas as _fotografias" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "A importar..." +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "Mostrar todas as fotografias" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "Pa_Rar importação" +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "_Classificações" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Parar importação de fotografias" +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Mostrar classificações de cada fotografias" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "A preparar importação..." +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_Filtrar fotografias" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "Importado %s" +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Filtrar fotografias" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Última importação" +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Limitar número de fotografias mostradas com base num filtro" -#: ../src/library/LibraryWindow.vala:285 -msgid "_Import From Folder..." -msgstr "_Importar da pasta..." +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "_Duplicar" -#: ../src/library/LibraryWindow.vala:286 -msgid "Import photos from disk to library" -msgstr "Importar fotografias do disco para a galeria" +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "Duplicar" -#: ../src/library/LibraryWindow.vala:293 -msgid "Import From _Application..." -msgstr "Importar da _Aplicação..." +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Criar um duplicado da fotografia" -#: ../src/library/LibraryWindow.vala:297 -msgid "Sort _Events" -msgstr "Organizar _Eventos" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "_Exportar..." -#: ../src/library/LibraryWindow.vala:307 -msgid "Empty T_rash" -msgstr "Esvazia_R lixo" +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "_Imprimir..." -#: ../src/library/LibraryWindow.vala:308 -msgid "Delete all photos in the trash" -msgstr "Eliminar todas as fotografias no lixo" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "Pu_blicar..." -#: ../src/library/LibraryWindow.vala:313 -msgid "View Eve_nt for Photo" -msgstr "_Ver evento da fotografia" +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Publicar para vários sítios web" -#: ../src/library/LibraryWindow.vala:317 -msgid "_Find" -msgstr "_Procurar" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "Editar _título..." -#: ../src/library/LibraryWindow.vala:318 -msgid "Find photos and videos by search criteria" -msgstr "Procurar fotografias e vídeos por critérios de procura" +#. Button label +#: src/Resources.vala:300 +#| msgid "Edit Title" +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Editar título" -#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "No_Va pesquisa gravada..." +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "Editar _comentário..." -#: ../src/library/LibraryWindow.vala:351 -msgid "_Photos" -msgstr "F_Otografias" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Editar comentário" -#: ../src/library/LibraryWindow.vala:355 -msgid "Even_ts" -msgstr "Even_Tos" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "Editar _comentário do evento..." -#: ../src/library/LibraryWindow.vala:374 -msgid "_Basic Information" -msgstr "Informações _Básicas" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "_Ajustar data e hora..." -#: ../src/library/LibraryWindow.vala:375 -msgid "Display basic information for the selection" -msgstr "Mostrar informações básicas para a seleção" +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Ajustar data e hora" -#: ../src/library/LibraryWindow.vala:380 -msgid "E_xtended Information" -msgstr "Informações detal_Hadas" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "_Adicionar etiquetas..." -#: ../src/library/LibraryWindow.vala:381 -msgid "Display extended information for the selection" -msgstr "Mostrar informações detalhadas para a seleção" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "_Adicionar etiquetas..." -#: ../src/library/LibraryWindow.vala:386 -msgid "_Search Bar" -msgstr "_Barra de procura" +#. Dialog title +#: src/Resources.vala:315 +#| msgid "Add Tags" +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Adicionar etiquetas" -#: ../src/library/LibraryWindow.vala:387 -msgid "Display the search bar" -msgstr "Mostrar barra de procura" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "Abrir com editor e_xterno" -#: ../src/library/LibraryWindow.vala:392 -msgid "S_idebar" -msgstr "Barra _Lateral" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Abrir com editor RA_W" -#: ../src/library/LibraryWindow.vala:393 -msgid "Display the sidebar" -msgstr "Mostrar barra lateral" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "_Enviar para..." -#: ../src/library/LibraryWindow.vala:651 -msgid "Import From Folder" -msgstr "Importar da pasta" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "En_viar para..." -#: ../src/library/LibraryWindow.vala:720 -msgid "Empty Trash" -msgstr "Esvaziar lixo" +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "_Localizar..." -#: ../src/library/LibraryWindow.vala:720 -msgid "Emptying Trash..." -msgstr "A esvaziar lixo..." +#: src/Resources.vala:327 +msgid "Find" +msgstr "Localizar" -#: ../src/library/LibraryWindow.vala:879 -#, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" -msgstr "" -"O Shotwell está configurado para importar fotografias para a sua pasta " -"home.\n" -"Recomendamos mudar isto em Editar %s Preferências.\n" -"Quer continuar a importar as fotografias?" +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" +msgstr "Localizar imagem com base no texto do nome ou etiqueta" -#: ../src/library/LibraryWindow.vala:882 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Localização da galeria" +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "Mar_car" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:895 -msgid "Photos cannot be imported from this directory." -msgstr "As fotografias nesta pasta não podem ser importadas." +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "De_smarcar" -#: ../src/library/LibraryWindow.vala:1183 +#: src/Resources.vala:335 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "Unable to launch editor: %s" +msgstr "Impossível iniciar o editor: %s" -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 -msgid "Updating library..." -msgstr "A atualizar galeria..." +#: src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "Adicionar etiqueta \"%s\"" -#: ../src/library/LibraryWindow.vala:1244 -msgid "Preparing to auto-import photos..." -msgstr "A preparar importação de fotografias..." +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Adicionar etiquetas \"%s\" e \"%s\"" -#: ../src/library/LibraryWindow.vala:1249 -msgid "Auto-importing photos..." -msgstr "A importar fotografias..." +#: src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "_Eliminar etiqueta \"%s\"" -#: ../src/library/LibraryWindow.vala:1257 -msgid "Writing metadata to files..." -msgstr "A escrever metadados nos ficheiros..." +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Eliminar etiqueta \"%s\"" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Ficheiros em falta" +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Eliminar etiqueta" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "A eliminar..." +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Re_nomear etiqueta \"%s\"..." -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Lixo" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Renomear etiqueta \"%s\" para \"%s\"" -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "O lixo está vazio" +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Renomear..." -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Eliminar" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "_Modificar etiquetas..." -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "A eliminar fotografias" +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Modificar etiquetas" -#: ../src/main.vala:54 +#: src/Resources.vala:379 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"A sua galeria não é compatível com esta versão do Shotwell. Parece ter sido " -"criada pelo Shotwell %s (esquema %d). Esta é a versão %s (esquema %d). Por " -"favor use a última versão do Shotwell." +msgid "Tag Photo as \"%s\"" +msgstr "Identificar fotografia como \"%s\"" -#: ../src/main.vala:59 +#: src/Resources.vala:379 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"O Shotwell não conseguiu atualizar a sua galeria de fotografias da versão %s " -"(esquema %d) para a versão %s (esquema %d). Para mais informações, consulte " -"a Wiki do Shotwell em %s." +msgid "Tag Photos as \"%s\"" +msgstr "Identificar fotografias como \"%s\"" -#: ../src/main.vala:65 +#: src/Resources.vala:383 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"A sua galeria de fotografias não é compatível com esta versão do Shotwell. " -"Parece ter sido criada pelo Shotwell %s (esquema %d). Esta é a versão %s " -"(esquema %d). Por favor apague a galeria existente em %s e faça uma nova " -"importação." +msgid "Tag the selected photo as \"%s\"" +msgstr "Identificar fotografia selecionada como \"%s\"" -#: ../src/main.vala:71 +#: src/Resources.vala:384 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "Erro desconhecido ao tentar verificar a base de dados do Shotwell: %s" - -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "A carregar o Shotwell" - -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Caminhos dos dados privados do Shotwell" +msgid "Tag the selected photos as \"%s\"" +msgstr "Identificar fotografias selecionadas como \"%s\"" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "PASTA" +#: src/Resources.vala:388 +#, c-format +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Remover da fotografia a etiq_ueta \"%s\"" -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "Não monitorizar as alterações da galeria (ao iniciar)" +#: src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Remover das fotografias a etiq_ueta \"%s\"" -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "Não mostrar medidor de evolução de arranque" +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "Remover da fotografia a etiqueta \"%s\"" -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Mostrar versão da aplicação" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Remover das fotografias a etiqueta \"%s\"" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[FICHEIRO]" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "Não pode renomear para \"%s\" pois esse nome já existe." -#: ../src/main.vala:342 +#: src/Resources.vala:402 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" -msgstr "" -"Execute \"%s --help\" para ver a lista completa das opções de linha de " -"comandos\n" +msgid "Unable to rename search to \"%s\" because the search already exists." +msgstr "Não pode renomear para \"%s\" pois esse nome já existe." -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#: src/Resources.vala:405 +msgid "Saved Search" +msgstr "Procura gravada" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "Eliminar procura" -#: ../src/photos/JfifSupport.vala:185 -#, c-format -msgid "Low (%d%%)" -msgstr "Baixa (%d%%)" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Editar..." -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "Re_nomear..." + +#: src/Resources.vala:414 #, c-format -msgid "Medium (%d%%)" -msgstr "Média (%d%%)" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Renomear procura \"%s\" para \"%s\"" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:418 #, c-format -msgid "High (%d%%)" -msgstr "Alta (%d%%)" +msgid "Delete Search \"%s\"" +msgstr "Eliminar procura \"%s\"" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:576 #, c-format -msgid "Maximum (%d%%)" -msgstr "Máxima (%d%%)" +msgid "Rate %s" +msgstr "Classificar %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "Classificar em %s" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "A classificar em %s" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "Mostrar %s" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "Publicar" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Mostrar apenas as fotografias com classificação de %s" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "A preparar envio..." +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s ou mais" -#: ../src/publishing/PublishingPluginHost.vala:12 +#: src/Resources.vala:583 #, c-format -msgid "Uploading %d of %d" -msgstr "A enviar %d de %d" +msgid "Display %s or Better" +msgstr "Mostrar %s ou mais" -#: ../src/publishing/PublishingPluginHost.vala:81 +#: src/Resources.vala:584 #, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "A publicação para %s não pode continuar pois ocorreu um erro:" +msgid "Only show photos with a rating of %s or better" +msgstr "Mostra apenas as fotografias com classificação de %s ou mais" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "Para tentar publicar noutro serviço, selecione-o no menu acima." +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Remover do lixo as fotografias selecionadas" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "" -"A(O)s fotografias/vídeos escolhida(o)s foram publicada(o)s com sucesso." +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Remover da galeria as fotografias selecionadas" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "Os vídeos escolhidos foram publicados com sucesso." +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "_Restaurar" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "As fotografias escolhidas foram publicadas com sucesso." +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Mover para a galeria as fotografias selecionadas" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "O vídeo escolhido foi publicado com sucesso." +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Mostrar no _gestor de ficheiros" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "A fotografias escolhida foi publicada com sucesso." +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Abrir a pasta da fotografia selecionada no gestor de ficheiros" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "A obter informações da conta..." +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "Impossível abrir no gestor de ficheiros: %s" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "A autenticar..." +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "R_emover da galeria" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Photos" -msgstr "Publicar fotografias" +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "_Mover para o lixo" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish photos _to:" -msgstr "Publicar fotografias _No:" +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "_Selecionar tudo" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Videos" -msgstr "Publicar vídeos" +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "Selecionar todos os itens" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish videos _to" -msgstr "Publicar vídeos _No" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:772 +msgid "%-I:%M %p" +msgstr "%-I:%M %p" -#: ../src/publishing/PublishingUI.vala:194 -msgid "Publish Photos and Videos" -msgstr "Publicar fotografias e vídeos" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:777 +msgid "%-I:%M:%S %p" +msgstr "%-I:%M:%S %p" -#: ../src/publishing/PublishingUI.vala:195 -msgid "Publish photos and videos _to" -msgstr "Publicar fotografias e vídeos _No" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:781 +msgid "%a %b %d, %Y" +msgstr "%A, %d de %b de %Y" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:397 -msgid "Unable to publish" -msgstr "Impossível publicar" +#. / 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 +#. / 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 +#: src/Resources.vala:786 src/Resources.vala:796 +msgid "%a %b %d" +msgstr "%a, %b. %d" -#: ../src/publishing/PublishingUI.vala:398 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"O Shotwell não consegue publicar os itens selecionados porque as extensões " -"de publicação não estão ativas. Para as ativar, escolha Editar " -"preferências de %s e ative uma ou mais extensões no separador " -"\"Extensões\"." +#. / 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 +#: src/Resources.vala:791 +msgid "%d, %Y" +msgstr "%d, %Y" + +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Diaporama" -#: ../src/searches/Branch.vala:68 +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "Procuras gravadas" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "contém" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "exatamente" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "inicia com" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "termina com" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "não contém" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "não definida" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "definida" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "é" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "não é" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "qualquer fotografia" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "uma fotografia raw" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "um vídeo" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "tem" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "não tem" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "modificações" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "modificações internas" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "modificações externas" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "marcado" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "não marcado" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "e superior" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "apenas" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "e inferior" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "está depois" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "está antes" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "está entre" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "e" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "Procura" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "Cancelar" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "Aceitar" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "qualquer" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "todos" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "nenhum" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr "Qualquer texto" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "Título" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "Etiqueta" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "Comentário" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "Nome do evento" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "Nome do ficheiro" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "Tipo de suporte" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "Estado da marcação" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "Estado da fotografia" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:998 +msgid "Rating" +msgstr "Classificação" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Data" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:599 src/SearchFilter.vala:600 +msgid "Videos" +msgstr "Vídeos" + +#: src/SearchFilter.vala:605 +msgid "RAW Photos" +msgstr "Fotografias RAW" + +#: src/SearchFilter.vala:606 +msgid "RAW photos" +msgstr "Fotografias RAW" + +#: src/SearchFilter.vala:947 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "Erro ao abrir o ficheiro %s: %s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:958 +msgid "Close" +msgstr "Fechar" + +#. Type label and toggles +#: src/SearchFilter.vala:964 +msgid "Type" +msgstr "Tipo" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." -msgstr "Nova e_Tiqueta..." +msgstr "Nova e_tiqueta..." + +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Definições" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Anterior" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Ir para a fotografia anterior" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Pausa" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Pausar diaporama" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Seguinte" -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Ir para a fotografia seguinte" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Alterar definições do diaporama" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Faltam os ficheiros fonte de todas as fotografias." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Reproduzir" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Continuar diaporama" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "Transições do diaporama" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(nada)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "Nada" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "Aleatório" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "Etiquetas" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:817 +msgid "untitled" +msgstr "sem título" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Exportar vídeos" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "Definir como fundo da área de trabalho" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "Usar para área de trabalho" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "Usar para ecrã de bloqueio" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" msgstr "Definir como diaporama de área de trabalho" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "Mostrar cada fotografia durante" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "intervalo de tempo" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" msgstr "Gerar diaporama da área de trabalho" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "" "O tempo durante o qual a fotografia será mostrada como imagem da área de " "trabalho" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_Nome da procura:" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "_Coincide" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "com:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "Tamanho da imagem impressa" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" -msgstr "Usar um taman_Ho padrão:" +msgstr "Usar um taman_ho padrão:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "_Usar um tamanho personalizado:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "_Comparar proporção da fotografia" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "_Ajuste automático:" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "Títulos" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" -msgstr "Imprimir _Título da imagem" +msgstr "Imprimir _título da imagem" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "Resolução de pixel" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" msgstr "_Saída da fotografia em:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "pixels por polegada" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "etiqueta" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Preferências do Shotwell" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "branco" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "preto" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "_Vigiar alterações na pasta da galeria" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "Metadados" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" -msgstr "Escrever etiquetas, títulos e outros _Metadados nos ficheiros" +msgstr "Escrever etiquetas, títulos e outros _metadados nos ficheiros" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "Mostrar" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "_Importar fotografias para:" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "_Fundo:" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "A importar" -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" -msgstr "Estrutura _Da pasta:" +msgstr "Estrutura _da pasta:" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "_Padrão:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "Exemplo:" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" -msgstr "R_Enomear ficheiros importados para minúsculas" +msgstr "R_enomear ficheiros importados para minúsculas" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "Editor RAW" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" -msgstr "Prede_Finição:" +msgstr "Prede_finição:" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" -msgstr "Editor e_Xterno de fotografias:" +msgstr "Editor e_xterno de fotografias:" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "Editor _RAW externo:" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "Editores externos" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "Extensões" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" msgstr "_Atraso:" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" -msgstr "Efeito de _Transição:" +msgstr "Efeito de _transição:" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" -msgstr "Atra_So da transição:" +msgstr "Atra_so da transição:" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" -msgstr "Mostrar títu_Lo" +msgstr "Mostrar títu_lo" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "segundos" +#~ msgid "Copyright 2009-2015 Yorba Foundation" +#~ msgstr "Direitos de autor 2009-2015 Fundação Yorba" + +#~ msgid "Intro message replaced at runtime" +#~ msgstr "Mensagem de introdução substituída no arranque" + +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "" +#~ "\"A publicar para $url como $username\" (populado no código da aplicação)" + +#~ msgid "you are logged in rajce as $name" +#~ msgstr "está autenticado no rajce como $name" + +#~ msgid "$mediatype will appear in" +#~ msgstr "$mediatype aparecerão em" + #~ msgid "Visit the Yorba web site" #~ msgstr "Visite a página web da Yorba" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo new file mode 100644 index 0000000..68b15df Binary files /dev/null and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po index 634b9a2..446629f 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -11,15 +11,15 @@ # lsbeeler , 2011 # Translators from GNOME Translation Project (2014 forward): # Felipe Braga , 2015. -# Rafael Fontenelle , 2014, 2015, 2016. # Enrico Nicoletto , 2016. +# Rafael Fontenelle , 2014, 2015, 2016. msgid "" msgstr "" "Project-Id-Version: shotwell\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=shotwell&keywords=I18N+L10N&component=Internationalization\n" -"POT-Creation-Date: 2016-05-21 16:40+0000\n" -"PO-Revision-Date: 2016-05-30 17:22-0300\n" +"POT-Creation-Date: 2016-08-13 09:00+0000\n" +"PO-Revision-Date: 2016-08-14 18:56-0300\n" "Last-Translator: Enrico Nicoletto \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -30,1558 +30,3111 @@ msgstr "" "X-Generator: Poedit 1.8.7\n" "X-Project-Style: gnome\n" -#: ../plugins/common/RESTSupport.vala:425 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" -msgstr "Um arquivo temporário necessário para a publicação não está disponível" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" -#: ../plugins/common/RESTSupport.vala:1145 +#: misc/shotwell.appdata.xml.in:9 +msgid "Popular photo manager" +msgstr "Organizador popular de fotos" + +#: misc/shotwell.appdata.xml.in:11 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"Você já se conectou e desconectou de um serviço Google durante esta sessão " -"do Shotwell.\n" -"\n" -"Para continuar a publicação para serviços do Google, saia e reinicie o " -"Shotwell e, então, tente publicar novamente." - -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Visitar o página web do Shotwell" +"Shotwell é um organizador de fotos rápido e fácil de usar, projetado para o " +"ambiente GNOME. Ele permite que você importe fotos de sua câmera ou sue " +"disco, organize-os por data e assunto, e até mesmo avalie-as. Também oferece " +"edição básica de fotos, como corte, correção de olho vermelho, ajuste de cor " +"e correções. O editor de fotos não-destrutível do Shotwell não altera suas " +"fotos mestres, tornando mais fácil experimentar e corrigir erros." + +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." +msgstr "" +"Quando estiver pronto, Shotwell pode enviar suas fotos para vários sites, " +"tais como Facebook, Flickr, Picasa (Google Plus) e mais." -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:698 -msgid "translator-credits" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." msgstr "" -"Djavan Fagundes \n" -"Helder Ribeiro \n" -"Seth Schoen \n" -"Slackhideo \n" -"Allisson Azevedo \n" -"Samuel Raffo \n" -"Glaucia Cintra \n" -"Rafael Fontenelle \n" -"Felipe Braga " +"Shotwell oferece suporte a JPEG, PNG, TIFF e a uma variedade de formatos de " +"arquivo RAW." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2016 Software Freedom Conservancy Inc." -msgstr "Copyright 2016 Software Freedom Conservancy Inc." +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Organizador de fotos" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 -msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." -msgstr "" -"Bem-vindo ao serviço de importação de biblioteca F-Spot .\n" -"\n" -"Por favor, selecione uma biblioteca para importação, selecionando uma das " -"bibliotecas existentes encontrados pelo Shotwell ou selecionando um arquivo " -"de banco de dados alternativo F-Spot." +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "Organize suas fotos" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"Bem vindo ao serviço de importação de biblioteca do F-Spot.\n" -"\n" -"Por favor selecione um banco de dados do F-Spot." +"álbum;câmera;câmeras;cortar;editar;melhorar;exportar;galeria;imagem;imagens;" +"importar;organizar;foto;fotografia;fotografias;foto;fotos;imprimir;impressão;" +"publicar;publicação;girar;compartilhar;etiquetas;vídeo;facebook;flickr;" +"picasa;youtbe;piwigo;" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "Selecionar manualmente um banco de dados do F-Spot para importar:" +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +msgid "shotwell" +msgstr "shotwell" + +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "Visualizador do Shotwell" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Visualizador de fotos" + +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "token de autenticação" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." +msgstr "token de autenticação Yandex-Fotki, se autenticado." + +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "Token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "O token para acessar tumblr" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "Token secreto" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" +msgstr "O token secreto para assinar requisições oauth" + +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:416 +msgid "default size" +msgstr "tamanho padrão" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +"A numeric code representing the default size for photos uploaded to Tumblr" msgstr "" -"Não é possível abrir o arquivo de banco de dados F-Spot selecionado: o " -"arquivo não existe ou não é um banco de dados F-Spot" - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 +"um código numérico representando o tamanho padrão para fotos enviadas ao " +"Tumblr" + +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" +msgstr "blog padrão" + +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "O nome do blog padrão do usuário, se houver" + +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "URL do Rajce" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "URL do servidor Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:384 +#: misc/org.yorba.shotwell.gschema.xml:442 +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "username" +msgstr "nome de usuário" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "Nome de usuário Rajce, se autenticado." + +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "token" + +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "token do usuário, se memorizado." + +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last category" +msgstr "última categoria" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "A última categoria Rajce selecionada." + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:472 +msgid "last photo size" +msgstr "tamanho da última foto" + +#: misc/org.yorba.shotwell-extras.gschema.xml:65 msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." msgstr "" -"Não é possível abrir o arquivo de banco de dados F-Spot selecionado: esta " -"versão do banco de dados F-Spot não é suportado pelo Shotwell" +"Um código numérico representando a predefinição de tamanho da última foto " +"usada ao publicar para Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "memorizar" + +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." +msgstr "Se verdadeiro, memoriza a última autenticação." + +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "ocultar álbum" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." +msgstr "Se verdadeiro, oculta o álbum recém-criado no Rajce." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +msgid "open album in web browser" +msgstr "abrir álbum no navegador" + +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +"If true, open target album in the web browser just after uploading photos" +msgstr "Se verdadeiro, abre álbum alvo no navegador só depois de enviar fotos" + +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:364 +#: misc/org.yorba.shotwell.gschema.xml:402 +#: misc/org.yorba.shotwell.gschema.xml:428 +#: misc/org.yorba.shotwell.gschema.xml:478 +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "remove sensitive info from uploads" +msgstr "remover informações sensíveis das fotos" + +#: misc/org.yorba.shotwell-extras.gschema.xml:89 +msgid "" +"Whether images being uploaded to Rajce should have their metadata removed " +"first" msgstr "" -"Não é possível ler o arquivo de banco de dados F-Spot selecionado: Erro ao " -"ler tabela etiquetas" +"Se as imagens sendo enviadas para Rajce devem ter seus metadados removidos " +"primeiro" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 -msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "exibir propriedades básicas" + +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." msgstr "" -"Não é possível ler o arquivo de banco de dados F-Spot selecionado: Erro ao " -"ler tabela de fotos" +"Verdadeiro se o painel de propriedades básicas deve ser exibido; do " +"contrário, falso." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:28 +msgid "display extended properties" +msgstr "exibir propriedades estendidas" + +#: misc/org.yorba.shotwell.gschema.xml:29 msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +"True if the extended properties window is to be displayed, false otherwise." msgstr "" -"Shotwell encontrou %d fotos na biblioteca F-Spot e está atualmente a importá-" -"los. Duplicatas serão automaticamente detectadas e removidas.\n" -"\n" -"Você pode fechar este diálogo e começar a usar o Shotwell enquanto a " -"importação é feita em segundo plano." - -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "Biblioteca F-Spot: %s" +"Verdadeiro se a janela de propriedades estendidas deve ser exibida; do " +"contrário, falso." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "Preparando para importar" +#: misc/org.yorba.shotwell.gschema.xml:34 +msgid "display sidebar" +msgstr "exibir barra lateral" -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "Núcleo serviços de importação de dados" +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "Verdadeiro se a barra lateral deve ser exibida; do contrário, falso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "módulo de publicação do Gallery3" +#: misc/org.yorba.shotwell.gschema.xml:40 +msgid "display toolbar" +msgstr "exibir barra de ferramentas" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 -msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the bottom toolbar is to be displayed, false otherwise." msgstr "" -"Você atualmente não está autenticado nos Gallery.\n" -"\n" -"Você precisa ter uma conta do Galler3 para completar o processo de " -"autenticação." +"Verdadeiro se a barra de ferramentas deve ser exibida; do contrário, falso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display search bar" +msgstr "exibir barra de pesquisa" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "Diretório padrão do Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:47 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" +"Verdadeiro se a barra de ferramentas de pesquisa/filtro deve ser exibida; do " +"contrário, falso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo titles" +msgstr "exibir títulos das fotos" + +#: misc/org.yorba.shotwell.gschema.xml:53 msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"\n" -"O arquivo \"%s\" pode não ter suporte no ou ser muito grande para essa " -"instalação do Gallery3." +"Verdadeiro se os títulos de fotos devem ser exibidos sob miniaturas nas " +"visões de coleção; do contrário, falso." + +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display photo comments" +msgstr "exibir comentários das fotos" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +#: misc/org.yorba.shotwell.gschema.xml:59 msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." msgstr "" -"\n" -"Note que o Gallery3 tem suporte apenas aos mesmos tipos de vídeos que o " -"Flowplayer." +"Verdadeiro se os comentários de fotos devem ser exibidos sob miniaturas nas " +"visões de coleção; do contrário, falso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:64 +msgid "display event comments" +msgstr "exibir comentários de eventos" + +#: misc/org.yorba.shotwell.gschema.xml:65 msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." msgstr "" -"Um arquivo necessário para a publicação não está disponível. A publicação " -"para %s não pode continuar." +"Verdadeiro se os comentários de eventos devem ser exibidos sob miniaturas " +"nas visões de evento; do contrário, falso." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "Publicando para %s e %s." +#: misc/org.yorba.shotwell.gschema.xml:70 +msgid "display photo tags" +msgstr "exibir etiquetas das fotos" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: misc/org.yorba.shotwell.gschema.xml:71 msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." msgstr "" -"Digite a URL do seu site Gallery3, bem como o nome de usuário e senha (ou " -"chave API) da sua conta Gallery3." +"Verdadeiro se as etiquetas de fotos devem ser listadas sob miniaturas nas " +"visões de coleção; do contrário, falso." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "display photo ratings" +msgstr "exibir avaliações das fotos" + +#: misc/org.yorba.shotwell.gschema.xml:77 msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." msgstr "" -"O nome de usuário e senha ou chave de API estavam incorretas. Tente " -"novamente, digite seu nome de usuário e senha embaixo." +"Verdadeiro se a avaliação de uma foto deve ser exibida em sobreposição; do " +"contrário, falso." + +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "rating filter level" +msgstr "nível de filtro de avaliação" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: misc/org.yorba.shotwell.gschema.xml:83 msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." msgstr "" -"A URL informada não parece ser o diretório principal de uma instalação " -"Gallery3. Por favor, certifique-se de que você digitou-a corretamente e que " -"ela não tem qualquer componente (ex.: index.php) ao final." +"Determina como filtrar fotos baseadas em suas avaliações. 1: Rejeitada ou " +"melhor, 2: Não avaliada ou melhor, 3: Uma ou melhor, 4: Duas ou melhor, 5: " +"Três ou melhor, 6: Quatro ou melhor, 7: Cinco ou melhor." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "Usuário não reconhecido" +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort events ascending" +msgstr "ordenar eventos por ascendência" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr " Site não encontrado" +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" +"Verdadeiro se eventos devem ser ordenados de forma ascendente; se " +"descendente, falso." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "Copyright (C) 2013 rajce.net" +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos ascending" +msgstr "ordenar fotos da biblioteca por ascendência" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "True if library photos should be sorted ascending, false if descending." msgstr "" -"Ocorreu uma mensagem de erro ao publicar o Rajce. Por favor tente novamente." +"Verdadeiro se fotos da biblioteca devem ser ordenados de forma ascendente." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." -msgstr "Digite o e-mail e senha associados à sua conta Rajce." +#: misc/org.yorba.shotwell.gschema.xml:100 +msgid "sort library photos criteria" +msgstr "ordenar fotos da biblioteca por critério" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "e-mail e/ou senha inválida. Por favor, tente novamente" +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." +msgstr "" +"Um código numérico que especifica a ordem por critério para fotos nas visões " +"da biblioteca." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "E-mail de usuário ou senha inválidos" +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos ascending" +msgstr "ordenar fotos de eventos por ascendência" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "_Endereço de e-mail" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" +"Verdadeiro se fotos de eventos devam ser ordenados por ascendência; se " +"descendente, falso." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_Senha" +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "sort event photos criteria" +msgstr "ordenar fotos de eventos por critério" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "Lemb_rar" +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "Specifies the sort criteria for event photos." +msgstr "Especifica a ordem por critério para fotos de eventos." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "Iniciar sessão" +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "use 24 hour time" +msgstr "usar 24 horas" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "_Ocultar álbum" +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" +"Verdadeiro se deve ser exibido um relógio de 24 horas; falso, para notação " +"AM/PM." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "Você está autenticado no Rajce como %s." +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "keep relative time between photos" +msgstr "manter hora relativa entre fotos" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "As fotos irão aparecer em:" +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" +"Verdadeiro se, ao ajustar a hora/data das fotos, a hora relativa deveria ser " +"mantida. Falso se todas as fotos deve ser definidos com mesma hora." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "Um álbum _existente:" +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "modify original photo files" +msgstr "modificar arquivos originais da foto" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "Um _novo álbum chamado:" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" +"Verdadeiro se ao ajustar hora/data de fotos, os arquivos originais devem ser " +"modificados também. Falso se alterações são feitas apenas no banco de dados." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "_Abrir álbum alvo no navegador" +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "show welcome dialog on startup" +msgstr "mostrar diálogo de boas-vindas na inicialização" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "_Publicar" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" +"Verdadeiro se, ao inicializar, um diálogo de boas-vindas deve ser mostrado. " +"Do contrário, falso." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "_Sair" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "sidebar position" +msgstr "posição da barra lateral" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "Copyright 2012 BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The width, in pixels, of the sidebar" +msgstr "A largura, em pixels, da barra lateral" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500 x 375 pixels" +#: misc/org.yorba.shotwell.gschema.xml:148 +msgid "photo thumbnail scale" +msgstr "escala da miniatura da foto" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024 x 768 pixels" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "A escala de miniaturas de fotos, variando desde 72 até 360." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280 x 853 pixels" +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "pin toolbar state" +msgstr "fixar estado da barra de ferramentas" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" -msgstr "'%s' não é uma resposta válida para o pedido de autenticação OAuth" +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "Pin toolbar in fullscreen, or not." +msgstr "Fixa a barra de ferramentas em tela cheia, ou não." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "background color" +msgstr "cor de fundo" + +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "A grayscale color for use as the background color." +msgstr "Uma cor de escala de cinza para usar como cor de fundo." + +#: misc/org.yorba.shotwell.gschema.xml:166 +msgid "Selection state of \"hide photos\" option" +msgstr "Estado de seleção da opção \"ocultar fotos\"" + +#: misc/org.yorba.shotwell.gschema.xml:167 msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." msgstr "" -"TumblrPublisher: start( ): não pode iniciar, o editor não é reiniciável." +"Estado da última seleção usada da opção \"ocultar fotos já importadas\" na " +"página de importação." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." -msgstr "Digite o nome de usuário e senha associados à sua conta Tumblr." +#: misc/org.yorba.shotwell.gschema.xml:174 +msgid "delay" +msgstr "atraso" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" -msgstr "Nome de usuário e/ou senha inválida. Por favor, tente novamente" +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "Atraso (em segundos) entre fotos na apresentação de slides." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "Usuário ou senha inválida" +#: misc/org.yorba.shotwell.gschema.xml:180 +msgid "transition delay" +msgstr "atraso de transição" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "Não foi possível carregar a interface gráfica: %s" +#: misc/org.yorba.shotwell.gschema.xml:181 +msgid "" +"The time (in seconds) that a transition runs between photos in a slideshow" +msgstr "" +"A hora (em segundos) que uma transição realiza entre fotos em uma " +"apresentação de slides" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:186 +msgid "transition effect id" +msgstr "id de efeito de transição" + +#: misc/org.yorba.shotwell.gschema.xml:187 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"The name of the transition effect that will be used between photos when " +"running a slideshow" msgstr "" -"Você está autenticado no Tumblr como %s.\n" -"\n" +"O nome do efeito de transição que será usado entre fotos quando apresentando " +"slides" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "Copyright 2010+ Evgeniy Polyakov " +#: misc/org.yorba.shotwell.gschema.xml:192 +msgid "Show title" +msgstr "Mostrar título" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "Visite o site do Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:193 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "Se deve mostrar o título de uma fotos durante a apresentação de slide" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:659 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "Você não está atualmente autenticado em Yandex.Fotki." +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "maximize library window" +msgstr "maximizar janela da biblioteca" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Serviços extras de publicação do Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "True if library application is maximized, false otherwise." +msgstr "" +"Verdadeiro se o aplicativo da biblioteca está maximizado. Falso, do " +"contrário." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "_Voltar" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "width of library window" +msgstr "largura da janela da biblioteca" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "A_utenticar" +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded width of the library application window." +msgstr "A última largura registrada da janela do aplicativo da biblioteca." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Mensagem de introdução substituída em tempo real" +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "height of library window" +msgstr "altura da janela da biblioteca" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "URL de _Gallery3:" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "The last recorded height of the library application window." +msgstr "A última altura registrada da janela do aplicativo da biblioteca." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "_Nome do usuário:" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "maximize direct-edit window" +msgstr "maximizar janela de edição direta" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Senha:" +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" +"Verdadeiro se o aplicativo de edição direta está maximizado; do contrário, " +"falso." -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_Chave de API:" +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "width of direct-edit window" +msgstr "largura da janela de edição direta" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "ou" +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded width of the direct-edit application window." +msgstr "A última largura registrada da janela do aplicativo de edição direta." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "Um _novo álbum" +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "height of direct-edit window" +msgstr "altura da janela de edição direta" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "Um álbum _existente" +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "The last recorded height of the direct-edit application window." +msgstr "A última altura registrada da janela do aplicativo de edição direta." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" -msgstr "" -"_Remover localização, etiquetas e dados identificadores da câmera antes de " -"enviar" +#: misc/org.yorba.shotwell.gschema.xml:236 +msgid "sidebar divider position" +msgstr "posição do divisor da barra lateral" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" +#: misc/org.yorba.shotwell.gschema.xml:237 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." msgstr "" -"'Publicação para a $url como $username' (populado no código do aplicativo)" +"A última posição registrada do divisor entre a barra lateral e a visão na " +"janela do aplicativo da biblioteca." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "Restrição de dimensionamento:" +#: misc/org.yorba.shotwell.gschema.xml:244 +msgid "import directory" +msgstr "importar diretório" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr "pixels" +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "Directory in which imported photo files are placed." +msgstr "Diretório no qual arquivos de fotos importadas são colocadas." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Tamanho original" +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "watch library directory for new files" +msgstr "monitorar diretório da biblioteca por novos arquivos" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Largura ou altura" +#: misc/org.yorba.shotwell.gschema.xml:251 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" +"Se verdadeiro, arquivos adicionados ao diretório da biblioteca são " +"importados automaticamente." -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "rótulo" +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "write metadata to master files" +msgstr "escrever metadados para arquivos mestres" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blogs:" +#: misc/org.yorba.shotwell.gschema.xml:257 +msgid "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." +msgstr "" +"Se verdadeiro, alterações a metadados (etiquetas, títulos, etc.) são " +"escritos ao arquivo mestre de fotos." -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "Tamanho da _foto:" +#: misc/org.yorba.shotwell.gschema.xml:262 +msgid "use lowercase filenames" +msgstr "usar nomes de arquivos em minúsculo" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "você está autenticado no rajce como $name" +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" +msgstr "" +"Se verdadeiro, Shotwell vai converter todos os nomes de arquivos para " +"minúsculo ao importar arquivos de fotos" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "$mediatype irão aparecer em" +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern" +msgstr "padrão de diretório" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "Á_lbuns (ou gravar novo):" +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"Um texto codificando um padrão de nomes que será usado para nomear " +"diretórios de fotos na importação." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "_Tipo de acesso:" +#: misc/org.yorba.shotwell.gschema.xml:274 +msgid "directory pattern custom" +msgstr "padrão de diretório personalizado" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "Desabilitar _comentários" +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" +"Um texto codificando um padrão de nomes personalizado que será usado para " +"nomear diretórios de fotos na importação." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "Proibir o _download da foto original" +#: misc/org.yorba.shotwell.gschema.xml:280 +msgid "RAW developer default" +msgstr "desenvolvedor RAW padrão" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Público" +#: misc/org.yorba.shotwell.gschema.xml:281 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "Opção padrão para qual desenvolvedor RAW o Shotwell vai usar." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1195 -msgid "Friends" -msgstr "Amigos" +#: misc/org.yorba.shotwell.gschema.xml:288 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "" +"Escolha de menu de proporção de aspecto de corte usado mais recentemente." -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Privado" +#: misc/org.yorba.shotwell.gschema.xml:289 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "" +"Um código numérico representando a última escolhe do menu de corte feita " +"pelo usuário." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Conexão do Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:293 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "" +"Numerador da proporção de aspecto personalizado de corte usado mais " +"recentemente." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:294 msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." msgstr "" -"Você atualmente não está conectado ao Facebook.\n" -"\n" -"Se você ainda não possui uma conta no Facebook, você pode criar uma durante " -"o processo de autenticação. Durante o processo, o Shotwell pode perguntar " -"você sobre permissão de envio de fotos e publicação para seus feeds. Estas " -"permissões são necessárias para o a conexão do Shotwell funcionar." +"Um inteiro positivo não-zero representando uma parte da largura da última " +"proporção de corte personalizado inserida pelo usuário." + +#: misc/org.yorba.shotwell.gschema.xml:298 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "" +"Denominador da proporção de aspecto personalizado de corte usado mais " +"recentemente." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 +#: misc/org.yorba.shotwell.gschema.xml:299 msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." msgstr "" -"Você já se autenticou e saiu do Facebook durante esta sessão do Shotwell.\n" -"Para continuar publicando no Facebook, encerre e abra novamente o Shotwell, " -"e então tente publicar novamente." +"Um inteiro positivo não-zero representando uma parte da altura da última " +"proporção de corte personalizado inserida pelo usuário." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "Padrão (720 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:306 +msgid "external photo editor" +msgstr "editor de foto externo" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "Largo (2048 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit photos." +msgstr "Aplicativo externo usado para editar fotos." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "Testando conexão com o Facebook..." +#: misc/org.yorba.shotwell.gschema.xml:312 +msgid "external raw editor" +msgstr "editor raw externo" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "Criando álbum..." +#: misc/org.yorba.shotwell.gschema.xml:313 +msgid "External application used to edit RAW photos." +msgstr "Aplicativo externo usado para editar fotos RAW." + +#: misc/org.yorba.shotwell.gschema.xml:320 +msgid "last used publishing service" +msgstr "último serviço de publicação usado" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 +#: misc/org.yorba.shotwell.gschema.xml:321 +#: misc/org.yorba.shotwell.gschema.xml:327 msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." +"A numeric code representing the last service to which photos were published" msgstr "" -"O arquivo necessário para a publicação não está disponível. A publicação " -"para o Facebook não pode continuar." +"Um código numérico representando o último serviço para os quais as fotos " +"serão publicadas" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1033 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:326 +msgid "default publishing service" +msgstr "serviço de publicação padrão" + +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "access token" +msgstr "token de acesso" + +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook OAuth token for the currently logged in session, if any" +msgstr "" +"Token de Oauth do Facebook para a sessão atualmente autenticada, se houver" + +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user i.d." +msgstr "id do usuário" + +#: misc/org.yorba.shotwell.gschema.xml:347 +msgid "Facebook user i.d. for the currently logged in user, if any" +msgstr "" +"id do usuário do Facebook para o usuário atualmente autenticado, se houver" + +#: misc/org.yorba.shotwell.gschema.xml:352 +msgid "user name" +msgstr "nome de usuário" + +#: misc/org.yorba.shotwell.gschema.xml:353 +msgid "The name of the currently logged in Facebook user, if any" +msgstr "O nome do usuário Facebook atualmente autenticado, se houver" + +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default size code" +msgstr "código de tamanho padrão" + +#: misc/org.yorba.shotwell.gschema.xml:359 msgid "" -"You are logged into Facebook as %s.\n" -"\n" +"A numeric code representing the default size for photos published to Facebook" msgstr "" -"Você está autenticado no Facebook como %s.\n" -"\n" +"Um código numérico representando o tamanho padrão para fotos publicadas ao " +"Facebook" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1034 -msgid "Where would you like to publish the selected photos?" -msgstr "Onde você gostaria de publicar as fotos selecionadas?" +#: misc/org.yorba.shotwell.gschema.xml:365 +msgid "" +"Whether images being uploaded to Facebook should have their metadata removed " +"first" +msgstr "" +"Se as imagens sendo enviadas para Facebook devem possuir seus metadados " +"removidos primeiro" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1035 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "Tama_nho de upload:" +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token" +msgstr "Token de fase de acesso Oauth" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1194 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "Somente para mim" +#: misc/org.yorba.shotwell.gschema.xml:373 +msgid "The authorization token for the currently logged in Flickr user, if any" +msgstr "" +"O token de autorização para o usuário Flickr atualmente autenticado, se " +"houver" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1196 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "Todos" +#: misc/org.yorba.shotwell.gschema.xml:378 +msgid "OAuth Access Phase Token Secret" +msgstr "Segredo de token de fase de acesso Oauth" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 +#: misc/org.yorba.shotwell.gschema.xml:379 msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" msgstr "" -"Você não está conectado no Flickr.\n" -"\n" -"Clique em Login para entrar no Flickr no seu navegador de internet. Você " -"terá que autorizar o Shotwell para conectar a sua conta do Flickr." +"O segredo criptográfico usado para assinar requisições com o token de " +"autorização para o usuário Flickr atualmente autenticado, se houver" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "O nome do usuário Flickr atualmente autenticado, se houver" + +#: misc/org.yorba.shotwell.gschema.xml:391 msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +"A numeric code representing the default size for photos published to Flickr" msgstr "" -"Você já entrou e saiu do Flickr durante esta sessão do Shotwell.\n" -"Para continuar publicando no Flickr, reinicie o Shotwell, e então tente " -"publicar novamente." +"Um código numérico representando o tamanho padrão para fotos publicadas ao " +"Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "Preparando para iniciar sessão..." +#: misc/org.yorba.shotwell.gschema.xml:396 +msgid "default visibility" +msgstr "visibilidade padrão" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 +#: misc/org.yorba.shotwell.gschema.xml:397 msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +"A numeric code representing the default visibility for photos published to " +"Flickr" msgstr "" -"O arquivo necessário para a publicação não está disponível. A publicação " -"para o Flickr não pode continuar." +"Um código numérico representando o visibilidade padrão para fotos publicadas " +"ao Flickr" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "Verificando autorização..." +#: misc/org.yorba.shotwell.gschema.xml:403 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" +"Se as imagens sendo enviadas para Flickr devem possuir seus metadados " +"removidos primeiro" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:410 +#: misc/org.yorba.shotwell.gschema.xml:542 +msgid "refresh token" +msgstr "atualizar token" + +#: misc/org.yorba.shotwell.gschema.xml:411 msgid "" -"You are logged into Flickr as %s.\n" -"\n" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." msgstr "" -"Você está autenticado no Flickr como %s.\n" -"\n" +"O token Oauth usado para atualizar a sessão do Picasa Web Albums para o " +"usuário atualmente autenticado, se houver." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:417 msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"Sua conta gratuita do Flickr limita quantos dados você pode enviar por mês.\n" -"Este mês, você possui %d megabyte restante na sua cota de envio." -msgstr[1] "" -"Sua conta gratuita do Flickr limita quantos dados você pode enviar por mês.\n" -"Este mês, você possui %d megabytes restantes na sua cota de envio." +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" +"um código numérico representando o tamanho padrão para fotos enviadas ao " +"Picasa Web Albums" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." -msgstr "Sua conta Pro do Flickr oferece a você uploads ilimitados." +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "last album" +msgstr "último álbum" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "Fotos _visíveis para:" +#: misc/org.yorba.shotwell.gschema.xml:423 +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "The name of the last album the user published photos to, if any" +msgstr "O nome do último álbum para o qual o usuário publicou fotos, se houver" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "Vídeos _visíveis para:" +#: misc/org.yorba.shotwell.gschema.xml:429 +msgid "" +"Whether images being uploaded to Picasa should have their metadata removed " +"first" +msgstr "" +"Se imagens sendo enviadas para o Picasa devem ter primeiro seus metadados " +"removidos" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "Fotos e vídeos _visíveis para:" +#: misc/org.yorba.shotwell.gschema.xml:436 +msgid "Piwigo URL" +msgstr "URL do Piwigo" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "Somente amigos e família" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "URL of the Piwigo server." +msgstr "URL do servidor Piwigo." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "Somente família" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo username, if logged in." +msgstr "Nome de usuário Piwigo, se autenticado." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "Somente amigos" +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "password" +msgstr "senha" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048 x 1536 pixels" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "Piwigo password, if logged in." +msgstr "Senha Piwigo, se autenticado." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096 x 3072 pixels" +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "remember password" +msgstr "memorizar senha" + +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "If true, remember the Piwigo password." +msgstr "Se verdadeiro, memoria a senha Piwigo." + +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last selected Piwigo category." +msgstr "A última categoria Piwigo selecionada." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last permission level" +msgstr "último nível de permissão" + +#: misc/org.yorba.shotwell.gschema.xml:467 +msgid "The last chosen Piwigo permission level." +msgstr "O último nível de permissão escolhido do Piwigo." + +#: misc/org.yorba.shotwell.gschema.xml:473 msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." msgstr "" -"Você não está autenticado no Picasa Web Albums.\n" -"\n" -"Clique em Login para entrar no Picasa Web Albums em seu navegador. Você terá " -"que autorizar a conexão do Shotwell à sua conta Picasa Web Albums." +"Um código numérico representando a predefinição de tamanho da última foto " +"usada ao publicar para Piwigo." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 +#: misc/org.yorba.shotwell.gschema.xml:479 msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" msgstr "" -"O arquivo necessário para a publicação não está disponível. A publicação " -"para o Picasa não pode continuar." +"Se imagens sendo enviadas para o Piwigo devem ter primeiro seus metadados " +"removidos" -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "Você está autenticado nos Álbuns da Web do Picasa como %s." +#: misc/org.yorba.shotwell.gschema.xml:484 +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "" +"se um título for definido e comentário não, use título como comentário para " +"envios ao Piwigo" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "Os vídeos irão aparecer em:" +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" +"Se imagens sendo enviadas para Piwigo devem ter seus comentário definido do " +"título, se título estiver definido e comentário não" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "Pequeno (640 x 480 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:490 +msgid "do not upload tags when uploading to Piwigo" +msgstr "não enviar etiquetas ao enviar para o Piwigo" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "Médio (1024 x 768 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:491 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" +"Se imagens sendo enviadas para o Piwigo devem ter etiquetas removidas no " +"envio, de forma que essas etiquetas não vão aparecer no servidor remoto do " +"Piwigo." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "Recomendado (1600 x 1200 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 username" +msgstr "nome de usuário Gallery3" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048 x 1536 pixels)" +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "API key" +msgstr "chave de API" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "Tamanho original" +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 API key" +msgstr "chave de API Gallery3" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "Criando álbum %s..." +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "URL" +msgstr "URL" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "Gallery3 site URL" +msgstr "URL do site Gallery3" + +#: misc/org.yorba.shotwell.gschema.xml:523 +msgid "" +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" msgstr "" -"Ocorreu uma mensagem de erro ao publicar o Piwigo. Por favor tente novamente." +"Indica se as imagens sendo enviadas para Gallery3 devem ter seus metadados " +"removidos primeiro" + +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "scaling constraint of uploaded picture" +msgstr "restrição de dimensionamento de imagem enviada" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "O ID de restrição de dimensionamento da imagem a ser enviada" + +#: misc/org.yorba.shotwell.gschema.xml:534 +msgid "pixels of the major axis uploaded picture" +msgstr "pixels do eixo maior da imagem enviada" + +#: misc/org.yorba.shotwell.gschema.xml:535 msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" msgstr "" -"Digite a URL de sua biblioteca de fotos Piwigo, bem como o nome de usuário e " -"senha associados à sua conta Piwigo para essa biblioteca." +"Os pixels do eixo maior da imagem a ser enviada; usado apenas se scaling-" +"constraint-id for um valor apropriado" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 +#: misc/org.yorba.shotwell.gschema.xml:543 msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." msgstr "" -"Shotwell não pode acessar sua biblioteca de fotos Piwigo. Por favor, " -"verifique a URL digitada" +"O token Oauth usado para atualizar a sessão do YouTube para o usuário " +"atualmente autenticado, se houver." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "URL inválida" +#: misc/org.yorba.shotwell.gschema.xml:550 +msgid "last used import service" +msgstr "último serviço de importação usado" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "Administradores, Família, Amigos, Contatos" +#: misc/org.yorba.shotwell.gschema.xml:551 +msgid "" +"A numeric code representing the last service from which photos were imported" +msgstr "" +"Um código numérico representando o último serviço por meio do qual fotos " +"foram importadas" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "Administradores, Família, Amigos" +#: misc/org.yorba.shotwell.gschema.xml:558 +msgid "interpreter state cookie" +msgstr "interpretar cookie de estado" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "Administradores, Família" +#: misc/org.yorba.shotwell.gschema.xml:559 +msgid "" +"A numeric code that captures the state of the GStreamer plug-in environment" +msgstr "" +"Um código de numérico que captura o estado do ambiente do plug-in GStreamer" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "Administradores" +#: misc/org.yorba.shotwell.gschema.xml:566 +msgid "content layout mode" +msgstr "modo de layout do conteúdo" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 +#: misc/org.yorba.shotwell.gschema.xml:567 msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." +"A numeric code that describes how photos are laid out on the page during " +"printing" msgstr "" -"Você atualmente não está autenticado nos Youtube.\n" -"\n" -"Você precisa ter uma conta do Google configurada para usar o Youtube antes " -"de continuar. Você pode configurar sua conta usando seu navegador para " -"entrar no site do Youtube." +"Um código numérico que descreve como fotos são posicionadas na página " +"durante a impressão" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 -msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content ppi" +msgstr "ppi do conteúdo" + +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" msgstr "" -"O arquivo necessário para a publicação não está disponível. A publicação " -"para o Youtube não pode continuar." +"O número de pixels por polegada (ppi) enviado para a impressora durante a " +"impressão" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "Você está autenticado no Youtube como %s." +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content width" +msgstr "largura do conteúdo" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "Os vídeos irão aparecer em \"%s\"" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The width of the printed emulsion on the page when printing" +msgstr "A largura da emulsão impressa na página ao imprimir" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "Público listado" +#: misc/org.yorba.shotwell.gschema.xml:584 +msgid "content height" +msgstr "altura do conteúdo" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "Público não listado" +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "The height of the printed emulsion on the page when printing" +msgstr "A altura da emulsão impressa na página ao imprimir" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "Publicar em um álbum e_xistente:" +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "content units" +msgstr "unidades do conteúdo" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Criar um _novo álbum chamado:" +#: misc/org.yorba.shotwell.gschema.xml:591 +msgid "" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" +msgstr "" +"Um código numérico representando unidade de medida (polegadas ou " +"centímetros) usada ao imprimir" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "Vídeos e álbuns de fotos novos _visível para:" +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "images per page code" +msgstr "imagens por código de página" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 +#: misc/org.yorba.shotwell.gschema.xml:597 msgid "" -"_Remove location, camera, and other identifying information before uploading" +"A numeric code representing the currently selected images per page mode used " +"when printing" msgstr "" -"_Remover localização, câmera e outras informações identificadoras antes de " -"enviar" +"Um código numérico representando as imagens atualmente selecionadas para " +"modo de página usada ao imprimir" + +#: misc/org.yorba.shotwell.gschema.xml:602 +msgid "size selection" +msgstr "seleção de tamanho" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 +#: misc/org.yorba.shotwell.gschema.xml:603 msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." +"The index of the current print size in a pre-defined list of standard sizes" msgstr "" -"Insira o número de confirmação que apareceu depois que você efetuou login no " -"Flickr no navegador de internet." +"O índice do tamanho de impressão atual em uma lista predefinida dos tamanhos " +"padrão" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "_Número de autorização:" +#: misc/org.yorba.shotwell.gschema.xml:608 +msgid "match aspect ratio" +msgstr "correspondência de proporção de aspecto" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "Con_tinuar" +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" +"Determina se tamanhos de impressão personalizados devem corresponder à " +"proporção de aspecto da foto original" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "L_istar os álbuns na galeria pública" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "print titles" +msgstr "imprimir títulos" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "Tama_nho pré-definido da foto:" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" +"Verdadeiro se o título de uma foto deveria ser impresso quando a foto é " +"impressa; do contrário, falso." -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "_URL da sua biblioteca de fotos Piwigo" +#: misc/org.yorba.shotwell.gschema.xml:620 +msgid "titles font" +msgstr "fonte dos títulos" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "_Nome do usuário" +#: misc/org.yorba.shotwell.gschema.xml:621 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "O nome da fonte usada para títulos de fotos quando elas são impressas." -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "Lemb_rar senha" +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable facebook publishing plugin" +msgstr "habilitar plug-in de publicação no facebook" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "Uma categoria _existente:" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Facebook está habilitado; do " +"contrário, falso" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "As fotos estarão _visíveis por:" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable flickr publishing plugin" +msgstr "habilitar plug-in de publicação no flickr" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Tamanho da foto:" +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Flickr está habilitado; do contrário, " +"falso" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "com categoria:" +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable picasa publishing plugin" +msgstr "habilitar plug-in de publicação no picasa" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Comentário do álbum:" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Picasa Web Albums está habilitado; do " +"contrário, falso" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" +#: misc/org.yorba.shotwell.gschema.xml:650 +msgid "enable youtube publishing plugin" +msgstr "habilitar plug-in de publicação no youtube" + +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" msgstr "" -"_Se um título for definido e comentário não for, use título como comentário" +"Verdadeiro se plug-in de publicação no YouTube está habilitado; do " +"contrário, falso" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "_Não enviar etiquetas" +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable piwigo publishing plugin" +msgstr "habilitar plug-in de publicação no piwigo" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Encerrar sessão" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Piwigo está habilitado; do contrário, " +"falso" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:298 -msgid "Publish" -msgstr "Publicar" +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable yandex publishing plugin" +msgstr "habilitar plug-in de publicação no yandex" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Principais serviços de publicação" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Yandex.Fotki está habilitado; do " +"contrário, falso" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "De_finições de privacidade de vídeo:" +#: misc/org.yorba.shotwell.gschema.xml:668 +msgid "enable tumblr publishing plugin" +msgstr "habilitar plug-in de publicação no tumblr" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "Escuro" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Tumblr está habilitado; do contrário, " +"falso" -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "Xadrez" +#: misc/org.yorba.shotwell.gschema.xml:674 +msgid "enable rajce publishing plugin" +msgstr "habilitar plug-in de publicação no rajce" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "Círculos" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Rajce está habilitado; do contrário, " +"falso" -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "Círculos" +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable gallery3 publishing plugin" +msgstr "habilitar plug-in de publicação no gallery3" -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "Relógio" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de publicação no Gallery3 está habilitado; do " +"contrário, falso" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "Desmoronar" +#: misc/org.yorba.shotwell.gschema.xml:686 +msgid "enable F-Spot import plugin" +msgstr "habilitar plug-in de importação do F-Spot" -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "Esmaecer" +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de importação do F-Spot está habilitado; do contrário, " +"falso" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "Slide" +#: misc/org.yorba.shotwell.gschema.xml:692 +msgid "enable slideshow crumble transition" +msgstr "habilitar transição de desmoronar de apresentação de slides" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "Quadrado" +#: misc/org.yorba.shotwell.gschema.xml:693 +msgid "" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de desmoronamento de apresentação de " +"slides está habilitado; do contrário, falso" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "Listras" +#: misc/org.yorba.shotwell.gschema.xml:698 +msgid "enable slideshow fade transition" +msgstr "habilitar transição de esmaecer de apresentação de slides" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Transições principais de exibição de slides" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de esmaecimento de apresentação de slides " +"está habilitado; do contrário, falso" + +#: misc/org.yorba.shotwell.gschema.xml:704 +#: misc/org.yorba.shotwell.gschema.xml:728 +msgid "enable slideshow slide transition" +msgstr "habilitar transição de deslizar de apresentações de slides" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 +#: misc/org.yorba.shotwell.gschema.xml:705 msgid "" -"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " -"Inc." +"True if the Slide slideshow transition plugin is enabled, false otherwise" msgstr "" -"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " -"Inc." +"Verdadeiro se plug-in de transição de deslizamento de apresentação de slides " +"está habilitado; do contrário, falso" -#: ../src/AppDirs.vala:64 ../src/AppDirs.vala:115 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "Não foi possível criar diretório de cache %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:710 +msgid "enable slideshow clock transition" +msgstr "habilitar transição de relógio de apresentações de slides" -#: ../src/AppDirs.vala:74 ../src/AppDirs.vala:104 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "Não foi possível criar diretório de dados %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de Relógio de apresentação de slides está " +"habilitado; do contrário, falso" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:168 -msgid "Pictures" -msgstr "Fotos" +#: misc/org.yorba.shotwell.gschema.xml:716 +#: misc/org.yorba.shotwell.gschema.xml:722 +msgid "enable slideshow circle transition" +msgstr "habilitar transição circular de apresentações de slides" -#: ../src/AppDirs.vala:206 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "Não foi possível criar diretório temporário %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de círculos de apresentação de slides " +"está habilitado; do contrário, falso" -#: ../src/AppDirs.vala:223 ../src/AppDirs.vala:254 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "Não foi possível criar subdiretório de dados %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de Círculos de apresentação de slides " +"está habilitado; do contrário, falso" -#: ../src/AppDirs.vala:236 -#, c-format -msgid "Could not make directory %s writable" -msgstr "Não foi possível tornar o diretório %s gravável" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de escurecimento de apresentação de " +"slides está habilitado; do contrário, falso" -#: ../src/AppDirs.vala:239 -#, c-format -msgid "Could not make directory %s writable: %s" -msgstr "Não foi possível tornar o diretório %s gravável: %s" +#: misc/org.yorba.shotwell.gschema.xml:734 +msgid "enable slideshow squares transition" +msgstr "habilitar transição de quadrado de apresentações de slides" -#: ../src/AppWindow.vala:53 -msgid "Pin Toolbar" -msgstr "Fixar a barra de ferramentas" +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de Quadrados de apresentação de slides " +"está habilitado; do contrário, falso" -#: ../src/AppWindow.vala:54 -msgid "Pin the toolbar open" -msgstr "Fixar a barra de ferramentas aberta" +#: misc/org.yorba.shotwell.gschema.xml:740 +msgid "enable slideshow stripes transition" +msgstr "habilitar transição de listras de apresentações de slides" -#: ../src/AppWindow.vala:59 -msgid "Leave fullscreen" -msgstr "Sai da tela cheia" +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de Listras de apresentação de slides está " +"habilitado; do contrário, falso" -#: ../src/AppWindow.vala:518 -msgid "_Contents" -msgstr "_Conteúdo" +#: misc/org.yorba.shotwell.gschema.xml:746 +msgid "enable slideshow chess transition" +msgstr "habilitar transição de xadrez de apresentações de slides" -#: ../src/AppWindow.vala:523 -msgid "_Frequently Asked Questions" -msgstr "Perguntas _frequentes (FAQ)" +#: misc/org.yorba.shotwell.gschema.xml:747 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" +"Verdadeiro se plug-in de transição de tabuleiro de xadrez de apresentação de " +"slides está habilitado; do contrário, falso" -#: ../src/AppWindow.vala:528 -msgid "_Report a Problem..." -msgstr "_Reporte um Problema..." +#: plugins/common/Resources.vala:12 +msgid "Visit the Shotwell home page" +msgstr "Visitar o site do Shotwell" -#: ../src/AppWindow.vala:627 ../src/AppWindow.vala:648 -#: ../src/AppWindow.vala:665 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1424 ../src/Dialogs.vala:1447 ../src/Resources.vala:157 -#: ../src/data_imports/DataImportsUI.vala:413 -#: ../src/publishing/PublishingUI.vala:512 -msgid "_Cancel" -msgstr "_Cancelar" +#: plugins/common/Resources.vala:31 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"Djavan Fagundes \n" +"Helder Ribeiro \n" +"Seth Schoen \n" +"Slackhideo \n" +"Allisson Azevedo \n" +"Samuel Raffo \n" +"Glaucia Cintra \n" +"Rafael Fontenelle \n" +"Felipe Braga " -#: ../src/AppWindow.vala:675 -#, c-format +#: plugins/common/RESTSupport.vala:451 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:958 +msgid "A temporary file needed for publishing is unavailable" +msgstr "Um arquivo temporário necessário para a publicação não está disponível" + +#: plugins/common/RESTSupport.vala:1157 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" "\n" -"%s" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." msgstr "" -"Um erro fatal ocorreu ao acessar a biblioteca do Shotwell. O Shotwell não " -"pode continuar.\n" +"Você já se conectou e desconectou de um serviço Google durante esta sessão " +"do Shotwell.\n" "\n" -"%s" +"Para continuar a publicação para serviços do Google, saia e reinicie o " +"Shotwell e, então, tente publicar novamente." -#: ../src/AppWindow.vala:695 -msgid "Visit the Shotwell web site" -msgstr "Visitar o página web do Shotwell" +#: plugins/shotwell-data-imports/FSpotImporter.vala:36 +#: plugins/shotwell-publishing/FacebookPublishing.vala:33 +#: plugins/shotwell-publishing/FlickrPublishing.vala:33 +#: plugins/shotwell-publishing/PicasaPublishing.vala:33 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:33 +#: plugins/shotwell-publishing/YouTubePublishing.vala:33 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Copyright 2016 Software Freedom Conservancy Inc." -#: ../src/AppWindow.vala:707 -#, c-format -msgid "Unable to display help: %s" -msgstr "Não foi possível exibir a ajuda: %s" +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"Bem-vindo ao serviço de importação de biblioteca F-Spot .\n" +"\n" +"Por favor, selecione uma biblioteca para importação, selecionando uma das " +"bibliotecas existentes encontrados pelo Shotwell ou selecionando um arquivo " +"de banco de dados alternativo F-Spot." -#: ../src/AppWindow.vala:715 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "Não foi possível navegar no banco de dados de bugs: %s" +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"Bem vindo ao serviço de importação de biblioteca do F-Spot.\n" +"\n" +"Por favor selecione um banco de dados do F-Spot." -#: ../src/AppWindow.vala:723 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "Não foi possível exibir FAQ: %s" +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "Manually select an F-Spot database file to import:" +msgstr "Selecionar manualmente um banco de dados do F-Spot para importar:" -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "Sucesso" +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"Não é possível abrir o arquivo de banco de dados F-Spot selecionado: o " +"arquivo não existe ou não é um banco de dados F-Spot" -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "Erro de arquivo" - -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "Não foi possível decodificar arquivo" +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"Não é possível abrir o arquivo de banco de dados F-Spot selecionado: esta " +"versão do banco de dados F-Spot não é suportado pelo Shotwell" -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "Erro na base de dados" +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"Não é possível ler o arquivo de banco de dados F-Spot selecionado: Erro ao " +"ler tabela etiquetas" -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "Usuário abortou a importação" +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"Não é possível ler o arquivo de banco de dados F-Spot selecionado: Erro ao " +"ler tabela de fotos" -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "Não é um arquivo" +#: plugins/shotwell-data-imports/FSpotImporter.vala:72 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"Shotwell encontrou %d fotos na biblioteca F-Spot e está atualmente a importá-" +"los. Duplicatas serão automaticamente detectadas e removidas.\n" +"\n" +"Você pode fechar este diálogo e começar a usar o Shotwell enquanto a " +"importação é feita em segundo plano." -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "O arquivo já existe na base de dados" +#: plugins/shotwell-data-imports/FSpotImporter.vala:86 +#, c-format +msgid "F-Spot library: %s" +msgstr "Biblioteca F-Spot: %s" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "Formato de arquivo não-suportado" +#: plugins/shotwell-data-imports/FSpotImporter.vala:424 +msgid "Preparing to import" +msgstr "Preparando para importar" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "Não é um arquivo de imagem" +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "Núcleo serviços de importação de dados" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "Falha de disco" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "_Voltar" -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "Disco cheio" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "A_utenticar" -#: ../src/BatchImport.vala:59 -msgid "Camera error" -msgstr "Erro da câmera" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "URL de _Gallery3:" -#: ../src/BatchImport.vala:62 -msgid "File write error" -msgstr "Erro de gravação de arquivo" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "_Nome do usuário:" -#: ../src/BatchImport.vala:65 -msgid "Corrupt image file" -msgstr "Arquivo de imagem corrompido" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_Senha:" -#: ../src/BatchImport.vala:68 -#, c-format -msgid "Imported failed (%d)" -msgstr "A importação falhou (%d)" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "_Chave de API:" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2635 -msgid "S_lideshow" -msgstr "Exibição de s_lides" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "ou" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2636 -msgid "Play a slideshow" -msgstr "Exibir apresentação de slides" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "_Sair" -#: ../src/CollectionPage.vala:456 -msgid "Export Photo/Video" -msgstr "Exportar foto/vídeo" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "_Publicar" -#: ../src/CollectionPage.vala:456 -msgid "Export Photos/Videos" -msgstr "Exportar fotos/vídeos" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "Um _novo álbum" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3209 -msgid "Export Photo" -msgstr "Exportar fotos" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "Um álbum _existente" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 -msgid "Export Photos" -msgstr "Exportar fotos" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "" +"_Remover localização, etiquetas e dados identificadores da câmera antes de " +"enviar" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Rotating" -msgstr "Girando" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "Restrição de dimensionamento:" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Undoing Rotate" -msgstr "Desfazendo rotação" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "pixels" -#: ../src/CollectionPage.vala:570 -msgid "Flipping Horizontally" -msgstr "Invertendo horizontalmente" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "Tamanho original" -#: ../src/CollectionPage.vala:571 -msgid "Undoing Flip Horizontally" -msgstr "Desfazendo inversão horizontal" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Largura ou altura" -#: ../src/CollectionPage.vala:580 -msgid "Flipping Vertically" -msgstr "Invertendo verticalmente" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "módulo de publicação do Gallery3" -#: ../src/CollectionPage.vala:581 -msgid "Undoing Flip Vertically" -msgstr "Desfazendo inversão vertical" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" +"Você atualmente não está autenticado nos Gallery.\n" +"\n" +"Você precisa ter uma conta do Galler3 para completar o processo de " +"autenticação." -#: ../src/Commands.vala:733 -msgid "Reverting" -msgstr "Revertendo" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "Diretório padrão do Shotwell" -#: ../src/Commands.vala:733 -msgid "Undoing Revert" -msgstr "Desfazendo reversão" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" +"\n" +"\n" +"O arquivo \"%s\" pode não ter suporte no ou ser muito grande para essa " +"instalação do Gallery3." -#: ../src/Commands.vala:777 -msgid "Enhancing" -msgstr "Melhorando" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" +"\n" +"Note que o Gallery3 tem suporte apenas aos mesmos tipos de vídeos que o " +"Flowplayer." -#: ../src/Commands.vala:777 -msgid "Undoing Enhance" -msgstr "Desfazendo melhoramento" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1021 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1773 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" +"Um arquivo necessário para a publicação não está disponível. A publicação " +"para %s não pode continuar." -#: ../src/Commands.vala:853 -msgid "Applying Color Transformations" -msgstr "Aplicando transformações de cor" +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1550 +#, c-format +msgid "Publishing to %s as %s." +msgstr "Publicando para %s e %s." -#: ../src/Commands.vala:853 -msgid "Undoing Color Transformations" -msgstr "Desfazendo transformações de cor" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1817 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"Digite a URL do seu site Gallery3, bem como o nome de usuário e senha (ou " +"chave API) da sua conta Gallery3." -#: ../src/Commands.vala:1003 -msgid "Creating New Event" -msgstr "Criando novo evento" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1818 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"O nome de usuário e senha ou chave de API estavam incorretas. Tente " +"novamente, digite seu nome de usuário e senha embaixo." -#: ../src/Commands.vala:1004 -msgid "Removing Event" -msgstr "Removendo evento" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"A URL informada não parece ser o diretório principal de uma instalação " +"Gallery3. Por favor, certifique-se de que você digitou-a corretamente e que " +"ela não tem qualquer componente (ex.: index.php) ao final." -#: ../src/Commands.vala:1013 -msgid "Moving Photos to New Event" -msgstr "Movendo fotos para novo evento" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1872 +msgid "Unrecognized User" +msgstr "Usuário não reconhecido" -#: ../src/Commands.vala:1014 -msgid "Setting Photos to Previous Event" -msgstr "Atribuindo fotos ao evento anterior" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1877 +msgid " Site Not Found" +msgstr " Site não encontrado" -#: ../src/Commands.vala:1071 -msgid "Merging" -msgstr "Mesclando" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "_Endereço de e-mail" -#: ../src/Commands.vala:1072 -msgid "Unmerging" -msgstr "Separando" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_Senha" -#: ../src/Commands.vala:1081 -msgid "Duplicating photos" -msgstr "Duplicando fotos" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:894 +msgid "_Remember" +msgstr "Lemb_rar" -#: ../src/Commands.vala:1081 -msgid "Removing duplicated photos" -msgstr "Removendo fotos duplicadas" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:895 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "Iniciar sessão" -#: ../src/Commands.vala:1104 -#, c-format -msgid "Unable to duplicate one photo due to a file error" -msgid_plural "Unable to duplicate %d photos due to file errors" -msgstr[0] "Não foi possível duplicar uma foto, término com erro de arquivo" -msgstr[1] "Não foi possível duplicar %d fotos, término com erros de arquivo" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "Um álbum _existente:" -#: ../src/Commands.vala:1191 -msgid "Restoring previous rating" -msgstr "Restaurar avaliação anterior" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "Um _novo álbum chamado:" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Increasing ratings" -msgstr "Aumentar avaliação" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1005 +msgid "_Hide album" +msgstr "_Ocultar álbum" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Decreasing ratings" -msgstr "Diminuir avaliação" +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +msgid "Open target _album in browser" +msgstr "_Abrir álbum alvo no navegador" -#: ../src/Commands.vala:1252 -msgid "Setting RAW developer" -msgstr "Definindo desenvolvedor RAW" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:40 +msgid "Copyright (C) 2013 rajce.net" +msgstr "Copyright (C) 2013 rajce.net" -#: ../src/Commands.vala:1252 -msgid "Restoring previous RAW developer" -msgstr "Restaurando desenvolvedor RAW anterior" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:744 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "" +"Ocorreu uma mensagem de erro ao publicar o Rajce. Por favor tente novamente." -#: ../src/Commands.vala:1253 -msgid "Set Developer" -msgstr "Definir desenvolvedor" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:833 +msgid "Enter email and password associated with your Rajce account." +msgstr "Digite o e-mail e senha associados à sua conta Rajce." -#: ../src/Commands.vala:1343 -msgid "Original photo could not be adjusted." -msgstr "A foto original não pôde ser ajustada." +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:834 +msgid "Invalid email and/or password. Please try again" +msgstr "e-mail e/ou senha inválida. Por favor, tente novamente" -#: ../src/Commands.vala:1364 -msgid "Adjusting Date and Time" -msgstr "Ajustando data e hora" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:865 +msgid "Invalid User Email or Password" +msgstr "E-mail de usuário ou senha inválidos" -#: ../src/Commands.vala:1364 -msgid "Undoing Date and Time Adjustment" -msgstr "Desfazendo ajuste de data e hora" +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 +#, c-format +msgid "You are logged into Rajce as %s." +msgstr "Você está autenticado no Rajce como %s." -#: ../src/Commands.vala:1395 -msgid "One original photo could not be adjusted." -msgid_plural "The following original photos could not be adjusted." -msgstr[0] "Uma foto original não pôde ser ajustada." -msgstr[1] "As seguintes fotos originais não puderam ser ajustadas." +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "As fotos irão aparecer em:" -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 -msgid "Time Adjustment Error" -msgstr "Erro de ajuste de hora" +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Serviços extras de publicação do Shotwell" -#: ../src/Commands.vala:1419 -msgid "Time adjustments could not be undone on the following photo file." -msgid_plural "" -"Time adjustments could not be undone on the following photo files." -msgstr[0] "" -"Os ajustes de hora não puderam ser desfeitos no seguinte arquivo de foto." -msgstr[1] "" -"Os ajustes de hora não puderam ser desfeitos nos seguintes arquivos de fotos." +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "Blogs:" -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 -msgid "Create Tag" -msgstr "Criar etiqueta" +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "Tamanho da _foto:" -#: ../src/Commands.vala:1691 -#, c-format -msgid "Move Tag \"%s\"" -msgstr "Mover etiqueta \"%s\"" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:36 +msgid "Copyright 2012 BJA Electronics" +msgstr "Copyright 2012 BJA Electronics" -#: ../src/Commands.vala:2343 -msgid "Move Photos to Trash" -msgstr "Mover fotos para a lixeira" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1231 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1230 +msgid "500 x 375 pixels" +msgstr "500 x 375 pixels" -#: ../src/Commands.vala:2343 -msgid "Restore Photos from Trash" -msgstr "Restaurar fotos da lixeira" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1231 +msgid "1024 x 768 pixels" +msgstr "1024 x 768 pixels" -#: ../src/Commands.vala:2344 -msgid "Move the photos to the Shotwell trash" -msgstr "Mover as fotos para a lixeira do Shotwell" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:107 +msgid "1280 x 853 pixels" +msgstr "1280 x 853 pixels" -#: ../src/Commands.vala:2344 -msgid "Restore the photos back to the Shotwell library" -msgstr "Restaurar as fotos selecionadas para a biblioteca" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:311 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:321 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "'%s' não é uma resposta válida para o pedido de autenticação OAuth" -#: ../src/Commands.vala:2363 -msgid "Moving Photos to Trash" -msgstr "Movendo fotos para a lixeira" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:559 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start( ): não pode iniciar, o editor não é reiniciável." -#: ../src/Commands.vala:2363 -msgid "Restoring Photos From Trash" -msgstr "Restaurando fotos da lixeira" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "Digite o nome de usuário e senha associados à sua conta Tumblr." -#: ../src/Commands.vala:2449 -msgid "Flag selected photos" -msgstr "Marcar fotos selecionadas" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:588 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:992 +msgid "Username and/or password invalid. Please try again" +msgstr "Nome de usuário e/ou senha inválida. Por favor, tente novamente" -#: ../src/Commands.vala:2450 -msgid "Unflag selected photos" -msgstr "Desmarcar fotos selecionadas" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:615 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1026 +msgid "Invalid User Name or Password" +msgstr "Usuário ou senha inválida" -#: ../src/Commands.vala:2451 -msgid "Flagging selected photos" -msgstr "Marcando fotos selecionadas" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:634 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:752 +#, c-format +msgid "Could not load UI: %s" +msgstr "Não foi possível carregar a interface gráfica: %s" -#: ../src/Commands.vala:2452 -msgid "Unflagging selected photos" -msgstr "Desmarcando fotos selecionadas" +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:734 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"Você está autenticado no Tumblr como %s.\n" +"\n" -#: ../src/Commands.vala:2459 -msgid "Flag" -msgstr "Marcar" +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "Copyright 2010+ Evgeniy Polyakov " -#: ../src/Commands.vala:2459 -msgid "Unflag" -msgstr "Desmarcar" +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "Visite o site do Yandex.Fotki" -#: ../src/DesktopIntegration.vala:121 -#, c-format -msgid "Unable to launch Nautilus Send-To: %s" -msgstr "Não é possível iniciar o Nautilus Enviar-Para: %s" +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:658 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "Você não está atualmente autenticado em Yandex.Fotki." -#: ../src/DesktopIntegration.vala:129 -msgid "Send To" -msgstr "Enviar para" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "Á_lbuns (ou gravar novo):" -#: ../src/DesktopIntegration.vala:174 -#, c-format -msgid "Unable to export background to %s: %s" -msgstr "Não foi possível exportar em segundo plano %s: %s" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "_Tipo de acesso:" -#: ../src/DesktopIntegration.vala:311 -#, c-format -msgid "Unable to prepare desktop slideshow: %s" -msgstr "Não foi possível preparar a exibição de slides da área de trabalho: %s" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "Desabilitar _comentários" -#: ../src/Dialogs.vala:16 -#, c-format -msgid "This will remove the tag \"%s\" from one photo. Continue?" -msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" -msgstr[0] "Isto irá remover a etiqueta \"%s\" de uma foto. Continuar?" -msgstr[1] "Isto irá remover a etiqueta \"%s\" de %d fotos. Continuar?" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "Proibir o _download da foto original" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1392 -#: ../src/Resources.vala:158 ../src/Resources.vala:364 -#: ../src/Resources.vala:412 ../src/Resources.vala:677 -msgid "_Delete" -msgstr "_Apagar" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "Público" -#: ../src/Dialogs.vala:25 -#, c-format -msgid "This will remove the saved search \"%s\". Continue?" -msgstr "Isto irá remover a pesquisa salva \"%s\". Continuar?" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Amigos" -#: ../src/Dialogs.vala:35 -msgid "" -"Switching developers will undo all changes you have made to this photo in " -"Shotwell" -msgid_plural "" -"Switching developers will undo all changes you have made to these photos in " -"Shotwell" -msgstr[0] "" -"Mudar os desenvolvedores irá desfazer todas as alterações feitas para esta " -"foto no Shotwell" -msgstr[1] "" -"Mudar os desenvolvedores irá desfazer todas as alterações feitas para estas " -"fotos no Shotwell" +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:498 +msgid "Private" +msgstr "Privado" -#: ../src/Dialogs.vala:39 -msgid "_Switch Developer" -msgstr "_Mudar Desenvolvedor" +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "Publicar em um álbum e_xistente:" -#: ../src/Dialogs.vala:58 -msgid "Export Video" -msgstr "Exportar vídeo" +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "Criar um _novo álbum chamado:" -#. Ticket #3023 -#. Attempt to replace the system error with something friendlier -#. if we can't copy an image over for editing in an external tool. -#. Did we fail because we can't write to this directory? -#. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 -#, c-format +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "Tama_nho de upload:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "Vídeos e álbuns de fotos novos _visível para:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 msgid "" -"Shotwell couldn't create a file for editing this photo because you do not " -"have permission to write to %s." +"_Remove location, camera, and other identifying information before uploading" msgstr "" -"O Shotwell não pôde criar um arquivo para edição desta foto pelo fato de " -"você não possuir permissão de gravação em %s." +"_Remover localização, câmera e outras informações identificadoras antes de " +"enviar" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:62 +#: plugins/shotwell-publishing/PicasaPublishing.vala:60 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1114 +msgid "Shotwell Connect" +msgstr "Conexão do Shotwell" -#: ../src/Dialogs.vala:124 +#: plugins/shotwell-publishing/FacebookPublishing.vala:64 msgid "" -"Unable to export the following photo due to a file error.\n" +"You are not currently logged into Facebook.\n" "\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." msgstr "" -"Não foi possível exportar a seguinte foto, término com erro de arquivo.\n" +"Você atualmente não está conectado ao Facebook.\n" "\n" +"Se você ainda não possui uma conta no Facebook, você pode criar uma durante " +"o processo de autenticação. Durante o processo, o Shotwell pode perguntar " +"você sobre permissão de envio de fotos e publicação para seus feeds. Estas " +"permissões são necessárias para o a conexão do Shotwell funcionar." -#: ../src/Dialogs.vala:130 +#: plugins/shotwell-publishing/FacebookPublishing.vala:66 msgid "" -"\n" -"\n" -"Would you like to continue exporting?" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." msgstr "" -"\n" -"\n" -"Você deseja continuar exportando?" +"Você já se autenticou e saiu do Facebook durante esta sessão do Shotwell.\n" +"Para continuar publicando no Facebook, encerre e abra novamente o Shotwell, " +"e então tente publicar novamente." -#. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really -#. aren't formats so much as they are operating modes that determine specific formats. -#. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 -msgid "Unmodified" -msgstr "Não modificado" +#: plugins/shotwell-publishing/FacebookPublishing.vala:87 +msgid "Standard (720 pixels)" +msgstr "Padrão (720 pixels)" -#: ../src/Dialogs.vala:148 -msgid "Current" -msgstr "Atual" +#: plugins/shotwell-publishing/FacebookPublishing.vala:90 +msgid "Large (2048 pixels)" +msgstr "Largo (2048 pixels)" -#. layout controls -#: ../src/Dialogs.vala:215 -msgid "_Format:" -msgstr "_Formato:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:255 +msgid "Testing connection to Facebook..." +msgstr "Testando conexão com o Facebook..." -#: ../src/Dialogs.vala:218 -msgid "_Quality:" -msgstr "_Qualidade:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:348 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "Criando álbum..." -#: ../src/Dialogs.vala:221 -msgid "_Scaling constraint:" -msgstr "Re_strição de dimensionamento:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"O arquivo necessário para a publicação não está disponível. A publicação " +"para o Facebook não pode continuar." -#: ../src/Dialogs.vala:224 -msgid "_Pixels:" -msgstr "_Pixels:" +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"Você está autenticado no Facebook como %s.\n" +"\n" -#: ../src/Dialogs.vala:227 -msgid "Export metadata" -msgstr "Exportar metadados" +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "Onde você gostaria de publicar as fotos selecionadas?" -#: ../src/Dialogs.vala:461 -msgid "Save Details..." -msgstr "Salvar Detalhes..." +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Just me" +msgstr "Somente para mim" -#: ../src/Dialogs.vala:462 -msgid "Save Details" -msgstr "Salvar Detalhes" +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1209 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1218 +msgid "Everyone" +msgstr "Todos" -#: ../src/Dialogs.vala:477 -#, c-format -msgid "(and %d more)\n" +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" +"Insira o número de confirmação que apareceu depois que você efetuou login no " +"Flickr no navegador de internet." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "_Número de autorização:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 src/Dialogs.vala:132 +msgid "Con_tinue" +msgstr "Con_tinuar" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:60 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"Você não está conectado no Flickr.\n" +"\n" +"Clique em Login para entrar no Flickr no seu navegador de internet. Você " +"terá que autorizar o Shotwell para conectar a sua conta do Flickr." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:62 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Você já entrou e saiu do Flickr durante esta sessão do Shotwell.\n" +"Para continuar publicando no Flickr, reinicie o Shotwell, e então tente " +"publicar novamente." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:374 +msgid "Preparing for login..." +msgstr "Preparando para iniciar sessão..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:444 +#: plugins/shotwell-publishing/FlickrPublishing.vala:594 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"O arquivo necessário para a publicação não está disponível. A publicação " +"para o Flickr não pode continuar." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:457 +msgid "Verifying authorization..." +msgstr "Verificando autorização..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1152 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"Você está autenticado no Flickr como %s.\n" +"\n" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1155 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"Sua conta gratuita do Flickr limita quantos dados você pode enviar por mês.\n" +"Este mês, você possui %d megabyte restante na sua cota de envio." +msgstr[1] "" +"Sua conta gratuita do Flickr limita quantos dados você pode enviar por mês.\n" +"Este mês, você possui %d megabytes restantes na sua cota de envio." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1159 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "Sua conta Pro do Flickr oferece a você uploads ilimitados." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1164 +msgid "Photos _visible to:" +msgstr "Fotos _visíveis para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1166 +msgid "Videos _visible to:" +msgstr "Vídeos _visíveis para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1169 +msgid "Photos and videos _visible to:" +msgstr "Fotos e vídeos _visíveis para:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1210 +msgid "Friends & family only" +msgstr "Somente amigos e família" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +msgid "Family only" +msgstr "Somente família" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Friends only" +msgstr "Somente amigos" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1232 +msgid "2048 x 1536 pixels" +msgstr "2048 x 1536 pixels" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1233 +msgid "4096 x 3072 pixels" +msgstr "4096 x 3072 pixels" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "L_istar os álbuns na galeria pública" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "Tama_nho pré-definido da foto:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"Você não está autenticado no Picasa Web Albums.\n" +"\n" +"Clique em Login para entrar no Picasa Web Albums em seu navegador. Você terá " +"que autorizar a conexão do Shotwell à sua conta Picasa Web Albums." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"O arquivo necessário para a publicação não está disponível. A publicação " +"para o Picasa não pode continuar." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "Você está autenticado nos Álbuns da Web do Picasa como %s." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "Os vídeos irão aparecer em:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "Pequeno (640 x 480 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "Médio (1024 x 768 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "Recomendado (1600 x 1200 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048 x 1536 pixels)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "Tamanho original" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "_URL da sua biblioteca de fotos Piwigo" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "_Nome do usuário" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "Lemb_rar senha" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "Uma categoria _existente:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "As fotos estarão _visíveis por:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "Tamanho da foto:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "com categoria:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "Comentário do álbum:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "" +"_Se um título for definido e comentário não for, use título como comentário" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "_Não enviar etiquetas" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "Encerrar sessão" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "Publicar" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:747 +#, c-format +msgid "Creating album %s..." +msgstr "Criando álbum %s..." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:920 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "" +"Ocorreu uma mensagem de erro ao publicar o Piwigo. Por favor tente novamente." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:990 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"Digite a URL de sua biblioteca de fotos Piwigo, bem como o nome de usuário e " +"senha associados à sua conta Piwigo para essa biblioteca." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:991 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"Shotwell não pode acessar sua biblioteca de fotos Piwigo. Por favor, " +"verifique a URL digitada" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1021 +msgid "Invalid URL" +msgstr "URL inválida" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1219 +msgid "Admins, Family, Friends, Contacts" +msgstr "Administradores, Família, Amigos, Contatos" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1220 +msgid "Admins, Family, Friends" +msgstr "Administradores, Família, Amigos" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1221 +msgid "Admins, Family" +msgstr "Administradores, Família" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1222 +msgid "Admins" +msgstr "Administradores" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Principais serviços de publicação" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "De_finições de privacidade de vídeo:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:58 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"Você atualmente não está autenticado nos Youtube.\n" +"\n" +"Você precisa ter uma conta do Google configurada para usar o Youtube antes " +"de continuar. Você pode configurar sua conta usando seu navegador para " +"entrar no site do Youtube." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:363 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"O arquivo necessário para a publicação não está disponível. A publicação " +"para o Youtube não pode continuar." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:462 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "Você está autenticado no Youtube como %s." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:464 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "Os vídeos irão aparecer em \"%s\"" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public listed" +msgstr "Público listado" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Public unlisted" +msgstr "Público não listado" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "Escuro" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "Xadrez" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "Círculos" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "Círculos" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "Relógio" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "Desmoronar" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "Esmaecer" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Transições principais de apresentação de slides" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:76 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "Deslizar" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "Quadrado" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "Listras" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "Não foi possível criar diretório de cache %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "Não foi possível criar diretório de dados %s: %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "Fotos" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "Não foi possível criar diretório temporário %s: %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "Não foi possível criar subdiretório de dados %s: %s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "Não foi possível tornar o diretório %s gravável" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "Não foi possível tornar o diretório %s gravável: %s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "Fixar a barra de ferramentas" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "Fixar a barra de ferramentas aberta" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "Sai da tela cheia" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "_Conteúdo" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "Perguntas _frequentes (FAQ)" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "_Reporte um Problema..." + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1425 src/Dialogs.vala:1448 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_Cancelar" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"Um erro fatal ocorreu ao acessar a biblioteca do Shotwell. O Shotwell não " +"pode continuar.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "Visitar o página web do Shotwell" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "Não foi possível exibir a ajuda: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "Não foi possível navegar no banco de dados de bugs: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "Não foi possível exibir FAQ: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "Sucesso" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "Erro de arquivo" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "Não foi possível decodificar arquivo" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "Erro na base de dados" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "Usuário abortou a importação" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "Não é um arquivo" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "O arquivo já existe na base de dados" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "Formato de arquivo não-suportado" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "Não é um arquivo de imagem" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "Falha de disco" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "Disco cheio" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "Erro da câmera" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "Erro de gravação de arquivo" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "Arquivo de imagem corrompido" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" +msgstr "A importação falhou (%d)" + +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Câmeras" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Câmera" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"Não foi possível desmontar a câmera. Tente desmontando a câmera no " +"gerenciador de arquivos." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Ocultar fotos já importadas" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Somente exibir fotos que não foram importadas" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "Iniciando importação, por favor, aguarde..." + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Títulos" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Exibe o título de cada foto" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "Importar _selecionadas" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Importar as fotos selecionadas para a sua biblioteca" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "Importar _todas" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Importar todas as fotos para sua biblioteca" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Shotwell precisa desmontar a câmera do sistema de arquivos para acessá-la. " +"Continuar?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_Desmontar" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Por favor, desmonte a câmera." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"A câmera está travada por outro aplicativo. O Shotwell somente pode acessar " +"a câmera quando ela está destravada. Por favor, feche qualquer outro " +"aplicativo que estiver usando a câmera e tente novamente." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "" +"Por favor, encerre qualquer outro aplicativo que esteja usando a câmera." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"Não foi possível obter pré-visualizações da câmera:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "Desmontando..." + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "Obtendo informação da foto" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "Obtendo visualização para %s" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "Não foi possível travar a câmera: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "Apagar essa foto da câmera?" +msgstr[1] "Apagar essas %d fotos da câmera?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "Apagar esse vídeo da câmera?" +msgstr[1] "Apagar esses %d vídeos da câmera?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "Excluir essa foto/vídeo da câmera?" +msgstr[1] "Excluir essas %d fotos/vídeos da câmera?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "Apagar esse arquivo da câmera?" +msgstr[1] "Apagar esses %d arquivos da câmera?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1392 +msgid "_Keep" +msgstr "_Manter" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "Excluindo fotos/vídeos da câmera" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "Não foi possível excluir %d foto/vídeo da câmera devido a erros." +msgstr[1] "Não foi possível excluir %d fotos/vídeos da câmera devido a erros." + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "Apresentação de s_lides" + +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "Exibir apresentação de slides" + +#: src/CollectionPage.vala:456 +msgid "Export Photo/Video" +msgstr "Exportar foto/vídeo" + +#: src/CollectionPage.vala:456 +msgid "Export Photos/Videos" +msgstr "Exportar fotos/vídeos" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:59 src/PhotoPage.vala:3209 +msgid "Export Photo" +msgstr "Exportar fotos" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:88 +msgid "Export Photos" +msgstr "Exportar fotos" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Rotating" +msgstr "Girando" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Undoing Rotate" +msgstr "Desfazendo rotação" + +#: src/CollectionPage.vala:570 +msgid "Flipping Horizontally" +msgstr "Invertendo horizontalmente" + +#: src/CollectionPage.vala:571 +msgid "Undoing Flip Horizontally" +msgstr "Desfazendo inversão horizontal" + +#: src/CollectionPage.vala:580 +msgid "Flipping Vertically" +msgstr "Invertendo verticalmente" + +#: src/CollectionPage.vala:581 +msgid "Undoing Flip Vertically" +msgstr "Desfazendo inversão vertical" + +#: src/Commands.vala:737 +msgid "Reverting" +msgstr "Revertendo" + +#: src/Commands.vala:737 +msgid "Undoing Revert" +msgstr "Desfazendo reversão" + +#: src/Commands.vala:781 +msgid "Enhancing" +msgstr "Melhorando" + +#: src/Commands.vala:781 +msgid "Undoing Enhance" +msgstr "Desfazendo melhoramento" + +#: src/Commands.vala:857 +msgid "Applying Color Transformations" +msgstr "Aplicando transformações de cor" + +#: src/Commands.vala:857 +msgid "Undoing Color Transformations" +msgstr "Desfazendo transformações de cor" + +#: src/Commands.vala:1007 +msgid "Creating New Event" +msgstr "Criando novo evento" + +#: src/Commands.vala:1008 +msgid "Removing Event" +msgstr "Removendo evento" + +#: src/Commands.vala:1017 +msgid "Moving Photos to New Event" +msgstr "Movendo fotos para novo evento" + +#: src/Commands.vala:1018 +msgid "Setting Photos to Previous Event" +msgstr "Atribuindo fotos ao evento anterior" + +#: src/Commands.vala:1075 +msgid "Merging" +msgstr "Mesclando" + +#: src/Commands.vala:1076 +msgid "Unmerging" +msgstr "Separando" + +#: src/Commands.vala:1085 +msgid "Duplicating photos" +msgstr "Duplicando fotos" + +#: src/Commands.vala:1085 +msgid "Removing duplicated photos" +msgstr "Removendo fotos duplicadas" + +#: src/Commands.vala:1108 +#, c-format +msgid "Unable to duplicate one photo due to a file error" +msgid_plural "Unable to duplicate %d photos due to file errors" +msgstr[0] "Não foi possível duplicar uma foto, término com erro de arquivo" +msgstr[1] "Não foi possível duplicar %d fotos, término com erros de arquivo" + +#: src/Commands.vala:1195 +msgid "Restoring previous rating" +msgstr "Restaurar avaliação anterior" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Increasing ratings" +msgstr "Aumentar avaliação" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Decreasing ratings" +msgstr "Diminuir avaliação" + +#: src/Commands.vala:1256 +msgid "Setting RAW developer" +msgstr "Definindo desenvolvedor RAW" + +#: src/Commands.vala:1256 +msgid "Restoring previous RAW developer" +msgstr "Restaurando desenvolvedor RAW anterior" + +#: src/Commands.vala:1257 +msgid "Set Developer" +msgstr "Definir desenvolvedor" + +#: src/Commands.vala:1347 +msgid "Original photo could not be adjusted." +msgstr "A foto original não pôde ser ajustada." + +#: src/Commands.vala:1368 +msgid "Adjusting Date and Time" +msgstr "Ajustando data e hora" + +#: src/Commands.vala:1368 +msgid "Undoing Date and Time Adjustment" +msgstr "Desfazendo ajuste de data e hora" + +#: src/Commands.vala:1399 +msgid "One original photo could not be adjusted." +msgid_plural "The following original photos could not be adjusted." +msgstr[0] "Uma foto original não pôde ser ajustada." +msgstr[1] "As seguintes fotos originais não puderam ser ajustadas." + +#: src/Commands.vala:1401 src/Commands.vala:1425 +msgid "Time Adjustment Error" +msgstr "Erro de ajuste de hora" + +#: src/Commands.vala:1423 +msgid "Time adjustments could not be undone on the following photo file." +msgid_plural "" +"Time adjustments could not be undone on the following photo files." +msgstr[0] "" +"Os ajustes de hora não puderam ser desfeitos no seguinte arquivo de foto." +msgstr[1] "" +"Os ajustes de hora não puderam ser desfeitos nos seguintes arquivos de fotos." + +#: src/Commands.vala:1637 src/Commands.vala:1660 +msgid "Create Tag" +msgstr "Criar etiqueta" + +#: src/Commands.vala:1695 +#, c-format +msgid "Move Tag \"%s\"" +msgstr "Mover etiqueta \"%s\"" + +#: src/Commands.vala:2347 +msgid "Move Photos to Trash" +msgstr "Mover fotos para a lixeira" + +#: src/Commands.vala:2347 +msgid "Restore Photos from Trash" +msgstr "Restaurar fotos da lixeira" + +#: src/Commands.vala:2348 +msgid "Move the photos to the Shotwell trash" +msgstr "Mover as fotos para a lixeira do Shotwell" + +#: src/Commands.vala:2348 +msgid "Restore the photos back to the Shotwell library" +msgstr "Restaurar as fotos selecionadas para a biblioteca" + +#: src/Commands.vala:2367 +msgid "Moving Photos to Trash" +msgstr "Movendo fotos para a lixeira" + +#: src/Commands.vala:2367 +msgid "Restoring Photos From Trash" +msgstr "Restaurando fotos da lixeira" + +#: src/Commands.vala:2453 +msgid "Flag selected photos" +msgstr "Marcar fotos selecionadas" + +#: src/Commands.vala:2454 +msgid "Unflag selected photos" +msgstr "Desmarcar fotos selecionadas" + +#: src/Commands.vala:2455 +msgid "Flagging selected photos" +msgstr "Marcando fotos selecionadas" + +#: src/Commands.vala:2456 +msgid "Unflagging selected photos" +msgstr "Desmarcando fotos selecionadas" + +#: src/Commands.vala:2463 +msgid "Flag" +msgstr "Marcar" + +#: src/Commands.vala:2463 +msgid "Unflag" +msgstr "Desmarcar" + +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "Base de dados %s" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "A importação de %s não pode continuar porque ocorreu um erro:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "Para tentar importar de outro serviço, selecione um no menu acima." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"Você no possui nenhum plug-ins de importação de dados ativados.\n" +"\n" +"Para utilizar a funcionalidade de importação do aplicativo, você precisará " +"ter pelo menos um plug-in de importações de dados habilitado. Plug-ins pode " +"ser ativado na caixa de diálogo Preferências." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Arquivo de banco de dados:" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:904 +msgid "_Import" +msgstr "Parar _importação" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Importação de aplicativo" + +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "Impo_rtação de mídia de:" + +#: src/data_imports/DataImportsUI.vala:408 src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "Fe_char" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Importação de dados" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "" +"Não foi possível abrir/criar banco de dados de foto %s: código de erro %d" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"Não foi possível gravar no arquivo de banco de dados de fotos:\n" +" %s" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"Erro acessando o arquivo de banco de dados:\n" +" %s\n" +"\n" +"O erro foi: \n" +"%s" + +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "Não foi possível restaurar o banco de dados de fotos %s" + +#: src/DesktopIntegration.vala:121 +#, c-format +msgid "Unable to launch Nautilus Send-To: %s" +msgstr "Não é possível iniciar o Nautilus Enviar-Para: %s" + +#: src/DesktopIntegration.vala:129 +msgid "Send To" +msgstr "Enviar para" + +#: src/DesktopIntegration.vala:174 +#, c-format +msgid "Unable to export background to %s: %s" +msgstr "Não foi possível exportar em segundo plano %s: %s" + +#: src/DesktopIntegration.vala:311 +#, c-format +msgid "Unable to prepare desktop slideshow: %s" +msgstr "" +"Não foi possível preparar a apresentação de slides da área de trabalho: %s" + +#: src/Dialogs.vala:16 +#, c-format +msgid "This will remove the tag \"%s\" from one photo. Continue?" +msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" +msgstr[0] "Isto irá remover a etiqueta \"%s\" de uma foto. Continuar?" +msgstr[1] "Isto irá remover a etiqueta \"%s\" de %d fotos. Continuar?" + +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1393 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 +msgid "_Delete" +msgstr "_Apagar" + +#: src/Dialogs.vala:25 +#, c-format +msgid "This will remove the saved search \"%s\". Continue?" +msgstr "Isto irá remover a pesquisa salva \"%s\". Continuar?" + +#: src/Dialogs.vala:36 +msgid "" +"Switching developers will undo all changes you have made to this photo in " +"Shotwell" +msgid_plural "" +"Switching developers will undo all changes you have made to these photos in " +"Shotwell" +msgstr[0] "" +"Mudar os desenvolvedores irá desfazer todas as alterações feitas para esta " +"foto no Shotwell" +msgstr[1] "" +"Mudar os desenvolvedores irá desfazer todas as alterações feitas para estas " +"fotos no Shotwell" + +#: src/Dialogs.vala:40 +msgid "_Switch Developer" +msgstr "_Mudar Desenvolvedor" + +#: src/Dialogs.vala:59 +msgid "Export Video" +msgstr "Exportar vídeo" + +#. Ticket #3023 +#. Attempt to replace the system error with something friendlier +#. if we can't copy an image over for editing in an external tool. +#. Did we fail because we can't write to this directory? +#. Yes - display an alternate error message here. +#: src/Dialogs.vala:116 +#, c-format +msgid "" +"Shotwell couldn't create a file for editing this photo because you do not " +"have permission to write to %s." +msgstr "" +"O Shotwell não pôde criar um arquivo para edição desta foto pelo fato de " +"você não possuir permissão de gravação em %s." + +#: src/Dialogs.vala:125 +msgid "" +"Unable to export the following photo due to a file error.\n" +"\n" +msgstr "" +"Não foi possível exportar a seguinte foto, término com erro de arquivo.\n" +"\n" + +#: src/Dialogs.vala:131 +msgid "" +"\n" +"\n" +"Would you like to continue exporting?" +msgstr "" +"\n" +"\n" +"Você deseja continuar exportando?" + +#. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really +#. aren't formats so much as they are operating modes that determine specific formats. +#. Hereafter we'll refer to these as "special formats." +#: src/Dialogs.vala:148 +msgid "Unmodified" +msgstr "Não modificado" + +#: src/Dialogs.vala:149 +msgid "Current" +msgstr "Atual" + +#. layout controls +#: src/Dialogs.vala:216 +msgid "_Format:" +msgstr "_Formato:" + +#: src/Dialogs.vala:219 +msgid "_Quality:" +msgstr "_Qualidade:" + +#: src/Dialogs.vala:222 +msgid "_Scaling constraint:" +msgstr "Re_strição de dimensionamento:" + +#: src/Dialogs.vala:225 +msgid "_Pixels:" +msgstr "_Pixels:" + +#: src/Dialogs.vala:228 +msgid "Export metadata" +msgstr "Exportar metadados" + +#: src/Dialogs.vala:462 +msgid "Save Details..." +msgstr "Salvar Detalhes..." + +#: src/Dialogs.vala:463 +msgid "Save Details" +msgstr "Salvar Detalhes" + +#: src/Dialogs.vala:478 +#, c-format +msgid "(and %d more)\n" msgstr "(e %d outras)\n" -#: ../src/Dialogs.vala:530 +#: src/Dialogs.vala:531 msgid "Import Results Report" msgstr "Importar Formulários de Resultados" -#: ../src/Dialogs.vala:534 +#: src/Dialogs.vala:535 #, c-format msgid "Attempted to import %d file." msgid_plural "Attempted to import %d files." msgstr[0] "Tentada a importação de %d arquivo." msgstr[1] "Tentada a importação de %d arquivos." -#: ../src/Dialogs.vala:537 +#: src/Dialogs.vala:538 #, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." @@ -1591,30 +3144,30 @@ msgstr[1] "Dessa tentativa, %d arquivos foram importados com sucesso." #. #. Duplicates #. -#: ../src/Dialogs.vala:549 +#: src/Dialogs.vala:550 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Duplicar Fotos/Vídeos Não importados:" -#: ../src/Dialogs.vala:553 +#: src/Dialogs.vala:554 msgid "duplicates existing media item" msgstr "duplica itens de mídia existentes" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:564 +#: src/Dialogs.vala:565 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "As Fotos/Vídeos não forma Importadas devido à erros com a Câmera:" -#: ../src/Dialogs.vala:567 ../src/Dialogs.vala:582 ../src/Dialogs.vala:597 -#: ../src/Dialogs.vala:613 ../src/Dialogs.vala:628 ../src/Dialogs.vala:642 +#: src/Dialogs.vala:568 src/Dialogs.vala:583 src/Dialogs.vala:598 +#: src/Dialogs.vala:614 src/Dialogs.vala:629 src/Dialogs.vala:643 msgid "error message:" msgstr "mensagem de erro:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:578 +#: src/Dialogs.vala:579 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "" "Arquivos não foram importados porque não foram reconhecidos como Fotos ou " @@ -1623,7 +3176,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:593 +#: src/Dialogs.vala:594 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1634,7 +3187,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:608 +#: src/Dialogs.vala:609 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" @@ -1642,7 +3195,7 @@ msgstr "" "As Fotos/Vídeos não foram importadas pois o Shotwell não pôde copiá-las para " "sua Biblioteca:" -#: ../src/Dialogs.vala:612 +#: src/Dialogs.vala:613 #, c-format msgid "" "couldn't copy %s\n" @@ -1654,39 +3207,39 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:624 +#: src/Dialogs.vala:625 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "Fotos/Vídeos não importados porque os arquivos estão corrompidos:" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:639 +#: src/Dialogs.vala:640 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "As Fotos/Vídeos não foram importadas por outras razões:" -#: ../src/Dialogs.vala:659 +#: src/Dialogs.vala:660 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" msgstr[0] "1 foto duplicada não foi importada:\n" msgstr[1] "%d fotos duplicadas não foram importadas:\n" -#: ../src/Dialogs.vala:662 +#: src/Dialogs.vala:663 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" msgstr[0] "1 vídeo duplicado não foi importado:\n" msgstr[1] "%d vídeos duplicados não foram importados:\n" -#: ../src/Dialogs.vala:665 +#: src/Dialogs.vala:666 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" msgstr[0] "1 foto/vídeo duplicado não foi importado:\n" msgstr[1] "%d fotos/vídeos duplicados não foram importados:\n" -#: ../src/Dialogs.vala:679 +#: src/Dialogs.vala:680 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1696,7 +3249,7 @@ msgstr[1] "" "%d fotos falharam ao serem importadas, ocorreu um erro de arquivo ou de " "hardware:\n" -#: ../src/Dialogs.vala:682 +#: src/Dialogs.vala:683 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1706,7 +3259,7 @@ msgstr[1] "" "%d vídeos falharam ao serem importados devido a um erro de arquivo ou " "hardware:\n" -#: ../src/Dialogs.vala:685 +#: src/Dialogs.vala:686 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1718,7 +3271,7 @@ msgstr[1] "" "%d fotos/vídeos falharam ao serem importados devido a um erro de arquivo ou " "hardware:\n" -#: ../src/Dialogs.vala:688 +#: src/Dialogs.vala:689 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1728,7 +3281,7 @@ msgstr[1] "" "%d arquivos falharam ao serem importados devido a um erro de arquivo ou " "hardware:\n" -#: ../src/Dialogs.vala:702 +#: src/Dialogs.vala:703 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1742,7 +3295,7 @@ msgstr[1] "" "%d fotos falharam ao serem importadas pelo fato da pasta de biblioteca de " "fotos não ser gravável:\n" -#: ../src/Dialogs.vala:705 +#: src/Dialogs.vala:706 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1756,7 +3309,7 @@ msgstr[1] "" "%d vídeos falharam ao serem importados pelo fato da pasta de biblioteca de " "fotos não ser gravável:\n" -#: ../src/Dialogs.vala:708 +#: src/Dialogs.vala:709 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1771,7 +3324,7 @@ msgstr[1] "" "%d fotos/vídeos falharam ao serem importados pelo fato da pasta de " "biblioteca de fotos não ser gravável:\n" -#: ../src/Dialogs.vala:711 +#: src/Dialogs.vala:712 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1785,14 +3338,14 @@ msgstr[1] "" "%d arquivos falharam ao serem importados pelo fato da pasta de biblioteca de " "fotos não ser gravável:\n" -#: ../src/Dialogs.vala:725 +#: src/Dialogs.vala:726 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" msgstr[0] "1 foto falhou ao ser importada, ocorreu um erro de câmera:\n" msgstr[1] "%d fotos falharam ao serem importadas, ocorreu um erro de câmera:\n" -#: ../src/Dialogs.vala:728 +#: src/Dialogs.vala:729 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" @@ -1800,7 +3353,7 @@ msgstr[0] "1 vídeo falhou ao ser importado devido a um erro da câmera:\n" msgstr[1] "" "%d vídeos falharam ao serem importados devido a um erro da câmera:\n" -#: ../src/Dialogs.vala:731 +#: src/Dialogs.vala:732 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" @@ -1808,7 +3361,7 @@ msgstr[0] "1 foto/vídeo falhou ao ser importado devido a um erro da câmera:\n" msgstr[1] "" "%d fotos/vídeos falharam ao serem importados devido a um erro da câmera:\n" -#: ../src/Dialogs.vala:734 +#: src/Dialogs.vala:735 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" @@ -1816,21 +3369,21 @@ msgstr[0] "1 arquivo falhou ao ser importado devido a um erro da câmera:\n" msgstr[1] "" "%d arquivos falharam ao serem importados devido a um erro da câmera:\n" -#: ../src/Dialogs.vala:748 +#: src/Dialogs.vala:749 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" msgstr[0] "1 foto falhou na importação porque estava corrompida:\n" msgstr[1] "%d fotos falharam na importação porque estavam corrompidas:\n" -#: ../src/Dialogs.vala:751 +#: src/Dialogs.vala:752 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" msgstr[0] "1 vídeo falhou na importação porque estava corrompido:\n" msgstr[1] "%d vídeos falharam na importação porque estavam corrompidos:\n" -#: ../src/Dialogs.vala:754 +#: src/Dialogs.vala:755 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" @@ -1838,7 +3391,7 @@ msgstr[0] "1 foto/vídeo falhou na importação porque estava corrompido(a):\n" msgstr[1] "" "%d vídeos/fotos falharam na importação porque estavam corrompidos:\n" -#: ../src/Dialogs.vala:757 +#: src/Dialogs.vala:758 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1849,7 +3402,7 @@ msgstr[1] "%d arquivos falharam na importação porque estavam corrompidos:\n" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:774 +#: src/Dialogs.vala:775 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1858,56 +3411,56 @@ msgstr[1] "%d fotos sem suporte foram puladas:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:789 +#: src/Dialogs.vala:790 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" msgstr[0] "Pulando um arquivo não-imagem.\n" msgstr[1] "Pulando %d arquivos não-imagem.\n" -#: ../src/Dialogs.vala:800 +#: src/Dialogs.vala:801 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" msgstr[0] "1 foto pulada pelo cancelamento do usuário:\n" msgstr[1] "%d fotos puladas pelo cancelamento do usuário:\n" -#: ../src/Dialogs.vala:803 +#: src/Dialogs.vala:804 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" msgstr[0] "1 vídeo ignorado por cancelamento do usuário:\n" msgstr[1] "%d vídeos ignorados por cancelamento do usuário:\n" -#: ../src/Dialogs.vala:806 +#: src/Dialogs.vala:807 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" msgstr[0] "1 foto/vídeo ignorado por cancelamento do usuário:\n" msgstr[1] "%d fotos/vídeos ignorados por cancelamento do usuário:\n" -#: ../src/Dialogs.vala:809 +#: src/Dialogs.vala:810 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" msgstr[0] "1 arquivo ignorado por cancelamento do usuário:\n" msgstr[1] "%d arquivos ignorados por cancelamento do usuário:\n" -#: ../src/Dialogs.vala:823 +#: src/Dialogs.vala:824 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" msgstr[0] "1 foto foi importada com sucesso.\n" msgstr[1] "%d fotos foram importadas com sucesso.\n" -#: ../src/Dialogs.vala:826 +#: src/Dialogs.vala:827 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" msgstr[0] "1 vídeo importado com sucesso.\n" msgstr[1] "%d vídeos importados com sucesso.\n" -#: ../src/Dialogs.vala:829 +#: src/Dialogs.vala:830 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1916,93 +3469,89 @@ msgstr[1] "%d fotos/vídeos importados com sucesso.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:845 +#: src/Dialogs.vala:846 msgid "No photos or videos imported.\n" msgstr "Sem fotos ou vídeos importados.\n" -#: ../src/Dialogs.vala:852 ../src/Dialogs.vala:871 +#: src/Dialogs.vala:853 src/Dialogs.vala:872 msgid "Import Complete" msgstr "Importação concluída" -#: ../src/Dialogs.vala:1157 +#: src/Dialogs.vala:1158 #, c-format msgid "%d second" msgid_plural "%d seconds" msgstr[0] "%d segundo" msgstr[1] "%d segundos" -#: ../src/Dialogs.vala:1160 +#: src/Dialogs.vala:1161 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d minuto" msgstr[1] "%d minutes" -#: ../src/Dialogs.vala:1164 +#: src/Dialogs.vala:1165 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "%d hora" msgstr[1] "%d horas" -#: ../src/Dialogs.vala:1167 +#: src/Dialogs.vala:1168 msgid "1 day" msgstr "1 dia" -#: ../src/Dialogs.vala:1321 ../src/Resources.vala:231 +#: src/Dialogs.vala:1322 src/Resources.vala:231 msgid "Rename Event" msgstr "Renomear evento" -#: ../src/Dialogs.vala:1321 +#: src/Dialogs.vala:1322 msgid "Name:" msgstr "Nome:" #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1332 ../src/Resources.vala:303 +#: src/Dialogs.vala:1333 +msgctxt "Dialog Title" msgid "Edit Title" msgstr "Editar título" -#: ../src/Dialogs.vala:1333 ../src/Properties.vala:340 +#: src/Dialogs.vala:1334 src/Properties.vala:340 msgid "Title:" msgstr "Título:" #. Dialog title -#: ../src/Dialogs.vala:1349 ../src/Resources.vala:310 +#: src/Dialogs.vala:1350 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Editar comentário de evento" -#: ../src/Dialogs.vala:1350 +#: src/Dialogs.vala:1351 msgid "Edit Photo/Video Comment" msgstr "Editar comentário de foto/vídeo" -#: ../src/Dialogs.vala:1351 ../src/Properties.vala:628 +#: src/Dialogs.vala:1352 src/Properties.vala:628 msgid "Comment:" msgstr "Comentário:" -#: ../src/Dialogs.vala:1367 +#: src/Dialogs.vala:1368 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "Remover e _apagar arquivo" msgstr[1] "Remover e _apagar arquivos" -#: ../src/Dialogs.vala:1371 +#: src/Dialogs.vala:1372 msgid "_Remove From Library" msgstr "_Remover da biblioteca" -#: ../src/Dialogs.vala:1391 ../src/camera/ImportPage.vala:1740 -msgid "_Keep" -msgstr "_Manter" - -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1415 msgid "Revert External Edit?" msgstr "Reverter edição externa?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1415 msgid "Revert External Edits?" msgstr "Reverter edições externas?" -#: ../src/Dialogs.vala:1416 +#: src/Dialogs.vala:1417 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -2014,87 +3563,87 @@ msgstr[1] "" "Isto irá destruir todas as alterações feitas para %d arquivos externos. " "Continuar?" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edit" msgstr "Re_verter edição externa" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edits" msgstr "Re_verter edições externas" -#: ../src/Dialogs.vala:1441 +#: src/Dialogs.vala:1442 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" msgstr[0] "Isto irá remover a foto da biblioteca. Continuar?" msgstr[1] "Isto irá remover %d fotos da biblioteca. Continuar?" -#: ../src/Dialogs.vala:1448 ../src/Resources.vala:173 +#: src/Dialogs.vala:1449 src/Resources.vala:173 msgid "_Remove" msgstr "_Remover" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1450 msgid "Remove Photo From Library" msgstr "Remover fotos da biblioteca" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1450 msgid "Remove Photos From Library" msgstr "Remover fotos da biblioteca" -#: ../src/Dialogs.vala:1542 +#: src/Dialogs.vala:1543 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1696 +#: src/Dialogs.vala:1697 msgid "AM" msgstr "AM" -#: ../src/Dialogs.vala:1697 +#: src/Dialogs.vala:1698 msgid "PM" msgstr "PM" -#: ../src/Dialogs.vala:1698 +#: src/Dialogs.vala:1699 msgid "24 Hr" msgstr "24 Hr" -#: ../src/Dialogs.vala:1713 +#: src/Dialogs.vala:1714 msgid "_Shift photos/videos by the same amount" msgstr "De_slocar fotos/vídeos pelo mesmo montante" -#: ../src/Dialogs.vala:1718 +#: src/Dialogs.vala:1719 msgid "Set _all photos/videos to this time" msgstr "Definir tod_as fotos/vídeos para a mesma hora" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1726 msgid "_Modify original photo file" msgstr "_Modificar arquivo original da foto" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1726 msgid "_Modify original photo files" msgstr "_Modificar arquivos originais da foto" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1729 msgid "_Modify original file" msgstr "_Modificar originais" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1729 msgid "_Modify original files" msgstr "_Modificar arquivos originais" -#: ../src/Dialogs.vala:1814 +#: src/Dialogs.vala:1815 msgid "Original: " msgstr "Original: " -#: ../src/Dialogs.vala:1815 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%d/%m/%Y, %H:%M:%S" -#: ../src/Dialogs.vala:1816 +#: src/Dialogs.vala:1817 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%d/%m/%Y, %I:%M:%S %p" -#: ../src/Dialogs.vala:1905 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2103,7 +3652,7 @@ msgstr "" "O tempo de exposição irá ser mudado para frente, por\n" "%d %s, %d %s, %d %s, e %d %s." -#: ../src/Dialogs.vala:1906 +#: src/Dialogs.vala:1907 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2112,31 +3661,31 @@ msgstr "" "O tempo de exposição irá ser mudado para trás, por\n" "%d %s, %d %s, %d %s, e %d %s." -#: ../src/Dialogs.vala:1908 +#: src/Dialogs.vala:1909 msgid "day" msgid_plural "days" msgstr[0] "dia" msgstr[1] "dias" -#: ../src/Dialogs.vala:1909 +#: src/Dialogs.vala:1910 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: ../src/Dialogs.vala:1910 +#: src/Dialogs.vala:1911 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../src/Dialogs.vala:1911 +#: src/Dialogs.vala:1912 msgid "second" msgid_plural "seconds" msgstr[0] "segundo" msgstr[1] "segundos" -#: ../src/Dialogs.vala:1955 +#: src/Dialogs.vala:1956 #, c-format msgid "" "\n" @@ -2155,91 +3704,91 @@ msgstr[1] "" "\n" "e %d outras." -#: ../src/Dialogs.vala:1977 ../src/Dialogs.vala:2004 +#: src/Dialogs.vala:1980 src/Dialogs.vala:2007 msgid "Tags (separated by commas):" msgstr "Etiquetas (separadas por vírgulas):" -#: ../src/Dialogs.vala:2084 +#: src/Dialogs.vala:2087 msgid "Welcome!" msgstr "Bem-vindo!" -#: ../src/Dialogs.vala:2091 +#: src/Dialogs.vala:2094 msgid "Welcome to Shotwell!" msgstr "Bem-vindo ao Shotwell!" -#: ../src/Dialogs.vala:2095 +#: src/Dialogs.vala:2098 msgid "To get started, import photos in any of these ways:" msgstr "Para iniciar, importe fotos de alguma destas formas:" -#: ../src/Dialogs.vala:2114 +#: src/Dialogs.vala:2117 #, c-format msgid "Choose File %s Import From Folder" msgstr "Escolha Arquivo %s Importar de uma pasta" -#: ../src/Dialogs.vala:2115 +#: src/Dialogs.vala:2118 msgid "Drag and drop photos onto the Shotwell window" msgstr "Arraste e solte fotos para dentro da janela do Shotwell" -#: ../src/Dialogs.vala:2116 +#: src/Dialogs.vala:2119 msgid "Connect a camera to your computer and import" msgstr "Conectar uma câmera no seu computador e importe" -#: ../src/Dialogs.vala:2126 +#: src/Dialogs.vala:2129 #, c-format msgid "_Import photos from your %s folder" msgstr "_Importar fotos de seu diretório %s" -#: ../src/Dialogs.vala:2133 +#: src/Dialogs.vala:2136 msgid "You can also import photos in any of these ways:" msgstr "Você também pode importar fotos de alguma destas formas:" -#: ../src/Dialogs.vala:2143 +#: src/Dialogs.vala:2146 msgid "_Don't show this message again" msgstr "Não exibir mais es_ta mensagem" -#: ../src/Dialogs.vala:2178 +#: src/Dialogs.vala:2181 #, c-format msgid "Import photos from your %s library" msgstr "Importar fotos de sua biblioteca %s" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2325 ../src/Dialogs.vala:2329 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2328 src/Dialogs.vala:2332 msgid "(Help)" msgstr "(Ajuda)" -#: ../src/Dialogs.vala:2338 +#: src/Dialogs.vala:2341 #, c-format msgid "Year%sMonth%sDay" msgstr "Ano%sMês%sDia" -#: ../src/Dialogs.vala:2340 +#: src/Dialogs.vala:2343 #, c-format msgid "Year%sMonth" msgstr "Ano%sMês" -#: ../src/Dialogs.vala:2342 +#: src/Dialogs.vala:2345 #, c-format msgid "Year%sMonth-Day" msgstr "Ano%sMês-Dia" -#: ../src/Dialogs.vala:2344 +#: src/Dialogs.vala:2347 msgid "Year-Month-Day" msgstr "Ano-Mês-Dia" -#: ../src/Dialogs.vala:2345 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2348 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Personalizar" #. Invalid pattern. -#: ../src/Dialogs.vala:2582 +#: src/Dialogs.vala:2585 msgid "Invalid pattern" msgstr "Padrão inválido" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2684 +#: src/Dialogs.vala:2687 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2247,31 +3796,31 @@ msgstr "" "Shotwell pode copiar as fotos na sua pasta de biblioteca ou pode importá-los " "sem copiar." -#: ../src/Dialogs.vala:2689 +#: src/Dialogs.vala:2692 msgid "Co_py Photos" msgstr "Co_piar fotos" -#: ../src/Dialogs.vala:2690 +#: src/Dialogs.vala:2693 msgid "_Import in Place" msgstr "_Importar no local" -#: ../src/Dialogs.vala:2691 +#: src/Dialogs.vala:2694 msgid "Import to Library" msgstr "Importar para a biblioteca" -#: ../src/Dialogs.vala:2701 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2704 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Remover da biblioteca" -#: ../src/Dialogs.vala:2702 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2705 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "Removendo fotos da biblioteca" -#: ../src/Dialogs.vala:2702 +#: src/Dialogs.vala:2705 msgid "Removing Photos From Library" msgstr "Removendo fotos da biblioteca" -#: ../src/Dialogs.vala:2716 +#: src/Dialogs.vala:2719 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2294,7 +3843,7 @@ msgstr[1] "" "\n" "Essa ação não poderá ser desfeita." -#: ../src/Dialogs.vala:2720 +#: src/Dialogs.vala:2723 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2313,2773 +3862,2567 @@ msgstr[0] "" "Essa ação não poderá ser desfeita." msgstr[1] "" "Isto irá remover %d vídeos da sua biblioteca Shotwell. Você também gostaria " -"de mover estes arquivos para lixeira?\n" -"\n" -"Essa ação não poderá ser desfeita." - -#: ../src/Dialogs.vala:2724 -#, c-format -msgid "" -"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." -msgid_plural "" -"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." -msgstr[0] "" -"Isto irá remover a foto da sua biblioteca do Shotwell. Você gostaria também " -"de mover o arquivo para a lixeira?\n" -"\n" -"Esta ação não poderá ser desfeita." -msgstr[1] "" -"Isto irá remover %d fotos da sua biblioteca do Shotwell. Você gostaria " -"também mover os arquivos para a lixeira?\n" -"\n" -"Esta ação não poderá ser desfeita." - -#: ../src/Dialogs.vala:2756 -#, c-format -msgid "" -"The photo or video cannot be moved to your desktop trash. Delete this file?" -msgid_plural "" -"%d photos/videos cannot be moved to your desktop trash. Delete these files?" -msgstr[0] "" -"A foto ou vídeo não pode ser movido para lixeira. Excluir esse arquivo?" -msgstr[1] "" -"%d fotos/vídeos não podem ser movidos para lixeira. Excluir esses arquivos?" - -#. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2773 -#, c-format -msgid "The photo or video cannot be deleted." -msgid_plural "%d photos/videos cannot be deleted." -msgstr[0] "A foto ou vídeo não pode ser excluído." -msgstr[1] "%d fotos/vídeos não podem ser excluídos." - -#: ../src/Dimensions.vala:23 -msgid "Width" -msgstr "Largura" - -#: ../src/Dimensions.vala:26 -msgid "Height" -msgstr "Altura" - -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "Não foi possível monitorar %s: Não é um diretório (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Evento %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "Não foi possível gerar um arquivo temporário para %s: %s" - -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "Exportando" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "%s já existe. Sobrescrever?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_Ignorar" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "_Substituir" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "Sobrescrever _todas" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Exportar" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "Não foi possível processar as atualizações monitoradas: %s" - -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Ajustar o tamanho das miniaturas" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2591 -#: ../src/Resources.vala:183 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "Ampl_iar" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Aumentar a ampliação das miniaturas" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2597 -#: ../src/Resources.vala:184 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "Redu_zir" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Diminuir a ampliação das miniaturas" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "Ordenar _fotos" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "_Reproduzir vídeo" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "Abra os vídeos selecionados no reprodutor de vídeo do sistema" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2640 -msgid "_Developer" -msgstr "_Desenvolvedor" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:710 ../src/camera/ImportPage.vala:726 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Câmera" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:873 -msgid "_Titles" -msgstr "_Títulos" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:874 -msgid "Display the title of each photo" -msgstr "Exibe o título de cada foto" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "_Comentários" - -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Exibe o comentário de cada foto" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:359 -msgid "Ta_gs" -msgstr "Eti_quetas" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Exibe as etiquetas de cada foto" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Por _título" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Ordena as fotos por título" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "Por _data de exposição" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Ordena as fotos por data de exposição" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Por _avaliação" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Ordena as fotos por avaliação" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Por _nome de arquivo" - -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Ordena as fotos por nome do arquivo" - -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:405 -msgid "_Ascending" -msgstr "_Ascendente" - -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:406 -msgid "Sort photos in an ascending order" -msgstr "Ordena as fotos em ordem ascendente" - -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:412 -msgid "D_escending" -msgstr "D_escendente" +"de mover estes arquivos para lixeira?\n" +"\n" +"Essa ação não poderá ser desfeita." -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:413 -msgid "Sort photos in a descending order" -msgstr "Ordena as fotos em ordem descendente" +#: src/Dialogs.vala:2727 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +"Isto irá remover a foto da sua biblioteca do Shotwell. Você gostaria também " +"de mover o arquivo para a lixeira?\n" +"\n" +"Esta ação não poderá ser desfeita." +msgstr[1] "" +"Isto irá remover %d fotos da sua biblioteca do Shotwell. Você gostaria " +"também mover os arquivos para a lixeira?\n" +"\n" +"Esta ação não poderá ser desfeita." -#: ../src/MediaPage.vala:723 +#: src/Dialogs.vala:2759 #, c-format msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"Shotwell foi incapaz de reproduzir o vídeo selecionado:\n" -"%s" +"The photo or video cannot be moved to your desktop trash. Delete this file?" +msgid_plural "" +"%d photos/videos cannot be moved to your desktop trash. Delete these files?" +msgstr[0] "" +"A foto ou vídeo não pode ser movido para lixeira. Excluir esse arquivo?" +msgstr[1] "" +"%d fotos/vídeos não podem ser movidos para lixeira. Excluir esses arquivos?" -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "Sem fotos/vídeos" +#. Alert the user that the files were not removed. +#: src/Dialogs.vala:2776 +#, c-format +msgid "The photo or video cannot be deleted." +msgid_plural "%d photos/videos cannot be deleted." +msgstr[0] "A foto ou vídeo não pode ser excluído." +msgstr[1] "%d fotos/vídeos não podem ser excluídos." -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "Sem fotos/vídeos encontrados" +#: src/Dimensions.vala:23 +msgid "Width" +msgstr "Largura" -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "Fotos não podem ser exportadas para este diretório." +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "Altura" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "modificado" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Arquivo" -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Foto anterior" +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "_Salvar" -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Próxima foto" +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Salvar foto" -#: ../src/PhotoPage.vala:1845 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Faltando arquivo fonte da foto: %s" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "Salvar _como..." -#: ../src/PhotoPage.vala:2412 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:343 -msgid "_View" -msgstr "_Ver" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Salva a foto com um nome diferente" + +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Imprime a foto em uma impressora conectada em seu computador" + +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "_Editar" + +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_Foto" -#: ../src/PhotoPage.vala:2416 ../src/direct/DirectPhotoPage.vala:81 +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 msgid "T_ools" msgstr "F_erramentas" -#: ../src/PhotoPage.vala:2421 ../src/direct/DirectPhotoPage.vala:86 +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "Foto a_nterior" -#: ../src/PhotoPage.vala:2422 ../src/direct/DirectPhotoPage.vala:87 +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "Foto anterior" -#: ../src/PhotoPage.vala:2427 ../src/direct/DirectPhotoPage.vala:92 +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "Próxi_ma foto" -#: ../src/PhotoPage.vala:2428 ../src/direct/DirectPhotoPage.vala:93 +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "Próxima foto" -#: ../src/PhotoPage.vala:2592 ../src/direct/DirectPhotoPage.vala:175 +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Ver" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "A_juda" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "Ampl_iar" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "Aumentar a ampliação da foto" -#: ../src/PhotoPage.vala:2598 ../src/direct/DirectPhotoPage.vala:181 +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "Redu_zir" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "Diminuir a ampliação da foto" -#: ../src/PhotoPage.vala:2603 ../src/direct/DirectPhotoPage.vala:186 +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "Adaptar à _Página" -#: ../src/PhotoPage.vala:2604 ../src/direct/DirectPhotoPage.vala:187 +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "Ampliar a foto para se adaptar à tela" -#: ../src/PhotoPage.vala:2610 ../src/direct/DirectPhotoPage.vala:193 +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "Ampliação _100%" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:195 +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Ampliar a foto em 100%" -#: ../src/PhotoPage.vala:2618 ../src/direct/DirectPhotoPage.vala:201 +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "Ampliação _200%" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:203 +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Ampliar a foto em 200%" -#: ../src/PhotoPage.vala:3229 +#: src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "Unable to export %s: %s" -msgstr "Não foi possível exportar %s: %s" - -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Enviar a página toda" - -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 imagens por página" - -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 imagens por página" - -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 imagens por página" - -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 imagens por página" - -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 imagens por página" - -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 imagens por página" - -#: ../src/Printing.vala:348 -msgid "in." -msgstr "pol." - -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" - -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 -msgid "Wallet (2 x 3 in.)" -msgstr "Carteira (2 x 3 pol.)" - -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 -msgid "Notecard (3 x 5 in.)" -msgstr "Cartão de notas (3 x 5 pol.)" - -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 -msgid "4 x 6 in." -msgstr "4 x 6 pol." - -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 -msgid "5 x 7 in." -msgstr "5 x 7 pol." - -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 -msgid "8 x 10 in." -msgstr "8 x 10 pol." - -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 -msgid "11 x 14 in." -msgstr "11 x 14 pol." - -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 -msgid "16 x 20 in." -msgstr "16 x 20 pol." - -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 -msgid "Metric Wallet (9 x 13 cm)" -msgstr "Carteira Métrica (9 x 13 cm)" - -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 -msgid "Postcard (10 x 15 cm)" -msgstr "Cartão postal (10 x 15 cm)" - -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 -msgid "13 x 18 cm" -msgstr "13 x 18 cm" - -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 -msgid "18 x 24 cm" -msgstr "18 x 24 cm" - -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 -msgid "20 x 30 cm" -msgstr "20 x 30 cm" - -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 -msgid "24 x 40 cm" -msgstr "24 x 40 cm" - -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 -msgid "30 x 40 cm" -msgstr "30 x 40 cm" - -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Configurações da imagem" +msgid "%s does not exist." +msgstr "%s não existe." -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "Imprimindo..." +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s não é um arquivo." -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 +#: src/direct/DirectPhotoPage.vala:231 #, c-format msgid "" -"Unable to print photo:\n" -"\n" -"%s" +"%s does not support the file format of\n" +"%s." msgstr "" -"Não foi possível imprimir foto: \n" -"\n" -"%s" - -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Hoje" - -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Ontem" - -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:311 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" - -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Itens:" +"%s não oferece suporte ao formato do arquivo de\n" +"%s." -#: ../src/Properties.vala:346 +#: src/direct/DirectPhotoPage.vala:248 #, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d evento" -msgstr[1] "%d eventos" +msgid "Unable open photo %s. Sorry." +msgstr "Não foi possível abrir a foto %s. Desculpe-me." -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 -#, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "%d foto" -msgstr[1] "%d fotos" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "_Salvar uma cópia" -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 +#: src/direct/DirectPhotoPage.vala:435 #, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d vídeo" -msgstr[1] "%d vídeos" +msgid "Lose changes to %s?" +msgstr "Descartar alterações para %s?" -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Data:" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Fechar s_em salvar" -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Hora:" +#: src/direct/DirectPhotoPage.vala:469 +#, c-format +msgid "Error while saving to %s: %s" +msgstr "Erro ao salvar para %s: %s" -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "De:" +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Salvar como" -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "Para:" +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 +#, c-format +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "Não foi possível monitorar %s: Não é um diretório (%s)" -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1872 -msgid "Size:" -msgstr "Tamanho:" +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Retornar a foto para as dimensões atuais" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Duração:" +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Definir o corte para esta foto" -#: ../src/Properties.vala:404 -#, c-format -msgid "%.1f seconds" -msgstr "%.1f segundos" +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "Corte de retângulo dinâmico entre o retrato e a orientação da paisagem" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Desenvolvedor:" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Sem restrições" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2240 -msgid "Exposure:" -msgstr "Exposição:" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Quadrado" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Localização:" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Tela" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Tamanho do arquivo:" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Desenvolvimento atual:" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "SD Video (4 : 3)" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Dimensões originais:" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "HD Video (16 : 9)" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Câmera:" +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "Carteira (2 x 3 pol.)" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Modelo da câmera:" +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "Cartão de notas (3 x 5 pol.)" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Flash:" +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "4 x 6 pol." -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Comprimento focal:" +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "5 x 7 pol." -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Data de exposição:" +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "8 x 10 pol." -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Horário da exposição:" +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Carta (8.5 x 11 in.)" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Exposição bias:" +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "11 x 14 pol." -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "Latitude do GPS:" +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloide (11 x 17 in.)" -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "Longitude do GPS:" +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "16 x 20 pol." -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Artista:" +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "Carteira Métrica (9 x 13 cm)" -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Copyright:" +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "Cartão postal (10 x 15 cm)" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Software:" +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "13 x 18 cm" -#: ../src/Properties.vala:641 -msgid "Extended Information" -msgstr "Informações estendidas" +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "18 x 24 cm" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Organizador de fotos" +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 x 297 mm)" -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Visualizador de fotos" +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "20 x 30 cm" -#: ../src/Resources.vala:139 -msgid "Rotate _Right" -msgstr "Girar à _direita" +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "24 x 40 cm" -#: ../src/Resources.vala:140 ../src/Resources.vala:145 -msgid "Rotate" -msgstr "Girar" +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "30 x 40 cm" -#: ../src/Resources.vala:141 -msgid "Rotate Right" -msgstr "Girar à direita" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A4 (210 x 297 mm)" -#: ../src/Resources.vala:142 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "Gira as fotos para direita (pressione Ctrl para girar para esquerda)" +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "Tamanho:" -#: ../src/Resources.vala:144 -msgid "Rotate _Left" -msgstr "Girar à _esquerda" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Fechar ferramenta de olhos vermelhos" -#: ../src/Resources.vala:146 -msgid "Rotate Left" -msgstr "Girar à esquerda" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Remove qualquer efeito de olhos vermelhos na região selecionada" -#: ../src/Resources.vala:147 -msgid "Rotate the photos left" -msgstr "Gira a foto para a esquerda" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_Reiniciar" -#: ../src/Resources.vala:149 -msgid "Flip Hori_zontally" -msgstr "Inverter hori_zontalmente" +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "Exposição:" -#: ../src/Resources.vala:150 -msgid "Flip Horizontally" -msgstr "Inverter horizontalmente" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Saturação:" -#: ../src/Resources.vala:152 -msgid "Flip Verti_cally" -msgstr "Inverter verti_calmente" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Colorir:" -#: ../src/Resources.vala:153 -msgid "Flip Vertically" -msgstr "Inverter verticalmente" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Temperatura:" -#: ../src/Resources.vala:155 -msgid "_About" -msgstr "S_obre" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Sombras:" -#: ../src/Resources.vala:156 -msgid "_Apply" -msgstr "_Aplicar" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Destaques:" -#: ../src/Resources.vala:159 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:339 -msgid "_Edit" -msgstr "_Editar" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Reiniciar cores" -#: ../src/Resources.vala:160 -msgid "_Forward" -msgstr "A_vançar" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Reiniciar todos os ajustes de cores para o original" -#: ../src/Resources.vala:161 -msgid "Fulls_creen" -msgstr "Tela _cheia" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Temperatura" -#: ../src/Resources.vala:162 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:363 -msgid "_Help" -msgstr "A_juda" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Colorir" -#: ../src/Resources.vala:163 -msgid "Leave _Fullscreen" -msgstr "Sair da _tela cheia" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Saturação" -#: ../src/Resources.vala:164 ../src/Resources.vala:366 -msgid "_New" -msgstr "_Nova" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Exposição" -#: ../src/Resources.vala:165 -msgid "_Next" -msgstr "_Próximo" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Sombras" -#: ../src/Resources.vala:166 -msgid "_OK" -msgstr "_OK" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Destaques" -#: ../src/Resources.vala:167 -msgid "_Play" -msgstr "_Reproduzir" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Expansão de contraste" -#: ../src/Resources.vala:168 ../src/Resources.vala:320 -msgid "_Preferences" -msgstr "_Preferências" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Ângulo:" -#: ../src/Resources.vala:169 -msgid "_Previous" -msgstr "_Anterior" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "En_direitar" -#: ../src/Resources.vala:170 -msgid "_Print" -msgstr "Im_primir" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "Eventos" -#: ../src/Resources.vala:171 -msgid "_Quit" -msgstr "_Sair" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d fotos/vídeos" +msgstr[1] "%d foto/vídeo" -#: ../src/Resources.vala:172 -msgid "_Refresh" -msgstr "Atualiza_r" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d vídeo" +msgstr[1] "%d vídeos" -#: ../src/Resources.vala:174 -msgid "_Revert" -msgstr "_Reverter" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "%d foto" +msgstr[1] "%d fotos" -#: ../src/Resources.vala:175 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save" -msgstr "_Salvar" +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "Nenhum Evento" -#: ../src/Resources.vala:176 -msgid "Save _As" -msgstr "_Salvar como" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "_Comentários" -#: ../src/Resources.vala:177 -msgid "Sort _Ascending" -msgstr "Ordem _crescente" +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Exibir o comentário de cada evento" -#: ../src/Resources.vala:178 -msgid "Sort _Descending" -msgstr "Ordem _decrescente" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "Sem eventos" -#: ../src/Resources.vala:179 -msgid "_Stop" -msgstr "_Parar" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "Sem eventos encontrados" -#: ../src/Resources.vala:180 -msgid "_Undelete" -msgstr "Rec_uperar" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Todos eventos" -#: ../src/Resources.vala:181 -msgid "_Normal Size" -msgstr "Tamanho _normal" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Sem data" -#: ../src/Resources.vala:182 -msgid "Best _Fit" -msgstr "Melhor aj_uste" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:186 -msgid "_Enhance" -msgstr "_Melhorar" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -#: ../src/Resources.vala:187 -msgid "Enhance" -msgstr "Melhorar" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Evento %s" -#: ../src/Resources.vala:188 -msgid "Automatically improve the photo's appearance" -msgstr "Melhora automaticamente a aparência da foto" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "Não foi possível gerar um arquivo temporário para %s: %s" -#: ../src/Resources.vala:190 -msgid "_Copy Color Adjustments" -msgstr "_Copiar ajustes de cor" +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "Exportando" -#: ../src/Resources.vala:191 -msgid "Copy Color Adjustments" -msgstr "Copiar ajustes de cor" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "%s já existe. Sobrescrever?" -#: ../src/Resources.vala:192 -msgid "Copy the color adjustments applied to the photo" -msgstr "Copiar os ajustes de cor aplicados na foto" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "_Ignorar" -#: ../src/Resources.vala:194 -msgid "_Paste Color Adjustments" -msgstr "C_olar ajustes de cor" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "_Substituir" -#: ../src/Resources.vala:195 -msgid "Paste Color Adjustments" -msgstr "Colar ajustes de cor" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "Sobrescrever _todas" -#: ../src/Resources.vala:196 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Aplicar ajustes de cor copiados nas fotos selecionadas" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "Exportar" -#: ../src/Resources.vala:198 -msgid "_Crop" -msgstr "_Cortar" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Pastas" -#: ../src/Resources.vala:199 -msgid "Crop" -msgstr "Cortar" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "Biblioteca" -#: ../src/Resources.vala:200 -msgid "Crop the photo's size" -msgstr "Corta o tamanho da foto" +#: src/library/Branch.vala:97 src/SearchFilter.vala:608 +#: src/SearchFilter.vala:609 +msgid "Photos" +msgstr "Fotos" -#: ../src/Resources.vala:202 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "En_direitar" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:602 +#: src/SearchFilter.vala:603 src/SearchFilter.vala:1188 +msgid "Flagged" +msgstr "Marcadas" -#: ../src/Resources.vala:203 -msgid "Straighten" -msgstr "Endireitar" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "Importando..." -#: ../src/Resources.vala:204 -msgid "Straighten the photo" -msgstr "Endireita foto" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "Pa_rar importação" -#: ../src/Resources.vala:206 -msgid "_Red-eye" -msgstr "Olhos ve_rmelhos" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Parar importação de fotos" -#: ../src/Resources.vala:207 -msgid "Red-eye" -msgstr "Olhos vermelhos" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "Preparando para importar..." -#: ../src/Resources.vala:208 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Reduz ou elimina qualquer efeito de olhos vermelhos na foto" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "Importado %s" -#: ../src/Resources.vala:210 -msgid "_Adjust" -msgstr "_Ajustar" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Última importação" -#: ../src/Resources.vala:211 -msgid "Adjust" -msgstr "Ajustar" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "_Importar da pasta..." -#: ../src/Resources.vala:212 -msgid "Adjust the photo's color and tone" -msgstr "Ajusta a cor e os tons das fotos" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Importar fotos do disco para a biblioteca" -#: ../src/Resources.vala:214 -msgid "Re_vert to Original" -msgstr "Re_verter para o original" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Importação de _aplicativo..." -#: ../src/Resources.vala:215 -msgid "Revert to Original" -msgstr "Reverter para o original" +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "Ordenar _eventos" -#: ../src/Resources.vala:217 -msgid "Revert External E_dits" -msgstr "Reverter e_dição externa" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "Esvaziar l_ixeira" -#: ../src/Resources.vala:218 -msgid "Revert to the master photo" -msgstr "Reverter para a foto mestre" +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Apaga todas as fotos na lixeira" -#: ../src/Resources.vala:220 -msgid "Set as _Desktop Background" -msgstr "Definir como _plano de fundo da área de trabalho" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "Ver eve_nto para foto" -#: ../src/Resources.vala:221 -msgid "Set selected image to be the new desktop background" -msgstr "" -"Definir a imagem selecionada como um novo plano de fundo da área de trabalho" +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Localizar" -#: ../src/Resources.vala:222 -msgid "Set as _Desktop Slideshow..." -msgstr "Definir como exibição de sli_des da área de trabalho..." +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Localiza fotos e vídeos através de pesquisa" -#: ../src/Resources.vala:224 -msgid "_Undo" -msgstr "Des_fazer" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "No_va pesquisa salva..." -#: ../src/Resources.vala:225 -msgid "Undo" -msgstr "Desfazer" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_Fotos" -#: ../src/Resources.vala:227 -msgid "_Redo" -msgstr "_Refazer" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "Even_tos" -#: ../src/Resources.vala:228 -msgid "Redo" -msgstr "Refazer" +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "Eti_quetas" -#: ../src/Resources.vala:230 -msgid "Re_name Event..." -msgstr "Re_nomear evento..." +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "Informações _básicas" -#: ../src/Resources.vala:233 -msgid "Make _Key Photo for Event" -msgstr "Designar f_oto como chave para evento" +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Exibe informações básicas para a seleção" -#: ../src/Resources.vala:234 -msgid "Make Key Photo for Event" -msgstr "Designa a foto como chave para evento" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "Informações _estendidas" -#: ../src/Resources.vala:236 -msgid "_New Event" -msgstr "_Novo evento" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Exibe informações estendidas para a seleção" -#: ../src/Resources.vala:237 -msgid "New Event" -msgstr "Novo evento" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "Barra de pe_squisa" -#: ../src/Resources.vala:239 -msgid "Move Photos" -msgstr "Mover fotos" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Exibe a barra de pesquisa" -#: ../src/Resources.vala:240 -msgid "Move photos to an event" -msgstr "Mover as fotos selecionadas para um evento" +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "Ba_rra lateral" -#: ../src/Resources.vala:242 -msgid "_Merge Events" -msgstr "_Unir eventos" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Exibe a barra lateral" -#: ../src/Resources.vala:243 -msgid "Merge" -msgstr "Unir" +#: src/library/LibraryWindow.vala:398 +msgid "T_oolbar" +msgstr "Barra de _ferramentas" -#: ../src/Resources.vala:244 -msgid "Combine events into a single event" -msgstr "Combinar eventos em um único evento" +#: src/library/LibraryWindow.vala:399 +msgid "Display the tool bar" +msgstr "Exibe a barra ferramentas" -#: ../src/Resources.vala:246 -msgid "_Set Rating" -msgstr "A_valiar" +#: src/library/LibraryWindow.vala:411 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "_Ascendente" -#: ../src/Resources.vala:247 -msgid "Set Rating" -msgstr "Avaliar" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Ordena as fotos em ordem ascendente" -#: ../src/Resources.vala:248 -msgid "Change the rating of your photo" -msgstr "Alterar a avaliação da foto" +#: src/library/LibraryWindow.vala:418 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "D_escendente" -#: ../src/Resources.vala:250 -msgid "_Increase" -msgstr "_Aumentar" +#: src/library/LibraryWindow.vala:419 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Ordena as fotos em ordem descendente" -#: ../src/Resources.vala:251 -msgid "Increase Rating" -msgstr "Aumentar avaliação" +#: src/library/LibraryWindow.vala:657 +msgid "Import From Folder" +msgstr "Importa da pasta" -#: ../src/Resources.vala:253 -msgid "_Decrease" -msgstr "_Diminuir" +#: src/library/LibraryWindow.vala:726 +msgid "Empty Trash" +msgstr "Esvaziar lixeira" -#: ../src/Resources.vala:254 -msgid "Decrease Rating" -msgstr "Diminuir avaliação" +#: src/library/LibraryWindow.vala:726 +msgid "Emptying Trash..." +msgstr "Esvaziando lixeira..." -#: ../src/Resources.vala:256 -msgid "_Unrated" -msgstr "_Sem avaliação" +#: src/library/LibraryWindow.vala:901 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"Shotwell está configurado para importar fotos para sua pasta pessoal.\n" +"Nós recomendamos que altere isso nas Preferências do " +"%s.\n" +"Você deseja continuar a importação de fotos?" -#: ../src/Resources.vala:257 -msgid "Unrated" -msgstr "Sem avaliação" +#: src/library/LibraryWindow.vala:904 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "Localização da biblioteca" -#: ../src/Resources.vala:258 -msgid "Rate Unrated" -msgstr "Apagar avaliação" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:917 +msgid "Photos cannot be imported from this directory." +msgstr "Fotos não podem ser importadas deste diretório." -#: ../src/Resources.vala:259 -msgid "Setting as unrated" -msgstr "Definir como não avaliado" +#: src/library/LibraryWindow.vala:1203 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:260 -msgid "Remove any ratings" -msgstr "Remove avaliação" +#: src/library/LibraryWindow.vala:1247 src/library/LibraryWindow.vala:1258 +msgid "Updating library..." +msgstr "Atualizando biblioteca..." -#: ../src/Resources.vala:262 -msgid "_Rejected" -msgstr "_Rejeitada" +#: src/library/LibraryWindow.vala:1264 +msgid "Preparing to auto-import photos..." +msgstr "Preparando para auto-importação de fotos..." -#: ../src/Resources.vala:263 -msgid "Rejected" -msgstr "Rejeitada" +#: src/library/LibraryWindow.vala:1269 +msgid "Auto-importing photos..." +msgstr "Auto-importação de fotos..." -#: ../src/Resources.vala:264 -msgid "Rate Rejected" -msgstr "Avaliar como rejeitada" +#: src/library/LibraryWindow.vala:1277 +msgid "Writing metadata to files..." +msgstr "Escrevendo metadados para arquivos..." -#: ../src/Resources.vala:265 -msgid "Setting as rejected" -msgstr "Definir como rejeitada" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Arquivos faltantes" -#: ../src/Resources.vala:266 -msgid "Set rating to rejected" -msgstr "Avaliar como rejeitada" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "Apagando..." -#: ../src/Resources.vala:268 -msgid "Rejected _Only" -msgstr "Rejeitada _apenas" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Lixeira" -#: ../src/Resources.vala:269 -msgid "Rejected Only" -msgstr "Rejeitadas apenas" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "A lixeira está vazia" -#: ../src/Resources.vala:270 -msgid "Show only rejected photos" -msgstr "Exibir apenas fotos rejeitadas" +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Apagar" -#: ../src/Resources.vala:272 -msgid "All + _Rejected" -msgstr "Tudo + _rejeitadas" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "Apagando fotos" -#: ../src/Resources.vala:273 ../src/Resources.vala:274 -msgid "Show all photos, including rejected" -msgstr "Mostrar todas as fotos, inclusive as rejeitadas" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"Sua biblioteca de fotos não é compatível com essa versão do Shotwell. " +"Parece que ele foi criado pelo Shotwell %s (schema %d). Essa versão é %s " +"(schema %d). Por favor use a última versão do Shotwell." -#: ../src/Resources.vala:276 -msgid "_All Photos" -msgstr "Todas as _fotos" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"O Shotwell não foi capaz de atualizar sua biblioteca de fotos da versão %s " +"(schema %d) para %s (schema %d). Para maiores informações consulte o Wiki " +"do Shotwell Wiki em %s" -#. Button label -#. Button tooltip -#: ../src/Resources.vala:278 ../src/Resources.vala:280 -msgid "Show all photos" -msgstr "Exibe todas fotos" +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"Sua biblioteca de fotos não é compatível com essa versão do Shotwell. " +"Parece que ele foi criado pelo Shotwell %s (schema %d). Essa versão é %s " +"(schema %d). Por favor limpe sua biblioteca excluindo %s e importe " +"novamente suas fotos." -#: ../src/Resources.vala:282 -msgid "_Ratings" -msgstr "_Avaliações" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "Erro desconhecido ao tentar verificar o banco de dados do Shotwell: %s" -#: ../src/Resources.vala:283 -msgid "Display each photo's rating" -msgstr "Exibe as avaliações de cada foto" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "Carregando Shotwell" -#: ../src/Resources.vala:285 -msgid "_Filter Photos" -msgstr "_Filtrar fotos" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Caminho para os dados privados do Shotwell" -#: ../src/Resources.vala:286 -msgid "Filter Photos" -msgstr "Filtrar fotos" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "DIRETÓRIO" -#: ../src/Resources.vala:287 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Limita o número de fotos mostradas com base num filtro" +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "" +"Não monitora o diretório da biblioteca durante o tempo de execução para " +"mudanças" -#: ../src/Resources.vala:289 -msgid "_Duplicate" -msgstr "_Duplicar" +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "Não exibe a medida do progresso de inicialização" -#: ../src/Resources.vala:290 -msgid "Duplicate" -msgstr "Duplicar" +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "Exibe a versão do aplicativo" -#: ../src/Resources.vala:291 -msgid "Make a duplicate of the photo" -msgstr "Duplicar a foto" +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[ARQUIVO]" -#: ../src/Resources.vala:293 -msgid "_Export..." -msgstr "_Exportar..." +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Digite \"%s --help\" para ver a lista completa das opções de linha de " +"comando.\n" -#: ../src/Resources.vala:295 -msgid "_Print..." -msgstr "Imprimi_r..." +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "Não foi possível processar as atualizações monitoradas: %s" -#: ../src/Resources.vala:297 -msgid "Pu_blish..." -msgstr "Pu_blicar..." +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Ajustar o tamanho das miniaturas" -#: ../src/Resources.vala:299 -msgid "Publish to various websites" -msgstr "Publicar para vários sites" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Aumentar a ampliação das miniaturas" -#: ../src/Resources.vala:301 -msgid "Edit _Title..." -msgstr "Editar _título..." +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Diminuir a ampliação das miniaturas" -#: ../src/Resources.vala:305 -msgid "Edit _Comment..." -msgstr "Editar _comentário..." +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "Ordenar _fotos" -#. Button label -#: ../src/Resources.vala:307 -msgid "Edit Comment" -msgstr "Editar comentário" +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "_Reproduzir vídeo" -#: ../src/Resources.vala:309 -msgid "Edit Event _Comment..." -msgstr "Editar _comentário de evento..." +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "Abra os vídeos selecionados no reprodutor de vídeo do sistema" -#: ../src/Resources.vala:312 -msgid "_Adjust Date and Time..." -msgstr "_Ajustar data e hora..." +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Desenvolvedor" -#: ../src/Resources.vala:313 -msgid "Adjust Date and Time" -msgstr "Ajustar a data e hora" +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Exibe o comentário de cada foto" -#: ../src/Resources.vala:315 -msgid "Add _Tags..." -msgstr "Adicionar e_tiquetas..." +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Exibe as etiquetas de cada foto" -#: ../src/Resources.vala:316 -msgid "_Add Tags..." -msgstr "_Adicionar etiquetas..." +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Por _título" -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:318 ../src/Resources.vala:351 -msgid "Add Tags" -msgstr "Adicionar etiquetas" +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Ordena as fotos por título" -#: ../src/Resources.vala:322 -msgid "Open With E_xternal Editor" -msgstr "Abrir com o editor e_xterno" +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "Por _data de exposição" -#: ../src/Resources.vala:324 -msgid "Open With RA_W Editor" -msgstr "Abrir com editor de RA_W" +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Ordena as fotos por data de exposição" -#: ../src/Resources.vala:326 -msgid "Send _To..." -msgstr "Enviar _para..." +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Por _avaliação" -#: ../src/Resources.vala:327 -msgid "Send T_o..." -msgstr "Enviar p_ara..." +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Ordena as fotos por avaliação" -#: ../src/Resources.vala:329 -msgid "_Find..." -msgstr "_Localizar..." +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Por _nome de arquivo" -#: ../src/Resources.vala:330 -msgid "Find" -msgstr "Localização" +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Ordena as fotos por nome do arquivo" -#: ../src/Resources.vala:331 -msgid "Find an image by typing text that appears in its name or tags" +#: src/MediaPage.vala:723 +#, c-format +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" msgstr "" -"Encontre uma imagem digitando o texto que aparece em seu nome ou etiquetas" +"Shotwell foi incapaz de reproduzir o vídeo selecionado:\n" +"%s" -#: ../src/Resources.vala:333 -msgid "_Flag" -msgstr "_Marcar" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "Sem fotos/vídeos" -#: ../src/Resources.vala:335 -msgid "Un_flag" -msgstr "Des_marcar" +#: src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "Nenhuma foto ou vídeo encontrados que correspondam ao filtro atual" -#: ../src/Resources.vala:338 -#, c-format -msgid "Unable to launch editor: %s" -msgstr "Não foi possível iniciar o editor: %s" +#: src/Page.vala:2576 +msgid "Photos cannot be exported to this directory." +msgstr "Fotos não podem ser exportadas para este diretório." -#: ../src/Resources.vala:343 -#, c-format -msgid "Add Tag \"%s\"" -msgstr "Adicionar etiqueta \"%s\"" +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Foto anterior" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:346 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Adicionar etiquetas \"%s\" e \"%s\"" +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Próxima foto" -#: ../src/Resources.vala:356 +#: src/PhotoPage.vala:1845 #, c-format -msgid "_Delete Tag \"%s\"" -msgstr "A_pagar etiqueta \"%s\"" +msgid "Photo source file missing: %s" +msgstr "Faltando arquivo fonte da foto: %s" -#: ../src/Resources.vala:360 +#: src/PhotoPage.vala:3229 #, c-format -msgid "Delete Tag \"%s\"" -msgstr "Apagar etiqueta \"%s\"" +msgid "Unable to export %s: %s" +msgstr "Não foi possível exportar %s: %s" -#: ../src/Resources.vala:363 -msgid "Delete Tag" -msgstr "Apagar etiqueta" +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:369 -#, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Re_nomear etiqueta \"%s\"..." +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:373 +#: src/photos/JfifSupport.vala:185 #, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Renomear a etiqueta \"%s\" para \"%s\"" - -#: ../src/Resources.vala:376 -msgid "_Rename..." -msgstr "_Renomear..." - -#: ../src/Resources.vala:378 -msgid "Modif_y Tags..." -msgstr "_Modificar etiquetas..." - -#: ../src/Resources.vala:379 -msgid "Modify Tags" -msgstr "Modificar etiquetas" +msgid "Low (%d%%)" +msgstr "Baixo (%d%%)" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Etiquetar fotos como \"%s\"" +msgid "Medium (%d%%)" +msgstr "Médio (%d%%)" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Etiquetar foto como \"%s\"" +msgid "High (%d%%)" +msgstr "Alto (%d%%)" -#: ../src/Resources.vala:386 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Etiquetar as fotos selecionadas como \"%s\"" +msgid "Maximum (%d%%)" +msgstr "Máximo (%d%%)" -#: ../src/Resources.vala:387 -#, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Etiquetar as fotos selecionadas como \"%s\"" +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:391 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Remover etiqueta \"%s\" da _foto" +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:392 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Remover etiqueta \"%s\" das _fotos" +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Remove a etiqueta \"%s\" da foto" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "modificado" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Remove a etiqueta \"%s\" das fotos" +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Enviar a página toda" -#: ../src/Resources.vala:401 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "" -"Não foi possível renomear a etiqueta para \"%s\" pelo fato da etiqueta já " -"existir." +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 imagens por página" + +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 imagens por página" + +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 imagens por página" -#: ../src/Resources.vala:405 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "" -"Não foi possível renomear a pesquisa para \"%s\" pelo fato da pesquisa já " -"existir." +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 imagens por página" -#: ../src/Resources.vala:408 -msgid "Saved Search" -msgstr "Pesquisa salva" +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 imagens por página" -#: ../src/Resources.vala:410 -msgid "Delete Search" -msgstr "Apagar pesquisa" +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 imagens por página" -#: ../src/Resources.vala:413 -msgid "_Edit..." -msgstr "_Editar..." +#: src/Printing.vala:348 +msgid "in." +msgstr "pol." -#: ../src/Resources.vala:414 -msgid "Re_name..." -msgstr "Re_nomear..." +#: src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:417 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Renomeia a pesquisa \"%s\" para \"%s\"" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "Configurações da imagem" -#: ../src/Resources.vala:421 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "Apagar pesquisa \"%s\"" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "Imprimindo..." -#: ../src/Resources.vala:579 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Rate %s" -msgstr "Avaliar %s" +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"Não foi possível imprimir foto: \n" +"\n" +"%s" -#: ../src/Resources.vala:580 -#, c-format -msgid "Set rating to %s" -msgstr "Avaliar como %s" +#: src/Properties.vala:84 +msgid "Today" +msgstr "Hoje" -#: ../src/Resources.vala:581 -#, c-format -msgid "Setting rating to %s" -msgstr "Avaliando como %s" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "Ontem" -#: ../src/Resources.vala:583 -#, c-format -msgid "Display %s" -msgstr "Mostra %s" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "Itens:" -#: ../src/Resources.vala:584 +#: src/Properties.vala:346 #, c-format -msgid "Only show photos with a rating of %s" -msgstr "Mostra somente as fotos com avaliação de %s" +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d evento" +msgstr[1] "%d eventos" -#: ../src/Resources.vala:585 -#, c-format -msgid "%s or Better" -msgstr "%s ou melhor" +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "Data:" -#: ../src/Resources.vala:586 -#, c-format -msgid "Display %s or Better" -msgstr "Mostrar %s ou melhor" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "Hora:" -#: ../src/Resources.vala:587 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Mostra somente as fotos com avaliação de %s ou melhor" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "De:" -#: ../src/Resources.vala:678 -msgid "Remove the selected photos from the trash" -msgstr "Remover as fotos selecionadas para a lixeira" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "Para:" -#: ../src/Resources.vala:679 -msgid "Remove the selected photos from the library" -msgstr "Remover as fotos selecionadas da biblioteca" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "Duração:" -#: ../src/Resources.vala:681 -msgid "_Restore" -msgstr "_Restaurar" +#: src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "%.1f segundos" -#: ../src/Resources.vala:682 -msgid "Move the selected photos back into the library" -msgstr "Mover as fotos selecionadas para a biblioteca" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "Desenvolvedor:" -#: ../src/Resources.vala:684 -msgid "Show in File Mana_ger" -msgstr "Abrir com o gerenciador de a_rquivos" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "Localização:" -#: ../src/Resources.vala:685 -msgid "Open the selected photo's directory in the file manager" -msgstr "Abre o diretório da foto selecionada no gerenciador de arquivos" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "Tamanho do arquivo:" -#: ../src/Resources.vala:688 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "Não foi possível abrir no gerenciador de arquivos: %s" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "Desenvolvimento atual:" -#: ../src/Resources.vala:691 -msgid "R_emove From Library" -msgstr "R_emover da biblioteca" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Dimensões originais:" -#: ../src/Resources.vala:693 -msgid "_Move to Trash" -msgstr "_Mover para a lixeira" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "Câmera:" -#: ../src/Resources.vala:695 -msgid "Select _All" -msgstr "Selecionar _todas" +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "Modelo da câmera:" -#: ../src/Resources.vala:696 -msgid "Select all items" -msgstr "Selecionar todos os itens" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "Flash:" -# Translated with 24-hour time - default in Brazil. i.e.: 20:31 -- Rafael -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:775 -msgid "%-I:%M %p" -msgstr "%-H:%M" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "Comprimento focal:" -# Translated with 24-hour time - default in Brazil. i.e.: 20:31:42 -- Rafael -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M:%S %p" -msgstr "%-H:%M:%S" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Data de exposição:" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:784 -msgid "%a %b %d, %Y" -msgstr "%a, %d de %b de %Y" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Horário da exposição:" -#. / 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 -#. / 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 -#: ../src/Resources.vala:789 ../src/Resources.vala:799 -msgid "%a %b %d" -msgstr "%a, %d de %b" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Exposição bias:" -#. / 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 -#: ../src/Resources.vala:794 -msgid "%d, %Y" -msgstr "%d, %Y" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "Latitude do GPS:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Exibição de slides" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "Longitude do GPS:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Marcadas" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "Artista:" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Fotos" +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "Copyright:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Vídeos" +#: src/Properties.vala:624 +msgid "Software:" +msgstr "Software:" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "Fotos RAW" +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "Informações estendidas" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "Fotos RAW" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "Preparando fotos envio" -#: ../src/SearchFilter.vala:934 +#: src/publishing/PublishingPluginHost.vala:12 #, c-format -msgid "Error loading UI file %s: %s" -msgstr "Erro ao carregar arquivo de UI %s: %s" - -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Fechar" +msgid "Uploading %d of %d" +msgstr "Enviando %d de %d" -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Tipo" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "A publicação para %s não pôde continuar, ocorreu um erro:" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Avaliação" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "Para tentar publicar em outro serviço, selecione-o no menu acima." -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Configurações" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "As fotos/vídeos selecionados foram publicadas com sucesso." -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Voltar" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "Os vídeos selecionados foram publicados com sucesso." -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Ir para a foto anterior" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "As fotos selecionadas foram publicadas com sucesso." -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Pausar" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "O vídeo selecionado foi publicado com sucesso." -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Pausar exibição de slides" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "A foto selecionada foi publicada com sucesso." -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Próxima" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "Obtendo informação da conta..." -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Ir para a próxima foto" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "Autenticando..." -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Alterar configuração da exibição de slides" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Publicar fotos" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Faltam arquivos fonte de todas as fotos." +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Publicar fotos pa_ra:" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Reproduzir" +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Publicar vídeos" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Continuar a exibição de slides" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Publicar vídeos pa_ra" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "Sem título" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Publicar fotos e vídeos" -#. multiple videos -#: ../src/VideoSupport.vala:490 -msgid "Export Videos" -msgstr "Exportar vídeos" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Publicar fotos e vídeos pa_ra" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Câmeras" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "Não é possível publicar" -#: ../src/camera/ImportPage.vala:458 +#: src/publishing/PublishingUI.vala:398 +#, c-format msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"Não foi possível desmontar a câmera. Tente desmontando a câmera no " -"gerenciador de arquivos." +"Shotwell não pode publicar os itens selecionados porque você não tem um plug-" +"in compatível publicação habilitado. Para corrigir isso, edite nas " +"Preferências do %s e habilite um ou mais plug-ins de publicação na " +"aba Plug-ins." -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:775 -msgid "Hide photos already imported" -msgstr "Ocultar fotos que já foram importadas" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Publicando" -#: ../src/camera/ImportPage.vala:776 -msgid "Only display photos that have not been imported" -msgstr "Somente exibir fotos que não foram importadas" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Girar à _direita" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:846 -msgid "Starting import, please wait..." -msgstr "Iniciando importação, por favor, aguarde..." +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "Girar" -#: ../src/camera/ImportPage.vala:885 -msgid "Import _Selected" -msgstr "Importar _selecionadas" +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Girar à direita" -#: ../src/camera/ImportPage.vala:886 -msgid "Import the selected photos into your library" -msgstr "Importar as fotos selecionadas para a sua biblioteca" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "Gira as fotos para direita (pressione Ctrl para girar para esquerda)" -#: ../src/camera/ImportPage.vala:891 -msgid "Import _All" -msgstr "Importar _todas" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Girar à _esquerda" -#: ../src/camera/ImportPage.vala:892 -msgid "Import all the photos into your library" -msgstr "Importar todas as fotos para sua biblioteca" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Girar à esquerda" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1013 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Shotwell precisa desmontar a câmera do sistema de arquivos para acessá-la. " -"Continuar?" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Gira a foto para a esquerda" -#: ../src/camera/ImportPage.vala:1019 -msgid "_Unmount" -msgstr "_Desmontar" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Inverter hori_zontalmente" -#: ../src/camera/ImportPage.vala:1024 -msgid "Please unmount the camera." -msgstr "Por favor, desmonte a câmera." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Inverter horizontalmente" -#: ../src/camera/ImportPage.vala:1029 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"A câmera está travada por outro aplicativo. O Shotwell somente pode acessar " -"a câmera quando ela está destravada. Por favor, feche qualquer outro " -"aplicativo que estiver usando a câmera e tente novamente." +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Inverter verti_calmente" -#: ../src/camera/ImportPage.vala:1039 -msgid "Please close any other application using the camera." -msgstr "" -"Por favor, encerre qualquer outro aplicativo que esteja usando a câmera." +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Inverter verticalmente" -#: ../src/camera/ImportPage.vala:1044 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"Não foi possível obter pré-visualizações da câmera:\n" -"%s" +#: src/Resources.vala:155 +msgid "_About" +msgstr "S_obre" -#: ../src/camera/ImportPage.vala:1061 -msgid "Unmounting..." -msgstr "Desmontando..." +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "_Aplicar" -#: ../src/camera/ImportPage.vala:1167 -msgid "Fetching photo information" -msgstr "Obtendo informação da foto" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "A_vançar" -#: ../src/camera/ImportPage.vala:1522 -#, c-format -msgid "Fetching preview for %s" -msgstr "Obtendo visualização para %s" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "Tela _cheia" -#: ../src/camera/ImportPage.vala:1638 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "Não foi possível travar a câmera: %s" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "Sair da _tela cheia" -#: ../src/camera/ImportPage.vala:1723 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "Apagar essa foto da câmera?" -msgstr[1] "Apagar essas %d fotos da câmera?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_Nova" -#: ../src/camera/ImportPage.vala:1726 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "Apagar esse vídeo da câmera?" -msgstr[1] "Apagar esses %d vídeos da câmera?" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "_Próximo" -#: ../src/camera/ImportPage.vala:1729 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "Excluir essa foto/vídeo da câmera?" -msgstr[1] "Excluir essas %d fotos/vídeos da câmera?" +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_OK" -#: ../src/camera/ImportPage.vala:1732 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "Apagar esse arquivo da câmera?" -msgstr[1] "Apagar esses %d arquivos da câmera?" +#: src/Resources.vala:167 +msgid "_Play" +msgstr "_Reproduzir" -#: ../src/camera/ImportPage.vala:1759 -msgid "Removing photos/videos from camera" -msgstr "Excluindo fotos/vídeos da câmera" +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "_Preferências" -#: ../src/camera/ImportPage.vala:1763 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "Não foi possível excluir %d foto/vídeo da câmera devido a erros." -msgstr[1] "Não foi possível excluir %d fotos/vídeos da câmera devido a erros." +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "_Anterior" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Importação de dados" +#: src/Resources.vala:170 +msgid "_Print" +msgstr "Im_primir" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "Base de dados %s" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "_Sair" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "A importação de %s não pode continuar porque ocorreu um erro:" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "Atualiza_r" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "Para tentar importar de outro serviço, selecione um no menu acima." +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "_Reverter" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"Você no possui nenhum plug-ins de importação de dados ativados.\n" -"\n" -"Para utilizar a funcionalidade de importação do aplicativo, você precisará " -"ter pelo menos um plug-in de importações de dados habilitado. Plug-ins pode " -"ser ativado na caixa de diálogo Preferências." +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "_Salvar como" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Arquivo de banco de dados:" +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "Ordem _crescente" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:882 -msgid "_Import" -msgstr "Parar _importação" +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "Ordem _decrescente" -#: ../src/data_imports/DataImportsUI.vala:220 -msgid "Import From Application" -msgstr "Importação de aplicativo" +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "_Parar" -#: ../src/data_imports/DataImportsUI.vala:221 -msgid "Import media _from:" -msgstr "Impo_rtação de mídia de:" +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "Rec_uperar" -#: ../src/data_imports/DataImportsUI.vala:408 -#: ../src/publishing/PublishingUI.vala:507 -msgid "_Close" -msgstr "Fe_char" +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "Tamanho _normal" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "" -"Não foi possível abrir/criar banco de dados de foto %s: código de erro %d" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "Melhor aj_uste" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"Não foi possível gravar no arquivo de banco de dados de fotos:\n" -" %s" +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "_Melhorar" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"Erro acessando o arquivo de banco de dados:\n" -" %s\n" -"\n" -"O erro foi: \n" -"%s" +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "Melhorar" -#: ../src/db/DatabaseTable.vala:81 -#, c-format -msgid "Unable to restore photo database %s" -msgstr "Não foi possível restaurar o banco de dados de fotos %s" +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Melhora automaticamente a aparência da foto" + +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "_Copiar ajustes de cor" + +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Copiar ajustes de cor" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 -msgid "_File" -msgstr "_Arquivo" +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Copiar os ajustes de cor aplicados na foto" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Salvar foto" +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "C_olar ajustes de cor" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "Salvar _como..." +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Colar ajustes de cor" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Salva a foto com um nome diferente" +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Aplicar ajustes de cor copiados nas fotos selecionadas" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Imprime a foto em uma impressora conectada em seu computador" +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "_Cortar" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 -msgid "_Photo" -msgstr "_Foto" +#: src/Resources.vala:199 +msgid "Crop" +msgstr "Cortar" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s não existe." +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Corta o tamanho da foto" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s não é um arquivo." +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "Endireitar" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"%s não oferece suporte ao formato do arquivo de\n" -"%s." +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Endireita foto" -#: ../src/direct/DirectPhotoPage.vala:248 -#, c-format -msgid "Unable open photo %s. Sorry." -msgstr "Não foi possível abrir a foto %s. Desculpe-me." +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "Olhos ve_rmelhos" -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save a Copy" -msgstr "_Salvar uma cópia" +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "Olhos vermelhos" -#: ../src/direct/DirectPhotoPage.vala:435 -#, c-format -msgid "Lose changes to %s?" -msgstr "Descartar alterações para %s?" +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Reduz ou elimina qualquer efeito de olhos vermelhos na foto" -#: ../src/direct/DirectPhotoPage.vala:436 -msgid "Close _without Saving" -msgstr "Fechar s_em salvar" +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Ajustar" -#: ../src/direct/DirectPhotoPage.vala:469 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "Erro ao salvar para %s: %s" +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "Ajustar" -#: ../src/direct/DirectPhotoPage.vala:497 -#: ../src/direct/DirectPhotoPage.vala:518 -msgid "Save As" -msgstr "Salvar como" +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Ajusta a cor e os tons das fotos" -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Retornar a foto para as dimensões atuais" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "Re_verter para o original" -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Definir o corte para esta foto" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Reverter para o original" -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "Corte de retângulo dinâmico entre o retrato e a orientação da paisagem" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Reverter e_dição externa" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Sem restrições" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Reverter para a foto mestre" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Quadrado" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "Definir como _plano de fundo da área de trabalho" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Tela" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "" +"Definir a imagem selecionada como um novo plano de fundo da área de trabalho" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "Definir como apresentação de sli_des da área de trabalho..." -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "SD Video (4 : 3)" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "Des_fazer" -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "HD Video (16 : 9)" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "Desfazer" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Carta (8.5 x 11 in.)" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "_Refazer" -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloide (11 x 17 in.)" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "Refazer" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 x 297 mm)" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Re_nomear evento..." -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A4 (210 x 297 mm)" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "Designar f_oto como chave para evento" -#: ../src/editing_tools/EditingTools.vala:1887 -msgid "Close the red-eye tool" -msgstr "Fechar ferramenta de olhos vermelhos" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Designa a foto como chave para evento" -#: ../src/editing_tools/EditingTools.vala:1890 -msgid "Remove any red-eye effects in the selected region" -msgstr "Remove qualquer efeito de olhos vermelhos na região selecionada" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "_Novo evento" -#: ../src/editing_tools/EditingTools.vala:2226 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_Reiniciar" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "Novo evento" -#: ../src/editing_tools/EditingTools.vala:2248 -msgid "Saturation:" -msgstr "Saturação:" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "Mover fotos" -#: ../src/editing_tools/EditingTools.vala:2256 -msgid "Tint:" -msgstr "Colorir:" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Mover as fotos selecionadas para um evento" -#: ../src/editing_tools/EditingTools.vala:2265 -msgid "Temperature:" -msgstr "Temperatura:" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "_Unir eventos" -#: ../src/editing_tools/EditingTools.vala:2273 -msgid "Shadows:" -msgstr "Sombras:" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "Unir" -#: ../src/editing_tools/EditingTools.vala:2281 -msgid "Highlights:" -msgstr "Destaques:" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Combinar eventos em um único evento" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset Colors" -msgstr "Reiniciar cores" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "A_valiar" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset all color adjustments to original" -msgstr "Reiniciar todos os ajustes de cores para o original" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "Avaliar" -#: ../src/editing_tools/EditingTools.vala:2687 -msgid "Temperature" -msgstr "Temperatura" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Alterar a avaliação da foto" -#: ../src/editing_tools/EditingTools.vala:2700 -msgid "Tint" -msgstr "Colorir" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "_Aumentar" -#: ../src/editing_tools/EditingTools.vala:2713 -msgid "Saturation" -msgstr "Saturação" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Aumentar avaliação" -#: ../src/editing_tools/EditingTools.vala:2726 -msgid "Exposure" -msgstr "Exposição" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "_Diminuir" -#: ../src/editing_tools/EditingTools.vala:2739 -msgid "Shadows" -msgstr "Sombras" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Diminuir avaliação" -#: ../src/editing_tools/EditingTools.vala:2752 -msgid "Highlights" -msgstr "Destaques" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Sem avaliação" -#: ../src/editing_tools/EditingTools.vala:2762 -msgid "Contrast Expansion" -msgstr "Expansão de contraste" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "Sem avaliação" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Ângulo:" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Apagar avaliação" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Eventos" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "Definir como não avaliado" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d fotos/vídeos" -msgstr[1] "%d foto/vídeo" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Remove avaliação" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "Nenhum Evento" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "_Rejeitada" -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Exibir o comentário de cada evento" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "Rejeitada" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "Sem eventos" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Avaliar como rejeitada" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "Sem eventos encontrados" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "Definir como rejeitada" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Todos eventos" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Avaliar como rejeitada" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Sem data" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "Rejeitada _apenas" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Rejeitadas apenas" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Exibir apenas fotos rejeitadas" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Pastas" +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Tudo + _rejeitadas" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Biblioteca" +#: src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Mostrar todas as fotos, inclusive as rejeitadas" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "Importando..." +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "Todas as _fotos" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "Pa_rar importação" +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "Exibe todas fotos" + +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "_Avaliações" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Parar importação de fotos" +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Exibe as avaliações de cada foto" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "Preparando para importar..." +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_Filtrar fotos" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "Importado %s" +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Filtrar fotos" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Última importação" +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Limita o número de fotos mostradas com base num filtro" -#: ../src/library/LibraryWindow.vala:285 -msgid "_Import From Folder..." -msgstr "_Importar da pasta..." +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "_Duplicar" -#: ../src/library/LibraryWindow.vala:286 -msgid "Import photos from disk to library" -msgstr "Importar fotos do disco para a biblioteca" +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "Duplicar" -#: ../src/library/LibraryWindow.vala:293 -msgid "Import From _Application..." -msgstr "Importação de _aplicativo..." +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Duplicar a foto" -#: ../src/library/LibraryWindow.vala:297 -msgid "Sort _Events" -msgstr "Ordenar _eventos" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "_Exportar..." -#: ../src/library/LibraryWindow.vala:307 -msgid "Empty T_rash" -msgstr "Esvaziar l_ixeira" +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "Imprimi_r..." -#: ../src/library/LibraryWindow.vala:308 -msgid "Delete all photos in the trash" -msgstr "Apaga todas as fotos na lixeira" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "Pu_blicar..." -#: ../src/library/LibraryWindow.vala:313 -msgid "View Eve_nt for Photo" -msgstr "Ver eve_nto para foto" +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Publicar para vários sites" -#: ../src/library/LibraryWindow.vala:317 -msgid "_Find" -msgstr "_Localizar" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "Editar _título..." -#: ../src/library/LibraryWindow.vala:318 -msgid "Find photos and videos by search criteria" -msgstr "Localiza fotos e vídeos através de pesquisa" +#. Button label +#: src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Editar título" -#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "No_va pesquisa salva..." +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "Editar _comentário..." -#: ../src/library/LibraryWindow.vala:351 -msgid "_Photos" -msgstr "_Fotos" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Editar comentário" -#: ../src/library/LibraryWindow.vala:355 -msgid "Even_ts" -msgstr "Even_tos" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "Editar _comentário de evento..." -#: ../src/library/LibraryWindow.vala:374 -msgid "_Basic Information" -msgstr "Informações _básicas" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "_Ajustar data e hora..." -#: ../src/library/LibraryWindow.vala:375 -msgid "Display basic information for the selection" -msgstr "Exibe informações básicas para a seleção" +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Ajustar a data e hora" -#: ../src/library/LibraryWindow.vala:380 -msgid "E_xtended Information" -msgstr "Informações _estendidas" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "Adicionar e_tiquetas..." -#: ../src/library/LibraryWindow.vala:381 -msgid "Display extended information for the selection" -msgstr "Exibe informações estendidas para a seleção" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "_Adicionar etiquetas..." -#: ../src/library/LibraryWindow.vala:386 -msgid "_Search Bar" -msgstr "Barra de pe_squisa" +#. Dialog title +#: src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Adicionar etiquetas" -#: ../src/library/LibraryWindow.vala:387 -msgid "Display the search bar" -msgstr "Exibe a barra de pesquisa" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "Abrir com o editor e_xterno" -#: ../src/library/LibraryWindow.vala:392 -msgid "S_idebar" -msgstr "Ba_rra lateral" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Abrir com editor de RA_W" -#: ../src/library/LibraryWindow.vala:393 -msgid "Display the sidebar" -msgstr "Exibe a barra lateral" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "Enviar _para..." -#: ../src/library/LibraryWindow.vala:651 -msgid "Import From Folder" -msgstr "Importa da pasta" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "Enviar p_ara..." -#: ../src/library/LibraryWindow.vala:720 -msgid "Empty Trash" -msgstr "Esvaziar lixeira" +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "_Localizar..." -#: ../src/library/LibraryWindow.vala:720 -msgid "Emptying Trash..." -msgstr "Esvaziando lixeira..." +#: src/Resources.vala:327 +msgid "Find" +msgstr "Localização" -#: ../src/library/LibraryWindow.vala:879 -#, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" msgstr "" -"Shotwell está configurado para importar fotos para sua pasta pessoal.\n" -"Nós recomendamos que altere isso nas Preferências do " -"%s.\n" -"Você deseja continuar a importação de fotos?" +"Encontre uma imagem digitando o texto que aparece em seu nome ou etiquetas" -#: ../src/library/LibraryWindow.vala:882 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Localização da biblioteca" +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "_Marcar" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:895 -msgid "Photos cannot be imported from this directory." -msgstr "Fotos não podem ser importadas deste diretório." +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "Des_marcar" -#: ../src/library/LibraryWindow.vala:1183 +#: src/Resources.vala:335 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "Unable to launch editor: %s" +msgstr "Não foi possível iniciar o editor: %s" -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 -msgid "Updating library..." -msgstr "Atualizando biblioteca..." +#: src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "Adicionar etiqueta \"%s\"" -#: ../src/library/LibraryWindow.vala:1244 -msgid "Preparing to auto-import photos..." -msgstr "Preparando para auto-importação de fotos..." +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Adicionar etiquetas \"%s\" e \"%s\"" -#: ../src/library/LibraryWindow.vala:1249 -msgid "Auto-importing photos..." -msgstr "Auto-importação de fotos..." +#. Undo/Redo command name (in Edit menu) +#: src/Resources.vala:348 +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "Adicionar etiquetas" -#: ../src/library/LibraryWindow.vala:1257 -msgid "Writing metadata to files..." -msgstr "Escrevendo metadados para arquivos..." +#: src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "A_pagar etiqueta \"%s\"" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Arquivos faltantes" +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Apagar etiqueta \"%s\"" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "Apagando..." +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Apagar etiqueta" -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Lixeira" +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Re_nomear etiqueta \"%s\"..." -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "A lixeira está vazia" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Renomear a etiqueta \"%s\" para \"%s\"" -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Apagar" +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Renomear..." -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "Apagando fotos" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "_Modificar etiquetas..." -#: ../src/main.vala:54 -#, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"Sua biblioteca de fotos não é compatível com essa versão do Shotwell. " -"Parece que ele foi criado pelo Shotwell %s (schema %d). Essa versão é %s " -"(schema %d). Por favor use a última versão do Shotwell." +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Modificar etiquetas" -#: ../src/main.vala:59 +#: src/Resources.vala:379 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"O Shotwell não foi capaz de atualizar sua biblioteca de fotos da versão %s " -"(schema %d) para %s (schema %d). Para maiores informações consulte o Wiki " -"do Shotwell Wiki em %s" +msgid "Tag Photo as \"%s\"" +msgstr "Etiquetar fotos como \"%s\"" -#: ../src/main.vala:65 +#: src/Resources.vala:379 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"Sua biblioteca de fotos não é compatível com essa versão do Shotwell. " -"Parece que ele foi criado pelo Shotwell %s (schema %d). Essa versão é %s " -"(schema %d). Por favor limpe sua biblioteca excluindo %s e importe " -"novamente suas fotos." +msgid "Tag Photos as \"%s\"" +msgstr "Etiquetar foto como \"%s\"" -#: ../src/main.vala:71 +#: src/Resources.vala:383 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "Erro desconhecido ao tentar verificar o banco de dados do Shotwell: %s" - -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "Carregando Shotwell" +msgid "Tag the selected photo as \"%s\"" +msgstr "Etiquetar as fotos selecionadas como \"%s\"" -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Caminho para os dados privados do Shotwell" +#: src/Resources.vala:384 +#, c-format +msgid "Tag the selected photos as \"%s\"" +msgstr "Etiquetar as fotos selecionadas como \"%s\"" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "DIRETÓRIO" +#: src/Resources.vala:388 +#, c-format +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Remover etiqueta \"%s\" da _foto" -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "" -"Não monitora o diretório da biblioteca durante o tempo de execução para " -"mudanças" +#: src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Remover etiqueta \"%s\" das _fotos" -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "Não exibe a medida do progresso de inicialização" +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "Remove a etiqueta \"%s\" da foto" -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Exibe a versão do aplicativo" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Remove a etiqueta \"%s\" das fotos" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[ARQUIVO]" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "" +"Não foi possível renomear a etiqueta para \"%s\" pelo fato da etiqueta já " +"existir." -#: ../src/main.vala:342 +#: src/Resources.vala:402 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" +msgid "Unable to rename search to \"%s\" because the search already exists." msgstr "" -"Digite \"%s --help\" para ver a lista completa das opções de linha de " -"comando.\n" +"Não foi possível renomear a pesquisa para \"%s\" pelo fato da pesquisa já " +"existir." -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#. Saved search button +#: src/Resources.vala:405 src/SearchFilter.vala:1210 +msgid "Saved Search" +msgstr "Pesquisa salva" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "Apagar pesquisa" -#: ../src/photos/JfifSupport.vala:185 -#, c-format -msgid "Low (%d%%)" -msgstr "Baixo (%d%%)" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Editar..." -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "Re_nomear..." + +#: src/Resources.vala:414 #, c-format -msgid "Medium (%d%%)" -msgstr "Médio (%d%%)" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Renomeia a pesquisa \"%s\" para \"%s\"" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:418 #, c-format -msgid "High (%d%%)" -msgstr "Alto (%d%%)" +msgid "Delete Search \"%s\"" +msgstr "Apagar pesquisa \"%s\"" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:576 #, c-format -msgid "Maximum (%d%%)" -msgstr "Máximo (%d%%)" +msgid "Rate %s" +msgstr "Avaliar %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "Avaliar como %s" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "Avaliando como %s" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "Mostra %s" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "Publicando" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Mostra somente as fotos com avaliação de %s" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "Preparando fotos envio" +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s ou melhor" -#: ../src/publishing/PublishingPluginHost.vala:12 +#: src/Resources.vala:583 #, c-format -msgid "Uploading %d of %d" -msgstr "Enviando %d de %d" +msgid "Display %s or Better" +msgstr "Mostrar %s ou melhor" -#: ../src/publishing/PublishingPluginHost.vala:81 +#: src/Resources.vala:584 #, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "A publicação para %s não pôde continuar, ocorreu um erro:" +msgid "Only show photos with a rating of %s or better" +msgstr "Mostra somente as fotos com avaliação de %s ou melhor" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "Para tentar publicar em outro serviço, selecione-o no menu acima." +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Remover as fotos selecionadas para a lixeira" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "As fotos/vídeos selecionados foram publicadas com sucesso." +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Remover as fotos selecionadas da biblioteca" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "Os vídeos selecionados foram publicados com sucesso." +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "_Restaurar" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "As fotos selecionadas foram publicadas com sucesso." +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Mover as fotos selecionadas para a biblioteca" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "O vídeo selecionado foi publicado com sucesso." +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Abrir com o gerenciador de a_rquivos" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "A foto selecionada foi publicada com sucesso." +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Abre o diretório da foto selecionada no gerenciador de arquivos" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "Obtendo informação da conta..." +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "Não foi possível abrir no gerenciador de arquivos: %s" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "Autenticando..." +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "R_emover da biblioteca" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Photos" -msgstr "Publicar fotos" +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "_Mover para a lixeira" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish photos _to:" -msgstr "Publicar fotos pa_ra:" +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "Selecionar _todas" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Videos" -msgstr "Publicar vídeos" +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "Selecionar todos os itens" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish videos _to" -msgstr "Publicar vídeos pa_ra" +# Translated with 24-hour time - default in Brazil. i.e.: 20:31 -- Rafael +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:773 +msgid "%-I:%M %p" +msgstr "%-H:%M" -#: ../src/publishing/PublishingUI.vala:194 -msgid "Publish Photos and Videos" -msgstr "Publicar fotos e vídeos" +# Translated with 24-hour time - default in Brazil. i.e.: 20:31:42 -- Rafael +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:778 +msgid "%-I:%M:%S %p" +msgstr "%-H:%M:%S" -#: ../src/publishing/PublishingUI.vala:195 -msgid "Publish photos and videos _to" -msgstr "Publicar fotos e vídeos pa_ra" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:782 +msgid "%a %b %d, %Y" +msgstr "%a, %d de %b de %Y" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:397 -msgid "Unable to publish" -msgstr "Não é possível publicar" +#. / 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 +#: src/Resources.vala:787 +msgctxt "MultidayFormat" +msgid "%a %b %d" +msgstr "%a, %d de %b" -#: ../src/publishing/PublishingUI.vala:398 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"Shotwell não pode publicar os itens selecionados porque você não tem um plug-" -"in compatível publicação habilitado. Para corrigir isso, edite nas " -"Preferências do %s e habilite um ou mais plug-ins de publicação na " -"aba Plug-ins." +#. / 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 +#: src/Resources.vala:792 +msgctxt "MultidayFormat" +msgid "%d, %Y" +msgstr "%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 +#: src/Resources.vala:797 +msgctxt "MultimonthFormat" +msgid "%a %b %d" +msgstr "%a, %d de %b" + +#. / 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 +#: src/Resources.vala:802 +msgctxt "MultimonthFormat" +msgid "%a %b %d, %Y" +msgstr "%a, %d de %b de %Y" -#: ../src/searches/Branch.vala:68 +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Apresentação de slides" + +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "Pesquisas salvas" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "contém" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "é exatamente" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "inicia com" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "termina com" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "não contém" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "não está definido" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "está definido" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "é" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "não é" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "qualquer foto" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "uma foto raw" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "um vídeo" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "tem" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "não tem" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "modificações" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "modificações internas" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "modificações externas" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "marcada" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "não marcada" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "e maior" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "somente" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "e baixo" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "é depois" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "é antes" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "é entre" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "e" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "Pesquisa" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "Cancelar" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "OK" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "qualquer" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "todos" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "nenhum" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr "Qualquer texto" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "Título" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "Etiqueta" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "Comentário" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "Nome do evento" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "Nome do arquivo" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "Tipo de mídia" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "Marcada" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "Estado da foto" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:1199 +msgid "Rating" +msgstr "Avaliação" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Data" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:614 src/SearchFilter.vala:615 +msgid "Videos" +msgstr "Vídeos" + +#: src/SearchFilter.vala:620 +msgid "RAW Photos" +msgstr "Fotos RAW" + +#: src/SearchFilter.vala:621 +msgid "RAW photos" +msgstr "Fotos RAW" + +#: src/SearchFilter.vala:1148 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "Erro ao carregar arquivo de UI %s: %s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:1159 +msgid "Close" +msgstr "Fechar" + +#. Type label and toggles +#: src/SearchFilter.vala:1165 +msgid "Type" +msgstr "Tipo" + +#: src/SearchFilter.vala:1211 +msgid "Use a saved search to filter items in the current view" +msgstr "Use uma pesquisa salva para filtrar itens na visão atual" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "Nova etique_ta..." -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Configurações" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Voltar" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Ir para a foto anterior" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Pausar" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Pausar apresentação de slides" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Próxima" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Ir para a próxima foto" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Alterar configuração da apresentação de slides" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Faltam arquivos fonte de todas as fotos." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Reproduzir" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Continuar a apresentação de slides" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" -msgstr "Transição de exibição de slides" +msgstr "Transição de apresentação de slides" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(Nenhum)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "Nenhum" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "Aleatório" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "Etiquetas" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:830 +msgid "untitled" +msgstr "Sem título" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Exportar vídeos" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "Definir como plano de fundo da área de trabalho" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "Usar para área de trabalho" -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "Usar para tela de bloqueio" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" -msgstr "Definir exibição de slides da área de trabalho" +msgstr "Definir apresentação de slides da área de trabalho" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "Exibe cada foto para" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "período de tempo" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" -msgstr "Gerar exibição de slides no plano de fundo da área de trabalho" +msgstr "Gerar apresentação de slides no plano de fundo da área de trabalho" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "" "O tempo que cada foto é exibida como plano de fundo da área de trabalho" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_Nome da pesquisa:" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "Co_mbinação" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "do seguinte:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "Tamanho da imagem impressa" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" msgstr "Usar um taman_ho padrão:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "Usar um tamanho _personalizado:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "_Correspondência de proporção de aspecto da foto" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "Tamanho _automático:" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "Títulos" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" msgstr "Imprimir _título da imagem" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "Resolução em pixel" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" msgstr "_Saída da foto em:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "pixels por polegada" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "rótulo" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Preferências do Shotwell" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "branco" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "preto" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "_Monitorar diretório da biblioteca por novos arquivos" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "Metadados" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" msgstr "Gravar etiquetas, títulos e outros _metadados para arquivos de fotos" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "Exibição" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "_Importar fotos para:" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "_Plano de fundo:" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "Importando" -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" msgstr "Estrutura de _diretório:" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "_Padrão:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "Exemplo:" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" msgstr "R_enomear arquivos importados para letra minúscula" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "Desenvolvedor RAW" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" msgstr "Pa_drão:" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" msgstr "Editor de foto e_xterno:" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "Editor _RAW externo:" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "Editores externos" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "Plug-ins" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" msgstr "A_traso:" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" msgstr "Efeito de _transição:" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" msgstr "A_traso de transição:" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" msgstr "Mostrar títul_o" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "segundos" +#~ msgid "No photos/videos found" +#~ msgstr "Sem fotos/vídeos encontrados" + +#~ msgid "Intro message replaced at runtime" +#~ msgstr "Mensagem de introdução substituída em tempo real" + +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "" +#~ "'Publicação para a $url como $username' (populado no código do aplicativo)" + +#~ msgid "you are logged in rajce as $name" +#~ msgstr "você está autenticado no rajce como $name" + +#~ msgid "$mediatype will appear in" +#~ msgstr "$mediatype irão aparecer em" + #~ msgid "Copyright 2009-2015 Yorba Foundation" #~ msgstr "Copyright 2009-2015 Yorba Foundation" diff --git a/po/quot.sed b/po/quot.sed new file mode 100644 index 0000000..0122c46 --- /dev/null +++ b/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 0000000..2436c49 --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ro.gmo b/po/ro.gmo new file mode 100644 index 0000000..2ee24d8 Binary files /dev/null and b/po/ro.gmo differ diff --git a/po/ru.gmo b/po/ru.gmo new file mode 100644 index 0000000..d9d2618 Binary files /dev/null and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index c6ad90a..9904cac 100644 --- a/po/ru.po +++ b/po/ru.po @@ -16,15 +16,15 @@ # Алексей Мусихин , 2012 # Марк Коренберг , 2011 # lsbeeler , 2011 -# Stas Solovey , 2015. +# Stas Solovey , 2015, 2016. # msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=shotwell&keywords=I18N+L10N&component=Internationalization\n" -"POT-Creation-Date: 2015-07-15 11:38+0000\n" -"PO-Revision-Date: 2015-07-15 23:38+0300\n" +"POT-Creation-Date: 2016-06-14 20:13+0000\n" +"PO-Revision-Date: 2016-06-21 11:15+0300\n" "Last-Translator: Stas Solovey \n" "Language-Team: Русский \n" "Language: ru\n" @@ -35,12 +35,12 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Gtranslator 2.91.7\n" -#: ../plugins/common/RESTSupport.vala:424 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 +#: ../plugins/common/RESTSupport.vala:448 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:960 msgid "A temporary file needed for publishing is unavailable" msgstr "Временный файл, необходимый для публикации, недоступен" -#: ../plugins/common/RESTSupport.vala:1138 +#: ../plugins/common/RESTSupport.vala:1154 msgid "" "You have already logged in and out of a Google service during this Shotwell " "session.\n" @@ -58,9 +58,9 @@ msgstr "" msgid "Visit the Shotwell home page" msgstr "Посетить веб-сайт Shotwell" -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:705 +#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:676 msgid "translator-credits" -msgstr "Stas Solovey , 2015." +msgstr "Stas Solovey , 2015-2016." #: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 #: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 @@ -69,8 +69,8 @@ msgstr "Stas Solovey , 2015." #: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 #: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 #: ../src/Resources.vala:27 -msgid "Copyright 2009-2015 Yorba Foundation" -msgstr "Авторское право © 2009-2015 Yorba Foundation" +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Авторское право © 2016 Software Freedom Conservancy Inc." #: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 msgid "" @@ -303,41 +303,41 @@ msgstr "_Запомнить" msgid "Login" msgstr "Войти" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1004 #: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 msgid "_Hide album" msgstr "_Скрыть альбом" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1011 #, c-format msgid "You are logged into Rajce as %s." msgstr "Вы вошли в Rajce как %s." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 #: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 #: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 msgid "Photos will appear in:" msgstr "Фотографии будут расположены в:" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 #: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 #: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 msgid "An _existing album:" msgstr "_Существующем альбоме:" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 #: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 #: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 #: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 msgid "A _new album named:" msgstr "_Новом альбоме:" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 #: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 msgid "Open target _album in browser" msgstr "Открыть целевой альбом в браузере" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 #: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 #: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 #: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 @@ -349,7 +349,7 @@ msgstr "Открыть целевой альбом в браузере" msgid "_Publish" msgstr "_Опубликовать" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 +#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 #: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 #: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 #: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 @@ -361,62 +361,62 @@ msgstr "_Опубликовать" msgid "_Logout" msgstr "_Выйти" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:34 msgid "Copyright 2012 BJA Electronics" msgstr "Авторское право © 2012 BJA Electronics" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:103 #: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1233 msgid "500 x 375 pixels" msgstr "500 x 375 пикселей" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 #: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 msgid "1024 x 768 pixels" msgstr "1024 x 768 пикселей" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 msgid "1280 x 853 pixels" msgstr "1280 x 853 пикселей" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:309 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:319 #, c-format msgid "'%s' isn't a valid response to an OAuth authentication request" msgstr "" "«%s» не является корректным ответом на запрос проверки подлинности OAuth" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:557 msgid "" "TumblrPublisher: start( ): can't start; this publisher is not restartable." msgstr "" "TumblrPublisher: start( ): запуск невозможен; этот публикатор не имеет " "возможности перезапуска." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:585 msgid "Enter the username and password associated with your Tumblr account." msgstr "" "Введите имя пользователя и пароль, связанный с вашей учётной записью Tumblr." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:989 msgid "Username and/or password invalid. Please try again" msgstr "Неверное имя пользователя и/или пароль. Попробуйте ещё раз" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:616 +#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1026 msgid "Invalid User Name or Password" msgstr "Неверное имя пользователя или пароль" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:635 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:754 #, c-format msgid "Could not load UI: %s" msgstr "Не удалось загрузить пользовательский интерфейс: %s" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 +#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:736 #, c-format msgid "" "You are logged into Tumblr as %s.\n" @@ -433,7 +433,7 @@ msgstr "Авторское право © 2010+ Евгений Поляков File %s Import From Folder" msgstr "Выберите Файл %s Импортировать из папки" -#: ../src/Dialogs.vala:2107 +#: ../src/Dialogs.vala:2115 msgid "Drag and drop photos onto the Shotwell window" msgstr "Перетащите фотографии в окно Shotwell" -#: ../src/Dialogs.vala:2108 +#: ../src/Dialogs.vala:2116 msgid "Connect a camera to your computer and import" msgstr "Подключите камеру к компьютеру и импортируйте фотографии" -#: ../src/Dialogs.vala:2118 +#: ../src/Dialogs.vala:2126 #, c-format msgid "_Import photos from your %s folder" msgstr "_Импортировать фотографии из папки %s" -#: ../src/Dialogs.vala:2125 +#: ../src/Dialogs.vala:2133 msgid "You can also import photos in any of these ways:" msgstr "Также можно импортировать фотографии любым из следующих способов:" -#: ../src/Dialogs.vala:2135 +#: ../src/Dialogs.vala:2143 msgid "_Don't show this message again" msgstr "_Больше не показывать это сообщение" -#: ../src/Dialogs.vala:2170 +#: ../src/Dialogs.vala:2178 #, c-format msgid "Import photos from your %s library" msgstr "Импортировать фотографии из библиотеки %s" @@ -2274,41 +2276,41 @@ msgstr "Импортировать фотографии из библиотек #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2311 ../src/Dialogs.vala:2315 +#: ../src/Dialogs.vala:2325 ../src/Dialogs.vala:2329 msgid "(Help)" msgstr "(Справка)" -#: ../src/Dialogs.vala:2324 +#: ../src/Dialogs.vala:2338 #, c-format msgid "Year%sMonth%sDay" msgstr "Год%sМесяц%sДень" -#: ../src/Dialogs.vala:2326 +#: ../src/Dialogs.vala:2340 #, c-format msgid "Year%sMonth" msgstr "Год%sМесяц" -#: ../src/Dialogs.vala:2328 +#: ../src/Dialogs.vala:2342 #, c-format msgid "Year%sMonth-Day" msgstr "Год%sМесяц-День" -#: ../src/Dialogs.vala:2330 +#: ../src/Dialogs.vala:2344 msgid "Year-Month-Day" msgstr "Год-Месяц-День" -#: ../src/Dialogs.vala:2331 ../src/editing_tools/EditingTools.vala:781 +#: ../src/Dialogs.vala:2345 ../src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Пользовательский" #. Invalid pattern. -#: ../src/Dialogs.vala:2568 +#: ../src/Dialogs.vala:2582 msgid "Invalid pattern" msgstr "Неверный шаблон" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2670 +#: ../src/Dialogs.vala:2684 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2316,31 +2318,31 @@ msgstr "" "Shotwell может копировать фотографии в папку библиотеки, либо импортировать " "их без копирования." -#: ../src/Dialogs.vala:2675 +#: ../src/Dialogs.vala:2689 msgid "Co_py Photos" msgstr "Ко_пировать фотографии" -#: ../src/Dialogs.vala:2676 +#: ../src/Dialogs.vala:2690 msgid "_Import in Place" msgstr "_Импорт в" -#: ../src/Dialogs.vala:2677 +#: ../src/Dialogs.vala:2691 msgid "Import to Library" msgstr "Импортировать в библиотеку" -#: ../src/Dialogs.vala:2687 ../src/PhotoPage.vala:3087 +#: ../src/Dialogs.vala:2701 ../src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Удалить из библиотеки" -#: ../src/Dialogs.vala:2688 ../src/PhotoPage.vala:3087 +#: ../src/Dialogs.vala:2702 ../src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "Удалить фотографии из библиотеки" -#: ../src/Dialogs.vala:2688 +#: ../src/Dialogs.vala:2702 msgid "Removing Photos From Library" msgstr "Удаление фотографий из библиотеки" -#: ../src/Dialogs.vala:2702 +#: ../src/Dialogs.vala:2716 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2368,7 +2370,7 @@ msgstr[2] "" "\n" "Это действие не может быть отменено." -#: ../src/Dialogs.vala:2706 +#: ../src/Dialogs.vala:2720 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2396,7 +2398,7 @@ msgstr[2] "" "\n" "Это действие не может быть отменено." -#: ../src/Dialogs.vala:2710 +#: ../src/Dialogs.vala:2724 #, c-format msgid "" "This will remove the photo from your Shotwell library. Would you also like " @@ -2424,7 +2426,7 @@ msgstr[2] "" "\n" "Это действие не может быть отменено." -#: ../src/Dialogs.vala:2742 +#: ../src/Dialogs.vala:2756 #, c-format msgid "" "The photo or video cannot be moved to your desktop trash. Delete this file?" @@ -2441,7 +2443,7 @@ msgstr[2] "" "файлы?" #. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2759 +#: ../src/Dialogs.vala:2773 #, c-format msgid "The photo or video cannot be deleted." msgid_plural "%d photos/videos cannot be deleted." @@ -2508,8 +2510,8 @@ msgstr "Невозможно обработать результаты набл msgid "Adjust the size of the thumbnails" msgstr "Задать размер миниатюр" -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2593 -#: ../src/Resources.vala:188 ../src/direct/DirectPhotoPage.vala:174 +#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2591 +#: ../src/Resources.vala:183 ../src/direct/DirectPhotoPage.vala:174 msgid "Zoom _In" msgstr "_Увеличить" @@ -2517,8 +2519,8 @@ msgstr "_Увеличить" msgid "Increase the magnification of the thumbnails" msgstr "Увеличить размер миниатюр" -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2599 -#: ../src/Resources.vala:189 ../src/direct/DirectPhotoPage.vala:180 +#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2597 +#: ../src/Resources.vala:184 ../src/direct/DirectPhotoPage.vala:180 msgid "Zoom _Out" msgstr "У_меньшить" @@ -2538,21 +2540,21 @@ msgstr "_Воспроизвести видео" msgid "Open the selected videos in the system video player" msgstr "Открыть выбранное видео в системном видеопроигрывателе" -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2642 +#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2640 msgid "_Developer" msgstr "_Обработчик" #: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:711 ../src/camera/ImportPage.vala:727 +#: ../src/camera/ImportPage.vala:710 ../src/camera/ImportPage.vala:726 #: ../src/photos/RawSupport.vala:303 msgid "Camera" msgstr "Камера" -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:874 +#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:873 msgid "_Titles" msgstr "_Названия" -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:875 +#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:874 msgid "Display the title of each photo" msgstr "Показать название каждого фото" @@ -2597,12 +2599,10 @@ msgid "Sort photos by rating" msgstr "Сортировать по рейтингу" #: ../src/MediaPage.vala:504 -#| msgid "File name" msgid "By _Filename" msgstr "По _имени файла" #: ../src/MediaPage.vala:505 -#| msgid "Sort photos by title" msgid "Sort photos by filename" msgstr "Сортировать фотографии по названию" @@ -2631,15 +2631,15 @@ msgstr "" "Shotwell не может воспроизвести выбранное видео:\n" "%s" -#: ../src/Page.vala:1263 +#: ../src/Page.vala:1266 msgid "No photos/videos" msgstr "Нет фото/видео" -#: ../src/Page.vala:1267 +#: ../src/Page.vala:1270 msgid "No photos/videos found" msgstr "Не найдены фото/видео" -#: ../src/Page.vala:2565 +#: ../src/Page.vala:2568 msgid "Photos cannot be exported to this directory." msgstr "Фотографии не могут быть экспортированы в этот каталог." @@ -2657,73 +2657,73 @@ msgstr "Предыдущее фото" msgid "Next photo" msgstr "Следующее фото" -#: ../src/PhotoPage.vala:1847 +#: ../src/PhotoPage.vala:1845 #, c-format msgid "Photo source file missing: %s" msgstr "Исходный файл не найден: %s" -#: ../src/PhotoPage.vala:2414 ../src/direct/DirectPhotoPage.vala:165 +#: ../src/PhotoPage.vala:2412 ../src/direct/DirectPhotoPage.vala:165 #: ../src/library/LibraryWindow.vala:343 msgid "_View" msgstr "_Вид" -#: ../src/PhotoPage.vala:2418 ../src/direct/DirectPhotoPage.vala:81 +#: ../src/PhotoPage.vala:2416 ../src/direct/DirectPhotoPage.vala:81 msgid "T_ools" msgstr "_Инструменты" -#: ../src/PhotoPage.vala:2423 ../src/direct/DirectPhotoPage.vala:86 +#: ../src/PhotoPage.vala:2421 ../src/direct/DirectPhotoPage.vala:86 msgid "_Previous Photo" msgstr "_Предыдущее фото" -#: ../src/PhotoPage.vala:2424 ../src/direct/DirectPhotoPage.vala:87 +#: ../src/PhotoPage.vala:2422 ../src/direct/DirectPhotoPage.vala:87 msgid "Previous Photo" msgstr "Предыдущее фото" -#: ../src/PhotoPage.vala:2429 ../src/direct/DirectPhotoPage.vala:92 +#: ../src/PhotoPage.vala:2427 ../src/direct/DirectPhotoPage.vala:92 msgid "_Next Photo" msgstr "_Следующее фото" -#: ../src/PhotoPage.vala:2430 ../src/direct/DirectPhotoPage.vala:93 +#: ../src/PhotoPage.vala:2428 ../src/direct/DirectPhotoPage.vala:93 msgid "Next Photo" msgstr "Следующее фото" -#: ../src/PhotoPage.vala:2594 ../src/direct/DirectPhotoPage.vala:175 +#: ../src/PhotoPage.vala:2592 ../src/direct/DirectPhotoPage.vala:175 msgid "Increase the magnification of the photo" msgstr "Увеличить масштаб фотографии" -#: ../src/PhotoPage.vala:2600 ../src/direct/DirectPhotoPage.vala:181 +#: ../src/PhotoPage.vala:2598 ../src/direct/DirectPhotoPage.vala:181 msgid "Decrease the magnification of the photo" msgstr "Уменьшить масштаб фотографии" -#: ../src/PhotoPage.vala:2605 ../src/direct/DirectPhotoPage.vala:186 +#: ../src/PhotoPage.vala:2603 ../src/direct/DirectPhotoPage.vala:186 msgid "Fit to _Page" msgstr "На всю _страницу" -#: ../src/PhotoPage.vala:2606 ../src/direct/DirectPhotoPage.vala:187 +#: ../src/PhotoPage.vala:2604 ../src/direct/DirectPhotoPage.vala:187 msgid "Zoom the photo to fit on the screen" msgstr "Изменение размера фото по размеру экрана" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:193 +#: ../src/PhotoPage.vala:2610 ../src/direct/DirectPhotoPage.vala:193 #, no-c-format msgid "Zoom _100%" msgstr "_Реальный размер" -#: ../src/PhotoPage.vala:2614 ../src/direct/DirectPhotoPage.vala:195 +#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:195 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Установить реальный размер фотоснимка" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:201 +#: ../src/PhotoPage.vala:2618 ../src/direct/DirectPhotoPage.vala:201 #, no-c-format msgid "Zoom _200%" msgstr "Увеличить на _200%" -#: ../src/PhotoPage.vala:2622 ../src/direct/DirectPhotoPage.vala:203 +#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:203 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Увеличить фото в два раза" -#: ../src/PhotoPage.vala:3231 +#: ../src/PhotoPage.vala:3229 #, c-format msgid "Unable to export %s: %s" msgstr "Невозможно экспортировать %s: %s" @@ -2847,7 +2847,7 @@ msgstr "Сегодня" msgid "Yesterday" msgstr "Вчера" -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:312 +#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:311 msgid "RAW+JPEG" msgstr "RAW+JPEG" @@ -2989,7 +2989,7 @@ msgstr "Права:" msgid "Software:" msgstr "Программное обеспечение:" -#: ../src/Properties.vala:639 +#: ../src/Properties.vala:641 msgid "Extended Information" msgstr "Расширенная информация" @@ -3001,768 +3001,756 @@ msgstr "Менеджер фотографий" msgid "Photo Viewer" msgstr "Программа просмотра фотографий" -#: ../src/Resources.vala:144 +#: ../src/Resources.vala:139 msgid "Rotate _Right" msgstr "Повернуть в_право" -#: ../src/Resources.vala:145 ../src/Resources.vala:150 +#: ../src/Resources.vala:140 ../src/Resources.vala:145 msgid "Rotate" msgstr "Поворот" -#: ../src/Resources.vala:146 +#: ../src/Resources.vala:141 msgid "Rotate Right" msgstr "Повернуть вправо" -#: ../src/Resources.vala:147 +#: ../src/Resources.vala:142 msgid "Rotate the photos right (press Ctrl to rotate left)" msgstr "Повернуть изображение вправо (нажмите Ctrl для поворота влево)" -#: ../src/Resources.vala:149 +#: ../src/Resources.vala:144 msgid "Rotate _Left" msgstr "Повернуть в_лево" -#: ../src/Resources.vala:151 +#: ../src/Resources.vala:146 msgid "Rotate Left" msgstr "Повернуть влево" -#: ../src/Resources.vala:152 +#: ../src/Resources.vala:147 msgid "Rotate the photos left" msgstr "Повернуть изображение влево" -#: ../src/Resources.vala:154 +#: ../src/Resources.vala:149 msgid "Flip Hori_zontally" msgstr "Отразить по _горизонтали" -#: ../src/Resources.vala:155 +#: ../src/Resources.vala:150 msgid "Flip Horizontally" msgstr "Отразить по горизонтали" -#: ../src/Resources.vala:157 +#: ../src/Resources.vala:152 msgid "Flip Verti_cally" msgstr "Отразить по _вертикали" -#: ../src/Resources.vala:158 +#: ../src/Resources.vala:153 msgid "Flip Vertically" msgstr "Отразить по вертикали" -#: ../src/Resources.vala:160 +#: ../src/Resources.vala:155 msgid "_About" msgstr "_О программе" -#: ../src/Resources.vala:161 +#: ../src/Resources.vala:156 msgid "_Apply" msgstr "_Применить" -#: ../src/Resources.vala:164 ../src/direct/DirectPhotoPage.vala:73 +#: ../src/Resources.vala:159 ../src/direct/DirectPhotoPage.vala:73 #: ../src/library/LibraryWindow.vala:339 msgid "_Edit" msgstr "_Правка" -#: ../src/Resources.vala:165 -#| msgid "_Format:" +#: ../src/Resources.vala:160 msgid "_Forward" msgstr "_Далее" -#: ../src/Resources.vala:166 +#: ../src/Resources.vala:161 msgid "Fulls_creen" msgstr "_Полноэкранный режим" -#: ../src/Resources.vala:167 ../src/direct/DirectPhotoPage.vala:169 +#: ../src/Resources.vala:162 ../src/direct/DirectPhotoPage.vala:169 #: ../src/library/LibraryWindow.vala:363 msgid "_Help" msgstr "_Справка" -#: ../src/Resources.vala:168 +#: ../src/Resources.vala:163 msgid "Leave _Fullscreen" msgstr "Выйти из _полноэкранного режима" -#: ../src/Resources.vala:169 ../src/Resources.vala:371 +#: ../src/Resources.vala:164 ../src/Resources.vala:366 msgid "_New" msgstr "_Создать" -#: ../src/Resources.vala:170 -#| msgid "Next" +#: ../src/Resources.vala:165 msgid "_Next" msgstr "_Следующее" -#: ../src/Resources.vala:171 -#| msgid "OK" +#: ../src/Resources.vala:166 msgid "_OK" msgstr "_ОК" -#: ../src/Resources.vala:172 -#| msgid "Play" +#: ../src/Resources.vala:167 msgid "_Play" msgstr "_Воспроизвести" -#: ../src/Resources.vala:173 ../src/Resources.vala:325 +#: ../src/Resources.vala:168 ../src/Resources.vala:320 msgid "_Preferences" msgstr "_Параметры" -#: ../src/Resources.vala:174 -#| msgid "_Previous Photo" +#: ../src/Resources.vala:169 msgid "_Previous" msgstr "_Предыдущее" -#: ../src/Resources.vala:175 -#| msgid "_Print..." +#: ../src/Resources.vala:170 msgid "_Print" msgstr "_Печать" -#: ../src/Resources.vala:176 +#: ../src/Resources.vala:171 msgid "_Quit" msgstr "_Завершить" -#: ../src/Resources.vala:177 +#: ../src/Resources.vala:172 msgid "_Refresh" msgstr "_Обновить" -#: ../src/Resources.vala:179 -#| msgid "Reverting" +#: ../src/Resources.vala:174 msgid "_Revert" msgstr "_Вернуть" -#: ../src/Resources.vala:180 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:422 +#: ../src/Resources.vala:175 ../src/direct/DirectPhotoPage.vala:51 +#: ../src/direct/DirectPhotoPage.vala:432 msgid "_Save" msgstr "_Сохранить" -#: ../src/Resources.vala:181 -#| msgid "Save As" +#: ../src/Resources.vala:176 msgid "Save _As" msgstr "Сохранить _как" -#: ../src/Resources.vala:182 -#| msgid "_Ascending" +#: ../src/Resources.vala:177 msgid "Sort _Ascending" msgstr "Сортировать по _возрастанию" -#: ../src/Resources.vala:183 -#| msgid "D_escending" +#: ../src/Resources.vala:178 msgid "Sort _Descending" msgstr "Сортировать по _убыванию" -#: ../src/Resources.vala:184 +#: ../src/Resources.vala:179 msgid "_Stop" msgstr "Ос_тановить" -#: ../src/Resources.vala:185 -#| msgid "_Delete" +#: ../src/Resources.vala:180 msgid "_Undelete" msgstr "Восст_ановить" -#: ../src/Resources.vala:186 -#| msgid "Original Size" +#: ../src/Resources.vala:181 msgid "_Normal Size" msgstr "_Исходный размер" -#: ../src/Resources.vala:187 +#: ../src/Resources.vala:182 msgid "Best _Fit" msgstr "В_писать" -#: ../src/Resources.vala:191 +#: ../src/Resources.vala:186 msgid "_Enhance" msgstr "_Автокоррекция" -#: ../src/Resources.vala:192 +#: ../src/Resources.vala:187 msgid "Enhance" msgstr "Автокоррекция" -#: ../src/Resources.vala:193 +#: ../src/Resources.vala:188 msgid "Automatically improve the photo's appearance" msgstr "Автоматически откорректировать цвет и тон изображения" -#: ../src/Resources.vala:195 +#: ../src/Resources.vala:190 msgid "_Copy Color Adjustments" msgstr "_Копировать настройки цвета" -#: ../src/Resources.vala:196 +#: ../src/Resources.vala:191 msgid "Copy Color Adjustments" msgstr "Копировать настройки цвета" -#: ../src/Resources.vala:197 +#: ../src/Resources.vala:192 msgid "Copy the color adjustments applied to the photo" msgstr "Скопировать настройки цвета применённые к фотографии" -#: ../src/Resources.vala:199 +#: ../src/Resources.vala:194 msgid "_Paste Color Adjustments" msgstr "_Вставить настройки цвета" -#: ../src/Resources.vala:200 +#: ../src/Resources.vala:195 msgid "Paste Color Adjustments" msgstr "Вставить настройки цвета" -#: ../src/Resources.vala:201 +#: ../src/Resources.vala:196 msgid "Apply copied color adjustments to the selected photos" msgstr "Применить скопированные настройки цвета к выбранным фотографиям" -#: ../src/Resources.vala:203 +#: ../src/Resources.vala:198 msgid "_Crop" msgstr "_Обрезать" -#: ../src/Resources.vala:204 +#: ../src/Resources.vala:199 msgid "Crop" msgstr "Подрезка" -#: ../src/Resources.vala:205 +#: ../src/Resources.vala:200 msgid "Crop the photo's size" msgstr "Изменить размер изображения" -#: ../src/Resources.vala:207 ../src/editing_tools/StraightenTool.vala:100 +#: ../src/Resources.vala:202 ../src/editing_tools/StraightenTool.vala:100 msgid "_Straighten" msgstr "_Выровнять" -#: ../src/Resources.vala:208 +#: ../src/Resources.vala:203 msgid "Straighten" msgstr "Выравнивание" -#: ../src/Resources.vala:209 +#: ../src/Resources.vala:204 msgid "Straighten the photo" msgstr "Выровнять изображение" -#: ../src/Resources.vala:211 +#: ../src/Resources.vala:206 msgid "_Red-eye" msgstr "_Удаление эффекта «красных глаз»" -#: ../src/Resources.vala:212 +#: ../src/Resources.vala:207 msgid "Red-eye" msgstr "Удаление эффекта «красных глаз»" -#: ../src/Resources.vala:213 +#: ../src/Resources.vala:208 msgid "Reduce or eliminate any red-eye effects in the photo" msgstr "Уменьшение или полное устранение эффекта «красных глаз» на фотографиях" -#: ../src/Resources.vala:215 +#: ../src/Resources.vala:210 msgid "_Adjust" msgstr "_Коррекция" -#: ../src/Resources.vala:216 +#: ../src/Resources.vala:211 msgid "Adjust" msgstr "Коррекция" -#: ../src/Resources.vala:217 +#: ../src/Resources.vala:212 msgid "Adjust the photo's color and tone" msgstr "Настроить цвет или тон изображения" -#: ../src/Resources.vala:219 +#: ../src/Resources.vala:214 msgid "Re_vert to Original" msgstr "Отменить автокоррек_цию" -#: ../src/Resources.vala:220 +#: ../src/Resources.vala:215 msgid "Revert to Original" msgstr "Отменить автокоррекцию" -#: ../src/Resources.vala:222 +#: ../src/Resources.vala:217 msgid "Revert External E_dits" msgstr "Отменить и_зменения внешнего редактора" -#: ../src/Resources.vala:223 +#: ../src/Resources.vala:218 msgid "Revert to the master photo" msgstr "Вернуться к исходному изображению" -#: ../src/Resources.vala:225 +#: ../src/Resources.vala:220 msgid "Set as _Desktop Background" msgstr "Сделать _фоном рабочего стола" -#: ../src/Resources.vala:226 +#: ../src/Resources.vala:221 msgid "Set selected image to be the new desktop background" msgstr "Сделать выбранное изображение фоном рабочего стола" -#: ../src/Resources.vala:227 +#: ../src/Resources.vala:222 msgid "Set as _Desktop Slideshow..." msgstr "Сделать набором слайдов _рабочего стола" -#: ../src/Resources.vala:229 +#: ../src/Resources.vala:224 msgid "_Undo" msgstr "_Отменить" -#: ../src/Resources.vala:230 +#: ../src/Resources.vala:225 msgid "Undo" msgstr "Отменить" -#: ../src/Resources.vala:232 +#: ../src/Resources.vala:227 msgid "_Redo" msgstr "_Вернуть" -#: ../src/Resources.vala:233 +#: ../src/Resources.vala:228 msgid "Redo" msgstr "Вернуть" -#: ../src/Resources.vala:235 +#: ../src/Resources.vala:230 msgid "Re_name Event..." msgstr "_Переименовать событие…" -#: ../src/Resources.vala:238 +#: ../src/Resources.vala:233 msgid "Make _Key Photo for Event" msgstr "Сделать _ключевым фото для события" -#: ../src/Resources.vala:239 +#: ../src/Resources.vala:234 msgid "Make Key Photo for Event" msgstr "Сделать ключевым фото для события" -#: ../src/Resources.vala:241 +#: ../src/Resources.vala:236 msgid "_New Event" msgstr "_Новое событие" -#: ../src/Resources.vala:242 +#: ../src/Resources.vala:237 msgid "New Event" msgstr "Новое событие" -#: ../src/Resources.vala:244 +#: ../src/Resources.vala:239 msgid "Move Photos" msgstr "Переместить фото" -#: ../src/Resources.vala:245 +#: ../src/Resources.vala:240 msgid "Move photos to an event" msgstr "Переместить фото в событие" -#: ../src/Resources.vala:247 +#: ../src/Resources.vala:242 msgid "_Merge Events" msgstr "_Объединение событий" -#: ../src/Resources.vala:248 +#: ../src/Resources.vala:243 msgid "Merge" msgstr "Объединить" -#: ../src/Resources.vala:249 +#: ../src/Resources.vala:244 msgid "Combine events into a single event" msgstr "Собрать события в одно" -#: ../src/Resources.vala:251 +#: ../src/Resources.vala:246 msgid "_Set Rating" msgstr "_Оценить" -#: ../src/Resources.vala:252 +#: ../src/Resources.vala:247 msgid "Set Rating" msgstr "Поставить оценку фотографии" -#: ../src/Resources.vala:253 +#: ../src/Resources.vala:248 msgid "Change the rating of your photo" msgstr "Изменить оценку фотоснимка" -#: ../src/Resources.vala:255 +#: ../src/Resources.vala:250 msgid "_Increase" msgstr "По_высить" -#: ../src/Resources.vala:256 +#: ../src/Resources.vala:251 msgid "Increase Rating" msgstr "Повысить оценку" -#: ../src/Resources.vala:258 +#: ../src/Resources.vala:253 msgid "_Decrease" msgstr "По_низить" -#: ../src/Resources.vala:259 +#: ../src/Resources.vala:254 msgid "Decrease Rating" msgstr "Понизить оценку" -#: ../src/Resources.vala:261 +#: ../src/Resources.vala:256 msgid "_Unrated" msgstr "_Без оценки" -#: ../src/Resources.vala:262 +#: ../src/Resources.vala:257 msgid "Unrated" msgstr "Без оценки" -#: ../src/Resources.vala:263 +#: ../src/Resources.vala:258 msgid "Rate Unrated" msgstr "Поставить оценку неоценённым" -#: ../src/Resources.vala:264 +#: ../src/Resources.vala:259 msgid "Setting as unrated" msgstr "Снять оценку" -#: ../src/Resources.vala:265 +#: ../src/Resources.vala:260 msgid "Remove any ratings" msgstr "Удалить все оценки" -#: ../src/Resources.vala:267 +#: ../src/Resources.vala:262 msgid "_Rejected" msgstr "_Отклонённые" -#: ../src/Resources.vala:268 +#: ../src/Resources.vala:263 msgid "Rejected" msgstr "Отклонённые" -#: ../src/Resources.vala:269 +#: ../src/Resources.vala:264 msgid "Rate Rejected" msgstr "Оценить отклонённые" -#: ../src/Resources.vala:270 +#: ../src/Resources.vala:265 msgid "Setting as rejected" msgstr "Пометить как отклонённое" -#: ../src/Resources.vala:271 +#: ../src/Resources.vala:266 msgid "Set rating to rejected" msgstr "Поставить оценки отклонённым" -#: ../src/Resources.vala:273 +#: ../src/Resources.vala:268 msgid "Rejected _Only" msgstr "Только _отклонённые" -#: ../src/Resources.vala:274 +#: ../src/Resources.vala:269 msgid "Rejected Only" msgstr "Только отклонённые" -#: ../src/Resources.vala:275 +#: ../src/Resources.vala:270 msgid "Show only rejected photos" msgstr "Показать только отклонённые фото" -#: ../src/Resources.vala:277 +#: ../src/Resources.vala:272 msgid "All + _Rejected" msgstr "Все и _отклонённые" -#: ../src/Resources.vala:278 ../src/Resources.vala:279 +#: ../src/Resources.vala:273 ../src/Resources.vala:274 msgid "Show all photos, including rejected" msgstr "Показать все фото, включая отклонённые" -#: ../src/Resources.vala:281 +#: ../src/Resources.vala:276 msgid "_All Photos" msgstr "_Все фотографии" #. Button label #. Button tooltip -#: ../src/Resources.vala:283 ../src/Resources.vala:285 +#: ../src/Resources.vala:278 ../src/Resources.vala:280 msgid "Show all photos" msgstr "Показать все фото" -#: ../src/Resources.vala:287 +#: ../src/Resources.vala:282 msgid "_Ratings" msgstr "_Оценки" -#: ../src/Resources.vala:288 +#: ../src/Resources.vala:283 msgid "Display each photo's rating" msgstr "Показывать оценку каждой фотографии" -#: ../src/Resources.vala:290 +#: ../src/Resources.vala:285 msgid "_Filter Photos" msgstr "_Фильтровать фото" -#: ../src/Resources.vala:291 +#: ../src/Resources.vala:286 msgid "Filter Photos" msgstr "Фильтровать фотографии" -#: ../src/Resources.vala:292 +#: ../src/Resources.vala:287 msgid "Limit the number of photos displayed based on a filter" msgstr "Ограничить с помощью фильтра число показываемых фотографий" -#: ../src/Resources.vala:294 +#: ../src/Resources.vala:289 msgid "_Duplicate" msgstr "_Дублировать" -#: ../src/Resources.vala:295 +#: ../src/Resources.vala:290 msgid "Duplicate" msgstr "Дублировать" -#: ../src/Resources.vala:296 +#: ../src/Resources.vala:291 msgid "Make a duplicate of the photo" msgstr "Сделать дубликат снимка" -#: ../src/Resources.vala:298 +#: ../src/Resources.vala:293 msgid "_Export..." msgstr "_Экспортировать…" -#: ../src/Resources.vala:300 +#: ../src/Resources.vala:295 msgid "_Print..." msgstr "_Печать…" -#: ../src/Resources.vala:302 +#: ../src/Resources.vala:297 msgid "Pu_blish..." msgstr "О_публиковать…" -#: ../src/Resources.vala:304 +#: ../src/Resources.vala:299 msgid "Publish to various websites" msgstr "Опубликовать на различных сайтах" -#: ../src/Resources.vala:306 +#: ../src/Resources.vala:301 msgid "Edit _Title..." msgstr "Редактировать _название…" -#: ../src/Resources.vala:310 +#: ../src/Resources.vala:305 msgid "Edit _Comment..." msgstr "Изменить _комментарий…" #. Button label -#: ../src/Resources.vala:312 +#: ../src/Resources.vala:307 msgid "Edit Comment" msgstr "Изменить комментарий" -#: ../src/Resources.vala:314 +#: ../src/Resources.vala:309 msgid "Edit Event _Comment..." msgstr "Изменить ко_мментарий события…" -#: ../src/Resources.vala:317 +#: ../src/Resources.vala:312 msgid "_Adjust Date and Time..." msgstr "_Изменить дату и время…" -#: ../src/Resources.vala:318 +#: ../src/Resources.vala:313 msgid "Adjust Date and Time" msgstr "Изменить дату и время" -#: ../src/Resources.vala:320 +#: ../src/Resources.vala:315 msgid "Add _Tags..." msgstr "Добавить _метки…" -#: ../src/Resources.vala:321 +#: ../src/Resources.vala:316 msgid "_Add Tags..." msgstr "_Добавить метки…" #. Dialog title #. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:323 ../src/Resources.vala:356 +#: ../src/Resources.vala:318 ../src/Resources.vala:351 msgid "Add Tags" msgstr "Добавить метки" -#: ../src/Resources.vala:327 +#: ../src/Resources.vala:322 msgid "Open With E_xternal Editor" msgstr "Открыть с помощью внешнего _редактора" -#: ../src/Resources.vala:329 +#: ../src/Resources.vala:324 msgid "Open With RA_W Editor" msgstr "Открыть с помощью редактора _RAW" -#: ../src/Resources.vala:331 +#: ../src/Resources.vala:326 msgid "Send _To..." msgstr "_Отправить…" -#: ../src/Resources.vala:332 +#: ../src/Resources.vala:327 msgid "Send T_o..." msgstr "_Отправить…" -#: ../src/Resources.vala:334 +#: ../src/Resources.vala:329 msgid "_Find..." msgstr "_Поиск…" -#: ../src/Resources.vala:335 +#: ../src/Resources.vala:330 msgid "Find" msgstr "Поиск" -#: ../src/Resources.vala:336 +#: ../src/Resources.vala:331 msgid "Find an image by typing text that appears in its name or tags" msgstr "" "Найти изображения по указанной строке из названий или меток изображений" -#: ../src/Resources.vala:338 +#: ../src/Resources.vala:333 msgid "_Flag" msgstr "_Отметить" -#: ../src/Resources.vala:340 +#: ../src/Resources.vala:335 msgid "Un_flag" msgstr "_Снять отметку" -#: ../src/Resources.vala:343 +#: ../src/Resources.vala:338 #, c-format msgid "Unable to launch editor: %s" msgstr "Невозможно запустить редактор: %s" -#: ../src/Resources.vala:348 +#: ../src/Resources.vala:343 #, c-format msgid "Add Tag \"%s\"" msgstr "Добавить метку «%s»" #. Used when adding two tags to photo(s) -#: ../src/Resources.vala:351 +#: ../src/Resources.vala:346 #, c-format msgid "Add Tags \"%s\" and \"%s\"" msgstr "Добавить метки «%s» и «%s»" -#: ../src/Resources.vala:361 +#: ../src/Resources.vala:356 #, c-format msgid "_Delete Tag \"%s\"" msgstr "_Снять метку «%s»" -#: ../src/Resources.vala:365 +#: ../src/Resources.vala:360 #, c-format msgid "Delete Tag \"%s\"" msgstr "Снять метку «%s»" -#: ../src/Resources.vala:368 +#: ../src/Resources.vala:363 msgid "Delete Tag" msgstr "Удалить метку" -#: ../src/Resources.vala:374 +#: ../src/Resources.vala:369 #, c-format msgid "Re_name Tag \"%s\"..." msgstr "П_ереименовать метку «%s»…" -#: ../src/Resources.vala:378 +#: ../src/Resources.vala:373 #, c-format msgid "Rename Tag \"%s\" to \"%s\"" msgstr "Переименовать метку «%s» на «%s»" -#: ../src/Resources.vala:381 +#: ../src/Resources.vala:376 msgid "_Rename..." msgstr "_Переименовать" -#: ../src/Resources.vala:383 +#: ../src/Resources.vala:378 msgid "Modif_y Tags..." msgstr "_Изменить метки…" -#: ../src/Resources.vala:384 +#: ../src/Resources.vala:379 msgid "Modify Tags" msgstr "Изменить метки" -#: ../src/Resources.vala:387 +#: ../src/Resources.vala:382 #, c-format msgid "Tag Photo as \"%s\"" msgstr "Добавить метку «%s» к фотографиям" -#: ../src/Resources.vala:387 +#: ../src/Resources.vala:382 #, c-format msgid "Tag Photos as \"%s\"" msgstr "Добавить метку «%s» к фотографиям" -#: ../src/Resources.vala:391 +#: ../src/Resources.vala:386 #, c-format msgid "Tag the selected photo as \"%s\"" msgstr "Добавить метку «%s» к выбранной фотографии" -#: ../src/Resources.vala:392 +#: ../src/Resources.vala:387 #, c-format msgid "Tag the selected photos as \"%s\"" msgstr "Добавить метку «%s» к выбранным фотографиям" -#: ../src/Resources.vala:396 +#: ../src/Resources.vala:391 #, c-format msgid "Remove Tag \"%s\" From _Photo" msgstr "Снять метку «%s» с _фотографии" -#: ../src/Resources.vala:397 +#: ../src/Resources.vala:392 #, c-format msgid "Remove Tag \"%s\" From _Photos" msgstr "Снять метку «%s» с _фотографий" -#: ../src/Resources.vala:401 +#: ../src/Resources.vala:396 #, c-format msgid "Remove Tag \"%s\" From Photo" msgstr "Снять метку «%s» с фотографии" -#: ../src/Resources.vala:402 +#: ../src/Resources.vala:397 #, c-format msgid "Remove Tag \"%s\" From Photos" msgstr "Снять метку «%s» с фотографий" -#: ../src/Resources.vala:406 +#: ../src/Resources.vala:401 #, c-format msgid "Unable to rename tag to \"%s\" because the tag already exists." msgstr "Невозможно переименовать метку в «%s», такая метка уже существует." -#: ../src/Resources.vala:410 +#: ../src/Resources.vala:405 #, c-format msgid "Unable to rename search to \"%s\" because the search already exists." msgstr "" "Невозможно переименовать поиск в «%s», такой поисковый запрос уже существует." -#: ../src/Resources.vala:413 +#: ../src/Resources.vala:408 msgid "Saved Search" msgstr "Сохранённый поиск" -#: ../src/Resources.vala:415 +#: ../src/Resources.vala:410 msgid "Delete Search" msgstr "Удалить поиск" -#: ../src/Resources.vala:418 +#: ../src/Resources.vala:413 msgid "_Edit..." msgstr "_Изменить…" -#: ../src/Resources.vala:419 +#: ../src/Resources.vala:414 msgid "Re_name..." msgstr "_Переименовать…" -#: ../src/Resources.vala:422 +#: ../src/Resources.vala:417 #, c-format msgid "Rename Search \"%s\" to \"%s\"" msgstr "Переименовать поисковый запрос «%s» в «%s»" -#: ../src/Resources.vala:426 +#: ../src/Resources.vala:421 #, c-format msgid "Delete Search \"%s\"" msgstr "Удалить поиск «%s»" -#: ../src/Resources.vala:584 +#: ../src/Resources.vala:579 #, c-format msgid "Rate %s" msgstr "Оценить %s" -#: ../src/Resources.vala:585 +#: ../src/Resources.vala:580 #, c-format msgid "Set rating to %s" msgstr "Оценить на %s" -#: ../src/Resources.vala:586 +#: ../src/Resources.vala:581 #, c-format msgid "Setting rating to %s" msgstr "Оценить на %s" -#: ../src/Resources.vala:588 +#: ../src/Resources.vala:583 #, c-format msgid "Display %s" msgstr "Показать %s" -#: ../src/Resources.vala:589 +#: ../src/Resources.vala:584 #, c-format msgid "Only show photos with a rating of %s" msgstr "Показывать только фото с оценкой %s" -#: ../src/Resources.vala:590 +#: ../src/Resources.vala:585 #, c-format msgid "%s or Better" msgstr "%s или лучше" -#: ../src/Resources.vala:591 +#: ../src/Resources.vala:586 #, c-format msgid "Display %s or Better" msgstr "Показывать с оценкой %s или лучшей" -#: ../src/Resources.vala:592 +#: ../src/Resources.vala:587 #, c-format msgid "Only show photos with a rating of %s or better" msgstr "Показывать только фото с оценкой %s или лучшей" -#: ../src/Resources.vala:683 +#: ../src/Resources.vala:678 msgid "Remove the selected photos from the trash" msgstr "Удалить выбранные фотографии из корзины" -#: ../src/Resources.vala:684 +#: ../src/Resources.vala:679 msgid "Remove the selected photos from the library" msgstr "Удалить выбранные фотографии из библиотеки" -#: ../src/Resources.vala:686 +#: ../src/Resources.vala:681 msgid "_Restore" msgstr "_Восстановить" -#: ../src/Resources.vala:687 +#: ../src/Resources.vala:682 msgid "Move the selected photos back into the library" msgstr "Вернуть выбранные фотографии в библиотеку" -#: ../src/Resources.vala:689 +#: ../src/Resources.vala:684 msgid "Show in File Mana_ger" msgstr "Открыть в файловом _менеджере" -#: ../src/Resources.vala:690 +#: ../src/Resources.vala:685 msgid "Open the selected photo's directory in the file manager" msgstr "" "Открыть каталог, в котором находится выбранная фотография, в файловом " "менеджере" -#: ../src/Resources.vala:693 +#: ../src/Resources.vala:688 #, c-format msgid "Unable to open in file manager: %s" msgstr "Невозможно открыть в файловом менеджере: %s" -#: ../src/Resources.vala:696 +#: ../src/Resources.vala:691 msgid "R_emove From Library" msgstr "_Удалить из библиотеки" -#: ../src/Resources.vala:698 +#: ../src/Resources.vala:693 msgid "_Move to Trash" msgstr "Переместить в корзину" -#: ../src/Resources.vala:700 +#: ../src/Resources.vala:695 msgid "Select _All" msgstr "Выбрать _всё" -#: ../src/Resources.vala:701 +#: ../src/Resources.vala:696 msgid "Select all items" msgstr "Выбрать всё" @@ -3770,21 +3758,21 @@ msgstr "Выбрать всё" #. / Locale-specific time format for 12-hour time, i.e. 8:31 PM #. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes #. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 +#: ../src/Resources.vala:775 msgid "%-I:%M %p" msgstr "%-I:%M %p" #. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM #. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes #. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:785 +#: ../src/Resources.vala:780 msgid "%-I:%M:%S %p" msgstr "%-I:%M:%S %p" # исправление даты #. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" #. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:789 +#: ../src/Resources.vala:784 msgid "%a %b %d, %Y" msgstr "%a., %d %b. %Y" @@ -3795,7 +3783,7 @@ msgstr "%a., %d %b. %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 -#: ../src/Resources.vala:794 ../src/Resources.vala:804 +#: ../src/Resources.vala:789 ../src/Resources.vala:799 msgid "%a %b %d" msgstr "%a., %d" @@ -3803,7 +3791,7 @@ msgstr "%a., %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 -#: ../src/Resources.vala:799 +#: ../src/Resources.vala:794 msgid "%d, %Y" msgstr "%d %b., %Y" @@ -3845,7 +3833,6 @@ msgstr "Не удалось загрузить файл интерфейса %s: #. display it yet; we'll connect it to secondary #. click later on. #: ../src/SearchFilter.vala:945 -#| msgid "_Close" msgid "Close" msgstr "Закрыть" @@ -3911,7 +3898,7 @@ msgid "untitled" msgstr "безымянный" #. multiple videos -#: ../src/VideoSupport.vala:489 +#: ../src/VideoSupport.vala:490 msgid "Export Videos" msgstr "Экспортирование видео" @@ -3919,7 +3906,7 @@ msgstr "Экспортирование видео" msgid "Cameras" msgstr "Камеры" -#: ../src/camera/ImportPage.vala:459 +#: ../src/camera/ImportPage.vala:458 msgid "" "Unable to unmount camera. Try unmounting the camera from the file manager." msgstr "" @@ -3927,11 +3914,11 @@ msgstr "" "менеджера." #. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:776 +#: ../src/camera/ImportPage.vala:775 msgid "Hide photos already imported" msgstr "Скрыть уже импортированные фото" -#: ../src/camera/ImportPage.vala:777 +#: ../src/camera/ImportPage.vala:776 msgid "Only display photos that have not been imported" msgstr "Показать только не импортированные фото" @@ -3939,28 +3926,28 @@ msgstr "Показать только не импортированные фот #. prior to import. #. TODO: replace this with approved text for "talking to camera, #. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:847 +#: ../src/camera/ImportPage.vala:846 msgid "Starting import, please wait..." msgstr "Идёт импортирование, пожалуйста подождите…" -#: ../src/camera/ImportPage.vala:886 +#: ../src/camera/ImportPage.vala:885 msgid "Import _Selected" msgstr "_Импортировать выбранные" -#: ../src/camera/ImportPage.vala:887 +#: ../src/camera/ImportPage.vala:886 msgid "Import the selected photos into your library" msgstr "Импортирование выбранных фотографий в библиотеку" -#: ../src/camera/ImportPage.vala:892 +#: ../src/camera/ImportPage.vala:891 msgid "Import _All" msgstr "Импортировать _все" -#: ../src/camera/ImportPage.vala:893 +#: ../src/camera/ImportPage.vala:892 msgid "Import all the photos into your library" msgstr "Импортировать все фотографии в библиотеку" #. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1014 +#: ../src/camera/ImportPage.vala:1013 msgid "" "Shotwell needs to unmount the camera from the filesystem in order to access " "it. Continue?" @@ -3968,15 +3955,15 @@ msgstr "" "Для доступа к камере Shotwell должен размонтировать её от файловой системы. " "Продолжить?" -#: ../src/camera/ImportPage.vala:1020 +#: ../src/camera/ImportPage.vala:1019 msgid "_Unmount" msgstr "_Размонтировать" -#: ../src/camera/ImportPage.vala:1025 +#: ../src/camera/ImportPage.vala:1024 msgid "Please unmount the camera." msgstr "Размонтируйте камеру." -#: ../src/camera/ImportPage.vala:1030 +#: ../src/camera/ImportPage.vala:1029 msgid "" "The camera is locked by another application. Shotwell can only access the " "camera when it's unlocked. Please close any other application using the " @@ -3986,11 +3973,11 @@ msgstr "" "заблокированной камерой. Закройте все приложения, работающие с камерой и " "повторите попытку." -#: ../src/camera/ImportPage.vala:1040 +#: ../src/camera/ImportPage.vala:1039 msgid "Please close any other application using the camera." msgstr "Закройте все приложения, работающие с камерой." -#: ../src/camera/ImportPage.vala:1045 +#: ../src/camera/ImportPage.vala:1044 #, c-format msgid "" "Unable to fetch previews from the camera:\n" @@ -3999,25 +3986,25 @@ msgstr "" "Невозможно получить предпросмотр с камеры:\n" "%s" -#: ../src/camera/ImportPage.vala:1062 +#: ../src/camera/ImportPage.vala:1061 msgid "Unmounting..." msgstr "Размонтирование…" -#: ../src/camera/ImportPage.vala:1168 +#: ../src/camera/ImportPage.vala:1167 msgid "Fetching photo information" msgstr "Получение информации о снимке" -#: ../src/camera/ImportPage.vala:1523 +#: ../src/camera/ImportPage.vala:1522 #, c-format msgid "Fetching preview for %s" msgstr "Получение предпросмотра %s" -#: ../src/camera/ImportPage.vala:1639 +#: ../src/camera/ImportPage.vala:1638 #, c-format msgid "Unable to lock camera: %s" msgstr "Невозможно заблокировать камеру: %s" -#: ../src/camera/ImportPage.vala:1724 +#: ../src/camera/ImportPage.vala:1723 #, c-format msgid "Delete this photo from camera?" msgid_plural "Delete these %d photos from camera?" @@ -4025,7 +4012,7 @@ msgstr[0] "Удалить %d фотографию из камеры?" msgstr[1] "Удалить %d фотографии из камеры?" msgstr[2] "Удалить %d фотографий из камеры?" -#: ../src/camera/ImportPage.vala:1727 +#: ../src/camera/ImportPage.vala:1726 #, c-format msgid "Delete this video from camera?" msgid_plural "Delete these %d videos from camera?" @@ -4033,7 +4020,7 @@ msgstr[0] "Удалить %d видеофайл из камеры?" msgstr[1] "Удалить %d видеофайла из камеры?" msgstr[2] "Удалить %d видеофайлов из камеры?" -#: ../src/camera/ImportPage.vala:1730 +#: ../src/camera/ImportPage.vala:1729 #, c-format msgid "Delete this photo/video from camera?" msgid_plural "Delete these %d photos/videos from camera?" @@ -4041,7 +4028,7 @@ msgstr[0] "Удалить %d фотографию/видеофайл из кам msgstr[1] "Удалить %d фотографии/видеофайла из камеры?" msgstr[2] "Удалить %d фотографий/видеофайлов из камеры?" -#: ../src/camera/ImportPage.vala:1733 +#: ../src/camera/ImportPage.vala:1732 #, c-format msgid "Delete these files from camera?" msgid_plural "Delete these %d files from camera?" @@ -4049,11 +4036,11 @@ msgstr[0] "Удалить %d файл из камеры?" msgstr[1] "Удалить эти %d файла из камеры? " msgstr[2] "Удалить эти %d файлов из камеры?" -#: ../src/camera/ImportPage.vala:1760 +#: ../src/camera/ImportPage.vala:1759 msgid "Removing photos/videos from camera" msgstr "Удаление фотографий/видеофайлов из камеры" -#: ../src/camera/ImportPage.vala:1764 +#: ../src/camera/ImportPage.vala:1763 #, c-format msgid "Unable to delete %d photo/video from the camera due to errors." msgid_plural "Unable to delete %d photos/videos from the camera due to errors." @@ -4106,12 +4093,17 @@ msgstr "Файл базы данных:" msgid "_Import" msgstr "_Импортировать" -#: ../src/data_imports/DataImportsUI.vala:217 +#: ../src/data_imports/DataImportsUI.vala:220 msgid "Import From Application" msgstr "Импортировать из приложения" -#: ../src/data_imports/DataImportsUI.vala:369 -#: ../src/publishing/PublishingUI.vala:470 +#: ../src/data_imports/DataImportsUI.vala:221 +#| msgid "Imported %s" +msgid "Import media _from:" +msgstr "И_мпортировать данные из:" + +#: ../src/data_imports/DataImportsUI.vala:408 +#: ../src/publishing/PublishingUI.vala:507 msgid "_Close" msgstr "_Закрыть" @@ -4144,6 +4136,14 @@ msgstr "" "Ошибка: \n" "%s" +#: ../src/db/DatabaseTable.vala:81 +#, c-format +#| msgid "" +#| "Unable to write to photo database file:\n" +#| " %s" +msgid "Unable to restore photo database %s" +msgstr "Невозможно восстановить базу данных фотографий %s" + #: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 msgid "_File" msgstr "_Файл" @@ -4187,26 +4187,35 @@ msgstr "" "%s не поддерживает формат файла\n" "%s." -#: ../src/direct/DirectPhotoPage.vala:422 +#: ../src/direct/DirectPhotoPage.vala:248 +#, c-format +#| msgid "" +#| "Unable to print photo:\n" +#| "\n" +#| "%s" +msgid "Unable open photo %s. Sorry." +msgstr "Невозможно открыть фото %s." + +#: ../src/direct/DirectPhotoPage.vala:432 msgid "_Save a Copy" msgstr "Сохранить _копию" -#: ../src/direct/DirectPhotoPage.vala:425 +#: ../src/direct/DirectPhotoPage.vala:435 #, c-format msgid "Lose changes to %s?" msgstr "Отменить изменения %s?" -#: ../src/direct/DirectPhotoPage.vala:426 +#: ../src/direct/DirectPhotoPage.vala:436 msgid "Close _without Saving" msgstr "Закрыть _без сохранения" -#: ../src/direct/DirectPhotoPage.vala:459 +#: ../src/direct/DirectPhotoPage.vala:469 #, c-format msgid "Error while saving to %s: %s" msgstr "Ошибка при сохранении в %s: %s" -#: ../src/direct/DirectPhotoPage.vala:487 -#: ../src/direct/DirectPhotoPage.vala:508 +#: ../src/direct/DirectPhotoPage.vala:497 +#: ../src/direct/DirectPhotoPage.vala:518 msgid "Save As" msgstr "Сохранить как" @@ -4368,7 +4377,6 @@ msgid "No events found" msgstr "События не найдены" #: ../src/events/EventsDirectoryPage.vala:230 -#| msgid "Events" msgid "All Events" msgstr "Все события" @@ -4533,25 +4541,25 @@ msgstr "Расположение библиотеки" msgid "Photos cannot be imported from this directory." msgstr "Фотографии не могут быть импортированы из этого каталога." -#: ../src/library/LibraryWindow.vala:1183 +#: ../src/library/LibraryWindow.vala:1181 #, c-format msgid "%s (%d%%)" msgstr "%s (%d%%)" -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 +#: ../src/library/LibraryWindow.vala:1225 +#: ../src/library/LibraryWindow.vala:1236 msgid "Updating library..." msgstr "Обновление библиотеки…" -#: ../src/library/LibraryWindow.vala:1244 +#: ../src/library/LibraryWindow.vala:1242 msgid "Preparing to auto-import photos..." msgstr "Подготовка к авто-импортированию…" -#: ../src/library/LibraryWindow.vala:1249 +#: ../src/library/LibraryWindow.vala:1247 msgid "Auto-importing photos..." msgstr "Авто-импортирование фотографий…" -#: ../src/library/LibraryWindow.vala:1257 +#: ../src/library/LibraryWindow.vala:1255 msgid "Writing metadata to files..." msgstr "Запись метаданных в файлы…" @@ -4744,37 +4752,37 @@ msgstr "Получение информации об учётной записи msgid "Logging in..." msgstr "Вход…" -#: ../src/publishing/PublishingUI.vala:185 +#: ../src/publishing/PublishingUI.vala:188 msgid "Publish Photos" msgstr "Публикация фотографий" -#: ../src/publishing/PublishingUI.vala:186 +#: ../src/publishing/PublishingUI.vala:189 msgid "Publish photos _to:" msgstr "Опубликовать фотографии _на:" -#: ../src/publishing/PublishingUI.vala:188 +#: ../src/publishing/PublishingUI.vala:191 msgid "Publish Videos" msgstr "Публикация видео" -#: ../src/publishing/PublishingUI.vala:189 +#: ../src/publishing/PublishingUI.vala:192 msgid "Publish videos _to" msgstr "Опубликовать видео _на" -#: ../src/publishing/PublishingUI.vala:191 +#: ../src/publishing/PublishingUI.vala:194 msgid "Publish Photos and Videos" msgstr "Публикация фотографий и видео" -#: ../src/publishing/PublishingUI.vala:192 +#: ../src/publishing/PublishingUI.vala:195 msgid "Publish photos and videos _to" msgstr "Опубликовать видео и фотографии _на" #. There are no enabled publishing services that accept this media type, #. warn the user. -#: ../src/publishing/PublishingUI.vala:360 +#: ../src/publishing/PublishingUI.vala:397 msgid "Unable to publish" msgstr "Невозможно опубликовать" -#: ../src/publishing/PublishingUI.vala:361 +#: ../src/publishing/PublishingUI.vala:398 #, c-format msgid "" "Shotwell cannot publish the selected items because you do not have a " @@ -5178,5 +5186,11 @@ msgstr "Показывать _название" msgid "seconds" msgstr "секунд" +#~ msgid "Copyright 2009-2015 Yorba Foundation" +#~ msgstr "Авторское право © 2009-2015 Yorba Foundation" + +#~ msgid "Visit the Yorba web site" +#~ msgstr "Посетить сайт Yorba" + #~ msgid "A file required for publishing is unavailable. Publishing to " #~ msgstr "Файл, необходимый для публикации недоступен. Публикация в " diff --git a/po/shotwell.pot b/po/shotwell.pot new file mode 100644 index 0000000..38275e1 --- /dev/null +++ b/po/shotwell.pot @@ -0,0 +1,5939 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Translation copyright holder +# This file is distributed under the same license as the shotwell package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: shotwell 0.23.5\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" +"product=Shotwell&component=Internationalization\n" +"POT-Creation-Date: 2016-08-15 20:39+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "" + +#: misc/shotwell.appdata.xml.in:9 +msgid "Popular photo manager" +msgstr "" + +#: misc/shotwell.appdata.xml.in:11 +msgid "" +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." +msgstr "" + +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." +msgstr "" + +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." +msgstr "" + +#: misc/shotwell.appdata.xml.in:52 +msgid "The Shotwell developers" +msgstr "" + +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "" + +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 +msgid "" +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" +msgstr "" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +msgid "shotwell" +msgstr "" + +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:416 +msgid "default size" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 +msgid "" +"A numeric code representing the default size for photos uploaded to Tumblr" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:384 +#: misc/org.yorba.shotwell.gschema.xml:442 +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "username" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last category" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:472 +msgid "last photo size" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:65 +msgid "" +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +msgid "open album in web browser" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:83 +msgid "" +"If true, open target album in the web browser just after uploading photos" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:364 +#: misc/org.yorba.shotwell.gschema.xml:402 +#: misc/org.yorba.shotwell.gschema.xml:428 +#: misc/org.yorba.shotwell.gschema.xml:478 +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "remove sensitive info from uploads" +msgstr "" + +#: misc/org.yorba.shotwell-extras.gschema.xml:89 +msgid "" +"Whether images being uploaded to Rajce should have their metadata removed " +"first" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:28 +msgid "display extended properties" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:29 +msgid "" +"True if the extended properties window is to be displayed, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:34 +msgid "display sidebar" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:40 +msgid "display toolbar" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the bottom toolbar is to be displayed, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display search bar" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:47 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo titles" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:53 +msgid "" +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display photo comments" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:59 +msgid "" +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:64 +msgid "display event comments" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:65 +msgid "" +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:70 +msgid "display photo tags" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:71 +msgid "" +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "display photo ratings" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:77 +msgid "" +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "rating filter level" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:83 +msgid "" +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort events ascending" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos ascending" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "True if library photos should be sorted ascending, false if descending." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:100 +msgid "sort library photos criteria" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:101 +msgid "" +"A numeric code that specifies the sort criteria for photos in library views." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos ascending" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:112 +msgid "sort event photos criteria" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "Specifies the sort criteria for event photos." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "use 24 hour time" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "keep relative time between photos" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "modify original photo files" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "show welcome dialog on startup" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "sidebar position" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The width, in pixels, of the sidebar" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:148 +msgid "photo thumbnail scale" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "pin toolbar state" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "Pin toolbar in fullscreen, or not." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "background color" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "A grayscale color for use as the background color." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:166 +msgid "Selection state of \"hide photos\" option" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:167 +msgid "" +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:174 +msgid "delay" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:180 +msgid "transition delay" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:181 +msgid "" +"The time (in seconds) that a transition runs between photos in a slideshow" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:186 +msgid "transition effect id" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:187 +msgid "" +"The name of the transition effect that will be used between photos when " +"running a slideshow" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:192 +msgid "Show title" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:193 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "maximize library window" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "True if library application is maximized, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "width of library window" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded width of the library application window." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "height of library window" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "The last recorded height of the library application window." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "maximize direct-edit window" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "width of direct-edit window" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded width of the direct-edit application window." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "height of direct-edit window" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "The last recorded height of the direct-edit application window." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:236 +msgid "sidebar divider position" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:237 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:244 +msgid "import directory" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "Directory in which imported photo files are placed." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "watch library directory for new files" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:251 +msgid "" +"If true, files added to the library directory are automatically imported." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "write metadata to master files" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:257 +msgid "" +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:262 +msgid "use lowercase filenames" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:263 +msgid "" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:274 +msgid "directory pattern custom" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:280 +msgid "RAW developer default" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:281 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:288 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:289 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:293 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:294 +msgid "" +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:298 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:299 +msgid "" +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:306 +msgid "external photo editor" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit photos." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:312 +msgid "external raw editor" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:313 +msgid "External application used to edit RAW photos." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:320 +msgid "last used publishing service" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:321 +#: misc/org.yorba.shotwell.gschema.xml:327 +msgid "" +"A numeric code representing the last service to which photos were published" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:326 +msgid "default publishing service" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:340 +msgid "access token" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook OAuth token for the currently logged in session, if any" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user i.d." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:347 +msgid "Facebook user i.d. for the currently logged in user, if any" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:352 +msgid "user name" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:353 +msgid "The name of the currently logged in Facebook user, if any" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default size code" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:359 +msgid "" +"A numeric code representing the default size for photos published to Facebook" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:365 +msgid "" +"Whether images being uploaded to Facebook should have their metadata removed " +"first" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:373 +msgid "The authorization token for the currently logged in Flickr user, if any" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:378 +msgid "OAuth Access Phase Token Secret" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:379 +msgid "" +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:391 +msgid "" +"A numeric code representing the default size for photos published to Flickr" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:396 +msgid "default visibility" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:397 +msgid "" +"A numeric code representing the default visibility for photos published to " +"Flickr" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:403 +msgid "" +"Whether images being uploaded to Flickr should have their metadata removed " +"first" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:410 +#: misc/org.yorba.shotwell.gschema.xml:542 +msgid "refresh token" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:411 +msgid "" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:417 +msgid "" +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "last album" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:423 +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "The name of the last album the user published photos to, if any" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:429 +msgid "" +"Whether images being uploaded to Picasa should have their metadata removed " +"first" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:436 +msgid "Piwigo URL" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "URL of the Piwigo server." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo username, if logged in." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "password" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "Piwigo password, if logged in." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "remember password" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "If true, remember the Piwigo password." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last selected Piwigo category." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last permission level" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:467 +msgid "The last chosen Piwigo permission level." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:473 +msgid "" +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:479 +msgid "" +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:484 +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:490 +msgid "do not upload tags when uploading to Piwigo" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:491 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 username" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "API key" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 API key" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "URL" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "Gallery3 site URL" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:523 +msgid "" +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "scaling constraint of uploaded picture" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:534 +msgid "pixels of the major axis uploaded picture" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:535 +msgid "" +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:543 +msgid "" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:550 +msgid "last used import service" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:551 +msgid "" +"A numeric code representing the last service from which photos were imported" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:558 +msgid "interpreter state cookie" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:559 +msgid "" +"A numeric code that captures the state of the GStreamer plug-in environment" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:566 +msgid "content layout mode" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:567 +msgid "" +"A numeric code that describes how photos are laid out on the page during " +"printing" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content ppi" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content width" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The width of the printed emulsion on the page when printing" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:584 +msgid "content height" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "The height of the printed emulsion on the page when printing" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "content units" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:591 +msgid "" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:596 +msgid "images per page code" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:597 +msgid "" +"A numeric code representing the currently selected images per page mode used " +"when printing" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:602 +msgid "size selection" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:608 +msgid "match aspect ratio" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "print titles" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:620 +msgid "titles font" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:621 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:632 +msgid "enable facebook publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable flickr publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable picasa publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:650 +msgid "enable youtube publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:656 +msgid "enable piwigo publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable yandex publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:668 +msgid "enable tumblr publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:674 +msgid "enable rajce publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:680 +msgid "enable gallery3 publishing plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:686 +msgid "enable F-Spot import plugin" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:692 +msgid "enable slideshow crumble transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:693 +msgid "" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:698 +msgid "enable slideshow fade transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:704 +#: misc/org.yorba.shotwell.gschema.xml:728 +msgid "enable slideshow slide transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:710 +msgid "enable slideshow clock transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:716 +#: misc/org.yorba.shotwell.gschema.xml:722 +msgid "enable slideshow circle transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:734 +msgid "enable slideshow squares transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:740 +msgid "enable slideshow stripes transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:746 +msgid "enable slideshow chess transition" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:747 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" + +#: plugins/common/Resources.vala:12 +msgid "Visit the Shotwell home page" +msgstr "" + +#: plugins/common/Resources.vala:31 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" + +#: plugins/common/RESTSupport.vala:451 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:958 +msgid "A temporary file needed for publishing is unavailable" +msgstr "" + +#: plugins/common/RESTSupport.vala:1157 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:36 +#: plugins/shotwell-publishing/FacebookPublishing.vala:33 +#: plugins/shotwell-publishing/FlickrPublishing.vala:33 +#: plugins/shotwell-publishing/PicasaPublishing.vala:33 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:33 +#: plugins/shotwell-publishing/YouTubePublishing.vala:33 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "Manually select an F-Spot database file to import:" +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:72 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:86 +#, c-format +msgid "F-Spot library: %s" +msgstr "" + +#: plugins/shotwell-data-imports/FSpotImporter.vala:424 +msgid "Preparing to import" +msgstr "" + +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1234 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "" + +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 +msgid "" +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format +msgid "" +"\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 +msgid "" +"\n" +"Note that Gallery3 only supports the video types that Flowplayer does." +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1021 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1773 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" + +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1550 +#, c-format +msgid "Publishing to %s as %s." +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1817 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1818 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1872 +msgid "Unrecognized User" +msgstr "" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1877 +msgid " Site Not Found" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:894 +msgid "_Remember" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:895 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1005 +msgid "_Hide album" +msgstr "" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +msgid "Open target _album in browser" +msgstr "" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:40 +msgid "Copyright (C) 2013 rajce.net" +msgstr "" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:744 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:833 +msgid "Enter email and password associated with your Rajce account." +msgstr "" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:834 +msgid "Invalid email and/or password. Please try again" +msgstr "" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:865 +msgid "Invalid User Email or Password" +msgstr "" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 +#, c-format +msgid "You are logged into Rajce as %s." +msgstr "" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "" + +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:36 +msgid "Copyright 2012 BJA Electronics" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1231 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1230 +msgid "500 x 375 pixels" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1232 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1231 +msgid "1024 x 768 pixels" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:107 +msgid "1280 x 853 pixels" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:311 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:321 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:559 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:588 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:992 +msgid "Username and/or password invalid. Please try again" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:615 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1026 +msgid "Invalid User Name or Password" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:634 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:752 +#, c-format +msgid "Could not load UI: %s" +msgstr "" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:734 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:658 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:498 +msgid "Private" +msgstr "" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 +msgid "" +"_Remove location, camera, and other identifying information before uploading" +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:62 +#: plugins/shotwell-publishing/PicasaPublishing.vala:60 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1114 +msgid "Shotwell Connect" +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:64 +msgid "" +"You are not currently logged into Facebook.\n" +"\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:66 +msgid "" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:87 +msgid "Standard (720 pixels)" +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:90 +msgid "Large (2048 pixels)" +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:255 +msgid "Testing connection to Facebook..." +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:348 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Just me" +msgstr "" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1209 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1218 +msgid "Everyone" +msgstr "" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 src/Dialogs.vala:132 +msgid "Con_tinue" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:60 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:62 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:374 +msgid "Preparing for login..." +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:444 +#: plugins/shotwell-publishing/FlickrPublishing.vala:594 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:457 +msgid "Verifying authorization..." +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1152 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1155 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +msgstr[1] "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1159 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1164 +msgid "Photos _visible to:" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1166 +msgid "Videos _visible to:" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1169 +msgid "Photos and videos _visible to:" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1210 +msgid "Friends & family only" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +msgid "Family only" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Friends only" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1232 +msgid "2048 x 1536 pixels" +msgstr "" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1233 +msgid "4096 x 3072 pixels" +msgstr "" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:747 +#, c-format +msgid "Creating album %s..." +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:920 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:990 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:991 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1021 +msgid "Invalid URL" +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1219 +msgid "Admins, Family, Friends, Contacts" +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1220 +msgid "Admins, Family, Friends" +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1221 +msgid "Admins, Family" +msgstr "" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1222 +msgid "Admins" +msgstr "" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:58 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:363 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:462 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:464 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public listed" +msgstr "" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Public unlisted" +msgstr "" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:76 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "" + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1425 src/Dialogs.vala:1448 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" +msgstr "" + +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "" + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "" + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "" + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "" + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "" +msgstr[1] "" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "" +msgstr[1] "" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "" +msgstr[1] "" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "" +msgstr[1] "" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1392 +msgid "_Keep" +msgstr "" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "" +msgstr[1] "" + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "" + +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "" + +#: src/CollectionPage.vala:456 +msgid "Export Photo/Video" +msgstr "" + +#: src/CollectionPage.vala:456 +msgid "Export Photos/Videos" +msgstr "" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:59 src/PhotoPage.vala:3209 +msgid "Export Photo" +msgstr "" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:88 +msgid "Export Photos" +msgstr "" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Rotating" +msgstr "" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Undoing Rotate" +msgstr "" + +#: src/CollectionPage.vala:570 +msgid "Flipping Horizontally" +msgstr "" + +#: src/CollectionPage.vala:571 +msgid "Undoing Flip Horizontally" +msgstr "" + +#: src/CollectionPage.vala:580 +msgid "Flipping Vertically" +msgstr "" + +#: src/CollectionPage.vala:581 +msgid "Undoing Flip Vertically" +msgstr "" + +#: src/Commands.vala:737 +msgid "Reverting" +msgstr "" + +#: src/Commands.vala:737 +msgid "Undoing Revert" +msgstr "" + +#: src/Commands.vala:781 +msgid "Enhancing" +msgstr "" + +#: src/Commands.vala:781 +msgid "Undoing Enhance" +msgstr "" + +#: src/Commands.vala:857 +msgid "Applying Color Transformations" +msgstr "" + +#: src/Commands.vala:857 +msgid "Undoing Color Transformations" +msgstr "" + +#: src/Commands.vala:1007 +msgid "Creating New Event" +msgstr "" + +#: src/Commands.vala:1008 +msgid "Removing Event" +msgstr "" + +#: src/Commands.vala:1017 +msgid "Moving Photos to New Event" +msgstr "" + +#: src/Commands.vala:1018 +msgid "Setting Photos to Previous Event" +msgstr "" + +#: src/Commands.vala:1075 +msgid "Merging" +msgstr "" + +#: src/Commands.vala:1076 +msgid "Unmerging" +msgstr "" + +#: src/Commands.vala:1085 +msgid "Duplicating photos" +msgstr "" + +#: src/Commands.vala:1085 +msgid "Removing duplicated photos" +msgstr "" + +#: src/Commands.vala:1108 +#, c-format +msgid "Unable to duplicate one photo due to a file error" +msgid_plural "Unable to duplicate %d photos due to file errors" +msgstr[0] "" +msgstr[1] "" + +#: src/Commands.vala:1195 +msgid "Restoring previous rating" +msgstr "" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Increasing ratings" +msgstr "" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Decreasing ratings" +msgstr "" + +#: src/Commands.vala:1256 +msgid "Setting RAW developer" +msgstr "" + +#: src/Commands.vala:1256 +msgid "Restoring previous RAW developer" +msgstr "" + +#: src/Commands.vala:1257 +msgid "Set Developer" +msgstr "" + +#: src/Commands.vala:1347 +msgid "Original photo could not be adjusted." +msgstr "" + +#: src/Commands.vala:1368 +msgid "Adjusting Date and Time" +msgstr "" + +#: src/Commands.vala:1368 +msgid "Undoing Date and Time Adjustment" +msgstr "" + +#: src/Commands.vala:1399 +msgid "One original photo could not be adjusted." +msgid_plural "The following original photos could not be adjusted." +msgstr[0] "" +msgstr[1] "" + +#: src/Commands.vala:1401 src/Commands.vala:1425 +msgid "Time Adjustment Error" +msgstr "" + +#: src/Commands.vala:1423 +msgid "Time adjustments could not be undone on the following photo file." +msgid_plural "" +"Time adjustments could not be undone on the following photo files." +msgstr[0] "" +msgstr[1] "" + +#: src/Commands.vala:1637 src/Commands.vala:1660 +msgid "Create Tag" +msgstr "" + +#: src/Commands.vala:1695 +#, c-format +msgid "Move Tag \"%s\"" +msgstr "" + +#: src/Commands.vala:2347 +msgid "Move Photos to Trash" +msgstr "" + +#: src/Commands.vala:2347 +msgid "Restore Photos from Trash" +msgstr "" + +#: src/Commands.vala:2348 +msgid "Move the photos to the Shotwell trash" +msgstr "" + +#: src/Commands.vala:2348 +msgid "Restore the photos back to the Shotwell library" +msgstr "" + +#: src/Commands.vala:2367 +msgid "Moving Photos to Trash" +msgstr "" + +#: src/Commands.vala:2367 +msgid "Restoring Photos From Trash" +msgstr "" + +#: src/Commands.vala:2453 +msgid "Flag selected photos" +msgstr "" + +#: src/Commands.vala:2454 +msgid "Unflag selected photos" +msgstr "" + +#: src/Commands.vala:2455 +msgid "Flagging selected photos" +msgstr "" + +#: src/Commands.vala:2456 +msgid "Unflagging selected photos" +msgstr "" + +#: src/Commands.vala:2463 +msgid "Flag" +msgstr "" + +#: src/Commands.vala:2463 +msgid "Unflag" +msgstr "" + +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "" + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:904 +msgid "_Import" +msgstr "" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "" + +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "" + +#: src/data_imports/DataImportsUI.vala:408 src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" + +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "" + +#: src/DesktopIntegration.vala:121 +#, c-format +msgid "Unable to launch Nautilus Send-To: %s" +msgstr "" + +#: src/DesktopIntegration.vala:129 +msgid "Send To" +msgstr "" + +#: src/DesktopIntegration.vala:174 +#, c-format +msgid "Unable to export background to %s: %s" +msgstr "" + +#: src/DesktopIntegration.vala:311 +#, c-format +msgid "Unable to prepare desktop slideshow: %s" +msgstr "" + +#: src/Dialogs.vala:16 +#, c-format +msgid "This will remove the tag \"%s\" from one photo. Continue?" +msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1393 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 +msgid "_Delete" +msgstr "" + +#: src/Dialogs.vala:25 +#, c-format +msgid "This will remove the saved search \"%s\". Continue?" +msgstr "" + +#: src/Dialogs.vala:36 +msgid "" +"Switching developers will undo all changes you have made to this photo in " +"Shotwell" +msgid_plural "" +"Switching developers will undo all changes you have made to these photos in " +"Shotwell" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:40 +msgid "_Switch Developer" +msgstr "" + +#: src/Dialogs.vala:59 +msgid "Export Video" +msgstr "" + +#. Ticket #3023 +#. Attempt to replace the system error with something friendlier +#. if we can't copy an image over for editing in an external tool. +#. Did we fail because we can't write to this directory? +#. Yes - display an alternate error message here. +#: src/Dialogs.vala:116 +#, c-format +msgid "" +"Shotwell couldn't create a file for editing this photo because you do not " +"have permission to write to %s." +msgstr "" + +#: src/Dialogs.vala:125 +msgid "" +"Unable to export the following photo due to a file error.\n" +"\n" +msgstr "" + +#: src/Dialogs.vala:131 +msgid "" +"\n" +"\n" +"Would you like to continue exporting?" +msgstr "" + +#. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really +#. aren't formats so much as they are operating modes that determine specific formats. +#. Hereafter we'll refer to these as "special formats." +#: src/Dialogs.vala:148 +msgid "Unmodified" +msgstr "" + +#: src/Dialogs.vala:149 +msgid "Current" +msgstr "" + +#. layout controls +#: src/Dialogs.vala:216 +msgid "_Format:" +msgstr "" + +#: src/Dialogs.vala:219 +msgid "_Quality:" +msgstr "" + +#: src/Dialogs.vala:222 +msgid "_Scaling constraint:" +msgstr "" + +#: src/Dialogs.vala:225 +msgid "_Pixels:" +msgstr "" + +#: src/Dialogs.vala:228 +msgid "Export metadata" +msgstr "" + +#: src/Dialogs.vala:462 +msgid "Save Details..." +msgstr "" + +#: src/Dialogs.vala:463 +msgid "Save Details" +msgstr "" + +#: src/Dialogs.vala:478 +#, c-format +msgid "(and %d more)\n" +msgstr "" + +#: src/Dialogs.vala:531 +msgid "Import Results Report" +msgstr "" + +#: src/Dialogs.vala:535 +#, c-format +msgid "Attempted to import %d file." +msgid_plural "Attempted to import %d files." +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:538 +#, c-format +msgid "Of these, %d file was successfully imported." +msgid_plural "Of these, %d files were successfully imported." +msgstr[0] "" +msgstr[1] "" + +#. +#. Duplicates +#. +#: src/Dialogs.vala:550 +msgid "Duplicate Photos/Videos Not Imported:" +msgstr "" + +#: src/Dialogs.vala:554 +msgid "duplicates existing media item" +msgstr "" + +#. +#. Files Not Imported Due to Camera Errors +#. +#: src/Dialogs.vala:565 +msgid "Photos/Videos Not Imported Due to Camera Errors:" +msgstr "" + +#: src/Dialogs.vala:568 src/Dialogs.vala:583 src/Dialogs.vala:598 +#: src/Dialogs.vala:614 src/Dialogs.vala:629 src/Dialogs.vala:643 +msgid "error message:" +msgstr "" + +#. +#. Files Not Imported Because They Weren't Recognized as Photos or Videos +#. +#: src/Dialogs.vala:579 +msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" +msgstr "" + +#. +#. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands +#. +#: src/Dialogs.vala:594 +msgid "" +"Photos/Videos Not Imported Because They Weren't in a Format Shotwell " +"Understands:" +msgstr "" + +#. +#. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library +#. +#: src/Dialogs.vala:609 +msgid "" +"Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " +"Library:" +msgstr "" + +#: src/Dialogs.vala:613 +#, c-format +msgid "" +"couldn't copy %s\n" +"\tto %s" +msgstr "" + +#. +#. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt +#. +#: src/Dialogs.vala:625 +msgid "Photos/Videos Not Imported Because Files Are Corrupt:" +msgstr "" + +#. +#. Photos/Videos Not Imported for Other Reasons +#. +#: src/Dialogs.vala:640 +msgid "Photos/Videos Not Imported for Other Reasons:" +msgstr "" + +#: src/Dialogs.vala:660 +#, c-format +msgid "1 duplicate photo was not imported:\n" +msgid_plural "%d duplicate photos were not imported:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:663 +#, c-format +msgid "1 duplicate video was not imported:\n" +msgid_plural "%d duplicate videos were not imported:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:666 +#, c-format +msgid "1 duplicate photo/video was not imported:\n" +msgid_plural "%d duplicate photos/videos were not imported:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:680 +#, c-format +msgid "1 photo failed to import due to a file or hardware error:\n" +msgid_plural "%d photos failed to import due to a file or hardware error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:683 +#, c-format +msgid "1 video failed to import due to a file or hardware error:\n" +msgid_plural "%d videos failed to import due to a file or hardware error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:686 +#, c-format +msgid "1 photo/video failed to import due to a file or hardware error:\n" +msgid_plural "" +"%d photos/videos failed to import due to a file or hardware error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:689 +#, c-format +msgid "1 file failed to import due to a file or hardware error:\n" +msgid_plural "%d files failed to import due to a file or hardware error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:703 +#, c-format +msgid "" +"1 photo failed to import because the photo library folder was not writable:\n" +msgid_plural "" +"%d photos failed to import because the photo library folder was not " +"writable:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:706 +#, c-format +msgid "" +"1 video failed to import because the photo library folder was not writable:\n" +msgid_plural "" +"%d videos failed to import because the photo library folder was not " +"writable:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:709 +#, c-format +msgid "" +"1 photo/video failed to import because the photo library folder was not " +"writable:\n" +msgid_plural "" +"%d photos/videos failed to import because the photo library folder was not " +"writable:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:712 +#, c-format +msgid "" +"1 file failed to import because the photo library folder was not writable:\n" +msgid_plural "" +"%d files failed to import because the photo library folder was not " +"writable:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:726 +#, c-format +msgid "1 photo failed to import due to a camera error:\n" +msgid_plural "%d photos failed to import due to a camera error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:729 +#, c-format +msgid "1 video failed to import due to a camera error:\n" +msgid_plural "%d videos failed to import due to a camera error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:732 +#, c-format +msgid "1 photo/video failed to import due to a camera error:\n" +msgid_plural "%d photos/videos failed to import due to a camera error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:735 +#, c-format +msgid "1 file failed to import due to a camera error:\n" +msgid_plural "%d files failed to import due to a camera error:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:749 +#, c-format +msgid "1 photo failed to import because it was corrupt:\n" +msgid_plural "%d photos failed to import because they were corrupt:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:752 +#, c-format +msgid "1 video failed to import because it was corrupt:\n" +msgid_plural "%d videos failed to import because they were corrupt:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:755 +#, c-format +msgid "1 photo/video failed to import because it was corrupt:\n" +msgid_plural "%d photos/videos failed to import because they were corrupt:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:758 +#, c-format +msgid "1 file failed to import because it was corrupt:\n" +msgid_plural "%d files failed to import because it was corrupt:\n" +msgstr[0] "" +msgstr[1] "" + +#. we have no notion of "unsupported" video files right now in Shotwell (all +#. standard container formats are supported, it's just that the streams in them +#. might or might not be interpretable), so this message does not need to be +#. media specific +#: src/Dialogs.vala:775 +#, c-format +msgid "1 unsupported photo skipped:\n" +msgid_plural "%d unsupported photos skipped:\n" +msgstr[0] "" +msgstr[1] "" + +#. we have no notion of "non-video" video files right now in Shotwell, so this +#. message doesn't need to be media specific +#: src/Dialogs.vala:790 +#, c-format +msgid "1 non-image file skipped.\n" +msgid_plural "%d non-image files skipped.\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:801 +#, c-format +msgid "1 photo skipped due to user cancel:\n" +msgid_plural "%d photos skipped due to user cancel:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:804 +#, c-format +msgid "1 video skipped due to user cancel:\n" +msgid_plural "%d videos skipped due to user cancel:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:807 +#, c-format +msgid "1 photo/video skipped due to user cancel:\n" +msgid_plural "%d photos/videos skipped due to user cancel:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:810 +#, c-format +msgid "1 file skipped due to user cancel:\n" +msgid_plural "%d file skipped due to user cancel:\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:824 +#, c-format +msgid "1 photo successfully imported.\n" +msgid_plural "%d photos successfully imported.\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:827 +#, c-format +msgid "1 video successfully imported.\n" +msgid_plural "%d videos successfully imported.\n" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:830 +#, c-format +msgid "1 photo/video successfully imported.\n" +msgid_plural "%d photos/videos successfully imported.\n" +msgstr[0] "" +msgstr[1] "" + +#. if no media items were imported at all (i.e. an empty directory attempted), need to at least +#. report that nothing was imported +#: src/Dialogs.vala:846 +msgid "No photos or videos imported.\n" +msgstr "" + +#: src/Dialogs.vala:853 src/Dialogs.vala:872 +msgid "Import Complete" +msgstr "" + +#: src/Dialogs.vala:1158 +#, c-format +msgid "%d second" +msgid_plural "%d seconds" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1161 +#, c-format +msgid "%d minute" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1165 +#, c-format +msgid "%d hour" +msgid_plural "%d hours" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1168 +msgid "1 day" +msgstr "" + +#: src/Dialogs.vala:1322 src/Resources.vala:231 +msgid "Rename Event" +msgstr "" + +#: src/Dialogs.vala:1322 +msgid "Name:" +msgstr "" + +#. Dialog title +#: src/Dialogs.vala:1333 +msgctxt "Dialog Title" +msgid "Edit Title" +msgstr "" + +#: src/Dialogs.vala:1334 src/Properties.vala:340 +msgid "Title:" +msgstr "" + +#. Dialog title +#: src/Dialogs.vala:1350 src/Resources.vala:307 +msgid "Edit Event Comment" +msgstr "" + +#: src/Dialogs.vala:1351 +msgid "Edit Photo/Video Comment" +msgstr "" + +#: src/Dialogs.vala:1352 src/Properties.vala:628 +msgid "Comment:" +msgstr "" + +#: src/Dialogs.vala:1368 +msgid "Remove and _Trash File" +msgid_plural "Remove and _Trash Files" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1372 +msgid "_Remove From Library" +msgstr "" + +#: src/Dialogs.vala:1415 +msgid "Revert External Edit?" +msgstr "" + +#: src/Dialogs.vala:1415 +msgid "Revert External Edits?" +msgstr "" + +#: src/Dialogs.vala:1417 +#, c-format +msgid "This will destroy all changes made to the external file. Continue?" +msgid_plural "" +"This will destroy all changes made to %d external files. Continue?" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1421 +msgid "Re_vert External Edit" +msgstr "" + +#: src/Dialogs.vala:1421 +msgid "Re_vert External Edits" +msgstr "" + +#: src/Dialogs.vala:1442 +#, c-format +msgid "This will remove the photo from the library. Continue?" +msgid_plural "This will remove %d photos from the library. Continue?" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1449 src/Resources.vala:173 +msgid "_Remove" +msgstr "" + +#: src/Dialogs.vala:1450 +msgid "Remove Photo From Library" +msgstr "" + +#: src/Dialogs.vala:1450 +msgid "Remove Photos From Library" +msgstr "" + +#: src/Dialogs.vala:1543 +#, c-format +msgid "%d%%" +msgstr "" + +#: src/Dialogs.vala:1697 +msgid "AM" +msgstr "" + +#: src/Dialogs.vala:1698 +msgid "PM" +msgstr "" + +#: src/Dialogs.vala:1699 +msgid "24 Hr" +msgstr "" + +#: src/Dialogs.vala:1714 +msgid "_Shift photos/videos by the same amount" +msgstr "" + +#: src/Dialogs.vala:1719 +msgid "Set _all photos/videos to this time" +msgstr "" + +#: src/Dialogs.vala:1726 +msgid "_Modify original photo file" +msgstr "" + +#: src/Dialogs.vala:1726 +msgid "_Modify original photo files" +msgstr "" + +#: src/Dialogs.vala:1729 +msgid "_Modify original file" +msgstr "" + +#: src/Dialogs.vala:1729 +msgid "_Modify original files" +msgstr "" + +#: src/Dialogs.vala:1815 +msgid "Original: " +msgstr "" + +#: src/Dialogs.vala:1816 +msgid "%m/%d/%Y, %H:%M:%S" +msgstr "" + +#: src/Dialogs.vala:1817 +msgid "%m/%d/%Y, %I:%M:%S %p" +msgstr "" + +#: src/Dialogs.vala:1906 +#, c-format +msgid "" +"Exposure time will be shifted forward by\n" +"%d %s, %d %s, %d %s, and %d %s." +msgstr "" + +#: src/Dialogs.vala:1907 +#, c-format +msgid "" +"Exposure time will be shifted backward by\n" +"%d %s, %d %s, %d %s, and %d %s." +msgstr "" + +#: src/Dialogs.vala:1909 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1910 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1911 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1912 +msgid "second" +msgid_plural "seconds" +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1956 +#, c-format +msgid "" +"\n" +"\n" +"And %d other." +msgid_plural "" +"\n" +"\n" +"And %d others." +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:1980 src/Dialogs.vala:2007 +msgid "Tags (separated by commas):" +msgstr "" + +#: src/Dialogs.vala:2087 +msgid "Welcome!" +msgstr "" + +#: src/Dialogs.vala:2094 +msgid "Welcome to Shotwell!" +msgstr "" + +#: src/Dialogs.vala:2098 +msgid "To get started, import photos in any of these ways:" +msgstr "" + +#: src/Dialogs.vala:2117 +#, c-format +msgid "Choose File %s Import From Folder" +msgstr "" + +#: src/Dialogs.vala:2118 +msgid "Drag and drop photos onto the Shotwell window" +msgstr "" + +#: src/Dialogs.vala:2119 +msgid "Connect a camera to your computer and import" +msgstr "" + +#: src/Dialogs.vala:2129 +#, c-format +msgid "_Import photos from your %s folder" +msgstr "" + +#: src/Dialogs.vala:2136 +msgid "You can also import photos in any of these ways:" +msgstr "" + +#: src/Dialogs.vala:2146 +msgid "_Don't show this message again" +msgstr "" + +#: src/Dialogs.vala:2181 +#, c-format +msgid "Import photos from your %s library" +msgstr "" + +#. We're installed system-wide, so use the system help. +#. We're being run from the build directory; we'll have to handle clicks to this +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2328 src/Dialogs.vala:2332 +msgid "(Help)" +msgstr "" + +#: src/Dialogs.vala:2341 +#, c-format +msgid "Year%sMonth%sDay" +msgstr "" + +#: src/Dialogs.vala:2343 +#, c-format +msgid "Year%sMonth" +msgstr "" + +#: src/Dialogs.vala:2345 +#, c-format +msgid "Year%sMonth-Day" +msgstr "" + +#: src/Dialogs.vala:2347 +msgid "Year-Month-Day" +msgstr "" + +#: src/Dialogs.vala:2348 src/editing_tools/EditingTools.vala:781 +msgid "Custom" +msgstr "" + +#. Invalid pattern. +#: src/Dialogs.vala:2585 +msgid "Invalid pattern" +msgstr "" + +#. This function is used to determine whether or not files should be copied or linked when imported. +#. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. +#: src/Dialogs.vala:2687 +msgid "" +"Shotwell can copy the photos into your library folder or it can import them " +"without copying." +msgstr "" + +#: src/Dialogs.vala:2692 +msgid "Co_py Photos" +msgstr "" + +#: src/Dialogs.vala:2693 +msgid "_Import in Place" +msgstr "" + +#: src/Dialogs.vala:2694 +msgid "Import to Library" +msgstr "" + +#: src/Dialogs.vala:2704 src/PhotoPage.vala:3085 +msgid "Remove From Library" +msgstr "" + +#: src/Dialogs.vala:2705 src/PhotoPage.vala:3085 +msgid "Removing Photo From Library" +msgstr "" + +#: src/Dialogs.vala:2705 +msgid "Removing Photos From Library" +msgstr "" + +#: src/Dialogs.vala:2719 +#, c-format +msgid "" +"This will remove the photo/video from your Shotwell library. Would you also " +"like to move the file to your desktop trash?\n" +"\n" +"This action cannot be undone." +msgid_plural "" +"This will remove %d photos/videos from your Shotwell library. Would you " +"also like to move the files to your desktop trash?\n" +"\n" +"This action cannot be undone." +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:2723 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:2727 +#, c-format +msgid "" +"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." +msgid_plural "" +"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." +msgstr[0] "" +msgstr[1] "" + +#: src/Dialogs.vala:2759 +#, c-format +msgid "" +"The photo or video cannot be moved to your desktop trash. Delete this file?" +msgid_plural "" +"%d photos/videos cannot be moved to your desktop trash. Delete these files?" +msgstr[0] "" +msgstr[1] "" + +#. Alert the user that the files were not removed. +#: src/Dialogs.vala:2776 +#, c-format +msgid "The photo or video cannot be deleted." +msgid_plural "%d photos/videos cannot be deleted." +msgstr[0] "" +msgstr[1] "" + +#: src/Dimensions.vala:23 +msgid "Width" +msgstr "" + +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "" + +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 +msgid "T_ools" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 +msgid "_Previous Photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 +msgid "Previous Photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 +msgid "_Next Photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 +msgid "Next Photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 +msgid "Increase the magnification of the photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 +msgid "Decrease the magnification of the photo" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 +msgid "Fit to _Page" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 +msgid "Zoom the photo to fit on the screen" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 +#, no-c-format +msgid "Zoom _100%" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 +#, no-c-format +msgid "Zoom the photo to 100% magnification" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 +#, no-c-format +msgid "Zoom _200%" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 +#, no-c-format +msgid "Zoom the photo to 200% magnification" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:227 +#, c-format +msgid "%s does not exist." +msgstr "" + +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "" + +#: src/direct/DirectPhotoPage.vala:231 +#, c-format +msgid "" +"%s does not support the file format of\n" +"%s." +msgstr "" + +#: src/direct/DirectPhotoPage.vala:248 +#, c-format +msgid "Unable open photo %s. Sorry." +msgstr "" + +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:435 +#, c-format +msgid "Lose changes to %s?" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:469 +#, c-format +msgid "Error while saving to %s: %s" +msgstr "" + +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "" + +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 +#, c-format +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "" + +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "" + +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "" + +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "" + +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "" + +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "" + +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "" + +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "" + +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "" + +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "" + +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "" + +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "" + +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "" + +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "" + +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "" + +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "" + +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "" + +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "" + +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "" + +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "" + +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "" + +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "" + +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "" + +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "" + +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "" + +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "" + +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "" +msgstr[1] "" + +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "" +msgstr[1] "" + +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "" +msgstr[1] "" + +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "" + +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "" + +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "" + +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "" + +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "" + +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "" + +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "" + +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "" + +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "" + +#: src/Exporter.vala:319 +msgid "Export" +msgstr "" + +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "" + +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "" + +#: src/library/Branch.vala:97 src/SearchFilter.vala:608 +#: src/SearchFilter.vala:609 +msgid "Photos" +msgstr "" + +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:602 +#: src/SearchFilter.vala:603 src/SearchFilter.vala:1188 +msgid "Flagged" +msgstr "" + +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "" + +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "" + +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "" + +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "" + +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "" + +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "" + +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "" + +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "" + +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "" + +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "" + +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "" + +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "" + +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "" + +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "" + +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "" + +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "" + +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "" + +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "" + +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "" + +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "" + +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "" + +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "" + +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "" + +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "" + +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "" + +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "" + +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "" + +#: src/library/LibraryWindow.vala:398 +msgid "T_oolbar" +msgstr "" + +#: src/library/LibraryWindow.vala:399 +msgid "Display the tool bar" +msgstr "" + +#: src/library/LibraryWindow.vala:411 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "" + +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "" + +#: src/library/LibraryWindow.vala:418 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "" + +#: src/library/LibraryWindow.vala:419 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "" + +#: src/library/LibraryWindow.vala:657 +msgid "Import From Folder" +msgstr "" + +#: src/library/LibraryWindow.vala:726 +msgid "Empty Trash" +msgstr "" + +#: src/library/LibraryWindow.vala:726 +msgid "Emptying Trash..." +msgstr "" + +#: src/library/LibraryWindow.vala:901 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" + +#: src/library/LibraryWindow.vala:904 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "" + +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:917 +msgid "Photos cannot be imported from this directory." +msgstr "" + +#: src/library/LibraryWindow.vala:1203 +#, c-format +msgid "%s (%d%%)" +msgstr "" + +#: src/library/LibraryWindow.vala:1247 src/library/LibraryWindow.vala:1258 +msgid "Updating library..." +msgstr "" + +#: src/library/LibraryWindow.vala:1264 +msgid "Preparing to auto-import photos..." +msgstr "" + +#: src/library/LibraryWindow.vala:1269 +msgid "Auto-importing photos..." +msgstr "" + +#: src/library/LibraryWindow.vala:1277 +msgid "Writing metadata to files..." +msgstr "" + +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "" + +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "" + +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "" + +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "" + +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "" + +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "" + +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" + +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" + +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" + +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "" + +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "" + +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "" + +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "" + +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "" + +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "" + +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "" + +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "" + +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" + +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "" + +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "" + +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "" + +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "" + +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "" + +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "" + +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "" + +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "" + +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "" + +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "" + +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "" + +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "" + +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "" + +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "" + +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "" + +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "" + +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "" + +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "" + +#: src/MediaPage.vala:723 +#, c-format +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" +msgstr "" + +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "" + +#: src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "" + +#: src/Page.vala:2576 +msgid "Photos cannot be exported to this directory." +msgstr "" + +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "" + +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "" + +#: src/PhotoPage.vala:1845 +#, c-format +msgid "Photo source file missing: %s" +msgstr "" + +#: src/PhotoPage.vala:3229 +#, c-format +msgid "Unable to export %s: %s" +msgstr "" + +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "" + +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "" + +#: src/photos/JfifSupport.vala:185 +#, c-format +msgid "Low (%d%%)" +msgstr "" + +#: src/photos/JfifSupport.vala:188 +#, c-format +msgid "Medium (%d%%)" +msgstr "" + +#: src/photos/JfifSupport.vala:191 +#, c-format +msgid "High (%d%%)" +msgstr "" + +#: src/photos/JfifSupport.vala:194 +#, c-format +msgid "Maximum (%d%%)" +msgstr "" + +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "" + +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "" + +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "" + +#: src/Photo.vala:3753 +msgid "modified" +msgstr "" + +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "" + +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "" + +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "" + +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "" + +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "" + +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "" + +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "" + +#: src/Printing.vala:348 +msgid "in." +msgstr "" + +#: src/Printing.vala:349 +msgid "cm" +msgstr "" + +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "" + +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "" + +#: src/Printing.vala:908 src/Printing.vala:1111 +#, c-format +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" + +#: src/Properties.vala:84 +msgid "Today" +msgstr "" + +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "" + +#: src/Properties.vala:343 +msgid "Items:" +msgstr "" + +#: src/Properties.vala:346 +#, c-format +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "" +msgstr[1] "" + +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "" + +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "" + +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "" + +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "" + +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "" + +#: src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "" + +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "" + +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "" + +#: src/Properties.vala:586 +msgid "File size:" +msgstr "" + +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "" + +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "" + +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "" + +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "" + +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "" + +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "" + +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "" + +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "" + +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "" + +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "" + +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "" + +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "" + +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "" + +#: src/Properties.vala:624 +msgid "Software:" +msgstr "" + +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "" + +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "" + +#: src/publishing/PublishingPluginHost.vala:12 +#, c-format +msgid "Uploading %d of %d" +msgstr "" + +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "" + +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "" + +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "" + +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "" + +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "" + +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "" + +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "" + +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "" + +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "" + +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "" + +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "" + +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "" + +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "" + +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "" + +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "" + +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "" + +#: src/publishing/PublishingUI.vala:398 +#, c-format +msgid "" +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." +msgstr "" + +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "" + +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "" + +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "" + +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "" + +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "" + +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "" + +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "" + +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "" + +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "" + +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "" + +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "" + +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "" + +#: src/Resources.vala:155 +msgid "_About" +msgstr "" + +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "" + +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "" + +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "" + +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "" + +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "" + +#: src/Resources.vala:165 +msgid "_Next" +msgstr "" + +#: src/Resources.vala:166 +msgid "_OK" +msgstr "" + +#: src/Resources.vala:167 +msgid "_Play" +msgstr "" + +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "" + +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "" + +#: src/Resources.vala:170 +msgid "_Print" +msgstr "" + +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "" + +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "" + +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "" + +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "" + +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "" + +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "" + +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "" + +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "" + +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "" + +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "" + +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "" + +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "" + +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "" + +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "" + +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "" + +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "" + +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "" + +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "" + +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "" + +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "" + +#: src/Resources.vala:199 +msgid "Crop" +msgstr "" + +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "" + +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "" + +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "" + +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "" + +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "" + +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "" + +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "" + +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "" + +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "" + +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "" + +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "" + +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "" + +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "" + +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "" + +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "" + +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "" + +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "" + +#: src/Resources.vala:225 +msgid "Undo" +msgstr "" + +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "" + +#: src/Resources.vala:228 +msgid "Redo" +msgstr "" + +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "" + +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "" + +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "" + +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "" + +#: src/Resources.vala:237 +msgid "New Event" +msgstr "" + +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "" + +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "" + +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "" + +#: src/Resources.vala:243 +msgid "Merge" +msgstr "" + +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "" + +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "" + +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "" + +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "" + +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "" + +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "" + +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "" + +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "" + +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "" + +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "" + +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "" + +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "" + +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "" + +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "" + +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "" + +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "" + +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "" + +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "" + +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "" + +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "" + +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "" + +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "" + +#: src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "" + +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "" + +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "" + +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "" + +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "" + +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "" + +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "" + +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "" + +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "" + +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "" + +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "" + +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "" + +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "" + +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "" + +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "" + +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "" + +#. Button label +#: src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "" + +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "" + +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "" + +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "" + +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "" + +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "" + +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "" + +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "" + +#. Dialog title +#: src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "" + +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "" + +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "" + +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "" + +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "" + +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "" + +#: src/Resources.vala:327 +msgid "Find" +msgstr "" + +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" +msgstr "" + +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "" + +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "" + +#: src/Resources.vala:335 +#, c-format +msgid "Unable to launch editor: %s" +msgstr "" + +#: src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "" + +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "" + +#. Undo/Redo command name (in Edit menu) +#: src/Resources.vala:348 +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "" + +#: src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "" + +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "" + +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "" + +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "" + +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "" + +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "" + +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "" + +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "" + +#: src/Resources.vala:379 +#, c-format +msgid "Tag Photo as \"%s\"" +msgstr "" + +#: src/Resources.vala:379 +#, c-format +msgid "Tag Photos as \"%s\"" +msgstr "" + +#: src/Resources.vala:383 +#, c-format +msgid "Tag the selected photo as \"%s\"" +msgstr "" + +#: src/Resources.vala:384 +#, c-format +msgid "Tag the selected photos as \"%s\"" +msgstr "" + +#: src/Resources.vala:388 +#, c-format +msgid "Remove Tag \"%s\" From _Photo" +msgstr "" + +#: src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "" + +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "" + +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "" + +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "" + +#: src/Resources.vala:402 +#, c-format +msgid "Unable to rename search to \"%s\" because the search already exists." +msgstr "" + +#. Saved search button +#: src/Resources.vala:405 src/SearchFilter.vala:1210 +msgid "Saved Search" +msgstr "" + +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "" + +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "" + +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "" + +#: src/Resources.vala:414 +#, c-format +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "" + +#: src/Resources.vala:418 +#, c-format +msgid "Delete Search \"%s\"" +msgstr "" + +#: src/Resources.vala:576 +#, c-format +msgid "Rate %s" +msgstr "" + +#: src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "" + +#: src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "" + +#: src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "" + +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "" + +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "" + +#: src/Resources.vala:583 +#, c-format +msgid "Display %s or Better" +msgstr "" + +#: src/Resources.vala:584 +#, c-format +msgid "Only show photos with a rating of %s or better" +msgstr "" + +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "" + +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "" + +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "" + +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "" + +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "" + +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "" + +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "" + +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "" + +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "" + +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "" + +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "" + +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:773 +msgid "%-I:%M %p" +msgstr "" + +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:778 +msgid "%-I:%M:%S %p" +msgstr "" + +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:782 +msgid "%a %b %d, %Y" +msgstr "" + +#. / 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 +#: src/Resources.vala:787 +msgctxt "MultidayFormat" +msgid "%a %b %d" +msgstr "" + +#. / 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 +#: src/Resources.vala:792 +msgctxt "MultidayFormat" +msgid "%d, %Y" +msgstr "" + +#. / 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 +#: src/Resources.vala:797 +msgctxt "MultimonthFormat" +msgid "%a %b %d" +msgstr "" + +#. / 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 +#: src/Resources.vala:802 +msgctxt "MultimonthFormat" +msgid "%a %b %d, %Y" +msgstr "" + +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "" + +#: src/searches/Branch.vala:68 +msgid "Saved Searches" +msgstr "" + +#. Ordering must correspond with SearchConditionText.Context +#: src/searches/SavedSearchDialog.vala:168 +msgid "contains" +msgstr "" + +#. Ordering must correspond with Context +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 +msgid "is exactly" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:170 +msgid "starts with" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:171 +msgid "ends with" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:172 +msgid "does not contain" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 +msgid "is not set" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:174 +msgid "is set" +msgstr "" + +#. Ordering must correspond with SearchConditionMediaType.Context +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 +msgid "is" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:249 +msgid "is not" +msgstr "" + +#. Ordering must correspond with SearchConditionMediaType.MediaType +#: src/searches/SavedSearchDialog.vala:255 +msgid "any photo" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:256 +msgid "a raw photo" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:257 +msgid "a video" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:311 +msgid "has" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:312 +msgid "has no" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:317 +msgid "modifications" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:318 +msgid "internal modifications" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:319 +msgid "external modifications" +msgstr "" + +#. Ordering must correspond with SearchConditionFlagged.State +#: src/searches/SavedSearchDialog.vala:373 +msgid "flagged" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:374 +msgid "not flagged" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:437 +msgid "and higher" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:438 +msgid "only" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:439 +msgid "and lower" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:501 +msgid "is after" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:502 +msgid "is before" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:503 +msgid "is between" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:516 +msgid "and" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:697 +msgid "Search" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:702 +msgid "Cancel" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:703 +msgid "OK" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:721 +msgid "any" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:722 +msgid "all" +msgstr "" + +#: src/searches/SavedSearchDialog.vala:723 +msgid "none" +msgstr "" + +#: src/searches/SearchBoolean.vala:157 +msgid "Any text" +msgstr "" + +#: src/searches/SearchBoolean.vala:160 +msgid "Title" +msgstr "" + +#: src/searches/SearchBoolean.vala:163 +msgid "Tag" +msgstr "" + +#: src/searches/SearchBoolean.vala:166 +msgid "Comment" +msgstr "" + +#: src/searches/SearchBoolean.vala:169 +msgid "Event name" +msgstr "" + +#: src/searches/SearchBoolean.vala:172 +msgid "File name" +msgstr "" + +#: src/searches/SearchBoolean.vala:175 +msgid "Media type" +msgstr "" + +#: src/searches/SearchBoolean.vala:178 +msgid "Flag state" +msgstr "" + +#: src/searches/SearchBoolean.vala:181 +msgid "Photo state" +msgstr "" + +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:1199 +msgid "Rating" +msgstr "" + +#: src/searches/SearchBoolean.vala:187 +msgid "Date" +msgstr "" + +#: src/SearchFilter.vala:614 src/SearchFilter.vala:615 +msgid "Videos" +msgstr "" + +#: src/SearchFilter.vala:620 +msgid "RAW Photos" +msgstr "" + +#: src/SearchFilter.vala:621 +msgid "RAW photos" +msgstr "" + +#: src/SearchFilter.vala:1148 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:1159 +msgid "Close" +msgstr "" + +#. Type label and toggles +#: src/SearchFilter.vala:1165 +msgid "Type" +msgstr "" + +#: src/SearchFilter.vala:1211 +msgid "Use a saved search to filter items in the current view" +msgstr "" + +#: src/sidebar/Tree.vala:203 +msgid "New _Tag..." +msgstr "" + +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "" + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "" + +#: src/slideshow/Slideshow.vala:22 +msgid "Slideshow Transitions" +msgstr "" + +#: src/slideshow/TransitionEffects.vala:98 +msgid "(None)" +msgstr "" + +#: src/slideshow/TransitionEffects.vala:287 +msgid "None" +msgstr "" + +#: src/slideshow/TransitionEffects.vala:339 +msgid "Random" +msgstr "" + +#: src/tags/Branch.vala:131 +msgid "Tags" +msgstr "" + +#: src/Tag.vala:830 +msgid "untitled" +msgstr "" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "" + +#: ui/set_background_dialog.ui:15 +msgid "Set as Desktop Background" +msgstr "" + +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 +msgid "Use for Desktop" +msgstr "" + +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 +msgid "Use for Lock Screen" +msgstr "" + +#: ui/set_background_slideshow_dialog.ui:15 +msgid "Set as Desktop Slideshow" +msgstr "" + +#: ui/set_background_slideshow_dialog.ui:33 +msgid "Show each photo for" +msgstr "" + +#: ui/set_background_slideshow_dialog.ui:45 +msgid "period of time" +msgstr "" + +#: ui/set_background_slideshow_dialog.ui:94 +msgid "Generate desktop background slideshow" +msgstr "" + +#: ui/set_background_slideshow_dialog.ui:115 +msgid "How long each photo is shown on the desktop background" +msgstr "" + +#: ui/shotwell.ui:23 +msgid "_Name of search:" +msgstr "" + +#: ui/shotwell.ui:81 +msgid "_Match" +msgstr "" + +#: ui/shotwell.ui:108 +msgid "of the following:" +msgstr "" + +#: ui/shotwell.ui:195 +msgid "Printed Image Size" +msgstr "" + +#: ui/shotwell.ui:212 +msgid "Use a _standard size:" +msgstr "" + +#: ui/shotwell.ui:255 +msgid "Use a c_ustom size:" +msgstr "" + +#: ui/shotwell.ui:345 +msgid "_Match photo aspect ratio" +msgstr "" + +#: ui/shotwell.ui:369 +msgid "_Autosize:" +msgstr "" + +#: ui/shotwell.ui:409 +msgid "Titles" +msgstr "" + +#: ui/shotwell.ui:426 +msgid "Print image _title" +msgstr "" + +#: ui/shotwell.ui:470 +msgid "Pixel Resolution" +msgstr "" + +#: ui/shotwell.ui:490 +msgid "_Output photo at:" +msgstr "" + +#: ui/shotwell.ui:525 +msgid "pixels per inch" +msgstr "" + +#: ui/shotwell.ui:559 +msgid "label" +msgstr "" + +#: ui/shotwell.ui:681 +msgid "Shotwell Preferences" +msgstr "" + +#: ui/shotwell.ui:730 +msgid "white" +msgstr "" + +#: ui/shotwell.ui:757 +msgid "black" +msgstr "" + +#: ui/shotwell.ui:805 +msgid "_Watch library directory for new files" +msgstr "" + +#: ui/shotwell.ui:834 +msgid "Metadata" +msgstr "" + +#: ui/shotwell.ui:854 +msgid "Write tags, titles, and other _metadata to photo files" +msgstr "" + +#: ui/shotwell.ui:880 +msgid "Display" +msgstr "" + +#: ui/shotwell.ui:901 +msgid "_Import photos to:" +msgstr "" + +#: ui/shotwell.ui:924 +msgid "_Background:" +msgstr "" + +#: ui/shotwell.ui:947 +msgid "Importing" +msgstr "" + +#: ui/shotwell.ui:970 +msgid "_Directory structure:" +msgstr "" + +#: ui/shotwell.ui:1009 +msgid "_Pattern:" +msgstr "" + +#: ui/shotwell.ui:1091 +msgid "Example:" +msgstr "" + +#: ui/shotwell.ui:1108 +msgid "R_ename imported files to lowercase" +msgstr "" + +#: ui/shotwell.ui:1137 +msgid "RAW Developer" +msgstr "" + +#: ui/shotwell.ui:1172 +msgid "De_fault:" +msgstr "" + +#: ui/shotwell.ui:1226 +msgid "E_xternal photo editor:" +msgstr "" + +#: ui/shotwell.ui:1242 +msgid "External _RAW editor:" +msgstr "" + +#: ui/shotwell.ui:1307 +msgid "External Editors" +msgstr "" + +#: ui/shotwell.ui:1334 +msgid "Plugins" +msgstr "" + +#: ui/shotwell.ui:1400 +msgid "_Delay:" +msgstr "" + +#: ui/shotwell.ui:1416 +msgid "_Transition effect:" +msgstr "" + +#: ui/shotwell.ui:1432 +msgid "Transition d_elay:" +msgstr "" + +#: ui/shotwell.ui:1444 +msgid "Show t_itle" +msgstr "" + +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 +msgid "seconds" +msgstr "" diff --git a/po/sk.gmo b/po/sk.gmo new file mode 100644 index 0000000..777539e Binary files /dev/null and b/po/sk.gmo differ diff --git a/po/sk.po b/po/sk.po index b503bb0..c84aa46 100644 --- a/po/sk.po +++ b/po/sk.po @@ -19,8 +19,8 @@ msgstr "" "Project-Id-Version: shotwell-0.15\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=shotwell&keywords=I18N+L10N&component=Internationalization\n" -"POT-Creation-Date: 2016-05-21 16:40+0000\n" -"PO-Revision-Date: 2016-06-04 10:11+0200\n" +"POT-Creation-Date: 2016-08-01 03:04+0000\n" +"PO-Revision-Date: 2016-08-10 14:39+0200\n" "Last-Translator: Dušan Kazik \n" "Language-Team: slovenčina \n" "Language: sk\n" @@ -28,1582 +28,3012 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 1.8.8\n" -#: ../plugins/common/RESTSupport.vala:425 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:968 -msgid "A temporary file needed for publishing is unavailable" -msgstr "Dočasný súbor potrebný na uverejnenie nie je dostupný" +#: misc/shotwell.appdata.xml.in:8 misc/shotwell.desktop.in.in:4 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:115 +#: src/MediaPage.vala:435 src/photos/RawSupport.vala:300 +msgid "Shotwell" +msgstr "Shotwell" -#: ../plugins/common/RESTSupport.vala:1145 +#: misc/shotwell.appdata.xml.in:9 +msgid "Popular photo manager" +msgstr "Obľúbený správca fotografií" + +#: misc/shotwell.appdata.xml.in:11 msgid "" -"You have already logged in and out of a Google service during this Shotwell " -"session.\n" -"\n" -"To continue publishing to Google services, quit and restart Shotwell, then " -"try publishing again." +"Shotwell is an easy-to-use, fast photo organizer designed for the GNOME " +"desktop. It allows you to import photos from your camera or disk, organize " +"them by date and subject matter, even ratings. It also offers basic photo " +"editing, like crop, red-eye correction, color adjustments, and straighten. " +"Shotwell's non-destructive photo editor does not alter your master photos, " +"making it easy to experiment and correct errors." msgstr "" -"Už ste sa prihlásili a odhlásili zo služby Google počas tejto relácie " -"programu Shotwell.\n" -"Na pokračovanie v uverejňovaní na služby Google, ukončite a znovu spustite " -"program Shotwell a skúste uverejňovanie znovu." -#: ../plugins/common/Resources.vala:9 -msgid "Visit the Shotwell home page" -msgstr "Navštíviť domovskú stránku programu Shotwell" +#: misc/shotwell.appdata.xml.in:18 +msgid "" +"When ready, Shotwell can upload your photos to various web sites, such as " +"Facebook, Flickr, Picasa (Google Plus), and more." +msgstr "" -#: ../plugins/common/Resources.vala:28 ../src/AppWindow.vala:698 -msgid "translator-credits" +#: misc/shotwell.appdata.xml.in:22 +msgid "Shotwell supports JPEG, PNG, TIFF, and a variety of RAW file formats." msgstr "" -"Laco Gubík \n" -"Ondrej Mosnáček \n" -"Tomáš Vadina \n" -"Dušan Kazik " +"Prehliadač Shotwell podporuje formáty JPEG, PNG, TIFF a množstvo súborov RAW." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:34 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:32 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:34 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:32 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:32 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:32 -#: ../src/Resources.vala:27 -msgid "Copyright 2016 Software Freedom Conservancy Inc." -msgstr "Autorské práva 2016 Software Freedom Conservancy Inc." +#: misc/shotwell.desktop.in.in:5 src/Resources.vala:17 +msgid "Photo Manager" +msgstr "Správca fotografií" + +#: misc/shotwell.desktop.in.in:6 +msgid "Organize your photos" +msgstr "Organizuje vaše fotografie" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:56 +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: misc/shotwell.desktop.in.in:8 msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select a library to import, either by selecting one of the existing " -"libraries found by Shotwell or by selecting an alternative F-Spot database " -"file." +"album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;" +"organize;photo;photographs;photos;picture;pictures;photography;print;publish;" +"rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" msgstr "" -"Vitajte v importovacej službe F-Spot knižnice.\n" -"\n" -"Prosím, zvoľte knižnicu na importovanie vybratím jednej z existujúcich " -"knižníc nájdených aplikáciou Shotwell alebo vybratím alternatívneho súboru F-" -"Spot databázy." +"album;fotoaparát;fotoaparáty;kamera;kamery;orezať;orezanie;vylepšiť;" +"vylepšenie;export;galéria;obrázok;obrázky;import;organizovať;fotografia;" +"fotografie;fotograf;tlač;uverejniť;zverejniť;otočiť;otočenie;zdieľať;" +"zdieľanie;sprístupniť;sprístupnenie;značky;video;facebook;flickr;picasa;" +"youtube;piwigo;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: misc/shotwell.desktop.in.in:11 misc/shotwell-viewer.desktop.in.in:8 +#| msgid "Shotwell" +msgid "shotwell" +msgstr "shotwell" + +#: misc/shotwell-viewer.desktop.in.in:4 +msgid "Shotwell Viewer" +msgstr "Prehliadač Shotwell" + +#: misc/shotwell-viewer.desktop.in.in:5 src/Resources.vala:18 +msgid "Photo Viewer" +msgstr "Prehliadač fotografií" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:58 -msgid "" -"Welcome to the F-Spot library import service.\n" -"\n" -"Please select an F-Spot database file." +#: misc/org.yorba.shotwell-extras.gschema.xml:6 +msgid "authentication token" +msgstr "token overenia totožnosti" + +#: misc/org.yorba.shotwell-extras.gschema.xml:7 +msgid "Yandex-Fotki authentication token, if logged in." msgstr "" -"Vitajte v importovacej službe F-Spot knižnice.\n" -"\n" -"Prosím, vyberte súbor F-Spot databázy." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:60 -msgid "Manually select an F-Spot database file to import:" -msgstr "Ručne vyberte súbor F-Spot databázy na importovanie:" +#: misc/org.yorba.shotwell-extras.gschema.xml:14 +msgid "Token" +msgstr "" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:62 -msgid "" -"Cannot open the selected F-Spot database file: the file does not exist or is " -"not an F-Spot database" +#: misc/org.yorba.shotwell-extras.gschema.xml:15 +msgid "The token to access tumblr" msgstr "" -"Nedá sa ovoriť vybraný súbor F-Spot databázy: súbor neexistuje alebo nie je " -"F-Spot databázou" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:64 -msgid "" -"Cannot open the selected F-Spot database file: this version of the F-Spot " -"database is not supported by Shotwell" +#: misc/org.yorba.shotwell-extras.gschema.xml:20 +msgid "Secret token" msgstr "" -"Nedá sa ovoriť vybraný súbor F-Spot databázy: táto verzia F-Spot databázy " -"nie je podporovaná aplikáciou Shotwell" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:66 -msgid "" -"Cannot read the selected F-Spot database file: error while reading tags table" +#: misc/org.yorba.shotwell-extras.gschema.xml:21 +msgid "The secret token to sign oauth requests" msgstr "" -"Nedá sa načítať vybraný súbor F-Spot databázy: chyba počas načítavania " -"tabuľky značiek" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:68 +#: misc/org.yorba.shotwell-extras.gschema.xml:26 +#: misc/org.yorba.shotwell.gschema.xml:416 +msgid "default size" +msgstr "predvolená veľkosť" + +#: misc/org.yorba.shotwell-extras.gschema.xml:27 msgid "" -"Cannot read the selected F-Spot database file: error while reading photos " -"table" +"A numeric code representing the default size for photos uploaded to Tumblr" msgstr "" -"Nedá sa načítať vybraný súbor F-Spot databázy: chyba počas načítavania " -"tabuľky fotiek" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:70 -#, c-format -msgid "" -"Shotwell has found %d photos in the F-Spot library and is currently " -"importing them. Duplicates will be automatically detected and removed.\n" -"\n" -"You can close this dialog and start using Shotwell while the import is " -"taking place in the background." +#: misc/org.yorba.shotwell-extras.gschema.xml:32 +msgid "default blog" msgstr "" -"Shotwell našiel %d fotiek v knižnici F-Spot a momentálne ich importuje. " -"Duplikáty budú automaticky zistené a odstránené.\n" -"\n" -"Môžete zavrieť toto okno a začať používať aplikácie Shotwell, zatiaľ čo " -"importovanie bude prebiehať na pozadí." -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:84 -#, c-format -msgid "F-Spot library: %s" -msgstr "Knižnica F-Spot: %s" +#: misc/org.yorba.shotwell-extras.gschema.xml:33 +msgid "The name of the default blog of the user, if any" +msgstr "" -#: ../plugins/shotwell-data-imports/FSpotImporter.vala:422 -msgid "Preparing to import" -msgstr "Pripravuje sa importovanie" +#: misc/org.yorba.shotwell-extras.gschema.xml:40 +msgid "Rajce URL" +msgstr "URL služby Rajce" -#: ../plugins/shotwell-data-imports/shotwell-data-imports.vala:22 -msgid "Core Data Import Services" -msgstr "Služby importu údajov jadra" +#: misc/org.yorba.shotwell-extras.gschema.xml:41 +msgid "URL of the Rajce server." +msgstr "URL servera služby Rajce." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:41 -msgid "Gallery3 publishing module" -msgstr "Modul na uverejňovanie na službe Gallery3" +#: misc/org.yorba.shotwell-extras.gschema.xml:46 +#: misc/org.yorba.shotwell.gschema.xml:384 +#: misc/org.yorba.shotwell.gschema.xml:442 +#: misc/org.yorba.shotwell.gschema.xml:498 +msgid "username" +msgstr "používateľské meno" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:114 -msgid "" -"You are not currently logged into your Gallery.\n" -"\n" -"You must have already signed up for a Gallery3 account to complete the login " -"process." -msgstr "" -"Momentálne nie ste prihlásený do vašej galérie.\n" -"Aby ste mohli dokončiť prihlásenie, musíte mať zaregistrovaný účet na službe " -"Gallery3." +#: misc/org.yorba.shotwell-extras.gschema.xml:47 +msgid "Rajce username, if logged in." +msgstr "Používateľské meno služby Rajce, pri prihlásení." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:115 -#: ../src/MediaPage.vala:435 ../src/photos/RawSupport.vala:300 -msgid "Shotwell" -msgstr "Shotwell" +#: misc/org.yorba.shotwell-extras.gschema.xml:52 +msgid "token" +msgstr "token" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:117 -msgid "Shotwell default directory" -msgstr "Predvolený adresár programu Shotwell" +#: misc/org.yorba.shotwell-extras.gschema.xml:53 +msgid "user token, if remembered." +msgstr "Token používateľa, ak je zapamätaný." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:801 -#, c-format +#: misc/org.yorba.shotwell-extras.gschema.xml:58 +#: misc/org.yorba.shotwell.gschema.xml:460 +msgid "last category" +msgstr "posledná kategória" + +#: misc/org.yorba.shotwell-extras.gschema.xml:59 +msgid "The last selected Rajce category." +msgstr "Posledná vybraná kategória služby Rajce." + +#: misc/org.yorba.shotwell-extras.gschema.xml:64 +#: misc/org.yorba.shotwell.gschema.xml:472 +msgid "last photo size" +msgstr "veľkosť poslednej fotky" + +#: misc/org.yorba.shotwell-extras.gschema.xml:65 msgid "" -"\n" -"\n" -"The file \"%s\" may not be supported by or may be too large for this " -"instance of Gallery3." +"A numeric code representing the last photo size preset used when publishing " +"to Rajce." msgstr "" -"\n" -"\n" -"Súbor „%s“ nie je podporovaný alebo je príliš veľký pre túto inštanciu " -"služby Gallery3." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:802 -msgid "" -"\n" -"Note that Gallery3 only supports the video types that Flowplayer does." +#: misc/org.yorba.shotwell-extras.gschema.xml:70 +msgid "remember" +msgstr "zapamätať" + +#: misc/org.yorba.shotwell-extras.gschema.xml:71 +msgid "If true, remember last login." msgstr "" -"\n" -"Berte na vedomie, že služba Gallery3 podporuje iba tie isté formáty videí " -"ako služba Flowplayer." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1022 -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1775 -#, c-format -msgid "" -"A file required for publishing is unavailable. Publishing to %s can't " -"continue." +#: misc/org.yorba.shotwell-extras.gschema.xml:76 +msgid "hide album" +msgstr "skryť album" + +#: misc/org.yorba.shotwell-extras.gschema.xml:77 +msgid "If true, hide the newly created Rajce album." msgstr "" -"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu %s " -"nemôže pokračovať." -#. populate any widgets whose contents are -#. programmatically-generated -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1551 -#, c-format -msgid "Publishing to %s as %s." -msgstr "Uverejňuje sa na %s pod používateľským menom %s." +#: misc/org.yorba.shotwell-extras.gschema.xml:82 +msgid "open album in web browser" +msgstr "otvoriť album v prehliadači" -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +#: misc/org.yorba.shotwell-extras.gschema.xml:83 msgid "" -"Enter the URL for your Gallery3 site and the username and password (or API " -"key) for your Gallery3 account." +"If true, open target album in the web browser just after uploading photos" msgstr "" -"Zadajte adresu URL vašej knižnice fotografií v službe Piwigo a taktiež " -"patričné používateľské meno a heslo k účtu služby Piwigo pre danú knižnicu." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1820 -msgid "" -"The username and password or API key were incorrect. To try again, re-enter " -"your username and password below." +#: misc/org.yorba.shotwell-extras.gschema.xml:88 +#: misc/org.yorba.shotwell.gschema.xml:364 +#: misc/org.yorba.shotwell.gschema.xml:402 +#: misc/org.yorba.shotwell.gschema.xml:428 +#: misc/org.yorba.shotwell.gschema.xml:478 +#: misc/org.yorba.shotwell.gschema.xml:522 +msgid "remove sensitive info from uploads" msgstr "" -"Používateľské meno a heslo, alebo kľúč API neboli správne. Pre nový pokus " -"znovu zadajte používateľské meno a heslo nižšie." -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1821 +#: misc/org.yorba.shotwell-extras.gschema.xml:89 msgid "" -"The URL entered does not appear to be the main directory of a Gallery3 " -"instance. Please make sure you typed it correctly and it does not have any " -"trailing components (e.g., index.php)." +"Whether images being uploaded to Rajce should have their metadata removed " +"first" msgstr "" -"Zdá sa, že zadaná URL neodkazuje na hlavný adresár inštancie Gallery3. " -"Prosím, uistite sa, že ste ju zadali správne a že neobsahuje žiadne koncové " -"prípony (napr. index.php)." - -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1874 -msgid "Unrecognized User" -msgstr "Nerozpoznaný používateľ" - -#: ../plugins/shotwell-publishing-extras/GalleryConnector.vala:1879 -msgid " Site Not Found" -msgstr " Stránka sa nenašla" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:38 -msgid "Copyright (C) 2013 rajce.net" -msgstr "Autorské práva (C) 2013 rajce.net" +#: misc/org.yorba.shotwell.gschema.xml:22 +msgid "display basic properties" +msgstr "zobraziť základné vlastnosti" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:742 -msgid "An error message occurred when publishing to Rajce. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:23 +msgid "True if the basic properties pane is to be displayed, false otherwise." msgstr "" -"Vyskytla sa chybová hláška počas uverejňovania na službu Rajce. Prosím, " -"skúste to znovu." - -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:831 -msgid "Enter email and password associated with your Rajce account." -msgstr "Zadajte meno používateľa a heslo pre váš príslušný účet Tumblr." -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:832 -msgid "Invalid email and/or password. Please try again" -msgstr "Neplatné užívateľské meno a/alebo heslo. Prosím, skúste to znovu." +#: misc/org.yorba.shotwell.gschema.xml:28 +msgid "display extended properties" +msgstr "zobraziť rozšírené vlastnosti" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:863 -msgid "Invalid User Email or Password" -msgstr "Neplatné meno používateľa alebo heslo" +#: misc/org.yorba.shotwell.gschema.xml:29 +msgid "" +"True if the extended properties window is to be displayed, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:890 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:2 -msgid "_Email address" -msgstr "_Emailová adresa" +#: misc/org.yorba.shotwell.gschema.xml:34 +msgid "display sidebar" +msgstr "zobraziť bočný panel" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:891 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:3 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:4 -msgid "_Password" -msgstr "_Heslo" +#: misc/org.yorba.shotwell.gschema.xml:35 +msgid "True if the sidebar is to be displayed, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:892 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:4 -msgid "_Remember" -msgstr "Za_pamätať heslo" +#: misc/org.yorba.shotwell.gschema.xml:40 +msgid "display toolbar" +msgstr "zobraziť panel nástrojov" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:893 -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:6 -msgid "Login" -msgstr "Prihlásiť sa" +#: misc/org.yorba.shotwell.gschema.xml:41 +msgid "True if the bottom toolbar is to be displayed, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1006 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:5 -msgid "_Hide album" -msgstr "_Skryť album" +#: misc/org.yorba.shotwell.gschema.xml:46 +msgid "display search bar" +msgstr "zobraziť panel vyhľadávania" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 -#, c-format -msgid "You are logged into Rajce as %s." -msgstr "Ste prihlásený do služby Rajce ako %s." +#: misc/org.yorba.shotwell.gschema.xml:47 +msgid "True if the Search/Filter Toolbar is to be displayed, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:670 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:1 -msgid "Photos will appear in:" -msgstr "Fotografie sa zobrazia v:" +#: misc/org.yorba.shotwell.gschema.xml:52 +msgid "display photo titles" +msgstr "zobraziť názvy fotografií" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:1 -msgid "An _existing album:" -msgstr "_Existujúcom albume:" +#: misc/org.yorba.shotwell.gschema.xml:53 +msgid "" +"True if photo titles are to be displayed beneath thumbnails in collection " +"views, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:3 -msgid "A _new album named:" -msgstr "Photos will be _visible by:" +#: misc/org.yorba.shotwell.gschema.xml:58 +msgid "display photo comments" +msgstr "zobraziť komentáre k fotografiám" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:6 -msgid "Open target _album in browser" -msgstr "Otvoriť cieľový _album v prehliadači" +#: misc/org.yorba.shotwell.gschema.xml:59 +msgid "" +"True if photo comments are to be displayed beneath thumbnails in collection " +"views, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:8 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:6 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:4 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:7 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:3 -msgid "_Publish" -msgstr "U_verejniť" +# DK: https://bugzilla.gnome.org/show_bug.cgi?id=736632 +#: misc/org.yorba.shotwell.gschema.xml:64 +msgid "display event comments" +msgstr "zobraziť komentáre k udalostiam" -#: ../plugins/shotwell-publishing-extras/RajcePublishing.vala:1019 -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:5 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:3 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:6 -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:2 -msgid "_Logout" -msgstr "_Odhlásiť" +#: misc/org.yorba.shotwell.gschema.xml:65 +msgid "" +"True if event comments are to be displayed beneath thumbnails in event " +"views, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:35 -msgid "Copyright 2012 BJA Electronics" -msgstr "Autorské práva 2012 BJA Electronics" +#: misc/org.yorba.shotwell.gschema.xml:70 +msgid "display photo tags" +msgstr "zobraziť značky fotografií" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:104 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1232 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1246 -msgid "500 x 375 pixels" -msgstr "500 x 375 bodov" +#: misc/org.yorba.shotwell.gschema.xml:71 +msgid "" +"True if photo tags are to be listed beneath thumbnails in collection views, " +"false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1233 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1247 -msgid "1024 x 768 pixels" -msgstr "1024 x 768 bodov" +#: misc/org.yorba.shotwell.gschema.xml:76 +msgid "display photo ratings" +msgstr "zobraziť hodnotenia fotografií" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 -msgid "1280 x 853 pixels" -msgstr "1280 x 853 bodov" +#: misc/org.yorba.shotwell.gschema.xml:77 +msgid "" +"True if a photo's rating should be displayed as overlaid trinket, false " +"otherwise." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:310 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:320 -#, c-format -msgid "'%s' isn't a valid response to an OAuth authentication request" -msgstr "'%s' nie je platnou odpoveďou na autorizačnú požiadavku OAuth" +#: misc/org.yorba.shotwell.gschema.xml:82 +msgid "rating filter level" +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:558 +#: misc/org.yorba.shotwell.gschema.xml:83 msgid "" -"TumblrPublisher: start( ): can't start; this publisher is not restartable." +"Determines how to filter photos based on their ratings. 1: Rejected or " +"better, 2: Unrated or better, 3: One or better, 4: Two or better, 5: Three " +"or better, 6: Four or better, 7: Five or better." msgstr "" -"TumblrPublisher: start( ): nedá sa spustiť; túto službu na uverejnenie nie " -"je možné reštartovať." -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:586 -msgid "Enter the username and password associated with your Tumblr account." -msgstr "Zadajte meno používateľa a heslo pre váš príslušný účet Tumblr." +#: misc/org.yorba.shotwell.gschema.xml:88 +msgid "sort events ascending" +msgstr "usporiadať udalosti vzostupne" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1000 -msgid "Username and/or password invalid. Please try again" -msgstr "Neplatné užívateľské meno a/alebo heslo. Prosím, skúste to znovu." +#: misc/org.yorba.shotwell.gschema.xml:89 +msgid "True if events should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:617 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1037 -msgid "Invalid User Name or Password" -msgstr "Neplatné meno používateľa alebo heslo" +#: misc/org.yorba.shotwell.gschema.xml:94 +msgid "sort library photos ascending" +msgstr "usporiadať fotografie knižnice vzostupne" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:636 -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:757 -#, c-format -msgid "Could not load UI: %s" -msgstr "Nepodarilo sa načítať rozhranie: %s" +#: misc/org.yorba.shotwell.gschema.xml:95 +msgid "True if library photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/TumblrPublishing.vala:739 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:100 +msgid "sort library photos criteria" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:101 msgid "" -"You are logged into Tumblr as %s.\n" -"\n" +"A numeric code that specifies the sort criteria for photos in library views." msgstr "" -"Ste prihlásený do služby Tumblr ako %s.\n" -"\n" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:22 -msgid "Copyright 2010+ Evgeniy Polyakov " -msgstr "Autorské práva 2010+ Evgeniy Polyakov " +#: misc/org.yorba.shotwell.gschema.xml:106 +msgid "sort event photos ascending" +msgstr "usporiadať fotografie udalostí vzostupne" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:25 -msgid "Visit the Yandex.Fotki web site" -msgstr "Navštíviť webové stránky Yandex.Fotki" +#: misc/org.yorba.shotwell.gschema.xml:107 +msgid "True if event photos should be sorted ascending, false if descending." +msgstr "" -#: ../plugins/shotwell-publishing-extras/YandexPublishing.vala:659 -msgid "You are not currently logged into Yandex.Fotki." -msgstr "Momentálne nie ste prihlásený do služby Yandex.Fotki." +#: misc/org.yorba.shotwell.gschema.xml:112 +#, fuzzy +#| msgid "Sort photos by title" +msgid "sort event photos criteria" +msgstr "Usporiadať fotografie podľa názvu" -#: ../plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 -msgid "Shotwell Extra Publishing Services" -msgstr "Hlavné uverejňovacie služby" +#: misc/org.yorba.shotwell.gschema.xml:113 +msgid "Specifies the sort criteria for event photos." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:1 -msgid "Go _Back" -msgstr "Späť" +#: misc/org.yorba.shotwell.gschema.xml:118 +msgid "use 24 hour time" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:2 -#: ../ui/shotwell.glade.h:42 -msgid "_Login" -msgstr "_Prihlásiť sa" +#: misc/org.yorba.shotwell.gschema.xml:119 +msgid "" +"True if should display times with a 24 hour clock, false if times should use " +"AM/PM notation." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:3 -msgid "Intro message replaced at runtime" -msgstr "Úvodná správa nahradená pri spustení" +#: misc/org.yorba.shotwell.gschema.xml:124 +msgid "keep relative time between photos" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:4 -msgid "_Gallery3 URL:" -msgstr "URL služby _Gallery3:" +#: misc/org.yorba.shotwell.gschema.xml:125 +msgid "" +"True if when adjusting time/date of photos, relative time should be " +"maintained. False if all photos should be set to the same time." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:5 -msgid "_User name:" -msgstr "Používateľské _meno" +#: misc/org.yorba.shotwell.gschema.xml:130 +msgid "modify original photo files" +msgstr "upraviť pôvodné súbory fotiek" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:6 -msgid "_Password:" -msgstr "_Heslo" +#: misc/org.yorba.shotwell.gschema.xml:131 +msgid "" +"True if when adjusting time/date of photos, the original files should be " +"modified as well. False if changes are made only in the database." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:7 -msgid "API _Key:" -msgstr "_Kľúč API:" +#: misc/org.yorba.shotwell.gschema.xml:136 +msgid "show welcome dialog on startup" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_authentication_pane.glade.h:8 -msgid "or" -msgstr "hodín" +#: misc/org.yorba.shotwell.gschema.xml:137 +msgid "" +"True if, when on startup, a welcome dialog should be shown. False if it " +"should not be shown." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:3 -msgid "A _new album" -msgstr "Photos will be _visible by:" +#: misc/org.yorba.shotwell.gschema.xml:142 +msgid "sidebar position" +msgstr "pozícia bočného panela" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:4 -msgid "An _existing album" -msgstr "_Existujúcom albume:" +#: misc/org.yorba.shotwell.gschema.xml:143 +msgid "The width, in pixels, of the sidebar" +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:5 -msgid "_Remove location, tag and camera-identifying data before uploading" +#: misc/org.yorba.shotwell.gschema.xml:148 +msgid "photo thumbnail scale" msgstr "" -"_Odstrániť umiestnenie, značku a indentifikačné údaje o fotoaparáte pred " -"odovzdaním" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:6 -msgid "'Publishing to $url as $username' (populated in application code)" -msgstr "„Uverejňuje sa na $url ako $username“ (obsiahnuté v kóde aplikácie)" +#: misc/org.yorba.shotwell.gschema.xml:149 +msgid "The scale of photo thumbnails, ranging from 72 to 360." +msgstr "" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:7 -msgid "Scaling constraint:" -msgstr "_Zachovať pomer podľa:" +#: misc/org.yorba.shotwell.gschema.xml:154 +msgid "pin toolbar state" +msgstr "pripnúť stav panela nástrojov" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:8 -msgid "pixels" -msgstr " _pixelov" +#: misc/org.yorba.shotwell.gschema.xml:155 +msgid "Pin toolbar in fullscreen, or not." +msgstr "Určí, či bude panel nástrojov pripnutý v režime celej obrazovky." -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:9 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1236 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1250 -#: ../src/Dimensions.vala:17 -msgid "Original size" -msgstr "Pôvodnej veľkosti" +#: misc/org.yorba.shotwell.gschema.xml:160 +msgid "background color" +msgstr "farba pozadia" -#: ../plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.glade.h:10 -#: ../src/Dimensions.vala:20 -msgid "Width or height" -msgstr "Šírky alebo výšky" +#: misc/org.yorba.shotwell.gschema.xml:161 +msgid "A grayscale color for use as the background color." +msgstr "" -#: ../plugins/shotwell-publishing-extras/tumblr_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing-extras/rajce_authentication_pane.glade.h:1 -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:1 -#: ../ui/shotwell.glade.h:14 -msgid "label" -msgstr "štítok" +#: misc/org.yorba.shotwell.gschema.xml:166 +msgid "Selection state of \"hide photos\" option" +msgstr "" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:1 -msgid "Blogs:" -msgstr "Blogy:" +#: misc/org.yorba.shotwell.gschema.xml:167 +msgid "" +"Last used selection state of the \"hide photos already imported\" option in " +"the import page." +msgstr "" -#: ../plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:1 -msgid "Photo _size:" -msgstr "Veľkosť _fotky:" +#: misc/org.yorba.shotwell.gschema.xml:174 +msgid "delay" +msgstr "oneskorenie" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:1 -msgid "you are logged in rajce as $name" -msgstr "Ste prihlásený do služby rajce ako $name" +#: misc/org.yorba.shotwell.gschema.xml:175 +msgid "Delay (in seconds) between photos in the slideshow." +msgstr "" -#: ../plugins/shotwell-publishing-extras/rajce_publishing_options_pane.glade.h:7 -msgid "$mediatype will appear in" -msgstr "Videá sa zobrazia v:" +#: misc/org.yorba.shotwell.gschema.xml:180 +msgid "transition delay" +msgstr "oneskorenie prechodu" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:1 -msgid "_Albums (or write new):" -msgstr "_Albumy (alebo zadajte nový):" +#: misc/org.yorba.shotwell.gschema.xml:181 +msgid "" +"The time (in seconds) that a transition runs between photos in a slideshow" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:2 -msgid "Access _type:" -msgstr "_Typ prístupu:" +#: misc/org.yorba.shotwell.gschema.xml:186 +msgid "transition effect id" +msgstr "identifikátor efektu prechodu" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:3 -msgid "Disable _comments" -msgstr "Zakázať _komentáre" +#: misc/org.yorba.shotwell.gschema.xml:187 +msgid "" +"The name of the transition effect that will be used between photos when " +"running a slideshow" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:4 -msgid "_Forbid downloading original photo" -msgstr "Zakázať stiahnutie _pôvodnej fotografie" +#: misc/org.yorba.shotwell.gschema.xml:192 +msgid "Show title" +msgstr "Zobraziť názov" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:7 -msgid "Public" -msgstr "Uverejniť" +#: misc/org.yorba.shotwell.gschema.xml:193 +msgid "Whether to show the title of a photo during the slideshow" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:8 -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1195 -msgid "Friends" -msgstr "Priatelia" +#: misc/org.yorba.shotwell.gschema.xml:200 +msgid "maximize library window" +msgstr "" -#: ../plugins/shotwell-publishing-extras/yandex_publish_model.glade.h:9 -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:497 -msgid "Private" -msgstr "Súkromné" +#: misc/org.yorba.shotwell.gschema.xml:201 +msgid "True if library application is maximized, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:61 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:59 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1127 -msgid "Shotwell Connect" -msgstr "Shotwell Connect" +#: misc/org.yorba.shotwell.gschema.xml:206 +msgid "width of library window" +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:63 -msgid "" -"You are not currently logged into Facebook.\n" -"\n" -"If you don't yet have a Facebook account, you can create one during the " -"login process. During login, Shotwell Connect may ask you for permission to " -"upload photos and publish to your feed. These permissions are required for " -"Shotwell Connect to function." +#: misc/org.yorba.shotwell.gschema.xml:207 +msgid "The last recorded width of the library application window." msgstr "" -"Momentálne nie ste prihlásený do služby Facebook.\n" -"\n" -"Ak ešte nemáte vytvorený Facebook účet, môžete si jeden vytvoriť počas " -"prihlasovacieho procesu. Počas prihlásenia si Shotwell Connect môže vyžiadať " -"povolenie na odovzdanie fotografií a ich uverejnenie vo vašom kanáli. Toto " -"povolenie je potrebné na to, aby Shotwell Connect mohol správne fungovať." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:65 -msgid "" -"You have already logged in and out of Facebook during this Shotwell " -"session.\n" -"To continue publishing to Facebook, quit and restart Shotwell, then try " -"publishing again." +#: misc/org.yorba.shotwell.gschema.xml:212 +msgid "height of library window" msgstr "" -"Počas tohoto spustenia programu Shotwell ste sa už prihlásili a odhlásili zo " -"siete Facebook.\n" -"Aby ste mohli naďalej uverejňovať fotografie na sieti Facebook, ukončite a " -"znova spustite Shotwell, a potom to skúste znova." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:86 -msgid "Standard (720 pixels)" -msgstr "Štandardná (720 pixelov)" +#: misc/org.yorba.shotwell.gschema.xml:213 +msgid "The last recorded height of the library application window." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:89 -msgid "Large (2048 pixels)" -msgstr "Veľká (2048 pixelov)" +#: misc/org.yorba.shotwell.gschema.xml:218 +msgid "maximize direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:254 -msgid "Testing connection to Facebook..." -msgstr "Testuje sa pripojenie k službe Facebook..." +#: misc/org.yorba.shotwell.gschema.xml:219 +msgid "True if direct-edit application is maximized, false otherwise." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:347 -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:379 -msgid "Creating album..." -msgstr "Vytvára sa nový album..." +#: misc/org.yorba.shotwell.gschema.xml:224 +msgid "width of direct-edit window" +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:374 -msgid "" -"A file required for publishing is unavailable. Publishing to Facebook can't " -"continue." +#: misc/org.yorba.shotwell.gschema.xml:225 +msgid "The last recorded width of the direct-edit application window." msgstr "" -"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " -"Facebook nemôže pokračovať." -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1033 -#, c-format -msgid "" -"You are logged into Facebook as %s.\n" -"\n" +#: misc/org.yorba.shotwell.gschema.xml:230 +msgid "height of direct-edit window" msgstr "" -"Ste prihlásený do služby Facebook ako %s.\n" -"\n" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1034 -msgid "Where would you like to publish the selected photos?" -msgstr "Kde si želáte uverejniť vybrané fotografie?" +#: misc/org.yorba.shotwell.gschema.xml:231 +msgid "The last recorded height of the direct-edit application window." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1035 -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:3 -msgid "Upload _size:" -msgstr "_Veľkosť odovzdávania:" +#: misc/org.yorba.shotwell.gschema.xml:236 +msgid "sidebar divider position" +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1194 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1214 -msgid "Just me" -msgstr "Len pre mňa" +#: misc/org.yorba.shotwell.gschema.xml:237 +msgid "" +"The last recorded position of the divider between the sidebar and view in " +"library application window." +msgstr "" -#: ../plugins/shotwell-publishing/FacebookPublishing.vala:1196 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1210 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1234 -msgid "Everyone" -msgstr "Všetkých" +#: misc/org.yorba.shotwell.gschema.xml:244 +msgid "import directory" +msgstr "adresár importu" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:61 -msgid "" -"You are not currently logged into Flickr.\n" -"\n" -"Click Login to log into Flickr in your Web browser. You will have to " -"authorize Shotwell Connect to link to your Flickr account." +#: misc/org.yorba.shotwell.gschema.xml:245 +msgid "Directory in which imported photo files are placed." msgstr "" -"Momentálne nie ste prihlásený do služby Flickr.\n" -"\n" -"Kliknite na Prihlásiť pre prihlásenie do služby Flickr vo vašom webovom " -"prehliadači. Budete musieť autorizovať Shotwell Connect odkaz na váš účet " -"Flickr." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:63 +#: misc/org.yorba.shotwell.gschema.xml:250 +msgid "watch library directory for new files" +msgstr "sledovať nové súbory v adresári knižnice" + +#: misc/org.yorba.shotwell.gschema.xml:251 msgid "" -"You have already logged in and out of Flickr during this Shotwell session.\n" -"To continue publishing to Flickr, quit and restart Shotwell, then try " -"publishing again." +"If true, files added to the library directory are automatically imported." msgstr "" -"Počas tohoto spustenia programu Shotwell ste sa už prihlásili a odhlásili k " -"službe Flickr.\n" -"Aby ste mohli naďalej uverejňovať fotografie pomocou služby Flickr, ukončite " -"a znova spustite Shotwell, a potom to skúste znova." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:375 -msgid "Preparing for login..." -msgstr "Pripravuje sa na prihlásenie..." +#: misc/org.yorba.shotwell.gschema.xml:256 +msgid "write metadata to master files" +msgstr "zapísať metaúdaje do hlavných súborov" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:444 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:595 +#: misc/org.yorba.shotwell.gschema.xml:257 msgid "" -"A file required for publishing is unavailable. Publishing to Flickr can't " -"continue." +"If true, changes to metadata (tags, titles, etc.) are written to the master " +"photo file." msgstr "" -"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " -"Flickr nemôže pokračovať." -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:457 -msgid "Verifying authorization..." -msgstr "Overuje sa autorizácia..." +#: misc/org.yorba.shotwell.gschema.xml:262 +msgid "use lowercase filenames" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1153 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:263 msgid "" -"You are logged into Flickr as %s.\n" -"\n" +"If true, Shotwell will convert all filenames to lowercase when importing " +"photo files" msgstr "" -"Ste prihlásený do služby Flickr ako %s.\n" -"\n" -# DK: https://bugzilla.gnome.org/show_bug.cgi?id=736633 -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1156 -#, c-format -msgid "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabyte remaining in your upload quota." -msgid_plural "" -"Your free Flickr account limits how much data you can upload per month.\n" -"This month you have %d megabytes remaining in your upload quota." -msgstr[0] "" -"Váš Flickr účet, ktorý je zdarma, obmedzuje koľko dát môžete odovzdať za " -"mesiac.\n" -"Tento mesiac vám ešte zostáva %d megabajtov z vašej kvóty." -msgstr[1] "" -"Váš Flickr účet, ktorý je zdarma, obmedzuje koľko dát môžete odovzdať za " -"mesiac.\n" -"Tento mesiac vám ešte zostáva jeden megabajt z vašej kvóty." -msgstr[2] "" -"Váš Flickr účet, ktorý je zdarma, obmedzuje koľko dát môžete odovzdať za " -"mesiac.\n" -"Tento mesiac vám ešte zostávajú %d megabajty z vašej kvóty." +#: misc/org.yorba.shotwell.gschema.xml:268 +msgid "directory pattern" +msgstr "vzor adresárov" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1160 -msgid "Your Flickr Pro account entitles you to unlimited uploads." +#: misc/org.yorba.shotwell.gschema.xml:269 +msgid "" +"A string encoding a naming pattern that will be used to name photo " +"directories on import." msgstr "" -"Váš účet služby Flickr Pro vám umožňuje neobmedzené odovzdávania fotografií." - -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1165 -msgid "Photos _visible to:" -msgstr "Fotografie _viditeľné pre:" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1167 -msgid "Videos _visible to:" -msgstr "Videá budú v_iditeľné:" +#: misc/org.yorba.shotwell.gschema.xml:274 +msgid "directory pattern custom" +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1170 -msgid "Photos and videos _visible to:" -msgstr "Fotografie a videá budú v_iditeľné:" +#: misc/org.yorba.shotwell.gschema.xml:275 +msgid "" +"A string encoding a custom naming pattern that will be used to name photo " +"directories on import." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1211 -msgid "Friends & family only" -msgstr "Len pre priateľov a rodinu" +#: misc/org.yorba.shotwell.gschema.xml:280 +#, fuzzy +#| msgid "RAW Developer" +msgid "RAW developer default" +msgstr "RAW vývojka" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1212 -msgid "Family only" -msgstr "Iba rodina" +#: misc/org.yorba.shotwell.gschema.xml:281 +msgid "Default option for which RAW developer Shotwell will use." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1213 -msgid "Friends only" -msgstr "Iba priatelia" +#: misc/org.yorba.shotwell.gschema.xml:288 +msgid "Most-recently-used crop aspect ratio menu choice." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1234 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1248 -msgid "2048 x 1536 pixels" -msgstr "2048 x 1536 pixelov" +#: misc/org.yorba.shotwell.gschema.xml:289 +msgid "A numeric code representing the last crop menu choice the user made." +msgstr "" -#: ../plugins/shotwell-publishing/FlickrPublishing.vala:1235 -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1249 -msgid "4096 x 3072 pixels" -msgstr "4096 x 3072 pixelov" +#: misc/org.yorba.shotwell.gschema.xml:293 +msgid "Most-recently-used crop custom aspect ratio's numerator." +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:58 +#: misc/org.yorba.shotwell.gschema.xml:294 msgid "" -"You are not currently logged into Picasa Web Albums.\n" -"\n" -"Click Login to log into Picasa Web Albums in your Web browser. You will have " -"to authorize Shotwell Connect to link to your Picasa Web Albums account." +"A nonzero, positive integer representing the width part of the last custom " +"crop ratio the user entered." msgstr "" -"Momentálne nie ste prihlásený do služby webových albumov Picasa.\n" -"\n" -"Kliknite na Prihlásiť na prihlásenie do služby webových albumov Picasa vo " -"vašom webovom prehliadači. Budete musieť schváliť požiadavku na spojenie " -"programu Shotwell Connect s vaším účtom webových albumov Picasa." -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:361 +#: misc/org.yorba.shotwell.gschema.xml:298 +msgid "Most-recently-used crop custom aspect ratio's denominator." +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:299 msgid "" -"A file required for publishing is unavailable. Publishing to Picasa can't " -"continue." +"A nonzero, positive integer representing the height part of the last custom " +"crop ratio the user entered." msgstr "" -"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " -"Picasa nemôže pokračovať." -#. populate any widgets whose contents are programmatically-generated. -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:659 -#, c-format -msgid "You are logged into Picasa Web Albums as %s." -msgstr "Ste prihlásený do Picasa Web Albums ako %s." +#: misc/org.yorba.shotwell.gschema.xml:306 +#, fuzzy +#| msgid "E_xternal photo editor:" +msgid "external photo editor" +msgstr "_Externý editor fotografií:" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:665 -msgid "Videos will appear in:" -msgstr "Videá sa zobrazia v:" +#: misc/org.yorba.shotwell.gschema.xml:307 +msgid "External application used to edit photos." +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:746 -msgid "Small (640 x 480 pixels)" -msgstr "Malá (640 x 480 pixelov)" +#: misc/org.yorba.shotwell.gschema.xml:312 +#, fuzzy +#| msgid "External _RAW editor:" +msgid "external raw editor" +msgstr "Externý _RAW editor:" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:747 -msgid "Medium (1024 x 768 pixels)" -msgstr "Stredná (1024 x 768 pixelov)" +#: misc/org.yorba.shotwell.gschema.xml:313 +msgid "External application used to edit RAW photos." +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:748 -msgid "Recommended (1600 x 1200 pixels)" -msgstr "Odporúčaná (1600 x 1200 pixelov)" +#: misc/org.yorba.shotwell.gschema.xml:320 +#, fuzzy +#| msgid "Core Publishing Services" +msgid "last used publishing service" +msgstr "Hlavné uverejňovacie služby" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:749 -msgid "Google+ (2048 x 1536 pixels)" -msgstr "Google+ (2048 x 1536 bodov)" +#: misc/org.yorba.shotwell.gschema.xml:321 +#: misc/org.yorba.shotwell.gschema.xml:327 +msgid "" +"A numeric code representing the last service to which photos were published" +msgstr "" -#: ../plugins/shotwell-publishing/PicasaPublishing.vala:750 -#: ../src/editing_tools/EditingTools.vala:756 -msgid "Original Size" -msgstr "Pôvodná veľkosť" +#: misc/org.yorba.shotwell.gschema.xml:326 +#, fuzzy +#| msgid "Core Publishing Services" +msgid "default publishing service" +msgstr "Hlavné uverejňovacie služby" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:746 -#, c-format -msgid "Creating album %s..." -msgstr "Vytvára sa album %s..." +#: misc/org.yorba.shotwell.gschema.xml:340 +#, fuzzy +#| msgid "Access _type:" +msgid "access token" +msgstr "_Typ prístupu:" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:917 -msgid "An error message occurred when publishing to Piwigo. Please try again." +#: misc/org.yorba.shotwell.gschema.xml:341 +msgid "Facebook OAuth token for the currently logged in session, if any" msgstr "" -"Vyskytla sa chybová hláška počas uverejňovania na službu Piwigo. Prosím, " -"skúste to znovu." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:998 -msgid "" -"Enter the URL of your Piwigo photo library as well as the username and " -"password associated with your Piwigo account for that library." +#: misc/org.yorba.shotwell.gschema.xml:346 +msgid "user i.d." msgstr "" -"Zadajte adresu URL vašej knižnice fotografií v službe Piwigo a taktiež " -"patričné používateľské meno a heslo k účtu služby Piwigo pre danú knižnicu." -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:999 -msgid "" -"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " -"entered" +#: misc/org.yorba.shotwell.gschema.xml:347 +msgid "Facebook user i.d. for the currently logged in user, if any" msgstr "" -"Program Shotwell nedokáže kontaktovať vašu knižnicu v službe Piwigo. Prosím, " -"overte vami zadanú adresu URL" - -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1032 -msgid "Invalid URL" -msgstr "Neplatná adresa URL" - -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1235 -msgid "Admins, Family, Friends, Contacts" -msgstr "Administrátori, rodina, priatelia, kontakty" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1236 -msgid "Admins, Family, Friends" -msgstr "Administrátori, rodina, priatelia" +#: misc/org.yorba.shotwell.gschema.xml:352 +msgid "user name" +msgstr "používateľské meno" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1237 -msgid "Admins, Family" -msgstr "Administrátori, rodina" +#: misc/org.yorba.shotwell.gschema.xml:353 +msgid "The name of the currently logged in Facebook user, if any" +msgstr "" +"Meno aktuálne prihláseného používateľa do služby Facebook, ak nejaký existuje" -#: ../plugins/shotwell-publishing/PiwigoPublishing.vala:1238 -msgid "Admins" -msgstr "Administrátori" +#: misc/org.yorba.shotwell.gschema.xml:358 +#: misc/org.yorba.shotwell.gschema.xml:390 +msgid "default size code" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:57 +#: misc/org.yorba.shotwell.gschema.xml:359 msgid "" -"You are not currently logged into YouTube.\n" -"\n" -"You must have already signed up for a Google account and set it up for use " -"with YouTube to continue. You can set up most accounts by using your browser " -"to log into the YouTube site at least once." +"A numeric code representing the default size for photos published to Facebook" msgstr "" -"Momentálne nie ste prihlásený do služby YouTube.\n" -"\n" -"Aby ste mohli pokračovať, musíte si vytvoriť účet Google a nastaviť ho na " -"používanie služby YouTube. Väčšinu účtov takto môžete nastaviť prihláseným " -"sa aspoň raz cez prehliadač na stránku služby YouTube (http://www.youtube." -"com/)." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:362 +#: misc/org.yorba.shotwell.gschema.xml:365 msgid "" -"A file required for publishing is unavailable. Publishing to Youtube can't " -"continue." +"Whether images being uploaded to Facebook should have their metadata removed " +"first" msgstr "" -"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " -"Youtube nemôže pokračovať." -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:461 -#, c-format -msgid "You are logged into YouTube as %s." -msgstr "Ste prihlásený do služby YouTube ako %s." +#: misc/org.yorba.shotwell.gschema.xml:372 +msgid "OAuth Access Phase Token" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:463 -#, c-format -msgid "Videos will appear in '%s'" -msgstr "Videá sa zobrazia v „%s“" +#: misc/org.yorba.shotwell.gschema.xml:373 +msgid "The authorization token for the currently logged in Flickr user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:495 -msgid "Public listed" -msgstr "Verejné zahrnuté" +#: misc/org.yorba.shotwell.gschema.xml:378 +msgid "OAuth Access Phase Token Secret" +msgstr "" -#: ../plugins/shotwell-publishing/YouTubePublishing.vala:496 -msgid "Public unlisted" -msgstr "Verejné nezahrnuté" +#: misc/org.yorba.shotwell.gschema.xml:379 +msgid "" +"The cryptographic secret used to sign requests against the authorization " +"token for the currently logged in Flickr user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:1 -msgid "Publish to an e_xisting album:" -msgstr "Uverejniť v _existujúcom albume:" +#: misc/org.yorba.shotwell.gschema.xml:385 +msgid "The user name of the currently logged in Flickr user, if any" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:2 -msgid "Create a _new album named:" -msgstr "Vytvoriť _nový album s názvom:" +#: misc/org.yorba.shotwell.gschema.xml:391 +msgid "" +"A numeric code representing the default size for photos published to Flickr" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:4 -msgid "Videos and new photo albums _visible to:" -msgstr "Videá a nové albumy budú v_iditeľné:" +#: misc/org.yorba.shotwell.gschema.xml:396 +msgid "default visibility" +msgstr "" -#: ../plugins/shotwell-publishing/facebook_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/flickr_publishing_options_pane.glade.h:2 -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:5 -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:8 +#: misc/org.yorba.shotwell.gschema.xml:397 msgid "" -"_Remove location, camera, and other identifying information before uploading" +"A numeric code representing the default visibility for photos published to " +"Flickr" msgstr "" -"_Odstrániť umiestnenie, typ fotoaparátu a iné identifikačné informácie pred " -"odovzdaním" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:1 +#: misc/org.yorba.shotwell.gschema.xml:403 msgid "" -"Enter the confirmation number which appears after you log into Flickr in " -"your Web browser." +"Whether images being uploaded to Flickr should have their metadata removed " +"first" msgstr "" -"Zadajte potvrdzovacie číslo, ktoré bolo zobrazené po prihlásený do služby " -"Flickr vo vašom webovom prehliadači." -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:2 -msgid "Authorization _Number:" -msgstr "Autorizačné čí_slo:" +#: misc/org.yorba.shotwell.gschema.xml:410 +#: misc/org.yorba.shotwell.gschema.xml:542 +msgid "refresh token" +msgstr "" -#: ../plugins/shotwell-publishing/flickr_pin_entry_pane.glade.h:3 -#: ../src/Dialogs.vala:131 -msgid "Con_tinue" -msgstr "_Pokračovať" +#: misc/org.yorba.shotwell.gschema.xml:411 +msgid "" +"The OAuth token used to refresh the Picasa Web Albums session for the " +"currently logged in user, if any." +msgstr "" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:3 -msgid "L_ist album in public gallery" -msgstr "_Zobraziť album vo verejnej galérii" +#: misc/org.yorba.shotwell.gschema.xml:417 +msgid "" +"A numeric code representing the default size for photos uploaded to Picasa " +"Web Albums" +msgstr "" -#: ../plugins/shotwell-publishing/picasa_publishing_options_pane.glade.h:4 -msgid "Photo _size preset:" -msgstr "Prednastavená _veľkosť fotografie:" +#: misc/org.yorba.shotwell.gschema.xml:422 +#: misc/org.yorba.shotwell.gschema.xml:516 +msgid "last album" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:2 -msgid "_URL of your Piwigo photo library" -msgstr "User _name" +#: misc/org.yorba.shotwell.gschema.xml:423 +#: misc/org.yorba.shotwell.gschema.xml:517 +msgid "The name of the last album the user published photos to, if any" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:3 -msgid "User _name" -msgstr "Používateľské _meno" +#: misc/org.yorba.shotwell.gschema.xml:429 +msgid "" +"Whether images being uploaded to Picasa should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_authentication_pane.glade.h:5 -msgid "_Remember Password" -msgstr "Za_pamätať heslo" +#: misc/org.yorba.shotwell.gschema.xml:436 +msgid "Piwigio URL" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:2 -msgid "An _existing category:" -msgstr "_Existujúcej kategórii:" +#: misc/org.yorba.shotwell.gschema.xml:437 +msgid "URL of the Piwigo server." +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:4 -msgid "Photos will be _visible by:" -msgstr "Fotografie budú viditeľné:" +#: misc/org.yorba.shotwell.gschema.xml:443 +msgid "Piwigo username, if logged in." +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:5 -msgid "Photo size:" -msgstr "Veľkosť fotky:" +#: misc/org.yorba.shotwell.gschema.xml:448 +msgid "password" +msgstr "heslo" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:6 -msgid "within category:" -msgstr "v kategórii:" +#: misc/org.yorba.shotwell.gschema.xml:449 +msgid "Piwigo password, if logged in." +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:7 -msgid "Album comment:" -msgstr "Komentár k albumu:" +#: misc/org.yorba.shotwell.gschema.xml:454 +msgid "remember password" +msgstr "zapamätať heslo" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:9 -msgid "_If a title is set and comment unset, use title as comment" -msgstr "_Ak je zadaný názov a komentár nie, použiť názov ako komentár" +#: misc/org.yorba.shotwell.gschema.xml:455 +msgid "If true, remember the Piwigo password." +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:10 -msgid "_Do no upload tags" -msgstr "_Neodovzdávať značky" +#: misc/org.yorba.shotwell.gschema.xml:461 +msgid "The last selected Piwigo category." +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:11 -msgid "Logout" -msgstr "Odhlásiť sa" +#: misc/org.yorba.shotwell.gschema.xml:466 +msgid "last permission level" +msgstr "" -#: ../plugins/shotwell-publishing/piwigo_publishing_options_pane.glade.h:12 -#: ../src/Resources.vala:298 -msgid "Publish" -msgstr "Uverejniť" +#: misc/org.yorba.shotwell.gschema.xml:467 +msgid "The last chosen Piwigo permission level." +msgstr "" -#: ../plugins/shotwell-publishing/shotwell-publishing.vala:26 -msgid "Core Publishing Services" -msgstr "Hlavné uverejňovacie služby" +#: misc/org.yorba.shotwell.gschema.xml:473 +msgid "" +"A numeric code representing the last photo size preset used when publishing " +"to Piwigo." +msgstr "" -#: ../plugins/shotwell-publishing/youtube_publishing_options_pane.glade.h:1 -msgid "Video privacy _setting:" -msgstr "_Nastavenie súkromia videa:" +#: misc/org.yorba.shotwell.gschema.xml:479 +msgid "" +"Whether images being uploaded to Piwigo should have their metadata removed " +"first" +msgstr "" -#: ../plugins/shotwell-transitions/BlindsEffect.vala:20 -msgid "Blinds" -msgstr "Oslepenie" +#: misc/org.yorba.shotwell.gschema.xml:484 +#, fuzzy +#| msgid "_If a title is set and comment unset, use title as comment" +msgid "" +"if title is set and comment unset, use title as comment for uploads to Piwigo" +msgstr "_Ak je zadaný názov a komentár nie, použiť názov ako komentár" -#: ../plugins/shotwell-transitions/ChessEffect.vala:20 -msgid "Chess" -msgstr "Šachovnica" +#: misc/org.yorba.shotwell.gschema.xml:485 +msgid "" +"Whether images being uploaded to Piwigo should have their comment set from " +"the title if title is set and comment unset" +msgstr "" -#: ../plugins/shotwell-transitions/CircleEffect.vala:20 -msgid "Circle" -msgstr "Kruh" +#: misc/org.yorba.shotwell.gschema.xml:490 +msgid "do not upload tags when uploading to Piwigo" +msgstr "" -#: ../plugins/shotwell-transitions/CirclesEffect.vala:20 -msgid "Circles" -msgstr "Kruhy" +#: misc/org.yorba.shotwell.gschema.xml:491 +msgid "" +"Whether images being uploaded to Piwigo should have their tags removed on " +"upload, such that these tags will not appear on the remote Piwigo server." +msgstr "" -#: ../plugins/shotwell-transitions/ClockEffect.vala:20 -msgid "Clock" -msgstr "Hodiny" +#: misc/org.yorba.shotwell.gschema.xml:499 +msgid "Gallery3 username" +msgstr "Používateľské meno služby Gallery3" -#: ../plugins/shotwell-transitions/CrumbleEffect.vala:20 -msgid "Crumble" -msgstr "Rozbitie" +#: misc/org.yorba.shotwell.gschema.xml:504 +msgid "API key" +msgstr "Kľúč API" -#: ../plugins/shotwell-transitions/FadeEffect.vala:20 -msgid "Fade" -msgstr "Zblednutie" +#: misc/org.yorba.shotwell.gschema.xml:505 +msgid "Gallery3 API key" +msgstr "Kľúč API služby Gallery3" -#: ../plugins/shotwell-transitions/SlideEffect.vala:20 -msgid "Slide" -msgstr "Posunutie" +#: misc/org.yorba.shotwell.gschema.xml:510 +msgid "URL" +msgstr "" -#: ../plugins/shotwell-transitions/SquaresEffect.vala:20 -msgid "Squares" -msgstr "Štvorce" +#: misc/org.yorba.shotwell.gschema.xml:511 +msgid "Gallery3 site URL" +msgstr "URL stránky služby Gallery3" -#: ../plugins/shotwell-transitions/StripesEffect.vala:20 -msgid "Stripes" -msgstr "Pruhy" +#: misc/org.yorba.shotwell.gschema.xml:523 +msgid "" +"Indicates whether images being uploaded to Gallery3 should have their " +"metadata removed first" +msgstr "" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:28 -msgid "Core Slideshow Transitions" -msgstr "Hlavné prechody prezentácie" +#: misc/org.yorba.shotwell.gschema.xml:528 +msgid "scaling constraint of uploaded picture" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:529 +msgid "The scaling constraint ID of the picture to be uploaded" +msgstr "" + +#: misc/org.yorba.shotwell.gschema.xml:534 +msgid "pixels of the major axis uploaded picture" +msgstr "" -#: ../plugins/shotwell-transitions/shotwell-transitions.vala:75 +#: misc/org.yorba.shotwell.gschema.xml:535 msgid "" -"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " -"Inc." +"The pixels of the major axis of the picture to be uploaded; used only if " +"scaling-constraint-id is an appropriate value" msgstr "" -"Autorské práva 2010 Maxim Kartashev, Autorské práva 2016 Software Freedom " -"Conservancy Inc." -#: ../src/AppDirs.vala:64 ../src/AppDirs.vala:115 -#, c-format -msgid "Unable to create cache directory %s: %s" -msgstr "Nepodarilo sa vytvoriť adresár vyrovnávacej pamäte %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:543 +msgid "" +"The OAuth token used to refresh the YouTube session for the currently logged " +"in user, if any." +msgstr "" -#: ../src/AppDirs.vala:74 ../src/AppDirs.vala:104 -#, c-format -msgid "Unable to create data directory %s: %s" -msgstr "Nepodarilo sa vytvoriť dátový adresár %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:550 +#, fuzzy +#| msgid "Core Data Import Services" +msgid "last used import service" +msgstr "Služby importu údajov jadra" -#. If XDG yarfed, use ~/Pictures -#: ../src/AppDirs.vala:168 -msgid "Pictures" -msgstr "Obrázky" +#: misc/org.yorba.shotwell.gschema.xml:551 +msgid "" +"A numeric code representing the last service from which photos were imported" +msgstr "" -#: ../src/AppDirs.vala:206 -#, c-format -msgid "Unable to create temporary directory %s: %s" -msgstr "Nepodarilo sa vytvoriť dočasný adresár %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:558 +msgid "interpreter state cookie" +msgstr "" -#: ../src/AppDirs.vala:223 ../src/AppDirs.vala:254 -#, c-format -msgid "Unable to create data subdirectory %s: %s" -msgstr "Nepodarilo sa vytvoriť dátový podadresár %s: %s" +#: misc/org.yorba.shotwell.gschema.xml:559 +msgid "" +"A numeric code that captures the state of the GStreamer plug-in environment" +msgstr "" -#: ../src/AppDirs.vala:236 -#, c-format -msgid "Could not make directory %s writable" -msgstr "Nepodarilo sa urobiť adresár %s zapisovateľným" +#: misc/org.yorba.shotwell.gschema.xml:566 +msgid "content layout mode" +msgstr "" -#: ../src/AppDirs.vala:239 -#, c-format -msgid "Could not make directory %s writable: %s" -msgstr "Nepodarilo sa urobiť adresár %s zapisovateľným: %s" +#: misc/org.yorba.shotwell.gschema.xml:567 +msgid "" +"A numeric code that describes how photos are laid out on the page during " +"printing" +msgstr "" -#: ../src/AppWindow.vala:53 -msgid "Pin Toolbar" -msgstr "Pripnúť panel" +#: misc/org.yorba.shotwell.gschema.xml:572 +msgid "content ppi" +msgstr "ppi obsahu" -#: ../src/AppWindow.vala:54 -msgid "Pin the toolbar open" -msgstr "Pripnúť panel nástrojov otvorený" +#: misc/org.yorba.shotwell.gschema.xml:573 +msgid "The number of pixels per inch (ppi) sent to the printer during printing" +msgstr "" -#: ../src/AppWindow.vala:59 -msgid "Leave fullscreen" -msgstr "Opustiť režim celej obrazovky" +#: misc/org.yorba.shotwell.gschema.xml:578 +msgid "content width" +msgstr "" -#: ../src/AppWindow.vala:518 -msgid "_Contents" -msgstr "Ob_sah" +#: misc/org.yorba.shotwell.gschema.xml:579 +msgid "The width of the printed emulsion on the page when printing" +msgstr "" -#: ../src/AppWindow.vala:523 -msgid "_Frequently Asked Questions" -msgstr "Často _kladené otázky" +#: misc/org.yorba.shotwell.gschema.xml:584 +msgid "content height" +msgstr "výška obsahu" -#: ../src/AppWindow.vala:528 -msgid "_Report a Problem..." -msgstr "_Nahlásiť problém..." +#: misc/org.yorba.shotwell.gschema.xml:585 +msgid "The height of the printed emulsion on the page when printing" +msgstr "" -#: ../src/AppWindow.vala:627 ../src/AppWindow.vala:648 -#: ../src/AppWindow.vala:665 ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 -#: ../src/Dialogs.vala:1424 ../src/Dialogs.vala:1447 ../src/Resources.vala:157 -#: ../src/data_imports/DataImportsUI.vala:413 -#: ../src/publishing/PublishingUI.vala:512 -msgid "_Cancel" -msgstr "_Zrušiť" +#: misc/org.yorba.shotwell.gschema.xml:590 +msgid "content units" +msgstr "jednotky obsahu" -#: ../src/AppWindow.vala:675 -#, c-format +#: misc/org.yorba.shotwell.gschema.xml:591 msgid "" -"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " -"continue.\n" -"\n" -"%s" +"A numeric code representing unit of measure (inches or centimeters) used " +"when printing" msgstr "" -"Vyskytla sa fatálna chyba pri prístupe ku knižnici programu Shotwell. " -"Shotwell nemôže pokračovať.\n" -"\n" -"%s" -#: ../src/AppWindow.vala:695 -msgid "Visit the Shotwell web site" -msgstr "Navštíviť webovú stránku programu Shotwell" +#: misc/org.yorba.shotwell.gschema.xml:596 +#, fuzzy +#| msgid "2 images per page" +msgid "images per page code" +msgstr "2 obrázky na stranu" -#: ../src/AppWindow.vala:707 -#, c-format -msgid "Unable to display help: %s" -msgstr "Nepodarilo sa zobraziť pomocníka: %s" +#: misc/org.yorba.shotwell.gschema.xml:597 +msgid "" +"A numeric code representing the currently selected images per page mode used " +"when printing" +msgstr "" -#: ../src/AppWindow.vala:715 -#, c-format -msgid "Unable to navigate to bug database: %s" -msgstr "Nepodarilo sa prejsť do databázy chýb: %s" +#: misc/org.yorba.shotwell.gschema.xml:602 +msgid "size selection" +msgstr "" -#: ../src/AppWindow.vala:723 -#, c-format -msgid "Unable to display FAQ: %s" -msgstr "Nepodarilo sa zobraziť FAQ: %s" - -#: ../src/BatchImport.vala:26 -msgid "Success" -msgstr "V poriadku" +#: misc/org.yorba.shotwell.gschema.xml:603 +msgid "" +"The index of the current print size in a pre-defined list of standard sizes" +msgstr "" -#: ../src/BatchImport.vala:29 -msgid "File error" -msgstr "Chyba súboru" +#: misc/org.yorba.shotwell.gschema.xml:608 +#, fuzzy +#| msgid "_Match photo aspect ratio" +msgid "match aspect ratio" +msgstr "_Zachovať pomer strán fotografie" -#: ../src/BatchImport.vala:32 -msgid "Unable to decode file" -msgstr "Nepodarilo sa dekódovať súbor" +#: misc/org.yorba.shotwell.gschema.xml:609 +msgid "" +"Determines whether custom print sizes must match the aspect ratio of the " +"original photo" +msgstr "" -#: ../src/BatchImport.vala:35 -msgid "Database error" -msgstr "Chyba databázy" +#: misc/org.yorba.shotwell.gschema.xml:614 +msgid "print titles" +msgstr "vytlačiť názvy" -#: ../src/BatchImport.vala:38 -msgid "User aborted import" -msgstr "Používateľ prerušil importovanie" +#: misc/org.yorba.shotwell.gschema.xml:615 +msgid "" +"True if the title of a photo should be printed when the photo is printed, " +"false otherwise." +msgstr "" -#: ../src/BatchImport.vala:41 -msgid "Not a file" -msgstr "Nie je to súbor" +#: misc/org.yorba.shotwell.gschema.xml:620 +msgid "titles font" +msgstr "" -#: ../src/BatchImport.vala:44 -msgid "File already exists in database" -msgstr "Súbor už existuje v databáze" +#: misc/org.yorba.shotwell.gschema.xml:621 +msgid "The name of the font to use for photo titles when they are printed." +msgstr "" -#: ../src/BatchImport.vala:47 -msgid "Unsupported file format" -msgstr "Nepodporovaný formát súboru" +#: misc/org.yorba.shotwell.gschema.xml:632 +#, fuzzy +#| msgid "Unable to publish" +msgid "enable facebook publishing plugin" +msgstr "Nepodarilo sa uverejniť" -#: ../src/BatchImport.vala:50 -msgid "Not an image file" -msgstr "Nie je to obrázkový súbor" +#: misc/org.yorba.shotwell.gschema.xml:633 +msgid "True if the Facebook publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:53 -msgid "Disk failure" -msgstr "Zlyhanie disku" +#: misc/org.yorba.shotwell.gschema.xml:638 +msgid "enable flickr publishing plugin" +msgstr "" -#: ../src/BatchImport.vala:56 -msgid "Disk full" -msgstr "Disk je plný" +#: misc/org.yorba.shotwell.gschema.xml:639 +msgid "True if the Flickr publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:59 -msgid "Camera error" -msgstr "Chyba fotoaparátu" +#: misc/org.yorba.shotwell.gschema.xml:644 +msgid "enable picasa publishing plugin" +msgstr "" -#: ../src/BatchImport.vala:62 -msgid "File write error" -msgstr "Chyba pri zápise do súboru" +#: misc/org.yorba.shotwell.gschema.xml:645 +msgid "" +"True if the Picasa Web Albums publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/BatchImport.vala:65 -msgid "Corrupt image file" -msgstr "Poškodený súbor obrázku" +#: misc/org.yorba.shotwell.gschema.xml:650 +#, fuzzy +#| msgid "Unable to publish" +msgid "enable youtube publishing plugin" +msgstr "Nepodarilo sa uverejniť" -#: ../src/BatchImport.vala:68 -#, c-format -msgid "Imported failed (%d)" -msgstr "Importovanie zlyhalo (%d)" +#: misc/org.yorba.shotwell.gschema.xml:651 +msgid "True if the YouTube publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:230 ../src/PhotoPage.vala:2635 -msgid "S_lideshow" -msgstr "P_rezentácia" +#: misc/org.yorba.shotwell.gschema.xml:656 +#, fuzzy +#| msgid "Unable to publish" +msgid "enable piwigo publishing plugin" +msgstr "Nepodarilo sa uverejniť" -#: ../src/CollectionPage.vala:231 ../src/PhotoPage.vala:2636 -msgid "Play a slideshow" -msgstr "Spustiť prezentáciu" +#: misc/org.yorba.shotwell.gschema.xml:657 +msgid "True if the Piwigo publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:456 -msgid "Export Photo/Video" -msgstr "Exportovať fotografiu/video" +#: misc/org.yorba.shotwell.gschema.xml:662 +msgid "enable yandex publishing plugin" +msgstr "" -#: ../src/CollectionPage.vala:456 -msgid "Export Photos/Videos" -msgstr "Exportovať fotografie/videá" +#: misc/org.yorba.shotwell.gschema.xml:663 +msgid "True if the Yandex.Fotki publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:58 -#: ../src/PhotoPage.vala:3209 -msgid "Export Photo" -msgstr "Exportovať fotografiu" +#: misc/org.yorba.shotwell.gschema.xml:668 +#, fuzzy +#| msgid "Unable to publish" +msgid "enable tumblr publishing plugin" +msgstr "Nepodarilo sa uverejniť" -#: ../src/CollectionPage.vala:458 ../src/Dialogs.vala:87 -msgid "Export Photos" -msgstr "Exportovať fotografie" +#: misc/org.yorba.shotwell.gschema.xml:669 +msgid "True if the Tumblr publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Rotating" -msgstr "Otáča sa" +#: misc/org.yorba.shotwell.gschema.xml:674 +#, fuzzy +#| msgid "Gallery3 publishing module" +msgid "enable rajce publishing plugin" +msgstr "Modul na uverejňovanie na službe Gallery3" -#: ../src/CollectionPage.vala:545 ../src/CollectionPage.vala:561 -msgid "Undoing Rotate" -msgstr "Vracia sa spať otáčanie" +#: misc/org.yorba.shotwell.gschema.xml:675 +msgid "True if the Rajce publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:570 -msgid "Flipping Horizontally" -msgstr "Prevracia sa horizontálne" +#: misc/org.yorba.shotwell.gschema.xml:680 +#, fuzzy +#| msgid "Gallery3 publishing module" +msgid "enable gallery3 publishing plugin" +msgstr "Modul na uverejňovanie na službe Gallery3" -#: ../src/CollectionPage.vala:571 -msgid "Undoing Flip Horizontally" -msgstr "Vracia sa prevrátenie horizontálne" +#: misc/org.yorba.shotwell.gschema.xml:681 +msgid "True if the Gallery3 publishing plugin is enabled, false otherwise" +msgstr "" -#: ../src/CollectionPage.vala:580 -msgid "Flipping Vertically" -msgstr "Prevracia sa vertikálne" +#: misc/org.yorba.shotwell.gschema.xml:686 +msgid "enable F-Spot import plugin" +msgstr "" -#: ../src/CollectionPage.vala:581 -msgid "Undoing Flip Vertically" -msgstr "Vracia sa prevrátenie vertikálne" +#: misc/org.yorba.shotwell.gschema.xml:687 +msgid "True if the F-Spot import plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:733 -msgid "Reverting" -msgstr "Vracia sa spať" +#: misc/org.yorba.shotwell.gschema.xml:692 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow crumble transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:733 -msgid "Undoing Revert" -msgstr "Opakuje sa vrátenie" +#: misc/org.yorba.shotwell.gschema.xml:693 +msgid "" +"True if the Crumble slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:777 -msgid "Enhancing" -msgstr "Vylepšuje sa" +#: misc/org.yorba.shotwell.gschema.xml:698 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow fade transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:777 -msgid "Undoing Enhance" -msgstr "Vracia sa spať vylepšenie" +#: misc/org.yorba.shotwell.gschema.xml:699 +msgid "" +"True if the Fade slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:853 -msgid "Applying Color Transformations" -msgstr "Aplikujú sa transformácie farieb" +#: misc/org.yorba.shotwell.gschema.xml:704 +#: misc/org.yorba.shotwell.gschema.xml:728 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow slide transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:853 -msgid "Undoing Color Transformations" -msgstr "Vracajú sa späť transformácie farieb" +#: misc/org.yorba.shotwell.gschema.xml:705 +msgid "" +"True if the Slide slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1003 -msgid "Creating New Event" -msgstr "Vytvára sa nová udalosť" +#: misc/org.yorba.shotwell.gschema.xml:710 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow clock transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:1004 -msgid "Removing Event" -msgstr "Odstraňuje sa udalosť" +#: misc/org.yorba.shotwell.gschema.xml:711 +msgid "" +"True if the Clock slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1013 -msgid "Moving Photos to New Event" -msgstr "Fotografie sa presúvajú do novej udalosti" +#: misc/org.yorba.shotwell.gschema.xml:716 +#: misc/org.yorba.shotwell.gschema.xml:722 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow circle transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:1014 -msgid "Setting Photos to Previous Event" -msgstr "Fotografie sa nastavujú na predošlú udalosť" +#: misc/org.yorba.shotwell.gschema.xml:717 +msgid "" +"True if the Circle slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1071 -msgid "Merging" -msgstr "Zlučovanie" +#: misc/org.yorba.shotwell.gschema.xml:723 +msgid "" +"True if the Circles slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1072 -msgid "Unmerging" -msgstr "Vracia sa spať zlučovanie" +#: misc/org.yorba.shotwell.gschema.xml:729 +msgid "" +"True if the Blinds slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1081 -msgid "Duplicating photos" -msgstr "Fotografie sa duplikujú" +#: misc/org.yorba.shotwell.gschema.xml:734 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow squares transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:1081 -msgid "Removing duplicated photos" -msgstr "Odstraňujú sa duplikátne fotografie" +#: misc/org.yorba.shotwell.gschema.xml:735 +msgid "" +"True if the Squares slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1104 -#, c-format -msgid "Unable to duplicate one photo due to a file error" -msgid_plural "Unable to duplicate %d photos due to file errors" -msgstr[0] "Nie je možné duplikovať %d fotografií kvôli súborovej chybe" -msgstr[1] "Nie je možné duplikovať jednu fotografiu kvôli súborovej chybe" -msgstr[2] "Nie je možné duplikovať %d fotografie kvôli súborovej chybe" +#: misc/org.yorba.shotwell.gschema.xml:740 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow stripes transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:1191 -msgid "Restoring previous rating" -msgstr "Obnovuje sa predchádzajúce hodnotenie" +#: misc/org.yorba.shotwell.gschema.xml:741 +msgid "" +"True if the Stripes slideshow transition plugin is enabled, false otherwise" +msgstr "" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Increasing ratings" -msgstr "Zvyšujú sa hodnotenia" +#: misc/org.yorba.shotwell.gschema.xml:746 +#, fuzzy +#| msgid "Core Slideshow Transitions" +msgid "enable slideshow chess transition" +msgstr "Hlavné prechody prezentácie" -#: ../src/Commands.vala:1201 ../src/Commands.vala:1202 -msgid "Decreasing ratings" -msgstr "Znižujú sa hodnotenia" +#: misc/org.yorba.shotwell.gschema.xml:747 +msgid "" +"True if the Chess-Board slideshow transition plugin is enabled, false " +"otherwise" +msgstr "" -#: ../src/Commands.vala:1252 -msgid "Setting RAW developer" -msgstr "Nastavuje sa RAW vývojka" +#: plugins/common/Resources.vala:12 +msgid "Visit the Shotwell home page" +msgstr "Navštíviť domovskú stránku programu Shotwell" -#: ../src/Commands.vala:1252 -msgid "Restoring previous RAW developer" -msgstr "Obnovuje sa predchádzajúca RAW vývojka" +#: plugins/common/Resources.vala:31 src/AppWindow.vala:676 +msgid "translator-credits" +msgstr "" +"Laco Gubík \n" +"Ondrej Mosnáček \n" +"Tomáš Vadina \n" +"Dušan Kazik " -#: ../src/Commands.vala:1253 -msgid "Set Developer" -msgstr "Nastaviť vývojára" +#: plugins/common/RESTSupport.vala:448 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:958 +msgid "A temporary file needed for publishing is unavailable" +msgstr "Dočasný súbor potrebný na uverejnenie nie je dostupný" -#: ../src/Commands.vala:1343 -msgid "Original photo could not be adjusted." -msgstr "Pôvodná fotografia nemôže byť upravená." +#: plugins/common/RESTSupport.vala:1154 +msgid "" +"You have already logged in and out of a Google service during this Shotwell " +"session.\n" +"\n" +"To continue publishing to Google services, quit and restart Shotwell, then " +"try publishing again." +msgstr "" +"Už ste sa prihlásili a odhlásili zo služby Google počas tejto relácie " +"programu Shotwell.\n" +"Na pokračovanie v uverejňovaní na služby Google, ukončite a znovu spustite " +"program Shotwell a skúste uverejňovanie znovu." -#: ../src/Commands.vala:1364 -msgid "Adjusting Date and Time" -msgstr "Nastavuje sa čas a dátum" +#: plugins/shotwell-data-imports/FSpotImporter.vala:36 +#: plugins/shotwell-publishing/FacebookPublishing.vala:33 +#: plugins/shotwell-publishing/FlickrPublishing.vala:35 +#: plugins/shotwell-publishing/PicasaPublishing.vala:33 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:33 +#: plugins/shotwell-publishing/YouTubePublishing.vala:33 src/Resources.vala:27 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Autorské práva 2016 Software Freedom Conservancy Inc." -#: ../src/Commands.vala:1364 -msgid "Undoing Date and Time Adjustment" -msgstr "Vracia sa späť úprava času a dátumu" +#: plugins/shotwell-data-imports/FSpotImporter.vala:58 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select a library to import, either by selecting one of the existing " +"libraries found by Shotwell or by selecting an alternative F-Spot database " +"file." +msgstr "" +"Vitajte v importovacej službe F-Spot knižnice.\n" +"\n" +"Prosím, zvoľte knižnicu na importovanie vybratím jednej z existujúcich " +"knižníc nájdených aplikáciou Shotwell alebo vybratím alternatívneho súboru F-" +"Spot databázy." -#: ../src/Commands.vala:1395 -msgid "One original photo could not be adjusted." -msgid_plural "The following original photos could not be adjusted." -msgstr[0] "Následujúce pôvodné fotografie nemôžu byť upravené." -msgstr[1] "Jedna pôvodná fotografia nemôže byť upravená." -msgstr[2] "Následujúce pôvodné fotografie nemôžu byť upravené." +#: plugins/shotwell-data-imports/FSpotImporter.vala:60 +msgid "" +"Welcome to the F-Spot library import service.\n" +"\n" +"Please select an F-Spot database file." +msgstr "" +"Vitajte v importovacej službe F-Spot knižnice.\n" +"\n" +"Prosím, vyberte súbor F-Spot databázy." -#: ../src/Commands.vala:1397 ../src/Commands.vala:1421 -msgid "Time Adjustment Error" -msgstr "Chyba úpravy času" +#: plugins/shotwell-data-imports/FSpotImporter.vala:62 +msgid "Manually select an F-Spot database file to import:" +msgstr "Ručne vyberte súbor F-Spot databázy na importovanie:" -#: ../src/Commands.vala:1419 -msgid "Time adjustments could not be undone on the following photo file." -msgid_plural "" -"Time adjustments could not be undone on the following photo files." -msgstr[0] "" -"Nie je možné vrátiť spať úpravy času v následujúcich súboroch fotografií." -msgstr[1] "" -"Nie je možné vrátiť spať úpravu času v následujúcom súbore fotografie." -msgstr[2] "" -"Nie je možné vrátiť spať úpravy času v následujúcich súboroch fotografií." +#: plugins/shotwell-data-imports/FSpotImporter.vala:64 +msgid "" +"Cannot open the selected F-Spot database file: the file does not exist or is " +"not an F-Spot database" +msgstr "" +"Nedá sa ovoriť vybraný súbor F-Spot databázy: súbor neexistuje alebo nie je " +"F-Spot databázou" -#: ../src/Commands.vala:1633 ../src/Commands.vala:1656 -msgid "Create Tag" -msgstr "Vytvoriť značku" +#: plugins/shotwell-data-imports/FSpotImporter.vala:66 +msgid "" +"Cannot open the selected F-Spot database file: this version of the F-Spot " +"database is not supported by Shotwell" +msgstr "" +"Nedá sa ovoriť vybraný súbor F-Spot databázy: táto verzia F-Spot databázy " +"nie je podporovaná aplikáciou Shotwell" -#: ../src/Commands.vala:1691 -#, c-format -msgid "Move Tag \"%s\"" -msgstr "Presunúť značku „%s“" +#: plugins/shotwell-data-imports/FSpotImporter.vala:68 +msgid "" +"Cannot read the selected F-Spot database file: error while reading tags table" +msgstr "" +"Nedá sa načítať vybraný súbor F-Spot databázy: chyba počas načítavania " +"tabuľky značiek" -#: ../src/Commands.vala:2343 -msgid "Move Photos to Trash" -msgstr "Presunúť fotografie do koša" +#: plugins/shotwell-data-imports/FSpotImporter.vala:70 +msgid "" +"Cannot read the selected F-Spot database file: error while reading photos " +"table" +msgstr "" +"Nedá sa načítať vybraný súbor F-Spot databázy: chyba počas načítavania " +"tabuľky fotiek" -#: ../src/Commands.vala:2343 -msgid "Restore Photos from Trash" -msgstr "Obnoviť fotografie z koša" +#: plugins/shotwell-data-imports/FSpotImporter.vala:72 +#, c-format +msgid "" +"Shotwell has found %d photos in the F-Spot library and is currently " +"importing them. Duplicates will be automatically detected and removed.\n" +"\n" +"You can close this dialog and start using Shotwell while the import is " +"taking place in the background." +msgstr "" +"Shotwell našiel %d fotiek v knižnici F-Spot a momentálne ich importuje. " +"Duplikáty budú automaticky zistené a odstránené.\n" +"\n" +"Môžete zavrieť toto okno a začať používať aplikácie Shotwell, zatiaľ čo " +"importovanie bude prebiehať na pozadí." -#: ../src/Commands.vala:2344 -msgid "Move the photos to the Shotwell trash" -msgstr "Presunúť fotografie do Shotwell koša" +#: plugins/shotwell-data-imports/FSpotImporter.vala:86 +#, c-format +msgid "F-Spot library: %s" +msgstr "Knižnica F-Spot: %s" -#: ../src/Commands.vala:2344 -msgid "Restore the photos back to the Shotwell library" -msgstr "Obnoviť tieto fotografie naspať do Shotwell knižnice" +#: plugins/shotwell-data-imports/FSpotImporter.vala:424 +msgid "Preparing to import" +msgstr "Pripravuje sa importovanie" -#: ../src/Commands.vala:2363 -msgid "Moving Photos to Trash" -msgstr "Fotografie sa presúvajú do koša" +#: plugins/shotwell-data-imports/shotwell-data-imports.vala:22 +msgid "Core Data Import Services" +msgstr "Služby importu údajov jadra" -#: ../src/Commands.vala:2363 -msgid "Restoring Photos From Trash" -msgstr "Obnovujú sa fotografie z koša" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:5 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:125 +msgid "Go _Back" +msgstr "Späť" -#: ../src/Commands.vala:2449 -msgid "Flag selected photos" -msgstr "Označiť vybrané fotografie" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:8 +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:145 +#: ui/shotwell.ui:1627 +msgid "_Login" +msgstr "_Prihlásiť sa" -#: ../src/Commands.vala:2450 -msgid "Unflag selected photos" -msgstr "Odznačiť vybrané fotografie" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:34 +msgid "_Gallery3 URL:" +msgstr "URL služby _Gallery3:" -#: ../src/Commands.vala:2451 -msgid "Flagging selected photos" -msgstr "Označujú sa vybrané fotografie" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:64 +msgid "_User name:" +msgstr "Používateľské _meno" -#: ../src/Commands.vala:2452 -msgid "Unflagging selected photos" -msgstr "Odznačujú sa vybrané fotografie" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:79 +msgid "_Password:" +msgstr "_Heslo" -#: ../src/Commands.vala:2459 -msgid "Flag" -msgstr "Označiť" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:178 +msgid "API _Key:" +msgstr "_Kľúč API:" -#: ../src/Commands.vala:2459 -msgid "Unflag" -msgstr "Odznačiť" +#: plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui:208 +msgid "or" +msgstr "hodín" -#: ../src/DesktopIntegration.vala:121 -#, c-format -msgid "Unable to launch Nautilus Send-To: %s" -msgstr "Nepodarilo sa spustiť Nautilus Send-To: %s" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:5 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:38 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1018 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:116 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:115 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:197 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:137 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:229 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:99 +msgid "_Logout" +msgstr "_Odhlásiť" -# dialog title -#: ../src/DesktopIntegration.vala:129 -msgid "Send To" -msgstr "Odoslanie do" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:8 +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:247 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1017 +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:134 +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:129 +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:212 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:153 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:243 +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:115 +msgid "_Publish" +msgstr "U_verejniť" -#: ../src/DesktopIntegration.vala:174 -#, c-format -msgid "Unable to export background to %s: %s" -msgstr "Nepodarilo sa exportovať pozadie do %s: %s" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:11 +msgid "A _new album" +msgstr "Photos will be _visible by:" -#: ../src/DesktopIntegration.vala:311 -#, c-format -msgid "Unable to prepare desktop slideshow: %s" -msgstr "Nepodarilo sa pripraviť prezentáciu pre pracovnú plochu: %s" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:17 +msgid "An _existing album" +msgstr "_Existujúcom albume:" -#: ../src/Dialogs.vala:16 -#, c-format -msgid "This will remove the tag \"%s\" from one photo. Continue?" -msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" -msgstr[0] "" -"Táto operácia odstráni značku „%s“ z %d fotografií. Chcete pokračovať?" -msgstr[1] "" -"Táto operácia odstráni značku „%s“ z jednej fotografie. Chcete pokračovať?" -msgstr[2] "" -"Táto operácia odstráni značku „%s“ z %d fotografií. Chcete pokračovať?" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:22 +msgid "_Remove location, tag and camera-identifying data before uploading" +msgstr "" +"_Odstrániť umiestnenie, značku a indentifikačné údaje o fotoaparáte pred " +"odovzdaním" -#: ../src/Dialogs.vala:20 ../src/Dialogs.vala:28 ../src/Dialogs.vala:1392 -#: ../src/Resources.vala:158 ../src/Resources.vala:364 -#: ../src/Resources.vala:412 ../src/Resources.vala:677 -msgid "_Delete" -msgstr "O_dstrániť" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:135 +msgid "Scaling constraint:" +msgstr "_Zachovať pomer podľa:" -#: ../src/Dialogs.vala:25 -#, c-format -msgid "This will remove the saved search \"%s\". Continue?" -msgstr "Táto operácia odstráni uložené vyhľadávanie „%s“. Chcete pokračovať?" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:153 +msgid "pixels" +msgstr " _pixelov" -#: ../src/Dialogs.vala:35 -msgid "" -"Switching developers will undo all changes you have made to this photo in " -"Shotwell" -msgid_plural "" -"Switching developers will undo all changes you have made to these photos in " -"Shotwell" -msgstr[0] "" -"Prepnutie vývojára zruší všetky zmeny, ktoré ste uskutočnili na tejto fotke " -"v programe Shotwell" -msgstr[1] "" -"Prepnutie vývojára zruší všetky zmeny, ktoré ste uskutočnili na týchto " -"fotkách v programe Shotwell" -msgstr[2] "" -"Prepnutie vývojára zruší všetky zmeny, ktoré ste uskutočnili na týchto " -"fotkách v programe Shotwell" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1237 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1232 +#: src/Dimensions.vala:17 +msgid "Original size" +msgstr "Pôvodnej veľkosti" -#: ../src/Dialogs.vala:39 -msgid "_Switch Developer" -msgstr "_Prepnúť vývojára" +#: plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui:196 +#: src/Dimensions.vala:20 +msgid "Width or height" +msgstr "Šírky alebo výšky" -#: ../src/Dialogs.vala:58 -msgid "Export Video" -msgstr "Exportovať video" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:41 +msgid "Gallery3 publishing module" +msgstr "Modul na uverejňovanie na službe Gallery3" -#. Ticket #3023 -#. Attempt to replace the system error with something friendlier -#. if we can't copy an image over for editing in an external tool. -#. Did we fail because we can't write to this directory? -#. Yes - display an alternate error message here. -#: ../src/Dialogs.vala:115 -#, c-format +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:114 msgid "" -"Shotwell couldn't create a file for editing this photo because you do not " -"have permission to write to %s." +"You are not currently logged into your Gallery.\n" +"\n" +"You must have already signed up for a Gallery3 account to complete the login " +"process." msgstr "" -"Shotwell nemohol vytvoriť súbor na úpravu tejto fotografie, pretože nemáte " -"právo zápisu do %s." +"Momentálne nie ste prihlásený do vašej galérie.\n" +"Aby ste mohli dokončiť prihlásenie, musíte mať zaregistrovaný účet na službe " +"Gallery3." -#: ../src/Dialogs.vala:124 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:117 +msgid "Shotwell default directory" +msgstr "Predvolený adresár programu Shotwell" + +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:801 +#, c-format msgid "" -"Unable to export the following photo due to a file error.\n" "\n" +"\n" +"The file \"%s\" may not be supported by or may be too large for this " +"instance of Gallery3." msgstr "" -"Nie je možné exportovať následujúcu fotografiu kvôli súborovej chybe.\n" "\n" +"\n" +"Súbor „%s“ nie je podporovaný alebo je príliš veľký pre túto inštanciu " +"služby Gallery3." -#: ../src/Dialogs.vala:130 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:802 msgid "" "\n" -"\n" -"Would you like to continue exporting?" +"Note that Gallery3 only supports the video types that Flowplayer does." msgstr "" "\n" -"\n" -"Chcete pokračovať v exporte?" +"Berte na vedomie, že služba Gallery3 podporuje iba tie isté formáty videí " +"ako služba Flowplayer." -#. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really -#. aren't formats so much as they are operating modes that determine specific formats. -#. Hereafter we'll refer to these as "special formats." -#: ../src/Dialogs.vala:147 -msgid "Unmodified" -msgstr "Nezmenený" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1021 +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1773 +#, c-format +msgid "" +"A file required for publishing is unavailable. Publishing to %s can't " +"continue." +msgstr "" +"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu %s " +"nemôže pokračovať." -#: ../src/Dialogs.vala:148 -msgid "Current" -msgstr "Aktuálny" +#. populate any widgets whose contents are +#. programmatically-generated +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1550 +#, c-format +msgid "Publishing to %s as %s." +msgstr "Uverejňuje sa na %s pod používateľským menom %s." -#. layout controls -#: ../src/Dialogs.vala:215 -msgid "_Format:" -msgstr "_Formát:" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1817 +msgid "" +"Enter the URL for your Gallery3 site and the username and password (or API " +"key) for your Gallery3 account." +msgstr "" +"Zadajte adresu URL vašej knižnice fotografií v službe Piwigo a taktiež " +"patričné používateľské meno a heslo k účtu služby Piwigo pre danú knižnicu." -#: ../src/Dialogs.vala:218 -msgid "_Quality:" -msgstr "_Kvalita:" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1818 +msgid "" +"The username and password or API key were incorrect. To try again, re-enter " +"your username and password below." +msgstr "" +"Používateľské meno a heslo, alebo kľúč API neboli správne. Pre nový pokus " +"znovu zadajte používateľské meno a heslo nižšie." -#: ../src/Dialogs.vala:221 -msgid "_Scaling constraint:" -msgstr "_Zachovať pomer podľa:" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1819 +msgid "" +"The URL entered does not appear to be the main directory of a Gallery3 " +"instance. Please make sure you typed it correctly and it does not have any " +"trailing components (e.g., index.php)." +msgstr "" +"Zdá sa, že zadaná URL neodkazuje na hlavný adresár inštancie Gallery3. " +"Prosím, uistite sa, že ste ju zadali správne a že neobsahuje žiadne koncové " +"prípony (napr. index.php)." -#: ../src/Dialogs.vala:224 -msgid "_Pixels:" -msgstr "_Pixely:" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1872 +msgid "Unrecognized User" +msgstr "Nerozpoznaný používateľ" -#: ../src/Dialogs.vala:227 -msgid "Export metadata" -msgstr "Exportovať metaúdaje" +#: plugins/shotwell-publishing-extras/GalleryConnector.vala:1877 +msgid " Site Not Found" +msgstr " Stránka sa nenašla" -#: ../src/Dialogs.vala:461 -msgid "Save Details..." -msgstr "Uložiť podrobnosti..." +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:49 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:892 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:49 +msgid "_Email address" +msgstr "_Emailová adresa" -# dialog title -#: ../src/Dialogs.vala:462 -msgid "Save Details" -msgstr "Uloženie podrobností" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:59 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:893 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:59 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:73 +msgid "_Password" +msgstr "_Heslo" -#: ../src/Dialogs.vala:477 -#, c-format -msgid "(and %d more)\n" -msgstr "(a %d naviac)\n" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:103 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:894 +msgid "_Remember" +msgstr "Za_pamätať heslo" -#: ../src/Dialogs.vala:530 -msgid "Import Results Report" -msgstr "Hlásenie o výsledkoch importovania" +#: plugins/shotwell-publishing-extras/rajce_authentication_pane.ui:125 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:895 +#: plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui:107 +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:151 +msgid "Login" +msgstr "Prihlásiť sa" -#: ../src/Dialogs.vala:534 -#, c-format -msgid "Attempted to import %d file." -msgid_plural "Attempted to import %d files." -msgstr[0] "Pokúsilo sa importovať %d súborov." -msgstr[1] "Pokúsilo sa importovať jeden súbor." -msgstr[2] "Pokúsilo sa importovať %d súbory." +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:111 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1014 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:75 +msgid "An _existing album:" +msgstr "_Existujúcom albume:" -#: ../src/Dialogs.vala:537 -#, c-format +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:135 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1015 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:94 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:52 +msgid "A _new album named:" +msgstr "Photos will be _visible by:" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:159 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1005 +msgid "_Hide album" +msgstr "_Skryť album" + +#: plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1016 +msgid "Open target _album in browser" +msgstr "Otvoriť cieľový _album v prehliadači" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:40 +msgid "Copyright (C) 2013 rajce.net" +msgstr "Autorské práva (C) 2013 rajce.net" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:744 +msgid "An error message occurred when publishing to Rajce. Please try again." +msgstr "" +"Vyskytla sa chybová hláška počas uverejňovania na službu Rajce. Prosím, " +"skúste to znovu." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:833 +msgid "Enter email and password associated with your Rajce account." +msgstr "Zadajte meno používateľa a heslo pre váš príslušný účet Tumblr." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:834 +msgid "Invalid email and/or password. Please try again" +msgstr "Neplatné užívateľské meno a/alebo heslo. Prosím, skúste to znovu." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:865 +msgid "Invalid User Email or Password" +msgstr "Neplatné meno používateľa alebo heslo" + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1012 +#, c-format +msgid "You are logged into Rajce as %s." +msgstr "Ste prihlásený do služby Rajce ako %s." + +#: plugins/shotwell-publishing-extras/RajcePublishing.vala:1013 +#: plugins/shotwell-publishing/PicasaPublishing.vala:670 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:24 +msgid "Photos will appear in:" +msgstr "Fotografie sa zobrazia v:" + +#: plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala:20 +msgid "Shotwell Extra Publishing Services" +msgstr "Hlavné uverejňovacie služby" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:43 +msgid "Blogs:" +msgstr "Blogy:" + +#: plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui:60 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:61 +msgid "Photo _size:" +msgstr "Veľkosť _fotky:" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:36 +msgid "Copyright 2012 BJA Electronics" +msgstr "Autorské práva 2012 BJA Electronics" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:105 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1233 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1228 +msgid "500 x 375 pixels" +msgstr "500 x 375 bodov" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:106 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1234 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1229 +msgid "1024 x 768 pixels" +msgstr "1024 x 768 bodov" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:107 +msgid "1280 x 853 pixels" +msgstr "1280 x 853 bodov" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:311 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:321 +#, c-format +msgid "'%s' isn't a valid response to an OAuth authentication request" +msgstr "'%s' nie je platnou odpoveďou na autorizačnú požiadavku OAuth" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:559 +msgid "" +"TumblrPublisher: start( ): can't start; this publisher is not restartable." +msgstr "" +"TumblrPublisher: start( ): nedá sa spustiť; túto službu na uverejnenie nie " +"je možné reštartovať." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:587 +msgid "Enter the username and password associated with your Tumblr account." +msgstr "Zadajte meno používateľa a heslo pre váš príslušný účet Tumblr." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:588 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:990 +msgid "Username and/or password invalid. Please try again" +msgstr "Neplatné užívateľské meno a/alebo heslo. Prosím, skúste to znovu." + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:615 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1024 +msgid "Invalid User Name or Password" +msgstr "Neplatné meno používateľa alebo heslo" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:634 +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:752 +#, c-format +msgid "Could not load UI: %s" +msgstr "Nepodarilo sa načítať rozhranie: %s" + +#: plugins/shotwell-publishing-extras/TumblrPublishing.vala:734 +#, c-format +msgid "" +"You are logged into Tumblr as %s.\n" +"\n" +msgstr "" +"Ste prihlásený do služby Tumblr ako %s.\n" +"\n" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:22 +msgid "Copyright 2010+ Evgeniy Polyakov " +msgstr "Autorské práva 2010+ Evgeniy Polyakov " + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:25 +msgid "Visit the Yandex.Fotki web site" +msgstr "Navštíviť webové stránky Yandex.Fotki" + +#: plugins/shotwell-publishing-extras/YandexPublishing.vala:658 +msgid "You are not currently logged into Yandex.Fotki." +msgstr "Momentálne nie ste prihlásený do služby Yandex.Fotki." + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:24 +msgid "_Albums (or write new):" +msgstr "_Albumy (alebo zadajte nový):" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:38 +msgid "Access _type:" +msgstr "_Typ prístupu:" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:81 +msgid "Disable _comments" +msgstr "Zakázať _komentáre" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:96 +msgid "_Forbid downloading original photo" +msgstr "Zakázať stiahnutie _pôvodnej fotografie" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:159 +msgid "Public" +msgstr "Uverejniť" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:162 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1194 +msgid "Friends" +msgstr "Priatelia" + +#: plugins/shotwell-publishing-extras/yandex_publish_model.ui:165 +#: plugins/shotwell-publishing/YouTubePublishing.vala:498 +msgid "Private" +msgstr "Súkromné" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:39 +msgid "Publish to an e_xisting album:" +msgstr "Uverejniť v _existujúcom albume:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:57 +msgid "Create a _new album named:" +msgstr "Vytvoriť _nový album s názvom:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:108 +#: plugins/shotwell-publishing/FacebookPublishing.vala:1034 +msgid "Upload _size:" +msgstr "_Veľkosť odovzdávania:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:139 +msgid "Videos and new photo albums _visible to:" +msgstr "Videá a nové albumy budú v_iditeľné:" + +#: plugins/shotwell-publishing/facebook_publishing_options_pane.ui:175 +#: plugins/shotwell-publishing/flickr_publishing_options_pane.ui:102 +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:178 +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:226 +msgid "" +"_Remove location, camera, and other identifying information before uploading" +msgstr "" +"_Odstrániť umiestnenie, typ fotoaparátu a iné identifikačné informácie pred " +"odovzdaním" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:62 +#: plugins/shotwell-publishing/PicasaPublishing.vala:60 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1112 +msgid "Shotwell Connect" +msgstr "Shotwell Connect" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:64 +msgid "" +"You are not currently logged into Facebook.\n" +"\n" +"If you don't yet have a Facebook account, you can create one during the " +"login process. During login, Shotwell Connect may ask you for permission to " +"upload photos and publish to your feed. These permissions are required for " +"Shotwell Connect to function." +msgstr "" +"Momentálne nie ste prihlásený do služby Facebook.\n" +"\n" +"Ak ešte nemáte vytvorený Facebook účet, môžete si jeden vytvoriť počas " +"prihlasovacieho procesu. Počas prihlásenia si Shotwell Connect môže vyžiadať " +"povolenie na odovzdanie fotografií a ich uverejnenie vo vašom kanáli. Toto " +"povolenie je potrebné na to, aby Shotwell Connect mohol správne fungovať." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:66 +msgid "" +"You have already logged in and out of Facebook during this Shotwell " +"session.\n" +"To continue publishing to Facebook, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Počas tohoto spustenia programu Shotwell ste sa už prihlásili a odhlásili zo " +"siete Facebook.\n" +"Aby ste mohli naďalej uverejňovať fotografie na sieti Facebook, ukončite a " +"znova spustite Shotwell, a potom to skúste znova." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:87 +msgid "Standard (720 pixels)" +msgstr "Štandardná (720 pixelov)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:90 +msgid "Large (2048 pixels)" +msgstr "Veľká (2048 pixelov)" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:255 +msgid "Testing connection to Facebook..." +msgstr "Testuje sa pripojenie k službe Facebook..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:348 +#: plugins/shotwell-publishing/PicasaPublishing.vala:379 +msgid "Creating album..." +msgstr "Vytvára sa nový album..." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:374 +msgid "" +"A file required for publishing is unavailable. Publishing to Facebook can't " +"continue." +msgstr "" +"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " +"Facebook nemôže pokračovať." + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1032 +#, c-format +msgid "" +"You are logged into Facebook as %s.\n" +"\n" +msgstr "" +"Ste prihlásený do služby Facebook ako %s.\n" +"\n" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1033 +msgid "Where would you like to publish the selected photos?" +msgstr "Kde si želáte uverejniť vybrané fotografie?" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1193 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1215 +msgid "Just me" +msgstr "Len pre mňa" + +#: plugins/shotwell-publishing/FacebookPublishing.vala:1195 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1211 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1216 +msgid "Everyone" +msgstr "Všetkých" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:16 +msgid "" +"Enter the confirmation number which appears after you log into Flickr in " +"your Web browser." +msgstr "" +"Zadajte potvrdzovacie číslo, ktoré bolo zobrazené po prihlásený do služby " +"Flickr vo vašom webovom prehliadači." + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:37 +msgid "Authorization _Number:" +msgstr "Autorizačné čí_slo:" + +#: plugins/shotwell-publishing/flickr_pin_entry_pane.ui:83 src/Dialogs.vala:132 +msgid "Con_tinue" +msgstr "_Pokračovať" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:62 +msgid "" +"You are not currently logged into Flickr.\n" +"\n" +"Click Login to log into Flickr in your Web browser. You will have to " +"authorize Shotwell Connect to link to your Flickr account." +msgstr "" +"Momentálne nie ste prihlásený do služby Flickr.\n" +"\n" +"Kliknite na Prihlásiť pre prihlásenie do služby Flickr vo vašom webovom " +"prehliadači. Budete musieť autorizovať Shotwell Connect odkaz na váš účet " +"Flickr." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:64 +msgid "" +"You have already logged in and out of Flickr during this Shotwell session.\n" +"To continue publishing to Flickr, quit and restart Shotwell, then try " +"publishing again." +msgstr "" +"Počas tohoto spustenia programu Shotwell ste sa už prihlásili a odhlásili k " +"službe Flickr.\n" +"Aby ste mohli naďalej uverejňovať fotografie pomocou služby Flickr, ukončite " +"a znova spustite Shotwell, a potom to skúste znova." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:376 +msgid "Preparing for login..." +msgstr "Pripravuje sa na prihlásenie..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:446 +#: plugins/shotwell-publishing/FlickrPublishing.vala:596 +msgid "" +"A file required for publishing is unavailable. Publishing to Flickr can't " +"continue." +msgstr "" +"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " +"Flickr nemôže pokračovať." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:459 +msgid "Verifying authorization..." +msgstr "Overuje sa autorizácia..." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1154 +#, c-format +msgid "" +"You are logged into Flickr as %s.\n" +"\n" +msgstr "" +"Ste prihlásený do služby Flickr ako %s.\n" +"\n" + +# DK: https://bugzilla.gnome.org/show_bug.cgi?id=736633 +#: plugins/shotwell-publishing/FlickrPublishing.vala:1157 +#, c-format +msgid "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabyte remaining in your upload quota." +msgid_plural "" +"Your free Flickr account limits how much data you can upload per month.\n" +"This month you have %d megabytes remaining in your upload quota." +msgstr[0] "" +"Váš Flickr účet, ktorý je zdarma, obmedzuje koľko dát môžete odovzdať za " +"mesiac.\n" +"Tento mesiac vám ešte zostáva %d megabajtov z vašej kvóty." +msgstr[1] "" +"Váš Flickr účet, ktorý je zdarma, obmedzuje koľko dát môžete odovzdať za " +"mesiac.\n" +"Tento mesiac vám ešte zostáva jeden megabajt z vašej kvóty." +msgstr[2] "" +"Váš Flickr účet, ktorý je zdarma, obmedzuje koľko dát môžete odovzdať za " +"mesiac.\n" +"Tento mesiac vám ešte zostávajú %d megabajty z vašej kvóty." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1161 +msgid "Your Flickr Pro account entitles you to unlimited uploads." +msgstr "" +"Váš účet služby Flickr Pro vám umožňuje neobmedzené odovzdávania fotografií." + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1166 +msgid "Photos _visible to:" +msgstr "Fotografie _viditeľné pre:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1168 +msgid "Videos _visible to:" +msgstr "Videá budú v_iditeľné:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1171 +msgid "Photos and videos _visible to:" +msgstr "Fotografie a videá budú v_iditeľné:" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1212 +msgid "Friends & family only" +msgstr "Len pre priateľov a rodinu" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1213 +msgid "Family only" +msgstr "Iba rodina" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1214 +msgid "Friends only" +msgstr "Iba priatelia" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1235 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1230 +msgid "2048 x 1536 pixels" +msgstr "2048 x 1536 pixelov" + +#: plugins/shotwell-publishing/FlickrPublishing.vala:1236 +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1231 +msgid "4096 x 3072 pixels" +msgstr "4096 x 3072 pixelov" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:113 +msgid "L_ist album in public gallery" +msgstr "_Zobraziť album vo verejnej galérii" + +#: plugins/shotwell-publishing/picasa_publishing_options_pane.ui:150 +msgid "Photo _size preset:" +msgstr "Prednastavená _veľkosť fotografie:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:59 +msgid "" +"You are not currently logged into Picasa Web Albums.\n" +"\n" +"Click Login to log into Picasa Web Albums in your Web browser. You will have " +"to authorize Shotwell Connect to link to your Picasa Web Albums account." +msgstr "" +"Momentálne nie ste prihlásený do služby webových albumov Picasa.\n" +"\n" +"Kliknite na Prihlásiť na prihlásenie do služby webových albumov Picasa vo " +"vašom webovom prehliadači. Budete musieť schváliť požiadavku na spojenie " +"programu Shotwell Connect s vaším účtom webových albumov Picasa." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:361 +msgid "" +"A file required for publishing is unavailable. Publishing to Picasa can't " +"continue." +msgstr "" +"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " +"Picasa nemôže pokračovať." + +#. populate any widgets whose contents are programmatically-generated. +#: plugins/shotwell-publishing/PicasaPublishing.vala:659 +#, c-format +msgid "You are logged into Picasa Web Albums as %s." +msgstr "Ste prihlásený do Picasa Web Albums ako %s." + +#: plugins/shotwell-publishing/PicasaPublishing.vala:665 +msgid "Videos will appear in:" +msgstr "Videá sa zobrazia v:" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:746 +msgid "Small (640 x 480 pixels)" +msgstr "Malá (640 x 480 pixelov)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:747 +msgid "Medium (1024 x 768 pixels)" +msgstr "Stredná (1024 x 768 pixelov)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:748 +msgid "Recommended (1600 x 1200 pixels)" +msgstr "Odporúčaná (1600 x 1200 pixelov)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:749 +msgid "Google+ (2048 x 1536 pixels)" +msgstr "Google+ (2048 x 1536 bodov)" + +#: plugins/shotwell-publishing/PicasaPublishing.vala:750 +#: src/editing_tools/EditingTools.vala:756 +msgid "Original Size" +msgstr "Pôvodná veľkosť" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:49 +msgid "_URL of your Piwigo photo library" +msgstr "User _name" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:59 +msgid "User _name" +msgstr "Používateľské _meno" + +#: plugins/shotwell-publishing/piwigo_authentication_pane.ui:130 +msgid "_Remember Password" +msgstr "Za_pamätať heslo" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:40 +msgid "An _existing category:" +msgstr "_Existujúcej kategórii:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:121 +msgid "Photos will be _visible by:" +msgstr "Fotografie budú viditeľné:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:149 +msgid "Photo size:" +msgstr "Veľkosť fotky:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:176 +msgid "within category:" +msgstr "v kategórii:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:210 +msgid "Album comment:" +msgstr "Komentár k albumu:" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:242 +msgid "_If a title is set and comment unset, use title as comment" +msgstr "_Ak je zadaný názov a komentár nie, použiť názov ako komentár" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:258 +msgid "_Do no upload tags" +msgstr "_Neodovzdávať značky" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:278 +msgid "Logout" +msgstr "Odhlásiť sa" + +#: plugins/shotwell-publishing/piwigo_publishing_options_pane.ui:291 +#: src/Resources.vala:295 +msgid "Publish" +msgstr "Uverejniť" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:747 +#, c-format +msgid "Creating album %s..." +msgstr "Vytvára sa album %s..." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:918 +msgid "An error message occurred when publishing to Piwigo. Please try again." +msgstr "" +"Vyskytla sa chybová hláška počas uverejňovania na službu Piwigo. Prosím, " +"skúste to znovu." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:988 +msgid "" +"Enter the URL of your Piwigo photo library as well as the username and " +"password associated with your Piwigo account for that library." +msgstr "" +"Zadajte adresu URL vašej knižnice fotografií v službe Piwigo a taktiež " +"patričné používateľské meno a heslo k účtu služby Piwigo pre danú knižnicu." + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:989 +msgid "" +"Shotwell cannot contact your Piwigo photo library. Please verify the URL you " +"entered" +msgstr "" +"Program Shotwell nedokáže kontaktovať vašu knižnicu v službe Piwigo. Prosím, " +"overte vami zadanú adresu URL" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1019 +msgid "Invalid URL" +msgstr "Neplatná adresa URL" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1217 +msgid "Admins, Family, Friends, Contacts" +msgstr "Administrátori, rodina, priatelia, kontakty" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1218 +msgid "Admins, Family, Friends" +msgstr "Administrátori, rodina, priatelia" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1219 +msgid "Admins, Family" +msgstr "Administrátori, rodina" + +#: plugins/shotwell-publishing/PiwigoPublishing.vala:1220 +msgid "Admins" +msgstr "Administrátori" + +#: plugins/shotwell-publishing/shotwell-publishing.vala:26 +msgid "Core Publishing Services" +msgstr "Hlavné uverejňovacie služby" + +#: plugins/shotwell-publishing/youtube_publishing_options_pane.ui:55 +msgid "Video privacy _setting:" +msgstr "_Nastavenie súkromia videa:" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:58 +msgid "" +"You are not currently logged into YouTube.\n" +"\n" +"You must have already signed up for a Google account and set it up for use " +"with YouTube to continue. You can set up most accounts by using your browser " +"to log into the YouTube site at least once." +msgstr "" +"Momentálne nie ste prihlásený do služby YouTube.\n" +"\n" +"Aby ste mohli pokračovať, musíte si vytvoriť účet Google a nastaviť ho na " +"používanie služby YouTube. Väčšinu účtov takto môžete nastaviť prihláseným " +"sa aspoň raz cez prehliadač na stránku služby YouTube (http://www.youtube." +"com/)." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:363 +msgid "" +"A file required for publishing is unavailable. Publishing to Youtube can't " +"continue." +msgstr "" +"Súbor potrebný na uverejňovanie nie je dostupný. Uverejňovanie na službu " +"Youtube nemôže pokračovať." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:462 +#, c-format +msgid "You are logged into YouTube as %s." +msgstr "Ste prihlásený do služby YouTube ako %s." + +#: plugins/shotwell-publishing/YouTubePublishing.vala:464 +#, c-format +msgid "Videos will appear in '%s'" +msgstr "Videá sa zobrazia v „%s“" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:496 +msgid "Public listed" +msgstr "Verejné zahrnuté" + +#: plugins/shotwell-publishing/YouTubePublishing.vala:497 +msgid "Public unlisted" +msgstr "Verejné nezahrnuté" + +#: plugins/shotwell-transitions/BlindsEffect.vala:20 +msgid "Blinds" +msgstr "Oslepenie" + +#: plugins/shotwell-transitions/ChessEffect.vala:20 +msgid "Chess" +msgstr "Šachovnica" + +#: plugins/shotwell-transitions/CircleEffect.vala:20 +msgid "Circle" +msgstr "Kruh" + +#: plugins/shotwell-transitions/CirclesEffect.vala:20 +msgid "Circles" +msgstr "Kruhy" + +#: plugins/shotwell-transitions/ClockEffect.vala:20 +msgid "Clock" +msgstr "Hodiny" + +#: plugins/shotwell-transitions/CrumbleEffect.vala:20 +msgid "Crumble" +msgstr "Rozbitie" + +#: plugins/shotwell-transitions/FadeEffect.vala:20 +msgid "Fade" +msgstr "Zblednutie" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:28 +msgid "Core Slideshow Transitions" +msgstr "Hlavné prechody prezentácie" + +#: plugins/shotwell-transitions/shotwell-transitions.vala:76 +msgid "" +"Copyright 2010 Maxim Kartashev, Copyright 2016 Software Freedom Conservancy " +"Inc." +msgstr "" +"Autorské práva 2010 Maxim Kartashev, Autorské práva 2016 Software Freedom " +"Conservancy Inc." + +#: plugins/shotwell-transitions/SlideEffect.vala:20 +msgid "Slide" +msgstr "Posunutie" + +#: plugins/shotwell-transitions/SquaresEffect.vala:20 +msgid "Squares" +msgstr "Štvorce" + +#: plugins/shotwell-transitions/StripesEffect.vala:20 +msgid "Stripes" +msgstr "Pruhy" + +#: src/AppDirs.vala:64 src/AppDirs.vala:115 +#, c-format +msgid "Unable to create cache directory %s: %s" +msgstr "Nepodarilo sa vytvoriť adresár vyrovnávacej pamäte %s: %s" + +#: src/AppDirs.vala:74 src/AppDirs.vala:104 +#, c-format +msgid "Unable to create data directory %s: %s" +msgstr "Nepodarilo sa vytvoriť dátový adresár %s: %s" + +#. If XDG yarfed, use ~/Pictures +#: src/AppDirs.vala:168 +msgid "Pictures" +msgstr "Obrázky" + +#: src/AppDirs.vala:206 +#, c-format +msgid "Unable to create temporary directory %s: %s" +msgstr "Nepodarilo sa vytvoriť dočasný adresár %s: %s" + +#: src/AppDirs.vala:223 src/AppDirs.vala:254 +#, c-format +msgid "Unable to create data subdirectory %s: %s" +msgstr "Nepodarilo sa vytvoriť dátový podadresár %s: %s" + +#: src/AppDirs.vala:236 +#, c-format +msgid "Could not make directory %s writable" +msgstr "Nepodarilo sa urobiť adresár %s zapisovateľným" + +#: src/AppDirs.vala:239 +#, c-format +msgid "Could not make directory %s writable: %s" +msgstr "Nepodarilo sa urobiť adresár %s zapisovateľným: %s" + +#: src/AppWindow.vala:54 +msgid "Pin Toolbar" +msgstr "Pripnúť panel" + +#: src/AppWindow.vala:55 +msgid "Pin the toolbar open" +msgstr "Pripnúť panel nástrojov otvorený" + +#: src/AppWindow.vala:60 +msgid "Leave fullscreen" +msgstr "Opustiť režim celej obrazovky" + +#: src/AppWindow.vala:496 +msgid "_Contents" +msgstr "Ob_sah" + +#: src/AppWindow.vala:501 +msgid "_Frequently Asked Questions" +msgstr "Často _kladené otázky" + +#: src/AppWindow.vala:506 +msgid "_Report a Problem..." +msgstr "_Nahlásiť problém..." + +#: src/AppWindow.vala:605 src/AppWindow.vala:626 src/AppWindow.vala:643 +#: src/data_imports/DataImportsUI.vala:413 src/Dialogs.vala:20 +#: src/Dialogs.vala:28 src/Dialogs.vala:1425 src/Dialogs.vala:1448 +#: src/publishing/PublishingUI.vala:512 src/Resources.vala:157 +msgid "_Cancel" +msgstr "_Zrušiť" + +#: src/AppWindow.vala:653 +#, c-format +msgid "" +"A fatal error occurred when accessing Shotwell's library. Shotwell cannot " +"continue.\n" +"\n" +"%s" +msgstr "" +"Vyskytla sa fatálna chyba pri prístupe ku knižnici programu Shotwell. " +"Shotwell nemôže pokračovať.\n" +"\n" +"%s" + +#: src/AppWindow.vala:673 +msgid "Visit the Shotwell web site" +msgstr "Navštíviť webovú stránku programu Shotwell" + +#: src/AppWindow.vala:685 +#, c-format +msgid "Unable to display help: %s" +msgstr "Nepodarilo sa zobraziť pomocníka: %s" + +#: src/AppWindow.vala:693 +#, c-format +msgid "Unable to navigate to bug database: %s" +msgstr "Nepodarilo sa prejsť do databázy chýb: %s" + +#: src/AppWindow.vala:701 +#, c-format +msgid "Unable to display FAQ: %s" +msgstr "Nepodarilo sa zobraziť FAQ: %s" + +#: src/BatchImport.vala:26 +msgid "Success" +msgstr "V poriadku" + +#: src/BatchImport.vala:29 +msgid "File error" +msgstr "Chyba súboru" + +#: src/BatchImport.vala:32 +msgid "Unable to decode file" +msgstr "Nepodarilo sa dekódovať súbor" + +#: src/BatchImport.vala:35 +msgid "Database error" +msgstr "Chyba databázy" + +#: src/BatchImport.vala:38 +msgid "User aborted import" +msgstr "Používateľ prerušil importovanie" + +#: src/BatchImport.vala:41 +msgid "Not a file" +msgstr "Nie je to súbor" + +#: src/BatchImport.vala:44 +msgid "File already exists in database" +msgstr "Súbor už existuje v databáze" + +#: src/BatchImport.vala:47 +msgid "Unsupported file format" +msgstr "Nepodporovaný formát súboru" + +#: src/BatchImport.vala:50 +msgid "Not an image file" +msgstr "Nie je to obrázkový súbor" + +#: src/BatchImport.vala:53 +msgid "Disk failure" +msgstr "Zlyhanie disku" + +#: src/BatchImport.vala:56 +msgid "Disk full" +msgstr "Disk je plný" + +#: src/BatchImport.vala:59 +msgid "Camera error" +msgstr "Chyba fotoaparátu" + +#: src/BatchImport.vala:62 +msgid "File write error" +msgstr "Chyba pri zápise do súboru" + +#: src/BatchImport.vala:65 +msgid "Corrupt image file" +msgstr "Poškodený súbor obrázku" + +#: src/BatchImport.vala:68 +#, c-format +msgid "Imported failed (%d)" +msgstr "Importovanie zlyhalo (%d)" + +#: src/camera/Branch.vala:85 +msgid "Cameras" +msgstr "Fotoaparáty" + +#: src/camera/Branch.vala:99 src/camera/ImportPage.vala:710 +#: src/camera/ImportPage.vala:726 src/MediaPage.vala:440 +#: src/photos/RawSupport.vala:303 +msgid "Camera" +msgstr "Fotoaparát" + +#: src/camera/ImportPage.vala:311 src/Properties.vala:227 +msgid "RAW+JPEG" +msgstr "RAW+JPEG" + +#: src/camera/ImportPage.vala:458 +msgid "" +"Unable to unmount camera. Try unmounting the camera from the file manager." +msgstr "" +"Nepodarilo sa odpojiť fotoaparát. Skúste odpojiť fotoaparát pomocou správcu " +"súborov." + +#. hide duplicates checkbox +#: src/camera/ImportPage.vala:775 +msgid "Hide photos already imported" +msgstr "Skryť fotografie, ktoré sú už importované" + +#: src/camera/ImportPage.vala:776 +msgid "Only display photos that have not been imported" +msgstr "Zobraziť iba fotografie, ktoré neboli importované" + +#. Ticket #3304 - Import page shouldn't display confusing message +#. prior to import. +#. TODO: replace this with approved text for "talking to camera, +#. please wait" once new strings are being accepted. +#: src/camera/ImportPage.vala:846 +msgid "Starting import, please wait..." +msgstr "Začína sa import, prosím, čakajte..." + +#: src/camera/ImportPage.vala:873 src/MediaPage.vala:451 +msgid "_Titles" +msgstr "_Názvy" + +#: src/camera/ImportPage.vala:874 src/MediaPage.vala:452 +msgid "Display the title of each photo" +msgstr "Zobraziť názov každej fotografie" + +#: src/camera/ImportPage.vala:885 +msgid "Import _Selected" +msgstr "Importovať vy_brané" + +#: src/camera/ImportPage.vala:886 +msgid "Import the selected photos into your library" +msgstr "Importovať vybrané fotografie do vašej knižnice" + +#: src/camera/ImportPage.vala:891 +msgid "Import _All" +msgstr "Importovať _všetky" + +#: src/camera/ImportPage.vala:892 +msgid "Import all the photos into your library" +msgstr "Importovať všetky fotografie do vašej knižnice" + +#. it's mounted, offer to unmount for the user +#: src/camera/ImportPage.vala:1013 +msgid "" +"Shotwell needs to unmount the camera from the filesystem in order to access " +"it. Continue?" +msgstr "" +"Shotwell potrebuje odpojiť váš fotoaparát od súborového systému, aby k nemu " +"mohol pristupovať. Chcete pokračovať?" + +#: src/camera/ImportPage.vala:1019 +msgid "_Unmount" +msgstr "_Odpojiť" + +#: src/camera/ImportPage.vala:1024 +msgid "Please unmount the camera." +msgstr "Prosím, odpojte fotoaparát." + +#: src/camera/ImportPage.vala:1029 +msgid "" +"The camera is locked by another application. Shotwell can only access the " +"camera when it's unlocked. Please close any other application using the " +"camera and try again." +msgstr "" +"Fotoaparát je uzamknutý inou aplikáciou. Shotwell môže pristupovať k " +"fotoaparátu iba ak nie je uzamknutý. Zatvorte, prosím, ostatné aplikácie, " +"ktoré používajú fotoaparát, a skúste to znova." + +#: src/camera/ImportPage.vala:1039 +msgid "Please close any other application using the camera." +msgstr "Zatvorte, prosím, ostatné aplikácie, ktoré používajú fotoaparát." + +#: src/camera/ImportPage.vala:1044 +#, c-format +msgid "" +"Unable to fetch previews from the camera:\n" +"%s" +msgstr "" +"Nepodarilo sa získať náhľady z fotoaparátu:\n" +"%s" + +#: src/camera/ImportPage.vala:1061 +msgid "Unmounting..." +msgstr "Odpája sa..." + +#: src/camera/ImportPage.vala:1167 +msgid "Fetching photo information" +msgstr "Získavajú sa informácie o fotografiách" + +#: src/camera/ImportPage.vala:1522 +#, c-format +msgid "Fetching preview for %s" +msgstr "Získava sa náhľad pre %s" + +#: src/camera/ImportPage.vala:1638 +#, c-format +msgid "Unable to lock camera: %s" +msgstr "Nepodarilo sa uzamknúť fotoaparát: %s" + +#: src/camera/ImportPage.vala:1723 +#, c-format +msgid "Delete this photo from camera?" +msgid_plural "Delete these %d photos from camera?" +msgstr[0] "Odstrániť týchto %d fotografií z fotoaparátu?" +msgstr[1] "Odstrániť túto fotografiu z fotoaparátu?" +msgstr[2] "Odstrániť tieto %d fotografie z fotoaparátu?" + +#: src/camera/ImportPage.vala:1726 +#, c-format +msgid "Delete this video from camera?" +msgid_plural "Delete these %d videos from camera?" +msgstr[0] "Odstrániť týchto %d videí z fotoaparátu?" +msgstr[1] "Odstrániť toto %d video z fotoaparátu?" +msgstr[2] "Odstrániť tieto %d videá z fotoaparátu?" + +#: src/camera/ImportPage.vala:1729 +#, c-format +msgid "Delete this photo/video from camera?" +msgid_plural "Delete these %d photos/videos from camera?" +msgstr[0] "Odstrániť týchto %d fotografií/videí z fotoaparátu?" +msgstr[1] "Odstrániť túto %d fotografiu/video z fotoaparátu?" +msgstr[2] "Odstrániť tieto %d fotografie/videá z fotoaparátu?" + +#: src/camera/ImportPage.vala:1732 +#, c-format +msgid "Delete these files from camera?" +msgid_plural "Delete these %d files from camera?" +msgstr[0] "Odstrániť týchto %d súborov z fotoaparátu?" +msgstr[1] "Odstrániť tento %d súbor z fotoaparátu?" +msgstr[2] "Odstrániť tieto %d súbory z fotoaparátu?" + +#: src/camera/ImportPage.vala:1740 src/Dialogs.vala:1392 +msgid "_Keep" +msgstr "_Ponechať" + +#: src/camera/ImportPage.vala:1759 +msgid "Removing photos/videos from camera" +msgstr "Odstraňujú sa fotografie/videá z fotoaparátu" + +#: src/camera/ImportPage.vala:1763 +#, c-format +msgid "Unable to delete %d photo/video from the camera due to errors." +msgid_plural "Unable to delete %d photos/videos from the camera due to errors." +msgstr[0] "" +"Nepodarilo sa odstrániť %d fotografií/videí z fotoaparátu kvôli chybám." +msgstr[1] "" +"Nepodarilo sa odstrániť %d fotografiu/video z fotoaparátu kvôli chybám." +msgstr[2] "" +"Nepodarilo sa odstrániť %d fotografie/videá z fotoaparátu kvôli chybám." + +#: src/CollectionPage.vala:230 src/PhotoPage.vala:2635 +msgid "S_lideshow" +msgstr "P_rezentácia" + +#: src/CollectionPage.vala:231 src/PhotoPage.vala:2636 +msgid "Play a slideshow" +msgstr "Spustiť prezentáciu" + +#: src/CollectionPage.vala:456 +msgid "Export Photo/Video" +msgstr "Exportovať fotografiu/video" + +#: src/CollectionPage.vala:456 +msgid "Export Photos/Videos" +msgstr "Exportovať fotografie/videá" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:59 src/PhotoPage.vala:3209 +msgid "Export Photo" +msgstr "Exportovať fotografiu" + +#: src/CollectionPage.vala:458 src/Dialogs.vala:88 +msgid "Export Photos" +msgstr "Exportovať fotografie" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Rotating" +msgstr "Otáča sa" + +#: src/CollectionPage.vala:545 src/CollectionPage.vala:561 +msgid "Undoing Rotate" +msgstr "Vracia sa spať otáčanie" + +#: src/CollectionPage.vala:570 +msgid "Flipping Horizontally" +msgstr "Prevracia sa horizontálne" + +#: src/CollectionPage.vala:571 +msgid "Undoing Flip Horizontally" +msgstr "Vracia sa prevrátenie horizontálne" + +#: src/CollectionPage.vala:580 +msgid "Flipping Vertically" +msgstr "Prevracia sa vertikálne" + +#: src/CollectionPage.vala:581 +msgid "Undoing Flip Vertically" +msgstr "Vracia sa prevrátenie vertikálne" + +#: src/Commands.vala:737 +msgid "Reverting" +msgstr "Vracia sa spať" + +#: src/Commands.vala:737 +msgid "Undoing Revert" +msgstr "Opakuje sa vrátenie" + +#: src/Commands.vala:781 +msgid "Enhancing" +msgstr "Vylepšuje sa" + +#: src/Commands.vala:781 +msgid "Undoing Enhance" +msgstr "Vracia sa spať vylepšenie" + +#: src/Commands.vala:857 +msgid "Applying Color Transformations" +msgstr "Aplikujú sa transformácie farieb" + +#: src/Commands.vala:857 +msgid "Undoing Color Transformations" +msgstr "Vracajú sa späť transformácie farieb" + +#: src/Commands.vala:1007 +msgid "Creating New Event" +msgstr "Vytvára sa nová udalosť" + +#: src/Commands.vala:1008 +msgid "Removing Event" +msgstr "Odstraňuje sa udalosť" + +#: src/Commands.vala:1017 +msgid "Moving Photos to New Event" +msgstr "Fotografie sa presúvajú do novej udalosti" + +#: src/Commands.vala:1018 +msgid "Setting Photos to Previous Event" +msgstr "Fotografie sa nastavujú na predošlú udalosť" + +#: src/Commands.vala:1075 +msgid "Merging" +msgstr "Zlučovanie" + +#: src/Commands.vala:1076 +msgid "Unmerging" +msgstr "Vracia sa spať zlučovanie" + +#: src/Commands.vala:1085 +msgid "Duplicating photos" +msgstr "Fotografie sa duplikujú" + +#: src/Commands.vala:1085 +msgid "Removing duplicated photos" +msgstr "Odstraňujú sa duplikátne fotografie" + +#: src/Commands.vala:1108 +#, c-format +msgid "Unable to duplicate one photo due to a file error" +msgid_plural "Unable to duplicate %d photos due to file errors" +msgstr[0] "Nie je možné duplikovať %d fotografií kvôli súborovej chybe" +msgstr[1] "Nie je možné duplikovať jednu fotografiu kvôli súborovej chybe" +msgstr[2] "Nie je možné duplikovať %d fotografie kvôli súborovej chybe" + +#: src/Commands.vala:1195 +msgid "Restoring previous rating" +msgstr "Obnovuje sa predchádzajúce hodnotenie" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Increasing ratings" +msgstr "Zvyšujú sa hodnotenia" + +#: src/Commands.vala:1205 src/Commands.vala:1206 +msgid "Decreasing ratings" +msgstr "Znižujú sa hodnotenia" + +#: src/Commands.vala:1256 +msgid "Setting RAW developer" +msgstr "Nastavuje sa RAW vývojka" + +#: src/Commands.vala:1256 +msgid "Restoring previous RAW developer" +msgstr "Obnovuje sa predchádzajúca RAW vývojka" + +#: src/Commands.vala:1257 +msgid "Set Developer" +msgstr "Nastaviť vývojára" + +#: src/Commands.vala:1347 +msgid "Original photo could not be adjusted." +msgstr "Pôvodná fotografia nemôže byť upravená." + +#: src/Commands.vala:1368 +msgid "Adjusting Date and Time" +msgstr "Nastavuje sa čas a dátum" + +#: src/Commands.vala:1368 +msgid "Undoing Date and Time Adjustment" +msgstr "Vracia sa späť úprava času a dátumu" + +#: src/Commands.vala:1399 +msgid "One original photo could not be adjusted." +msgid_plural "The following original photos could not be adjusted." +msgstr[0] "Následujúce pôvodné fotografie nemôžu byť upravené." +msgstr[1] "Jedna pôvodná fotografia nemôže byť upravená." +msgstr[2] "Následujúce pôvodné fotografie nemôžu byť upravené." + +#: src/Commands.vala:1401 src/Commands.vala:1425 +msgid "Time Adjustment Error" +msgstr "Chyba úpravy času" + +#: src/Commands.vala:1423 +msgid "Time adjustments could not be undone on the following photo file." +msgid_plural "" +"Time adjustments could not be undone on the following photo files." +msgstr[0] "" +"Nie je možné vrátiť spať úpravy času v následujúcich súboroch fotografií." +msgstr[1] "" +"Nie je možné vrátiť spať úpravu času v následujúcom súbore fotografie." +msgstr[2] "" +"Nie je možné vrátiť spať úpravy času v následujúcich súboroch fotografií." + +#: src/Commands.vala:1637 src/Commands.vala:1660 +msgid "Create Tag" +msgstr "Vytvoriť značku" + +#: src/Commands.vala:1695 +#, c-format +msgid "Move Tag \"%s\"" +msgstr "Presunúť značku „%s“" + +#: src/Commands.vala:2347 +msgid "Move Photos to Trash" +msgstr "Presunúť fotografie do koša" + +#: src/Commands.vala:2347 +msgid "Restore Photos from Trash" +msgstr "Obnoviť fotografie z koša" + +#: src/Commands.vala:2348 +msgid "Move the photos to the Shotwell trash" +msgstr "Presunúť fotografie do Shotwell koša" + +#: src/Commands.vala:2348 +msgid "Restore the photos back to the Shotwell library" +msgstr "Obnoviť tieto fotografie naspať do Shotwell knižnice" + +#: src/Commands.vala:2367 +msgid "Moving Photos to Trash" +msgstr "Fotografie sa presúvajú do koša" + +#: src/Commands.vala:2367 +msgid "Restoring Photos From Trash" +msgstr "Obnovujú sa fotografie z koša" + +#: src/Commands.vala:2453 +msgid "Flag selected photos" +msgstr "Označiť vybrané fotografie" + +#: src/Commands.vala:2454 +msgid "Unflag selected photos" +msgstr "Odznačiť vybrané fotografie" + +#: src/Commands.vala:2455 +msgid "Flagging selected photos" +msgstr "Označujú sa vybrané fotografie" + +#: src/Commands.vala:2456 +msgid "Unflagging selected photos" +msgstr "Odznačujú sa vybrané fotografie" + +#: src/Commands.vala:2463 +msgid "Flag" +msgstr "Označiť" + +#: src/Commands.vala:2463 +msgid "Unflag" +msgstr "Odznačiť" + +#. Send an empty job to the queue to mark the end of the import +#: src/data_imports/DataImportsPluginHost.vala:65 +#: src/data_imports/DataImportsPluginHost.vala:78 +#, c-format +msgid "%s Database" +msgstr "%s databáza" + +#: src/data_imports/DataImportsPluginHost.vala:148 +#: src/data_imports/DataImportsPluginHost.vala:294 +#, c-format +msgid "Importing from %s can't continue because an error occurred:" +msgstr "Importovanie z %s nemôže pokračovať, pretože sa vyskytla chyba:" + +#: src/data_imports/DataImportsPluginHost.vala:151 +msgid "To try importing from another service, select one from the above menu." +msgstr "Pre pokus o import z inej služby, vyberte jeden z nasledovnej ponuky." + +#: src/data_imports/DataImportsUI.vala:10 +msgid "" +"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." +msgstr "" +"Nemáte povolené žiadne zásuvné moduly na import údajov.\n" +"\n" +"Na používanie funkcie importu, musíte mať povolený aspoň jeden zásuvný modul " +"pre importovanie. Zásuvné moduly môžu byť povolené v Predvoľbách." + +#: src/data_imports/DataImportsUI.vala:100 +msgid "Database file:" +msgstr "Súbor databázy:" + +#: src/data_imports/DataImportsUI.vala:112 src/library/LibraryWindow.vala:904 +msgid "_Import" +msgstr "_Importovať" + +#: src/data_imports/DataImportsUI.vala:220 +msgid "Import From Application" +msgstr "Importovať z aplikácie" + +#: src/data_imports/DataImportsUI.vala:221 +msgid "Import media _from:" +msgstr "Importovať multimédiá _z:" + +#: src/data_imports/DataImportsUI.vala:408 src/publishing/PublishingUI.vala:507 +msgid "_Close" +msgstr "Za_vrieť" + +#: src/data_imports/DataImports.vala:22 +msgid "Data Imports" +msgstr "Importy údajov" + +#: src/db/DatabaseTable.vala:37 +#, c-format +msgid "Unable to open/create photo database %s: error code %d" +msgstr "Nepodarilo sa otvoriť/vytvoriť databázu fotografií %s: kód chyby %d" + +#: src/db/DatabaseTable.vala:46 +#, c-format +msgid "" +"Unable to write to photo database file:\n" +" %s" +msgstr "" +"Nepodarilo sa zapisovať do databázového súboru fotografií: \n" +" %s" + +#: src/db/DatabaseTable.vala:48 +#, c-format +msgid "" +"Error accessing database file:\n" +" %s\n" +"\n" +"Error was: \n" +"%s" +msgstr "" +"Chyba pri prístupe k databázovému súboru:\n" +" %s\n" +"Popis chyby: \n" +"%s" + +#: src/db/DatabaseTable.vala:88 +#, c-format +msgid "Unable to restore photo database %s" +msgstr "Nie je možné obnoviť databázu fotografií %s" + +#: src/DesktopIntegration.vala:121 +#, c-format +msgid "Unable to launch Nautilus Send-To: %s" +msgstr "Nepodarilo sa spustiť Nautilus Send-To: %s" + +# dialog title +#: src/DesktopIntegration.vala:129 +msgid "Send To" +msgstr "Odoslanie do" + +#: src/DesktopIntegration.vala:174 +#, c-format +msgid "Unable to export background to %s: %s" +msgstr "Nepodarilo sa exportovať pozadie do %s: %s" + +#: src/DesktopIntegration.vala:311 +#, c-format +msgid "Unable to prepare desktop slideshow: %s" +msgstr "Nepodarilo sa pripraviť prezentáciu pre pracovnú plochu: %s" + +#: src/Dialogs.vala:16 +#, c-format +msgid "This will remove the tag \"%s\" from one photo. Continue?" +msgid_plural "This will remove the tag \"%s\" from %d photos. Continue?" +msgstr[0] "" +"Táto operácia odstráni značku „%s“ z %d fotografií. Chcete pokračovať?" +msgstr[1] "" +"Táto operácia odstráni značku „%s“ z jednej fotografie. Chcete pokračovať?" +msgstr[2] "" +"Táto operácia odstráni značku „%s“ z %d fotografií. Chcete pokračovať?" + +#: src/Dialogs.vala:20 src/Dialogs.vala:28 src/Dialogs.vala:1393 +#: src/Resources.vala:158 src/Resources.vala:361 src/Resources.vala:409 +#: src/Resources.vala:674 +msgid "_Delete" +msgstr "O_dstrániť" + +#: src/Dialogs.vala:25 +#, c-format +msgid "This will remove the saved search \"%s\". Continue?" +msgstr "Táto operácia odstráni uložené vyhľadávanie „%s“. Chcete pokračovať?" + +#: src/Dialogs.vala:36 +msgid "" +"Switching developers will undo all changes you have made to this photo in " +"Shotwell" +msgid_plural "" +"Switching developers will undo all changes you have made to these photos in " +"Shotwell" +msgstr[0] "" +"Prepnutie vývojára zruší všetky zmeny, ktoré ste uskutočnili na tejto fotke " +"v programe Shotwell" +msgstr[1] "" +"Prepnutie vývojára zruší všetky zmeny, ktoré ste uskutočnili na týchto " +"fotkách v programe Shotwell" +msgstr[2] "" +"Prepnutie vývojára zruší všetky zmeny, ktoré ste uskutočnili na týchto " +"fotkách v programe Shotwell" + +#: src/Dialogs.vala:40 +msgid "_Switch Developer" +msgstr "_Prepnúť vývojára" + +#: src/Dialogs.vala:59 +msgid "Export Video" +msgstr "Exportovať video" + +#. Ticket #3023 +#. Attempt to replace the system error with something friendlier +#. if we can't copy an image over for editing in an external tool. +#. Did we fail because we can't write to this directory? +#. Yes - display an alternate error message here. +#: src/Dialogs.vala:116 +#, c-format +msgid "" +"Shotwell couldn't create a file for editing this photo because you do not " +"have permission to write to %s." +msgstr "" +"Shotwell nemohol vytvoriť súbor na úpravu tejto fotografie, pretože nemáte " +"právo zápisu do %s." + +#: src/Dialogs.vala:125 +msgid "" +"Unable to export the following photo due to a file error.\n" +"\n" +msgstr "" +"Nie je možné exportovať následujúcu fotografiu kvôli súborovej chybe.\n" +"\n" + +#: src/Dialogs.vala:131 +msgid "" +"\n" +"\n" +"Would you like to continue exporting?" +msgstr "" +"\n" +"\n" +"Chcete pokračovať v exporte?" + +#. "Unmodified" and "Current," though they appear in the "Format:" popup menu, really +#. aren't formats so much as they are operating modes that determine specific formats. +#. Hereafter we'll refer to these as "special formats." +#: src/Dialogs.vala:148 +msgid "Unmodified" +msgstr "Nezmenený" + +#: src/Dialogs.vala:149 +msgid "Current" +msgstr "Aktuálny" + +#. layout controls +#: src/Dialogs.vala:216 +msgid "_Format:" +msgstr "_Formát:" + +#: src/Dialogs.vala:219 +msgid "_Quality:" +msgstr "_Kvalita:" + +#: src/Dialogs.vala:222 +msgid "_Scaling constraint:" +msgstr "_Zachovať pomer podľa:" + +#: src/Dialogs.vala:225 +msgid "_Pixels:" +msgstr "_Pixely:" + +#: src/Dialogs.vala:228 +msgid "Export metadata" +msgstr "Exportovať metaúdaje" + +#: src/Dialogs.vala:462 +msgid "Save Details..." +msgstr "Uložiť podrobnosti..." + +# dialog title +#: src/Dialogs.vala:463 +msgid "Save Details" +msgstr "Uloženie podrobností" + +#: src/Dialogs.vala:478 +#, c-format +msgid "(and %d more)\n" +msgstr "(a %d naviac)\n" + +#: src/Dialogs.vala:531 +msgid "Import Results Report" +msgstr "Hlásenie o výsledkoch importovania" + +#: src/Dialogs.vala:535 +#, c-format +msgid "Attempted to import %d file." +msgid_plural "Attempted to import %d files." +msgstr[0] "Pokúsilo sa importovať %d súborov." +msgstr[1] "Pokúsilo sa importovať jeden súbor." +msgstr[2] "Pokúsilo sa importovať %d súbory." + +#: src/Dialogs.vala:538 +#, c-format msgid "Of these, %d file was successfully imported." msgid_plural "Of these, %d files were successfully imported." msgstr[0] "Z týchto súborov bolo úspešne importovaných %d." @@ -1613,30 +3043,30 @@ msgstr[2] "Z týchto súborov boli úspešne importované %d." #. #. Duplicates #. -#: ../src/Dialogs.vala:549 +#: src/Dialogs.vala:550 msgid "Duplicate Photos/Videos Not Imported:" msgstr "Duplikátne fotografie/videá, ktoré neboli importované:" -#: ../src/Dialogs.vala:553 +#: src/Dialogs.vala:554 msgid "duplicates existing media item" msgstr "duplikátna položka existujúceho multimédia" #. #. Files Not Imported Due to Camera Errors #. -#: ../src/Dialogs.vala:564 +#: src/Dialogs.vala:565 msgid "Photos/Videos Not Imported Due to Camera Errors:" msgstr "Fotografie/videá neboli importované kvôli problémom s fotoaparátom:" -#: ../src/Dialogs.vala:567 ../src/Dialogs.vala:582 ../src/Dialogs.vala:597 -#: ../src/Dialogs.vala:613 ../src/Dialogs.vala:628 ../src/Dialogs.vala:642 +#: src/Dialogs.vala:568 src/Dialogs.vala:583 src/Dialogs.vala:598 +#: src/Dialogs.vala:614 src/Dialogs.vala:629 src/Dialogs.vala:643 msgid "error message:" msgstr "Správa o chybe:" #. #. Files Not Imported Because They Weren't Recognized as Photos or Videos #. -#: ../src/Dialogs.vala:578 +#: src/Dialogs.vala:579 msgid "Files Not Imported Because They Weren't Recognized as Photos or Videos:" msgstr "" "Súbory neboli importované, pretože neboli rozpoznané ako fotografie alebo " @@ -1645,7 +3075,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands #. -#: ../src/Dialogs.vala:593 +#: src/Dialogs.vala:594 msgid "" "Photos/Videos Not Imported Because They Weren't in a Format Shotwell " "Understands:" @@ -1656,7 +3086,7 @@ msgstr "" #. #. Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library #. -#: ../src/Dialogs.vala:608 +#: src/Dialogs.vala:609 msgid "" "Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its " "Library:" @@ -1664,7 +3094,7 @@ msgstr "" "Fotografie/videá neboli importované, pretože program Shotwell ich nedokáže " "skopírovať do svojej knižnice:" -#: ../src/Dialogs.vala:612 +#: src/Dialogs.vala:613 #, c-format msgid "" "couldn't copy %s\n" @@ -1676,18 +3106,18 @@ msgstr "" #. #. Photos/Videos Not Imported Because GDK Pixbuf Library Identified them as Corrupt #. -#: ../src/Dialogs.vala:624 +#: src/Dialogs.vala:625 msgid "Photos/Videos Not Imported Because Files Are Corrupt:" msgstr "Fotografie/videá neboli importované, pretože súbory sú poškodené:" #. #. Photos/Videos Not Imported for Other Reasons #. -#: ../src/Dialogs.vala:639 +#: src/Dialogs.vala:640 msgid "Photos/Videos Not Imported for Other Reasons:" msgstr "Fotografie/videá neboli importované kvôli iným dôvodom:" -#: ../src/Dialogs.vala:659 +#: src/Dialogs.vala:660 #, c-format msgid "1 duplicate photo was not imported:\n" msgid_plural "%d duplicate photos were not imported:\n" @@ -1695,7 +3125,7 @@ msgstr[0] "%d duplikátnych fotografií nebolo importovaných:\n" msgstr[1] "1 duplikátna fotografia nebola importovaná:\n" msgstr[2] "%d duplikátne fotografie neboli importované:\n" -#: ../src/Dialogs.vala:662 +#: src/Dialogs.vala:663 #, c-format msgid "1 duplicate video was not imported:\n" msgid_plural "%d duplicate videos were not imported:\n" @@ -1703,7 +3133,7 @@ msgstr[0] "%d duplicitných videí nebolo importovaných:\n" msgstr[1] "1 duplicitné video nebolo importované:\n" msgstr[2] "%d duplicitné videá neboli importované:\n" -#: ../src/Dialogs.vala:665 +#: src/Dialogs.vala:666 #, c-format msgid "1 duplicate photo/video was not imported:\n" msgid_plural "%d duplicate photos/videos were not imported:\n" @@ -1711,7 +3141,7 @@ msgstr[0] "%d duplicitných fotografií/videí nebolo importovaných:\n" msgstr[1] "1 duplicitná fotografia/video nebola importovaná:\n" msgstr[2] "%d duplicitné fotografie/videá neboli importované:\n" -#: ../src/Dialogs.vala:679 +#: src/Dialogs.vala:680 #, c-format msgid "1 photo failed to import due to a file or hardware error:\n" msgid_plural "%d photos failed to import due to a file or hardware error:\n" @@ -1725,7 +3155,7 @@ msgstr[2] "" "%d fotografie sa nepodarilo importovať kvôli súborovej alebo hardvérovej " "chybe:\n" -#: ../src/Dialogs.vala:682 +#: src/Dialogs.vala:683 #, c-format msgid "1 video failed to import due to a file or hardware error:\n" msgid_plural "%d videos failed to import due to a file or hardware error:\n" @@ -1736,7 +3166,7 @@ msgstr[1] "" msgstr[2] "" "%d videá sa nepodarilo importovať kvôli súborovej alebo hardvérovej chybe:\n" -#: ../src/Dialogs.vala:685 +#: src/Dialogs.vala:686 #, c-format msgid "1 photo/video failed to import due to a file or hardware error:\n" msgid_plural "" @@ -1751,7 +3181,7 @@ msgstr[2] "" "%d fotografie/videá sa nepodarilo importovať kvôli súborovej alebo " "hardvérovej chybe:\n" -#: ../src/Dialogs.vala:688 +#: src/Dialogs.vala:689 #, c-format msgid "1 file failed to import due to a file or hardware error:\n" msgid_plural "%d files failed to import due to a file or hardware error:\n" @@ -1763,7 +3193,7 @@ msgstr[1] "" msgstr[2] "" "%d súbory sa nepodarilo importovať kvôli súborovej alebo hardvérovej chybe:\n" -#: ../src/Dialogs.vala:702 +#: src/Dialogs.vala:703 #, c-format msgid "" "1 photo failed to import because the photo library folder was not writable:\n" @@ -1780,7 +3210,7 @@ msgstr[2] "" "%d fotografie sa nepodarilo importovať, pretože do priečinka s knižnicou " "fotografií sa nedá zapisovať:\n" -#: ../src/Dialogs.vala:705 +#: src/Dialogs.vala:706 #, c-format msgid "" "1 video failed to import because the photo library folder was not writable:\n" @@ -1797,7 +3227,7 @@ msgstr[2] "" "%d videá sa nepodarilo importovať, pretože do priečinka s knižnicou " "fotografií sa nedá zapisovať:\n" -#: ../src/Dialogs.vala:708 +#: src/Dialogs.vala:709 #, c-format msgid "" "1 photo/video failed to import because the photo library folder was not " @@ -1815,7 +3245,7 @@ msgstr[2] "" "%d fotografie/videá sa nepodarilo importovať, pretože do priečinka s " "knižnicou fotografií sa nedá zapisovať:\n" -#: ../src/Dialogs.vala:711 +#: src/Dialogs.vala:712 #, c-format msgid "" "1 file failed to import because the photo library folder was not writable:\n" @@ -1832,7 +3262,7 @@ msgstr[2] "" "%d súbory sa nepodarilo importovať, pretože do priečinka s knižnicou " "fotografií sa nedá zapisovať:\n" -#: ../src/Dialogs.vala:725 +#: src/Dialogs.vala:726 #, c-format msgid "1 photo failed to import due to a camera error:\n" msgid_plural "%d photos failed to import due to a camera error:\n" @@ -1840,7 +3270,7 @@ msgstr[0] "%d fotografií sa nepodarilo importovať kvôli chybe fotoaparátu:\n msgstr[1] "1 fotografiu sa nepodarilo importovať kvôli chybe fotoaparátu:\n" msgstr[2] "%d fotografie sa nepodarilo importovať kvôli chybe fotoaparátu:\n" -#: ../src/Dialogs.vala:728 +#: src/Dialogs.vala:729 #, c-format msgid "1 video failed to import due to a camera error:\n" msgid_plural "%d videos failed to import due to a camera error:\n" @@ -1848,7 +3278,7 @@ msgstr[0] "%d videí sa nepodarilo importovať kvôli chybe fotoaparátu:\n" msgstr[1] "1 video sa nepodarilo importovať kvôli chybe fotoaparátu:\n" msgstr[2] "%d videá sa nepodarilo importovať kvôli chybe fotoaparátu:\n" -#: ../src/Dialogs.vala:731 +#: src/Dialogs.vala:732 #, c-format msgid "1 photo/video failed to import due to a camera error:\n" msgid_plural "%d photos/videos failed to import due to a camera error:\n" @@ -1859,7 +3289,7 @@ msgstr[1] "" msgstr[2] "" "%d fotografie/videá sa nepodarilo importovať kvôli chybe fotoaparátu:\n" -#: ../src/Dialogs.vala:734 +#: src/Dialogs.vala:735 #, c-format msgid "1 file failed to import due to a camera error:\n" msgid_plural "%d files failed to import due to a camera error:\n" @@ -1867,7 +3297,7 @@ msgstr[0] "%d súborov sa nepodarilo importovať kvôli chybe fotoaparátu:\n" msgstr[1] "1 súbor sa nepodarilo importovať kvôli chybe fotoaparátu:\n" msgstr[2] "%d súbory sa nepodarilo importovať kvôli chybe fotoaparátu:\n" -#: ../src/Dialogs.vala:748 +#: src/Dialogs.vala:749 #, c-format msgid "1 photo failed to import because it was corrupt:\n" msgid_plural "%d photos failed to import because they were corrupt:\n" @@ -1875,7 +3305,7 @@ msgstr[0] "Importovanie %d fotografií zlyhalo, pretože boli poškodené:\n" msgstr[1] "Importovanie jednej fotografie zlyhalo, pretože bola poškodená:\n" msgstr[2] "Importovanie %d fotografií zlyhalo, pretože boli poškodené:\n" -#: ../src/Dialogs.vala:751 +#: src/Dialogs.vala:752 #, c-format msgid "1 video failed to import because it was corrupt:\n" msgid_plural "%d videos failed to import because they were corrupt:\n" @@ -1883,7 +3313,7 @@ msgstr[0] "Importovanie %d videí zlyhalo, pretože boli poškodené:\n" msgstr[1] "Importovanie jedného videa zlyhalo, pretože bolo poškodené:\n" msgstr[2] "Importovanie %d videí zlyhalo, pretože boli poškodené:\n" -#: ../src/Dialogs.vala:754 +#: src/Dialogs.vala:755 #, c-format msgid "1 photo/video failed to import because it was corrupt:\n" msgid_plural "%d photos/videos failed to import because they were corrupt:\n" @@ -1892,7 +3322,7 @@ msgstr[1] "" "Importovanie jednej fotografie/videa zlyhalo, pretože bolo poškodené:\n" msgstr[2] "Importovanie %d fotografií/videí zlyhalo, pretože boli poškodené:\n" -#: ../src/Dialogs.vala:757 +#: src/Dialogs.vala:758 #, c-format msgid "1 file failed to import because it was corrupt:\n" msgid_plural "%d files failed to import because it was corrupt:\n" @@ -1904,7 +3334,7 @@ msgstr[2] "Importovanie %d súborov zlyhalo, pretože boli poškodené:\n" #. standard container formats are supported, it's just that the streams in them #. might or might not be interpretable), so this message does not need to be #. media specific -#: ../src/Dialogs.vala:774 +#: src/Dialogs.vala:775 #, c-format msgid "1 unsupported photo skipped:\n" msgid_plural "%d unsupported photos skipped:\n" @@ -1914,7 +3344,7 @@ msgstr[2] "%d nepodporované fotografie boli preskočené:\n" #. we have no notion of "non-video" video files right now in Shotwell, so this #. message doesn't need to be media specific -#: ../src/Dialogs.vala:789 +#: src/Dialogs.vala:790 #, c-format msgid "1 non-image file skipped.\n" msgid_plural "%d non-image files skipped.\n" @@ -1922,7 +3352,7 @@ msgstr[0] "%d súborov, ktoré nie sú obrázkami, bolo preskočených.\n" msgstr[1] "Jeden súbor, ktorý nie je obrázok, bol preskočený.\n" msgstr[2] "%d súbory, ktorý nie sú obrázkami, boli preskočené.\n" -#: ../src/Dialogs.vala:800 +#: src/Dialogs.vala:801 #, c-format msgid "1 photo skipped due to user cancel:\n" msgid_plural "%d photos skipped due to user cancel:\n" @@ -1930,7 +3360,7 @@ msgstr[0] "%d fotografií bolo preskočených kvôli prerušeniu používateľom msgstr[1] "Jedna fotografia bola preskočená kvôli prerušeniu používateľom:\n" msgstr[2] "%d fotografie boli preskočené kvôli prerušeniu používateľom:\n" -#: ../src/Dialogs.vala:803 +#: src/Dialogs.vala:804 #, c-format msgid "1 video skipped due to user cancel:\n" msgid_plural "%d videos skipped due to user cancel:\n" @@ -1938,7 +3368,7 @@ msgstr[0] "%d videí bolo preskočených kvôli prerušeniu používateľom:\n" msgstr[1] "Jedno video bolo preskočené kvôli prerušeniu používateľom:\n" msgstr[2] "%d videá bolí preskočené kvôli prerušeniu používateľom:\n" -#: ../src/Dialogs.vala:806 +#: src/Dialogs.vala:807 #, c-format msgid "1 photo/video skipped due to user cancel:\n" msgid_plural "%d photos/videos skipped due to user cancel:\n" @@ -1949,7 +3379,7 @@ msgstr[1] "" msgstr[2] "" "%d fotografií/videí bolo preskočených kvôli prerušeniu používateľom:\n" -#: ../src/Dialogs.vala:809 +#: src/Dialogs.vala:810 #, c-format msgid "1 file skipped due to user cancel:\n" msgid_plural "%d file skipped due to user cancel:\n" @@ -1957,7 +3387,7 @@ msgstr[0] "%d súborov bolo preskočených kvôli prerušeniu používateľom:\n msgstr[1] "Jeden súbor bol preskočený kvôli prerušeniu používateľom:\n" msgstr[2] "%d súbory boli preskočené kvôli prerušeniu používateľom:\n" -#: ../src/Dialogs.vala:823 +#: src/Dialogs.vala:824 #, c-format msgid "1 photo successfully imported.\n" msgid_plural "%d photos successfully imported.\n" @@ -1965,7 +3395,7 @@ msgstr[0] "%d fotografií bolo úspešne importovaných.\n" msgstr[1] "Jedna fotografia bola úspešne importovaná.\n" msgstr[2] "%d fotografie boli úspešne importované.\n" -#: ../src/Dialogs.vala:826 +#: src/Dialogs.vala:827 #, c-format msgid "1 video successfully imported.\n" msgid_plural "%d videos successfully imported.\n" @@ -1973,7 +3403,7 @@ msgstr[0] "%d videí bolo úspešne importovaných.\n" msgstr[1] "Jedno video bolo úspešne importované.\n" msgstr[2] "%d videá bolo úspešne importované.\n" -#: ../src/Dialogs.vala:829 +#: src/Dialogs.vala:830 #, c-format msgid "1 photo/video successfully imported.\n" msgid_plural "%d photos/videos successfully imported.\n" @@ -1983,15 +3413,15 @@ msgstr[2] "%d fotografie/videá boli úspešne importované.\n" #. if no media items were imported at all (i.e. an empty directory attempted), need to at least #. report that nothing was imported -#: ../src/Dialogs.vala:845 +#: src/Dialogs.vala:846 msgid "No photos or videos imported.\n" msgstr "Žiadne fotografie ani videá neboli importované.\n" -#: ../src/Dialogs.vala:852 ../src/Dialogs.vala:871 +#: src/Dialogs.vala:853 src/Dialogs.vala:872 msgid "Import Complete" msgstr "Importovanie dokončené" -#: ../src/Dialogs.vala:1157 +#: src/Dialogs.vala:1158 #, c-format msgid "%d second" msgid_plural "%d seconds" @@ -1999,7 +3429,7 @@ msgstr[0] "%d sekúnd" msgstr[1] "%d sekunda" msgstr[2] "%d sekundy" -#: ../src/Dialogs.vala:1160 +#: src/Dialogs.vala:1161 #, c-format msgid "%d minute" msgid_plural "%d minutes" @@ -2007,7 +3437,7 @@ msgstr[0] "%d minút" msgstr[1] "%d minúta" msgstr[2] "%d minúty" -#: ../src/Dialogs.vala:1164 +#: src/Dialogs.vala:1165 #, c-format msgid "%d hour" msgid_plural "%d hours" @@ -2015,68 +3445,64 @@ msgstr[0] "%d hodín" msgstr[1] "%d hodina" msgstr[2] "%d hodiny" -#: ../src/Dialogs.vala:1167 +#: src/Dialogs.vala:1168 msgid "1 day" msgstr "1 deň" -#: ../src/Dialogs.vala:1321 ../src/Resources.vala:231 +#: src/Dialogs.vala:1322 src/Resources.vala:231 msgid "Rename Event" msgstr "Premenovať udalosť" -#: ../src/Dialogs.vala:1321 +#: src/Dialogs.vala:1322 msgid "Name:" msgstr "Názov:" # DK:https://bugzilla.gnome.org/show_bug.cgi?id=744251 #. Dialog title -#. Button label -#: ../src/Dialogs.vala:1332 ../src/Resources.vala:303 +#: src/Dialogs.vala:1333 +msgctxt "Dialog Title" msgid "Edit Title" -msgstr "Upraviť názov" +msgstr "Úprava názvu" -#: ../src/Dialogs.vala:1333 ../src/Properties.vala:340 +#: src/Dialogs.vala:1334 src/Properties.vala:340 msgid "Title:" msgstr "Názov:" # DK: https://bugzilla.gnome.org/show_bug.cgi?id=736632 #. Dialog title -#: ../src/Dialogs.vala:1349 ../src/Resources.vala:310 +#: src/Dialogs.vala:1350 src/Resources.vala:307 msgid "Edit Event Comment" msgstr "Upravenie komentára k udalosti" # window title -#: ../src/Dialogs.vala:1350 +#: src/Dialogs.vala:1351 msgid "Edit Photo/Video Comment" msgstr "Úprava komentáru k fotografii/videu" -#: ../src/Dialogs.vala:1351 ../src/Properties.vala:628 +#: src/Dialogs.vala:1352 src/Properties.vala:628 msgid "Comment:" msgstr "Komentár:" -#: ../src/Dialogs.vala:1367 +#: src/Dialogs.vala:1368 msgid "Remove and _Trash File" msgid_plural "Remove and _Trash Files" msgstr[0] "_Vyhodiť súbory do koša" msgstr[1] "_Vyhodiť súbor do koša" msgstr[2] "_Vyhodiť súbory do koša" -#: ../src/Dialogs.vala:1371 +#: src/Dialogs.vala:1372 msgid "_Remove From Library" msgstr "Odstrániť z knižnice" -#: ../src/Dialogs.vala:1391 ../src/camera/ImportPage.vala:1740 -msgid "_Keep" -msgstr "_Ponechať" - -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1415 msgid "Revert External Edit?" msgstr "Vrátiť externú úpravu?" -#: ../src/Dialogs.vala:1414 +#: src/Dialogs.vala:1415 msgid "Revert External Edits?" msgstr "Vrátiť externé úpravy?" -#: ../src/Dialogs.vala:1416 +#: src/Dialogs.vala:1417 #, c-format msgid "This will destroy all changes made to the external file. Continue?" msgid_plural "" @@ -2090,15 +3516,15 @@ msgstr[2] "" "Táto operácia zničí všetky zmeny vykonané na %d externých súboroch. " "Pokračovať?" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edit" msgstr "V_rátiť externé úpravy" -#: ../src/Dialogs.vala:1420 +#: src/Dialogs.vala:1421 msgid "Re_vert External Edits" msgstr "V_rátiť externé úpravy" -#: ../src/Dialogs.vala:1441 +#: src/Dialogs.vala:1442 #, c-format msgid "This will remove the photo from the library. Continue?" msgid_plural "This will remove %d photos from the library. Continue?" @@ -2106,72 +3532,72 @@ msgstr[0] "Táto operácia odstráni %d fotografií z knižnice. Chcete pokračo msgstr[1] "Táto operácia odstráni fotografiu z knižnice. Chcete pokračovať?" msgstr[2] "Táto operácia odstráni %d fotografie z knižnice. Chcete pokračovať?" -#: ../src/Dialogs.vala:1448 ../src/Resources.vala:173 +#: src/Dialogs.vala:1449 src/Resources.vala:173 msgid "_Remove" msgstr "O_dstrániť" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1450 msgid "Remove Photo From Library" msgstr "Odstrániť fotografie z knižnice" -#: ../src/Dialogs.vala:1449 +#: src/Dialogs.vala:1450 msgid "Remove Photos From Library" msgstr "Odstrániť fotografie z knižnice" -#: ../src/Dialogs.vala:1542 +#: src/Dialogs.vala:1543 #, c-format msgid "%d%%" msgstr "%d%%" -#: ../src/Dialogs.vala:1696 +#: src/Dialogs.vala:1697 msgid "AM" msgstr "AM" -#: ../src/Dialogs.vala:1697 +#: src/Dialogs.vala:1698 msgid "PM" msgstr "PM" -#: ../src/Dialogs.vala:1698 +#: src/Dialogs.vala:1699 msgid "24 Hr" msgstr "24-hodinový" -#: ../src/Dialogs.vala:1713 +#: src/Dialogs.vala:1714 msgid "_Shift photos/videos by the same amount" msgstr "_Posunúť fotografie/videá o rovnakú hodnotu" -#: ../src/Dialogs.vala:1718 +#: src/Dialogs.vala:1719 msgid "Set _all photos/videos to this time" msgstr "Nastaviť _všetky fotografie/videá na tento čas" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1726 msgid "_Modify original photo file" msgstr "_Zmeniť pôvodný súbor fotky" -#: ../src/Dialogs.vala:1725 +#: src/Dialogs.vala:1726 msgid "_Modify original photo files" msgstr "_Zmeniť pôvodné súbory fotiek" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1729 msgid "_Modify original file" msgstr "_Upraviť pôvodné súbory" -#: ../src/Dialogs.vala:1728 +#: src/Dialogs.vala:1729 msgid "_Modify original files" msgstr "_Zmeniť pôvodné súbory" -#: ../src/Dialogs.vala:1814 +#: src/Dialogs.vala:1815 msgid "Original: " msgstr "Originál: " -#: ../src/Dialogs.vala:1815 +#: src/Dialogs.vala:1816 msgid "%m/%d/%Y, %H:%M:%S" msgstr "%H:%M:%S %p, %d. %b %Y" -#: ../src/Dialogs.vala:1816 +#: src/Dialogs.vala:1817 msgid "%m/%d/%Y, %I:%M:%S %p" msgstr "%I:%M:%S %p, %d. %b %Y" -#: ../src/Dialogs.vala:1905 +#: src/Dialogs.vala:1906 #, c-format msgid "" "Exposure time will be shifted forward by\n" @@ -2180,7 +3606,7 @@ msgstr "" "Doba expozície sa posunie vpred o\n" "%d %s, %d %s, %d %s, a %d %s." -#: ../src/Dialogs.vala:1906 +#: src/Dialogs.vala:1907 #, c-format msgid "" "Exposure time will be shifted backward by\n" @@ -2189,35 +3615,35 @@ msgstr "" "Doba expozície sa posunie dozadu o\n" "%d %s, %d %s, %d %s, a %d %s." -#: ../src/Dialogs.vala:1908 +#: src/Dialogs.vala:1909 msgid "day" msgid_plural "days" msgstr[0] "dní" msgstr[1] "deň" msgstr[2] "dni" -#: ../src/Dialogs.vala:1909 +#: src/Dialogs.vala:1910 msgid "hour" msgid_plural "hours" msgstr[0] "hodín" msgstr[1] "hodina" msgstr[2] "hodiny" -#: ../src/Dialogs.vala:1910 +#: src/Dialogs.vala:1911 msgid "minute" msgid_plural "minutes" msgstr[0] "minút" msgstr[1] "minúta" msgstr[2] "minúty" -#: ../src/Dialogs.vala:1911 +#: src/Dialogs.vala:1912 msgid "second" msgid_plural "seconds" msgstr[0] "sekúnd" msgstr[1] "sekunda" msgstr[2] "sekundy" -#: ../src/Dialogs.vala:1955 +#: src/Dialogs.vala:1956 #, c-format msgid "" "\n" @@ -2240,91 +3666,91 @@ msgstr[2] "" "\n" "A %d ďalšie." -#: ../src/Dialogs.vala:1977 ../src/Dialogs.vala:2004 +#: src/Dialogs.vala:1980 src/Dialogs.vala:2007 msgid "Tags (separated by commas):" msgstr "Značky (oddelené čiarkou):" -#: ../src/Dialogs.vala:2084 +#: src/Dialogs.vala:2087 msgid "Welcome!" msgstr "Vitajte!" -#: ../src/Dialogs.vala:2091 +#: src/Dialogs.vala:2094 msgid "Welcome to Shotwell!" msgstr "Vitajte v Shotwell!" -#: ../src/Dialogs.vala:2095 +#: src/Dialogs.vala:2098 msgid "To get started, import photos in any of these ways:" msgstr "Aby ste začali, importujte fotografie jedným z následujúcich spôsobov:" -#: ../src/Dialogs.vala:2114 +#: src/Dialogs.vala:2117 #, c-format msgid "Choose File %s Import From Folder" msgstr "Zvoľte Importovať súbor %s z priečinka" -#: ../src/Dialogs.vala:2115 +#: src/Dialogs.vala:2118 msgid "Drag and drop photos onto the Shotwell window" msgstr "Pretiahnite fotografie do Shotwell okna" -#: ../src/Dialogs.vala:2116 +#: src/Dialogs.vala:2119 msgid "Connect a camera to your computer and import" msgstr "Pripojte fotoaparát k vášmu počítaču a importujte" -#: ../src/Dialogs.vala:2126 +#: src/Dialogs.vala:2129 #, c-format msgid "_Import photos from your %s folder" msgstr "_Importovať fotografie z vášho priečinka %s" -#: ../src/Dialogs.vala:2133 +#: src/Dialogs.vala:2136 msgid "You can also import photos in any of these ways:" msgstr "Takisto môžete importovať fotografie jedným z následujúcich spôsobov:" -#: ../src/Dialogs.vala:2143 +#: src/Dialogs.vala:2146 msgid "_Don't show this message again" msgstr "_Nezobrazovať znova túto správu" -#: ../src/Dialogs.vala:2178 +#: src/Dialogs.vala:2181 #, c-format msgid "Import photos from your %s library" msgstr "Importovať fotografie z vašej knižnice %s" #. We're installed system-wide, so use the system help. #. 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. -#: ../src/Dialogs.vala:2325 ../src/Dialogs.vala:2329 +#. link manually ourselves, due to a limitation of help: URIs. +#: src/Dialogs.vala:2328 src/Dialogs.vala:2332 msgid "(Help)" msgstr "(Pomocník)" -#: ../src/Dialogs.vala:2338 +#: src/Dialogs.vala:2341 #, c-format msgid "Year%sMonth%sDay" msgstr "Rok%sMesiac%sDeň" -#: ../src/Dialogs.vala:2340 +#: src/Dialogs.vala:2343 #, c-format msgid "Year%sMonth" msgstr "Rok%sMesiac" -#: ../src/Dialogs.vala:2342 +#: src/Dialogs.vala:2345 #, c-format msgid "Year%sMonth-Day" msgstr "Rok%sMesiac-Deň" -#: ../src/Dialogs.vala:2344 +#: src/Dialogs.vala:2347 msgid "Year-Month-Day" msgstr "Rok-Mesiac-Deň" -#: ../src/Dialogs.vala:2345 ../src/editing_tools/EditingTools.vala:781 +#: src/Dialogs.vala:2348 src/editing_tools/EditingTools.vala:781 msgid "Custom" msgstr "Vlastný" #. Invalid pattern. -#: ../src/Dialogs.vala:2582 +#: src/Dialogs.vala:2585 msgid "Invalid pattern" msgstr "Chybný vzorec" #. This function is used to determine whether or not files should be copied or linked when imported. #. Returns ACCEPT for copy, REJECT for link, and CANCEL for (drum-roll) cancel. -#: ../src/Dialogs.vala:2684 +#: src/Dialogs.vala:2687 msgid "" "Shotwell can copy the photos into your library folder or it can import them " "without copying." @@ -2332,31 +3758,31 @@ msgstr "" "Shotwell môže skopírovať fotografie do vášho priečinka s knižnicou alebo ich " "importovať bez kopírovania." -#: ../src/Dialogs.vala:2689 +#: src/Dialogs.vala:2692 msgid "Co_py Photos" msgstr "Ko_pírovať fotografie" -#: ../src/Dialogs.vala:2690 +#: src/Dialogs.vala:2693 msgid "_Import in Place" msgstr "_Importovať na mieste" -#: ../src/Dialogs.vala:2691 +#: src/Dialogs.vala:2694 msgid "Import to Library" msgstr "Importovať do knižnice" -#: ../src/Dialogs.vala:2701 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2704 src/PhotoPage.vala:3085 msgid "Remove From Library" msgstr "Odstrániť z knižnice" -#: ../src/Dialogs.vala:2702 ../src/PhotoPage.vala:3085 +#: src/Dialogs.vala:2705 src/PhotoPage.vala:3085 msgid "Removing Photo From Library" msgstr "Odstraňuje sa fotografia z knižnice" -#: ../src/Dialogs.vala:2702 +#: src/Dialogs.vala:2705 msgid "Removing Photos From Library" msgstr "Odstraňujú sa fotografie z knižnice" -#: ../src/Dialogs.vala:2716 +#: src/Dialogs.vala:2719 #, c-format msgid "" "This will remove the photo/video from your Shotwell library. Would you also " @@ -2386,7 +3812,7 @@ msgstr[2] "" "\n" "Táto operácia sa nedá vrátiť späť." -#: ../src/Dialogs.vala:2720 +#: src/Dialogs.vala:2723 #, c-format msgid "" "This will remove the video from your Shotwell library. Would you also like " @@ -2414,7 +3840,7 @@ msgstr[2] "" "\n" "Táto operácia sa nedá vrátiť späť." -#: ../src/Dialogs.vala:2724 +#: src/Dialogs.vala:2727 #, c-format msgid "" "This will remove the photo from your Shotwell library. Would you also like " @@ -2442,7 +3868,7 @@ msgstr[2] "" "\n" "Táto akcie nemôže byť vrátená späť." -#: ../src/Dialogs.vala:2756 +#: src/Dialogs.vala:2759 #, c-format msgid "" "The photo or video cannot be moved to your desktop trash. Delete this file?" @@ -2459,7 +3885,7 @@ msgstr[2] "" "Chcete tieto súbory odstrániť?" #. Alert the user that the files were not removed. -#: ../src/Dialogs.vala:2773 +#: src/Dialogs.vala:2776 #, c-format msgid "The photo or video cannot be deleted." msgid_plural "%d photos/videos cannot be deleted." @@ -2467,2756 +3893,2530 @@ msgstr[0] "%d fotografií/videí sa nedá odstrániť." msgstr[1] "Fotografia/video sa nedá odstrániť." msgstr[2] "%d fotografie/videá sa nedajú odstrániť." -#: ../src/Dimensions.vala:23 +#: src/Dimensions.vala:23 msgid "Width" -msgstr "Šírky" - -#: ../src/Dimensions.vala:26 -msgid "Height" -msgstr "Výšky" - -#. verify this is a directory -#: ../src/DirectoryMonitor.vala:889 -#, c-format -msgid "Unable to monitor %s: Not a directory (%s)" -msgstr "Nepodarilo sa sledovať %s: Nie je to adresár (%s)" - -#. if no name, pretty up the start time -#: ../src/Event.vala:751 -#, c-format -msgid "Event %s" -msgstr "Udalosť %s" - -#: ../src/Exporter.vala:232 -#, c-format -msgid "Unable to generate a temporary file for %s: %s" -msgstr "Nepodarilo sa vytvoriť dočasný súbor pre %s: %s" - -# dialog title -#: ../src/Exporter.vala:299 -msgid "Exporting" -msgstr "Exportovanie" - -#: ../src/Exporter.vala:317 -#, c-format -msgid "File %s already exists. Replace?" -msgstr "Súbor %s už existuje. Chcete ho nahradiť?" - -#: ../src/Exporter.vala:319 -msgid "_Skip" -msgstr "_Preskočiť" - -#: ../src/Exporter.vala:319 -msgid "_Replace" -msgstr "_Nahradiť" - -#: ../src/Exporter.vala:319 -msgid "Replace _All" -msgstr "Nahradiť _všetko" - -#: ../src/Exporter.vala:319 -msgid "Export" -msgstr "Export" - -#: ../src/MediaMonitor.vala:400 -#, c-format -msgid "Unable to process monitoring updates: %s" -msgstr "Nie je možné spracovať aktualizácie sledovania: %s" - -# tooltip -#: ../src/MediaPage.vala:158 -msgid "Adjust the size of the thumbnails" -msgstr "Upraví veľkosť náhľadov" - -#: ../src/MediaPage.vala:340 ../src/PhotoPage.vala:2591 -#: ../src/Resources.vala:183 ../src/direct/DirectPhotoPage.vala:174 -msgid "Zoom _In" -msgstr "_Priblížiť" - -#: ../src/MediaPage.vala:341 -msgid "Increase the magnification of the thumbnails" -msgstr "Zvýšiť zväčšenie nadhľadov" - -#: ../src/MediaPage.vala:346 ../src/PhotoPage.vala:2597 -#: ../src/Resources.vala:184 ../src/direct/DirectPhotoPage.vala:180 -msgid "Zoom _Out" -msgstr "_Vzdialiť" - -#: ../src/MediaPage.vala:347 -msgid "Decrease the magnification of the thumbnails" -msgstr "Zmenšiť zväčšenie nadhľadov" - -#: ../src/MediaPage.vala:414 -msgid "Sort _Photos" -msgstr "Usporiadať _fotografie" - -#: ../src/MediaPage.vala:423 -msgid "_Play Video" -msgstr "_Prehrať video" - -#: ../src/MediaPage.vala:424 -msgid "Open the selected videos in the system video player" -msgstr "Otvoriť vybrané videá v systémovom prehrávači videa" - -#: ../src/MediaPage.vala:428 ../src/PhotoPage.vala:2640 -msgid "_Developer" -msgstr "_Vývojár" - -#: ../src/MediaPage.vala:440 ../src/camera/Branch.vala:99 -#: ../src/camera/ImportPage.vala:710 ../src/camera/ImportPage.vala:726 -#: ../src/photos/RawSupport.vala:303 -msgid "Camera" -msgstr "Fotoaparát" - -#: ../src/MediaPage.vala:451 ../src/camera/ImportPage.vala:873 -msgid "_Titles" -msgstr "_Názvy" - -#: ../src/MediaPage.vala:452 ../src/camera/ImportPage.vala:874 -msgid "Display the title of each photo" -msgstr "Zobraziť názov každej fotografie" - -#: ../src/MediaPage.vala:457 ../src/events/EventsDirectoryPage.vala:130 -msgid "_Comments" -msgstr "Komentár" - -# tooltip -#: ../src/MediaPage.vala:458 -msgid "Display the comment of each photo" -msgstr "Zobrazí komentár ku každej fotografii" - -#: ../src/MediaPage.vala:469 ../src/library/LibraryWindow.vala:359 -msgid "Ta_gs" -msgstr "_Značky" - -#: ../src/MediaPage.vala:470 -msgid "Display each photo's tags" -msgstr "Zobraziť značky každej fotografie" - -#: ../src/MediaPage.vala:486 -msgid "By _Title" -msgstr "Podľa _názvu" - -#: ../src/MediaPage.vala:487 -msgid "Sort photos by title" -msgstr "Usporiadať fotografie podľa názvu" - -#: ../src/MediaPage.vala:492 -msgid "By Exposure _Date" -msgstr "Podľa _dátumu vytvorenie" - -#: ../src/MediaPage.vala:493 -msgid "Sort photos by exposure date" -msgstr "Usporiadať fotografie podľa dátumu vytvorenia" - -#: ../src/MediaPage.vala:498 -msgid "By _Rating" -msgstr "Podľa _hodnotenia" - -#: ../src/MediaPage.vala:499 -msgid "Sort photos by rating" -msgstr "Usporiadať fotografie podľa hodnotenia" - -#: ../src/MediaPage.vala:504 -msgid "By _Filename" -msgstr "Podľa názvu _súboru" - -#: ../src/MediaPage.vala:505 -msgid "Sort photos by filename" -msgstr "Usporiada fotografie podľa názvu súboru" - -#: ../src/MediaPage.vala:515 ../src/library/LibraryWindow.vala:405 -msgid "_Ascending" -msgstr "Vz_ostupne" - -#: ../src/MediaPage.vala:516 ../src/library/LibraryWindow.vala:406 -msgid "Sort photos in an ascending order" -msgstr "Usporiadať fotografie vo vzostupnom poradí" - -#: ../src/MediaPage.vala:521 ../src/library/LibraryWindow.vala:412 -msgid "D_escending" -msgstr "Zo_stupne" - -#: ../src/MediaPage.vala:522 ../src/library/LibraryWindow.vala:413 -msgid "Sort photos in a descending order" -msgstr "Usporiadať fotografie v zostupnom poradí" - -#: ../src/MediaPage.vala:723 -#, c-format -msgid "" -"Shotwell was unable to play the selected video:\n" -"%s" -msgstr "" -"Shotwell nebol schopný prehrať vybrané video: \n" -"%s" +msgstr "Šírky" -#: ../src/Page.vala:1263 -msgid "No photos/videos" -msgstr "Žiadne fotografie/videá" +#: src/Dimensions.vala:26 +msgid "Height" +msgstr "Výšky" -#: ../src/Page.vala:1267 -msgid "No photos/videos found" -msgstr "Neboli nájdené žiadne fotografie/videá" +#: src/direct/DirectPhotoPage.vala:46 src/library/LibraryWindow.vala:335 +msgid "_File" +msgstr "_Súbor" -#: ../src/Page.vala:2565 -msgid "Photos cannot be exported to this directory." -msgstr "Fotografie nemôžu byť exportované do tohoto adresára." +#: src/direct/DirectPhotoPage.vala:51 src/direct/DirectPhotoPage.vala:432 +#: src/Resources.vala:175 +msgid "_Save" +msgstr "_Uložiť" -#: ../src/Photo.vala:3753 -msgid "modified" -msgstr "upravené" +#: src/direct/DirectPhotoPage.vala:52 +msgid "Save photo" +msgstr "Uložiť fotografiu" -#. previous button -#: ../src/PhotoPage.vala:533 -msgid "Previous photo" -msgstr "Predchádzajúca fotografia" +#: src/direct/DirectPhotoPage.vala:57 +msgid "Save _As..." +msgstr "Uložiť _ako..." -#. next button -#: ../src/PhotoPage.vala:539 -msgid "Next photo" -msgstr "Ďalšia fotografia" +#: src/direct/DirectPhotoPage.vala:58 +msgid "Save photo with a different name" +msgstr "Uložiť fotografiu pod novým názvom" -#: ../src/PhotoPage.vala:1845 -#, c-format -msgid "Photo source file missing: %s" -msgstr "Chýba zdrojový súbor fotografie: %s" +#: src/direct/DirectPhotoPage.vala:69 +msgid "Print the photo to a printer connected to your computer" +msgstr "Vytlačiť fotografiu na tlačiarni pripojenej k vášmu počítaču" -#: ../src/PhotoPage.vala:2412 ../src/direct/DirectPhotoPage.vala:165 -#: ../src/library/LibraryWindow.vala:343 -msgid "_View" -msgstr "_Zobraziť" +#: src/direct/DirectPhotoPage.vala:73 src/library/LibraryWindow.vala:339 +#: src/Resources.vala:159 +msgid "_Edit" +msgstr "_Upraviť" + +#: src/direct/DirectPhotoPage.vala:77 src/library/LibraryWindow.vala:347 +msgid "_Photo" +msgstr "_Fotografia" -#: ../src/PhotoPage.vala:2416 ../src/direct/DirectPhotoPage.vala:81 +#: src/direct/DirectPhotoPage.vala:81 src/PhotoPage.vala:2416 msgid "T_ools" msgstr "Nás_troje" -#: ../src/PhotoPage.vala:2421 ../src/direct/DirectPhotoPage.vala:86 +#: src/direct/DirectPhotoPage.vala:86 src/PhotoPage.vala:2421 msgid "_Previous Photo" msgstr "_Predchádzajúca fotografia" -#: ../src/PhotoPage.vala:2422 ../src/direct/DirectPhotoPage.vala:87 +#: src/direct/DirectPhotoPage.vala:87 src/PhotoPage.vala:2422 msgid "Previous Photo" msgstr "Predchádzajúca fotografia" -#: ../src/PhotoPage.vala:2427 ../src/direct/DirectPhotoPage.vala:92 +#: src/direct/DirectPhotoPage.vala:92 src/PhotoPage.vala:2427 msgid "_Next Photo" msgstr "Ďa_lšia fotografia" -#: ../src/PhotoPage.vala:2428 ../src/direct/DirectPhotoPage.vala:93 +#: src/direct/DirectPhotoPage.vala:93 src/PhotoPage.vala:2428 msgid "Next Photo" msgstr "Ďalšia fotografia" -#: ../src/PhotoPage.vala:2592 ../src/direct/DirectPhotoPage.vala:175 +#: src/direct/DirectPhotoPage.vala:165 src/library/LibraryWindow.vala:343 +#: src/PhotoPage.vala:2412 +msgid "_View" +msgstr "_Zobraziť" + +#: src/direct/DirectPhotoPage.vala:169 src/library/LibraryWindow.vala:363 +#: src/Resources.vala:162 +msgid "_Help" +msgstr "_Pomocník" + +#: src/direct/DirectPhotoPage.vala:174 src/MediaPage.vala:340 +#: src/PhotoPage.vala:2591 src/Resources.vala:183 +msgid "Zoom _In" +msgstr "_Priblížiť" + +#: src/direct/DirectPhotoPage.vala:175 src/PhotoPage.vala:2592 msgid "Increase the magnification of the photo" msgstr "Zvýšiť zväčšenie fotografie" -#: ../src/PhotoPage.vala:2598 ../src/direct/DirectPhotoPage.vala:181 +#: src/direct/DirectPhotoPage.vala:180 src/MediaPage.vala:346 +#: src/PhotoPage.vala:2597 src/Resources.vala:184 +msgid "Zoom _Out" +msgstr "_Vzdialiť" + +#: src/direct/DirectPhotoPage.vala:181 src/PhotoPage.vala:2598 msgid "Decrease the magnification of the photo" msgstr "Zmenšiť zväčšenie fotografie" -#: ../src/PhotoPage.vala:2603 ../src/direct/DirectPhotoPage.vala:186 +#: src/direct/DirectPhotoPage.vala:186 src/PhotoPage.vala:2603 msgid "Fit to _Page" msgstr "Prispôsobiť _strane" -#: ../src/PhotoPage.vala:2604 ../src/direct/DirectPhotoPage.vala:187 +#: src/direct/DirectPhotoPage.vala:187 src/PhotoPage.vala:2604 msgid "Zoom the photo to fit on the screen" msgstr "Zväčšiť fotografiu na veľkosť obrazovky" -#: ../src/PhotoPage.vala:2610 ../src/direct/DirectPhotoPage.vala:193 +#: src/direct/DirectPhotoPage.vala:193 src/PhotoPage.vala:2610 #, no-c-format msgid "Zoom _100%" msgstr "Mierka _100%" -#: ../src/PhotoPage.vala:2612 ../src/direct/DirectPhotoPage.vala:195 +#: src/direct/DirectPhotoPage.vala:195 src/PhotoPage.vala:2612 #, no-c-format msgid "Zoom the photo to 100% magnification" msgstr "Priblížiť fotografiu na 100% zväčšenie" -#: ../src/PhotoPage.vala:2618 ../src/direct/DirectPhotoPage.vala:201 +#: src/direct/DirectPhotoPage.vala:201 src/PhotoPage.vala:2618 #, no-c-format msgid "Zoom _200%" msgstr "Mierka _200%" -#: ../src/PhotoPage.vala:2620 ../src/direct/DirectPhotoPage.vala:203 +#: src/direct/DirectPhotoPage.vala:203 src/PhotoPage.vala:2620 #, no-c-format msgid "Zoom the photo to 200% magnification" msgstr "Priblížiť fotografiu na 200% zväčšenie" -#: ../src/PhotoPage.vala:3229 +#: src/direct/DirectPhotoPage.vala:227 #, c-format -msgid "Unable to export %s: %s" -msgstr "Nepodarilo sa exportovať %s: %s" - -#: ../src/Printing.vala:255 -msgid "Fill the entire page" -msgstr "Vyplniť celú stranu" - -#: ../src/Printing.vala:256 -msgid "2 images per page" -msgstr "2 obrázky na stranu" - -#: ../src/Printing.vala:257 -msgid "4 images per page" -msgstr "4 obrázky na stranu" - -#: ../src/Printing.vala:258 -msgid "6 images per page" -msgstr "6 obrázkov na stranu" - -#: ../src/Printing.vala:259 -msgid "8 images per page" -msgstr "8 obrázkov na stranu" - -#: ../src/Printing.vala:260 -msgid "16 images per page" -msgstr "16 obrázkov na stranu" - -#: ../src/Printing.vala:261 -msgid "32 images per page" -msgstr "32 obrázkov na stranu" - -#: ../src/Printing.vala:348 -msgid "in." -msgstr "palcov" - -#: ../src/Printing.vala:349 -msgid "cm" -msgstr "cm" - -#: ../src/Printing.vala:817 ../src/editing_tools/EditingTools.vala:761 -msgid "Wallet (2 x 3 in.)" -msgstr "Peňaženka (2 x 3 palce)" - -#: ../src/Printing.vala:820 ../src/editing_tools/EditingTools.vala:762 -msgid "Notecard (3 x 5 in.)" -msgstr "Zápisník (3 x 5 palcov)" - -#: ../src/Printing.vala:823 ../src/editing_tools/EditingTools.vala:763 -msgid "4 x 6 in." -msgstr "4 x 6 palcov" - -#: ../src/Printing.vala:826 ../src/editing_tools/EditingTools.vala:764 -msgid "5 x 7 in." -msgstr "5 x 7 palcov" - -#: ../src/Printing.vala:829 ../src/editing_tools/EditingTools.vala:765 -msgid "8 x 10 in." -msgstr "8 x 10 palcov" - -#: ../src/Printing.vala:832 ../src/editing_tools/EditingTools.vala:767 -msgid "11 x 14 in." -msgstr "11 x 14 palcov" - -#: ../src/Printing.vala:835 ../src/editing_tools/EditingTools.vala:769 -msgid "16 x 20 in." -msgstr "16 x 20 palcov" - -#: ../src/Printing.vala:841 ../src/editing_tools/EditingTools.vala:771 -msgid "Metric Wallet (9 x 13 cm)" -msgstr "Metrická peňaženka (9 x 13 cm)" - -#: ../src/Printing.vala:844 ../src/editing_tools/EditingTools.vala:772 -msgid "Postcard (10 x 15 cm)" -msgstr "Pohľadnica (10 x 15 cm)" - -#: ../src/Printing.vala:847 ../src/editing_tools/EditingTools.vala:773 -msgid "13 x 18 cm" -msgstr "13 x 18 cm" - -#: ../src/Printing.vala:850 ../src/editing_tools/EditingTools.vala:774 -msgid "18 x 24 cm" -msgstr "18 x 24 cm" - -#: ../src/Printing.vala:853 ../src/editing_tools/EditingTools.vala:776 -msgid "20 x 30 cm" -msgstr "20 x 30 cm" - -#: ../src/Printing.vala:856 ../src/editing_tools/EditingTools.vala:777 -msgid "24 x 40 cm" -msgstr "24 x 40 cm" - -#: ../src/Printing.vala:859 ../src/editing_tools/EditingTools.vala:778 -msgid "30 x 40 cm" -msgstr "30 x 40 cm" - -#: ../src/Printing.vala:875 -msgid "Image Settings" -msgstr "Nastavenia obrázka" +msgid "%s does not exist." +msgstr "%s neexistuje." -#: ../src/Printing.vala:888 -msgid "Printing..." -msgstr "Tlačí sa..." +#: src/direct/DirectPhotoPage.vala:229 +#, c-format +msgid "%s is not a file." +msgstr "%s nie je súbor." -#: ../src/Printing.vala:908 ../src/Printing.vala:1111 +#: src/direct/DirectPhotoPage.vala:231 #, c-format msgid "" -"Unable to print photo:\n" -"\n" -"%s" +"%s does not support the file format of\n" +"%s." msgstr "" -"Nepodarilo sa vytlačiť fotografiu:\n" -"\n" -"%s" - -#: ../src/Properties.vala:84 -msgid "Today" -msgstr "Dnes" - -#: ../src/Properties.vala:86 -msgid "Yesterday" -msgstr "Včera" - -#: ../src/Properties.vala:227 ../src/camera/ImportPage.vala:311 -msgid "RAW+JPEG" -msgstr "RAW+JPEG" - -#: ../src/Properties.vala:343 -msgid "Items:" -msgstr "Položky:" +"%s nepodporuje súborový formát\n" +"%s." -#: ../src/Properties.vala:346 +#: src/direct/DirectPhotoPage.vala:248 #, c-format -msgid "%d Event" -msgid_plural "%d Events" -msgstr[0] "%d udalostí" -msgstr[1] "%d udalosť" -msgstr[2] "%d udalosti" +msgid "Unable open photo %s. Sorry." +msgstr "Nie je možné otvoriť fotografiu %s. Prepáčte." -#: ../src/Properties.vala:353 ../src/events/EventDirectoryItem.vala:87 -#, c-format -msgid "%d Photo" -msgid_plural "%d Photos" -msgstr[0] "%d fotografií" -msgstr[1] "%d fotografia" -msgstr[2] "%d fotografie" +#: src/direct/DirectPhotoPage.vala:432 +msgid "_Save a Copy" +msgstr "_Uložiť kópiu" -#: ../src/Properties.vala:355 ../src/events/EventDirectoryItem.vala:85 +#: src/direct/DirectPhotoPage.vala:435 #, c-format -msgid "%d Video" -msgid_plural "%d Videos" -msgstr[0] "%d videí" -msgstr[1] "%d video" -msgstr[2] "%d videá" - -#. display only one date if start and end are the same -#: ../src/Properties.vala:377 -msgid "Date:" -msgstr "Dátum:" +msgid "Lose changes to %s?" +msgstr "Zahodiť zmeny vo %s?" -#. display only one time if start and end are the same -#: ../src/Properties.vala:381 -msgid "Time:" -msgstr "Čas:" +#: src/direct/DirectPhotoPage.vala:436 +msgid "Close _without Saving" +msgstr "Zavrieť _bez uloženia" -#. display time range -#. display date range -#: ../src/Properties.vala:384 ../src/Properties.vala:389 -msgid "From:" -msgstr "Od:" +#: src/direct/DirectPhotoPage.vala:469 +#, c-format +msgid "Error while saving to %s: %s" +msgstr "Chyba počas ukladania do %s: %s" -#: ../src/Properties.vala:385 ../src/Properties.vala:390 -msgid "To:" -msgstr "Do:" +#: src/direct/DirectPhotoPage.vala:497 src/direct/DirectPhotoPage.vala:518 +msgid "Save As" +msgstr "Uložiť ako" -#: ../src/Properties.vala:395 ../src/editing_tools/EditingTools.vala:1872 -msgid "Size:" -msgstr "Veľkosť:" +#. verify this is a directory +#: src/DirectoryMonitor.vala:889 +#, c-format +msgid "Unable to monitor %s: Not a directory (%s)" +msgstr "Nepodarilo sa sledovať %s: Nie je to adresár (%s)" -#: ../src/Properties.vala:404 -msgid "Duration:" -msgstr "Trvanie:" +# tooltip +#: src/editing_tools/EditingTools.vala:665 +msgid "Return to current photo dimensions" +msgstr "Vráti sa k súčasným rozmerom fotografie" -#: ../src/Properties.vala:404 -#, c-format -msgid "%.1f seconds" -msgstr "%.1f sekundy" +# tooltip +#: src/editing_tools/EditingTools.vala:668 +msgid "Set the crop for this photo" +msgstr "Nastaví orezanie pre túto fotografiu" -#: ../src/Properties.vala:408 -msgid "Developer:" -msgstr "Vývojka:" +# tooltip +#: src/editing_tools/EditingTools.vala:680 +msgid "Pivot the crop rectangle between portrait and landscape orientations" +msgstr "Prepne obdĺžnik výrezu medzi vertikálnou a horizontálnou orientáciou" -#. fit both on the top line, emit and move on -#: ../src/Properties.vala:436 ../src/Properties.vala:440 -#: ../src/Properties.vala:447 ../src/editing_tools/EditingTools.vala:2240 -msgid "Exposure:" -msgstr "Expozícia:" +#: src/editing_tools/EditingTools.vala:753 +msgid "Unconstrained" +msgstr "Neobmedzený" -#. nothing special to be done for now for Events -#: ../src/Properties.vala:583 -msgid "Location:" -msgstr "Umiestnenie:" +#: src/editing_tools/EditingTools.vala:754 +msgid "Square" +msgstr "Štvorec" -#: ../src/Properties.vala:586 -msgid "File size:" -msgstr "Veľkosť súboru:" +#: src/editing_tools/EditingTools.vala:755 +msgid "Screen" +msgstr "Širokoúhly" -#: ../src/Properties.vala:590 -msgid "Current Development:" -msgstr "Aktuálny vývoj:" +#: src/editing_tools/EditingTools.vala:757 +#: src/editing_tools/EditingTools.vala:760 +#: src/editing_tools/EditingTools.vala:770 +#: src/editing_tools/EditingTools.vala:780 +msgid "-" +msgstr "-" -#: ../src/Properties.vala:592 -msgid "Original dimensions:" -msgstr "Pôvodné rozmery:" +#: src/editing_tools/EditingTools.vala:758 +msgid "SD Video (4 : 3)" +msgstr "SD Video (4 : 3)" -#: ../src/Properties.vala:595 -msgid "Camera make:" -msgstr "Výrobca fotoaparátu:" +#: src/editing_tools/EditingTools.vala:759 +msgid "HD Video (16 : 9)" +msgstr "HD Video (16 : 9)" -#: ../src/Properties.vala:598 -msgid "Camera model:" -msgstr "Model fotoaparátu:" +#: src/editing_tools/EditingTools.vala:761 src/Printing.vala:817 +msgid "Wallet (2 x 3 in.)" +msgstr "Peňaženka (2 x 3 palce)" -#: ../src/Properties.vala:601 -msgid "Flash:" -msgstr "Blesk:" +#: src/editing_tools/EditingTools.vala:762 src/Printing.vala:820 +msgid "Notecard (3 x 5 in.)" +msgstr "Zápisník (3 x 5 palcov)" -#: ../src/Properties.vala:603 -msgid "Focal length:" -msgstr "Ohnisková vzdialenosť:" +#: src/editing_tools/EditingTools.vala:763 src/Printing.vala:823 +msgid "4 x 6 in." +msgstr "4 x 6 palcov" -#: ../src/Properties.vala:606 -msgid "Exposure date:" -msgstr "Dátum vytvorenia:" +#: src/editing_tools/EditingTools.vala:764 src/Printing.vala:826 +msgid "5 x 7 in." +msgstr "5 x 7 palcov" -#: ../src/Properties.vala:609 -msgid "Exposure time:" -msgstr "Čas vytvorenia:" +#: src/editing_tools/EditingTools.vala:765 src/Printing.vala:829 +msgid "8 x 10 in." +msgstr "8 x 10 palcov" -#: ../src/Properties.vala:612 -msgid "Exposure bias:" -msgstr "Expozícia:" +#: src/editing_tools/EditingTools.vala:766 +msgid "Letter (8.5 x 11 in.)" +msgstr "Dopis (8.5 x 11 in.)" -#: ../src/Properties.vala:614 -msgid "GPS latitude:" -msgstr "GPS zemepisná šírka:" +#: src/editing_tools/EditingTools.vala:767 src/Printing.vala:832 +msgid "11 x 14 in." +msgstr "11 x 14 palcov" -#: ../src/Properties.vala:617 -msgid "GPS longitude:" -msgstr "GPS zemepisná dĺžka:" +#: src/editing_tools/EditingTools.vala:768 +msgid "Tabloid (11 x 17 in.)" +msgstr "Tabloid (11 x 17 palca)" -#: ../src/Properties.vala:620 -msgid "Artist:" -msgstr "Umelec:" +#: src/editing_tools/EditingTools.vala:769 src/Printing.vala:835 +msgid "16 x 20 in." +msgstr "16 x 20 palcov" -#: ../src/Properties.vala:622 -msgid "Copyright:" -msgstr "Autorské právo:" +#: src/editing_tools/EditingTools.vala:771 src/Printing.vala:841 +msgid "Metric Wallet (9 x 13 cm)" +msgstr "Metrická peňaženka (9 x 13 cm)" -#: ../src/Properties.vala:624 -msgid "Software:" -msgstr "Softvér:" +#: src/editing_tools/EditingTools.vala:772 src/Printing.vala:844 +msgid "Postcard (10 x 15 cm)" +msgstr "Pohľadnica (10 x 15 cm)" -#: ../src/Properties.vala:641 -msgid "Extended Information" -msgstr "Rozšírené informácie" +#: src/editing_tools/EditingTools.vala:773 src/Printing.vala:847 +msgid "13 x 18 cm" +msgstr "13 x 18 cm" -#: ../src/Resources.vala:17 -msgid "Photo Manager" -msgstr "Správca fotografií" +#: src/editing_tools/EditingTools.vala:774 src/Printing.vala:850 +msgid "18 x 24 cm" +msgstr "18 x 24 cm" -#: ../src/Resources.vala:18 -msgid "Photo Viewer" -msgstr "Prehliadač fotografií" +#: src/editing_tools/EditingTools.vala:775 +msgid "A4 (210 x 297 mm)" +msgstr "A4 (210 x 297 mm)" -#: ../src/Resources.vala:139 -msgid "Rotate _Right" -msgstr "Otočiť do_prava" +#: src/editing_tools/EditingTools.vala:776 src/Printing.vala:853 +msgid "20 x 30 cm" +msgstr "20 x 30 cm" -#: ../src/Resources.vala:140 ../src/Resources.vala:145 -msgid "Rotate" -msgstr "Otočiť" +#: src/editing_tools/EditingTools.vala:777 src/Printing.vala:856 +msgid "24 x 40 cm" +msgstr "24 x 40 cm" -#: ../src/Resources.vala:141 -msgid "Rotate Right" -msgstr "Otočiť doprava" +#: src/editing_tools/EditingTools.vala:778 src/Printing.vala:859 +msgid "30 x 40 cm" +msgstr "30 x 40 cm" -#: ../src/Resources.vala:142 -msgid "Rotate the photos right (press Ctrl to rotate left)" -msgstr "Otočí fotografie doprava (stlačte Ctrl na otočenie doľava)" +#: src/editing_tools/EditingTools.vala:779 +msgid "A3 (297 x 420 mm)" +msgstr "A3 (297 x 420 mm)" -#: ../src/Resources.vala:144 -msgid "Rotate _Left" -msgstr "Otočiť doľa_va" +#: src/editing_tools/EditingTools.vala:1872 src/Properties.vala:395 +msgid "Size:" +msgstr "Veľkosť:" -#: ../src/Resources.vala:146 -msgid "Rotate Left" -msgstr "Otočiť doľava" +#: src/editing_tools/EditingTools.vala:1887 +msgid "Close the red-eye tool" +msgstr "Zavrieť nástroj na odstraňovanie červených očí" -#: ../src/Resources.vala:147 -msgid "Rotate the photos left" -msgstr "Otočiť fotografie doľava" +#: src/editing_tools/EditingTools.vala:1890 +msgid "Remove any red-eye effects in the selected region" +msgstr "Odstrániť efekt červených očí vo vybranej oblasti" -#: ../src/Resources.vala:149 -msgid "Flip Hori_zontally" -msgstr "Prevrátiť vodo_rovne" +#: src/editing_tools/EditingTools.vala:2226 +#: src/editing_tools/StraightenTool.vala:102 +msgid "_Reset" +msgstr "_Obnoviť" -#: ../src/Resources.vala:150 -msgid "Flip Horizontally" -msgstr "Prevrátiť horizontálne" +#. fit both on the top line, emit and move on +#: src/editing_tools/EditingTools.vala:2240 src/Properties.vala:436 +#: src/Properties.vala:440 src/Properties.vala:447 +msgid "Exposure:" +msgstr "Expozícia:" -#: ../src/Resources.vala:152 -msgid "Flip Verti_cally" -msgstr "Prevrátiť _zvislo" +#: src/editing_tools/EditingTools.vala:2248 +msgid "Saturation:" +msgstr "Sýtosť:" -#: ../src/Resources.vala:153 -msgid "Flip Vertically" -msgstr "Prevrátiť vertikálne" +#: src/editing_tools/EditingTools.vala:2256 +msgid "Tint:" +msgstr "Sfarbenie:" -#: ../src/Resources.vala:155 -msgid "_About" -msgstr "_O programe" +#: src/editing_tools/EditingTools.vala:2265 +msgid "Temperature:" +msgstr "Teplota:" -#: ../src/Resources.vala:156 -msgid "_Apply" -msgstr "_Použiť" +#: src/editing_tools/EditingTools.vala:2273 +msgid "Shadows:" +msgstr "Tiene:" -#: ../src/Resources.vala:159 ../src/direct/DirectPhotoPage.vala:73 -#: ../src/library/LibraryWindow.vala:339 -msgid "_Edit" -msgstr "_Upraviť" +#: src/editing_tools/EditingTools.vala:2281 +msgid "Highlights:" +msgstr "Zvýraznenie:" -#: ../src/Resources.vala:160 -msgid "_Forward" -msgstr "_Dopredu" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset Colors" +msgstr "Obnoviť farby" -#: ../src/Resources.vala:161 -msgid "Fulls_creen" -msgstr "Na _celú obrazovku" +#: src/editing_tools/EditingTools.vala:2335 +msgid "Reset all color adjustments to original" +msgstr "Obnoviť všetky úpravy farby na pôvodné hodnoty" -#: ../src/Resources.vala:162 ../src/direct/DirectPhotoPage.vala:169 -#: ../src/library/LibraryWindow.vala:363 -msgid "_Help" -msgstr "_Pomocník" +#: src/editing_tools/EditingTools.vala:2687 +msgid "Temperature" +msgstr "Teplota" -#: ../src/Resources.vala:163 -msgid "Leave _Fullscreen" -msgstr "Opustiť režim _celej obrazovky" +#: src/editing_tools/EditingTools.vala:2700 +msgid "Tint" +msgstr "Sfarbenie" -#: ../src/Resources.vala:164 ../src/Resources.vala:366 -msgid "_New" -msgstr "_Nová" +#: src/editing_tools/EditingTools.vala:2713 +msgid "Saturation" +msgstr "Sýtosť" -#: ../src/Resources.vala:165 -msgid "_Next" -msgstr "Ď_alšia" +#: src/editing_tools/EditingTools.vala:2726 +msgid "Exposure" +msgstr "Expozícia" -#: ../src/Resources.vala:166 -msgid "_OK" -msgstr "_OK" +#: src/editing_tools/EditingTools.vala:2739 +msgid "Shadows" +msgstr "Tiene" -#: ../src/Resources.vala:167 -msgid "_Play" -msgstr "_Spustiť" +#: src/editing_tools/EditingTools.vala:2752 +msgid "Highlights" +msgstr "Zvýraznenie" -#: ../src/Resources.vala:168 ../src/Resources.vala:320 -msgid "_Preferences" -msgstr "_Nastavenia" +#: src/editing_tools/EditingTools.vala:2762 +msgid "Contrast Expansion" +msgstr "Rozšíriť kontrast" -#: ../src/Resources.vala:169 -msgid "_Previous" -msgstr "_Predchádzajúca" +#: src/editing_tools/StraightenTool.vala:99 +msgid "Angle:" +msgstr "Uhol:" -#: ../src/Resources.vala:170 -msgid "_Print" -msgstr "_Tlačiť" +#: src/editing_tools/StraightenTool.vala:100 src/Resources.vala:202 +msgid "_Straighten" +msgstr "_Vyrovnať" -#: ../src/Resources.vala:171 -msgid "_Quit" -msgstr "U_končiť" +#: src/events/Branch.vala:25 +msgid "Events" +msgstr "Udalosti" -#: ../src/Resources.vala:172 -msgid "_Refresh" -msgstr "_Obnoviť" +#: src/events/EventDirectoryItem.vala:83 +#, c-format +msgid "%d Photo/Video" +msgid_plural "%d Photos/Videos" +msgstr[0] "%d Fotografií/Videí" +msgstr[1] "%d Fotografia/Video" +msgstr[2] "%d Fotografie/Videá" -#: ../src/Resources.vala:174 -msgid "_Revert" -msgstr "V_rátiť" +#: src/events/EventDirectoryItem.vala:85 src/Properties.vala:355 +#, c-format +msgid "%d Video" +msgid_plural "%d Videos" +msgstr[0] "%d videí" +msgstr[1] "%d video" +msgstr[2] "%d videá" -#: ../src/Resources.vala:175 ../src/direct/DirectPhotoPage.vala:51 -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save" -msgstr "_Uložiť" +#: src/events/EventDirectoryItem.vala:87 src/Properties.vala:353 +#, c-format +msgid "%d Photo" +msgid_plural "%d Photos" +msgstr[0] "%d fotografií" +msgstr[1] "%d fotografia" +msgstr[2] "%d fotografie" -#: ../src/Resources.vala:176 -msgid "Save _As" -msgstr "Uložiť _ako" +#: src/events/EventPage.vala:129 +msgid "No Event" +msgstr "Žiadna udalosť" -#: ../src/Resources.vala:177 -msgid "Sort _Ascending" -msgstr "Usporiadať vz_ostupne" +#: src/events/EventsDirectoryPage.vala:130 src/MediaPage.vala:457 +msgid "_Comments" +msgstr "Komentár" -#: ../src/Resources.vala:178 -msgid "Sort _Descending" -msgstr "Usporiadať zo_stupne" +# tooltip +#: src/events/EventsDirectoryPage.vala:131 +msgid "Display the comment of each event" +msgstr "Zobrazí komentár ku každej udalosti" -#: ../src/Resources.vala:179 -msgid "_Stop" -msgstr "_Zastaviť" +#: src/events/EventsDirectoryPage.vala:155 +msgid "No events" +msgstr "Žiadne udalosti" -#: ../src/Resources.vala:180 -msgid "_Undelete" -msgstr "Vrátiť o_dstránenie" +#: src/events/EventsDirectoryPage.vala:159 +msgid "No events found" +msgstr "Neboli nájdené žiadne udalosti" -#: ../src/Resources.vala:181 -msgid "_Normal Size" -msgstr "_Normálna veľkosť" +#: src/events/EventsDirectoryPage.vala:230 +msgid "All Events" +msgstr "Všetky udalosti" -#: ../src/Resources.vala:182 -msgid "Best _Fit" -msgstr "_Prispôsobiť" +#: src/events/EventsDirectoryPage.vala:244 +msgid "Undated" +msgstr "Bez dátumu" -#: ../src/Resources.vala:186 -msgid "_Enhance" -msgstr "Vy_lepšiť" +#: src/events/EventsDirectoryPage.vala:245 +msgid "%Y" +msgstr "%Y" -#: ../src/Resources.vala:187 -msgid "Enhance" -msgstr "Vylepšiť" +#: src/events/EventsDirectoryPage.vala:246 +msgid "%B" +msgstr "%B" -# tooltip -#: ../src/Resources.vala:188 -msgid "Automatically improve the photo's appearance" -msgstr "Automaticky vylepší vzhľad fotografie" +#. if no name, pretty up the start time +#: src/Event.vala:751 +#, c-format +msgid "Event %s" +msgstr "Udalosť %s" -#: ../src/Resources.vala:190 -msgid "_Copy Color Adjustments" -msgstr "_Kopírovať úpravu farieb" +#: src/Exporter.vala:232 +#, c-format +msgid "Unable to generate a temporary file for %s: %s" +msgstr "Nepodarilo sa vytvoriť dočasný súbor pre %s: %s" -#: ../src/Resources.vala:191 -msgid "Copy Color Adjustments" -msgstr "Kopírovať úpravu farieb" +# dialog title +#: src/Exporter.vala:299 +msgid "Exporting" +msgstr "Exportovanie" -# tooltip -#: ../src/Resources.vala:192 -msgid "Copy the color adjustments applied to the photo" -msgstr "Skopíruje úpravu farieb aplikovanú na fotografiu" +#: src/Exporter.vala:317 +#, c-format +msgid "File %s already exists. Replace?" +msgstr "Súbor %s už existuje. Chcete ho nahradiť?" -#: ../src/Resources.vala:194 -msgid "_Paste Color Adjustments" -msgstr "_Vložiť úpravu farieb" +#: src/Exporter.vala:319 +msgid "_Skip" +msgstr "_Preskočiť" -#: ../src/Resources.vala:195 -msgid "Paste Color Adjustments" -msgstr "Vložiť úpravu farieb" +#: src/Exporter.vala:319 +msgid "_Replace" +msgstr "_Nahradiť" -# tooltip -#: ../src/Resources.vala:196 -msgid "Apply copied color adjustments to the selected photos" -msgstr "Aplikuje skopírovanú úpravu farieb na vybranú fotografiu" +#: src/Exporter.vala:319 +msgid "Replace _All" +msgstr "Nahradiť _všetko" -#: ../src/Resources.vala:198 -msgid "_Crop" -msgstr "O_rezať" +#: src/Exporter.vala:319 +msgid "Export" +msgstr "Export" -#: ../src/Resources.vala:199 -msgid "Crop" -msgstr "Orezať" +#: src/folders/Branch.vala:141 +msgid "Folders" +msgstr "Priečinky" -# tooltip -#: ../src/Resources.vala:200 -msgid "Crop the photo's size" -msgstr "Oreže veľkosť fotografie" +#: src/library/Branch.vala:30 src/library/Branch.vala:130 ui/shotwell.ui:1191 +msgid "Library" +msgstr "Knižnica" -#: ../src/Resources.vala:202 ../src/editing_tools/StraightenTool.vala:100 -msgid "_Straighten" -msgstr "_Vyrovnať" +#: src/library/Branch.vala:97 src/SearchFilter.vala:594 +#: src/SearchFilter.vala:595 +msgid "Photos" +msgstr "Fotografie" -#: ../src/Resources.vala:203 -msgid "Straighten" -msgstr "Vyrovnať" +#: src/library/FlaggedPage.vala:8 src/SearchFilter.vala:588 +#: src/SearchFilter.vala:589 src/SearchFilter.vala:988 +msgid "Flagged" +msgstr "Označené" -# tooltip -#: ../src/Resources.vala:204 -msgid "Straighten the photo" -msgstr "Vyrovná fotografiu" +#: src/library/ImportQueuePage.vala:8 +msgid "Importing..." +msgstr "Importuje sa..." -#: ../src/Resources.vala:206 -msgid "_Red-eye" -msgstr "Červené _oči" +#: src/library/ImportQueuePage.vala:67 +msgid "_Stop Import" +msgstr "_Zastaviť importovanie" -#: ../src/Resources.vala:207 -msgid "Red-eye" -msgstr "Červené oči" +#: src/library/ImportQueuePage.vala:68 +msgid "Stop importing photos" +msgstr "Zastaviť importovanie fotografií" -# tooltip -#: ../src/Resources.vala:208 -msgid "Reduce or eliminate any red-eye effects in the photo" -msgstr "Zmierni alebo odstráni efekt červených očí vo fotografii" +#: src/library/ImportQueuePage.vala:124 +msgid "Preparing to import..." +msgstr "Pripravuje sa importovanie..." -#: ../src/Resources.vala:210 -msgid "_Adjust" -msgstr "_Upraviť" +#: src/library/ImportQueuePage.vala:151 +#, c-format +msgid "Imported %s" +msgstr "Importovaný súbor „%s“" -#: ../src/Resources.vala:211 -msgid "Adjust" -msgstr "Upraviť" +#: src/library/LastImportPage.vala:8 +msgid "Last Import" +msgstr "Posledné importovanie" -# tooltip -#: ../src/Resources.vala:212 -msgid "Adjust the photo's color and tone" -msgstr "Upraví farbu a tón fotografie" +#: src/library/LibraryWindow.vala:285 +msgid "_Import From Folder..." +msgstr "_Importovať z priečinka..." -#: ../src/Resources.vala:214 -msgid "Re_vert to Original" -msgstr "Vrátiť do _pôvodného stavu" +#: src/library/LibraryWindow.vala:286 +msgid "Import photos from disk to library" +msgstr "Importovať fotografie z disku do knižnice" -#: ../src/Resources.vala:215 -msgid "Revert to Original" -msgstr "Vrátiť do pôvodného stavu" +#: src/library/LibraryWindow.vala:293 +msgid "Import From _Application..." +msgstr "Importovať z _aplikácie..." -#: ../src/Resources.vala:217 -msgid "Revert External E_dits" -msgstr "Vrátiť _externé úpravy" +#: src/library/LibraryWindow.vala:297 +msgid "Sort _Events" +msgstr "Zora_diť udalosti" -#: ../src/Resources.vala:218 -msgid "Revert to the master photo" -msgstr "Vrátiť sa k pôvodnej fotografii" +#: src/library/LibraryWindow.vala:307 +msgid "Empty T_rash" +msgstr "_Vyprázdniť kôš" -#: ../src/Resources.vala:220 -msgid "Set as _Desktop Background" -msgstr "Nastaviť ako _pozadie pracovnej plochy" +# tooltip +#: src/library/LibraryWindow.vala:308 +msgid "Delete all photos in the trash" +msgstr "Odstráni všetky fotografie v koši" -#: ../src/Resources.vala:221 -msgid "Set selected image to be the new desktop background" -msgstr "Nastaviť vybraný obrázok ako pozadie pracovnej plochy" +#: src/library/LibraryWindow.vala:313 +msgid "View Eve_nt for Photo" +msgstr "Zobraziť u_dalosť fotografie" -#: ../src/Resources.vala:222 -msgid "Set as _Desktop Slideshow..." -msgstr "Nastaviť ako _prezentáciu pre pracovnú plochu..." +#: src/library/LibraryWindow.vala:317 +msgid "_Find" +msgstr "_Nájsť" -#: ../src/Resources.vala:224 -msgid "_Undo" -msgstr "Vrátiť _späť" +#: src/library/LibraryWindow.vala:318 +msgid "Find photos and videos by search criteria" +msgstr "Nájsť fotografie a videá podľa kritérií hľadania" -#: ../src/Resources.vala:225 -msgid "Undo" -msgstr "Vrátiť späť" +#: src/library/LibraryWindow.vala:329 src/searches/Branch.vala:77 +#: src/sidebar/Tree.vala:199 +msgid "Ne_w Saved Search..." +msgstr "No_vé uložené vyhľadávanie..." -#: ../src/Resources.vala:227 -msgid "_Redo" -msgstr "_Opakovať vrátené" +#: src/library/LibraryWindow.vala:351 +msgid "_Photos" +msgstr "_Fotografie" -#: ../src/Resources.vala:228 -msgid "Redo" -msgstr "Opakovať vrátené" +#: src/library/LibraryWindow.vala:355 +msgid "Even_ts" +msgstr "U_dalosti" -#: ../src/Resources.vala:230 -msgid "Re_name Event..." -msgstr "Pre_menovať udalosť..." +#: src/library/LibraryWindow.vala:359 src/MediaPage.vala:469 +msgid "Ta_gs" +msgstr "_Značky" -#: ../src/Resources.vala:233 -msgid "Make _Key Photo for Event" -msgstr "Označiť ako _hlavnú fotografiu udalosti" +#: src/library/LibraryWindow.vala:374 +msgid "_Basic Information" +msgstr "_Základné informácie" -#: ../src/Resources.vala:234 -msgid "Make Key Photo for Event" -msgstr "Označiť ako hlavnú fotografiu udalosti" +#: src/library/LibraryWindow.vala:375 +msgid "Display basic information for the selection" +msgstr "Zobraziť základné informácie pre výber" -#: ../src/Resources.vala:236 -msgid "_New Event" -msgstr "_Nová udalosť" +#: src/library/LibraryWindow.vala:380 +msgid "E_xtended Information" +msgstr "_Rozšírené informácie" -#: ../src/Resources.vala:237 -msgid "New Event" -msgstr "Nová udalosť" +#: src/library/LibraryWindow.vala:381 +msgid "Display extended information for the selection" +msgstr "Zobraziť rozšírené informácie pre výber" -#: ../src/Resources.vala:239 -msgid "Move Photos" -msgstr "Presunúť fotografie" +#: src/library/LibraryWindow.vala:386 +msgid "_Search Bar" +msgstr "_Panel vyhľadávania" -#: ../src/Resources.vala:240 -msgid "Move photos to an event" -msgstr "Presunúť fotografie do udalosti" +#: src/library/LibraryWindow.vala:387 +msgid "Display the search bar" +msgstr "Zobrazí panel vyhľadávania" -#: ../src/Resources.vala:242 -msgid "_Merge Events" -msgstr "_Zlúčiť udalosti" +#: src/library/LibraryWindow.vala:392 +msgid "S_idebar" +msgstr "Bočný panel" -#: ../src/Resources.vala:243 -msgid "Merge" -msgstr "Zlúčiť" +#: src/library/LibraryWindow.vala:393 +msgid "Display the sidebar" +msgstr "Zobraz bočný panel" -#: ../src/Resources.vala:244 -msgid "Combine events into a single event" -msgstr "Zlúčiť udalosti do jednej udalosti" +#: src/library/LibraryWindow.vala:398 +msgid "T_oolbar" +msgstr "Panel _nástrojov" -#: ../src/Resources.vala:246 -msgid "_Set Rating" -msgstr "O_hodnotiť" +# tooltip +#: src/library/LibraryWindow.vala:399 +msgid "Display the tool bar" +msgstr "Zobrazí panel nástrojov" -#: ../src/Resources.vala:247 -msgid "Set Rating" -msgstr "Ohodnotiť" +#: src/library/LibraryWindow.vala:411 src/MediaPage.vala:515 +msgid "_Ascending" +msgstr "Vz_ostupne" -#: ../src/Resources.vala:248 -msgid "Change the rating of your photo" -msgstr "Zmeniť hodnotenie vašej fotografie" +#: src/library/LibraryWindow.vala:412 src/MediaPage.vala:516 +msgid "Sort photos in an ascending order" +msgstr "Usporiadať fotografie vo vzostupnom poradí" -#: ../src/Resources.vala:250 -msgid "_Increase" -msgstr "Z_výšiť" +#: src/library/LibraryWindow.vala:418 src/MediaPage.vala:521 +msgid "D_escending" +msgstr "Zo_stupne" -#: ../src/Resources.vala:251 -msgid "Increase Rating" -msgstr "Zvýšiť hodnotenie" +#: src/library/LibraryWindow.vala:419 src/MediaPage.vala:522 +msgid "Sort photos in a descending order" +msgstr "Usporiadať fotografie v zostupnom poradí" -#: ../src/Resources.vala:253 -msgid "_Decrease" -msgstr "_Znížiť" +#: src/library/LibraryWindow.vala:657 +msgid "Import From Folder" +msgstr "Importovať z priečinka" -#: ../src/Resources.vala:254 -msgid "Decrease Rating" -msgstr "Znížiť hodnotenie" +#: src/library/LibraryWindow.vala:726 +msgid "Empty Trash" +msgstr "Vyprázdniť kôš" -#: ../src/Resources.vala:256 -msgid "_Unrated" -msgstr "_Neohodnotená" +#: src/library/LibraryWindow.vala:726 +msgid "Emptying Trash..." +msgstr "Vyprázdňuje sa kôš..." -#: ../src/Resources.vala:257 -msgid "Unrated" -msgstr "Neohodnotená" +#: src/library/LibraryWindow.vala:901 +#, c-format +msgid "" +"Shotwell is configured to import photos to your home directory.\n" +"We recommend changing this in Edit %s Preferences.\n" +"Do you want to continue importing photos?" +msgstr "" +"Program Shotwell je nastavený aby importoval fotografie do vášho domovského " +"priečinku.\n" +"Odporúčame to zmeniť cez ponuku Upraviť nastavenia " +"programu %s.\n" +"Chcete pokračovať s importovaním fotografií?" -#: ../src/Resources.vala:258 -msgid "Rate Unrated" -msgstr "Hodnotiť neohodnotené" +#: src/library/LibraryWindow.vala:904 ui/shotwell.ui:784 +msgid "Library Location" +msgstr "Umiestnenie knižnice" -#: ../src/Resources.vala:259 -msgid "Setting as unrated" -msgstr "Nastavuje sa ako neohodnotená" +#. TODO: Specify which directory/file. +#: src/library/LibraryWindow.vala:917 +msgid "Photos cannot be imported from this directory." +msgstr "Fotografie sa nedajú importovať z tohto adresára." -#: ../src/Resources.vala:260 -msgid "Remove any ratings" -msgstr "Odstrániť všetky hodnotenia" +#: src/library/LibraryWindow.vala:1203 +#, c-format +msgid "%s (%d%%)" +msgstr "%s (%d%%)" -#: ../src/Resources.vala:262 -msgid "_Rejected" -msgstr "_Odmietnutá" +#: src/library/LibraryWindow.vala:1247 src/library/LibraryWindow.vala:1258 +msgid "Updating library..." +msgstr "Aktualizuje sa knižnica..." -#: ../src/Resources.vala:263 -msgid "Rejected" -msgstr "Odmietnutá" +#: src/library/LibraryWindow.vala:1264 +msgid "Preparing to auto-import photos..." +msgstr "Pripravuje sa automatické importovanie fotografií..." -#: ../src/Resources.vala:264 -msgid "Rate Rejected" -msgstr "Hodnotiť odmietnuté" +#: src/library/LibraryWindow.vala:1269 +msgid "Auto-importing photos..." +msgstr "Prebieha automatické importovanie fotografií..." -#: ../src/Resources.vala:265 -msgid "Setting as rejected" -msgstr "Nastavuje sa ako odmietnutá" +#: src/library/LibraryWindow.vala:1277 +msgid "Writing metadata to files..." +msgstr "Zapisujú sa metaúdaje do súborov..." -#: ../src/Resources.vala:266 -msgid "Set rating to rejected" -msgstr "Nastaviť hodnotenie ako odmietnuté" +#: src/library/OfflinePage.vala:8 +msgid "Missing Files" +msgstr "Chýbajúce súbory" -#: ../src/Resources.vala:268 -msgid "Rejected _Only" -msgstr "Len _odmietnuté" +#: src/library/OfflinePage.vala:106 +msgid "Deleting..." +msgstr "Odstraňuje sa..." -#: ../src/Resources.vala:269 -msgid "Rejected Only" -msgstr "Len odmietnuté" +#: src/library/TrashPage.vala:8 +msgid "Trash" +msgstr "Kôš" -#: ../src/Resources.vala:270 -msgid "Show only rejected photos" -msgstr "Zobraziť len odmietnuté fotografie" +#: src/library/TrashPage.vala:108 +msgid "Trash is empty" +msgstr "Kôš je prázdny" -#: ../src/Resources.vala:272 -msgid "All + _Rejected" -msgstr "Všetky + o_dmietnuté" +#: src/library/TrashPage.vala:112 +msgid "Delete" +msgstr "Odstrániť" -#: ../src/Resources.vala:273 ../src/Resources.vala:274 -msgid "Show all photos, including rejected" -msgstr "Zobraziť všetky fotografie vrátane odmietnutých" +#: src/library/TrashPage.vala:113 +msgid "Deleting Photos" +msgstr "Odstraňujú sa fotografie" -#: ../src/Resources.vala:276 -msgid "_All Photos" -msgstr "_Všetky fotografie" +#: src/main.vala:54 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please use the latest version of Shotwell." +msgstr "" +"Vaša knižnica fotografií nie je kompatibilná s touto verziou programu " +"Shotwell. Zdá sa, že bola vytvorená programom Shotwell %s (schéma %d). Táto " +"verzia je %s (schéma %d). Prosím, použite najnovšiu verziu programu " +"Shotwell." -# DK: https://bugzilla.gnome.org/show_bug.cgi?id=744254 -#. Button label -#. Button tooltip -#: ../src/Resources.vala:278 ../src/Resources.vala:280 -msgid "Show all photos" -msgstr "Zobraziť všetky fotografie" +#: src/main.vala:59 +#, c-format +msgid "" +"Shotwell was unable to upgrade your photo library from version %s (schema " +"%d) to %s (schema %d). For more information please check the Shotwell Wiki " +"at %s" +msgstr "" +"Shotwell nebol schopný zmeniť verziu vašej knižnice fotografií z %s (schéma " +"%d) na %s (schéma %d). Pre viac informácií si, prosím, pozrite wiki stránku " +"programu Shotwell na %s" + +#: src/main.vala:65 +#, c-format +msgid "" +"Your photo library is not compatible with this version of Shotwell. It " +"appears it was created by Shotwell %s (schema %d). This version is %s " +"(schema %d). Please clear your library by deleting %s and re-import your " +"photos." +msgstr "" +"Vaša knižnica fotografií nie je kompatibilná s touto verziou programu " +"Shotwell. Zdá sa, že bola vytvorená programom Shotwell %s (schéma %d). " +"Táto verzia je %s (schéma %d). Prosím, vyčistite vašu knižnicu odstránením " +"%s a znovu importujte vaše fotografie." -#: ../src/Resources.vala:282 -msgid "_Ratings" -msgstr "_Hodnotenia" +#: src/main.vala:71 +#, c-format +msgid "Unknown error attempting to verify Shotwell's database: %s" +msgstr "Neznáma chyba pri pokuse o overenie databázy programu Shotwell: %s" -#: ../src/Resources.vala:283 -msgid "Display each photo's rating" -msgstr "Zobraziť hodnotenie každej fotografie" +#: src/main.vala:104 +msgid "Loading Shotwell" +msgstr "Načítavam Shotwell" -#: ../src/Resources.vala:285 -msgid "_Filter Photos" -msgstr "_Filtrovať fotografie" +#: src/main.vala:294 +msgid "Path to Shotwell's private data" +msgstr "Cesta k súkromným údajom programu Shotwell" -#: ../src/Resources.vala:286 -msgid "Filter Photos" -msgstr "Filtrovať fotografie" +#: src/main.vala:294 +msgid "DIRECTORY" +msgstr "ADRESÁR" -#: ../src/Resources.vala:287 -msgid "Limit the number of photos displayed based on a filter" -msgstr "Obmedziť počet zobrazených fotografií na základe filtra" +# cmd desc +#: src/main.vala:298 +msgid "Do not monitor library directory at runtime for changes" +msgstr "Nebude sledovať zmeny v adresári s knižnicou pri spustení" -#: ../src/Resources.vala:289 -msgid "_Duplicate" -msgstr "Du_plikovať" +# cmd desc +#: src/main.vala:302 +msgid "Don't display startup progress meter" +msgstr "Po spustení nezobrazí ukazovateľ priebehu" -#: ../src/Resources.vala:290 -msgid "Duplicate" -msgstr "Duplikovať" +# cmd desc +#: src/main.vala:306 +msgid "Show the application's version" +msgstr "Zobrazí verziu aplikácie" -#: ../src/Resources.vala:291 -msgid "Make a duplicate of the photo" -msgstr "Vytvoriť duplikát fotografie" +#. init GTK (valac has already called g_threads_init()) +#: src/main.vala:338 +msgid "[FILE]" +msgstr "[SÚBOR]" -#: ../src/Resources.vala:293 -msgid "_Export..." -msgstr "_Exportovať..." +#: src/main.vala:342 +#, c-format +msgid "Run '%s --help' to see a full list of available command line options.\n" +msgstr "" +"Spustením '%s --help' zobrazíte úplný zoznam dostupných volieb príkazového " +"riadku.\n" -#: ../src/Resources.vala:295 -msgid "_Print..." -msgstr "_Tlačiť..." +#: src/MediaMonitor.vala:400 +#, c-format +msgid "Unable to process monitoring updates: %s" +msgstr "Nie je možné spracovať aktualizácie sledovania: %s" -#: ../src/Resources.vala:297 -msgid "Pu_blish..." -msgstr "_Uverejniť..." +# tooltip +#: src/MediaPage.vala:158 +msgid "Adjust the size of the thumbnails" +msgstr "Upraví veľkosť náhľadov" -#: ../src/Resources.vala:299 -msgid "Publish to various websites" -msgstr "Uverejní na rôznych webových stránkach" +#: src/MediaPage.vala:341 +msgid "Increase the magnification of the thumbnails" +msgstr "Zvýšiť zväčšenie nadhľadov" -#: ../src/Resources.vala:301 -msgid "Edit _Title..." -msgstr "Upraviť _názov..." +#: src/MediaPage.vala:347 +msgid "Decrease the magnification of the thumbnails" +msgstr "Zmenšiť zväčšenie nadhľadov" -#: ../src/Resources.vala:305 -msgid "Edit _Comment..." -msgstr "Upraviť _komentár..." +#: src/MediaPage.vala:414 +msgid "Sort _Photos" +msgstr "Usporiadať _fotografie" -#. Button label -#: ../src/Resources.vala:307 -msgid "Edit Comment" -msgstr "Upraviť komentár" +#: src/MediaPage.vala:423 +msgid "_Play Video" +msgstr "_Prehrať video" -#: ../src/Resources.vala:309 -msgid "Edit Event _Comment..." -msgstr "Upraviť komentár k _udalosti..." +#: src/MediaPage.vala:424 +msgid "Open the selected videos in the system video player" +msgstr "Otvoriť vybrané videá v systémovom prehrávači videa" -#: ../src/Resources.vala:312 -msgid "_Adjust Date and Time..." -msgstr "_Upraviť dátum a čas..." +#: src/MediaPage.vala:428 src/PhotoPage.vala:2640 +msgid "_Developer" +msgstr "_Vývojár" -# window title -#: ../src/Resources.vala:313 -msgid "Adjust Date and Time" -msgstr "Upráva dátumu a času" +# tooltip +#: src/MediaPage.vala:458 +msgid "Display the comment of each photo" +msgstr "Zobrazí komentár ku každej fotografii" -#: ../src/Resources.vala:315 -msgid "Add _Tags..." -msgstr "Pridať _značky..." +#: src/MediaPage.vala:470 +msgid "Display each photo's tags" +msgstr "Zobraziť značky každej fotografie" -#: ../src/Resources.vala:316 -msgid "_Add Tags..." -msgstr "_Pridať značky..." +#: src/MediaPage.vala:486 +msgid "By _Title" +msgstr "Podľa _názvu" -# DK: https://bugzilla.gnome.org/show_bug.cgi?id=744255 -#. Dialog title -#. Undo/Redo command name (in Edit menu) -#: ../src/Resources.vala:318 ../src/Resources.vala:351 -msgid "Add Tags" -msgstr "Pridať značky" +#: src/MediaPage.vala:487 +msgid "Sort photos by title" +msgstr "Usporiadať fotografie podľa názvu" -#: ../src/Resources.vala:322 -msgid "Open With E_xternal Editor" -msgstr "Otvoriť pomocou e_xterného editora" +#: src/MediaPage.vala:492 +msgid "By Exposure _Date" +msgstr "Podľa _dátumu vytvorenie" -#: ../src/Resources.vala:324 -msgid "Open With RA_W Editor" -msgstr "Otvoriť pomocou RA_W editora" +#: src/MediaPage.vala:493 +msgid "Sort photos by exposure date" +msgstr "Usporiadať fotografie podľa dátumu vytvorenia" -#: ../src/Resources.vala:326 -msgid "Send _To..." -msgstr "Odoslať _do..." +#: src/MediaPage.vala:498 +msgid "By _Rating" +msgstr "Podľa _hodnotenia" -#: ../src/Resources.vala:327 -msgid "Send T_o..." -msgstr "Odoslať d_o..." +#: src/MediaPage.vala:499 +msgid "Sort photos by rating" +msgstr "Usporiadať fotografie podľa hodnotenia" -#: ../src/Resources.vala:329 -msgid "_Find..." -msgstr "_Nájsť..." +#: src/MediaPage.vala:504 +msgid "By _Filename" +msgstr "Podľa názvu _súboru" -#: ../src/Resources.vala:330 -msgid "Find" -msgstr "Nájsť" +#: src/MediaPage.vala:505 +msgid "Sort photos by filename" +msgstr "Usporiada fotografie podľa názvu súboru" -#: ../src/Resources.vala:331 -msgid "Find an image by typing text that appears in its name or tags" +#: src/MediaPage.vala:723 +#, c-format +msgid "" +"Shotwell was unable to play the selected video:\n" +"%s" msgstr "" -"Nájdite obrázok napísaním textu ktorý sa nachádza v jeho názve alebo značke" +"Shotwell nebol schopný prehrať vybrané video: \n" +"%s" -#: ../src/Resources.vala:333 -msgid "_Flag" -msgstr "_Označiť" +#: src/Page.vala:1266 +msgid "No photos/videos" +msgstr "Žiadne fotografie/videá" -#: ../src/Resources.vala:335 -msgid "Un_flag" -msgstr "Odz_načiť" +#: src/Page.vala:1270 +msgid "No photos/videos found which match the current filter" +msgstr "" +"Nenašli sa žiadne fotografie alebo videá, ktoré by vyhovovali aktuálnemu " +"filtru" -#: ../src/Resources.vala:338 -#, c-format -msgid "Unable to launch editor: %s" -msgstr "Nie je možné spustiť editor: %s" +#: src/Page.vala:2568 +msgid "Photos cannot be exported to this directory." +msgstr "Fotografie nemôžu byť exportované do tohoto adresára." -#: ../src/Resources.vala:343 -#, c-format -msgid "Add Tag \"%s\"" -msgstr "Pridať značku „%s“" +#. previous button +#: src/PhotoPage.vala:533 +msgid "Previous photo" +msgstr "Predchádzajúca fotografia" -#. Used when adding two tags to photo(s) -#: ../src/Resources.vala:346 -#, c-format -msgid "Add Tags \"%s\" and \"%s\"" -msgstr "Pridať značky „%s“ a „%s“" +#. next button +#: src/PhotoPage.vala:539 +msgid "Next photo" +msgstr "Ďalšia fotografia" -#: ../src/Resources.vala:356 +#: src/PhotoPage.vala:1845 #, c-format -msgid "_Delete Tag \"%s\"" -msgstr "O_dstrániť značku „%s“" +msgid "Photo source file missing: %s" +msgstr "Chýba zdrojový súbor fotografie: %s" -#: ../src/Resources.vala:360 +#: src/PhotoPage.vala:3229 #, c-format -msgid "Delete Tag \"%s\"" -msgstr "Odstrániť značku „%s“" +msgid "Unable to export %s: %s" +msgstr "Nepodarilo sa exportovať %s: %s" -#: ../src/Resources.vala:363 -msgid "Delete Tag" -msgstr "Odstrániť značku" +#: src/photos/BmpSupport.vala:32 +msgid "BMP" +msgstr "BMP" -#: ../src/Resources.vala:369 -#, c-format -msgid "Re_name Tag \"%s\"..." -msgstr "Pre_menovať značku „%s“..." +#: src/photos/JfifSupport.vala:84 +msgid "JPEG" +msgstr "JPEG" -#: ../src/Resources.vala:373 +#: src/photos/JfifSupport.vala:185 #, c-format -msgid "Rename Tag \"%s\" to \"%s\"" -msgstr "Premenovať značku „%s“ na „%s“" - -#: ../src/Resources.vala:376 -msgid "_Rename..." -msgstr "_Premenovať..." - -#: ../src/Resources.vala:378 -msgid "Modif_y Tags..." -msgstr "_Upraviť značky..." - -# dialog title -#: ../src/Resources.vala:379 -msgid "Modify Tags" -msgstr "Úprava značiek" +msgid "Low (%d%%)" +msgstr "Nízka (%d%%)" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:188 #, c-format -msgid "Tag Photo as \"%s\"" -msgstr "Označiť fotografie ako „%s“" +msgid "Medium (%d%%)" +msgstr "Stredná (%d%%)" -#: ../src/Resources.vala:382 +#: src/photos/JfifSupport.vala:191 #, c-format -msgid "Tag Photos as \"%s\"" -msgstr "Označiť fotografie ako „%s“" +msgid "High (%d%%)" +msgstr "Vysoká (%d%%)" -#: ../src/Resources.vala:386 +#: src/photos/JfifSupport.vala:194 #, c-format -msgid "Tag the selected photo as \"%s\"" -msgstr "Označiť vybrané fotografie ako „%s“" +msgid "Maximum (%d%%)" +msgstr "Maximálna (%d%%)" -#: ../src/Resources.vala:387 -#, c-format -msgid "Tag the selected photos as \"%s\"" -msgstr "Označiť vybrané fotografie ako „%s“" +#: src/photos/PngSupport.vala:30 +msgid "PNG" +msgstr "PNG" -#: ../src/Resources.vala:391 -#, c-format -msgid "Remove Tag \"%s\" From _Photo" -msgstr "Odstrániť značku „%s“ z _fotografií" +#: src/photos/RawSupport.vala:134 +msgid "RAW" +msgstr "RAW" -#: ../src/Resources.vala:392 -#, c-format -msgid "Remove Tag \"%s\" From _Photos" -msgstr "Odstrániť značku „%s“ z _fotografií" +#: src/photos/TiffSupport.vala:86 +msgid "TIFF" +msgstr "TIFF" -#: ../src/Resources.vala:396 -#, c-format -msgid "Remove Tag \"%s\" From Photo" -msgstr "Odstrániť značku „%s“ z fotografií" +#: src/Photo.vala:3753 +msgid "modified" +msgstr "upravené" -#: ../src/Resources.vala:397 -#, c-format -msgid "Remove Tag \"%s\" From Photos" -msgstr "Odstrániť značku „%s“ z fotografií" +#: src/Printing.vala:255 +msgid "Fill the entire page" +msgstr "Vyplniť celú stranu" -#: ../src/Resources.vala:401 -#, c-format -msgid "Unable to rename tag to \"%s\" because the tag already exists." -msgstr "Nie je možné premenovať značku na „%s“, lebo táto značka už existuje." +#: src/Printing.vala:256 +msgid "2 images per page" +msgstr "2 obrázky na stranu" -#: ../src/Resources.vala:405 -#, c-format -msgid "Unable to rename search to \"%s\" because the search already exists." -msgstr "" -"Nepodarilo sa premenovať vyhľadávanie na „%s“, lebo takéto vyhľadávanie už " -"existuje." +#: src/Printing.vala:257 +msgid "4 images per page" +msgstr "4 obrázky na stranu" -#: ../src/Resources.vala:408 -msgid "Saved Search" -msgstr "Uložené vyhľadávanie" +#: src/Printing.vala:258 +msgid "6 images per page" +msgstr "6 obrázkov na stranu" -#: ../src/Resources.vala:410 -msgid "Delete Search" -msgstr "Odstrániť vyhľadávanie" +#: src/Printing.vala:259 +msgid "8 images per page" +msgstr "8 obrázkov na stranu" -#: ../src/Resources.vala:413 -msgid "_Edit..." -msgstr "_Upraviť..." +#: src/Printing.vala:260 +msgid "16 images per page" +msgstr "16 obrázkov na stranu" + +#: src/Printing.vala:261 +msgid "32 images per page" +msgstr "32 obrázkov na stranu" + +#: src/Printing.vala:348 +msgid "in." +msgstr "palcov" -#: ../src/Resources.vala:414 -msgid "Re_name..." -msgstr "_Premenovať..." +#: src/Printing.vala:349 +msgid "cm" +msgstr "cm" -#: ../src/Resources.vala:417 -#, c-format -msgid "Rename Search \"%s\" to \"%s\"" -msgstr "Premenovať vyhľadávanie „%s“ na „%s“" +#: src/Printing.vala:875 +msgid "Image Settings" +msgstr "Nastavenia obrázka" -#: ../src/Resources.vala:421 -#, c-format -msgid "Delete Search \"%s\"" -msgstr "O_dstrániť vyhľadávanie „%s“" +#: src/Printing.vala:888 +msgid "Printing..." +msgstr "Tlačí sa..." -#: ../src/Resources.vala:579 +#: src/Printing.vala:908 src/Printing.vala:1111 #, c-format -msgid "Rate %s" -msgstr "Hodnotiť %s" +msgid "" +"Unable to print photo:\n" +"\n" +"%s" +msgstr "" +"Nepodarilo sa vytlačiť fotografiu:\n" +"\n" +"%s" -#: ../src/Resources.vala:580 -#, c-format -msgid "Set rating to %s" -msgstr "Nastaviť hodnotenie na %s" +#: src/Properties.vala:84 +msgid "Today" +msgstr "Dnes" -#: ../src/Resources.vala:581 -#, c-format -msgid "Setting rating to %s" -msgstr "Nastavuje sa hodnotenie na %s" +#: src/Properties.vala:86 +msgid "Yesterday" +msgstr "Včera" -#: ../src/Resources.vala:583 -#, c-format -msgid "Display %s" -msgstr "Zobraziť %s" +#: src/Properties.vala:343 +msgid "Items:" +msgstr "Položky:" -#: ../src/Resources.vala:584 +#: src/Properties.vala:346 #, c-format -msgid "Only show photos with a rating of %s" -msgstr "Zobraziť len fotografie s hodnotením %s" +msgid "%d Event" +msgid_plural "%d Events" +msgstr[0] "%d udalostí" +msgstr[1] "%d udalosť" +msgstr[2] "%d udalosti" -#: ../src/Resources.vala:585 -#, c-format -msgid "%s or Better" -msgstr "%s alebo lepšie" +#. display only one date if start and end are the same +#: src/Properties.vala:377 +msgid "Date:" +msgstr "Dátum:" -#: ../src/Resources.vala:586 -#, c-format -msgid "Display %s or Better" -msgstr "Zobraziť %s alebo lepšie" +#. display only one time if start and end are the same +#: src/Properties.vala:381 +msgid "Time:" +msgstr "Čas:" -#: ../src/Resources.vala:587 -#, c-format -msgid "Only show photos with a rating of %s or better" -msgstr "Zobraziť iba fotografie s hodnotením %s alebo lepšie" +#. display time range +#. display date range +#: src/Properties.vala:384 src/Properties.vala:389 +msgid "From:" +msgstr "Od:" -# tooltip -#: ../src/Resources.vala:678 -msgid "Remove the selected photos from the trash" -msgstr "Odstráni vybrané fotografie z koša" +#: src/Properties.vala:385 src/Properties.vala:390 +msgid "To:" +msgstr "Do:" -#: ../src/Resources.vala:679 -msgid "Remove the selected photos from the library" -msgstr "Odstrániť vybrané fotografie z knižnice" +#: src/Properties.vala:404 +msgid "Duration:" +msgstr "Trvanie:" -#: ../src/Resources.vala:681 -msgid "_Restore" -msgstr "_Obnoviť" +#: src/Properties.vala:404 +#, c-format +msgid "%.1f seconds" +msgstr "%.1f sekundy" -# tooltip -#: ../src/Resources.vala:682 -msgid "Move the selected photos back into the library" -msgstr "Presunie vybrané fotografie naspäť do knižnice" +#: src/Properties.vala:408 +msgid "Developer:" +msgstr "Vývojka:" -#: ../src/Resources.vala:684 -msgid "Show in File Mana_ger" -msgstr "Zobraziť v správcovi sú_borov" +#. nothing special to be done for now for Events +#: src/Properties.vala:583 +msgid "Location:" +msgstr "Umiestnenie:" -#: ../src/Resources.vala:685 -msgid "Open the selected photo's directory in the file manager" -msgstr "Otvoriť priečinok zvolených fotografií v správcovi súborov" +#: src/Properties.vala:586 +msgid "File size:" +msgstr "Veľkosť súboru:" -#: ../src/Resources.vala:688 -#, c-format -msgid "Unable to open in file manager: %s" -msgstr "Nie je možné otvoriť v správcovi súborov: %s" +#: src/Properties.vala:590 +msgid "Current Development:" +msgstr "Aktuálny vývoj:" -#: ../src/Resources.vala:691 -msgid "R_emove From Library" -msgstr "_Odstrániť z knižnice" +#: src/Properties.vala:592 +msgid "Original dimensions:" +msgstr "Pôvodné rozmery:" -#: ../src/Resources.vala:693 -msgid "_Move to Trash" -msgstr "Presunúť do _Koša" +#: src/Properties.vala:595 +msgid "Camera make:" +msgstr "Výrobca fotoaparátu:" -#: ../src/Resources.vala:695 -msgid "Select _All" -msgstr "Ozn_ačiť všetko" +#: src/Properties.vala:598 +msgid "Camera model:" +msgstr "Model fotoaparátu:" -#: ../src/Resources.vala:696 -msgid "Select all items" -msgstr "Vybrať všetky položky" +#: src/Properties.vala:601 +msgid "Flash:" +msgstr "Blesk:" -#. ...precache the timestamp string... -#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:775 -msgid "%-I:%M %p" -msgstr "%-H:%M" +#: src/Properties.vala:603 +msgid "Focal length:" +msgstr "Ohnisková vzdialenosť:" -#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM -#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:780 -msgid "%-I:%M:%S %p" -msgstr "%-H:%M:%S" +#: src/Properties.vala:606 +msgid "Exposure date:" +msgstr "Dátum vytvorenia:" -#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" -#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format -#: ../src/Resources.vala:784 -msgid "%a %b %d, %Y" -msgstr "%a %d. %b, %Y" +#: src/Properties.vala:609 +msgid "Exposure time:" +msgstr "Čas vytvorenia:" -#. / 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 -#. / 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 -#: ../src/Resources.vala:789 ../src/Resources.vala:799 -msgid "%a %b %d" -msgstr "%a %d. %b" +#: src/Properties.vala:612 +msgid "Exposure bias:" +msgstr "Expozícia:" -#. / 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 -#: ../src/Resources.vala:794 -msgid "%d, %Y" -msgstr "%d. %b, %Y" +#: src/Properties.vala:614 +msgid "GPS latitude:" +msgstr "GPS zemepisná šírka:" -#: ../src/Screensaver.vala:18 ../src/SlideshowPage.vala:141 -msgid "Slideshow" -msgstr "Prezentácia" +#: src/Properties.vala:617 +msgid "GPS longitude:" +msgstr "GPS zemepisná dĺžka:" -#. Flagged label and toggle -#: ../src/SearchFilter.vala:587 ../src/SearchFilter.vala:588 -#: ../src/SearchFilter.vala:972 ../src/library/FlaggedPage.vala:8 -msgid "Flagged" -msgstr "Označené" +#: src/Properties.vala:620 +msgid "Artist:" +msgstr "Umelec:" -#: ../src/SearchFilter.vala:593 ../src/SearchFilter.vala:594 -#: ../src/library/Branch.vala:97 -msgid "Photos" -msgstr "Fotografie" +#: src/Properties.vala:622 +msgid "Copyright:" +msgstr "Autorské právo:" -#: ../src/SearchFilter.vala:599 ../src/SearchFilter.vala:600 -msgid "Videos" -msgstr "Videá" +#: src/Properties.vala:624 +msgid "Software:" +msgstr "Softvér:" -#: ../src/SearchFilter.vala:605 -msgid "RAW Photos" -msgstr "RAW fotografie" +#: src/Properties.vala:641 +msgid "Extended Information" +msgstr "Rozšírené informácie" -#: ../src/SearchFilter.vala:606 -msgid "RAW photos" -msgstr "RAW fotografie" +#: src/publishing/PublishingPluginHost.vala:11 +msgid "Preparing for upload" +msgstr "Pripravuje sa odovzdávanie" -#: ../src/SearchFilter.vala:934 +#: src/publishing/PublishingPluginHost.vala:12 #, c-format -msgid "Error loading UI file %s: %s" -msgstr "Chyba pri nahrávaní súboru používateľského rozhrania %s: %s" - -#. Ticket #3260 - Add a 'close' context menu to -#. the searchbar. -#. Prepare the close menu for use, but don't -#. display it yet; we'll connect it to secondary -#. click later on. -#: ../src/SearchFilter.vala:945 -msgid "Close" -msgstr "Zavrieť" +msgid "Uploading %d of %d" +msgstr "Odovzdáva sa %d z %d" -#. Type label and toggles -#: ../src/SearchFilter.vala:951 -msgid "Type" -msgstr "Typ" +#: src/publishing/PublishingPluginHost.vala:81 +#, c-format +msgid "Publishing to %s can't continue because an error occurred:" +msgstr "Uverejňovanie na %s nemôže pokračovať, pretože sa vyskytla chyba:" -#. Rating label and button -#: ../src/SearchFilter.vala:985 ../src/searches/SearchBoolean.vala:184 -msgid "Rating" -msgstr "Hodnotenie" +#: src/publishing/PublishingPluginHost.vala:84 +msgid "To try publishing to another service, select one from the above menu." +msgstr "" +"Aby ste mohli uverejniť vaše fotografie na inej službe, zvoľte si ju z " +"ponuky hore." -#: ../src/SlideshowPage.vala:49 ../src/SlideshowPage.vala:183 -msgid "Settings" -msgstr "Nastavenia" +#: src/publishing/PublishingUI.vala:105 +msgid "The selected photos/videos were successfully published." +msgstr "Vybrané fotografie/videá boli úspešne uverejnené." -#. Set up toolbar -#. add toolbar buttons -#: ../src/SlideshowPage.vala:160 -msgid "Back" -msgstr "Späť" +#: src/publishing/PublishingUI.vala:107 +msgid "The selected videos were successfully published." +msgstr "Vybrané videá boli úspešne uverejnené." -#: ../src/SlideshowPage.vala:162 -msgid "Go to the previous photo" -msgstr "Prejsť na predchádzajúcu fotografiu" +#: src/publishing/PublishingUI.vala:109 +msgid "The selected photos were successfully published." +msgstr "Zvolené fotografie boli úspešne uverejnené." -#: ../src/SlideshowPage.vala:167 ../src/SlideshowPage.vala:274 -msgid "Pause" -msgstr "Pozastaviť" +#: src/publishing/PublishingUI.vala:112 +msgid "The selected video was successfully published." +msgstr "Vybrané video bolo úspešne uverejnené." -#: ../src/SlideshowPage.vala:169 ../src/SlideshowPage.vala:275 -msgid "Pause the slideshow" -msgstr "Pozastaviť prezentáciu" +#: src/publishing/PublishingUI.vala:114 +msgid "The selected photo was successfully published." +msgstr "Vybraná fotografia bola úspešne uverejnená." -#: ../src/SlideshowPage.vala:174 -msgid "Next" -msgstr "Ďalšia" +#: src/publishing/PublishingUI.vala:122 +msgid "Fetching account information..." +msgstr "Získavajú sa informácie o účte..." -#: ../src/SlideshowPage.vala:176 -msgid "Go to the next photo" -msgstr "Prejsť na nasledujúcu fotografiu" +#: src/publishing/PublishingUI.vala:128 +msgid "Logging in..." +msgstr "Prihlasuje sa..." -#: ../src/SlideshowPage.vala:184 -msgid "Change slideshow settings" -msgstr "Zmeniť nastavenia prezentácie" +#: src/publishing/PublishingUI.vala:188 +msgid "Publish Photos" +msgstr "Uverejniť fotografie" -#. An entire slideshow set might be missing, so check for a loop. -#: ../src/SlideshowPage.vala:238 -msgid "All photo source files are missing." -msgstr "Chýbajú všetky zdrojové súbory fotografií." +#: src/publishing/PublishingUI.vala:189 +msgid "Publish photos _to:" +msgstr "Uverejniť fotografie _na službe:" -#: ../src/SlideshowPage.vala:270 -msgid "Play" -msgstr "Spustiť" +#: src/publishing/PublishingUI.vala:191 +msgid "Publish Videos" +msgstr "Uverejniť videá" -#: ../src/SlideshowPage.vala:271 -msgid "Continue the slideshow" -msgstr "Pokračovať v prezentácii" +#: src/publishing/PublishingUI.vala:192 +msgid "Publish videos _to" +msgstr "Uverejniť videá _na" -#: ../src/Tag.vala:817 -msgid "untitled" -msgstr "bez názvu" +#: src/publishing/PublishingUI.vala:194 +msgid "Publish Photos and Videos" +msgstr "Uverejniť fotografie a videá" -#. multiple videos -#: ../src/VideoSupport.vala:490 -msgid "Export Videos" -msgstr "Exportovať videá" +#: src/publishing/PublishingUI.vala:195 +msgid "Publish photos and videos _to" +msgstr "Uverejniť fotografie a videá _na" -#: ../src/camera/Branch.vala:85 -msgid "Cameras" -msgstr "Fotoaparáty" +#. There are no enabled publishing services that accept this media type, +#. warn the user. +#: src/publishing/PublishingUI.vala:397 +msgid "Unable to publish" +msgstr "Nepodarilo sa uverejniť" -#: ../src/camera/ImportPage.vala:458 +#: src/publishing/PublishingUI.vala:398 +#, c-format msgid "" -"Unable to unmount camera. Try unmounting the camera from the file manager." +"Shotwell cannot publish the selected items because you do not have a " +"compatible publishing plugin enabled. To correct this, choose Edit %s " +"Preferences and enable one or more of the publishing plugins on the " +"Plugins tab." msgstr "" -"Nepodarilo sa odpojiť fotoaparát. Skúste odpojiť fotoaparát pomocou správcu " -"súborov." +"Shotwell nemôže uverejniť zvolené položky, pretože nemáte kompatibilný " +"uverejňovací zásuvný modul. Na opravenie tohoto problému, zvoľte Upraviť " +"%s nastavenia a povoľte jeden alebo viacero uverejňovacích zásuvných " +"modulov v záložke Zásuvné moduly." -#. hide duplicates checkbox -#: ../src/camera/ImportPage.vala:775 -msgid "Hide photos already imported" -msgstr "Skryť fotografie, ktoré sú už importované" +#: src/publishing/Publishing.vala:16 +msgid "Publishing" +msgstr "Uverejňovanie" -#: ../src/camera/ImportPage.vala:776 -msgid "Only display photos that have not been imported" -msgstr "Zobraziť iba fotografie, ktoré neboli importované" +#: src/Resources.vala:139 +msgid "Rotate _Right" +msgstr "Otočiť do_prava" -#. Ticket #3304 - Import page shouldn't display confusing message -#. prior to import. -#. TODO: replace this with approved text for "talking to camera, -#. please wait" once new strings are being accepted. -#: ../src/camera/ImportPage.vala:846 -msgid "Starting import, please wait..." -msgstr "Začína sa import, prosím, čakajte..." +#: src/Resources.vala:140 src/Resources.vala:145 +msgid "Rotate" +msgstr "Otočiť" -#: ../src/camera/ImportPage.vala:885 -msgid "Import _Selected" -msgstr "Importovať vy_brané" +#: src/Resources.vala:141 +msgid "Rotate Right" +msgstr "Otočiť doprava" -#: ../src/camera/ImportPage.vala:886 -msgid "Import the selected photos into your library" -msgstr "Importovať vybrané fotografie do vašej knižnice" +#: src/Resources.vala:142 +msgid "Rotate the photos right (press Ctrl to rotate left)" +msgstr "Otočí fotografie doprava (stlačte Ctrl na otočenie doľava)" -#: ../src/camera/ImportPage.vala:891 -msgid "Import _All" -msgstr "Importovať _všetky" +#: src/Resources.vala:144 +msgid "Rotate _Left" +msgstr "Otočiť doľa_va" -#: ../src/camera/ImportPage.vala:892 -msgid "Import all the photos into your library" -msgstr "Importovať všetky fotografie do vašej knižnice" +#: src/Resources.vala:146 +msgid "Rotate Left" +msgstr "Otočiť doľava" -#. it's mounted, offer to unmount for the user -#: ../src/camera/ImportPage.vala:1013 -msgid "" -"Shotwell needs to unmount the camera from the filesystem in order to access " -"it. Continue?" -msgstr "" -"Shotwell potrebuje odpojiť váš fotoaparát od súborového systému, aby k nemu " -"mohol pristupovať. Chcete pokračovať?" +#: src/Resources.vala:147 +msgid "Rotate the photos left" +msgstr "Otočiť fotografie doľava" -#: ../src/camera/ImportPage.vala:1019 -msgid "_Unmount" -msgstr "_Odpojiť" +#: src/Resources.vala:149 +msgid "Flip Hori_zontally" +msgstr "Prevrátiť vodo_rovne" -#: ../src/camera/ImportPage.vala:1024 -msgid "Please unmount the camera." -msgstr "Prosím, odpojte fotoaparát." +#: src/Resources.vala:150 +msgid "Flip Horizontally" +msgstr "Prevrátiť horizontálne" -#: ../src/camera/ImportPage.vala:1029 -msgid "" -"The camera is locked by another application. Shotwell can only access the " -"camera when it's unlocked. Please close any other application using the " -"camera and try again." -msgstr "" -"Fotoaparát je uzamknutý inou aplikáciou. Shotwell môže pristupovať k " -"fotoaparátu iba ak nie je uzamknutý. Zatvorte, prosím, ostatné aplikácie, " -"ktoré používajú fotoaparát, a skúste to znova." +#: src/Resources.vala:152 +msgid "Flip Verti_cally" +msgstr "Prevrátiť _zvislo" -#: ../src/camera/ImportPage.vala:1039 -msgid "Please close any other application using the camera." -msgstr "Zatvorte, prosím, ostatné aplikácie, ktoré používajú fotoaparát." +#: src/Resources.vala:153 +msgid "Flip Vertically" +msgstr "Prevrátiť vertikálne" -#: ../src/camera/ImportPage.vala:1044 -#, c-format -msgid "" -"Unable to fetch previews from the camera:\n" -"%s" -msgstr "" -"Nepodarilo sa získať náhľady z fotoaparátu:\n" -"%s" +#: src/Resources.vala:155 +msgid "_About" +msgstr "_O programe" -#: ../src/camera/ImportPage.vala:1061 -msgid "Unmounting..." -msgstr "Odpája sa..." +#: src/Resources.vala:156 +msgid "_Apply" +msgstr "_Použiť" -#: ../src/camera/ImportPage.vala:1167 -msgid "Fetching photo information" -msgstr "Získavajú sa informácie o fotografiách" +#: src/Resources.vala:160 +msgid "_Forward" +msgstr "_Dopredu" -#: ../src/camera/ImportPage.vala:1522 -#, c-format -msgid "Fetching preview for %s" -msgstr "Získava sa náhľad pre %s" +#: src/Resources.vala:161 +msgid "Fulls_creen" +msgstr "Na _celú obrazovku" -#: ../src/camera/ImportPage.vala:1638 -#, c-format -msgid "Unable to lock camera: %s" -msgstr "Nepodarilo sa uzamknúť fotoaparát: %s" +#: src/Resources.vala:163 +msgid "Leave _Fullscreen" +msgstr "Opustiť režim _celej obrazovky" -#: ../src/camera/ImportPage.vala:1723 -#, c-format -msgid "Delete this photo from camera?" -msgid_plural "Delete these %d photos from camera?" -msgstr[0] "Odstrániť týchto %d fotografií z fotoaparátu?" -msgstr[1] "Odstrániť túto fotografiu z fotoaparátu?" -msgstr[2] "Odstrániť tieto %d fotografie z fotoaparátu?" +#: src/Resources.vala:164 src/Resources.vala:363 +msgid "_New" +msgstr "_Nová" -#: ../src/camera/ImportPage.vala:1726 -#, c-format -msgid "Delete this video from camera?" -msgid_plural "Delete these %d videos from camera?" -msgstr[0] "Odstrániť týchto %d videí z fotoaparátu?" -msgstr[1] "Odstrániť toto %d video z fotoaparátu?" -msgstr[2] "Odstrániť tieto %d videá z fotoaparátu?" +#: src/Resources.vala:165 +msgid "_Next" +msgstr "Ď_alšia" -#: ../src/camera/ImportPage.vala:1729 -#, c-format -msgid "Delete this photo/video from camera?" -msgid_plural "Delete these %d photos/videos from camera?" -msgstr[0] "Odstrániť týchto %d fotografií/videí z fotoaparátu?" -msgstr[1] "Odstrániť túto %d fotografiu/video z fotoaparátu?" -msgstr[2] "Odstrániť tieto %d fotografie/videá z fotoaparátu?" +#: src/Resources.vala:166 +msgid "_OK" +msgstr "_OK" -#: ../src/camera/ImportPage.vala:1732 -#, c-format -msgid "Delete these files from camera?" -msgid_plural "Delete these %d files from camera?" -msgstr[0] "Odstrániť týchto %d súborov z fotoaparátu?" -msgstr[1] "Odstrániť tento %d súbor z fotoaparátu?" -msgstr[2] "Odstrániť tieto %d súbory z fotoaparátu?" +#: src/Resources.vala:167 +msgid "_Play" +msgstr "_Spustiť" -#: ../src/camera/ImportPage.vala:1759 -msgid "Removing photos/videos from camera" -msgstr "Odstraňujú sa fotografie/videá z fotoaparátu" +#: src/Resources.vala:168 src/Resources.vala:317 +msgid "_Preferences" +msgstr "_Nastavenia" -#: ../src/camera/ImportPage.vala:1763 -#, c-format -msgid "Unable to delete %d photo/video from the camera due to errors." -msgid_plural "Unable to delete %d photos/videos from the camera due to errors." -msgstr[0] "" -"Nepodarilo sa odstrániť %d fotografií/videí z fotoaparátu kvôli chybám." -msgstr[1] "" -"Nepodarilo sa odstrániť %d fotografiu/video z fotoaparátu kvôli chybám." -msgstr[2] "" -"Nepodarilo sa odstrániť %d fotografie/videá z fotoaparátu kvôli chybám." +#: src/Resources.vala:169 +msgid "_Previous" +msgstr "_Predchádzajúca" -#: ../src/data_imports/DataImports.vala:22 -msgid "Data Imports" -msgstr "Importy údajov" +#: src/Resources.vala:170 +msgid "_Print" +msgstr "_Tlačiť" -#. Send an empty job to the queue to mark the end of the import -#: ../src/data_imports/DataImportsPluginHost.vala:65 -#: ../src/data_imports/DataImportsPluginHost.vala:78 -#, c-format -msgid "%s Database" -msgstr "%s databáza" +#: src/Resources.vala:171 +msgid "_Quit" +msgstr "U_končiť" -#: ../src/data_imports/DataImportsPluginHost.vala:148 -#: ../src/data_imports/DataImportsPluginHost.vala:294 -#, c-format -msgid "Importing from %s can't continue because an error occurred:" -msgstr "Importovanie z %s nemôže pokračovať, pretože sa vyskytla chyba:" +#: src/Resources.vala:172 +msgid "_Refresh" +msgstr "_Obnoviť" -#: ../src/data_imports/DataImportsPluginHost.vala:151 -msgid "To try importing from another service, select one from the above menu." -msgstr "Pre pokus o import z inej služby, vyberte jeden z nasledovnej ponuky." +#: src/Resources.vala:174 +msgid "_Revert" +msgstr "V_rátiť" -#: ../src/data_imports/DataImportsUI.vala:10 -msgid "" -"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." -msgstr "" -"Nemáte povolené žiadne zásuvné moduly na import údajov.\n" -"\n" -"Na používanie funkcie importu, musíte mať povolený aspoň jeden zásuvný modul " -"pre importovanie. Zásuvné moduly môžu byť povolené v Predvoľbách." +#: src/Resources.vala:176 +msgid "Save _As" +msgstr "Uložiť _ako" -#: ../src/data_imports/DataImportsUI.vala:100 -msgid "Database file:" -msgstr "Súbor databázy:" +#: src/Resources.vala:177 +msgid "Sort _Ascending" +msgstr "Usporiadať vz_ostupne" -#: ../src/data_imports/DataImportsUI.vala:112 -#: ../src/library/LibraryWindow.vala:882 -msgid "_Import" -msgstr "_Importovať" +#: src/Resources.vala:178 +msgid "Sort _Descending" +msgstr "Usporiadať zo_stupne" -#: ../src/data_imports/DataImportsUI.vala:220 -msgid "Import From Application" -msgstr "Importovať z aplikácie" +#: src/Resources.vala:179 +msgid "_Stop" +msgstr "_Zastaviť" -#: ../src/data_imports/DataImportsUI.vala:221 -msgid "Import media _from:" -msgstr "Importovať multimédiá _z:" +#: src/Resources.vala:180 +msgid "_Undelete" +msgstr "Vrátiť o_dstránenie" -#: ../src/data_imports/DataImportsUI.vala:408 -#: ../src/publishing/PublishingUI.vala:507 -msgid "_Close" -msgstr "Za_vrieť" +#: src/Resources.vala:181 +msgid "_Normal Size" +msgstr "_Normálna veľkosť" -#: ../src/db/DatabaseTable.vala:37 -#, c-format -msgid "Unable to open/create photo database %s: error code %d" -msgstr "Nepodarilo sa otvoriť/vytvoriť databázu fotografií %s: kód chyby %d" +#: src/Resources.vala:182 +msgid "Best _Fit" +msgstr "_Prispôsobiť" -#: ../src/db/DatabaseTable.vala:46 -#, c-format -msgid "" -"Unable to write to photo database file:\n" -" %s" -msgstr "" -"Nepodarilo sa zapisovať do databázového súboru fotografií: \n" -" %s" +#: src/Resources.vala:186 +msgid "_Enhance" +msgstr "Vy_lepšiť" -#: ../src/db/DatabaseTable.vala:48 -#, c-format -msgid "" -"Error accessing database file:\n" -" %s\n" -"\n" -"Error was: \n" -"%s" -msgstr "" -"Chyba pri prístupe k databázovému súboru:\n" -" %s\n" -"Popis chyby: \n" -"%s" +#: src/Resources.vala:187 +msgid "Enhance" +msgstr "Vylepšiť" -#: ../src/db/DatabaseTable.vala:81 -#, c-format -msgid "Unable to restore photo database %s" -msgstr "Nie je možné obnoviť databázu fotografií %s" +# tooltip +#: src/Resources.vala:188 +msgid "Automatically improve the photo's appearance" +msgstr "Automaticky vylepší vzhľad fotografie" -#: ../src/direct/DirectPhotoPage.vala:46 ../src/library/LibraryWindow.vala:335 -msgid "_File" -msgstr "_Súbor" +#: src/Resources.vala:190 +msgid "_Copy Color Adjustments" +msgstr "_Kopírovať úpravu farieb" -#: ../src/direct/DirectPhotoPage.vala:52 -msgid "Save photo" -msgstr "Uložiť fotografiu" +#: src/Resources.vala:191 +msgid "Copy Color Adjustments" +msgstr "Kopírovať úpravu farieb" -#: ../src/direct/DirectPhotoPage.vala:57 -msgid "Save _As..." -msgstr "Uložiť _ako..." +# tooltip +#: src/Resources.vala:192 +msgid "Copy the color adjustments applied to the photo" +msgstr "Skopíruje úpravu farieb aplikovanú na fotografiu" + +#: src/Resources.vala:194 +msgid "_Paste Color Adjustments" +msgstr "_Vložiť úpravu farieb" -#: ../src/direct/DirectPhotoPage.vala:58 -msgid "Save photo with a different name" -msgstr "Uložiť fotografiu pod novým názvom" +#: src/Resources.vala:195 +msgid "Paste Color Adjustments" +msgstr "Vložiť úpravu farieb" -#: ../src/direct/DirectPhotoPage.vala:69 -msgid "Print the photo to a printer connected to your computer" -msgstr "Vytlačiť fotografiu na tlačiarni pripojenej k vášmu počítaču" +# tooltip +#: src/Resources.vala:196 +msgid "Apply copied color adjustments to the selected photos" +msgstr "Aplikuje skopírovanú úpravu farieb na vybranú fotografiu" -#: ../src/direct/DirectPhotoPage.vala:77 ../src/library/LibraryWindow.vala:347 -msgid "_Photo" -msgstr "_Fotografia" +#: src/Resources.vala:198 +msgid "_Crop" +msgstr "O_rezať" -#: ../src/direct/DirectPhotoPage.vala:227 -#, c-format -msgid "%s does not exist." -msgstr "%s neexistuje." +#: src/Resources.vala:199 +msgid "Crop" +msgstr "Orezať" -#: ../src/direct/DirectPhotoPage.vala:229 -#, c-format -msgid "%s is not a file." -msgstr "%s nie je súbor." +# tooltip +#: src/Resources.vala:200 +msgid "Crop the photo's size" +msgstr "Oreže veľkosť fotografie" -#: ../src/direct/DirectPhotoPage.vala:231 -#, c-format -msgid "" -"%s does not support the file format of\n" -"%s." -msgstr "" -"%s nepodporuje súborový formát\n" -"%s." +#: src/Resources.vala:203 +msgid "Straighten" +msgstr "Vyrovnať" -#: ../src/direct/DirectPhotoPage.vala:248 -#, c-format -msgid "Unable open photo %s. Sorry." -msgstr "Nie je možné otvoriť fotografiu %s. Prepáčte." +# tooltip +#: src/Resources.vala:204 +msgid "Straighten the photo" +msgstr "Vyrovná fotografiu" -#: ../src/direct/DirectPhotoPage.vala:432 -msgid "_Save a Copy" -msgstr "_Uložiť kópiu" +#: src/Resources.vala:206 +msgid "_Red-eye" +msgstr "Červené _oči" -#: ../src/direct/DirectPhotoPage.vala:435 -#, c-format -msgid "Lose changes to %s?" -msgstr "Zahodiť zmeny vo %s?" +#: src/Resources.vala:207 +msgid "Red-eye" +msgstr "Červené oči" -#: ../src/direct/DirectPhotoPage.vala:436 -msgid "Close _without Saving" -msgstr "Zavrieť _bez uloženia" +# tooltip +#: src/Resources.vala:208 +msgid "Reduce or eliminate any red-eye effects in the photo" +msgstr "Zmierni alebo odstráni efekt červených očí vo fotografii" -#: ../src/direct/DirectPhotoPage.vala:469 -#, c-format -msgid "Error while saving to %s: %s" -msgstr "Chyba počas ukladania do %s: %s" +#: src/Resources.vala:210 +msgid "_Adjust" +msgstr "_Upraviť" -#: ../src/direct/DirectPhotoPage.vala:497 -#: ../src/direct/DirectPhotoPage.vala:518 -msgid "Save As" -msgstr "Uložiť ako" +#: src/Resources.vala:211 +msgid "Adjust" +msgstr "Upraviť" # tooltip -#: ../src/editing_tools/EditingTools.vala:665 -msgid "Return to current photo dimensions" -msgstr "Vráti sa k súčasným rozmerom fotografie" +#: src/Resources.vala:212 +msgid "Adjust the photo's color and tone" +msgstr "Upraví farbu a tón fotografie" -# tooltip -#: ../src/editing_tools/EditingTools.vala:668 -msgid "Set the crop for this photo" -msgstr "Nastaví orezanie pre túto fotografiu" +#: src/Resources.vala:214 +msgid "Re_vert to Original" +msgstr "Vrátiť do _pôvodného stavu" -# tooltip -#: ../src/editing_tools/EditingTools.vala:680 -msgid "Pivot the crop rectangle between portrait and landscape orientations" -msgstr "Prepne obdĺžnik výrezu medzi vertikálnou a horizontálnou orientáciou" +#: src/Resources.vala:215 +msgid "Revert to Original" +msgstr "Vrátiť do pôvodného stavu" -#: ../src/editing_tools/EditingTools.vala:753 -msgid "Unconstrained" -msgstr "Neobmedzený" +#: src/Resources.vala:217 +msgid "Revert External E_dits" +msgstr "Vrátiť _externé úpravy" -#: ../src/editing_tools/EditingTools.vala:754 -msgid "Square" -msgstr "Štvorec" +#: src/Resources.vala:218 +msgid "Revert to the master photo" +msgstr "Vrátiť sa k pôvodnej fotografii" -#: ../src/editing_tools/EditingTools.vala:755 -msgid "Screen" -msgstr "Širokoúhly" +#: src/Resources.vala:220 +msgid "Set as _Desktop Background" +msgstr "Nastaviť ako _pozadie pracovnej plochy" -#: ../src/editing_tools/EditingTools.vala:757 -#: ../src/editing_tools/EditingTools.vala:760 -#: ../src/editing_tools/EditingTools.vala:770 -#: ../src/editing_tools/EditingTools.vala:780 -msgid "-" -msgstr "-" +#: src/Resources.vala:221 +msgid "Set selected image to be the new desktop background" +msgstr "Nastaviť vybraný obrázok ako pozadie pracovnej plochy" -#: ../src/editing_tools/EditingTools.vala:758 -msgid "SD Video (4 : 3)" -msgstr "SD Video (4 : 3)" +#: src/Resources.vala:222 +msgid "Set as _Desktop Slideshow..." +msgstr "Nastaviť ako _prezentáciu pre pracovnú plochu..." -#: ../src/editing_tools/EditingTools.vala:759 -msgid "HD Video (16 : 9)" -msgstr "HD Video (16 : 9)" +#: src/Resources.vala:224 +msgid "_Undo" +msgstr "Vrátiť _späť" -#: ../src/editing_tools/EditingTools.vala:766 -msgid "Letter (8.5 x 11 in.)" -msgstr "Dopis (8.5 x 11 in.)" +#: src/Resources.vala:225 +msgid "Undo" +msgstr "Vrátiť späť" -#: ../src/editing_tools/EditingTools.vala:768 -msgid "Tabloid (11 x 17 in.)" -msgstr "Tabloid (11 x 17 palca)" +#: src/Resources.vala:227 +msgid "_Redo" +msgstr "_Opakovať vrátené" -#: ../src/editing_tools/EditingTools.vala:775 -msgid "A4 (210 x 297 mm)" -msgstr "A4 (210 x 297 mm)" +#: src/Resources.vala:228 +msgid "Redo" +msgstr "Opakovať vrátené" -#: ../src/editing_tools/EditingTools.vala:779 -msgid "A3 (297 x 420 mm)" -msgstr "A3 (297 x 420 mm)" +#: src/Resources.vala:230 +msgid "Re_name Event..." +msgstr "Pre_menovať udalosť..." -#: ../src/editing_tools/EditingTools.vala:1887 -msgid "Close the red-eye tool" -msgstr "Zavrieť nástroj na odstraňovanie červených očí" +#: src/Resources.vala:233 +msgid "Make _Key Photo for Event" +msgstr "Označiť ako _hlavnú fotografiu udalosti" -#: ../src/editing_tools/EditingTools.vala:1890 -msgid "Remove any red-eye effects in the selected region" -msgstr "Odstrániť efekt červených očí vo vybranej oblasti" +#: src/Resources.vala:234 +msgid "Make Key Photo for Event" +msgstr "Označiť ako hlavnú fotografiu udalosti" -#: ../src/editing_tools/EditingTools.vala:2226 -#: ../src/editing_tools/StraightenTool.vala:102 -msgid "_Reset" -msgstr "_Obnoviť" +#: src/Resources.vala:236 +msgid "_New Event" +msgstr "_Nová udalosť" -#: ../src/editing_tools/EditingTools.vala:2248 -msgid "Saturation:" -msgstr "Sýtosť:" +#: src/Resources.vala:237 +msgid "New Event" +msgstr "Nová udalosť" -#: ../src/editing_tools/EditingTools.vala:2256 -msgid "Tint:" -msgstr "Sfarbenie:" +#: src/Resources.vala:239 +msgid "Move Photos" +msgstr "Presunúť fotografie" -#: ../src/editing_tools/EditingTools.vala:2265 -msgid "Temperature:" -msgstr "Teplota:" +#: src/Resources.vala:240 +msgid "Move photos to an event" +msgstr "Presunúť fotografie do udalosti" -#: ../src/editing_tools/EditingTools.vala:2273 -msgid "Shadows:" -msgstr "Tiene:" +#: src/Resources.vala:242 +msgid "_Merge Events" +msgstr "_Zlúčiť udalosti" -#: ../src/editing_tools/EditingTools.vala:2281 -msgid "Highlights:" -msgstr "Zvýraznenie:" +#: src/Resources.vala:243 +msgid "Merge" +msgstr "Zlúčiť" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset Colors" -msgstr "Obnoviť farby" +#: src/Resources.vala:244 +msgid "Combine events into a single event" +msgstr "Zlúčiť udalosti do jednej udalosti" -#: ../src/editing_tools/EditingTools.vala:2335 -msgid "Reset all color adjustments to original" -msgstr "Obnoviť všetky úpravy farby na pôvodné hodnoty" +#: src/Resources.vala:246 +msgid "_Set Rating" +msgstr "O_hodnotiť" -#: ../src/editing_tools/EditingTools.vala:2687 -msgid "Temperature" -msgstr "Teplota" +#: src/Resources.vala:247 +msgid "Set Rating" +msgstr "Ohodnotiť" -#: ../src/editing_tools/EditingTools.vala:2700 -msgid "Tint" -msgstr "Sfarbenie" +#: src/Resources.vala:248 +msgid "Change the rating of your photo" +msgstr "Zmeniť hodnotenie vašej fotografie" -#: ../src/editing_tools/EditingTools.vala:2713 -msgid "Saturation" -msgstr "Sýtosť" +#: src/Resources.vala:250 +msgid "_Increase" +msgstr "Z_výšiť" -#: ../src/editing_tools/EditingTools.vala:2726 -msgid "Exposure" -msgstr "Expozícia" +#: src/Resources.vala:251 +msgid "Increase Rating" +msgstr "Zvýšiť hodnotenie" -#: ../src/editing_tools/EditingTools.vala:2739 -msgid "Shadows" -msgstr "Tiene" +#: src/Resources.vala:253 +msgid "_Decrease" +msgstr "_Znížiť" -#: ../src/editing_tools/EditingTools.vala:2752 -msgid "Highlights" -msgstr "Zvýraznenie" +#: src/Resources.vala:254 +msgid "Decrease Rating" +msgstr "Znížiť hodnotenie" -#: ../src/editing_tools/EditingTools.vala:2762 -msgid "Contrast Expansion" -msgstr "Rozšíriť kontrast" +#: src/Resources.vala:256 +msgid "_Unrated" +msgstr "_Neohodnotená" -#: ../src/editing_tools/StraightenTool.vala:99 -msgid "Angle:" -msgstr "Uhol:" +#: src/Resources.vala:257 +msgid "Unrated" +msgstr "Neohodnotená" -#: ../src/events/Branch.vala:25 -msgid "Events" -msgstr "Udalosti" +#: src/Resources.vala:258 +msgid "Rate Unrated" +msgstr "Hodnotiť neohodnotené" -#: ../src/events/EventDirectoryItem.vala:83 -#, c-format -msgid "%d Photo/Video" -msgid_plural "%d Photos/Videos" -msgstr[0] "%d Fotografií/Videí" -msgstr[1] "%d Fotografia/Video" -msgstr[2] "%d Fotografie/Videá" +#: src/Resources.vala:259 +msgid "Setting as unrated" +msgstr "Nastavuje sa ako neohodnotená" -#: ../src/events/EventPage.vala:129 -msgid "No Event" -msgstr "Žiadna udalosť" +#: src/Resources.vala:260 +msgid "Remove any ratings" +msgstr "Odstrániť všetky hodnotenia" -# tooltip -#: ../src/events/EventsDirectoryPage.vala:131 -msgid "Display the comment of each event" -msgstr "Zobrazí komentár ku každej udalosti" +#: src/Resources.vala:262 +msgid "_Rejected" +msgstr "_Odmietnutá" -#: ../src/events/EventsDirectoryPage.vala:155 -msgid "No events" -msgstr "Žiadne udalosti" +#: src/Resources.vala:263 +msgid "Rejected" +msgstr "Odmietnutá" -#: ../src/events/EventsDirectoryPage.vala:159 -msgid "No events found" -msgstr "Neboli nájdené žiadne udalosti" +#: src/Resources.vala:264 +msgid "Rate Rejected" +msgstr "Hodnotiť odmietnuté" -#: ../src/events/EventsDirectoryPage.vala:230 -msgid "All Events" -msgstr "Všetky udalosti" +#: src/Resources.vala:265 +msgid "Setting as rejected" +msgstr "Nastavuje sa ako odmietnutá" -#: ../src/events/EventsDirectoryPage.vala:244 -msgid "Undated" -msgstr "Bez dátumu" +#: src/Resources.vala:266 +msgid "Set rating to rejected" +msgstr "Nastaviť hodnotenie ako odmietnuté" -#: ../src/events/EventsDirectoryPage.vala:245 -msgid "%Y" -msgstr "%Y" +#: src/Resources.vala:268 +msgid "Rejected _Only" +msgstr "Len _odmietnuté" -#: ../src/events/EventsDirectoryPage.vala:246 -msgid "%B" -msgstr "%B" +#: src/Resources.vala:269 +msgid "Rejected Only" +msgstr "Len odmietnuté" -#: ../src/folders/Branch.vala:141 -msgid "Folders" -msgstr "Priečinky" +#: src/Resources.vala:270 +msgid "Show only rejected photos" +msgstr "Zobraziť len odmietnuté fotografie" -#: ../src/library/Branch.vala:30 ../src/library/Branch.vala:130 -#: ../ui/shotwell.glade.h:32 -msgid "Library" -msgstr "Knižnica" +#: src/Resources.vala:272 +msgid "All + _Rejected" +msgstr "Všetky + o_dmietnuté" -#: ../src/library/ImportQueuePage.vala:8 -msgid "Importing..." -msgstr "Importuje sa..." +#: src/Resources.vala:273 +msgctxt "Tooltip" +msgid "Show all photos, including rejected" +msgstr "Zobrazí všetky fotografie, vrátane odmietnutých" -#: ../src/library/ImportQueuePage.vala:67 -msgid "_Stop Import" -msgstr "_Zastaviť importovanie" +#: src/Resources.vala:275 +msgid "_All Photos" +msgstr "_Všetky fotografie" + +# DK: https://bugzilla.gnome.org/show_bug.cgi?id=744254 +#. Button tooltip +#: src/Resources.vala:277 +msgid "Show all photos" +msgstr "Zobraziť všetky fotografie" + +#: src/Resources.vala:279 +msgid "_Ratings" +msgstr "_Hodnotenia" -#: ../src/library/ImportQueuePage.vala:68 -msgid "Stop importing photos" -msgstr "Zastaviť importovanie fotografií" +#: src/Resources.vala:280 +msgid "Display each photo's rating" +msgstr "Zobraziť hodnotenie každej fotografie" -#: ../src/library/ImportQueuePage.vala:124 -msgid "Preparing to import..." -msgstr "Pripravuje sa importovanie..." +#: src/Resources.vala:282 +msgid "_Filter Photos" +msgstr "_Filtrovať fotografie" -#: ../src/library/ImportQueuePage.vala:151 -#, c-format -msgid "Imported %s" -msgstr "Importovaný súbor „%s“" +#: src/Resources.vala:283 +msgid "Filter Photos" +msgstr "Filtrovať fotografie" -#: ../src/library/LastImportPage.vala:8 -msgid "Last Import" -msgstr "Posledné importovanie" +#: src/Resources.vala:284 +msgid "Limit the number of photos displayed based on a filter" +msgstr "Obmedziť počet zobrazených fotografií na základe filtra" -#: ../src/library/LibraryWindow.vala:285 -msgid "_Import From Folder..." -msgstr "_Importovať z priečinka..." +#: src/Resources.vala:286 +msgid "_Duplicate" +msgstr "Du_plikovať" -#: ../src/library/LibraryWindow.vala:286 -msgid "Import photos from disk to library" -msgstr "Importovať fotografie z disku do knižnice" +#: src/Resources.vala:287 +msgid "Duplicate" +msgstr "Duplikovať" -#: ../src/library/LibraryWindow.vala:293 -msgid "Import From _Application..." -msgstr "Importovať z _aplikácie..." +#: src/Resources.vala:288 +msgid "Make a duplicate of the photo" +msgstr "Vytvoriť duplikát fotografie" -#: ../src/library/LibraryWindow.vala:297 -msgid "Sort _Events" -msgstr "Zora_diť udalosti" +#: src/Resources.vala:290 +msgid "_Export..." +msgstr "_Exportovať..." -#: ../src/library/LibraryWindow.vala:307 -msgid "Empty T_rash" -msgstr "_Vyprázdniť kôš" +#: src/Resources.vala:292 +msgid "_Print..." +msgstr "_Tlačiť..." -# tooltip -#: ../src/library/LibraryWindow.vala:308 -msgid "Delete all photos in the trash" -msgstr "Odstráni všetky fotografie v koši" +#: src/Resources.vala:294 +msgid "Pu_blish..." +msgstr "_Uverejniť..." -#: ../src/library/LibraryWindow.vala:313 -msgid "View Eve_nt for Photo" -msgstr "Zobraziť u_dalosť fotografie" +#: src/Resources.vala:296 +msgid "Publish to various websites" +msgstr "Uverejní na rôznych webových stránkach" -#: ../src/library/LibraryWindow.vala:317 -msgid "_Find" -msgstr "_Nájsť" +#: src/Resources.vala:298 +msgid "Edit _Title..." +msgstr "Upraviť _názov..." -#: ../src/library/LibraryWindow.vala:318 -msgid "Find photos and videos by search criteria" -msgstr "Nájsť fotografie a videá podľa kritérií hľadania" +# DK:https://bugzilla.gnome.org/show_bug.cgi?id=744251 +#. Button label +#: src/Resources.vala:300 +msgctxt "Button Label" +msgid "Edit Title" +msgstr "Upraviť názov" -#: ../src/library/LibraryWindow.vala:329 ../src/searches/Branch.vala:77 -#: ../src/sidebar/Tree.vala:199 -msgid "Ne_w Saved Search..." -msgstr "No_vé uložené vyhľadávanie..." +#: src/Resources.vala:302 +msgid "Edit _Comment..." +msgstr "Upraviť _komentár..." -#: ../src/library/LibraryWindow.vala:351 -msgid "_Photos" -msgstr "_Fotografie" +#. Button label +#: src/Resources.vala:304 +msgid "Edit Comment" +msgstr "Upraviť komentár" -#: ../src/library/LibraryWindow.vala:355 -msgid "Even_ts" -msgstr "U_dalosti" +#: src/Resources.vala:306 +msgid "Edit Event _Comment..." +msgstr "Upraviť komentár k _udalosti..." -#: ../src/library/LibraryWindow.vala:374 -msgid "_Basic Information" -msgstr "_Základné informácie" +#: src/Resources.vala:309 +msgid "_Adjust Date and Time..." +msgstr "_Upraviť dátum a čas..." -#: ../src/library/LibraryWindow.vala:375 -msgid "Display basic information for the selection" -msgstr "Zobraziť základné informácie pre výber" +# window title +#: src/Resources.vala:310 +msgid "Adjust Date and Time" +msgstr "Upráva dátumu a času" -#: ../src/library/LibraryWindow.vala:380 -msgid "E_xtended Information" -msgstr "_Rozšírené informácie" +#: src/Resources.vala:312 +msgid "Add _Tags..." +msgstr "Pridať _značky..." -#: ../src/library/LibraryWindow.vala:381 -msgid "Display extended information for the selection" -msgstr "Zobraziť rozšírené informácie pre výber" +#: src/Resources.vala:313 +msgid "_Add Tags..." +msgstr "_Pridať značky..." -#: ../src/library/LibraryWindow.vala:386 -msgid "_Search Bar" -msgstr "_Vyhľadávacia lišta" +# DK: https://bugzilla.gnome.org/show_bug.cgi?id=744255 +#. Dialog title +#: src/Resources.vala:315 +msgctxt "Dialog Title" +msgid "Add Tags" +msgstr "Pridanie značiek" -#: ../src/library/LibraryWindow.vala:387 -msgid "Display the search bar" -msgstr "Zobrazí vyhľadávaciu lištu" +#: src/Resources.vala:319 +msgid "Open With E_xternal Editor" +msgstr "Otvoriť pomocou e_xterného editora" -#: ../src/library/LibraryWindow.vala:392 -msgid "S_idebar" -msgstr "Bočný panel" +#: src/Resources.vala:321 +msgid "Open With RA_W Editor" +msgstr "Otvoriť pomocou RA_W editora" -#: ../src/library/LibraryWindow.vala:393 -msgid "Display the sidebar" -msgstr "Zobraz bočný panel" +#: src/Resources.vala:323 +msgid "Send _To..." +msgstr "Odoslať _do..." -#: ../src/library/LibraryWindow.vala:651 -msgid "Import From Folder" -msgstr "Importovať z priečinka" +#: src/Resources.vala:324 +msgid "Send T_o..." +msgstr "Odoslať d_o..." -#: ../src/library/LibraryWindow.vala:720 -msgid "Empty Trash" -msgstr "Vyprázdniť kôš" +#: src/Resources.vala:326 +msgid "_Find..." +msgstr "_Nájsť..." -#: ../src/library/LibraryWindow.vala:720 -msgid "Emptying Trash..." -msgstr "Vyprázdňuje sa kôš..." +#: src/Resources.vala:327 +msgid "Find" +msgstr "Nájsť" -#: ../src/library/LibraryWindow.vala:879 -#, c-format -msgid "" -"Shotwell is configured to import photos to your home directory.\n" -"We recommend changing this in Edit %s Preferences.\n" -"Do you want to continue importing photos?" +#: src/Resources.vala:328 +msgid "Find an image by typing text that appears in its name or tags" msgstr "" -"Program Shotwell je nastavený aby importoval fotografie do vášho domovského " -"priečinku.\n" -"Odporúčame to zmeniť cez ponuku Upraviť nastavenia " -"programu %s.\n" -"Chcete pokračovať s importovaním fotografií?" +"Nájdite obrázok napísaním textu ktorý sa nachádza v jeho názve alebo značke" -#: ../src/library/LibraryWindow.vala:882 ../ui/shotwell.glade.h:18 -msgid "Library Location" -msgstr "Umiestnenie knižnice" +#: src/Resources.vala:330 +msgid "_Flag" +msgstr "_Označiť" -#. TODO: Specify which directory/file. -#: ../src/library/LibraryWindow.vala:895 -msgid "Photos cannot be imported from this directory." -msgstr "Fotografie sa nedajú importovať z tohto adresára." +#: src/Resources.vala:332 +msgid "Un_flag" +msgstr "Odz_načiť" -#: ../src/library/LibraryWindow.vala:1183 +#: src/Resources.vala:335 #, c-format -msgid "%s (%d%%)" -msgstr "%s (%d%%)" +msgid "Unable to launch editor: %s" +msgstr "Nie je možné spustiť editor: %s" -#: ../src/library/LibraryWindow.vala:1227 -#: ../src/library/LibraryWindow.vala:1238 -msgid "Updating library..." -msgstr "Aktualizuje sa knižnica..." +#: src/Resources.vala:340 +#, c-format +msgid "Add Tag \"%s\"" +msgstr "Pridať značku „%s“" -#: ../src/library/LibraryWindow.vala:1244 -msgid "Preparing to auto-import photos..." -msgstr "Pripravuje sa automatické importovanie fotografií..." +#. Used when adding two tags to photo(s) +#: src/Resources.vala:343 +#, c-format +msgid "Add Tags \"%s\" and \"%s\"" +msgstr "Pridať značky „%s“ a „%s“" -#: ../src/library/LibraryWindow.vala:1249 -msgid "Auto-importing photos..." -msgstr "Prebieha automatické importovanie fotografií..." +# DK: https://bugzilla.gnome.org/show_bug.cgi?id=744255 +#. Undo/Redo command name (in Edit menu) +#: src/Resources.vala:348 +msgctxt "UndoRedo menu entry" +msgid "Add Tags" +msgstr "Pridanie značiek" -#: ../src/library/LibraryWindow.vala:1257 -msgid "Writing metadata to files..." -msgstr "Zapisujú sa metaúdaje do súborov..." +#: src/Resources.vala:353 +#, c-format +msgid "_Delete Tag \"%s\"" +msgstr "O_dstrániť značku „%s“" -#: ../src/library/OfflinePage.vala:8 -msgid "Missing Files" -msgstr "Chýbajúce súbory" +#: src/Resources.vala:357 +#, c-format +msgid "Delete Tag \"%s\"" +msgstr "Odstrániť značku „%s“" -#: ../src/library/OfflinePage.vala:106 -msgid "Deleting..." -msgstr "Odstraňuje sa..." +#: src/Resources.vala:360 +msgid "Delete Tag" +msgstr "Odstrániť značku" -#: ../src/library/TrashPage.vala:8 -msgid "Trash" -msgstr "Kôš" +#: src/Resources.vala:366 +#, c-format +msgid "Re_name Tag \"%s\"..." +msgstr "Pre_menovať značku „%s“..." -#: ../src/library/TrashPage.vala:108 -msgid "Trash is empty" -msgstr "Kôš je prázdny" +#: src/Resources.vala:370 +#, c-format +msgid "Rename Tag \"%s\" to \"%s\"" +msgstr "Premenovať značku „%s“ na „%s“" -#: ../src/library/TrashPage.vala:112 -msgid "Delete" -msgstr "Odstrániť" +#: src/Resources.vala:373 +msgid "_Rename..." +msgstr "_Premenovať..." -#: ../src/library/TrashPage.vala:113 -msgid "Deleting Photos" -msgstr "Odstraňujú sa fotografie" +#: src/Resources.vala:375 +msgid "Modif_y Tags..." +msgstr "_Upraviť značky..." -#: ../src/main.vala:54 -#, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please use the latest version of Shotwell." -msgstr "" -"Vaša knižnica fotografií nie je kompatibilná s touto verziou programu " -"Shotwell. Zdá sa, že bola vytvorená programom Shotwell %s (schéma %d). Táto " -"verzia je %s (schéma %d). Prosím, použite najnovšiu verziu programu " -"Shotwell." +# dialog title +#: src/Resources.vala:376 +msgid "Modify Tags" +msgstr "Úprava značiek" -#: ../src/main.vala:59 +#: src/Resources.vala:379 #, c-format -msgid "" -"Shotwell was unable to upgrade your photo library from version %s (schema " -"%d) to %s (schema %d). For more information please check the Shotwell Wiki " -"at %s" -msgstr "" -"Shotwell nebol schopný zmeniť verziu vašej knižnice fotografií z %s (schéma " -"%d) na %s (schéma %d). Pre viac informácií si, prosím, pozrite wiki stránku " -"programu Shotwell na %s" +msgid "Tag Photo as \"%s\"" +msgstr "Označiť fotografie ako „%s“" -#: ../src/main.vala:65 +#: src/Resources.vala:379 #, c-format -msgid "" -"Your photo library is not compatible with this version of Shotwell. It " -"appears it was created by Shotwell %s (schema %d). This version is %s " -"(schema %d). Please clear your library by deleting %s and re-import your " -"photos." -msgstr "" -"Vaša knižnica fotografií nie je kompatibilná s touto verziou programu " -"Shotwell. Zdá sa, že bola vytvorená programom Shotwell %s (schéma %d). " -"Táto verzia je %s (schéma %d). Prosím, vyčistite vašu knižnicu odstránením " -"%s a znovu importujte vaše fotografie." +msgid "Tag Photos as \"%s\"" +msgstr "Označiť fotografie ako „%s“" -#: ../src/main.vala:71 +#: src/Resources.vala:383 #, c-format -msgid "Unknown error attempting to verify Shotwell's database: %s" -msgstr "Neznáma chyba pri pokuse o overenie databázy programu Shotwell: %s" - -#: ../src/main.vala:104 -msgid "Loading Shotwell" -msgstr "Načítavam Shotwell" +msgid "Tag the selected photo as \"%s\"" +msgstr "Označiť vybrané fotografie ako „%s“" -#: ../src/main.vala:294 -msgid "Path to Shotwell's private data" -msgstr "Cesta k súkromným údajom programu Shotwell" +#: src/Resources.vala:384 +#, c-format +msgid "Tag the selected photos as \"%s\"" +msgstr "Označiť vybrané fotografie ako „%s“" -#: ../src/main.vala:294 -msgid "DIRECTORY" -msgstr "ADRESÁR" +#: src/Resources.vala:388 +#, c-format +msgid "Remove Tag \"%s\" From _Photo" +msgstr "Odstrániť značku „%s“ z _fotografií" -# cmd desc -#: ../src/main.vala:298 -msgid "Do not monitor library directory at runtime for changes" -msgstr "Nebude sledovať zmeny v adresári s knižnicou pri spustení" +#: src/Resources.vala:389 +#, c-format +msgid "Remove Tag \"%s\" From _Photos" +msgstr "Odstrániť značku „%s“ z _fotografií" -# cmd desc -#: ../src/main.vala:302 -msgid "Don't display startup progress meter" -msgstr "Po spustení nezobrazí ukazovateľ priebehu" +#: src/Resources.vala:393 +#, c-format +msgid "Remove Tag \"%s\" From Photo" +msgstr "Odstrániť značku „%s“ z fotografií" -# cmd desc -#: ../src/main.vala:306 -msgid "Show the application's version" -msgstr "Zobrazí verziu aplikácie" +#: src/Resources.vala:394 +#, c-format +msgid "Remove Tag \"%s\" From Photos" +msgstr "Odstrániť značku „%s“ z fotografií" -#. init GTK (valac has already called g_threads_init()) -#: ../src/main.vala:338 -msgid "[FILE]" -msgstr "[SÚBOR]" +#: src/Resources.vala:398 +#, c-format +msgid "Unable to rename tag to \"%s\" because the tag already exists." +msgstr "Nie je možné premenovať značku na „%s“, lebo táto značka už existuje." -#: ../src/main.vala:342 +#: src/Resources.vala:402 #, c-format -msgid "Run '%s --help' to see a full list of available command line options.\n" +msgid "Unable to rename search to \"%s\" because the search already exists." msgstr "" -"Spustením '%s --help' zobrazíte úplný zoznam dostupných volieb príkazového " -"riadku.\n" +"Nepodarilo sa premenovať vyhľadávanie na „%s“, lebo takéto vyhľadávanie už " +"existuje." -#: ../src/photos/BmpSupport.vala:32 -msgid "BMP" -msgstr "BMP" +#: src/Resources.vala:405 +msgid "Saved Search" +msgstr "Uložené vyhľadávanie" -#: ../src/photos/JfifSupport.vala:84 -msgid "JPEG" -msgstr "JPEG" +#: src/Resources.vala:407 +msgid "Delete Search" +msgstr "Odstrániť vyhľadávanie" -#: ../src/photos/JfifSupport.vala:185 -#, c-format -msgid "Low (%d%%)" -msgstr "Nízka (%d%%)" +#: src/Resources.vala:410 +msgid "_Edit..." +msgstr "_Upraviť..." -#: ../src/photos/JfifSupport.vala:188 +#: src/Resources.vala:411 +msgid "Re_name..." +msgstr "_Premenovať..." + +#: src/Resources.vala:414 #, c-format -msgid "Medium (%d%%)" -msgstr "Stredná (%d%%)" +msgid "Rename Search \"%s\" to \"%s\"" +msgstr "Premenovať vyhľadávanie „%s“ na „%s“" -#: ../src/photos/JfifSupport.vala:191 +#: src/Resources.vala:418 #, c-format -msgid "High (%d%%)" -msgstr "Vysoká (%d%%)" +msgid "Delete Search \"%s\"" +msgstr "O_dstrániť vyhľadávanie „%s“" -#: ../src/photos/JfifSupport.vala:194 +#: src/Resources.vala:576 #, c-format -msgid "Maximum (%d%%)" -msgstr "Maximálna (%d%%)" +msgid "Rate %s" +msgstr "Hodnotiť %s" -#: ../src/photos/PngSupport.vala:30 -msgid "PNG" -msgstr "PNG" +#: src/Resources.vala:577 +#, c-format +msgid "Set rating to %s" +msgstr "Nastaviť hodnotenie na %s" -#: ../src/photos/RawSupport.vala:134 -msgid "RAW" -msgstr "RAW" +#: src/Resources.vala:578 +#, c-format +msgid "Setting rating to %s" +msgstr "Nastavuje sa hodnotenie na %s" -#: ../src/photos/TiffSupport.vala:86 -msgid "TIFF" -msgstr "TIFF" +#: src/Resources.vala:580 +#, c-format +msgid "Display %s" +msgstr "Zobraziť %s" -#: ../src/publishing/Publishing.vala:16 -msgid "Publishing" -msgstr "Uverejňovanie" +#: src/Resources.vala:581 +#, c-format +msgid "Only show photos with a rating of %s" +msgstr "Zobraziť len fotografie s hodnotením %s" -#: ../src/publishing/PublishingPluginHost.vala:11 -msgid "Preparing for upload" -msgstr "Pripravuje sa odovzdávanie" +#: src/Resources.vala:582 +#, c-format +msgid "%s or Better" +msgstr "%s alebo lepšie" -#: ../src/publishing/PublishingPluginHost.vala:12 +#: src/Resources.vala:583 #, c-format -msgid "Uploading %d of %d" -msgstr "Odovzdáva sa %d z %d" +msgid "Display %s or Better" +msgstr "Zobraziť %s alebo lepšie" -#: ../src/publishing/PublishingPluginHost.vala:81 +#: src/Resources.vala:584 #, c-format -msgid "Publishing to %s can't continue because an error occurred:" -msgstr "Uverejňovanie na %s nemôže pokračovať, pretože sa vyskytla chyba:" +msgid "Only show photos with a rating of %s or better" +msgstr "Zobraziť iba fotografie s hodnotením %s alebo lepšie" -#: ../src/publishing/PublishingPluginHost.vala:84 -msgid "To try publishing to another service, select one from the above menu." -msgstr "" -"Aby ste mohli uverejniť vaše fotografie na inej službe, zvoľte si ju z " -"ponuky hore." +# tooltip +#: src/Resources.vala:675 +msgid "Remove the selected photos from the trash" +msgstr "Odstráni vybrané fotografie z koša" -#: ../src/publishing/PublishingUI.vala:105 -msgid "The selected photos/videos were successfully published." -msgstr "Vybrané fotografie/videá boli úspešne uverejnené." +#: src/Resources.vala:676 +msgid "Remove the selected photos from the library" +msgstr "Odstrániť vybrané fotografie z knižnice" -#: ../src/publishing/PublishingUI.vala:107 -msgid "The selected videos were successfully published." -msgstr "Vybrané videá boli úspešne uverejnené." +#: src/Resources.vala:678 +msgid "_Restore" +msgstr "_Obnoviť" -#: ../src/publishing/PublishingUI.vala:109 -msgid "The selected photos were successfully published." -msgstr "Zvolené fotografie boli úspešne uverejnené." +# tooltip +#: src/Resources.vala:679 +msgid "Move the selected photos back into the library" +msgstr "Presunie vybrané fotografie naspäť do knižnice" -#: ../src/publishing/PublishingUI.vala:112 -msgid "The selected video was successfully published." -msgstr "Vybrané video bolo úspešne uverejnené." +#: src/Resources.vala:681 +msgid "Show in File Mana_ger" +msgstr "Zobraziť v správcovi sú_borov" -#: ../src/publishing/PublishingUI.vala:114 -msgid "The selected photo was successfully published." -msgstr "Vybraná fotografia bola úspešne uverejnená." +#: src/Resources.vala:682 +msgid "Open the selected photo's directory in the file manager" +msgstr "Otvoriť priečinok zvolených fotografií v správcovi súborov" -#: ../src/publishing/PublishingUI.vala:122 -msgid "Fetching account information..." -msgstr "Získavajú sa informácie o účte..." +#: src/Resources.vala:685 +#, c-format +msgid "Unable to open in file manager: %s" +msgstr "Nie je možné otvoriť v správcovi súborov: %s" -#: ../src/publishing/PublishingUI.vala:128 -msgid "Logging in..." -msgstr "Prihlasuje sa..." +#: src/Resources.vala:688 +msgid "R_emove From Library" +msgstr "_Odstrániť z knižnice" -#: ../src/publishing/PublishingUI.vala:188 -msgid "Publish Photos" -msgstr "Uverejniť fotografie" +#: src/Resources.vala:690 +msgid "_Move to Trash" +msgstr "Presunúť do _Koša" -#: ../src/publishing/PublishingUI.vala:189 -msgid "Publish photos _to:" -msgstr "Uverejniť fotografie _na službe:" +#: src/Resources.vala:692 +msgid "Select _All" +msgstr "Ozn_ačiť všetko" -#: ../src/publishing/PublishingUI.vala:191 -msgid "Publish Videos" -msgstr "Uverejniť videá" +#: src/Resources.vala:693 +msgid "Select all items" +msgstr "Vybrať všetky položky" -#: ../src/publishing/PublishingUI.vala:192 -msgid "Publish videos _to" -msgstr "Uverejniť videá _na" +#. ...precache the timestamp string... +#. / Locale-specific time format for 12-hour time, i.e. 8:31 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:772 +msgid "%-I:%M %p" +msgstr "%-H:%M" -#: ../src/publishing/PublishingUI.vala:194 -msgid "Publish Photos and Videos" -msgstr "Uverejniť fotografie a videá" +#. / Locale-specific time format for 12-hour time with seconds, i.e. 8:31:42 PM +#. / Precede modifier with a dash ("-") to pad with spaces, otherwise will pad with zeroes +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:777 +msgid "%-I:%M:%S %p" +msgstr "%-H:%M:%S" -#: ../src/publishing/PublishingUI.vala:195 -msgid "Publish photos and videos _to" -msgstr "Uverejniť fotografie a videá _na" +#. / Locale-specific calendar date format, i.e. "Tue Mar 08, 2006" +#. / See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format +#: src/Resources.vala:781 +msgid "%a %b %d, %Y" +msgstr "%a %d. %b, %Y" -#. There are no enabled publishing services that accept this media type, -#. warn the user. -#: ../src/publishing/PublishingUI.vala:397 -msgid "Unable to publish" -msgstr "Nepodarilo sa uverejniť" +#. / 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 +#. / 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 +#: src/Resources.vala:786 src/Resources.vala:796 +msgid "%a %b %d" +msgstr "%a %d. %b" -#: ../src/publishing/PublishingUI.vala:398 -#, c-format -msgid "" -"Shotwell cannot publish the selected items because you do not have a " -"compatible publishing plugin enabled. To correct this, choose Edit %s " -"Preferences and enable one or more of the publishing plugins on the " -"Plugins tab." -msgstr "" -"Shotwell nemôže uverejniť zvolené položky, pretože nemáte kompatibilný " -"uverejňovací zásuvný modul. Na opravenie tohoto problému, zvoľte Upraviť " -"%s nastavenia a povoľte jeden alebo viacero uverejňovacích zásuvných " -"modulov v záložke Zásuvné moduly." +#. / 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 +#: src/Resources.vala:791 +msgid "%d, %Y" +msgstr "%d. %b, %Y" + +#: src/Screensaver.vala:18 src/SlideshowPage.vala:141 +msgid "Slideshow" +msgstr "Prezentácia" -#: ../src/searches/Branch.vala:68 +#: src/searches/Branch.vala:68 msgid "Saved Searches" msgstr "Uložené vyhľadávania" #. Ordering must correspond with SearchConditionText.Context -#: ../src/searches/SavedSearchDialog.vala:168 +#: src/searches/SavedSearchDialog.vala:168 msgid "contains" msgstr "obsahuje" #. Ordering must correspond with Context -#: ../src/searches/SavedSearchDialog.vala:169 -#: ../src/searches/SavedSearchDialog.vala:500 +#: src/searches/SavedSearchDialog.vala:169 +#: src/searches/SavedSearchDialog.vala:500 msgid "is exactly" msgstr "je presne" -#: ../src/searches/SavedSearchDialog.vala:170 +#: src/searches/SavedSearchDialog.vala:170 msgid "starts with" msgstr "začína s" -#: ../src/searches/SavedSearchDialog.vala:171 +#: src/searches/SavedSearchDialog.vala:171 msgid "ends with" msgstr "končí s" -#: ../src/searches/SavedSearchDialog.vala:172 +#: src/searches/SavedSearchDialog.vala:172 msgid "does not contain" msgstr "neobsahuje" -#: ../src/searches/SavedSearchDialog.vala:173 -#: ../src/searches/SavedSearchDialog.vala:504 +#: src/searches/SavedSearchDialog.vala:173 +#: src/searches/SavedSearchDialog.vala:504 msgid "is not set" msgstr "nie je nastavené" -#: ../src/searches/SavedSearchDialog.vala:174 +#: src/searches/SavedSearchDialog.vala:174 msgid "is set" msgstr "je nastavené" #. Ordering must correspond with SearchConditionMediaType.Context -#: ../src/searches/SavedSearchDialog.vala:248 -#: ../src/searches/SavedSearchDialog.vala:379 -#: ../src/searches/SavedSearchDialog.vala:444 +#: src/searches/SavedSearchDialog.vala:248 +#: src/searches/SavedSearchDialog.vala:379 +#: src/searches/SavedSearchDialog.vala:444 msgid "is" msgstr "je" -#: ../src/searches/SavedSearchDialog.vala:249 +#: src/searches/SavedSearchDialog.vala:249 msgid "is not" msgstr "nie je" #. Ordering must correspond with SearchConditionMediaType.MediaType -#: ../src/searches/SavedSearchDialog.vala:255 +#: src/searches/SavedSearchDialog.vala:255 msgid "any photo" msgstr "akákoľvek fotografia" -#: ../src/searches/SavedSearchDialog.vala:256 +#: src/searches/SavedSearchDialog.vala:256 msgid "a raw photo" msgstr "RAW fotografia" -#: ../src/searches/SavedSearchDialog.vala:257 +#: src/searches/SavedSearchDialog.vala:257 msgid "a video" msgstr "video" -#: ../src/searches/SavedSearchDialog.vala:311 +#: src/searches/SavedSearchDialog.vala:311 msgid "has" msgstr "obsahuje" -#: ../src/searches/SavedSearchDialog.vala:312 +#: src/searches/SavedSearchDialog.vala:312 msgid "has no" msgstr "neobsahuje" -#: ../src/searches/SavedSearchDialog.vala:317 +#: src/searches/SavedSearchDialog.vala:317 msgid "modifications" msgstr "úpravy" -#: ../src/searches/SavedSearchDialog.vala:318 +#: src/searches/SavedSearchDialog.vala:318 msgid "internal modifications" msgstr "interné úpravy" -#: ../src/searches/SavedSearchDialog.vala:319 +#: src/searches/SavedSearchDialog.vala:319 msgid "external modifications" msgstr "externé úpravy" #. Ordering must correspond with SearchConditionFlagged.State -#: ../src/searches/SavedSearchDialog.vala:373 +#: src/searches/SavedSearchDialog.vala:373 msgid "flagged" msgstr "označená" -#: ../src/searches/SavedSearchDialog.vala:374 +#: src/searches/SavedSearchDialog.vala:374 msgid "not flagged" msgstr "neoznačená" -#: ../src/searches/SavedSearchDialog.vala:437 +#: src/searches/SavedSearchDialog.vala:437 msgid "and higher" msgstr "a vyššie" -#: ../src/searches/SavedSearchDialog.vala:438 +#: src/searches/SavedSearchDialog.vala:438 msgid "only" msgstr "iba" -#: ../src/searches/SavedSearchDialog.vala:439 +#: src/searches/SavedSearchDialog.vala:439 msgid "and lower" msgstr "a nižšie" -#: ../src/searches/SavedSearchDialog.vala:501 +#: src/searches/SavedSearchDialog.vala:501 msgid "is after" msgstr "je po" -#: ../src/searches/SavedSearchDialog.vala:502 +#: src/searches/SavedSearchDialog.vala:502 msgid "is before" msgstr "je pred" -#: ../src/searches/SavedSearchDialog.vala:503 +#: src/searches/SavedSearchDialog.vala:503 msgid "is between" msgstr "je medzi" -#: ../src/searches/SavedSearchDialog.vala:516 +#: src/searches/SavedSearchDialog.vala:516 msgid "and" msgstr "a" -#: ../src/searches/SavedSearchDialog.vala:697 +#: src/searches/SavedSearchDialog.vala:697 msgid "Search" msgstr "Hľadať" -#: ../src/searches/SavedSearchDialog.vala:702 +#: src/searches/SavedSearchDialog.vala:702 msgid "Cancel" msgstr "Zrušiť" -#: ../src/searches/SavedSearchDialog.vala:703 +#: src/searches/SavedSearchDialog.vala:703 msgid "OK" msgstr "OK" -#: ../src/searches/SavedSearchDialog.vala:721 +#: src/searches/SavedSearchDialog.vala:721 msgid "any" msgstr "aspoň jedno" -#: ../src/searches/SavedSearchDialog.vala:722 +#: src/searches/SavedSearchDialog.vala:722 msgid "all" msgstr "všetky" -#: ../src/searches/SavedSearchDialog.vala:723 +#: src/searches/SavedSearchDialog.vala:723 msgid "none" msgstr "žiadne" -#: ../src/searches/SearchBoolean.vala:157 +#: src/searches/SearchBoolean.vala:157 msgid "Any text" msgstr "Ľubovoľný text" -#: ../src/searches/SearchBoolean.vala:160 +#: src/searches/SearchBoolean.vala:160 msgid "Title" msgstr "Názov" -#: ../src/searches/SearchBoolean.vala:163 +#: src/searches/SearchBoolean.vala:163 msgid "Tag" msgstr "Značka" -#: ../src/searches/SearchBoolean.vala:166 +#: src/searches/SearchBoolean.vala:166 msgid "Comment" msgstr "Komentár" -#: ../src/searches/SearchBoolean.vala:169 +#: src/searches/SearchBoolean.vala:169 msgid "Event name" msgstr "Názov udalosti" -#: ../src/searches/SearchBoolean.vala:172 +#: src/searches/SearchBoolean.vala:172 msgid "File name" msgstr "Názov súboru" -#: ../src/searches/SearchBoolean.vala:175 +#: src/searches/SearchBoolean.vala:175 msgid "Media type" msgstr "Typ" -#: ../src/searches/SearchBoolean.vala:178 +#: src/searches/SearchBoolean.vala:178 msgid "Flag state" msgstr "Stav označenia" -#: ../src/searches/SearchBoolean.vala:181 +#: src/searches/SearchBoolean.vala:181 msgid "Photo state" msgstr "Stav fotografie" -#: ../src/searches/SearchBoolean.vala:187 +#. Rating button +#: src/searches/SearchBoolean.vala:184 src/SearchFilter.vala:999 +msgid "Rating" +msgstr "Hodnotenie" + +#: src/searches/SearchBoolean.vala:187 msgid "Date" msgstr "Dátum" -#: ../src/sidebar/Tree.vala:203 +#: src/SearchFilter.vala:600 src/SearchFilter.vala:601 +msgid "Videos" +msgstr "Videá" + +#: src/SearchFilter.vala:606 +msgid "RAW Photos" +msgstr "RAW fotografie" + +#: src/SearchFilter.vala:607 +msgid "RAW photos" +msgstr "RAW fotografie" + +#: src/SearchFilter.vala:948 +#, c-format +msgid "Error loading UI file %s: %s" +msgstr "Chyba pri nahrávaní súboru používateľského rozhrania %s: %s" + +#. Ticket #3260 - Add a 'close' context menu to +#. the searchbar. +#. Prepare the close menu for use, but don't +#. display it yet; we'll connect it to secondary +#. click later on. +#: src/SearchFilter.vala:959 +msgid "Close" +msgstr "Zavrieť" + +#. Type label and toggles +#: src/SearchFilter.vala:965 +msgid "Type" +msgstr "Typ" + +#: src/sidebar/Tree.vala:203 msgid "New _Tag..." msgstr "Nová _značka" -#: ../src/slideshow/Slideshow.vala:22 +#: src/SlideshowPage.vala:49 src/SlideshowPage.vala:183 +msgid "Settings" +msgstr "Nastavenia" + +#. Set up toolbar +#. add toolbar buttons +#: src/SlideshowPage.vala:160 +msgid "Back" +msgstr "Späť" + +#: src/SlideshowPage.vala:162 +msgid "Go to the previous photo" +msgstr "Prejsť na predchádzajúcu fotografiu" + +#: src/SlideshowPage.vala:167 src/SlideshowPage.vala:274 +msgid "Pause" +msgstr "Pozastaviť" + +#: src/SlideshowPage.vala:169 src/SlideshowPage.vala:275 +msgid "Pause the slideshow" +msgstr "Pozastaviť prezentáciu" + +#: src/SlideshowPage.vala:174 +msgid "Next" +msgstr "Ďalšia" + +#: src/SlideshowPage.vala:176 +msgid "Go to the next photo" +msgstr "Prejsť na nasledujúcu fotografiu" + +#: src/SlideshowPage.vala:184 +msgid "Change slideshow settings" +msgstr "Zmeniť nastavenia prezentácie" + +#. An entire slideshow set might be missing, so check for a loop. +#: src/SlideshowPage.vala:238 +msgid "All photo source files are missing." +msgstr "Chýbajú všetky zdrojové súbory fotografií." + +#: src/SlideshowPage.vala:270 +msgid "Play" +msgstr "Spustiť" + +#: src/SlideshowPage.vala:271 +msgid "Continue the slideshow" +msgstr "Pokračovať v prezentácii" + +#: src/slideshow/Slideshow.vala:22 msgid "Slideshow Transitions" msgstr "Prechody prezentácie" -#: ../src/slideshow/TransitionEffects.vala:98 +#: src/slideshow/TransitionEffects.vala:98 msgid "(None)" msgstr "(Žiadny)" -#: ../src/slideshow/TransitionEffects.vala:287 +#: src/slideshow/TransitionEffects.vala:287 msgid "None" msgstr "Žiadny" -#: ../src/slideshow/TransitionEffects.vala:339 +#: src/slideshow/TransitionEffects.vala:339 msgid "Random" msgstr "Náhodná" -#: ../src/tags/Branch.vala:131 +#: src/tags/Branch.vala:131 msgid "Tags" msgstr "Značky" -#: ../ui/set_background_dialog.glade.h:1 +#: src/Tag.vala:817 +msgid "untitled" +msgstr "bez názvu" + +#. multiple videos +#: src/VideoSupport.vala:490 +msgid "Export Videos" +msgstr "Exportovať videá" + +#: ui/set_background_dialog.ui:15 msgid "Set as Desktop Background" msgstr "Nastaviť ako _pozadie pracovnej plochy" -#: ../ui/set_background_dialog.glade.h:2 -#: ../ui/set_background_slideshow_dialog.glade.h:6 +#: ui/set_background_dialog.ui:77 ui/set_background_slideshow_dialog.ui:132 msgid "Use for Desktop" msgstr "Použiť pre pracovnú plochu" # GtkCheckButton -#: ../ui/set_background_dialog.glade.h:3 -#: ../ui/set_background_slideshow_dialog.glade.h:7 +#: ui/set_background_dialog.ui:93 ui/set_background_slideshow_dialog.ui:148 msgid "Use for Lock Screen" msgstr "Použiť pre uzamykaciu obrazovku" -#: ../ui/set_background_slideshow_dialog.glade.h:1 +#: ui/set_background_slideshow_dialog.ui:15 msgid "Set as Desktop Slideshow" msgstr "Nastaviť ako prezentáciu pre pracovnú plochu" -#: ../ui/set_background_slideshow_dialog.glade.h:2 +#: ui/set_background_slideshow_dialog.ui:33 msgid "Show each photo for" msgstr "Ukázať každú fotografiu na" -#: ../ui/set_background_slideshow_dialog.glade.h:3 +#: ui/set_background_slideshow_dialog.ui:45 msgid "period of time" msgstr "určitý čas" -#: ../ui/set_background_slideshow_dialog.glade.h:4 +#: ui/set_background_slideshow_dialog.ui:94 msgid "Generate desktop background slideshow" msgstr "Vygenerovať prezentáciu pre pracovnú plochu" -#: ../ui/set_background_slideshow_dialog.glade.h:5 +#: ui/set_background_slideshow_dialog.ui:115 msgid "How long each photo is shown on the desktop background" msgstr "Ako dlho bude každá fotografia zobrazená na pozadí pracovnej plochy" -#: ../ui/shotwell.glade.h:1 +#: ui/shotwell.ui:23 msgid "_Name of search:" msgstr "_Názov vyhľadávania:" -#: ../ui/shotwell.glade.h:2 +#: ui/shotwell.ui:81 msgid "_Match" msgstr "_Zhoda" -#: ../ui/shotwell.glade.h:3 +#: ui/shotwell.ui:108 msgid "of the following:" msgstr "z nasledujúcich:" -#: ../ui/shotwell.glade.h:4 +#: ui/shotwell.ui:195 msgid "Printed Image Size" msgstr "Veľkosť tlačeného obrázku" -#: ../ui/shotwell.glade.h:5 +#: ui/shotwell.ui:212 msgid "Use a _standard size:" msgstr "Použiť š_tandardnú veľkosť:" -#: ../ui/shotwell.glade.h:6 +#: ui/shotwell.ui:255 msgid "Use a c_ustom size:" msgstr "Použiť _vlastnú veľkosť:" -#: ../ui/shotwell.glade.h:7 +#: ui/shotwell.ui:345 msgid "_Match photo aspect ratio" msgstr "_Zachovať pomer strán fotografie" -#: ../ui/shotwell.glade.h:8 +#: ui/shotwell.ui:369 msgid "_Autosize:" msgstr "_Automatická veľkosť:" -#: ../ui/shotwell.glade.h:9 +#: ui/shotwell.ui:409 msgid "Titles" msgstr "Názvy" -#: ../ui/shotwell.glade.h:10 +#: ui/shotwell.ui:426 msgid "Print image _title" msgstr "Vytlačiť _názov obrázku" -#: ../ui/shotwell.glade.h:11 +#: ui/shotwell.ui:470 msgid "Pixel Resolution" msgstr "Rozlíšenie pixelov" -#: ../ui/shotwell.glade.h:12 +#: ui/shotwell.ui:490 msgid "_Output photo at:" msgstr "_Vytvoriť fotografiu v:" -#: ../ui/shotwell.glade.h:13 +#: ui/shotwell.ui:525 msgid "pixels per inch" msgstr "pixeloch na palec" -#: ../ui/shotwell.glade.h:15 +#: ui/shotwell.ui:559 +msgid "label" +msgstr "štítok" + +#: ui/shotwell.ui:681 msgid "Shotwell Preferences" msgstr "Nastavenia programu Shotwell" -#: ../ui/shotwell.glade.h:16 +#: ui/shotwell.ui:730 msgid "white" msgstr "biela" -#: ../ui/shotwell.glade.h:17 +#: ui/shotwell.ui:757 msgid "black" msgstr "čierna" -#: ../ui/shotwell.glade.h:19 +#: ui/shotwell.ui:805 msgid "_Watch library directory for new files" msgstr "_Sledovať adresáre knižnice kvôli novým súborom" -#: ../ui/shotwell.glade.h:20 +#: ui/shotwell.ui:834 msgid "Metadata" msgstr "metaúdaje" -#: ../ui/shotwell.glade.h:21 +#: ui/shotwell.ui:854 msgid "Write tags, titles, and other _metadata to photo files" msgstr "_Zapísať značky, názvy a ďalšie metaúdaje do súborov fotografií" -#: ../ui/shotwell.glade.h:22 +#: ui/shotwell.ui:880 msgid "Display" msgstr "Obrazovka" -#: ../ui/shotwell.glade.h:23 +#: ui/shotwell.ui:901 msgid "_Import photos to:" msgstr "_Importovať fotografie do:" -#: ../ui/shotwell.glade.h:24 +#: ui/shotwell.ui:924 msgid "_Background:" msgstr "_Pozadie:" -#: ../ui/shotwell.glade.h:25 +#: ui/shotwell.ui:947 msgid "Importing" msgstr "Importuje sa..." -#: ../ui/shotwell.glade.h:26 +#: ui/shotwell.ui:970 msgid "_Directory structure:" msgstr "Š_truktúra priečinkov:" -#: ../ui/shotwell.glade.h:27 +#: ui/shotwell.ui:1009 msgid "_Pattern:" msgstr "_Vzorec:" -#: ../ui/shotwell.glade.h:28 +#: ui/shotwell.ui:1091 msgid "Example:" msgstr "Príklad:" -#: ../ui/shotwell.glade.h:29 +#: ui/shotwell.ui:1108 msgid "R_ename imported files to lowercase" msgstr "Zmeniť názov importovaných súborov na _malé písmená" -#: ../ui/shotwell.glade.h:30 +#: ui/shotwell.ui:1137 msgid "RAW Developer" msgstr "RAW vývojka" -#: ../ui/shotwell.glade.h:31 +#: ui/shotwell.ui:1172 msgid "De_fault:" msgstr "Pred_volená:" -#: ../ui/shotwell.glade.h:33 +#: ui/shotwell.ui:1226 msgid "E_xternal photo editor:" msgstr "_Externý editor fotografií:" -#: ../ui/shotwell.glade.h:34 +#: ui/shotwell.ui:1242 msgid "External _RAW editor:" msgstr "Externý _RAW editor:" -#: ../ui/shotwell.glade.h:35 +#: ui/shotwell.ui:1307 msgid "External Editors" msgstr "Externé editory" -#: ../ui/shotwell.glade.h:36 +#: ui/shotwell.ui:1334 msgid "Plugins" msgstr "Zásuvné moduly" -#: ../ui/shotwell.glade.h:37 +#: ui/shotwell.ui:1400 msgid "_Delay:" msgstr "_Oneskorenie:" -#: ../ui/shotwell.glade.h:38 +#: ui/shotwell.ui:1416 msgid "_Transition effect:" msgstr "_Efekt prechodu:" -#: ../ui/shotwell.glade.h:39 +#: ui/shotwell.ui:1432 msgid "Transition d_elay:" msgstr "Oneskorenie _prechodu:" -#: ../ui/shotwell.glade.h:40 +#: ui/shotwell.ui:1444 msgid "Show t_itle" msgstr "Zobraziť ná_zov" -#: ../ui/shotwell.glade.h:41 +#: ui/shotwell.ui:1534 ui/shotwell.ui:1547 msgid "seconds" msgstr "sekúnd" +#~ msgid "Intro message replaced at runtime" +#~ msgstr "Úvodná správa nahradená pri spustení" + +#~ msgid "'Publishing to $url as $username' (populated in application code)" +#~ msgstr "„Uverejňuje sa na $url ako $username“ (obsiahnuté v kóde aplikácie)" + +#~ msgid "you are logged in rajce as $name" +#~ msgstr "Ste prihlásený do služby rajce ako $name" + +#~ msgid "$mediatype will appear in" +#~ msgstr "Videá sa zobrazia v:" + +#~ msgid "No photos/videos found" +#~ msgstr "Neboli nájdené žiadne fotografie/videá" + #~ msgid "Copyright 2009-2015 Yorba Foundation" #~ msgstr "Autorské práva 2009-2015 Nadácia Yorba" diff --git a/po/sl.gmo b/po/sl.gmo new file mode 100644 index 0000000..fd22b98 Binary files /dev/null and b/po/sl.gmo differ diff --git a/po/sl.po b/po/sl.po index 2398726..364a7ba 100644 --- a/po/sl.po +++ b/po/sl.po @@ -11,7 +11,6 @@ # ikriznar , 2013 # verayin , 2011 # lsbeeler , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/sr.gmo b/po/sr.gmo new file mode 100644 index 0000000..608f51b Binary files /dev/null and b/po/sr.gmo differ diff --git a/po/sr@latin.gmo b/po/sr@latin.gmo new file mode 100644 index 0000000..d8d78bd Binary files /dev/null and b/po/sr@latin.gmo differ diff --git a/po/sr@latin.po b/po/sr@latin.po index 8a78088..6ac04ae 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.po @@ -13,7 +13,7 @@ msgstr "" "PO-Revision-Date: 2016-01-03 21:37+0200\n" "Last-Translator: Miroslav Nikolić \n" "Language-Team: Serbian \n" -"Language: sr\n" +"Language: sr@latin\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/po/stamp-po b/po/stamp-po new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/po/stamp-po @@ -0,0 +1 @@ +timestamp diff --git a/po/sv.gmo b/po/sv.gmo new file mode 100644 index 0000000..d06c023 Binary files /dev/null and b/po/sv.gmo differ diff --git a/po/ta.gmo b/po/ta.gmo new file mode 100644 index 0000000..f699bd3 Binary files /dev/null and b/po/ta.gmo differ diff --git a/po/te.gmo b/po/te.gmo new file mode 100644 index 0000000..c3f83b4 Binary files /dev/null and b/po/te.gmo differ diff --git a/po/th.gmo b/po/th.gmo new file mode 100644 index 0000000..7c6fffa Binary files /dev/null and b/po/th.gmo differ diff --git a/po/th.po b/po/th.po index d08de41..5db690d 100644 --- a/po/th.po +++ b/po/th.po @@ -8,7 +8,6 @@ # bojang , 2011 # bojang , 2011 # verayin , 2011 -#, fuzzy msgid "" msgstr "" "Project-Id-Version: shotwell-0.15\n" diff --git a/po/tr.gmo b/po/tr.gmo new file mode 100644 index 0000000..d62e103 Binary files /dev/null and b/po/tr.gmo differ diff --git a/po/uk.gmo b/po/uk.gmo new file mode 100644 index 0000000..06aae2b Binary files /dev/null and b/po/uk.gmo differ diff --git a/po/vi.gmo b/po/vi.gmo new file mode 100644 index 0000000..07b7a9b Binary files /dev/null and b/po/vi.gmo differ diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo new file mode 100644 index 0000000..bdc1b49 Binary files /dev/null and b/po/zh_CN.gmo differ diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo new file mode 100644 index 0000000..7cd1a79 Binary files /dev/null and b/po/zh_HK.gmo differ diff --git a/po/zh_HK.po b/po/zh_HK.po index 0158b29..c1218bd 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -20,7 +20,7 @@ msgstr "" "Last-Translator: Cheng-Chia Tseng \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/" "shotwell/language/zh_TW/)\n" -"Language: zh_TW\n" +"Language: zh_HK\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo new file mode 100644 index 0000000..e4e06d9 Binary files /dev/null and b/po/zh_TW.gmo differ diff --git a/publish-extra.am b/publish-extra.am new file mode 100644 index 0000000..7448bf6 --- /dev/null +++ b/publish-extra.am @@ -0,0 +1,55 @@ +plugin_LTLIBRARIES += plugins/shotwell-publishing-extras/shotwell-publishing-extras.la + +dist_noinst_DATA += \ + plugins/shotwell-publishing-extras/gallery3.png \ + plugins/shotwell-publishing-extras/rajce.png \ + plugins/shotwell-publishing-extras/tumblr.png \ + plugins/shotwell-publishing-extras/gallery3_authentication_pane.ui \ + plugins/shotwell-publishing-extras/gallery3_publishing_options_pane.ui \ + plugins/shotwell-publishing-extras/rajce_authentication_pane.ui \ + plugins/shotwell-publishing-extras/rajce_publishing_options_pane.ui \ + plugins/shotwell-publishing-extras/tumblr_authentication_pane.ui \ + plugins/shotwell-publishing-extras/tumblr_publishing_options_pane.ui \ + plugins/shotwell-publishing-extras/yandex_publish_model.ui \ + plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml + +plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES = \ + plugins/shotwell-publishing-extras/GalleryConnector.vala \ + plugins/shotwell-publishing-extras/RajcePublishing.vala \ + plugins/shotwell-publishing-extras/shotwell-publishing-extras.vala \ + plugins/shotwell-publishing-extras/TumblrPublishing.vala \ + plugins/shotwell-publishing-extras/YandexPublishing.vala \ + plugins/shotwell-plugin-common.vapi + +nodist_plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_SOURCES = \ + plugins/shotwell-publishing-extras/resource.c +MOSTLYCLEANFILES += plugins/shotwell-publishing-extras/resource.c + +plugins/shotwell-publishing-extras/resource.c: plugins/shotwell-publishing-extras/org.gnome.Shotwell.Publishing.Extras.gresource.xml + $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-publishing-extras --generate $< + + +plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gtk+-3.0 \ + --pkg libsoup-2.4 \ + --pkg gexiv2 \ + --pkg gee-0.8 \ + --pkg json-glib-1.0 \ + --pkg shotwell-plugin-dev-1.0 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --vapidir $(abs_top_srcdir)/plugins + +plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_CFLAGS = \ + -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Publishing/Extras"' \ + $(PLUGIN_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I $(abs_top_srcdir)/plugins + +plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LDFLAGS = \ + $(SHOTWELL_PLUGIN_LDFLAGS) + +plugins_shotwell_publishing_extras_shotwell_publishing_extras_la_LIBADD = \ + $(PUBLISHING_LIBS) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la diff --git a/publish.am b/publish.am new file mode 100644 index 0000000..194dcb6 --- /dev/null +++ b/publish.am @@ -0,0 +1,57 @@ +plugin_LTLIBRARIES += plugins/shotwell-publishing/shotwell-publishing.la + +dist_noinst_DATA += \ + plugins/shotwell-publishing/facebook.png \ + plugins/shotwell-publishing/flickr.png \ + plugins/shotwell-publishing/picasa.png \ + plugins/shotwell-publishing/piwigo.png \ + plugins/shotwell-publishing/youtube.png \ + plugins/shotwell-publishing/facebook_publishing_options_pane.ui \ + plugins/shotwell-publishing/flickr_pin_entry_pane.ui \ + plugins/shotwell-publishing/flickr_publishing_options_pane.ui \ + plugins/shotwell-publishing/picasa_publishing_options_pane.ui \ + plugins/shotwell-publishing/piwigo_authentication_pane.ui \ + plugins/shotwell-publishing/piwigo_publishing_options_pane.ui \ + plugins/shotwell-publishing/youtube_publishing_options_pane.ui \ + plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml + +plugins_shotwell_publishing_shotwell_publishing_la_SOURCES = \ + plugins/shotwell-publishing/shotwell-publishing.vala \ + plugins/shotwell-publishing/FacebookPublishing.vala \ + plugins/shotwell-publishing/PicasaPublishing.vala \ + plugins/shotwell-publishing/FlickrPublishing.vala \ + plugins/shotwell-publishing/YouTubePublishing.vala \ + plugins/shotwell-publishing/PiwigoPublishing.vala \ + plugins/shotwell-plugin-common.vapi + +nodist_plugins_shotwell_publishing_shotwell_publishing_la_SOURCES = \ + plugins/shotwell-publishing/resource.c +MOSTLYCLEANFILES += plugins/shotwell-publishing/resource.c + +plugins/shotwell-publishing/resource.c: plugins/shotwell-publishing/org.gnome.Shotwell.Publishing.gresource.xml + $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-publishing --generate $< + +plugins_shotwell_publishing_shotwell_publishing_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gtk+-3.0 \ + --pkg libsoup-2.4 \ + --pkg gexiv2 \ + --pkg gee-0.8 \ + --pkg json-glib-1.0 \ + --pkg shotwell-plugin-dev-1.0 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --vapidir $(abs_top_srcdir)/plugins + +plugins_shotwell_publishing_shotwell_publishing_la_CFLAGS = \ + -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Publishing"' \ + $(PLUGIN_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I $(top_srcdir)/plugins + +plugins_shotwell_publishing_shotwell_publishing_la_LDFLAGS = \ + $(SHOTWELL_PLUGIN_LDFLAGS) + +plugins_shotwell_publishing_shotwell_publishing_la_LIBADD = \ + $(PUBLISHING_LIBS) \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la diff --git a/shotwell-plugin-dev-1.0.m4 b/shotwell-plugin-dev-1.0.m4 deleted file mode 100644 index 1cbf175..0000000 --- a/shotwell-plugin-dev-1.0.m4 +++ /dev/null @@ -1,11 +0,0 @@ -prefix=_PREFIX_ -exec_prefix=${prefix} -libdir=${exec_prefix}/_LIB_ -includedir=${prefix}/include - -Name: Shotwell Plugin Development -Description: Headers for building Shotwell plugins -Requires: _REQUIREMENTS_ -Version: _VERSION_ -Cflags: -I${includedir}/shotwell - diff --git a/shotwell.am b/shotwell.am new file mode 100644 index 0000000..fa157d4 --- /dev/null +++ b/shotwell.am @@ -0,0 +1,215 @@ +bin_PROGRAMS = shotwell +shotwell_CFLAGS = \ + $(SHOTWELL_CFLAGS) \ + $(UNITY_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I$(top_builddir)/plugins \ + -I$(abs_top_srcdir)/plugins + +shotwell_LDADD = \ + src/plugins/libplugin.la \ + $(SHOTWELL_LIBS) \ + $(UNITY_LIBS) +shotwell_VALAFLAGS = $(COMMON_VALAFLAGS) \ + --pkg gio-2.0 --pkg gtk+-3.0 --pkg gee-0.8 \ + --pkg gio-unix-2.0 --pkg sqlite3 --pkg gmodule-2.0 \ + --vapidir $(abs_top_srcdir)/vapi \ + --pkg libgphoto2 --pkg posix --pkg LConv --pkg libraw --pkg gexiv2 \ + --pkg libexif --pkg gudev-1.0 --pkg gstreamer-1.0 \ + --pkg gstreamer-pbutils-1.0 \ + $(UNITY_VALAFLAGS) \ + $(COMMON_VALAFLAGS_POST) + +shotwell_SOURCES = \ + src/unit/Unit.vala \ + src/util/Util.vala \ + src/util/file.vala \ + src/util/image.vala \ + src/util/misc.vala \ + src/util/string.vala \ + src/util/system.vala \ + src/util/KeyValueMap.vala \ + src/util/ui.vala \ + src/threads/Threads.vala \ + src/threads/Workers.vala \ + src/threads/BackgroundJob.vala \ + src/threads/Semaphore.vala \ + src/db/Db.vala \ + src/db/DatabaseTable.vala \ + src/db/PhotoTable.vala \ + src/db/EventTable.vala \ + src/db/TagTable.vala \ + src/db/TombstoneTable.vala \ + src/db/VideoTable.vala \ + src/db/VersionTable.vala \ + src/db/SavedSearchDBTable.vala \ + src/editing_tools/EditingTools.vala \ + src/editing_tools/StraightenTool.vala \ + src/slideshow/Slideshow.vala \ + src/slideshow/TransitionEffects.vala \ + src/photos/Photos.vala \ + src/photos/PhotoFileAdapter.vala \ + src/photos/PhotoFileFormat.vala \ + src/photos/PhotoFileSniffer.vala \ + src/photos/PhotoMetadata.vala \ + src/photos/GRaw.vala \ + src/photos/GdkSupport.vala \ + src/photos/JfifSupport.vala \ + src/photos/BmpSupport.vala \ + src/photos/RawSupport.vala \ + src/photos/PngSupport.vala \ + src/photos/TiffSupport.vala \ + src/plugins/Plugins.vala \ + src/plugins/StandardHostInterface.vala \ + src/plugins/ManifestWidget.vala \ + src/publishing/Publishing.vala \ + src/publishing/PublishingUI.vala \ + src/publishing/PublishingPluginHost.vala \ + src/publishing/APIGlue.vala \ + src/library/Library.vala \ + src/library/LibraryWindow.vala \ + src/library/Branch.vala \ + src/library/TrashSidebarEntry.vala \ + src/library/OfflineSidebarEntry.vala \ + src/library/FlaggedSidebarEntry.vala \ + src/library/LastImportSidebarEntry.vala \ + src/library/ImportQueueSidebarEntry.vala \ + src/library/FlaggedPage.vala \ + src/library/ImportQueuePage.vala \ + src/library/LastImportPage.vala \ + src/library/OfflinePage.vala \ + src/library/TrashPage.vala \ + src/direct/Direct.vala \ + src/direct/DirectWindow.vala \ + src/direct/DirectPhoto.vala \ + src/direct/DirectPhotoPage.vala \ + src/direct/DirectView.vala \ + src/core/Core.vala \ + src/core/DataCollection.vala \ + src/core/DataSet.vala \ + src/core/util.vala \ + src/core/SourceCollection.vala \ + src/core/SourceHoldingTank.vala \ + src/core/DatabaseSourceCollection.vala \ + src/core/ContainerSourceCollection.vala \ + src/core/ViewCollection.vala \ + src/core/DataObject.vala \ + src/core/Alteration.vala \ + src/core/DataSource.vala \ + src/core/DataSourceTypes.vala \ + src/core/DataView.vala \ + src/core/DataViewTypes.vala \ + src/core/Tracker.vala \ + src/core/SourceInterfaces.vala \ + src/sidebar/Sidebar.vala \ + src/sidebar/Branch.vala \ + src/sidebar/Entry.vala \ + src/sidebar/Tree.vala \ + src/sidebar/common.vala \ + src/events/Events.vala \ + src/events/Branch.vala \ + src/events/EventsDirectoryPage.vala \ + src/events/EventPage.vala \ + src/events/EventDirectoryItem.vala \ + src/tags/Tags.vala \ + src/tags/Branch.vala \ + src/tags/TagPage.vala \ + src/tags/HierarchicalTagIndex.vala \ + src/tags/HierarchicalTagUtilities.vala \ + src/camera/Camera.vala \ + src/camera/Branch.vala \ + src/camera/CameraTable.vala \ + src/camera/GPhoto.vala \ + src/camera/ImportPage.vala \ + src/searches/Searches.vala \ + src/searches/Branch.vala \ + src/searches/SearchBoolean.vala \ + src/searches/SavedSearchPage.vala \ + src/searches/SavedSearchDialog.vala \ + src/config/Config.vala \ + src/config/ConfigurationInterfaces.vala \ + src/config/GSettingsEngine.vala \ + src/data_imports/DataImports.vala \ + src/data_imports/DataImportsPluginHost.vala \ + src/data_imports/DataImportsUI.vala \ + src/data_imports/DataImportJob.vala \ + src/data_imports/DataImportSource.vala \ + src/folders/Folders.vala \ + src/folders/Branch.vala \ + src/folders/Page.vala \ + src/main.vala \ + src/AppWindow.vala \ + src/CollectionPage.vala \ + src/NaturalCollate.vala \ + src/Thumbnail.vala \ + src/ThumbnailCache.vala \ + src/CheckerboardLayout.vala \ + src/PhotoPage.vala \ + src/Page.vala \ + src/SortedList.vala \ + src/Dimensions.vala \ + src/Box.vala \ + src/Photo.vala \ + src/Orientation.vala \ + src/BatchImport.vala \ + src/Dialogs.vala \ + src/Resources.vala \ + src/Debug.vala \ + src/ColorTransformation.vala \ + src/Properties.vala \ + src/CustomComponents.vala \ + src/Event.vala \ + src/International.vala \ + src/AppDirs.vala \ + src/PixbufCache.vala \ + src/CommandManager.vala \ + src/Commands.vala \ + src/SlideshowPage.vala \ + src/LibraryFiles.vala \ + src/Printing.vala \ + src/Tag.vala \ + src/Screensaver.vala \ + src/Exporter.vala \ + src/DirectoryMonitor.vala \ + src/LibraryMonitor.vala \ + src/VideoSupport.vala \ + src/Tombstone.vala \ + src/MetadataWriter.vala \ + src/Application.vala \ + src/TimedQueue.vala \ + src/MediaPage.vala \ + src/MediaDataRepresentation.vala \ + src/DesktopIntegration.vala \ + src/MediaInterfaces.vala \ + src/MediaMetadata.vala \ + src/VideoMetadata.vala \ + src/MediaMonitor.vala \ + src/PhotoMonitor.vala \ + src/VideoMonitor.vala \ + src/SearchFilter.vala \ + src/MediaViewTracker.vala \ + src/UnityProgressBar.vala \ + src/Upgrades.vala \ + src/.unitize/_UnitInternals.vala \ + src/.unitize/_UtilInternals.vala \ + src/.unitize/_ThreadsInternals.vala \ + src/.unitize/_DbInternals.vala \ + src/.unitize/_EditingToolsInternals.vala \ + src/.unitize/_PluginsInternals.vala \ + src/.unitize/_SlideshowInternals.vala \ + src/.unitize/_PhotosInternals.vala \ + src/.unitize/_PublishingInternals.vala \ + src/.unitize/_LibraryInternals.vala \ + src/.unitize/_DirectInternals.vala \ + src/.unitize/_CoreInternals.vala \ + src/.unitize/_SidebarInternals.vala \ + src/.unitize/_EventsInternals.vala \ + src/.unitize/_TagsInternals.vala \ + src/.unitize/_CameraInternals.vala \ + src/.unitize/_SearchesInternals.vala \ + src/.unitize/_ConfigInternals.vala \ + src/.unitize/_DataImportsInternals.vala \ + src/.unitize/_FoldersInternals.vala \ + src/.unitize/_Library_unitize_entry.vala \ + src/.unitize/_Direct_unitize_entry.vala \ + plugins/shotwell-plugin-dev-1.0.vapi diff --git a/shotwell_vala.stamp b/shotwell_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/shotwell_vala.stamp @@ -0,0 +1 @@ +stamp 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" +} + + + diff --git a/src_plugins_libplugin_la_vala.stamp b/src_plugins_libplugin_la_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/src_plugins_libplugin_la_vala.stamp @@ -0,0 +1 @@ +stamp diff --git a/thumbnailer.am b/thumbnailer.am new file mode 100644 index 0000000..04362e0 --- /dev/null +++ b/thumbnailer.am @@ -0,0 +1,10 @@ +pkglibexec_PROGRAMS += thumbnailer/shotwell-video-thumbnailer + +thumbnailer_shotwell_video_thumbnailer_SOURCES = thumbnailer/shotwell-video-thumbnailer.vala +thumbnailer_shotwell_video_thumbnailer_VALAFLAGS = $(COMMON_VALAFLAGS) \ + --pkg gstreamer-1.0 \ + --pkg gee-0.8 \ + --pkg gtk+-3.0 + +thumbnailer_shotwell_video_thumbnailer_CFLAGS = $(THUMBNAILER_CFLAGS) +thumbnailer_shotwell_video_thumbnailer_LDADD = $(THUMBNAILER_LIBS) diff --git a/thumbnailer/shotwell-video-thumbnailer.c b/thumbnailer/shotwell-video-thumbnailer.c new file mode 100644 index 0000000..5495ab8 --- /dev/null +++ b/thumbnailer/shotwell-video-thumbnailer.c @@ -0,0 +1,784 @@ +/* shotwell-video-thumbnailer.c generated by valac 0.32.1, the Vala compiler + * generated from shotwell-video-thumbnailer.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This is a Vala-rewrite of GStreamer snapshot example. Adapted from earlier + * work from Wim Taymans. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ +/* Shotwell Thumbnailer takes in a video file and returns a thumbnail to stdout. This is*/ +/* a replacement for totem-video-thumbnailer*/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SHOTWELL_THUMBNAILER (shotwell_thumbnailer_get_type ()) +#define SHOTWELL_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHOTWELL_THUMBNAILER, ShotwellThumbnailer)) +#define SHOTWELL_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHOTWELL_THUMBNAILER, ShotwellThumbnailerClass)) +#define IS_SHOTWELL_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHOTWELL_THUMBNAILER)) +#define IS_SHOTWELL_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHOTWELL_THUMBNAILER)) +#define SHOTWELL_THUMBNAILER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHOTWELL_THUMBNAILER, ShotwellThumbnailerClass)) + +typedef struct _ShotwellThumbnailer ShotwellThumbnailer; +typedef struct _ShotwellThumbnailerClass ShotwellThumbnailerClass; +typedef struct _ShotwellThumbnailerPrivate ShotwellThumbnailerPrivate; +#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 struct _ParamSpecShotwellThumbnailer ParamSpecShotwellThumbnailer; + +struct _ShotwellThumbnailer { + GTypeInstance parent_instance; + volatile int ref_count; + ShotwellThumbnailerPrivate * priv; +}; + +struct _ShotwellThumbnailerClass { + GTypeClass parent_class; + void (*finalize) (ShotwellThumbnailer *self); +}; + +struct _ParamSpecShotwellThumbnailer { + GParamSpec parent_instance; +}; + + +static gpointer shotwell_thumbnailer_parent_class = NULL; + +gpointer shotwell_thumbnailer_ref (gpointer instance); +void shotwell_thumbnailer_unref (gpointer instance); +GParamSpec* param_spec_shotwell_thumbnailer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_shotwell_thumbnailer (GValue* value, gpointer v_object); +void value_take_shotwell_thumbnailer (GValue* value, gpointer v_object); +gpointer value_get_shotwell_thumbnailer (const GValue* value); +GType shotwell_thumbnailer_get_type (void) G_GNUC_CONST; +enum { + SHOTWELL_THUMBNAILER_DUMMY_PROPERTY +}; +#define SHOTWELL_THUMBNAILER_caps_string "video/x-raw,format=RGB,pixel-aspect-ratio=1/1" +gint shotwell_thumbnailer_main (gchar** args, int args_length1); +ShotwellThumbnailer* shotwell_thumbnailer_new (void); +ShotwellThumbnailer* shotwell_thumbnailer_construct (GType object_type); +static void shotwell_thumbnailer_finalize (ShotwellThumbnailer* obj); + + +gint shotwell_thumbnailer_main (gchar** args, int args_length1) { + gint result = 0; + GstElement* pipeline = NULL; + GstElement* sink = NULL; + gchar* descr = NULL; + GdkPixbuf* pixbuf = NULL; + guint8* pngdata = NULL; + gint pngdata_length1 = 0; + gint _pngdata_size_ = 0; + gint64 duration = 0LL; + gint64 position = 0LL; + GstStateChangeReturn ret = 0; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 23 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + gst_init (&args_length1, &args); +#line 25 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp0_ = args; +#line 25 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp0__length1 = args_length1; +#line 25 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (_tmp0__length1 != 2) { +#line 107 "shotwell-video-thumbnailer.c" + FILE* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + const gchar* _tmp3_ = NULL; +#line 26 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp1_ = stdout; +#line 26 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp2_ = args; +#line 26 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp2__length1 = args_length1; +#line 26 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp3_ = _tmp2_[0]; +#line 26 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fprintf (_tmp1_, "usage: %s [filename]\n Writes video thumbnail to stdout\n", _tmp3_); +#line 27 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 1; +#line 27 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 27 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 27 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 27 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 27 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 27 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 136 "shotwell-video-thumbnailer.c" + } +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp4_ = args; +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp4__length1 = args_length1; +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp5_ = _tmp4_[1]; +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp6_ = g_strdup_printf ("filesrc location=\"%s\" ! decodebin ! videoconvert ! videoscale ! ", _tmp5_); +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp7_ = _tmp6_; +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp8_ = g_strdup_printf ("%s ! gdkpixbufsink name=sink", SHOTWELL_THUMBNAILER_caps_string); +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp9_ = _tmp8_; +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp10_ = g_strconcat (_tmp7_, _tmp9_, NULL); +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + descr = _tmp10_; +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (_tmp9_); +#line 30 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (_tmp7_); +#line 162 "shotwell-video-thumbnailer.c" + { + GstElement* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GstElement* _tmp13_ = NULL; + GstElement* _tmp14_ = NULL; + GstElement* _tmp15_ = NULL; + GstElement* _tmp16_ = NULL; + GstElement* _tmp17_ = NULL; + GstStateChangeReturn _tmp18_ = 0; + GstStateChangeReturn _tmp19_ = 0; + GstElement* _tmp23_ = NULL; + GstStateChangeReturn _tmp24_ = 0; + GstStateChangeReturn _tmp25_ = 0; + GstElement* _tmp27_ = NULL; + gint64 _tmp28_ = 0LL; + gboolean _tmp29_ = FALSE; + GstElement* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + GstElement* _tmp33_ = NULL; + GstStateChangeReturn _tmp34_ = 0; + GstStateChangeReturn _tmp35_ = 0; + GstElement* _tmp37_ = NULL; + GdkPixbuf* _tmp38_ = NULL; + guint8* _tmp39_ = NULL; + gsize _tmp40_; + FILE* _tmp41_ = NULL; + guint8* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + GstElement* _tmp43_ = NULL; +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp12_ = descr; +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp13_ = gst_parse_launch_full (_tmp12_, NULL, GST_PARSE_FLAG_NONE, &_inner_error_); +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_object_ref_sink (_tmp13_); +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp11_ = _tmp13_; +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 202 "shotwell-video-thumbnailer.c" + goto __catch0_g_error; + } +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp14_ = _tmp11_; +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp11_ = NULL; +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_object_ref_sink (_tmp14_); +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 35 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pipeline = _tmp14_; +#line 38 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp15_ = pipeline; +#line 38 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp16_ = gst_bin_get_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gst_bin_get_type (), GstBin), "sink"); +#line 38 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 38 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + sink = _tmp16_; +#line 41 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp17_ = pipeline; +#line 41 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp18_ = gst_element_set_state (_tmp17_, GST_STATE_PAUSED); +#line 41 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + ret = _tmp18_; +#line 42 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp19_ = ret; +#line 42 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (_tmp19_ == GST_STATE_CHANGE_FAILURE) { +#line 233 "shotwell-video-thumbnailer.c" + FILE* _tmp20_ = NULL; +#line 43 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp20_ = stderr; +#line 43 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fprintf (_tmp20_, "Failed to play the file: couldn't set state\n"); +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 3; +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (_tmp11_); +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 44 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 255 "shotwell-video-thumbnailer.c" + } else { + GstStateChangeReturn _tmp21_ = 0; +#line 45 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp21_ = ret; +#line 45 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (_tmp21_ == GST_STATE_CHANGE_NO_PREROLL) { +#line 262 "shotwell-video-thumbnailer.c" + FILE* _tmp22_ = NULL; +#line 46 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp22_ = stderr; +#line 46 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fprintf (_tmp22_, "Live sources not supported yet.\n"); +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 4; +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (_tmp11_); +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 47 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 284 "shotwell-video-thumbnailer.c" + } + } +#line 53 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp23_ = pipeline; +#line 53 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp24_ = gst_element_get_state (_tmp23_, NULL, NULL, (GstClockTime) (5 * GST_SECOND)); +#line 53 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + ret = _tmp24_; +#line 54 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp25_ = ret; +#line 54 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (_tmp25_ == GST_STATE_CHANGE_FAILURE) { +#line 297 "shotwell-video-thumbnailer.c" + FILE* _tmp26_ = NULL; +#line 55 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp26_ = stderr; +#line 55 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fprintf (_tmp26_, "Failed to play the file: couldn't get state.\n"); +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 3; +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (_tmp11_); +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 56 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 319 "shotwell-video-thumbnailer.c" + } +#line 60 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp27_ = pipeline; +#line 60 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp29_ = gst_element_query_duration (_tmp27_, GST_FORMAT_TIME, &_tmp28_); +#line 60 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + duration = _tmp28_; +#line 60 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (!_tmp29_) { +#line 329 "shotwell-video-thumbnailer.c" + FILE* _tmp30_ = NULL; +#line 61 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp30_ = stderr; +#line 61 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fprintf (_tmp30_, "Failed to query file for duration\n"); +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 3; +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (_tmp11_); +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 62 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 351 "shotwell-video-thumbnailer.c" + } +#line 65 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + position = (gint64) (1 * GST_SECOND); +#line 71 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp31_ = pipeline; +#line 71 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp32_ = position; +#line 71 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + gst_element_seek_simple (_tmp31_, GST_FORMAT_TIME, GST_SEEK_FLAG_KEY_UNIT | GST_SEEK_FLAG_FLUSH, _tmp32_); +#line 73 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp33_ = pipeline; +#line 73 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp34_ = gst_element_get_state (_tmp33_, NULL, NULL, (GstClockTime) (5 * GST_SECOND)); +#line 73 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + ret = _tmp34_; +#line 74 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp35_ = ret; +#line 74 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (_tmp35_ == GST_STATE_CHANGE_FAILURE) { +#line 371 "shotwell-video-thumbnailer.c" + FILE* _tmp36_ = NULL; +#line 75 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp36_ = stderr; +#line 75 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fprintf (_tmp36_, "Failed to play the file: couldn't get state.\n"); +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 3; +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (_tmp11_); +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 76 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 393 "shotwell-video-thumbnailer.c" + } +#line 79 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp37_ = sink; +#line 79 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, G_TYPE_OBJECT, GObject), "last-pixbuf", &pixbuf, NULL); +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp38_ = pixbuf; +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + gdk_pixbuf_save_to_buffer (_tmp38_, (gchar**) (&_tmp39_), &_tmp40_, "png", &_inner_error_, NULL); +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = _tmp39_; +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata_length1 = _tmp40_; +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _pngdata_size_ = pngdata_length1; +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 82 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (_tmp11_); +#line 415 "shotwell-video-thumbnailer.c" + goto __catch0_g_error; + } +#line 83 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp41_ = stdout; +#line 83 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp42_ = pngdata; +#line 83 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp42__length1 = pngdata_length1; +#line 83 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fwrite (_tmp42_, (gsize) 1, _tmp42__length1, _tmp41_); +#line 86 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp43_ = pipeline; +#line 86 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + gst_element_set_state (_tmp43_, GST_STATE_NULL); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (_tmp11_); +#line 432 "shotwell-video-thumbnailer.c" + } + goto __finally0; + __catch0_g_error: + { + GError* e = NULL; + FILE* _tmp44_ = NULL; + GError* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + e = _inner_error_; +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _inner_error_ = NULL; +#line 89 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp44_ = stderr; +#line 89 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp45_ = e; +#line 89 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _tmp46_ = _tmp45_->message; +#line 89 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + fprintf (_tmp44_, "%s", _tmp46_); +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 2; +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_error_free0 (e); +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 90 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 469 "shotwell-video-thumbnailer.c" + } + __finally0: +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_clear_error (&_inner_error_); +#line 33 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return 0; +#line 490 "shotwell-video-thumbnailer.c" + } +#line 93 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + result = 0; +#line 93 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + pngdata = (g_free (pngdata), NULL); +#line 93 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pixbuf); +#line 93 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_free0 (descr); +#line 93 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (sink); +#line 93 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + _g_object_unref0 (pipeline); +#line 93 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return result; +#line 506 "shotwell-video-thumbnailer.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 15 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return shotwell_thumbnailer_main (argv, argc); +#line 519 "shotwell-video-thumbnailer.c" +} + + +ShotwellThumbnailer* shotwell_thumbnailer_construct (GType object_type) { + ShotwellThumbnailer* self = NULL; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + self = (ShotwellThumbnailer*) g_type_create_instance (object_type); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return self; +#line 529 "shotwell-video-thumbnailer.c" +} + + +ShotwellThumbnailer* shotwell_thumbnailer_new (void) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return shotwell_thumbnailer_construct (TYPE_SHOTWELL_THUMBNAILER); +#line 536 "shotwell-video-thumbnailer.c" +} + + +static void value_shotwell_thumbnailer_init (GValue* value) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + value->data[0].v_pointer = NULL; +#line 543 "shotwell-video-thumbnailer.c" +} + + +static void value_shotwell_thumbnailer_free_value (GValue* value) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (value->data[0].v_pointer) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + shotwell_thumbnailer_unref (value->data[0].v_pointer); +#line 552 "shotwell-video-thumbnailer.c" + } +} + + +static void value_shotwell_thumbnailer_copy_value (const GValue* src_value, GValue* dest_value) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (src_value->data[0].v_pointer) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + dest_value->data[0].v_pointer = shotwell_thumbnailer_ref (src_value->data[0].v_pointer); +#line 562 "shotwell-video-thumbnailer.c" + } else { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + dest_value->data[0].v_pointer = NULL; +#line 566 "shotwell-video-thumbnailer.c" + } +} + + +static gpointer value_shotwell_thumbnailer_peek_pointer (const GValue* value) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return value->data[0].v_pointer; +#line 574 "shotwell-video-thumbnailer.c" +} + + +static gchar* value_shotwell_thumbnailer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (collect_values[0].v_pointer) { +#line 581 "shotwell-video-thumbnailer.c" + ShotwellThumbnailer* object; + object = collect_values[0].v_pointer; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (object->parent_instance.g_class == NULL) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 588 "shotwell-video-thumbnailer.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.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 592 "shotwell-video-thumbnailer.c" + } +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + value->data[0].v_pointer = shotwell_thumbnailer_ref (object); +#line 596 "shotwell-video-thumbnailer.c" + } else { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + value->data[0].v_pointer = NULL; +#line 600 "shotwell-video-thumbnailer.c" + } +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return NULL; +#line 604 "shotwell-video-thumbnailer.c" +} + + +static gchar* value_shotwell_thumbnailer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ShotwellThumbnailer** object_p; + object_p = collect_values[0].v_pointer; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (!object_p) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 615 "shotwell-video-thumbnailer.c" + } +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (!value->data[0].v_pointer) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + *object_p = NULL; +#line 621 "shotwell-video-thumbnailer.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + *object_p = value->data[0].v_pointer; +#line 625 "shotwell-video-thumbnailer.c" + } else { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + *object_p = shotwell_thumbnailer_ref (value->data[0].v_pointer); +#line 629 "shotwell-video-thumbnailer.c" + } +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return NULL; +#line 633 "shotwell-video-thumbnailer.c" +} + + +GParamSpec* param_spec_shotwell_thumbnailer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecShotwellThumbnailer* spec; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SHOTWELL_THUMBNAILER), NULL); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return G_PARAM_SPEC (spec); +#line 647 "shotwell-video-thumbnailer.c" +} + + +gpointer value_get_shotwell_thumbnailer (const GValue* value) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SHOTWELL_THUMBNAILER), NULL); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return value->data[0].v_pointer; +#line 656 "shotwell-video-thumbnailer.c" +} + + +void value_set_shotwell_thumbnailer (GValue* value, gpointer v_object) { + ShotwellThumbnailer* old; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SHOTWELL_THUMBNAILER)); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + old = value->data[0].v_pointer; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (v_object) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SHOTWELL_THUMBNAILER)); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + value->data[0].v_pointer = v_object; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + shotwell_thumbnailer_ref (value->data[0].v_pointer); +#line 676 "shotwell-video-thumbnailer.c" + } else { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + value->data[0].v_pointer = NULL; +#line 680 "shotwell-video-thumbnailer.c" + } +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (old) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + shotwell_thumbnailer_unref (old); +#line 686 "shotwell-video-thumbnailer.c" + } +} + + +void value_take_shotwell_thumbnailer (GValue* value, gpointer v_object) { + ShotwellThumbnailer* old; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SHOTWELL_THUMBNAILER)); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + old = value->data[0].v_pointer; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (v_object) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SHOTWELL_THUMBNAILER)); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + value->data[0].v_pointer = v_object; +#line 705 "shotwell-video-thumbnailer.c" + } else { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + value->data[0].v_pointer = NULL; +#line 709 "shotwell-video-thumbnailer.c" + } +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (old) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + shotwell_thumbnailer_unref (old); +#line 715 "shotwell-video-thumbnailer.c" + } +} + + +static void shotwell_thumbnailer_class_init (ShotwellThumbnailerClass * klass) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + shotwell_thumbnailer_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + ((ShotwellThumbnailerClass *) klass)->finalize = shotwell_thumbnailer_finalize; +#line 725 "shotwell-video-thumbnailer.c" +} + + +static void shotwell_thumbnailer_instance_init (ShotwellThumbnailer * self) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + self->ref_count = 1; +#line 732 "shotwell-video-thumbnailer.c" +} + + +static void shotwell_thumbnailer_finalize (ShotwellThumbnailer* obj) { + ShotwellThumbnailer * self; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHOTWELL_THUMBNAILER, ShotwellThumbnailer); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_signal_handlers_destroy (self); +#line 742 "shotwell-video-thumbnailer.c" +} + + +GType shotwell_thumbnailer_get_type (void) { + static volatile gsize shotwell_thumbnailer_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_thumbnailer_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_shotwell_thumbnailer_init, value_shotwell_thumbnailer_free_value, value_shotwell_thumbnailer_copy_value, value_shotwell_thumbnailer_peek_pointer, "p", value_shotwell_thumbnailer_collect_value, "p", value_shotwell_thumbnailer_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ShotwellThumbnailerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shotwell_thumbnailer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShotwellThumbnailer), 0, (GInstanceInitFunc) shotwell_thumbnailer_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 shotwell_thumbnailer_type_id; + shotwell_thumbnailer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ShotwellThumbnailer", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&shotwell_thumbnailer_type_id__volatile, shotwell_thumbnailer_type_id); + } + return shotwell_thumbnailer_type_id__volatile; +} + + +gpointer shotwell_thumbnailer_ref (gpointer instance) { + ShotwellThumbnailer* self; + self = instance; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_atomic_int_inc (&self->ref_count); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + return instance; +#line 767 "shotwell-video-thumbnailer.c" +} + + +void shotwell_thumbnailer_unref (gpointer instance) { + ShotwellThumbnailer* self; + self = instance; +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + SHOTWELL_THUMBNAILER_GET_CLASS (self)->finalize (self); +#line 12 "/home/jens/Source/shotwell/thumbnailer/shotwell-video-thumbnailer.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 780 "shotwell-video-thumbnailer.c" + } +} + + + diff --git a/thumbnailer_shotwell_video_thumbnailer_vala.stamp b/thumbnailer_shotwell_video_thumbnailer_vala.stamp new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/thumbnailer_shotwell_video_thumbnailer_vala.stamp @@ -0,0 +1 @@ +stamp diff --git a/transition.am b/transition.am new file mode 100644 index 0000000..ca7bbd4 --- /dev/null +++ b/transition.am @@ -0,0 +1,50 @@ +plugin_LTLIBRARIES += plugins/shotwell-transitions/shotwell-transitions.la +dist_noinst_DATA += \ + plugins/shotwell-transitions/slideshow-plugin.png \ + plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml + +plugins_shotwell_transitions_shotwell_transitions_la_SOURCES = \ + plugins/shotwell-transitions/BlindsEffect.vala \ + plugins/shotwell-transitions/ChessEffect.vala \ + plugins/shotwell-transitions/CircleEffect.vala \ + plugins/shotwell-transitions/CirclesEffect.vala \ + plugins/shotwell-transitions/ClockEffect.vala \ + plugins/shotwell-transitions/CrumbleEffect.vala \ + plugins/shotwell-transitions/FadeEffect.vala \ + plugins/shotwell-transitions/shotwell-transitions.vala \ + plugins/shotwell-transitions/SlideEffect.vala \ + plugins/shotwell-transitions/SquaresEffect.vala \ + plugins/shotwell-transitions/StripesEffect.vala \ + plugins/shotwell-plugin-common.vapi + +nodist_plugins_shotwell_transitions_shotwell_transitions_la_SOURCES = \ + plugins/shotwell-transitions/resource.c +MOSTLYCLEANFILES += plugins/shotwell-transitions/resource.c + +plugins/shotwell-transitions/resource.c: plugins/shotwell-transitions/org.gnome.Shotwell.Transitions.gresource.xml + $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(abs_top_srcdir)/plugins/shotwell-transitions --generate $< + +plugins_shotwell_transitions_shotwell_transitions_la_VALAFLAGS = \ + $(COMMON_VALAFLAGS) \ + --pkg gtk+-3.0 \ + --pkg libsoup-2.4 \ + --pkg gexiv2 \ + --pkg gee-0.8 \ + --pkg json-glib-1.0 \ + --pkg shotwell-plugin-dev-1.0 \ + --pkg libxml-2.0 \ + --pkg webkit2gtk-4.0 \ + --vapidir $(abs_top_srcdir)/plugins + +plugins_shotwell_transitions_shotwell_transitions_la_CFLAGS = \ + -DPLUGIN_RESOURCE_PATH='"/org/gnome/Shotwell/Transitions"' \ + $(PLUGIN_CFLAGS) \ + $(COMMON_CFLAGS) \ + -I $(abs_top_srcdir)/plugins + +plugins_shotwell_transitions_shotwell_transitions_la_LDFLAGS = \ + $(SHOTWELL_PLUGIN_LDFLAGS) + +plugins_shotwell_transitions_shotwell_transitions_la_LIBADD = \ + $(TRANSITIONS_LIBS) -lm \ + $(top_builddir)/plugins/common/libshotwell-plugin-common.la diff --git a/ui/Makefile.am b/ui/Makefile.am new file mode 100644 index 0000000..6010b27 --- /dev/null +++ b/ui/Makefile.am @@ -0,0 +1,29 @@ +uidir = $(datadir)/shotwell/ui +dist_ui_DATA = \ + collection.ui \ + direct_context.ui \ + direct.ui \ + events_directory.ui \ + event.ui \ + fullscreen.ui \ + import_queue.ui \ + import.ui \ + media.ui \ + offline.ui \ + photo_context.ui \ + photo.ui \ + savedsearch.ui \ + search_bar.ui \ + search_sidebar_context.ui \ + set_background_dialog.ui \ + set_background_slideshow_dialog.ui \ + shotwell.ui \ + shotwell.xml \ + sidebar_default_context.ui \ + tag_sidebar_context.ui \ + tags.ui \ + top.ui \ + trash.ui + + +-include $(top_srcdir)/git.mk diff --git a/ui/Makefile.in b/ui/Makefile.in new file mode 100644 index 0000000..3ec2b7c --- /dev/null +++ b/ui/Makefile.in @@ -0,0 +1,588 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = ui +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/appdata-xml.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/ax_generate_changelog.m4 \ + $(top_srcdir)/m4/ax_is_release.m4 \ + $(top_srcdir)/m4/ax_require_defined.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(dist_ui_DATA) $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(uidir)" +DATA = $(dist_ui_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +API_VERSION = @API_VERSION@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GIT = @GIT@ +GITVER = @GITVER@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_EXTRA_PLUGINS = @HAVE_EXTRA_PLUGINS@ +HAVE_UNITY = @HAVE_UNITY@ +HELP_DIR = @HELP_DIR@ +IMPORT_CFLAGS = @IMPORT_CFLAGS@ +IMPORT_LIBS = @IMPORT_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +ITSTOOL = @ITSTOOL@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAJOR_VERSION = @MAJOR_VERSION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MICRO_VERSION = @MICRO_VERSION@ +MINOR_VERSION = @MINOR_VERSION@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ +PLUGIN_LIBS = @PLUGIN_LIBS@ +POSUB = @POSUB@ +PUBLISHING_CFLAGS = @PUBLISHING_CFLAGS@ +PUBLISHING_LIBS = @PUBLISHING_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHOTWELL_CFLAGS = @SHOTWELL_CFLAGS@ +SHOTWELL_LIBS = @SHOTWELL_LIBS@ +STRIP = @STRIP@ +THUMBNAILER_CFLAGS = @THUMBNAILER_CFLAGS@ +THUMBNAILER_LIBS = @THUMBNAILER_LIBS@ +TRANSITIONS_CFLAGS = @TRANSITIONS_CFLAGS@ +TRANSITIONS_LIBS = @TRANSITIONS_LIBS@ +UNITY_CFLAGS = @UNITY_CFLAGS@ +UNITY_LIBS = @UNITY_LIBS@ +UNITY_VALAFLAGS = @UNITY_VALAFLAGS@ +USE_NLS = @USE_NLS@ +VALAC = @VALAC@ +VALAFLAGS = @VALAFLAGS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMLLINT = @XMLLINT@ +YELP_LC_DIST = @YELP_LC_DIST@ +YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appdataxmldir = @appdataxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uidir = $(datadir)/shotwell/ui +dist_ui_DATA = \ + collection.ui \ + direct_context.ui \ + direct.ui \ + events_directory.ui \ + event.ui \ + fullscreen.ui \ + import_queue.ui \ + import.ui \ + media.ui \ + offline.ui \ + photo_context.ui \ + photo.ui \ + savedsearch.ui \ + search_bar.ui \ + search_sidebar_context.ui \ + set_background_dialog.ui \ + set_background_slideshow_dialog.ui \ + shotwell.ui \ + shotwell.xml \ + sidebar_default_context.ui \ + tag_sidebar_context.ui \ + tags.ui \ + top.ui \ + trash.ui + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ui/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign ui/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dist_uiDATA: $(dist_ui_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_ui_DATA)'; test -n "$(uidir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(uidir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(uidir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(uidir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(uidir)" || exit $$?; \ + done + +uninstall-dist_uiDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_ui_DATA)'; test -n "$(uidir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(uidir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(uidir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-dist_uiDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_uiDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dist_uiDATA install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-dist_uiDATA + +.PRECIOUS: Makefile + + +-include $(top_srcdir)/git.mk + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/ui/events_directory.ui b/ui/events_directory.ui index a0041e2..a1a256f 100644 --- a/ui/events_directory.ui +++ b/ui/events_directory.ui @@ -27,6 +27,7 @@ + diff --git a/ui/import.ui b/ui/import.ui index 600ae09..99c96a2 100644 --- a/ui/import.ui +++ b/ui/import.ui @@ -28,6 +28,7 @@ + diff --git a/ui/media.ui b/ui/media.ui index befd0ed..58329ee 100644 --- a/ui/media.ui +++ b/ui/media.ui @@ -36,6 +36,7 @@ + diff --git a/ui/offline.ui b/ui/offline.ui index b5b41ef..f4359a3 100644 --- a/ui/offline.ui +++ b/ui/offline.ui @@ -29,6 +29,7 @@ + diff --git a/ui/photo.ui b/ui/photo.ui index f11a25b..d91b0b3 100644 --- a/ui/photo.ui +++ b/ui/photo.ui @@ -35,6 +35,7 @@ + diff --git a/ui/set_background_dialog.glade b/ui/set_background_dialog.glade deleted file mode 100644 index f857693..0000000 --- a/ui/set_background_dialog.glade +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - 100 - 10 - 10 - 10 - - - 400 - False - 5 - Set as Desktop Background - normal - True - - - True - False - vertical - 6 - - - True - False - end - - - _Cancel - False - True - True - True - True - True - - - False - False - 0 - - - - - _OK - False - True - True - True - True - True - True - - - False - False - 1 - - - - - False - True - end - 0 - - - - - True - False - vertical - - - Use for Desktop - True - True - False - 0 - 0.5899999737739563 - True - - - False - True - 0 - - - - - Use for Lock Screen - True - True - False - 0 - True - - - False - True - 1 - - - - - False - True - 3 - - - - - - cancel_button - ok_button - - - diff --git a/ui/set_background_dialog.ui b/ui/set_background_dialog.ui new file mode 100644 index 0000000..f857693 --- /dev/null +++ b/ui/set_background_dialog.ui @@ -0,0 +1,120 @@ + + + + + + 100 + 10 + 10 + 10 + + + 400 + False + 5 + Set as Desktop Background + normal + True + + + True + False + vertical + 6 + + + True + False + end + + + _Cancel + False + True + True + True + True + True + + + False + False + 0 + + + + + _OK + False + True + True + True + True + True + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + vertical + + + Use for Desktop + True + True + False + 0 + 0.5899999737739563 + True + + + False + True + 0 + + + + + Use for Lock Screen + True + True + False + 0 + True + + + False + True + 1 + + + + + False + True + 3 + + + + + + cancel_button + ok_button + + + diff --git a/ui/set_background_slideshow_dialog.glade b/ui/set_background_slideshow_dialog.glade deleted file mode 100644 index 438e565..0000000 --- a/ui/set_background_slideshow_dialog.glade +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - 100 - 10 - 10 - 10 - - - 400 - False - 5 - Set as Desktop Slideshow - normal - True - - - True - False - vertical - 6 - - - True - False - 5 - - - True - False - Show each photo for - - - False - True - 0 - - - - - True - False - period of time - - - - - - False - True - 1 - - - - - False - True - 0 - - - - - True - False - end - - - _Cancel - False - True - True - True - True - True - - - False - False - 0 - - - - - _OK - False - True - True - True - True - True - True - Generate desktop background slideshow - True - - - False - False - 1 - - - - - False - True - end - 0 - - - - - True - True - How long each photo is shown on the desktop background - adjustment1 - False - - - False - True - 2 - - - - - True - False - vertical - - - Use for Desktop - True - True - False - 0 - 0.5899999737739563 - True - - - False - True - 0 - - - - - Use for Lock Screen - True - True - False - 0 - True - - - False - True - 1 - - - - - False - True - 3 - - - - - - cancel_button - ok_button - - - diff --git a/ui/set_background_slideshow_dialog.ui b/ui/set_background_slideshow_dialog.ui new file mode 100644 index 0000000..438e565 --- /dev/null +++ b/ui/set_background_slideshow_dialog.ui @@ -0,0 +1,175 @@ + + + + + + 100 + 10 + 10 + 10 + + + 400 + False + 5 + Set as Desktop Slideshow + normal + True + + + True + False + vertical + 6 + + + True + False + 5 + + + True + False + Show each photo for + + + False + True + 0 + + + + + True + False + period of time + + + + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + end + + + _Cancel + False + True + True + True + True + True + + + False + False + 0 + + + + + _OK + False + True + True + True + True + True + True + Generate desktop background slideshow + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + True + How long each photo is shown on the desktop background + adjustment1 + False + + + False + True + 2 + + + + + True + False + vertical + + + Use for Desktop + True + True + False + 0 + 0.5899999737739563 + True + + + False + True + 0 + + + + + Use for Lock Screen + True + True + False + 0 + True + + + False + True + 1 + + + + + False + True + 3 + + + + + + cancel_button + ok_button + + + diff --git a/ui/shotwell.glade b/ui/shotwell.glade deleted file mode 100644 index de2b15d..0000000 --- a/ui/shotwell.glade +++ /dev/null @@ -1,1645 +0,0 @@ - - - - - True - False - vertical - 5 - 3 - - - True - False - - - True - False - 3 - - - True - False - _Name of search: - True - Search title - - - False - True - 0 - - - - - True - True - - 20 - False - False - - - True - True - 1 - - - - - - - True - True - 1 - - - - - True - False - - - False - True - 2 - - - - - True - False - - - True - False - 3 - - - True - False - _Match - True - right - Type of search criteria - - - False - True - 0 - - - - - True - False - - - False - False - 1 - 1 - - - - - True - False - of the following: - - - False - True - 2 - - - - - - - - True - True - True - - - - True - list-add-symbolic - 1 - - - - - False - False - end - 4 - - - - - - - True - True - 3 - - - - - True - False - - - False - True - 4 - - - - - True - False - vertical - 3 - - - - - - True - True - 5 - - - - - 65535 - 1000 - 1000 - 1000 - - - True - False - vertical - - - True - False - 4 - 0 - <b>Printed Image Size</b> - True - - - False - True - 0 - - - - - True - False - 24 - 2 - - - Use a _standard size: - True - True - False - True - 0 - True - True - radio_UseCustomSize - - - False - True - 0 - - - - - True - False - 20 - - - False - True - 1 - - - - - False - True - 1 - - - - - True - False - 24 - 2 - - - Use a c_ustom size: - True - True - False - True - 0 - True - True - - - False - True - 0 - - - - - True - False - 19 - - - True - True - 3 - - 10 - True - - - False - True - 0 - - - - - True - False - × - - - False - True - 1 - - - - - True - True - 3 - - 10 - True - - - False - True - 2 - - - - - True - False - - - False - True - 3 - - - - - False - True - 14 - 1 - - - - - False - True - 2 - - - - - _Match photo aspect ratio - True - True - False - 210 - True - 0 - True - - - False - True - 3 - - - - - True - False - 24 - 2 - 12 - - - _Autosize: - True - True - False - True - 0 - True - True - radio_UseCustomSize - - - False - True - 0 - - - - - True - False - 95 - - - False - True - 1 - - - - - False - True - 4 - - - - - True - False - 0 - <b>Titles</b> - True - - - False - True - 5 - - - - - True - False - 24 - 2 - - - Print image _title - True - True - False - True - 0 - True - - - False - True - 0 - - - - - True - True - True - 49 - Sans Bold 12 - - False - Sans Bold 12 - - - False - True - 1 - - - - - False - True - 6 - - - - - True - False - 12 - 0 - <b>Pixel Resolution</b> - True - - - False - True - 7 - - - - - True - False - 24 - 2 - - - True - False - 0 - _Output photo at: - True - entry_PixelsPerInch - start - - - False - True - 0 - - - - - True - False - 65 - - - True - True - 8 - - 13 - True - - - False - True - 0 - - - - - True - False - pixels per inch - - - False - True - 1 - - - - - False - True - 1 - - - - - False - True - 8 - - - - - True - False - vertical - 3 - 3 - - - True - False - 0 - label - - - False - True - 0 - - - - - True - True - - True - - - False - True - 1 - - - - - - - - True - False - True - True - vertical - 3 - - - True - True - in - - - True - True - True - True - word - False - - - - - True - True - 1 - - - - - - - - True - False - vertical - 12 - - - True - False - - - True - True - never - etched-in - - - - - - - - True - True - 0 - - - - - True - False - end - - - _About - True - True - True - True - - - False - False - 0 - - - - - False - False - 1 - - - - - False - True - dialog - True - - - True - False - True - Shotwell Preferences - - - - - True - False - vertical - 0 - - - True - True - False - - - True - False - 6 - - - True - False - 14 - 2 - 8 - 4 - - - True - True - select-folder - - - 1 - 2 - 3 - 4 - - - - - True - False - 6 - - - True - False - white - - - False - True - 0 - - - - - 150 - True - True - bg_color_adjustment - False - left - - - True - True - 1 - - - - - True - False - black - - - False - True - 2 - - - - - 1 - 2 - 1 - 2 - - - - - True - False - 14 - 3 - - - True - False - 0 - Library Location - - - - - - - - 2 - 2 - 3 - - - - - True - False - 2 - 10 - - - _Watch library directory for new files - True - True - False - True - 0.5 - True - - - - - 2 - 4 - 5 - GTK_FILL - - - - - - True - False - 14 - 3 - - - True - False - 0 - Metadata - - - - - - - - 2 - 10 - 11 - - - - - True - False - 10 - - - Write tags, titles, and other _metadata to photo files - True - True - False - True - 0.5 - True - - - - - 2 - 11 - 12 - - - - - True - False - 3 - - - True - False - 0 - Display - - - - - - - - 2 - - - - - True - False - 10 - - - True - False - 0 - _Import photos to: - True - library_dir_button - - - - - 3 - 4 - GTK_FILL - GTK_FILL - - - - - True - False - - - True - False - 0 - 10 - _Background: - True - bg_color_slider - - - - - 1 - 2 - GTK_FILL - - - - - True - False - 14 - 3 - - - True - False - 0 - Importing - - - - - - - - 2 - 5 - 6 - - - - - True - False - 10 - - - True - False - 0 - _Directory structure: - True - - - - - 6 - 7 - - - - - True - False - - - - - - 1 - 2 - 6 - 7 - - - - - True - False - 34 - - - True - False - - - True - False - 0 - _Pattern: - True - dir_pattern_entry - - - True - True - 0 - - - - - True - False - - - - - - True - True - 1 - - - - - - - 7 - 8 - - - - - True - False - - - True - True - - False - False - - - - - 1 - 2 - 7 - 8 - - - - - True - False - - - True - False - 0 - - - - - 1 - 2 - 8 - 9 - - - - - True - False - 34 - - - True - False - 0 - Example: - - - - - 8 - 9 - - - - - True - False - 2 - 10 - - - R_ename imported files to lowercase - True - True - False - True - 0.5 - True - - - - - 2 - 9 - 10 - GTK_FILL - - - - - - True - False - 14 - 3 - - - True - False - 0 - RAW Developer - - - - - - - - 2 - 12 - 13 - - - - - True - False - - - 1 - 2 - 13 - 14 - - - - - True - False - 10 - - - True - False - 0 - De_fault: - True - default_raw_developer - - - - - 13 - 14 - - - - - - - - - True - False - Library - - - False - - - - - True - False - 6 - 0 - 0 - 0 - - - True - False - - - True - False - 6 - - - True - False - vertical - 6 - - - True - False - 0 - 4 - E_xternal photo editor: - True - external_photo_editor_combo - - - True - True - 0 - - - - - True - False - 0 - 4 - External _RAW editor: - True - external_raw_editor_combo - - - True - True - 1 - - - - - - - True - True - 0 - - - - - True - False - vertical - 6 - - - True - False - - - True - True - 0 - - - - - True - False - - - True - True - 1 - - - - - True - True - 1 - - - - - - - 1 - - - - - True - False - External Editors - - - 1 - False - - - - - True - False - 12 - 12 - 12 - 12 - - - - - - 2 - - - - - True - False - Plugins - - - 2 - False - - - - - - - - - - - True - True - 1 - - - - - - - True - False - vertical - - - 64 - True - False - 32 - 32 - 108 - True - - - False - True - 32 - 1 - - - - - True - False - vertical - - - False - 8 - 8 - 2 - - - True - False - 4 - 4 - - - True - False - 1 - _Delay: - True - delay_hscale - - - 0 - 0 - 1 - 1 - - - - - True - False - 0.95999997854232788 - _Transition effect: - True - transition_effect_selector - - - 0 - 1 - 1 - 1 - - - - - True - False - 1 - Transition d_elay: - True - - - 0 - 2 - 1 - 1 - - - - - Show t_itle - True - True - False - True - 0 - True - - - 0 - 3 - 4 - 1 - - - - - True - False - 0 - 1 - - - 1 - 1 - 1 - 1 - - - - - 150 - True - True - 300 - False - - - 1 - 0 - 1 - 1 - - - - - True - True - False - - - 1 - 2 - 1 - 1 - - - - - True - True - - True - - - 2 - 0 - 1 - 1 - - - - - True - True - - True - 1 - - - 2 - 2 - 1 - 1 - - - - - True - False - seconds - - - 3 - 0 - 1 - 1 - - - - - True - False - seconds - - - 3 - 2 - 1 - 1 - - - - - - - - - - - False - True - 0 - - - - - False - True - 4 - 0 - - - - - True - False - vertical - - - True - False - 16 - 16 - 97 - 24 - This is populated from within the code; -changes made here will not display. - True - 70 - - - False - True - 0 - - - - - True - False - vertical - - - True - False - 16 - 16 - 97 - 24 - This is populated from within the code; -changes made here will not display. - True - 70 - - - False - True - 0 - - - - - _Login - True - True - True - 256 - 240 - 80 - 16 - True - top - - - False - True - 1 - - - - diff --git a/ui/shotwell.ui b/ui/shotwell.ui new file mode 100644 index 0000000..de2b15d --- /dev/null +++ b/ui/shotwell.ui @@ -0,0 +1,1645 @@ + + + + + True + False + vertical + 5 + 3 + + + True + False + + + True + False + 3 + + + True + False + _Name of search: + True + Search title + + + False + True + 0 + + + + + True + True + + 20 + False + False + + + True + True + 1 + + + + + + + True + True + 1 + + + + + True + False + + + False + True + 2 + + + + + True + False + + + True + False + 3 + + + True + False + _Match + True + right + Type of search criteria + + + False + True + 0 + + + + + True + False + + + False + False + 1 + 1 + + + + + True + False + of the following: + + + False + True + 2 + + + + + + + + True + True + True + + + + True + list-add-symbolic + 1 + + + + + False + False + end + 4 + + + + + + + True + True + 3 + + + + + True + False + + + False + True + 4 + + + + + True + False + vertical + 3 + + + + + + True + True + 5 + + + + + 65535 + 1000 + 1000 + 1000 + + + True + False + vertical + + + True + False + 4 + 0 + <b>Printed Image Size</b> + True + + + False + True + 0 + + + + + True + False + 24 + 2 + + + Use a _standard size: + True + True + False + True + 0 + True + True + radio_UseCustomSize + + + False + True + 0 + + + + + True + False + 20 + + + False + True + 1 + + + + + False + True + 1 + + + + + True + False + 24 + 2 + + + Use a c_ustom size: + True + True + False + True + 0 + True + True + + + False + True + 0 + + + + + True + False + 19 + + + True + True + 3 + + 10 + True + + + False + True + 0 + + + + + True + False + × + + + False + True + 1 + + + + + True + True + 3 + + 10 + True + + + False + True + 2 + + + + + True + False + + + False + True + 3 + + + + + False + True + 14 + 1 + + + + + False + True + 2 + + + + + _Match photo aspect ratio + True + True + False + 210 + True + 0 + True + + + False + True + 3 + + + + + True + False + 24 + 2 + 12 + + + _Autosize: + True + True + False + True + 0 + True + True + radio_UseCustomSize + + + False + True + 0 + + + + + True + False + 95 + + + False + True + 1 + + + + + False + True + 4 + + + + + True + False + 0 + <b>Titles</b> + True + + + False + True + 5 + + + + + True + False + 24 + 2 + + + Print image _title + True + True + False + True + 0 + True + + + False + True + 0 + + + + + True + True + True + 49 + Sans Bold 12 + + False + Sans Bold 12 + + + False + True + 1 + + + + + False + True + 6 + + + + + True + False + 12 + 0 + <b>Pixel Resolution</b> + True + + + False + True + 7 + + + + + True + False + 24 + 2 + + + True + False + 0 + _Output photo at: + True + entry_PixelsPerInch + start + + + False + True + 0 + + + + + True + False + 65 + + + True + True + 8 + + 13 + True + + + False + True + 0 + + + + + True + False + pixels per inch + + + False + True + 1 + + + + + False + True + 1 + + + + + False + True + 8 + + + + + True + False + vertical + 3 + 3 + + + True + False + 0 + label + + + False + True + 0 + + + + + True + True + + True + + + False + True + 1 + + + + + + + + True + False + True + True + vertical + 3 + + + True + True + in + + + True + True + True + True + word + False + + + + + True + True + 1 + + + + + + + + True + False + vertical + 12 + + + True + False + + + True + True + never + etched-in + + + + + + + + True + True + 0 + + + + + True + False + end + + + _About + True + True + True + True + + + False + False + 0 + + + + + False + False + 1 + + + + + False + True + dialog + True + + + True + False + True + Shotwell Preferences + + + + + True + False + vertical + 0 + + + True + True + False + + + True + False + 6 + + + True + False + 14 + 2 + 8 + 4 + + + True + True + select-folder + + + 1 + 2 + 3 + 4 + + + + + True + False + 6 + + + True + False + white + + + False + True + 0 + + + + + 150 + True + True + bg_color_adjustment + False + left + + + True + True + 1 + + + + + True + False + black + + + False + True + 2 + + + + + 1 + 2 + 1 + 2 + + + + + True + False + 14 + 3 + + + True + False + 0 + Library Location + + + + + + + + 2 + 2 + 3 + + + + + True + False + 2 + 10 + + + _Watch library directory for new files + True + True + False + True + 0.5 + True + + + + + 2 + 4 + 5 + GTK_FILL + + + + + + True + False + 14 + 3 + + + True + False + 0 + Metadata + + + + + + + + 2 + 10 + 11 + + + + + True + False + 10 + + + Write tags, titles, and other _metadata to photo files + True + True + False + True + 0.5 + True + + + + + 2 + 11 + 12 + + + + + True + False + 3 + + + True + False + 0 + Display + + + + + + + + 2 + + + + + True + False + 10 + + + True + False + 0 + _Import photos to: + True + library_dir_button + + + + + 3 + 4 + GTK_FILL + GTK_FILL + + + + + True + False + + + True + False + 0 + 10 + _Background: + True + bg_color_slider + + + + + 1 + 2 + GTK_FILL + + + + + True + False + 14 + 3 + + + True + False + 0 + Importing + + + + + + + + 2 + 5 + 6 + + + + + True + False + 10 + + + True + False + 0 + _Directory structure: + True + + + + + 6 + 7 + + + + + True + False + + + + + + 1 + 2 + 6 + 7 + + + + + True + False + 34 + + + True + False + + + True + False + 0 + _Pattern: + True + dir_pattern_entry + + + True + True + 0 + + + + + True + False + + + + + + True + True + 1 + + + + + + + 7 + 8 + + + + + True + False + + + True + True + + False + False + + + + + 1 + 2 + 7 + 8 + + + + + True + False + + + True + False + 0 + + + + + 1 + 2 + 8 + 9 + + + + + True + False + 34 + + + True + False + 0 + Example: + + + + + 8 + 9 + + + + + True + False + 2 + 10 + + + R_ename imported files to lowercase + True + True + False + True + 0.5 + True + + + + + 2 + 9 + 10 + GTK_FILL + + + + + + True + False + 14 + 3 + + + True + False + 0 + RAW Developer + + + + + + + + 2 + 12 + 13 + + + + + True + False + + + 1 + 2 + 13 + 14 + + + + + True + False + 10 + + + True + False + 0 + De_fault: + True + default_raw_developer + + + + + 13 + 14 + + + + + + + + + True + False + Library + + + False + + + + + True + False + 6 + 0 + 0 + 0 + + + True + False + + + True + False + 6 + + + True + False + vertical + 6 + + + True + False + 0 + 4 + E_xternal photo editor: + True + external_photo_editor_combo + + + True + True + 0 + + + + + True + False + 0 + 4 + External _RAW editor: + True + external_raw_editor_combo + + + True + True + 1 + + + + + + + True + True + 0 + + + + + True + False + vertical + 6 + + + True + False + + + True + True + 0 + + + + + True + False + + + True + True + 1 + + + + + True + True + 1 + + + + + + + 1 + + + + + True + False + External Editors + + + 1 + False + + + + + True + False + 12 + 12 + 12 + 12 + + + + + + 2 + + + + + True + False + Plugins + + + 2 + False + + + + + + + + + + + True + True + 1 + + + + + + + True + False + vertical + + + 64 + True + False + 32 + 32 + 108 + True + + + False + True + 32 + 1 + + + + + True + False + vertical + + + False + 8 + 8 + 2 + + + True + False + 4 + 4 + + + True + False + 1 + _Delay: + True + delay_hscale + + + 0 + 0 + 1 + 1 + + + + + True + False + 0.95999997854232788 + _Transition effect: + True + transition_effect_selector + + + 0 + 1 + 1 + 1 + + + + + True + False + 1 + Transition d_elay: + True + + + 0 + 2 + 1 + 1 + + + + + Show t_itle + True + True + False + True + 0 + True + + + 0 + 3 + 4 + 1 + + + + + True + False + 0 + 1 + + + 1 + 1 + 1 + 1 + + + + + 150 + True + True + 300 + False + + + 1 + 0 + 1 + 1 + + + + + True + True + False + + + 1 + 2 + 1 + 1 + + + + + True + True + + True + + + 2 + 0 + 1 + 1 + + + + + True + True + + True + 1 + + + 2 + 2 + 1 + 1 + + + + + True + False + seconds + + + 3 + 0 + 1 + 1 + + + + + True + False + seconds + + + 3 + 2 + 1 + 1 + + + + + + + + + + + False + True + 0 + + + + + False + True + 4 + 0 + + + + + True + False + vertical + + + True + False + 16 + 16 + 97 + 24 + This is populated from within the code; +changes made here will not display. + True + 70 + + + False + True + 0 + + + + + True + False + vertical + + + True + False + 16 + 16 + 97 + 24 + This is populated from within the code; +changes made here will not display. + True + 70 + + + False + True + 0 + + + + + _Login + True + True + True + 256 + 240 + 80 + 16 + True + top + + + False + True + 1 + + + + diff --git a/ui/trash.ui b/ui/trash.ui index 7615512..2873416 100644 --- a/ui/trash.ui +++ b/ui/trash.ui @@ -31,6 +31,7 @@ + diff --git a/unitize.mk b/unitize.mk deleted file mode 100644 index 6aaa7a0..0000000 --- a/unitize.mk +++ /dev/null @@ -1,29 +0,0 @@ -# unitize.mk -# -# Post-processes each unit's .mk file to properly add its requirements to the master Makefile. - -# append files to SRC_FILES (*don't* use +=, that's a recursive append) -UNITIZED_SRC_FILES := $(UNITIZED_SRC_FILES) src/$(UNIT_DIR)/$(UNIT_NAME).vala $(foreach file,$(UNIT_FILES),src/$(UNIT_DIR)/$(file)) - -# append unit namespace to master list -UNIT_NAMESPACES := $(UNIT_NAMESPACES) $(UNIT_NAME) - -# append unit resources to master list -UNIT_RESOURCES := $(UNIT_RESOURCES) $(foreach rc,$(UNIT_RC),src/$(UNIT_DIR)/$(rc)) - -# create custom uses lists for this unit; note that the unit-unit is automatically included -# (unless the unit is the unit-unit) -ifneq ($(UNIT_NAME),Unit) -$(UNIT_NAME)_USES := Unit $(UNIT_USES) -else -$(UNIT_NAME)_USES := $(UNIT_USES) -endif -$(UNIT_NAME)_USES_INITS := $(foreach uses,$($(UNIT_NAME)_USES),$(uses).init_entry();) -$(UNIT_NAME)_USES_TERMINATORS := $(foreach uses,$($(UNIT_NAME)_USES),$(uses).terminate_entry();) - -# clear unit variables so they are not appended to by the next unit -UNIT_NAME= -UNIT_DIR= -UNIT_FILES= -UNIT_USES= -UNIT_RC= diff --git a/units.mk b/units.mk deleted file mode 100644 index a03ec19..0000000 --- a/units.mk +++ /dev/null @@ -1,35 +0,0 @@ - -# List of all units in the system. Use directory name rather than namespace. -# -# This list is primarily used at compile time to build the executable. -# -# NOTE: The unit-unit must be first. Units may follow in any order thereafter. -# -# NOTE: Be sure to add the unit to the appropriate APP_UNITS .mk file. -UNITS = \ - unit \ - util \ - threads \ - db \ - editing_tools \ - plugins \ - slideshow \ - photos \ - publishing \ - library \ - direct \ - core \ - sidebar \ - events \ - tags \ - camera \ - searches \ - config \ - data_imports \ - folders - -# Name(s) of units that represent application entry points. These units will have init and -# termination entry points generated: Name.unitize_init() and Name.unitize_terminate(). These -# methods should be called in main(). They will initialize the named unit and all is prerequisite -# units, thereby initializing the entire application. -APP_UNITS = Library Direct diff --git a/vapi/libraw.vapi b/vapi/libraw.vapi index 7cce2b1..db4fafb 100644 --- a/vapi/libraw.vapi +++ b/vapi/libraw.vapi @@ -163,7 +163,7 @@ public class ProcessedImage { public ushort colors; public ushort bits; public uint data_size; - [CCode (array_length=false)] + [CCode (array_length_cname="data_size")] public uint8[] data; } -- cgit v1.2.3